Идея создания умного дома (УД) зародилась в голове еще задолго до появления собственного дома (квартиры). Временами изучал статьи об умном доме, искал в сети различные решения и примерял их к собственному видению умного дома. Постепенно в голове вырисовывалась картина будущего проекта. И вот когда настал долгожданный момент, была приобретена квартира, я начал воплощать свои идеи в жизнь. По своей натуре я практик, для меня проще начать сразу делать что-либо в железе без писанины, лишних слов, планов и расчетов на бумаге, поэтому весь проект был в голове и постоянно корректировался.
Выбор был сделан на 99% в сторону проводных устройств, плюс все устройства должны быть максимально бюджетные. Изначально планировал делать все на микроконтроллерах, но узнав о существовании Arduino выбор пал именно на нее, т.к. упрощалось изготовление конечных устройств, не нужно было изготавливать платы самостоятельно.
На этапе ремонта была проложена витая пара по всем возможным направлениям — освещение, окна, двери, радиаторы, водосчетчики, теплосчетчики, электросчетчик, домофон, телевизор, компьютер, проектор, кондиционер, подъездный щиток, датчики движения, балкон, ко всем выключателям и розеткам…
Была переделана силовая проводка. Я отказался от распредкоробок, и вся проводка от каждой люстры, выключателя, розетки стянуты вместо установки электрощита. Дополнительно силовая проводка протянута к каждому окну, для питания контроллеров и питания электроприводов рулонных штор. Всего на двухкомнатную квартиру ушло около 1 километра различных проводов.
Сердцем системы выступает сервер на базе неттопа Asus EeeBox, на котором крутится iobroker. Все контроллеры общаются с сервером по протоколу MQTT.
В каждом окне стоит комнатный контроллер построенный на Arduino UNO + Ethernet Shield W5100 каждый из них собирает следующую информацию:
- температура радиатора (DS18b20)
- температура и влажность помещения (DHT22)
- уровень освещенности (фоторезистор)
- датчик СО (MQ7, планируется замена на более достоверный датчик)
- датчики объема (DSC LC-100PI, переделанный под питание 5В, в который встроены датчик освещенности и датчик СО)
Датчик объема
- в спальне и гостиной дополнительно датчики температуры DS18b20, которые установлены внутри приточных клапанов КИП-125
- управление сервоприводом (SG90) который установлен на заслонки приточного клапана КИП-125
Сервопривод заслонки КИП-125
- датчик открытого окна (геркон)
Освещением управляет отдельный контроллер, построенный на Arduino Mega + Ethernet Shield W5100.
В качестве выключателей стоят обычные перекидные Schneider Electric из серии Unica с переделанной подсветкой под 5В. Подсветка запитана через полевой транзистор от ШИМ контроллера освещения (КО).
Выключатели коммутируют 12В которые через делитель поступают на вход КО. Программа КО инвертирует состояние выхода при переключении выключателя т.е. если свет горел то переключив выключатель свет отключится и наоборот. Минус этого решения, что выключатели не имеют положения выключеновключено, а из плюсов легкая организация аварийного режима, при котором выключатели коммутируют реле (Finder) освещения напрямую минуя КО.
В ванной помимо обычного выключателя стоит счетчик посетителей на ИК датчиках. Если посетителей больше 1 то свет горит.
Дополнительно организовано управление и контроль отдельных устройств:
- Телевизор (LG, не смарт) не управляется по Ethernet, но управляется по RS232. Для управления поставил Arduino UNO + Ethernet Shield W5100.
Заголовок спойлера
- Проектор (BENQ) аналогично телевизору.
- Ресивер ONKYO управляется как по Ethernet так и по RS232, в iobroker есть драйвер для управления ресиверами ONKYO по ethernet, так что работает из «коробки».
- управление домофоном (Cyfral, координатный). Организовано открытие подъездной двери (на реле) и контроль звонка домофона, при звонке домофона на телевизоре включается изображение с подъездной камеры, на телефон приходит сообщение в котором содержится ссылка для открытия двери.
Управление домофоном
- управление водонагревателем (Termex). Управление и контроль организован на Arduino pro mini + NRF24, питание от встроенной платы управления водонагревателем. Реализовано включение, отключение, переключение режима нагрева и установка температуры. Переключение кранов только руками, горячую воду не так часто отключают, а тратить ~5 т.р. на краны с приводом нет желания, так что не напрягает. Как отключат горячую воду, хочу провести эксперимент энергоэффективности, поддерживать заданную температуру воды круглосуточно либо отключать водонагреватель или понижать заданную температуру на ночь и на время отсутствия.
Управление водонагревателем из веб морды
- управление системой защиты от протечек (Аквасторож). Организовано на связке Arduino pro mini + NRF24.
Управление аквасторожом
- счетчики расхода воды (Счетчики с импульсным выходом). Импульсы подсчитываю Arduino pro mini и отдаю данные по UART контроллеру «ванной» (Arduino UNO + Ethernet Shield W5100).
Счетчик расхода воды
- счетчик электроэнергии (с импульсным выходом). Импульсы считаю аналогично счетчику воды
Управление УД организовано через web как с компьютера так и с телефона или планшета. Плюс организовано управление голосовыми командами через телефон с помощью приложения Tasker.
P.S. Это первая итерация моего УД и еще не все доделано. Если какие-то моменты будут интересны читателям, то раскрою более подробно в следующих статьях.
Автор: Испанский лётчик