Print Friendly, PDF & Email

По мере развития оказалось, что сетей из умных гаджетов и узлов на основе Arduino или других открытых микрокомпьютерных платформ недостаточно, чтобы построить полноценную систему умного дома. Нехватало центральных процессоров и качественных пользовательских интерфейсов, которые играют заметную роль в популярных проприетарных системах умного дома, таких как Control4 или Vantage. Благодаря усилиям энтузиастов по всему миру стали появляться открытые программные платформы, которые решают и эту проблему. В настоящее время среди таких DIY-платформ (Open-source DIY home automation platform) наиболее известны:

  • OpenHAB — одна из наиболее популярных открытых платформ с большим и активным сообществом разработчиков и последователей. Платформа реализована на Java и из-за этого считается тяжеловесной. Вместе с тем, именно это обстоятельство позволяет разворачивать OpenHAB на любых системах с поддержкой Java (Windows, Linux, MacOS, Raspberry Pi, PINE и др.). Разработано большое количество драйверов под эту платформу для подключения самого разного оборудования. Поскольку платформа не ориентирована ни на одного производителя, то наличие драйвера под определенное устройство определяется в большей степени его популярностью. Чем более известен и распространен на рынке конкретный гаджет, тем выше вероятность, что под него уже есть (или скоро будет написан) драйвер под OpenHAB. Система имеет достаточно аскетичный дизайн, поддерживает голосовое управление, мобильные приложения для iOS и Android, интегрируется с Apple HomeKit (то есть управление возможно с устройств Apple вообще без установки каких-либо приложений). Имеется возможность увязать друг с другом события, происходящие в доме, и настроить поведение устройств в зависимости от таких событий.
  • MajorDoMo — динамично развивающаяся открытая платформа, имеющая большое сообщество русскоязычных пользователей. MajorDoMo поддерживает множество протоколов связи и большое количество оборудования от различных производителей. В целом концепция MajorDoMo не сильно отличается от концепции OpenHAB, но она реализована на совершенно другой программной архитектуре. Здесь используется Apache + PHP + MySQL, что также позволяет развертывать MajorDoMo на множестве разных платформ (Windows, Linux, Raspberry Pi). Поддерживается голосовое управление, есть возможность интеграции с Apple HomeKit. В целом развитие MajorDoMo подпитывается теми же идеями, которые реализуются в системе OpenHAB. Вместе с тем, MajorDoMo больше ориентируется на русскоязычное сообщество, а в плане архитектуры обладает несколько большей гибкостью, но и требует более специфического программирования при построении системы умного дома. MajorDoMo может брать на себя любые фунции по управлению устройствами, реагировать на события, рассылать уведомления. Сервер с системой MajorDoMo по сути берет на себя роль главного процессора в системах с централизованной архитектурой.
  • ioBroker — один из «новичков», который быстро завоевывает авторитет и популярность, благодаря своей продуманной и универсальной архитектуре. ioBroker разработан на платформе Node.js (также как и HomeBridge). Благодаря этому, его можно развернуть и запустить практически на любой операционной системе или виртуальной машине: Windows, Mac, Linux, в контейнере Docker и даже на Android. Это позволяет масштабировать систему исходя из потребностей. Система имеет визуальный редактор планов помещений. Легко интегрируется с любыми MQTT-серверами (или брокерами), а также сама выступает в качестве MQTT-сервера/брокера для IoT-устройств, поддерживающих протокол MQTT. Большой упор сделан на возможности удобной настройки и конфигурации, что по сути составляет не менее половины функциональности всей системы, в отличие от OpenHAB или, например, FHEM, где настройки задаются посредством конфигурационных файлов. Имеется русскоязычное сообщество.
  • IoT Manager — это программное обеспечение для домашней автоматизации, которое не является полноценной системой управления умным домом, но может использоваться как средство мониторинга и передачи простых команд посредством протокола MQTT. Продукт сфокусирован на визуализации управления, отображении графиков и пр. на мобильных устройствах. Сами мобильные приложения не имеют собственной логики, которая должна быть реализована исключительно в оконечных устройствах. Приложение обращается непосредственно к устройствам с использованием шины MQTT и через нее же получает ответы, которые тут же визуализирует в графическом виде. IoT Manager представляет из себя гибридное (не нативное) приложение, созданное с помощью Ionic Framework, на HTML5 и AngularJS, обмен с брокером реализован на Paho, который обеспечивает полное соответствие стандарту MQTT.

  • Domoticz — еще одна широко известная и распространенная система управления умным домом. В сравнении с другими популярными системами, такими как OpenHAB или MajorDoMo, является предельно легковесной (не требующей значительных ресурсов в процессе работы) и при этом обеспечивает все основные функции. Domoticz написана на C/C++ с очень достойным графическим интерфейсом. Минусом данной системы можно считать ограниченный набор драйверов/модулей для поддержки различного оборудования. Система может быть развернута под Windows, Linux, MacOS, Raspberry Pi и др.
  • Home Assistant (HASS) — одна из новых разработок с быстро растущим и вполне дружелюбным сообществом. Система написана на Python по идеологии, аналогичной Domoticz. Декларируется максимальная простота при широкой функциональности. Возможности системы расширяются с помощью плагинов. Для конфигурирования используется YAML. Система развертывается под Windows, Linux, MacOS, Raspberry Pi и др.
  • HomeGenie — мощная и полнофункциональная система для домашней автоматизации. Написана с использованием C#, Python и Ruby. Включает сервер с web-интерфейсом и мобильные приложения для iOS и Android. Сервер может работать под управлением Windows, Linux, MacOS. HomeGenie поддерживает протоколы X10, Insteon, Z-Wave, Philips Hue, UPnP/DLNA, RFXCom, KNX, может взаимодействовать с внешними Web-сервисами и интегрировать все в рамках единого подхода. У системы есть неплохая документация, поддерживаются различные API для интеграции и добавления собственных расширений.
  • FHEM — довольно популярная в Германии система, написанная на PERL. Система относительно проста, но вполне пригодня для автоматизации основных задач по управлению умными устройствами. Представляет из себя сервер, доступ к которому осуществляется посредством Web-интерфейса. Работает под управлением Linux, Windows или MacOS.
  • Misterhouse — еще одна система автоматизации, написанная на PERL. Работает под управлением Linux, Windows или MacOS. Это одна из старейших открытых платформ, разработка которой начиналась еще в 1998 году. Поддерживает довольно широкий спектр протоколов и оборудования. Легко поддается глубокой кастомизации.
  • Homebridge — это небольшой Node.js сервер, который эмулирует Apple Home Kit API и позволяет, благодаря сотням доступных плагинов, управлять с помощью устройств Apple устройствами, которые изначально не были предназначены для интеграции с Apple HomeKit. При этом основным достоинством данного сервера является то, что он может быть запущен практически на любом железе (обычный домашний ПК, небольшой сервер, микрокомпьютер типа RaspberryPi и т.п.).

Данный список является далеко не полным. Энтузиастами по всему миру также разработаны такие системы как: Calaos, DomotiGa, Freedomotic, Jeedom, MyController.org, PiDome, Pimatic и другие.

Важно понимать, что все перечисленные выше системы представляют из себя только лишь программные оболочки и предназначены для того, чтобы управлять каким-то оконечным оборудованием, из которого и состоят подсистемы умного дома. Концепция DIY предполагает совместное использование самых разнообразных устройств, в качестве которых могут выступать и умные гаджеты от известных производителей, и noname-оборудование со всех концов света, и какие-то подсистемы и исполнительные механизмы, полностью собранные пользователем самостоятельно из отдельных блоков и компонентов. Такая программная оболочка должна быть установлена на каком-то компьютере, в качестве которого может выступать обычный ПК или небольшой сервер. Очень часто в качестве упомянутого «сервера» принято использовать недорогие микрокомпьютеры типа Raspberry Pi или подобные.

Данный микрокомпьютер с установленной на нем программной составляющей становится по сути центральным процессором умного дома и берет на себя задачи по управлению логикой работы и взаимодействию различных подсистем умного дома. Для непосредственного взаимодействия с самими этими подсистемами управляющий микрокомпьютер должен быть оснащен соответствующими интерфейсами (Z-Wave, ZigBee, USB, Ethernet, Modbus, 1-Wire и т.п.).