Удалённое управление кондиционером через ИК-Порт
Привет всем, скорее всего у многих было желание включить кондиционер находясь вдали от дома, надеюсь этот пост поможет вам с реализацией.
В основе всего лежит библиотека 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, нету рейтинга чтобы прикрепить прямо в пост
Когда начинаешь новый проект или мое первое знакомство с Orange Pi One
Когда распаковал посылку, первым делом подумал что Orange и Raspberry одинаковые платформы. Вытащил флэшку с малинки и вставил в аппельсинку и.... не тут-то было! На экране было темно...
Потом начал искать сайты по Orange и наткнулся на очень хороший ресурс:
Почитав понял что они не заработают от одной флэшки. Перелопатив кучу операционок - понял что armbian самая лучшая, для меня. В остальных были то шрифты кривые, то только консольный режим, то банально не удавалось загрузится.
Рекомендации при работе с аппельсинкой:
1)Нужен хороший источник питания, потребляет порядка 700мА.
2)Обязательно поставьте радиатор на процессор!
3)Для воспроизведения mp4 нужно установить кодеки, команда: sudo apt install ffmpeg
Я считаю что плата за свои деньги просто супер!Но на борту нет Wi-Fi и Bluetooth
OrangePi Zero, start!
Сегодня я расскажу как настроить OrangePi Zero с нуля
OrangePi Zero был создан как аналог RaspberryPi Zero, у него есть как и свои плюсы
*встроенный Wifi,
*порт Ethernet,
*нормальное гнездо Usb а не microusb otg
Так и минусы
*Нет HDMI,
*по размеру она толще чем RaspberryPi Zero
Технические характеристики я сравнивать не буду, но у OrangePi Zero есть:
* 4 ядерный Cortex A7 @ 1.2 GHz
* видеокарта(?) Mali-400MP2 GPU @ 600 MHz
* ОП: DDR3 256MB или 512MB (в моей версии было 500MB)
* Сеть 10/100M Ethernet + 802.11 b/g/n WiFi (Allwinner XR819 )
* USB: 1x USB 2.0 host ports, 1x micro USB OTG port
* Аудио выход 3.5мм
* Прочие вкусняшки (приемник IR, TVout, Usb итд)
* Питается Orangepi от 5 вольт через пины или гнездо microusb (ток 1.2-1.5A)
* Размер 52 x 46 mm
* Порт Microsd
* Вес 26 грамм
Купил я Orangepi на алиекпресс за 8 долларов + 3 доллара за доставку.
Установка всего что нужно делится на несколько пунктов:
1. Скачать образ системы и залить его на microsd
2. Включить Orangepi, настроить и подключиться к ней
3. Настроить автоматическое подключение к сети через роутер
Для этого нам понадобятся:
Orangepi, роутер, кабель или два Ethernet, MicroSd карта (у меня карта на 4GB)
1. Скачать образ системы и залить его на microsd
Идем сюда и качаем нужный образ (я выбрал Lubuntu)
Идем сюда, скачиваем себе программу Rufus и запускаем ее
Настраиваем как показано на картинке:
(Немного забыл поменять язык в программе но, к сожалению, теперь у меня ее нет)
Тут главное выбрать нашу microsd и выставить галочки в нужных местах и ключевые свойства
FAT32, MBR для BIOS и UEFI, создать диск запуска используя Образ DD
И выбрать скачанный образ системы.
Когда все настроено надо нажать Start и дождаться конца работы программы.
После этого вставляем Microsd в гнездо на OrangePi.
Включить Orangepi, настроить и подключиться к ней
Подсоединяем OrangePi к роутеру кабелем
и включаем питание Orangepi, советую проводить дейтивия строго по порядку.
Пока OrangePi включается, заходим на роутер и открыавем список клиентов в сети роутера
Пока мы занимались роутером, OrangePi должна засветиться красным, так же порт Ethernet должен заморгать(индикация траффика)
Обновляем список клиентов на роутере и ищем новых клиентов
Находим клиента OrangePiZero и смотрим его Ip (192.168.1.111)
Запускаем Putty, вводим в ней этот Ip адресс и нажимаем кнопку Open
Если все сделали правильно, в окне терминала появится запрос логина и пароля
Логин и пароль orangepi
Все! можем работать:)
3. Настроить автоматическое подключение к сети через роутер
Путем гугления я нашел простую команду, которая подсоединяет Orangepi к сети Wifi
sudo nmcli d wifi connect название_сети password пароль_к_WIFi
скорее всего эта команда будет работать только на Ubuntu версии!
Вписываем ето в терминал и нажимаем ентер, терминал попросит нас ввести пароль и выполнит команду.
После этого в терминале должны выписаться все подключения, если этого не произошло, просто вводим в коноль ifconfig и нажимаем ентер
Нас интересует секция WLAN3, она может называться по разному но всегда должна состоять из префикса WLAN(, я думаю это значит что данная сеть есть wifi сетью)
Ищем там адрес IP и запоминаем его.
После этого отсоединяем Orangepi от роутера и подключаемся к ней используя новый адрес Ip, при каждом включении Orangepi сама должна подсоединиться к сети.
От себя хочу сказать что мне очень помогли эти гайды и если данная тема будет востребована, я сделаю еще постов о том как запустить удаленный рабочий стол с графическим интерфейсом на orangepi, как управлять пинами GPIO и работать с разными датчиками и как запустить простой вебсайт с графиком температуры.