Jump to content

    

Мой проект умного дома на Raspberry PI + OpenHAB + Z-Wave + панели на Х.З. каком протоколе

подключил Z-wave USB стик к Raspberry и привязал его к openHabу.

 

Это конечно лично мое мнение, но считаю, что такие системы должы иметь унификацию, скажем 1-2 протокола и многофункциональный ПЛК, на котором крутится алгоритм работы, с возможностью добавления управляющих функций. Тогда все будет просто и понятно, как это работает.

 

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

Share this post


Link to post
Share on other sites
Это конечно лично мое мнение, но считаю, что такие системы должы иметь унификацию, скажем 1-2 протокола и многофункциональный ПЛК, на котором крутится алгоритм работы, с возможностью добавления управляющих функций. Тогда все будет просто и понятно, как это работает.

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

Без винегрета протоколов не обойтись - согласно моим исследованиям нет универсального стандартного протокола для "умного дома". Точнее они есть, но в этом случае производители дерут несусветные деньги за свое железо. Также в каждом конкретном случае железо для одного протокола может быть намного дешевле, чем железо для другого. Зачем тогда себя ограничивать?

 

Насчет унификации: Распберри + единственная программа-сервер умного дома - куда уж проще? Я бы поставил многофункциональный ПЛК, да только нету таких с простой привязкой к протоколам, применяемым в умном доме.

 

А все, что настраивается в OpenHab - это четыре текстовых конфигурационных файла:

- привязки к железу по протоколам

- управляющие устройства и датчики - а-ля топология квартиры

- Веб-интерфейсы

- сценарии - а-ля функции

Т.е. достаточно эти файлы всунуть в SVN - и я буду помнить все, что поменял в системе. Вот буквально вчера написал свой первый простенький сценарий - чтобы реле само выключалось через секунду после активации. Еще работает.

Кстати этот OpenHAB еще и сам логи ведет в виде базы данных. Причем можно в графике чарты просматривать по времени. Прикольненько.

 

 

Share this post


Link to post
Share on other sites
Без винегрета протоколов не обойтись - согласно моим исследованиям нет универсального стандартного протокола для "умного дома". Точнее они есть, но в этом случае производители дерут несусветные деньги за свое железо.

 

Если покупать все готовое - то да, либо подсаживаетесь на AMX или подобное и "семейный бюджет рухнул", либо винегрет, или делаете свои контроллеры, для которых куча протоколов ненужна. Каждый выбирает свое... Я выбрал последнее. Все, что мне потребовалось - драйверы управления нагрузками по RS485, ИК-трансмиттеры для управления бытовой техникой, по тому-же интерфейсу, радиоконтроллеры для управления железяками, которые вне дома, и еще мелочевка...

Edited by mantech

Share this post


Link to post
Share on other sites

В общем обновление такое:

Подключил Мультисенсор - все настроилось легко. Теперь я могу мерить температуру, влажность и освещенность в любом месте. Причем вписал эти переменные в конфигуратор логов - и опенхаб начал записывать их состояние в базу данных каждую минуту.

Также получил сигнал с датчика движения. Чтобы придумать проверку для него, начал играться с правилами. Оказалось все довольно просто - скопипастил простой пример, поменял пару переменных и вуаля - по сигналу от датчика движения включается реле, а выключается по таймеру в опенхабе через 10 секунд. Пока все работает стабильно со вчерашнего вечера.

Также сделал SSL, авторизацию и пробросил нужный порт на роутере. Теперь все полностью видно и управляется из инета.

 

На этом, в принципе, тестирование по п.1 завершено - перенесу еще реле на гаражные ворота - посмотрю будет ли там брать сигнал и на этом закончим.

 

По п.3 - панелям управления - так как с айфона все работает довольно шустро и без задержек, решил дать WiFi с андроидами шанс. Тем более есть куча маленьких планшетов по 50$ типа такого: http://www.toysrus.com/buy/family-tablets/...am-430-46321156 , который не жалко на стенку повесить и забыть.

Смотрел на такой в магазине - экран, конечно, страшненький, но девайс сам совсем не тормознутый и полюбому не хуже, чем то, что предлагают брендовые смартхоумеры. Сам планшет покупать не буду, так как андроиды в семье есть, нужно только выцепить на тест.

Вопросы, кто знает:

1. Можно ли сделать на андроиде, чтобы при включении запускалась одна программа - например браузер и только она? И чтобы никаким образом нельзя было ее закрыть?

2. Можно ли убрать при этом всякие кнопки и иконки внизу и вверху экрана, типа возврат, домой, уровни сигналов заряда батарей и вайфая - все это для панели, постоянно висящей на стене, не нужно.

 

В принципе хочу попробовать наладить более или менее пристойный интерфейс через вебморду или аппы, чтобы было как у брендов, которые имел возможность трогать руками. Например как на этих видео:

http://www.youtube.com/watch?v=nTdcuHTN1Pg - этот мне понравился, очень шустрая реакция, емкостной тач.

http://www.youtube.com/watch?v=L8TkhHgkBsg - этот без тача, но прикольный экран

https://www.youtube.com/watch?v=vEB0mbqJw1w - этот тормознутый с резистивным тачем, но много функций.

 

Еще раз - пока речь идет о простых панелях в комнаты. При входе просится панель побольше - 7" наверное, так как там функций должно быть больше.

 

Share this post


Link to post
Share on other sites

Перед отпуском удалось запустить Iridium Mobile на андроиде и настроить посылку команд в Openhab через Rest Api. Но почему-то заработал только метод GET. POST запустить не удалось. В принципе данный вариант не плох -задержкек вроде нет - бери да рисуй любой интерфейс, прописывай команды и заливай на панель.

Но вот отображение статусов пока темный лес - это вроде как должен быть специальный Listener скрипт, и его надо ручками в Irridium писать. Пока написал им на форум - может сами приделают.

На опенхаб форуме посоветоватли еще одну альтернативу - но пока не занимался

Ну и апдейт по стабильности работы - перед отпуском оставил всю эту связку работать. Вернулся через 2 недели - все продолжает работать (кроме панели - ее я отключил). И это без каких либо ватчдогов и принудительных ресетов.

Share this post


Link to post
Share on other sites

Апдейт по панелям. Остановлюсь на андроиде. Самый дешевый андроидный смарт с неплохим экраном - около 50$ - как раз не жалко на стенку приклеить.

По софту - в данном случае бесплатная версия http://www.commandfusion.com. Бесплатная по-крайней мере в моем случае реализации простой связки через REST API с OpenHAB. Это типа алликуха, которая загружается на андроид или iOS. А потом с помощью софта на PC рисуется свой GUI, со всеми командами при нажатии на кнопки, перетягивания или обновления информации по таймеру. Фактически к каждой реакции или событию надо просто привязать HTTP запрос и разбор ответа от сервера. Было сложно вначале разобраться, но теперь все работает и на самом деле команды простые.

Вот такой интерфейс термостата уже зафигачил. Примитивный, конечно, но смысл был показать, что все функции рабочие. Дизайн - это уже работа для жены. Кнопки при нажатии или в зависимости от статуса, меняют свое изображение. Реакция z-wave реле на нажатие молниеносная. Слайдер работает, также как и кнопки по бокам увеличивают и уменьшают заданную температуру на 1 градус. Шрифты и цвета можно настраивать по своему усмотрению.

post-25368-1448271275_thumb.jpg

 

Пока единственный недостаток - для мониторинга статуса надо периодически слать запросы на сервер и от периодичности сильно зависит скорость обновления информации на панели. Например, если для обновления температуры достаточно слать запрос раз в минуту, то в случае с кнопкой желательно сразу видеть подтверждение, что статус изменен. В этом случаю я делаю запрос каждые 200мс, но тогда генерится достаточно много лишнего трафика. С какой-то push функциональностью было бы гораздо лучше, но пока моих знаний TCP/IP и HTTP не хватает, чтобы понять, как это настроить.

Share this post


Link to post
Share on other sites

Еще раз апдейт по CommandFusion. Покурил стандарт и написал примитивный javascript модуль для CF, с которым GUI прекрасно коннектится через MQTT к брокеру, отправляет команды и принимает статусы без полинга. Все работает без задержек.

Проблем со связью тоже нет - Коннект мониторится периодическим пингом(встроен в MQTT) - держал панель постоянно включенной с работающим GUI несколько дней, а потом смотрел логи на брокере - один раз связь пропала аж на час - долго ломал голову, что произошло, пока не полазил по открытым программам на Андроиде. Оказалось, в мое отсутствие сын успешно играл на планшете, а потом включал GUI обратно, чтобы я не заметил :-)

Share this post


Link to post
Share on other sites
Еще раз апдейт по CommandFusion. Покурил стандарт и написал примитивный javascript модуль для CF, с которым GUI прекрасно коннектится через MQTT к брокеру, отправляет команды и принимает статусы без полинга. Все работает без задержек.

Проблем со связью тоже нет - Коннект мониторится периодическим пингом(встроен в MQTT) - держал панель постоянно включенной с работающим GUI несколько дней, а потом смотрел логи на брокере - один раз связь пропала аж на час - долго ломал голову, что произошло, пока не полазил по открытым программам на Андроиде. Оказалось, в мое отсутствие сын успешно играл на планшете, а потом включал GUI обратно, чтобы я не заметил :-)

 

Ну это прокол, простите.

Использовать MQTT и не получить сразу алярм об отключении дивайса.

Зачем вам тогда MQTT? И вопрос о брокере как-то скромно умалчиваете, он, что, не умеет отрабатывать завещания? Где он размещен?

 

Я тем временем тестирую сервисы IBM.

Вот пример панели накиданной минут за пять в сервисе IBm IoT Real-Time Insights в броузере.

post-2050-1451161900_thumb.png

 

Что интересно, показывает координаты дивайса даже когда он не посылает никаких своих координат.

Работа сервиса бесплатна.

 

 

Share this post


Link to post
Share on other sites
Ну это прокол, простите.

Использовать MQTT и не получить сразу алярм об отключении дивайса.

Зачем вам тогда MQTT? И вопрос о брокере как-то скромно умалчиваете, он, что, не умеет отрабатывать завещания? Где он размещен?

Ну у меня пока алармов никаких не настроено - я просто по логам брокера смотрел. Брокер самый обычный - Москитто на том же самом Распберри, что и Openhab.

 

Share this post


Link to post
Share on other sites
Ну у меня пока алармов никаких не настроено - я просто по логам брокера смотрел. Брокер самый обычный - Москитто на том же самом Распберри, что и Openhab.

 

Что-то я не понял, а кто у вас MQTT клиенты? На чем сделаны и как они соотносятся с вашими сенсорами?

Share this post


Link to post
Share on other sites
Что-то я не понял, а кто у вас MQTT клиенты? На чем сделаны и как они соотносятся с вашими сенсорами?

MQTT клиентами пока являются:

- Панели управления на Андроиде(через WiFi) и с GUI на Commaandfusion

- OpenHAB, локально.

 

OpenHAB в качестве MQTT клиента выполняет несколько независимых функций, которые в будущем можно разделить програмно и физически:

- Шлюз между Z-Wave, EnOcean и прочими и MQTT. То есть перевод сообщений из разных протоколов для умного дома в сообщения MQTT

- обработчик сценариев - т.е. брать сообщения из MQTT, выполнять сценарий и посылать команды опять же в виде сообщений MQTT

- шлюз - веб-интерфейс - MQTT

 

В будущем можно в качестве прямых клиентов MQTT добавить датчики и контроллеры на WiFi модуле ESP8266 - есть уже готовые прошивки для него

Share this post


Link to post
Share on other sites
MQTT клиентами пока являются:

- Панели управления на Андроиде(через WiFi) и с GUI на Commaandfusion

- OpenHAB, локально.

 

OpenHAB в качестве MQTT клиента выполняет несколько независимых функций, которые в будущем можно разделить програмно и физически:

- Шлюз между Z-Wave, EnOcean и прочими и MQTT. То есть перевод сообщений из разных протоколов для умного дома в сообщения MQTT

- обработчик сценариев - т.е. брать сообщения из MQTT, выполнять сценарий и посылать команды опять же в виде сообщений MQTT

- шлюз - веб-интерфейс - MQTT

 

В будущем можно в качестве прямых клиентов MQTT добавить датчики и контроллеры на WiFi модуле ESP8266 - есть уже готовые прошивки для него

 

Скачал и посмотрел в работе я этот OpenHAB.

Ну что. Это надо быть очень подвинутым на таких делах чтобы это использовать.

 

С моей точки зрения эта использовать невозможно.

Начиная с того что некий openHAB-Designer это всего лишь примитивный текстовый редактор и кончая тем что все! переменные системы описываются в едином плоском громадном текстовом файле.

Уже молчу, что отладкой правил там и не пахнет, а сами правила пишутся на примитивнейшем ограниченном скрипте.

 

Завещания от MQTT клиентов там просто некуда всунуть, ибо архитектура OpenHAB вообще не предполагает каких либо сбоев, проблем в системе и их диагностики.

OpenHAB просто тупо виснет в случае проблем.

 

 

Share this post


Link to post
Share on other sites
Скачал и посмотрел в работе я этот OpenHAB.

Ну что. Это надо быть очень подвинутым на таких делах чтобы это использовать.

 

С моей точки зрения эта использовать невозможно.

Начиная с того что некий openHAB-Designer это всего лишь примитивный текстовый редактор и кончая тем что все! переменные системы описываются в едином плоском громадном текстовом файле.

Уже молчу, что отладкой правил там и не пахнет, а сами правила пишутся на примитивнейшем ограниченном скрипте.

 

Завещания от MQTT клиентов там просто некуда всунуть, ибо архитектура OpenHAB вообще не предполагает каких либо сбоев, проблем в системе и их диагностики.

OpenHAB просто тупо виснет в случае проблем.

Это все известно, но тем не менее OpenHAB является одной из самых популярных опенсоурсных систем УД. Возможно это из-за всевозможных биндингов - т.е. возможности сопряжения практически с любым стандартным протоколом УД.

По поводу скриптов и отладки - да, там все запущено, но не хуже, чем у других аналогичных систем. Основной ихний принцип - чтобы правила мог писать каждый без знаний программирования. Это хорошо, но на более чем какой либо простой скриптовый язык без отладки opensourcные проекты в принципе не способны, так как там нужны солидные разработки и поддержка.

Поэтому в принципе я в будущем хочу уйти от OpenHAB как от сервера сценариев и оставить его только как мост MQTT <-> различные протоколы. А скрипты и правила будет выполнять другой MQTT клиент, возможно на другом железе, но с более продвинутыми возможностями программирования и отладки - т.е графическая среда программирования, отладка и мониторинг в реальном времени и прочее - типа как в PLC. Например Codesys. Это позволит развязать сценарии от железа и значительно упростить их написание, отладку и портабельность. И писать их тогда можно будет с минимальной подготовкой без знаний программирования на C или другом языке.

 

ПС. А че вы так уцепились в завещания? Что в них такого критического?

Share this post


Link to post
Share on other sites

Кстати, вот первая ласточка - панель на MQTT и андроиде висит уже вторую неделю на стенке в гостинной. По затратам на железо - 60$ за планшет + 10$ за USB зарядку и кабель(стоит в подрозетнике за планшетом). По затраченному времени - порядка 3 часа на рисование GUI и отладку.

post-25368-1462785900_thumb.jpg

 

Share this post


Link to post
Share on other sites
Управляет всякими девайсами через инет и USB, пишет логи на SD-карту. На этой же самой SD карте хранится операционка и конфигурация

 

За 6 кнопок и слайдер - 70 баксов?? Плюс постоянный заряд-разряд батареи. Однако...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this