Сейчас, когда практически каждый день появляются новые аппаратные средства для управления лампочками, кондиционерами и другой бытовой техникой, вопрос объединения всего этого богатства в одну сеть становится очень актуальным.
Но, к счастью, мир не дремлет и усердно занимается этой проблемой.
Есть как бесплатные решения достойного качества, так и платные (не обязательно хорошего качества).
Как и весь мир, я тоже не могу спать, и я, как и весь мир, уже много лет подряд, и последние три года особенно усердно занимаюсь интеграцией всякого рода техники в умный дом.
.
В этой статье я хочу рассказать о домашней автоматизации и о том, как использовать проект с открытым исходным кодом для освещения (и не только) вашего уютного дома.
Ах да, чуть не забыл сказать, что вся автоматизация происходит на JavaScript!
Для всех любителей JS прошу кота
Для начала немного сухой теории и демагогии на тему умного дома.
Каждый понимает под этим термином что-то свое.
Кто-то включает свет в ванной с помощью датчика движения и считает дом уже умным, а для кого-то дом из Железного Человека (ДЖ.
А.
Р.
В.
И.
С.
) недостаточно умным, ведь этот дом в итоге разнесли вдребезги, а значит его не было способен защитить себя от некоторых людей на вертолеты .
Но если отбросить шутки, все эти люди правы.
Просто уровень «интеллекта» дома тоже разный, как и IQ людей.
Есть маленькие «дети», которые умеют включать лампочку, а есть «академики», окончившие университет и умеющие не только включать свет, но и выключать его:) В доме можно выделить несколько областей автоматизации: - чаще всего светло - затем нагрев — мониторинг среды обитания: температура внутри и снаружи, влажность — охрана и сигнализация - мультимедиа (ТВ, музыка) - рольставни, окна, ворота, двери, навесы - Вентиляция и кондиционирование воздуха - управление другой бытовой техникой — логирование и графика - уведомление Список можно продолжать, но хотелось бы остановиться на наиболее используемых областях.
Каждая область автоматизации имеет свою систему устройств, каждая со своими протоколами, приложениями и методами управления.
В настоящее время не существует никто производитель, способный предоставить устройства в каждой области автоматизации.
Но есть такие, которые зашли особенно далеко: Samsung, Google, Apple. При этом каждый из производителей обязательно изобретает свой колесо протоколов взаимодействия и никто не хочет уступать другому.
Хотя протокол взаимодействия от google Плетение кажется наиболее продуманным.
Также предпринимаются попытки создать протокол, независимый от производителя.
IBM продвинулась дальше всех в этом направлении, выпустив MQTT. Но, к сожалению, не существует стандартизированного канала получения описаний устройств, таких как единицы измерения, местоположение/помещение, функциональная группа (жалюзи или светильники) и другую метаинформацию.
Что я подразумеваю под умным домом или, как говорилось выше, какой уровень автоматизации меня устраивает? Я много экспериментировал и пришел к выводу, что все эти элементы управления телефоном, голосовое управление или построение графиков температуры — всего лишь игрушки.
По-настоящему умный дом должен быть невидимым.
Это должно быть заметно только тогда, когда умный дом перестанет работать.
Умный дом должен следить за людьми через датчики и подстраивать под них среду обитания (нет, конечно, он не должен отправлять эту информацию в Google).
Регулируйте температуру, сохраняя при этом тепло для отопления; включать подсветку, когда человек входит в комнату, не ослепляя его, или закрывать жалюзи на окнах, если включен телевизор и окно бросает блики на изображение.
Сценарии бесконечны.
Особенно умные дома должны сами распознавать последовательности и зависимости событий и предлагать новые правила автоматизации.
Я знаю, что говорю.
Я повесил планшет возле входной двери и внедрил голосовое управление и построил все возможные и невозможные графики и могу открыть дверь квартиры с телефона, но это все для того, чтобы один раз показать гостям, какой у меня умный дом и услышать в ответ» Ух ты" .
Я и моя семья этим почти не пользуемся.
Нет, это конечно важно, иногда можно посмотреть состояние датчиков в доме по телефону, плавая в Средиземном море, или получить уведомление с фотографией о том, что кто-то проник в дом, хотя этого делать не должно было.
открыл дверь почтальону и убедился, что Он не сможет унести с собой полдома.
И, в конце концов, услышать то самое «Вау» от друзей – тоже не последний аргумент. :) Все это должно быть там, хотя бы для того, чтобы понимать, что это на самом деле не так уж и важно :) Лучше всего поддается автоматизации та квартира, в которой живет холостяк-технофил, который каждый день ходит на работу в одно и то же время и имеет постоянное количество праздников и выходных (Россия, к сожалению, под этот критерий не попадает).
Одни только новогодние выходные в мае чего стоят :) ).
Далее идет бездетная молодая семья с умеренной любовью к технике.
Важно, чтобы каждый из них не отделялся от своего мобильного телефона.
Самый сложный случай – семья с детьми (чем больше, тем сложнее).
Дети просто не поддаются автоматизации.
«Ну и что, папа, я забыл телефон.
Он мне во дворе не нужен.
И все скрипты распознавания присутствия людей в помещении и основанные на них правила включения сигнализации оказываются бесполезными.
(Мое дело) Но вернемся к тому, как все это сделать дома и сделать свое жилое пространство комфортнее.
Что такое ioBroker? Это платформа интеграции Интернета вещей, которая служит центральным сервером для:
- умный дом
- автоматизация зданий
- проживание для престарелых
ioBroker — это система, способная связывать друг с другом весь набор протоколов и устройств.
Какая-то строительная компания решила построить в Гамбурге умное жилье и собрала все возможные устройства в одной квартире и предлагает восемь телефонных приложений для управления всем этим зоопарком (кстати, только Apple).
Тут надо, наверное, написать: представляете, восемь заявок, Карл! С ioBroker в этом нет необходимости.
ioBroker имеет очень модульную структуру.
Каждый модуль работает в отдельном процессе и в случае сбоя он просто перезагружается и вся система продолжает работать.
Отличием ioBroker от других систем автоматизации является модуль веб-визуализации в браузере — vis. Его разработка заняла половину времени, необходимого для разработки всего ioBroker.
Также преимуществом ioBroker является огромное количество доступных npm-пакетов — 286 000.
*Информация взята из http://www.modulecounts.com/ .
Конечно, качество пакетов не всегда самое лучшее, но, как правило, для одной и той же проблемы существует несколько разных пакетов и количество в этом случае перерастает в качество.
Вам просто нужно выбрать необходимый вам пакет. Таким образом, подключение новых протоколов – это всего лишь вопрос технологии.
Таким способом я реализовал подключение OPC UA, Sonos, MQTT, Telegram, Pushover, Homematic, Z-Wave, Simatic и большого количества других систем.
Большой упор делается на возможность удобной настройки и настройки, а это съедает львиную долю времени, в отличие от FHEM и, например, OpenHAB, где настройки происходят через файлы конфигурации.
Альтернативы с открытым исходным кодом.
— OpenHAB — популярная платформа автоматизации Java. В настоящее время существует до 160 драйверов или модулей.
— FHEM — широко распространенная система автоматизации в Германии на Perl с огромным количеством драйверов — 340. Но настройка системы оставляет желать лучшего, а отсутствие стандартизированной метамодели затрудняет расширение системы.
— MajorDomo — довольно зрелая платформа автоматизации на PHP. Здесь вы можете найти множество статей об этой системе.
— Domoticz — это система, написанная на C/C++, с очень приличным графическим интерфейсом.
Но в связи с тем, что быстро писать на C/C++ сложно, это возможно при ограниченном наборе драйверов/модулей.
В общем, можно найти много интересных систем домашней автоматизации.
Здесь .
В основном системы делятся по языкам программирования (Java, C/C++, Python, Javascript, PHP, .
) и аппаратному обеспечению (Vera, Raspberry PI, Synology, Mediola, .
).
Все они заслуживают права на существование, хотя у кого-то его больше, у кого-то меньше.
На данный момент уровень технических знаний людей, реализующих систему автоматизации, достаточно высок и они не падают в обморок при словах: Linux, консоль, apt-get. Но когда на форуме появился вопрос: «Установил систему, но не могу сменить домашнюю папку на папку ioBroker. Помогите!».
Это был тревожный звонок, к которому начали присоединяться неспециалисты в области информатики и что систему могут использовать обычные пользователи компьютеров.
Все интерфейсы настроек переведены на 3 языка, за исключением драйверов для немецкого языка.
Ну и зачем русскоязычному пользователю драйвер, предоставляющий данные о ценах на бензин в Германии или предупреждения о непогоде от немецкой метеослужбы?.
Также без перевода остались драйвера для чисто русскоязычного рынка, например водитель автосигнализации старлайн.
Документация тоже написана как можно лучше на 3-х языках, но работы еще много.
Хотя за последний месяц появилось много хороших описаний.
JavaScript используется для написания интерфейса, сервиса и скриптов.
Один из распространенных и популярных языков программирования.
Сейчас Python набирает большую популярность, но на Python не напишешь графическую оболочку для браузера.
(Да, я знаю о существовании py2js , но пока ничего достойного из этого творения не видел) Немного о проектах с открытым исходным кодом.
Как человек, участвующий в проекте с открытым исходным кодом, я могу сказать: раньше я думал, что проекты с открытым исходным кодом пишутся тысячами людей со всего мира и что им легко написать что угодно.
Сейчас я могу сказать, что за каждым открытым исходным кодом стоит один (иногда в особо крупных проектах — группа людей) и что активен только один процент пользователей из сообщества.
Просто у крупных проектов миллионы пользователей и один процент от миллиона — это десять тысяч человек.
Но для более мелких проектов это десятки или несколько человек.
Я также могу сказать, что один заинтересованный пользователь может сделать больше, чем десять незаинтересованных программистов, и важно просто набрать много пользователей и вероятность появления человека, который сможет внести существенный вклад, становится больше.
Возможности Могу сказать, что возможности.
безграничны.
Умножьте количество npm-пакетов на количество железа и вы получите миллион возможностей включить лампочку: — через телеграм - голосом -остальный API — веб-визуализация — приложение для Android — интерфейс для телефонов и планшетов (мобильный) - 340 водителей из FHEM - МКТТ И проект активно развивается и растет на 3-х языках.
Для тех, кто заинтересован, Google здесь, чтобы помочь.
И впредь я постараюсь описать не то, как устроена Вселенная, а то, как происходит связь между Modbus-устройством и атомной электростанцией.
Теги: #iot #iobroker #iobroker #домашняя автоматизация #JavaScript #I PR
-
Мимикрия
19 Oct, 24 -
Алютор Язык
19 Oct, 24 -
Настройки Smtp Outlook
19 Oct, 24 -
Космонавтика 2016 На Geektimes, Часть 2
19 Oct, 24 -
Карта Google Earth Дополнена 3D-Объектами.
19 Oct, 24