Технологии

Простой приемопередатчик IR сигналов на ESP8266

Добрый день, дорогие друзья. Сегодня я вам расскажу, как собрать очень простое и полезное устройство для управления бытовой техникой по инфракрасному порту. Для сборки этого устройства вам понадобиться всего лишь ESP8266nodeMCU, подойдет абсолютно любая. Итак, приступим.


IR передатчик

В качестве передатчика может выступать IR светодиод с любого пульта управления. Его даже можно напрямую подпаять к нашей ESP8266, не используя никаких других компонентов. Но так как GPIO в ESP8266 может выдавать максимум 12 мА, диапазон ИК-излучения будет ограничен.
То есть для теста работоспособности и направленного управления нам этого будет достаточно. 

Схема подключения IR передатчика к nodeMCU ESP8266
IR светодиод, как и любой другой светодиод, имеет Анод и Катод, другими словами — плюс и минус.
Так вот, для подключения нашего передатчика к ESP8266 нам необходимо Анод подключить через последовательный резистор к выбранному контакту GPIO (по секрету — резистор не обязателен). 
Собственно, на этом все — наш передатчик готов. Но как же быть, если мы хотим, чтобы наше устройство было не таким направленным и могло управлять и телевизором, и кондиционером в пределах комнаты?

Тут нам поможет Wiki в самой прошивке ESP Easy, где говорится: «Если вам нужен увеличенный диапазон передачи ИК-сигнала, рассмотрите схему драйвера, подобную этой».То есть, используя всего два резистора и один транзистор, можно получить мощный IR трансмиттер. 
Еще один секрет: в большинстве случаев, эти компоненты можно найти все в том же пульте, где и сам IR светодиод. 


IR приемник

Посылать IR команды мы в теории научились. Как же быть, и где эти команды найти?

Тут нам поможет IR приемник. В нашем случае это будет TSOP4838, найти его можно в любой нерабочей технике, которая управляется при помощи инфракрасного пульта. 
Схема подключения, как и с передатчиком, очень простая. TSOP4838 имеет три пина для подключения. 

TSOP4838ESP8266
1GPIO
2GND
33.3 В

Вот, собственно, и все, на этом сборка устройства закончена, перейдем к прошивке ESP8266 и настройке. 


Прошивка ESP8266

Прошивку, как и всегда, будем использовать ESP Easy, но в этот раз возьмем узконаправленную, рассчитанную на IR_TX и IR_TX. Она имеется в каждом архиве прошивок ESP Easy в каталоге bin. Кодовое название прошивки: «minimal_IRext_ESP8266_4M2M.bin«. 
Как заливать прошивку, я не стану повторятся, открывайте мои предыдущие статьи и смотрите там. Приступим сразу к настройке. 

Настройка девайсов

Первое, что необходимо сделать — это указать наши девайсы в прошивке. 

Открываем вкладку «Devices» и выбираем «Communication — IR Transmit». Указываем имя устройства, я обозвал его как «IR_Tx» и GPIO, к которому подключен наш IR трансмиттер.  Я подключил его к GPIO-13 (D7).

Сразу же откроем вкладку «Hardware» и меняем значениеGPIO boot states, GPIO-13 на Output Low.

Приступим к настройке IR приемника. По аналогии добавляем второй девайс: «Communication — TSOP4838». Указываем название и GPIO, я выбрал соседний GPIO-12 (D6).Вот и все, наше устройство готово, можно переходить к тестированию. 


Получение IR сигналов

Берем абсолютно любой инфракрасный пульт, направляем на TSOP4838 и нажимаем на любую кнопку, команду которой хотим считать. 

Как видим на странице «Devices», значение изменилось с 0 на 3467684604.

Это наш код в десятичной системе счисления, нам же нужен код в шестнадцатиричной системе. Открываем любой конвертер (подойдет и онлайн), конвертируем наше значение в шестнадцатиричный код, получаем «CEB0AAFC«. Это и будет наша команда. 

Тест

Открываем новую страницу в браузере и вводим такую ссылку:  

http://<ip-addr>/control?cmd=IRSEND,<Encoding>,<Value>,<Bitlenght>

где:

  • ip-addr — IP адрес нашей ESP8266;
  • Value — на шестнадцатиричный код.

Подставляем наше значение и получаем что-то похожее на это:

http://192.168.88.102/control?cmd=IRSEND,samsung,CEB0AAFC,32

Нажимаем «Enter» и видим, как наш телевизор включился. 


Добавление в HomeBridge посредством http

Далее нам необходимо создать кнопочки и прокинуть их в Apple HomeKit. Тут все просто, с этим справиться плагин «homebridge-http-switch«. Устанавливаем и добавляем в конфиг следующие строки:

        {
          "accessory": "HTTP-SWITCH",
          "name": "Телевизор ВКЛ/ВЫКЛ",
          
          "switchType": "stateless",
          "onUrl": [
            "http://192.168.88.102/control?cmd=IRSEND,samsung,CEB0AAFC,32"
          ]
        }  

Добавление в HomeBridge посредством mqtt

Если вы, как и я, больше предпочитаете MQTT, тут тоже все просто, при помощи плагина «homebridge-mqttthing«. Добавляем новый свитч. 

        {
            "accessory": "mqttthing",
            "type": "switch",
            "name": "Телевизор ВКЛ/ВЫКЛ",
            "topics": {
                "setOn": "/ESP_IR/cmd"
            },
            "integerValue": "true",
            "onValue": "irsend,samsung,CEB0AAFC,32",
            "offValue": "irsend,samsung,CEB0AAFC,32"
        }

Немного разберем конфиг:

  • ESP_IR — название нашего устройства, задается на вкладке «Config»;
  • setOn — отправка данных;
  • onValue — команда на включение;
  • offValue — команда на выключение.

Также обратите внимание, что при использовании MQTT, у вас должен быть установлен MQTT брокер и настроена связь между брокером и ESP8266.  


Добавление в HomeAssistant

Для добавления в HomeAssistant посредством mqtt, нам необходимо всего лишь добавить в наш конфиг следующие строки. 

switch:
  - platform: mqtt
    name: "TV ON/OFF"
    command_topic: "/ESP_IR/cmd"
    payload_on: "irsend,samsung,CEB0AAFC,32"
    payload_off: "irsend,samsung,CEB0AAFC,32"

Фото устройства 


Для ленивых

Если вы не хотите заморачиватся и нет желания паять, для сборки данного устройства можно заказать абсолютно все комплектующие на AliExpress. Нам понадобится:

Подключаем все точно также по схеме к плате, уже без пайки, но при помощи соединительных проводков dupont «мама-мама»


Вывод

Вот так просто можно собрать устройство для управления бытовой техникой по инфракрасному порту, ценник которого не превышает 200 рублей. Приимуществом данного девайса является возможность интегрировать наши виртуальные переключатели практически во все экосистемы, будь то Яндекс Алиса или Google Home. Если эта статья вам понравилась, ставьте лайки и пишите комментарии. 
Ну а для совсем ленивых можно заказать готовое устройство от отечественного производителя LOOK.in, кстати обзорная статья появилась совсем недавно. Если ваш умный дом построен на девайсах от Xiaomi, для вас тоже есть готовое решение.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *