Удалённое управление кондиционером через ИК-Порт
Привет всем, скорее всего у многих было желание включить кондиционер находясь вдали от дома, надеюсь этот пост поможет вам с реализацией.
В основе всего лежит библиотека arduino-heatpumpir именно она позволяет взаимодействовать с кондиционером, на момент прототипирования проходил YAC2018, и по этому решил попробовать Яндекс. Диалоги, которые позволяют создавать навыки для Алисы (хотел использовать бота Telegram) также поскольку это элемент управления умного дома пришёл к решению использовать OrangePI, дабы все устройства взаимодействовали с этой платой а плата с диалогами. То есть работать это должно так:
Это сугубо моё решение, если хотите по простому то рекомендую использовать Blynk, или Universal-Arduino-Telegram-Bot.
Стоимость компонентов получилась ~4$, (Wemos D1 Mini [RobotDyn], и ИК модуль) БП в расчёт не брал. Соединяться очень простоIN -> D2,
GND -> GND
VCC -> 5V
Крепление на скотч, держится больше месяца
Больше деталей
Wemos с OrangePI соединяются через websocket, на Wemos'e используется Arduino-Websocket, на OrangePi Workerman. Запросы диалогов нужно ещё и обрабатывать, использовал фреймворк Laravel (проще [мне] писать на PHP, поэтому и использовал его). Все запросы обрабатываются в порядке очереди, добавляться записи в БД, а после на основе времени извлекаются, если говорить проще, пример запроса:SELECT * FROM `queue` WHERE `device_id` = 1 AND `time` <= 1535357950
После ответа Wemos'a запись удаляется, то есть не будет ответа - запись будет циклично отправляться.
Также, хочу отметить, используются шаблоны запросов, текст подставляется под каждый и при совпадении обрабатывается
В результате будет массив с action, num и в зависимости от шаблона, day и time, класс отвечающий за это выгрузил на gist. И в качестве фичи, реализовал уточнение запроса если что-то получено не верно. (Вкл/выкл по таймеру, вырезал из за не надобности, на скрине пример с розеткой)
Большее спасибо что дочитали до конца. Вот видео как это работает: https://youtu.be/lbdwN-Ki7rU, нету рейтинга чтобы прикрепить прямо в пост
Arduino & Pi
1.4K постов20.6K подписчиков
Правила сообщества
В нашем сообществе запрещается:
• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)
• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском
• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)
• Рассуждать на темы политики
• Нарушать установленные правила Пикабу