Найти тему
Электроника, ESP32, Arduino

Управляем без посредников ESP32 с помощью голосого помощника Алиса и устройства Яндекс.Пульт

Создадим на ESP32 устройство которое будет прикидываться бытовой техникой управляемой по ИК каналу и управляться с помощью устройства Яндекс.Пульт. Сначала ESP32 будет передавать команды для записи на серверах Яндекс имитируя обычный ПДУ, а потом с помощью этих же команд управлять своими GPIO. Конечная цель сделать устройство которое будет перенаправлять эти ИК команды в домашнюю сеть Wi-Fi в виде GET запросов.

Схема управления любой ESP32/8266 с помощью Алисы и устройства Яндекс.Пульт
Схема управления любой ESP32/8266 с помощью Алисы и устройства Яндекс.Пульт

Собираем прототип:

Схема устройства для переадресации запросов с помощью Яндекс.Пульт в локальную сеть
Схема устройства для переадресации запросов с помощью Яндекс.Пульт в локальную сеть
Прототип устройства на макетной плате.
Прототип устройства на макетной плате.

ESP32 будет прикидываться устройством SAMSUNG с адресом 0x708 (0x707 уже занят телевизором), синий светодиод будет использоваться для проверки связи с устройством.

В этой статье будет приведен пример программы, которая будет включать и выключать синий светодиод с помощью Алисы. Программировать Яндекс пульт будем с помощью COM порта. Отправили символ 1 - будет отправлена команда 0x1, отправили символ 2 - будет отправлена команда 0x2.

Скетч как всегда вы найдете в ссылке в конце этой статьи:

Определение переменных и секция начальной установки
Определение переменных и секция начальной установки

ПИН 4 обязательно объявляем как выход, в противном случае ИК светодиод предназначенный для обучения пульта от Яндекс будет создавать ложные помехи для приемника.

Условие для программирования Алисы в зависимости от отправляемого символа в COM порт (монитор порта)
Условие для программирования Алисы в зависимости от отправляемого символа в COM порт (монитор порта)

Строки 18-28 предназначены для отправки посылок имитирующих нажатия кнопок на пульте Samsung в режиме обучения. Во время обучения приемник отключается. После обучения потребуется обязательная перезагрузка ESP32.

Управление самодельным устройством SAMSUNG
Управление самодельным устройством SAMSUNG

После обучения и перезагрузки платы, появляется возможность управления GPIO 14 c помощью Алисы.

Для настройки, открываем приложение Яндекс на смартфоне и выбираем пульт.

Выбираем пульт
Выбираем пульт

Заходим в раздел добавление устройства:

Добавляем устройство
Добавляем устройство

Выбираем настроить вручную

Настраиваем вручную
Настраиваем вручную

Даем устройству любое название

Дома будет только 1 светодиод )))
Дома будет только 1 светодиод )))

Выбираем Добавить команду

Добавляем команду
Добавляем команду

Выбираем команду:

Команда на включение светодиода
Команда на включение светодиода

Выбрали команду включи:

Включи светодиод
Включи светодиод

После нажатия кнопки далее выходит сообщение:

-14

Предупреждение на счет 15см актуально - ближе действительно не работает!!!

Режим ожидания команды от ПДУ
Режим ожидания команды от ПДУ

После появления этого окна, открываем монитор порта и отправляем цифру 1.

Программируем Алису на включение светодиода
Программируем Алису на включение светодиода

Через некоторое время Яндекс считывает команду и сохраняет её. Аналогичным образом добавляем команду выключи.

По итогу имеем две кнопки в приложении Яндекс для управления светодиодом.

Кнопки для управления светодиодом в приложении Яндекс
Кнопки для управления светодиодом в приложении Яндекс

И несколько предустановленных команд для управления светодиодом с помощью голоса.

Набор голосовых команд.
Набор голосовых команд.

Перезагружаем ESP32 для выхода из режима обучения!!!
Теперь светодиодом можно управлять из любой точки мира где есть Интернет с помощью смартфона или голосового ассистента Алиса. Сторонние сервисы и сервера при этом не требуются!

В одной из следующих статей будет разобрано как ИК запросы с помощью ESP32 транслировать в локальную домашнюю сеть, для управления любыми самоделками. Также в планах есть желание собрать удлинитель для ИК пульта от Яндекс, чтобы управлять устройствами по ИК каналу в другом помещении, без необходимости покупки еще одного пульта.

Код из данной статьи доступен по этой ссылке.

Если образцы кода из статьи Вам не понятны - рекомендую ознакомиться:

Некоторые варианты (их плюсы и минусы) управления умным домом с помощью Яндекс.Алиса были описаны тут:

Полный список статей канала доступен по этой ссылке:

Всем удачи!