Умный дом для заказчика в основном «игрушка» которым можно похвастаться перед друзьями, но эти игры стоят не малых усилий интеграторам!
Речь пойдет о некоторых проблема связанных именно с освещением в доме как об неотъемлемом блоке «умного дома».
Проблема 1: Если система централизованная, то в случае сбоя центрального контроллера программа не может управлять реле включения света.
Решение: Использовать распределенные модули управления, по нашему опыту одним из самых зарекомендовавших себя устройств в этом - программируемое реле ПР200 производства компании ОВЕН. Советуем использовать версию 220в, т.к. бытовые выключатели рассчитаны именно на это напряжение и будет меньше проблем с логической «единицей» на дискретном входе.
pr200.png
Это устройство имеет 8 каналов (реле) которые можно запрограммировать с использованием внутренней логики (как распределенную систему), дополнительно подключаются еще модули расширения 2шт. по 8 каналов, но тут есть риск остаться без большего количество управляемых светильников при выходе из строя самого ПР200 (8 каналов против 24), если соберетесь экономить, подумайте!
Овен.JPG
Пример программы одного канала в программе OWEN LOGIC
Несмотря на то, что программу выглядит просто, к ней мы шли несколько лет не по своей вине, компания Овен относительно недавно (после появления ПР200) добавила возможность управлять сетевой переменной как с наружи, так и изнутри.
Подробнее о программе:
I8 – это дискретный вход с 8 выключателя в доме или комнате
RTRIG – детектор переднего фронта, необходим для формирования единичного (на один цикл программы) импульса
TO INT – преобразования Bool в INT можно было бы и обойтись, но Slave сетевая переменная в Owen Logic не поддерживает bool.
XOR – исключающее или, если на одном входе 1, то и выход 1, если на оба входа подать 1 выход обнулится, основной элемент программы, который решает по нажатию на выключатель включить или выключить свет.
Реле8 – входная и выходная сетевая переменная, как я и говорил выше с недавнего времени можно использовать эти две переменные с одним регистром (адресом) Modbus, это нам дает возможность сохранить в нее необходимое нам состояние как снаружи, так и внутри без использования различных триггеров. Эти сетевые переменные имеют энергонезависимую память, поэтому при скачке напряжения освещение вернется в последнее состояние.
TO BOOL – конвертируем INT в BOOL значение, потому как реле на выходе имеет состояние False/True
Шаг 1: программу для 8 каналов можно скачать в приложениях Освещение для УД.owl и залить в программируемое реле, не забудьте сменить целевую платформу для своей версии ПР200/110 иначе прошить устройство не удастся!
Проблема 2: стандартные бытовые выключатели имеют состояния включен либо выключен, что в корне противоречит логике управления освещением в умном доме, нам нужны кнопки без фиксации (с пружинками) или городить программу понимающую изменение состояния.
Решение 1: Использовать готовые кнопки без фиксации, которые есть у большинства производителей выключателей таких как Schneider, Biticino, ABB и др. (рекомендованное решение, хоть кнопки в одном положении и включенных и выключенных ламп это выглядит эстетически красиво)
Решение 2: Отлавливать в ПР200/110 изменение состояния входа при использование типичного бытового выключателя с фиксацией и дальше посылать импульс программе которую скачали выше, если свет был включен то он погаснет и наоборот (не рекомендуется, т.к. через некоторое время все кнопки будут перепутаны верх и низ)
Проблема 3: верхний уровень у большинства производителей систем умного дома не дотягивает до эстетического и функционального совершенства.
Решение: используем HomeKit от Apple, которое: функционально, удобно и есть голосовое управление.
Шаг 2: стыкуем ПР200/110 с HomeKit
Для этого необходимы следующие инструменты:
Решение рекомендованное для демонстраций
Raspberry Pi 2/3/4 и к нему usb конвертер rs485 (например с Aliexpress)
raspberry.jpg 2142.750.jpg
Решение рекомендованное для интсаляций на базе модуля Raspberry CM3+ в промышленном исполнении c 2 двумя встроенными RS485 портами
Документация к устройству
qqqq.jpg raspberry-pi-compute-module-3-16g-cm3-16g-1.jpg
Подключите Ваше устройство на базе Raspberry к питанию и домашней сети желательно патчкордом, а не по wifi.
Соедините RS485 порт Вашего устройства и ПР200/110.
Далее определите IP адрес который выдал Ваш роутер и подключитесь по SSh например через программу PUTTY (по умолчанию логин pi пароль raspberry)
Установите программный продукт node-red для стыковки протокола HomeKit на верхнем уровне и Modbus Rtu на нижнем, смотри инструкцию по установке тут.
Не забудьте сделать Ваш node-red сервисом для автозагрузки.
Установите пакет HomeKit и modbus для node-red
cd ~/.node-red
npm install node-red-contrib-homekit
npm install node-red-contrib-modbus
sudo reboot
Ждем перезагрузки и переходим в браузер «ВАШ IP»:1880 (например 192.168.1.110:1880 )
Копируем следующий поток см. приложение node-red.txt (код) и вставляем в веб интерфейс «движка» правил node-red
Заходим в Menu-->import-->вставляем поток-->import
node-red2.JPG node-red3.JPG
Необходимо применить поток нажав на кнопку Deploy
node-red4.JPG
В случае неудачи советуем правильно указать RS485 порт в настройках Modbus плагина «Запрос модбас» и «Write Reset FC6» (пример /dev/ttyUSB0).
Для достоверности перезагрузите Ваше устройство SSH --> sudo reboot
Шаг 3:
Настройка приложения на Вашем Apple устройстве довольно простая заходим в программу "ДОМ" и жмем добавить дом.
Даем имя нашему дому по желанию, в нашем примере ПР200
hk1.jpeg hk2.jpeg
Добавляем и соглашаемся использовать несертифицированный аксессуар
hk3.jpeg hk4.jpeg
Вводим код доступа, в нашем случае 111 11 111, его можно заменить в настройках Node-red в каждом из аксессуаров HomeKit
hk5.jpeg hk7.jpeg
Добавляем все наши лампы в комнаты, это можно сделать позже.
hk8.jpeg hk9.jpeg
Желаем Вам приятного использования такой недорогой, но очень удобной системы.
Внимание:
Мы не агитируем к коммерческому использованию протокол HomeKit, любые действия противоречащие лицензионному соглашению APPLE по использованию протокола HomeKit разработчик берет на себя!