2016-12-01

Комнатный контроллер с управлением по Modbus RTU

умный дом

В прошедшие выходные, наконец, создал новую прошивку для одного из моих комнатных контроллеров, которая позволит управлять светом через Modbus RTU. Почему-то в сети полно статей как это сделать, но мне пока не удалось найти исчерпывающего руководства, чтобы реализовать все что хочется.

Сейчас у меня дома весь свет управляется четырьмя контроллерами собранными на базе Arduino Pro Mini. Один контроллер управляет светом в кухне, гостиной и лоджии. Второй в душе, Третий управляет ванной и коридором, а четвертый управляет светом в двух комнатах и гардеробной, он то и будет моим первым пациентом для перепрошивки. В качестве коммуникационной платы во всех контроллерах используются готовые сборки max485, но их то я пока и не подключил, так что мой умный дом еще достаточно глуп. Чтобы заставить всю систему работать были созданы простые прошивки, не подразумевающие централизованного управления, и вот, наконец, я готов это сделать для одного из контроллеров, который управляет светом в двух комнатах и гардеробной.

В качестве серверного решения будет крутится Openhab. Прошивка позволяет управлять светом в двух комнатах и гардеробной, причем, для гардеробной реализовано плавное включение через ШИМ с регулировкой максимального значения. Яркость можно регулировать на сервере, так-же как включать и выключать свет. Дополнительно, поддерживаются герконы на дверях в комнатах и гардеробной, при этом, герконы на дверях в комнаты просто сигнализирует о своем состоянии на сервер - я еще не придумал сценарии их использования, а геркон на двери гардеробной будет дополнительно включать свет при открытии двери - свет там все-равно нужен всегда. Также подключил датчик температуры и влажности - так как в гардеробная еще и серверная - температуру знать там не повредит. Вот пока и весь функционал, а больше пока и не нужно, все остальное можно реализовать на сервере, если понадобится.

К слову сказать, код контроллера все еще мне не нравится. Это пока еще proof of concept. Есть еще что можно улучшить. Из последних нововведений мне понравилось использовать указатели на функции - их активно используют например, при программировании для Pebble. Это позволяет лучше разбить код на более мелкие, но при этом универсальные блоки, и в отличии, например, от виртуальных функций код не становится медленнее, что важно, если у вас медленный процессор с ограниченными ресурсами.

Прошивку выложил на github - https://github.com/maxistar/Controller03

Описание в схеме не полное, постараюсь выложить больше информации по этой теме, так как, похоже, что тема весьма актуальная. Видео, работы постараюсь сделать и выложить на днях. Если прошивка покажет себя хорошо - обновлю и остальные контроллеры.

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

 

комментарии:

 
RSS комментариев

Для того чтобы каждый раз не представляться можно войти как зарегистрированный пользователь.

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться

разное (181)
howto (122)
программирование (107)
гад-же-ты (75)
мысли (42)
PHP (41)
JavaScript (39)
вебмастеринг (37)
linux (28)
гондураша (28)
юмор (25)
полезное (20)
движок (17)
Android (16)
софт (15)
деньги (14)
видео (12)
кино (11)
беспредел (10)
путешествия (10)
музыка (10)
ztools (8)
интернет (8)
занимательная физика (8)
умный дом (8)
Nokia 5800 (7)
diy (7)
хостинг (7)
языки (7)
книги (7)
css (6)
вебдизайн (6)
lifehack (6)
apple (5)
связной (5)
oDesk (5)
козлы (5)
arduino (5)
прелоадер (5)
Python (4)
занимательная юриспруденция (4)
кухня (4)
svn (4)
рестораны (3)
энергия (3)
synphony (3)
software (2)
webmastering (2)
фото на документы (2)
Java (2)
движек (2)
Ruby on Rails (2)
спорт (2)
bash (2)
аниме (2)
гитара (2)
SEO (1)
дурдом (1)
C++ (1)
годнурас (1)
микросервисы (1)
сайты (1)
авторское право (1)
programming (1)
технологии (1)
наука (1)
восстановить (1)
Поиск по блогу:

Valid XHTML 1.0 Strict