Добрый день, дорогие друзья. Сегодня я вам расскажу, как собрать очень простое и полезное устройство для управления бытовой техникой по инфракрасному порту. Для сборки этого устройства вам понадобиться всего лишь ESP8266 nodeMCU, подойдет абсолютно любая. Итак, приступим.
IR передатчик
В качестве передатчика может выступать IR светодиод с любого пульта управления. Его даже можно напрямую подпаять к нашей ESP8266, не используя никаких других компонентов. Но так как GPIO в ESP8266 может выдавать максимум 12 мА, диапазон ИК-излучения будет ограничен.
То есть для теста работоспособности и направленного управления нам этого будет достаточно.
Схема подключения IR передатчика к nodeMCU ESP8266
IR светодиод, как и любой другой светодиод, имеет Анод и Катод, другими словами - плюс и минус.
Так вот, для подключения нашего передатчика к ESP8266 нам необходимо Анод подключить через последовательный резистор к выбранному контакту GPIO (по секрету - резистор не обязателен).
Собственно, на этом все - наш передатчик готов. Но как же быть, если мы хотим, чтобы наше устройство было не таким направленным и могло управлять и телевизором, и кондиционером в пределах комнаты?
IR приемник
Посылать IR команды мы в теории научились. Как же быть, и где эти команды найти?
Тут нам поможет IR приемник. В нашем случае это будет TSOP4838, найти его можно в любой нерабочей технике, которая управляется при помощи инфракрасного пульта.
Схема подключения, как и с передатчиком, очень простая. TSOP4838 имеет три пина для подключения.
TSOP4838ESP82661GPIO2GND33.3 В
Вот, собственно, и все, на этом сборка устройства закончена, перейдем к прошивке ESP8266 и настройке.
Прошивка ESP8266
Прошивку, как и всегда, будем использовать ESP Easy, но в этот раз возьмем узконаправленную, рассчитанную на IR_TX и IR_TX. Она имеется в каждом архиве прошивок ESP Easy в каталоге bin. Кодовое название прошивки: "minimal_IRext_ESP8266_4M2M.bin".
Как заливать прошивку, я не стану повторятся, открывайте мои предыдущие статьи и смотрите там. Приступим сразу к настройке.
Настройка девайсов
Первое, что необходимо сделать - это указать наши девайсы в прошивке.
Получение 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 - команда на выключение.
Добавление в 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. Если эта статья вам понравилась, ставьте лайки и пишите комментарии. Ну а для совсем ленивых можно заказать готовое устройство от отечественного производителя LOOKin, кстати обзорная статья появилась совсем недавно. Если ваш умный дом построен на девайсах от Xiaomi, для вас тоже есть готовое решение.Также появилась идея заказать и разобраться с модулями, работающими на частоте 433, если эта тема вам также интересна, пишите в комментариях, все закажу и оформлю в статью.
если есть чем дополнить статью, буду рад
Но пока не разобрался как добавить его как climate в home assistant.
Хорошее дополнение, может оформишь в блог, чтоб не потерялось
Но пока не разобрался как добавить его как climate в home assistant.
Что за кондей ?
Поделитесь командами управления
в моем случае это: http://192.168.1.46/control?cmd=heatpumpir,mitsubishi_heavy_zj,1,3,0,19,1,1
вот бы такой зигбишный... на 2530
Мой старый колхоз из того, что в ящике стола нашёл. Работает на прошивке Tasmota в связке Home Assistant.
"Также появилась идея заказать и разобраться с модулями, работающими на частоте 433"
Поддерживаем!
ищу где купить модулей. некогда нечего не было на 433. стало интересно
была бесплатная доставка, брал https://aliexpress.ru/item/1347349030.html?spm=a2g0s.9042311.0.0.274233edGEZUb8">тут
А все таки где взять
minimal_IRext_ESP8266_4M2M.bin ?
В
прошивке http://www.letscontrolit.com/downloads/ESPEasy_R120.zip">ESPEasy R120 этоn файл отсутствует
вот https://github.com/letscontrolit/ESPEasy/releases">тут
Спасибо! Простые решения помогают понять сложные) Да и действительно иногда именно такие устройства решают задачу.
Если будут другие устройства
Encoding - можно указать производителя устройства (не столько важно)
Bitlenght - везде 32
Подскажите, IR-ресивера нет. Решил попытать счастья только с трансмиттером из старого сгоревшего пульта.
Нашел базу кодов для своего телека тут:
http://irdb.tk/codes/">http://irdb.tk/codes/http://irdb.tk/codes/">
Для примера, код включения:
Есть понимание как это конвертить в понятное значение для нашего устройства?
PS: С вашей HTTP строкой из примера трансмиттер посылает сигнал, видно через камеру телефона.
интересный вопрос. мне кажется ключ не получиться переконвертировать. нужно найти его же в другом виде.
Я выбрал готовые устройства в корпусе с диодами на 360 градусов.
1 Geeklink Wifi IR Remote
2 Tuya Wifi to IR Remote
Оба на ESP8***, в Tuya какой-то более редкий модуль.
как сказано выше, угол зависит от того чем ты собираешься управлять. если это просто диод - там только направлено.
заказал давеча подобный сетап с Али, у меня такой вопрос сколько у этой радости потребление в режиме ожидания команд? В комнате только телевизор стоит, не хочу городить кучу проводов, думал запитать от 18650 и закрепить за телевизором, а диод вывести рядом с приемником. В выключенном состоянии на usb питания нет, а разбирать телек и подпаиваться к дежурке желания нет
Добрый день. Собрал, испытал (с телевизором Samsung) всё отлично, а вот телек LG так и не заработало. Несколько кнопок пробовал, не получилось.
Победил!!!
Когда в браузере в строке с командой вместо LG ввёл NEC, мой телевизор LG включился. И ещё несколько кнопок проверил: всё работает.
"Это я удачно зашел"... (с) (х/ф)
Валяется без дела xiaomi шайба 2-й версии - брал для кондиционера - а она не заработала...
Надо будет ее прошить. :)
Сразу извиняюсь за глупый вопрос, а куда катод
IR передатчика (использую голый без резисторов) подключать - земля, +3.3в или в воздухе ? Хочу управлять лампой с пультом ИК. Кинул на 0 катод, но не сработало. Коди считал и конвертировал.