Контроллер LighthHub это полностью OpenSource решение многофункционального контроллера Умного Дома (открыт как исходный код прошивки так и схема)

Чем хорош OpenSource в отличии от закрытых решений:

  • Проект никогда не останется брошенным, если компания-производитель решит далее не развивать бизнес, сменить линейку продуктов или продаться Гуглу. Сколько у вас уже устройств, которые заброшены производителями и не обновляются?
  • Если у проекта есть Сообщество разработчиков - кто-то из них, практически, наверняка, сможет поддержать вашу систему или доработать необходимую функцию, даже если компании-поставщика уже нет на рынке.
  • Можно что-то доработать самому. Это вполне увлекательно )
  • Особо важна открытость, если речь идет про облачные решения. (Вспомним, как было отключено облако компании Nest, послее ее покупки компанией Google). Да, для LightHub тоже будет разработан удобный облачный портал, но никто не мешает перенастроить домашний контроллер на другое облачное решение типа CloudMQTT или поднять все что надо дома на Raspberry PI. 

Контроллер LighHub позволяет подключить к себе :

  • Выключатели и другие контактные датчики (например, датчики открывания окон/дверей)
  • Стандартный Релейный модуль, позволяющий включать/выключать силовую нагрузку (лампы, теплые полы, нагреватели и пр)
  • Большое кол-во дешевых 1-Wire датчиков температуры 
  • Большое кол-во каналов освещения (как LED так и AC) через стандартный DMX модуль
  • Modbus  устройства (сейчас реализованы: Диммеры и приточная вентиляция)
  • До 12-ти аналоговых устройств 0-10В через внешние преобразователи ШИМ в 0-10В
  • Сенсорные стеновые панели с выходом DMX для локального управления LED освещением 

Далее, контроллер обеспечивает как автономное локальное управление (например, свет переключается выключателями или температура теплого пола поддерживается на заданном уровне) так и одновременное управление и мониторинг со стороны внешнего ПО (Например, Openhab) с компьютера или мобильного приложения.

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

Недавно открыл для себя HomeRemote — замечательное мобильное приложение + ПО дизайнера интерфейса, которое нормально работает с MQTT и с последней версией прошивки)

 

Физически, контроллер Умного Дома "LightHub" представляет из себя совокупность из следующих компонент:

  • Arduino Mega 2560 или Arduino DUE (рекомендуется)
  • LightHub Shield (плата, на которой смонтированы аппаратные интерфейсы LAN, мост интерфейса 1-Wire и три преобразователя RS-485 для обслуживания DMX-512 и Modbus, опторазвязки входных сигналов, защита входов TWS диодами, система питания и пр.)
  • Стандартный корпус для крепления на DIN рейку

Переферия:

  • Внешний релейный модуль (опционально)
  • 1-Wire датчики температуры
  • DMX-512 диммеры для управления LED или AC220В освещением
  • Модули расширения формата UEXT, позволяющие подключить к контроллеру самую разнообразную периферию: радиомодули, GSM модемы, GPS, дисплей и многое другое  (поддержка на уровне прошивки будет реализовываться по мере необходимости)

Прошивка контроллера обладает следующей функциональностью:

  • Подключение к брокеру сообщений MQTT (Mosquitto) через проводное Ethernet соединение. Контроллер подписывается на соответствующие топики MQTT, что позволяет управлять устройствами, например, при помощи системы OpenHab или мобильных приложений
  • Опрос 1-Wire термодатчиков. В зависимости от настройки системы, значения термодатчиков передаются в шину MQTT для внешнего мониторинга, а также, и используются для управления локальными нагревателями (теплые полы, калориферы)  через релейный модуль
  • Управление светодиодным освещением по протоколу DMX-512 при помощи внешних плат управления
  • Управление Modbus устройствами (сейчас это  AC диммеры и частотник приточной вентиляции)
  • Прием входящих воздействий (датчики, выключатели, кнопки), использование значений для локального управления и передача их в шину MQTT 
  • Управление задвижками центральной вентиляции/кондиционера при помощи конвертеров ШИМ в аналоговый сигнал 0-10В

Также, в отличие от похожих решений, прошивка обладает массой полезных особенностей-рефлексов, которые упрощают управление контроллером извне. Например:

  • Возможность собирать каналы управления в группы. При поступлении команды на групповой канал, она транслируется всем участникам группы. 
  • Наличие команд HALT и REST, дополняющих OFF и ON. Команда HALT выключает устройство (аналогично, команде OFF) а вот команда REST включает только те устройства, которые были реально выключены командой HALT. Это позволяет легко реализовывать, например Мастер-выключатель перед входом в дом. Он выключает все, но при включении, восстанавливает все устройства в первоначальное состояние
  • Также, при выключении устройства, контроллер запоминает такие параметры как уровень/яркость/цвет. После получения команды на включение они будут восстановлены
  • После холодного старта, контроллер восстанавливает значения всех устройств из сервиса MQTT.

Это не полный перечень "полезностей" 


Конечно, все это управляется и мониторится удобно при помощи "родного" OpenHab мобильного приложения.
Конечно, поведение всех этих устройств можно диспетчеризировать как при помощи встроенных скриптов OpenHab так и с помощи сторонних систем типа NodeRed (например, управлять задвижками вентиляции, потоком и нагревом внешнего воздуха, температурой теплых полов в зависимости от температуры на улице и в комнатах, времени суток и сезона; управлять освещением в зависимости от высоты солнца над горизонтом и фазы луны, если кому такое надо))

Система получилась достаточно надежной и масштабируемой (для доп. надежности задействован встроенный Watchdog а масштабируемость обеспечивается тем, что кол-во устройств не ограничено. Дополнительный контроллер просто ставится в удобном месте помещения и подключается к локальной сети ) 
Также, как писал, контроллер является абсолютно настраиваемым. Уже почти никакого хардкода, все вынесено в настройки.

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

Настройки хранятся в файле стандарта JSON

При первом запуске, через интерфейс командной строки задается MAC адрес устройства, который, затем, запоминается в EEPROM

Все это работает в продуктиве 24х7 с августа 2016 года, постепенно дописываясь.
Проект нуждается в  подробном двуязычном документировании, доработке сайта (до уровня портала, на котором можно будет управлять подключенными устройствами)

Для этого приглашаются единомышленники! 

Так контроллер выглядит сейчас:

Плата Arduino DUE установлена на материнскую плату. Плата снята, видны оптические развязки, защиты входов, драйверы DMX, Modbus, 1-wire, мощная транзисторная сборка (например) для управления реле. Плата на DIN рейке, рядом типовой модуль реле

 

 

 

 

 

0
0
0
s2sdefault

Сегодня обнаружил, что после установки моего контроллера умного дома на Arduino Mega 2560 на его постоянное место под потолком будет крайне тяжело до него добираться, чтобы загрузить новую прошивку через USB кабель

Более того, на обьекте еще полным ходом идет ремонт и идеально было бы получить возможность заменять прошивку удаленно, через построенный между обьектами VPN

Недолгий поиск вывел меня на великолепный проект на Github

Если коротко, то добавив к контроллеру недорогой WiFi модуль ESP8266, мы получаем возможность как заливать новую прошивку в AVR так и получать доступ к отладочной информации из последовательного порта контроллера просто подключив этот модуль к сети WiFi

В качестве бонуса получаем возможность из кода контроллера использовать механизм MQTT для подписки на топики и публикации и дергать внешние вебсервисы.

И это все без дополнительного Ethernet shield. Через одно единственное последовательное соединение между Mega 2560 и ESP8266

Библиотека для Arduino тут 

Вебинтерфейс выглядит примерно так 

 

 

0
0
0
s2sdefault