Создадим на ESP32 устройство которое будет прикидываться бытовой техникой управляемой по ИК каналу и управляться с помощью устройства Яндекс.Пульт. Сначала ESP32 будет передавать команды для записи на серверах Яндекс имитируя обычный ПДУ, а потом с помощью этих же команд управлять своими GPIO. Конечная цель сделать устройство которое будет перенаправлять эти ИК команды в домашнюю сеть Wi-Fi в виде GET запросов.
Собираем прототип:
ESP32 будет прикидываться устройством SAMSUNG с адресом 0x708 (0x707 уже занят телевизором), синий светодиод будет использоваться для проверки связи с устройством.
В этой статье будет приведен пример программы, которая будет включать и выключать синий светодиод с помощью Алисы. Программировать Яндекс пульт будем с помощью COM порта. Отправили символ 1 - будет отправлена команда 0x1, отправили символ 2 - будет отправлена команда 0x2.
Скетч как всегда вы найдете в ссылке в конце этой статьи:
ПИН 4 обязательно объявляем как выход, в противном случае ИК светодиод предназначенный для обучения пульта от Яндекс будет создавать ложные помехи для приемника.
Строки 18-28 предназначены для отправки посылок имитирующих нажатия кнопок на пульте Samsung в режиме обучения. Во время обучения приемник отключается. После обучения потребуется обязательная перезагрузка ESP32.
После обучения и перезагрузки платы, появляется возможность управления GPIO 14 c помощью Алисы.
Для настройки, открываем приложение Яндекс на смартфоне и выбираем пульт.
Заходим в раздел добавление устройства:
Выбираем настроить вручную
Даем устройству любое название
Выбираем Добавить команду
Выбираем команду:
Выбрали команду включи:
После нажатия кнопки далее выходит сообщение:
Предупреждение на счет 15см актуально - ближе действительно не работает!!!
После появления этого окна, открываем монитор порта и отправляем цифру 1.
Через некоторое время Яндекс считывает команду и сохраняет её. Аналогичным образом добавляем команду выключи.
По итогу имеем две кнопки в приложении Яндекс для управления светодиодом.
И несколько предустановленных команд для управления светодиодом с помощью голоса.
Перезагружаем ESP32 для выхода из режима обучения!!!
Теперь светодиодом можно управлять из любой точки мира где есть Интернет с помощью смартфона или голосового ассистента Алиса. Сторонние сервисы и сервера при этом не требуются!
В одной из следующих статей будет разобрано как ИК запросы с помощью ESP32 транслировать в локальную домашнюю сеть, для управления любыми самоделками. Также в планах есть желание собрать удлинитель для ИК пульта от Яндекс, чтобы управлять устройствами по ИК каналу в другом помещении, без необходимости покупки еще одного пульта.
Код из данной статьи доступен по этой ссылке.
Если образцы кода из статьи Вам не понятны - рекомендую ознакомиться:
Некоторые варианты (их плюсы и минусы) управления умным домом с помощью Яндекс.Алиса были описаны тут:
Полный список статей канала доступен по этой ссылке:
Всем удачи!