Умный Дом — голосовое управление в три шага. Raspberry + HomeKit

Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Raspberry pi, Homekit, Smarthouse, Контроллер, Интернет вещей, Программирование, Длиннопост

Уважаемые друзья!


Мы решили поделиться с Вами бюджетным готовым решением, надеемся Вы оцените наши старания. Решение проверенное, рабочее. Во вложении можно скачать все файлы программ и настройки. Отдаем все бесплатно.


Умный дом для заказчика в основном «игрушка» которым можно похвастаться перед друзьями, но эти игры стоят не малых усилий интеграторам!


Речь пойдет о некоторых проблемах и решениях, связанных именно с освещением в доме, как о неотъемлемом блоке «умного дома».


Проблема 1: Если система централизованная, то в случае сбоя центрального контроллера программа не может управлять реле включения света.


Решение: Использовать распределенные модули управления с внутренней логикой, по нашему опыту одним из самых зарекомендовавших себя устройств в этом — программируемое реле ПР200 производства компании ОВЕН. Советуем использовать версию 220в, т.к. бытовые выключатели рассчитаны именно на это напряжение и будет меньше проблем с логической «единицей» на дискретном входе.

Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Raspberry pi, Homekit, Smarthouse, Контроллер, Интернет вещей, Программирование, Длиннопост

Это устройство имеет 8 каналов (реле) которые можно запрограммировать с использованием внутренней логики (как распределенную систему), дополнительно подключаются еще модули расширения 2шт. по 8 каналов, но тут есть риск остаться без большего количество управляемых светильников при выходе из строя самого ПР200 (8 каналов против 24), если соберетесь экономить, подумайте!

Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Raspberry pi, Homekit, Smarthouse, Контроллер, Интернет вещей, Программирование, Длиннопост

Несмотря на то, что программу выглядит просто, к ней мы шли несколько лет не по своей вине, компания Овен относительно недавно (после появления ПР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 каналов можно скачать по ссылке в конце статьи и залить в программируемое реле, не забудьте сменить целевую платформу для своей версии ПР200/110 иначе прошить устройство не удастся!


Проблема 2: стандартные бытовые выключатели имеют состояния включен либо выключен, что в корне противоречит логике управления освещением в умном доме, нам нужны кнопки без фиксации (с пружинками).


Решение 1: Использовать готовые кнопки без фиксации, которые есть у большинства производителей выключателей таких как Shneider, Biticino, ABB и др. (рекомендованное решение, хоть кнопки в одном положении и включенных и выключенных ламп это выглядит эстетически красиво)


Решение 2: Отлавливать в ПР200/110 изменение состояния входа при использование типичного бытового выключателя с фиксацией и дальше посылать импульс программе которую скачали выше, если свет был включен то он погаснет и наоборот (не рекомендуется, т.к. через некоторое время все кнопки будут перепутаны верх и низ)


Проблема 3: верхний уровень у большинства производителей систем умного дома не дотягивает до эстетического и функционального совершенства.


Решение: используем HomeKit от Apple, которое: функционально, удобно и есть голосовое управление.


Шаг 2: стыкуем ПР200/110 с HomeKit


Для этого необходимы следующие инструменты:


Решение рекомендованное для демонстраций:


Raspberry Pi 2/3/4 и к нему usb конвертер rs485 (например с Alliexpress)

Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Raspberry pi, Homekit, Smarthouse, Контроллер, Интернет вещей, Программирование, Длиннопост

Решение рекомендованное для инсталляций:

Устройство на базе модуля Raspberry CM3+ в промышленном исполнении c 2 двумя встроенными RS485 портами:

Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Raspberry pi, Homekit, Smarthouse, Контроллер, Интернет вещей, Программирование, Длиннопост

Устройство AntexGate. Документацию можно посмотреть тут.

Подключите Ваше устройство на базе 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


Заходим в Menu -> import -> вставляем код потока

Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Raspberry pi, Homekit, Smarthouse, Контроллер, Интернет вещей, Программирование, Длиннопост
Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Raspberry pi, Homekit, Smarthouse, Контроллер, Интернет вещей, Программирование, Длиннопост
Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Raspberry pi, Homekit, Smarthouse, Контроллер, Интернет вещей, Программирование, Длиннопост

Необходимо применить поток нажав на кнопку Deploy


В случае неудачи советуем правильно указать RS485 порт в настройках Modbus плагина «Запрос модбас» и «Write Reset FC6» (пример /dev/ttyUSB0).


Для достоверности перезагрузите Ваше устройство.


Шаг 3. Настройка приложения на Вашем Apple устройстве довольно простая.

Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Raspberry pi, Homekit, Smarthouse, Контроллер, Интернет вещей, Программирование, Длиннопост

Даем имя нашему дому по желанию, в нашем примере ПР200

Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Raspberry pi, Homekit, Smarthouse, Контроллер, Интернет вещей, Программирование, Длиннопост

Добавляем и соглашаемся использовать несертифицированный аксессуар

Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Raspberry pi, Homekit, Smarthouse, Контроллер, Интернет вещей, Программирование, Длиннопост

Вводим код доступа, в нашем случае 111 11 111, его можно заменить в настройках Node-red в каждом из аксессуаров HomeKit

Умный Дом — голосовое управление в три шага. Raspberry + HomeKit Raspberry pi, Homekit, Smarthouse, Контроллер, Интернет вещей, Программирование, Длиннопост

Добавляем все наши лампы в комнаты, это можно сделать позже.


Желаем Вам приятного использования такой недорогой, но очень удобной системы.


Внимание:


Мы не агитируем к коммерческому использованию протокол HomeKit, любые действия противоречащие лицензионному соглашению APPLE по использованию протокола HomeKit разработчик берет на себя!


Программу для ОВЕН ПР200 и скрипт для NodeRed можно бесплатно скачать тут.

Arduino & Pi

1.4K постов20.6K подписчиков

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

Вы смотрите срез комментариев. Показать все
2
Автор поста оценил этот комментарий
Мне требуется перезагрузка ЦНС. Я понял, что я нихуя не понял
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Мне так же иногда жена говорит, когда спрашивает меня: "Как дела на работе?"

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку