Проект домашней автоматизации Карла – Часть 4: Обновление MQTT-моста для использования ИК-приемопередатчика YS-IRTM с NodeMCU

В предыдущей статье был описан MQTT-мост от 1technophile. К нему были добавлены сенсор температуры и влажности DHT, а также датчик освещенности. Изначально использовался программный декодер ИК-сигналов. Тестирование ИК-передатчика на шлюзе не проводилось из-за отсутствия компонентов. Благодаря IC Station, предоставившим модуль аппаратного декодера YS-IRTM и NodeMCU , в текущей версии программное решение заменено на модуль YS-IRTM.

Увеличить

Увеличить

Проект оказался сложным. Следует отметить, что навыки программирования были недостаточны. Документация труднодоступна, но найдено обсуждение на форуме , объясняющее принцип работы устройства. При распознавании ИК-кода через последовательный интерфейс передаются 3 шестнадцатеричных кода. Для передачи требуется 5 кодов: A1,F1,xx,xx,xx (A1,F1 инициируют отправку последующих значений). Скорость передачи данных можно настраивать, но использовано значение по умолчанию 9600 бод.

Подключение простое – требуется всего 4 провода Dupont. После настройки кода удалось организовать обмен через программный UART. Разработка начата на Arduino Uno с последующим переносом на плату ESP8266. При переходе на ESP возникли сложности. Изначально предполагалась необходимость преобразователя уровней, но это не помогло. Удивительно, что преобразователь не потребовался, учитывая питание ESP 3.3 В. После добавления небольшой задержки проблемы устранены – вероятно, из-за высокой скорости работы ESP.

Для использования укажите SSID, пароль и данные MQTT-сервера. Прошейте устройство, предварительно установив необходимые библиотеки. 1technophile предоставляет подробную документацию в своей вики .

После прошивки для поиска ИК-кодов подпишитесь на топики через Windows-команду ниже. Дайте шлюзу время на подключение, направьте ИК-пульт на сенсор и нажмите кнопку для определения кода.

В окне появится сообщение вида “home/sensors/ir 4,fb,8,” (код кнопки питания телевизора). Для тестирования:

Данный код включает/выключает телевизор.

УвеличитьТеперь можно управлять ИК-устройствами через системы домашней автоматизации. Неиспользуемые сенсоры можно отключить. Без этого в MQTT будут поступать ошибочные данные. Ниже приведены фрагменты кода Arduino для ИК-модуля, полная версия доступна на GitHub :

Планируется создание корпуса методом 3D-печати на тестируемом принтере CR-10 . ИК-светодиод будет вынесен в оптимальное положение, так как текущая ориентация приемника и передатчика в одном направлении неэффективна.

Выражаем благодарность IC Station за предоставленные для обзора NodeMCU ( $5.81 с доставкой ) и ИК-приемопередатчик ( $3.39 с доставкой ). Скидка 15% по промокоду Karics. Шлюз теперь полностью функционален.

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments