Большинство бытовой техники продолжает использовать инфракрасные пульты, а значит не может напрямую работать с Home Assistant. Решить эту проблему можно с помощью ESP32, превратив ее в компактный ИК-хаб.
В предыдущей статье мы научились считывать ИК-команды с любого пульта. Теперь используем эти данные для создания собственного ИК-передатчика на ESPHome. Этот проект станет основой компактного ИК-хаба с датчиком температуры и влажности DHT11, который можно разместить в любой комнате и использовать для управления техникой из Home Assistant.
Что понадобится
- ESP32 или ESP32-C3 Super Mini;
- ИК-светодиод (желательно TSAL6400 или аналог);
- транзистор и резистор для управления светодиодом;
- ESPHome;
- Home Assistant.
Для большей дальности и широкого угла передачи сигнала рекомендуется использовать несколько ИК-светодиодов. В моем проекте установлены три светодиода, подключенные через транзисторный ключ, что обеспечивает уверенное управление техникой практически из любой точки комнаты.
Настройка ИК-передатчика
Для передачи ИК-команд используется компонент remote_transmitter. Достаточно указать GPIO, к которому подключен ИК-светодиод.
remote_transmitter:
pin: GPIO3
carrier_duty_percent: 33%
Параметр carrier_duty_percent определяет коэффициент заполнения несущей частоты. Значение 33% хорошо подходит для большинства бытовых устройств.
Создание первой кнопки
Команды, считанные в предыдущей статье, можно использовать напрямую в ESPHome. Например, кнопка включения люстры выглядит следующим образом:
button:
- platform: template
name: "Люстра Power"
on_press:
- remote_transmitter.transmit_nec:
address: 0xFF00
command: 0xB946
Значения address и command необходимо заменить на данные, считанные с вашего пульта. Аналогичным способом можно добавить любое количество кнопок для управления различными устройствами.
Минимальная конфигурация ESPHome
Ниже приведен упрощенный пример конфигурации. Полную версию проекта с несколькими кнопками можно скачать в конце статьи.
esphome:
name: rvdir
esp32:
variant: esp32c3
framework:
type: esp-idf
logger:
api:
ota:
- platform: esphome
wifi:
ssid: "Ваш Wi-Fi"
password: "Ваш пароль"
remote_transmitter:
pin: GPIO3
carrier_duty_percent: 33%
button:
- platform: template
name: "Люстра Power"
on_press:
- remote_transmitter.transmit_nec:
address: 0xFF00
command: 0xB946
Готовый корпус
Для этого проекта разработан компактный корпус под ESP32-C3 Super Mini, три ИК-светодиода и датчик температуры и влажности DHT11. Все компоненты устанавливаются в подготовленные посадочные места, а крышка фиксируется защелками без использования винтов.
STL-файлы корпуса можно бесплатно скачать на Thingiverse. Если у вас нет 3D-принтера, готовый корпус или комплект для сборки можно заказать на нашем сайте.
Заключение
ESPHome позволяет превратить обычную ESP32 в универсальный ИК-передатчик буквально за несколько минут. Используя коды, считанные с оригинального пульта, вы сможете управлять бытовой техникой напрямую из Home Assistant. Ниже вы найдете полный YAML проекта, который можно использовать в качестве основы для собственного ИК-хаба.
Комментарии к статье
Пока нет комментариев. Будьте первым!
Добавить комментарий