Руководства, Инструкции, Бланки

Habmin инструкция img-1

Habmin инструкция

Рейтинг: 4.0/5.0 (1888 проголосовавших)

Категория: Инструкции

Описание

Domoticz - Wiren Board Community

system 2014-07-03 13:35:55 UTC #1

Когда в планах встроить Domoticz или подобную ей систему управления ?
На данном этапе устройство без возможности встраивания какой либо логики управления работает только как элемент приема и отправки данных. Я понимаю что можно все ручками написать прикрутить и т.д.
У устройства большой потенциал, но на данный момент приходиться пользоваться доп. устройствами для написания логики.

ags1 2014-07-22 23:16:44 UTC #2

Курю интернет:
Честно говоря, я всё больше разочаровываюсь в клиентском софте ninja blocks.
А вообще смотрим в сторону agoControl в качестве основной системы, к которой ninjablocks прикручен в качестве опционального frontend'а.
Поддерживать agocontrol мы в итоге не будем, вместо него будет Domoticz.

Поясните на что ориентироваться обычным смертным.

EvgenyBoger 2014-07-23 04:38:53 UTC #3

Поддержка Ninja Blocks есть и работает.

Что касается оффлайн-софта, то вначале будет Domoticz. Сроки пока сказать не могу, но скоро.

Sergey 2014-07-24 00:43:55 UTC #4

Если не секрет - в связи с чем вдруг решили перескочить с agoControl на Domoticz?

Просто я сейчас как раз выбираю систему для своего "умного дома", смотрел обе эти системы и не только, и могу сказать, что:
1) domoticz - начал с этой системы, порадовала скорость, количество фич, насторожила легкость, с которой можно угробить систему, но попытка добавить туда свой протокол и взгляд в сорцы вызвал просто ужас. Ощущение, что система заточена в первую очередь на работу с гейтом rfxcom, сбоку прикручен z-wave, документации на это практически нет.
2) agoControl - был следующим, заинтересовал тем, что вроде нативно держит mysensors, но может у меня руки кривые, но на raspberry оказался жутким тормозом, грузил систему почти на 100%, ну и в целом его система показалась сложной для понимания
3) openHab - разбираюсь сейчас, пока в основном положительные впечатления. Есть куча биндингов, в том числе для простого обмена по tcp или последовательному порту, интерфейс настраивается, единственный на данный момент минус (но в чем-то и плюс) - все настройки делаются через текстовые конфиги, поэтому относительно высокий порог вхождения. С другой стороны эти конфиги мне лично показались намного проще agoControl, и чем дальше - тем проще.

EvgenyBoger 2014-07-24 05:42:30 UTC #5

От agoControl (пока) отказались из-за низкой скорости и большого потребления памяти. Надо разбираться в чём дело и как можно это всё ускорить. Вообще не очень понятно, чему там так тормозить.

Domoticz - внутри ужасен, зато работает быстро. Наша система будет прикручена сбоку, так что глубоко в код лезть не придётся.

OpenHab не пробовали. Он у вас на слабом железе нормально работает?

Sergey 2014-07-24 07:00:41 UTC #6

OpenHab пока тестирую всего сутки, на raspberry. Сильно грузит систему во время старта, который продолжается около двух минут, но потом в процессе работы систему почти не грузит. Есть привязка MQTT, отлично работает в паре с mosquito. Web-интерфейсы - не тормозят, пробовал стандартный и greent, второй поприятнее кстати. Глючит обновление графиков, хотя возможно я просто не научился их "готовить". Но данные в базу явно пишутся вовремя. Есть развивающийся веб-интерфейс для настройки конфигов habmin в стадии беты, работает - как интерфейс в стадии беты Ну и есть приложения под iOS и Android, пробовал под Android - впечатления положительные.

Да, самого железа умного дома пока нет, все тестировал на виртуальных MQTT устройствах.

EvgenyBoger 2014-07-25 00:07:58 UTC #7

Посмотрите пожалуйста, если время будет, реальное потребление оперативной памяти (вывод "free -k" до запуска и когда всё загрузилось и работает). Может быть нам есть смысл попробовать.

Другие статьи

Просмотр темы

SmartLiving.ru

Не покупайте это устройство. Очень плохое качество. Отчёт смотрите ниже.


Новый модуль, который уже начали использовать в WiFi управлении в устройствах в Гон-Конге и Шенджене.
Что это такое не разбирался, но похоже более функциональный аналог ESP8266.

TI CC3200 Chip:TI chips;
Ядро ARM Cortex-M4;
Рабочая частота 80 MHZ

Ultra-low power:
Рабочий режим. Min 3.5mA;
Глубокий сон. Min 25uA

Open SDK:
Можно использовать TI SDK и "USR" SDK
C322 SDK будет доступен в Мае 2015;

Размер: 18.22*26.65*2.8(мм)
High-speed UART:Max baud rate of 3M bps
Simplelink:доступ к WiFi по одному ключу.

Последний раз редактировалось ignat99 Вт янв 26, 2016 1:57 pm, всего редактировалось 1 раз.

Вот исходники программы для Андроид. Если у вас по прежнему вопросы, то вам надо заказать работу программисту.

Суть моего поста была в том, что исходя из утилит (которые можно загрузить по ссылке) есть возможность менять прошивку интерфейса. На сколько я понял там есть программа LonHandsupport.exe под Виндоус (у меня МАК и Линукс) с помощью которой вы можите загрузить как готовую прошивку так изменённый дизайн для интерфейса (подправить ресурсы).

То что требуется от вас (или нанятого специалиста) это внимательно прочитать документацию и выполнить последовательность действий необходимых для смены прошивки устройства (частичной - только ресурсы или полной - замена функций и кода).

По ссылке выше вы видите код для Андроид и в нём команды, которые можно послать в ваше устройство после базовой авторизации (по паролю) через TCP сокет.

Последний раз редактировалось ignat99 Вт янв 26, 2016 1:59 pm, всего редактировалось 1 раз.


Зарегистрирован: Вт янв 26, 2016 12:52 pm
Сообщения: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Здравствуйте. Краткий опыт использования данного железа в архитектуре Lonhand http://usriot.com/Product/cat-69.html
в целом закончился скорее неудачно
Я использовал разные модели их "железок":
- USR-WM1 (одна кнопочка и одна релюшка).
- USR-WIFIIO-83 ( 8 релюшек - 3 бинарных контакта)
- USR-HTW - датчик влажности/температуры с дисплеем
- USR-WP3 - умная розетка на 3-канала
Потратил почти $500. (далее напишу - что в течение 1 года - все это превратилось в металлолом)

Основные проблемы:
1) Изделия в целом недоделаны - в USR-WM1 нет блока питания. 12в блок питания стоит у нас дороже 5в - почти 400 руб, что в целом снижает экономию
2) Датчик влажности USR-HTW - тоже без питания, При декларированной работе от 5в "глючит" на связи и перезагружается. Опять затраты на БП
3) Умная розетка USR-WP3 - пришла с китайским штепселем - пришлось отрезать и лепить евро-вилку. При описанных 16А - лучше не перегружать - когда запускал от нее насос ( 1КВТ) - чуть не сгорела - дорожки поплавились, пластик вспыхнул и начался пожар (хорошо был рядом)
4) По USR-WIFIIO-83 особых замечаний нет - но и не очень часто использовал.

Однако к сожалению, все портит низкое качество софта. Оно "никакое". Дизайн убогий, версии не обновляется. Я бы сказал что это глубокая альфа с нулевыми гарантиями.
Особый кайф - что все устройства и софт лезут на www.zhangkongbao.com для "облачной" маршрутизации. Но скорость этого ресурса крайне низкая - в начале 2015 года ping был 20-50 ms, сегодня - не менее 500 ms, после чего софт дуреет и отваливается по тайм-ауту. Некоторые железки (USR-HTW) вообще не понимают такой скорости - и будут висеть днями - пока их не выдернуть/вкл в розетку. Что портит всю идею "теле-" управления.

Видимо - разработчик выпустил много изделий и хост "лег", а расширять его он не планирует. Моя переписка с их саппортом ни к чему не привела - китайские товарищи считают что ping в 500-700ms "это нормально".
Исходные тексты серверной части не даются - следовательно вы просто вынуждены это терпеть. Перенести на какой-то скоростной ресурс или public - не хотят.
Есть программа lonhand-mini - она умеет обращаться к устройствам в локальной сети, но понятно - ни о каком дистанционном управлении речь не идет - без "облака". Исходные тексты для Windows неполные - есть закрытые DLL-ки. То же самое для Ios и Android
Открытого ресурса для firmware нет - откатиться на новые или старые прошивки (которые работали устойчивее) вы не сможете. Китайцы, на мой взгляд, вообще не знают что такое брак - считают любое дерьмо - достойным продуктом (или может лукавят). И все отговорки "у тебя слишком завышенные требования, все остальные работают и не жалуются".

В итоге - на 2016 год - компания сняла с производства ряд изделий (кризис в Китае тоже есть, и доллар значительно укрепился не только в России - но и в Канаде - что делает покупку этого железа дорогим) - в том числе USR-WP3, USR-HTW. У меня их 5 штук - соответственно - все эти инвестиции превратились в ноль. И немалый шанс - что другое железо тоже будет снято с поддержки. Это я про вышеописанные "5 лет гарантии". Может я их оживлю, но придется разбираться с прошивками и на 100% переписывать софт - на что нет пока времени.

В общем - опять вывод - не берите железо, на которое нет открытого, написанного в европейской культуре, софта. Получите груду безжизненного железа. И достаточно быстро - не пройдет и года..


Зарегистрирован: Сб дек 21, 2013 9:21 pm
Сообщения: 210
Откуда: Spain
Благодарил (а): 1 раз.
Поблагодарили: 21 раз.

Спасибо за ваш полный отчёт. Как компенсацию (ведь подстрекатель был я) могу предложить только несколько беспроводных модулей (которые работают от батарейки и/или блока питания) или адаптеров или сенсоров от европейского производителя из Болгарии - Olimex (всё оборудование поддерживается популярными Arduino/OpenHUB/Olimex софтварными фреймворками и Arduino IDE и множеством других OpenSource проектами, предоставляется полная проектная документация на железо, включая принципиальные электрические схемы и топологии печатных плат). К ним можно подключить ваши розетки или датчики температуры/влажности от ваших китайских устройств. Вы можете забрать их лично по адресу Испания, Мурсия, ЛаМанга. http://homedevice.pro/

Так же Olimex в этом разделе https://www.olimex.com/Products/IoT/ планирует выпустить новые модели которые легко влезут в розетки и выключатели. Они появятся в магазине примерно через 1 месяц. В них встроен блок питания, поэтому проблем с питанием не будет. Поэтому они решают проблему дизайна в помещении при установке довольно габаритных блоков предыдущего поколения от Olimex (не влезали в подрозетники вместе с блоком питания).


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

P.S: Это единовременная акция только для этого конкретного случая сsdobridnuk . По всем остальным случаям проблем с китайскими устройствами обращайтесь к производителю либо специалистам, кто возьмётся исправить огрехи китайского софта на коммерческой основе. К сожалению, я не смогу помочь с этой проблемой (из за отсутствия времени и желания).

Сервер для Мегадевайса (Платформа домашней автоматизации

(Умный Дом своими руками)

Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/ioBroker; Мажордомо; openHAB и пр.)

Дисклаймер: у меня мало опыта использования Мегодевайсом, мало опыта работы в Linux, много вкусовщины.

Я в процессе постройки дома. Автоматизацию решил делать на Мегадевайсах (это будут руки).
Планирую автоматизацию:
управление освещением (базовое) включил/выключил - замена проходным выключателям, плюс web-интерфейс
включение/выключение вытяжных вентиляторов
управление роллетами
элетро щеколдой
включение/выключение электро полотенце сушителей
управление освещением (продвинутое: датчики движения; датчики освещенности; отключить всё)
датчики залития, дыма/пожара, газа, отключение воды (насоса)
ик-управление техникой (ТВ; кондиционеры)
отопление - включить/выключить
ip-домофон
видео наблюдение
ворота - открыл\закрыл

Хочу выбрать ПО которое будет работать мозгами домашней автоматизации.
У меня еще месяца три есть. Планирую посмотреть/попробовать несколько решений.
Фака по сравнению ПО не нашел(если есть, то пожалуйста подскажите). Может эта тема разростется и сможет потом людям помочь в выборе.
Первым этапом хочу составить список ПО. Вторым сделать набор ссылок на офф ресурсы, на наш форум по опыту использования ну и на стороние ресурсы с "полезностями". Третьим шагом попытаюсь сравнить ,может табличку-сравнение ПО смогу сделать.
Условия для себя сформулировал следующие:
1) ПО должно поддерживать Мегадевайс. (Практика интересна в первую очередь).
2) Решение должно быть открытым/бесплатным. (Это не просто жажда халявы, это суровое понимание что автоматизация дома будет жить и развиваться на выбраных инструментах лет 10 - 20 и покупать/внедрять/осваивать каждый раз когда контора схлопнется - недопустимо).
3) ПО должно уметь работать с другими устройсвами автоматизации (1-wire, Z-wave, всяческие RF и wi-fi поделки).
4) Дополнительные хотелки (не обязательная вкусовщина). Кросс-платформенность (windows/linux; x86/arm), простота настройки, активное сообщество, приложение для Android, интеграция с KODI (управление через ТВ; управление KODI), голосовое управление.
Сейчас сформулировал список ПО следующим образом.
1) Демо-интерфейса Умного Дома. http://www.ab-log.ru/smart-house/linux/demo-src
Кажется есть еще упрощенный вариант или усложненный.
и облачная служба megad.cloud viewtopic.php?f=1&t=750
2) ioBroker http://www.iobroker.net/?page_id=267&lang=ru
3) Мажордомо http://majordomo.smartliving.ru/
4) openHAB http://www.openhab.org/

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

Спойлеры на форуме не смог научиться делать. Поэтому будут простыни и зарезервированные посты.

Последний раз редактировалось OlegJktu84 14 авг 2016, 22:28, всего редактировалось 7 раз.

Подробно в статье Андрея: http://www.ab-log.ru/smart-house/ethernet/megad-328
"Megad.ru - сервис удаленного контроля и управления
Для всех владельцев устройств MegaD-328 организован бесплатный сервер, который позволяет для начинающих (и не только) пользователей осуществлять контроль состояния портов, а также управление.
Данный сервис позволяет:

- Облегчить новичкам вхождение в область домашней автоматизации.
- При отсутствии дома Web-сервера с реальным IP-адресом, иметь возможность управлять чем-то на даче или дома. Ну, например, поливом. В этом случае моментальной реакции на включение/выключение выходов не требуется.
- Иметь доступ через Интернет, а не только по локальной сети, к информации о состоянии всех портов устройства (особенно входов), датчиков.

Кроме сервиса megad.ru, существует большое количество ПО, которое можно установить на локальном сервере для управления устройствами MegaD-328

Демо-интерфейс - база данных, CMS (система управления), Web-интерфейс и набор скриптов, которые можно использовать для построения собственной системы (требуются навыки Web-программирования)
MegaD Panel - простейшая программа, написанная на PHP, позволяющая без лишних сложностей сразу обеспечить управление устройством через Web/Интернет и процесс знакомства с принципами работы устройства."

Последний раз редактировалось OlegJktu84 15 авг 2016, 21:07, всего редактировалось 4 раза.

Мажордомо
Оф ресурсы http://majordomo.smartliving.ru/
Обсуждение на ab-log viewtopic.php?f=1&t=72
С мая 2015 доступен модуль для простой интеграции с устройствами MegaD viewtopic.php?f=1&t=72&start=120#p17793
Статья на Гиктаймс https://geektimes.ru/company/smartliving/blog/267080/
Тема по MegaD http://majordomo.smartliving.ru/forum/v. =14&t=1832 (+первый способ интеграции от Bagir)
Тема по Модулю дополнений в маркете http://majordomo.smartliving.ru/forum/v. f=5&t=2263 (это второй способ интеграции от автора Мажордомо sergejey)
Инструкция по привязке MegaD http://majordomo.smartliving.ru/Main/module_megad
Работа с железной кнопкой Kod.Begemot http://majordomo.smartliving.ru/forum/v. &start=200
Полезности
Папка _majordomo для установки внахлест https://yadi.sk/d/bQpeJ1IvuKNUe Преднастроенно на дефолтную, релейную Мегад.
Виртуальная машина Win7 с преднастроенными Openhab. Мажордомо. https://yadi.sk/d/ilDvUrB-uKPjx Автозапуск не ставил. Преднастроенно на дефолтную, релейную Мегад.
Одновременно запускать Openhab и Мажордомо можно, но похоже или на восстание машин или на битву искусственных интелектов. Видно где-то противоречащие настройки.

Последний раз редактировалось OlegJktu84 31 авг 2016, 12:31, всего редактировалось 9 раз.

Вот-вот будет OpenHub 2. Уровень совместимости мне не ясен. Но пока 08.16 никто на форуме не признался что использует OpenHub 2 "в боевую".
Есть возможность прикрутить "облако" доступ к управлению из Интернета.


Преднастроенно на дефолтную релейную Мегу
1 вариант Папка с openhab (112 МБ)
Ссылка https://yadi.sk/d/COpwu2nWuBRth (предварительно установите Java, распакуйте и запускайте).

2 вариант Виртуальная машина viewtopic.php?f=1&t=1207&start=20#p22543 Логин IEUser пароль Passw0rd!
Осторожно образ - 6 гигов на yandex диске, скачивать лучше присоединяя к своему yandex диску и далее качать клиентом,
никто не мешает создать для этого отдельный профиль в yandex (от привязки телефона можно отказаться).
Если пользуетесь моим образом, то возможно нужно перезапустить триальный период Windows, инструкция на обоях рабочего стола виртуалки.
Ссылка для скачивания https://yadi.sk/d/r046Gk3Au8TLo

Мнения пользователей:
Цитата создателя binding для Меги Petros

Petros писал(а): Да, Oenhab у меня дома, на домашнем сервере. У меня Gigabyte типа такого http://ru.gigabyte.com/products/product-page.aspx?pid=4581#ov. Выбирал попринципу сложность настройки - сложность использования. При первом подходе всё было на столько запущено, что пришлось написать свою реализацию сервера для 1wire и megadevice потом решил, что изобретать велосипеды нет никакого смысла и начал искать и пробовать. Не только сам, но и семьей. Семья решила - OpenHab ))) Кроме того, у меня на этом же сервере крутится Zoneminder, который показывает картинки в Openhab. Есть уведомления на почту и пуши в мобильные приложения. Удобно одним словом. Хочу попробовать научить его отправлять смс через свистки-модемы. Будет отличная охранная сигнализация

Виктор Белов openHAB UG писал(а). комментарий с хабра.
Во первых в openHAB поддерживается уже больше 90 различных протоколов
Во вторых про Eclipse SmarHome и openHAB — ESH это по сути ядро openHAB, которое начиная с версии 2.0 мы вынесли в отдельный проект. Сделано это было для того, чтобы во первых сделать правила добавления кода в ядро более жесткими и повысить его стабильность, во вторых, чтобы защитить его от возможных проблем с © — в этом нам помогает Eclipse Foundation, в третьих для того, чтобы этим ядром могли пользоваться другие проекты. А openHAB 2.0 перебазировали на ядро ESH.
В третьих — любой пессимизм на тему использования Java в embedded системах это напрасный трёп. Если не пользоваться open source JVM'ами а использовать специально предназначенные для этого решения, в том числе такие как ProSyst, то никаких проблем нет. Oracle JVM отлично работает на Raspberry PI и на нём бегает openHAB у не одной сотни пользователей.
В четвертых — любой пессимизм на тему использования Java в IoT, SmartHome и тому подобных решениях это тоже пустой трёп людей, как правило никогда этого не делавших. Она ничуть не хуже для этого черм Python, Node.js и тонна других платформ.
Ну и еще попромоучу немножно бесплатный сервис который работает сейчас в тестовом режиме для openHAB — my.openhab.org/ — позволяет подключаться через Интернет удалённо к своей системе без пробивания дырок в домашнем рутере/fw и поддерживает push notifications для наших Android и iOS приложений.
С уважением,
Виктор Белов
openHAB UG

Последний раз редактировалось OlegJktu84 13 сен 2016, 18:16, всего редактировалось 32 раза.

NooLite MT1132 - подключаем

Подключать МТ1132 мы будем не к Ардуино, а к Raspberry Pi, с установленным на ней OpenHab .

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

Ранее мы к Малине ничего не подключали, сохраняя верность тому, что умный дом — это сообщество умных элементов, а не один мозг и сотня слуг. И продолжаю считать такую мысль верной.

Однако для управления освещением можно сделать исключение, и вот почему: каждый силовой блок nooLite просто обязан управляться собственным пультом. Использовать модуль есть смысл лишь тогда, когда требуется автоматическая отработка сценариев реакции дома на какие-либо события.

Я знаю таких событий три:

  • я пришел домой (частный случай — приехал на дачу);
  • я перемещаюсь ночью по дому;
  • я ушел из дома.

Отдельное событие — включить что-то по расписанию. Но что? Подсветку на Новый Год ровно в 12 ночи. А что еще? Если мы говорим об управлении отоплением, то здесь часто бывают необходимы режимы по расписанию: снижать температуру в ночное время, во время отсутствия в рабочие дни, но nooLite пока «не заточен» под такие решения, потому что здесь идет комбинация управления по температуре и по времени.

Хорошо, начнем с электрического соединения. Малина и nooLite MT1132. Они дружат так:

К этому моменту у нас уже установлены:

Для ардуинщика с определенным опытом две предыдущие строки выглядят кошмаром. Тем не менее, выбор делать придется. Или вы, для реализации усложняющихся проектов, начинаете учить ассемблер, чтобы ужимать и ускорять код, или вы берете платформу, не связанную с ограничением по памяти и более быструю.

Часть из вас придет к Малине и, пользуясь тучей инструкций в Интернете, попотев пару вечеров или недель, установит то, что указано выше. К тем инструкциям, добавлю и свою. Полагаю, ее следует изучить перед движением в сторону nooLite.

Ок. Если вы еще продолжаете чтение, значит указанное выше для вас не стало проблемой.

Сделаем несколько приготовлений для использования UART. Убедимся, что:

в файле /boot/cmdline.txt отсутствуют строки строки “console=ttyAMA0,115200” и “kgdboc=ttyAMA0,115200” .

в файле /etc/inittab находится символ # перед последней строкой T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 .

Теперь оттянем хвост Питону. Вы не знаете кто это? Это язык программирования Python, который присутствует в Малине, но почти не встречается рядом с Ардуино. Вы его не знаете? Я тоже. Но сейчас расскажу кратко: управляющие конструкции там почти такие же как в С++, а остальное… копипастим. Для наших целей знать достаточно.

Выполним команду из терминала:

в результате чего зверь Питон научится работать с UART.

А теперь в директории / home/pi/ создадим файл noolite.py. Суть его логики была раскрыта в прошлой заметке .

Проверим, что у нас получилось. Исполним команду:

Ау, вы куда смотрели? Надо было смотреть на модуль MT1132 — на нем должен был мигнуть красный диод! И, значит,у нас уже кое-что получилось.

Пора присоединять к MT1132 силовой блок. Делаем это так:

  • включаем силовой блок SU111-300 в сеть согласно инструкции;
  • нажимаем этот блок, чтобы зеленый огонек начал мигать;
  • выполняем команду в терминале

где 0 — номер канала, любой из диапазона 0 — 31, а 15 — команда силовому блоку на привязку.

  • силовой блок должен отреагировать вспышкой и учащенным миганием;
  • нажимаем на силовой блок еще пару раз, и он оказывается привязанным к MT132.

А теперь поиграем в освещение, отправляя на силовой блок в терминале такие команды как:

и понаблюдаем за реакцией. Однако, отправка команды, например, 75 (зажечь свет наполовину) — ничего не даст! Все потому, что вы не разрезали и не заизолировали на SU111-200 один проводок. Сделайте это по инструкции, и управление яркостью будет Вам доступно.

В итоге, вы должны повторить то, что показано на этом видео .

Habmin инструкция

OpenHabOne ИгорьК Победитель модулей

№0. Почему именно это и именно так.
Раньше мной разрабатывалась тема с Arduino Yun: http://forum.amperka.ru/threads/arduino-yu?n-азы-Основы-построения-монитора-умного-дома.3562/ а также напрямую связанная с нейhttp://forum.amperka.ru/threads/arduino-yu?n-Народный-мониторинг-управление-отоплением-в-загородном-доме-через-Интернет.4098/
На момент их создания, ИМХО, это было отличное мобильное решение, поскольку Yun совмещала в себе возможности входа в Интернет по WiFi и в Линкус части мало чем отличалась от Raspbrry Pi.
Знаю, что на основе этой темы разными людьми созданы практические решения, что очень приятно.

Однако идет время и появляются новые железки.
Их две: ESP8266 - дешевое решение, которое может самостоятельно выходить в интернет и дрыгать ногами, а также Raspberry Pi 2 - вещица, которую уже нельзя назвать недокомпютером, а цена у нее вполне приемлемая.

Кроме того, тема на Yun выявила еще несколько задач, а именно:
- "изготовление" удобного интерфейса и организации взаимодействия с ним. Конечно, его можно рисовать самостоятельно, пополняя знания Jquery, php, mysql, но лучше иметь готовое гибкое решение, которое позволит быстро добавлять разные устройства и программировать алгоритмы их автоматизации;
- преодоление "серого" ip-адреса места автоматизации: что толку иметь интерфейс, если до него нельзя достучаться извне?
В общем, все сказанное требовало осмысления ситуации и поиска другого решения. Полагаю, его можно сделать таким, как здесь описано.

Какие компоненты решил задействовать:
- Arduino разных мастей - куда ж без нее
- Raspberry Pi 2. Вообще, программное обеспечение, указанное ниже, устанавливается и на Малину предыдущего поколения и работает вполне сносно. Я пробовал. (Для старых малинников - прочитать здесь .)
Вот только его перезапуск при внесении изменений и настройке занимает СТОЛЬКО ВРЕМЕНИ, что не каждый гик сможет такое выдержать.
Итак, новая Малина, безусловно, не требуется. Более того, на видео работает именно Малинка В, даже не плюс. Но как она достаааалааааа. А вот Малина 2 (тоже есть у меня) вполне годна для быстрого внесения изменений и проведения опытов.

- на нее устанавливается два приложения: openhab и mosquitt0 .
- как первый элемент системы, запрограммировал ESP8266 на управление нагрузкой как от кнопки, так и через интернет, о чем свидетельствует видео.?

- как следующий элемент, запрограммировал другой ESP8266 на передачу сведений температуры .
А ведь по сути, большая часть домашней автоматизации заключается в чтении датчиков да включении чего либо.
Далее, пошагово, расскажу как это сделать.
=============

Вот по этой сылке http://habrahabr.ru/post/227435/ автор продвигает свою разработку интерфейса управления умным домом. Там же рассматриваются конкурирующие системы. Относительно недостатков Openhab сказано: рудиментарный интерфейс.
На мой взгляд, это одно из достоинств, поскольку управляем мы обычно со смартфона, а не с десктопа. Это там можно все расцвечивать как задницу попугая. На смарте же важны компактность, быстрота и мало байт из интернета в роуминге.
. а других недостатков то и не выявлено.

Последнее редактирование: 3 июл 2015

ИгорьК Победитель модулей

№1. Заряжаем Малину.
(уверен, вы хорошо знаете что такое WinSCP и PuTTy )
1.1
. Устанавливаем на Малину стандартный Дебиан. Понятно, что отсюда:https://www.raspberrypi.org/downloads/. Дистрибутив называется Debian Wheezy. О том как это делается существует туча инструкций. Повторять их нет смысла.
1.2. Устанавливаем на Малину Mosquitto. Лучший способ установки описан по этому адресу:http://mosquitto.org/2013/01/mosquitto-debian-repository/. Или здесь:https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=97422 Проверяем, что установилась последняя версия - 1.4.2.
1.3 Устанавливаем Openhab. Инструкция: http://www.instructables.com/id/OpenHAB-on-Raspberry-Pi/
Для тех кто не читал заметок http://forum.amperka.ru/threads/arduino-yu?n-азы-Основы-построения-монитора-умного-дома.3562/ и не знает что такое WinSCP - действовать по инструкции, но установленная версия будет 1.5.2. Те кто читал - увидят в комментариях и поймут способ установки последней версии - 1.6.2.
. или самой последней https://openhab.ci.cloudbees.com/job/openHAB/

Дополнительно замечу, что в части второй инструкции есть ошибочки. Чтобы запускать Openhab демоном, нужно следовать инструкции по адресу https://github.com/openhab/openhab/. igure-openhab-to-start-automatically-on-linux
Но там есть две особенности.
1. Когда создаете файл openhab и копируете туда код, ОЧЕНЬ ВАЖНО. чтобы первые строки в тексте были БЕЗ ПРОБЕЛОВ от начала и после #. вот так:

#! /bin/sh
###BEGIN INIT INFO
#Provides: openhab
#Required-Start: $remote_fs $syslog
#Required-Stop: $remote_fs $syslog
#Default-Start: 2 3 4 5
#Default-Stop: 0 1 6
#Short-Description: OpenHAB Daemon
###END INIT INFO

# Author: Thomas Brettinger

А вставятся они не правильно :

#! /bin/sh
### BEGIN INIT INFO
# Provides: openhab
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: OpenHAB Daemon
### END INIT INFO

# Author: Thomas Brettinger

2. В этом коде надо заменить строку RUN_AS=ben на строку RUN_AS=pi

Далее всегда для остановки, запуcка, перезапуска OpnHab пользуемся следующими командами:

service opehab start
service opehab stop
service opehab restart

ИгорьК Победитель модулей

№3. Что мы наустанавливали?
Разберемся кратко в чем суть наших действий.

3.1. Mosquitto представляет собой маленький сервер (называется - брокер) стандарта MQTT. Его задача -постоянно держать соединение с клиентами (подписчиками) и сообщать им о всех данных, переданных другими клиентами. Подписчики получают не все, а лишь то что им надо (на что они подписаны).
Прелесть этого действа заключается еще в том, что достаточно одного компьютера, имеющего постоянный или переменный ip-адрес в интернете. Протокол позволяет устройствам, находящимся в серой зоне файрволов провайдеров, иметь постоянную связь с брокером. Уже одно это - необычайная ценность.
Более подробно можно прочитать по адресу: http://www.hivemq.com/how-to-get-started-with-mqtt/

3.2. Openhab - интегрированное решение управления домом. Неплохо на эту тему изложено здесь:http://habrahabr.ru/post/232969/ Неплохо, но как-то длинно.

Коротко. Openhab представляет собой комбинацию следующих элементов:

- итемы (items) - всякие оконечные устройства, описываемые предварительно, до того, как их можно будет задействовать в самой программе. То есть, у вас есть датчик - его надо сначала описать как очередной итем.
- сайтмэп (sitemaps) - способ группировки устройств (итемов) для их отражения на странице.
- биндинг (binding) - способ взаимодействия программы с конкретным физическим устройством. Биндинг есть, в итоге, программная связь итема и той настоящей железяки, которая связана с итемом.
- правила (rules ) - программирование поведения итемов. То есть, если вас железки только исполнители и не имеют своей внутренней логики - можно ее добавить. А можно и не добавлять.
- персистенсы (persistence) - описание взаимодействия программы с разныи базами данных.
Для начала работы вполне хватит понимания трех первых элементов.

Все эти элементы описываются в отдельных файлах, которые находятся в папке /opt/openhab/configurations/название папки и имеют соответствующее расширение.

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

Последнее редактирование: 7 июл 2015

ИгорьК Победитель модулей

R№4. Заcтавим Openhab взаимодействовать с Mosquitto.
Для этого.
4.1. Откроем файл /opt/openhab/configurations/openhab.cfg и внесем в него следующие изменения:

mqtt:mosquitto.url=tcp:// localhost: 1883

Что значит вышеуказанное:
Вы определяете название и адрес mqtt брокера, а в последних четырех строках, затем, указываете:
- что mosquitto подключен к eventbus;
- каким образом публиковать команду на изменение состояния итема (/myhome/in/$/command)
- каким образом публиковать извещение о состоянии итема (/myhome/state/$/state)
- как вы подписаны на получение информации об изменениях каждой железяки (/myhome/out/$/state).

Прелесть всего вышеописанного заключается в операнде $ - каждое существующее и каждое вновь добавленное устройство будет взаимодействовать с внешним миром по этому шаблону: место $ будет подставляться название устройства.

Недостаток - блокируется протокол ntp по которому идет получение точного времени.
UPD. Возможно, эта проблема уже устранена.
Поэтому, если Вы планируете осуществлять управление исключительно по протоколу mqtt - оставляем так. Если же ожидается управление и по другим протоколам - оставляем лишь одну строкуmqtt:mosquitto.url=tcp://localhost:1883 и все. Далее я работаю с одной строкой, остальные приведены для информации, что можно и так!

4.2. Выполним команду перезапуска Openhab :

service openhab restart

(Если у нас не Малина 2 - офигеваем от времени перезагрузки)
4.3. Через PuTTy выполним команду :

mosquitto_sub -d -t /myhome/#

Этой командой мы стали подписчиком Mosquitt0 и будем получать сообщения на тему "/myhome", а именно эту тему будет эксплуатировать Openhab.
4.4. Нажимаем на любые кнопки переключения демонстрационной версии Openhab и в терминале должны идти сообщения типа:

Если этого не происходит - останавливаемся и ищем ошибки.

Последнее редактирование: 2 сен 2015

Что мы там вставили в окно из буфера обмена? вот это:

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

5.2. Программируем ESP8266.
К модулю подключен датчик DS18B20. Поэтому пользуемся соответствующей библиотекой, исправленной для отрицательной температуры и, затем, откомпилированной на вашей плате. Если у вас нет - приложу библиотеку.
А также заливаем в плату следующий код, обозвав его thermoHab.lua:

m = mqtt. Client ( "ESPThero02". 180. "pi". "pi" )
--m:lwt("/lwt", "ESPSwitch00221", 0, 0)
m. on ( "offline". function ( con )
print ( "reconnecting. " )
print ( node. heap ( ) )
tmr. alarm ( 1. 10000. 0. function ( )
m. connect ( "ВАШ.АДРЕС.RU". 1883. 0 )
-- m:connect('192.168.1.38', 1883, 0)
collectgarbage ( )
end )
end )

tmr. alarm ( 1. 30000. 1. function ( )
if wifi. sta. status ( ) == 5 then
ds18b20 = require ( 'ds18b20' )
ds18b20. setup ( 4 )
addres = < >
addres = ds18b20. addrs ( )
local t = ds18b20. read ( addres [ 1 ] )
m. publish ( "/myhome/out/temperature001/state". t. 0. 0 )
print ( "Temp ". t. " published!" )
ds18b20 = nil
package. loaded [ "ds18b20" ] = nil
collectgarbage ( )
print ( node. heap ( ) )
end
end )
tmr. alarm ( 0. 1000. 1. function ( )
if wifi. sta. status ( ) == 5 then
tmr. stop ( 0 )
m. connect ( "ВАШ.АДРЕС.RU". 1883. 0. function ( conn )
-- m:connect('192.168.1.38', 1883, 0, function(conn)
print ( "connected" )
end )
end
end )

A также init.lua

5.3. А теперь, для тренировки и пользы для, программируем ESP8266 для передачи нескольких данных.

tormoz = 0
print "Connecting to MQTT broker. Please wait. "
m = mqtt. Client ( ESP8266. 120. user. pass )
m. connect ( "www.site.ru ". 1883. 0. function ( conn )
print ( "Got MQTT now!" )
end )

function send_data01 ( )
-- print("Send_01")
print ( "Tormoz = ". tormoz )
if tormoz == 0 then
tormoz = 1
local ds18b20 = require ( 'ds18b20' )
ds18b20. setup ( 4 )
local addres = < >
addres = ds18b20. addrs ( )
local t = ds18b20. read ( addres [ 1 ] )
if t

function send_data02 ( )
-- print("Send_02")
print ( "Tormoz = ". tormoz )
if tormoz == 0 then
tormoz = 1
m. publish ( "/myhome/out/temperature002/heap". node. heap ( ). 0. 0. function ( conn )
print ( "Heap published!" )
tormoz = 0
end )
collectgarbage ( )
end
end

function run_prog ( )
print ( "Run program" )
tmr. alarm ( 2. 20000. 1. send_data01 )
tmr. alarm ( 3. 25000. 1. send_data02 )
end
run_prog ( )

6. Изготовим выключатель.
Вот еще кино для затравки:

6.1. Создадим итем.
Естественно, редактируем файл demo.item:

Switch lamp1 "Моя лампа" < mqtt = ">[mosquitto:/myhome/lamp01/command:command:on:ON],>[mosquitto:/myhome/lamp01/command:command:off:OFF],<[mosquitto:/myhome/lamp01/state:state:default]" >

Затем, с помощью Habmin, вытаскиваем его на свет Божий.
Ну, или с помощью редактирования файла demo.sitemap :

6.2. И заливаем такую программку :

gpio. mode ( 4. gpio. INPUT. gpio. PULLUP ) -- Здесь конопочка
gpio. mode ( 3. gpio. OUTPUT ) -- А здесь релюшечка
gpio. write ( 3. gpio. LOW )
m = mqtt. Client ( "ESPSwitch". 180. "user". "password" )
m. lwt ( "/lwt". "ESPSwitch". 0. 0 )
m. on ( "offline". function ( con )
print ( "reconnecting. " )
print ( node. heap ( ) )
tmr. alarm ( 1. 10000. 0. function ( )
m. connect ( "www.server.ru ". 1883. 0 )
-- m:connect('192.168.1.38', 1883, 0)
collectgarbage ( )
end )
end )
gpio. trig ( 4. "down". function ( level )
print ( node. heap ( ) )
local PinValue = gpio. read ( 3 )
if ( PinValue == 1 ) then
gpio. write ( 3. 0 )
m. publish ( "/myhome/lamp01/state". "ON". 0. 0 )
else
gpio. write ( 3. 1 )
--print("Light was off, turn on")
m. publish ( "/myhome/lamp01/state". "OFF". 0. 0 )
end
end )
m. on ( "message". function ( conn. topic. data )
print ( "Recieved:". topic. ":". data )
if ( data == "ON" ) then
print ( "Enabling LED" )
gpio. write ( 3. gpio. LOW )
m. publish ( "/myhome/lamp01/state". "ON". 0. 0 )
elseif ( data == "OFF" ) then
print ( "Disabling LED" )
gpio. write ( 3. gpio. HIGH )
m. publish ( "/myhome/lamp01/state". "OFF". 0. 0 )
else
print ( "Invalid - Ignoring" )
end
collectgarbage ( )
end )

А теперь? Теперь жмем кнопочку и наблюдаем картинку из первого поста.

Последнее редактирование: 20 май 2015

ИгорьК Победитель модулей

А теперь о грустном. В рамках проекта модулями ESP8266 данные от температурных датчиков передаются двумя способами: GET запросами и по протоколу MQTT.
К сожалению, последний протокол иногда выдает странные результаты. Где проблема - в реализации протокола на ESP8266 или в приемной части Openhab пока не выяснил. Склоняюсь к проблеме ESP. Пожалуйста, прошу учитывать данное обстоятельство:

Как видно, дома происходят иногда странные выбросы: температуры 15 градусов и тем более -5 у меня дома не было. Это передавалось по протоколу MQTT с модуля ESP8266. Другой график - данные переданные GET запросом в mysql базу Arduino Yun, а оттуда - php => bash скриптом в Openhab.
Потихонечку буду разбираться. О результатах напишу.
UPD. Возможно рано поднял панику: не проверил исправность датчика и хорошее ли на нем питание.
UPD2. Дело было как в датчике, так и питании. Все нормально работает Без паники!

Последнее редактирование: 27 май 2015

ИгорьК Победитель модулей

7. Дистанционное управление отоплением - разве можно упустить такой популярный вопрос?
7.1.
Берем ESP8266, к третьей ноге цепляем реле, к четвертой - DS18b20.
7.2. Льем код:

-- Working
gpio. mode ( 3. gpio. OUTPUT ) -- Здесь реле
gpio. write ( 3. gpio. LOW ) -- Ногу вниз - реле включить
tGet = 21
tormoz = 0
m = mqtt. Client ( "ESPSKOTEL". 180. "kotel". "kotel" )
--m:lwt("/lwt", "ESPSKOTEL", 0, 0)
m. on ( "offline". function ( con )
print ( "reconnecting. " )
print ( node. heap ( ) )
tmr. alarm ( 1. 10000. 0. function ( )
m. connect ( "www.site.ru ". 1883. 0 )
-- m:connect('192.168.1.38', 1883, 0)
collectgarbage ( )
end )
end )

tmr. alarm ( 1. 60000. 1. function ( )
ds18b20 = require ( 'ds18b20' )
ds18b20. setup ( 4 ) -- На этой ноге DS18b20
addres = < >
addres = ds18b20. addrs ( )
local t = ds18b20. read ( addres [ 1 ] )
ds18b20 = nil
package. loaded [ "ds18b20" ] = nil
if t

Frame <
Group label = "Управление Отопителем" icon = "garage" <
Text item = Temperarure_Dacha_Kotel valuecolor = [ > 25 = "orange". > 15 = "green". > 5 = "orange". <= 5 = "blue" ]
Switch item = Kotel_Switched
Text item = Dacha_Kotel_Show_Get
Setpoint item = Dacha_Kotel_Getting label = "Установить Цель [%.1f °C]" icon = "temperature" valuecolor = [ > 25 = "red". > 20 = "green". > 5 = "orange". <= 5 = "blue" ] minValue = 16 maxValue = 29 step = 0.5
>
>

import org.openhab.core.library.types.*
import org.openhab.core.persistence.*
import org.openhab.model.script.actions.*

rule "change heating Dacha"

Item Dacha_Kotel_Getting changed

then
if ( timer11 != null )
timer11. cancel ( )
timer11 = createTimer ( now. plusSeconds ( 5 ) ) [ |
<
sendCommand ( Dacha_Kotel_Proxy, Dacha_Kotel_Getting. state. toString )
>
]
end