Хабрахабр

[Из песочницы] Автоматика для дома своими руками

Моя статья будет полезна тем, кто только задумывается над подобного рода системой, поможет определиться делать ли самому и ориентирована в основном на энтузиастов-колхозников. Изначально пишу “автоматика” а не умный дом, потому что на данном этапе умных функций в моей системе управления нет, сейчас стояла задача в сборе данных и управлении устройствами. Всё должно измениться в будущем, когда появятся алгоритмы которые, и сделают дом умным. С моей точки зрения, если вы можете включать свет со смартфона, то это не делает ваш дом умным. Умным он становиться когда у вас написаны сценарии, которые помогают вам, облегчают контроль за домом и делают рутинные вещи незаметными для вас. Например, включить свет на крыльце когда уровень освещённости ниже какого-либо порога и выключить в два ночи, не включать полив если сегодня обещают осадки с вероятностью больше 60 процентов, если появилось движение в комнате то включить подсветку лестницы и т.д. И только в этом случае он становиться “умным”.
Немного лирики. Всегда хотелось иметь дом за городом, долго на это решался, потому что стройка это не только большие финансовые затраты, но и большие затраты вашего личного времени, которое можно посвятить любимым хобби, семье. Благо что одно из них у меня, это как раз разработка всяких ненужных устройств. Где-то еще на начальном этапе я для себя решил что это может быть интересно и выбрав участок я начал строить планы. Сначала пришлось конечно много времени уделить вопросам связанным с самой стройкой, таким как проект, поиск строителей и всяким другим хлопотам. Но потом, когда коробка была готова, подошло время задуматься и о системе автоматизации дома, это то что мне нравится и что хотелось сделать, ну просто странно программисту вставать с дивана что бы выключить свет в ванной.

Как оказалось рынок вполне насыщен множеством решений, но в них то того не хватало, то другого, и нигде не было целостного решения которое меня бы удовлетворило (нет конечно решения были, но стоимость в 20т. Начались изучения того что есть на рынке и что можно купить и доколхозить самому. меня не удовлетворяла). уе. С другой стороны на рынке хватает решений, которые и беспроводные, и дружат с гуглом и апликейшины для них уже готовы, но у них есть масса нюансов которые отодвигают такие решения на задний план. Например у Шнайдера есть неплохое решение базирующееся KNX, на котором можно построить управление освещением, ролетами и вентиляцией, но интегрировать в систему что-нибудь кроме стандартных элементов практически невозможно, плюс о вэбинтерфейсе и управлении через гугл хоум можно забыть, а об автоматизации сценариев вообще говорить не приходиться. Плюс мне не очень хотелось обвешивать дом массой отдельных коробочек, до сих пор не понимаю почему бы датчик движения, угарного газа и температуры не поместить в один корпус, пусть он даже и будет стоить дороже, зато мне не прийдется весь потолок увешивать какими-то девайсами, да еще и менять в них батарейки каждые два года. Например сложность одновременного управления освещением с обычных выключателей и с апликейшена, часто это вообще невозможно или если и возможно то проблемно реализовать проходные выключатели, а хотелось бы иметь дом в котором всё работает и без умного дома на случай его крэша.

Продумывая разные варианты применения системы стало понятно что перед тем как что-то делать надо крепко всё продумать (это кажется очевидным, но нет, иногда хочется что-то сделать прям сейчас) потому что положив проводку в штробы и заштукатурив её, обратного пути уже нет. В общем, со словами, ну “тыж программист”, я начал думать как бы я это заколхозил сам и что для этого нужно.

Сформировав список желаний у меня получилась вот такие подсистемы:

  • освещение в доме
  • ролеты
  • управление заслонками вентиляции
  • датчики движения, датчики освещенности, СО и температуры в комнатах
  • автоматический полив
  • датчики движения по территории участка
  • резервное питание

Изначально хотелось всё собрать на покупных устройствах и как-то свести их в единую систему, это казалось самым оптимальным вариантом по затратам времени/финансов и надежности системы. Мысли перескакивали с одной подсистемы на другую, но никакого стройного решения не было сформулировано ни для одной из подсистем, проходили месяцы, но решение не сформировывалось плюс еще и сама стройка отвлекала, да ещё и зима началась (а это время гор и сноуборда и это без всяких компромиссов, тогда это еще так было). Пришлось ограничить полет мысли и заставлять себя прорабатывать одну подсистему за другой, началось всё с освещения.

Давайте вкратце рассмотрим каждую.

Из вводных было то что свет должен работать одновременно и от выключателей и от системы управления (далее САУ), плюс должна быть возможность сделать проходные выключатели. Освещение. Было несколько идей как это реализовать, но остановился я на этой схеме — кнопочный выключатель — импульсное реле(Elko MR-41) — дискретный выход — дискретный вход. Для этого САУ как минимум должна знать включен он сейчас или нет. Дискретный выход параллелим с кнопочным выключателем, НР контакт реле на лампочку, НЗ — на дискретный вход для получения статуса.

image

Схема проводки в скечапе очень помогла осознать масштабы бедствия, проводов получалось много, но это не должно испугать человека решившегося на умный дом. Из этого всего следовало что к каждой точке освещения, которая должна управляться и с выключателя и с САУ, должен идти свой провод от щитка, аналогично с и выключателями. Рекомендую не ленится и таки делать эту схему, не обязательно в скечапе, в будущем эта работа сэкономит вам кучу времени и поможет даже через годы, когда нужно будет повесить картину и вы будете гадать есть там провод или нет.

Отличие от света в том что нагрузка в этом случае это не лампочка а электродвигатель, со всеми отсюда вытекающими. Ролеты. Поэтому схема получилась такая: дискретный выход — контактор и в параллель кнопочный выключатель для каждого направления вращения. Так же как с освещением хотелось иметь управление и с механического выключателя так и с системы управления.

image

Тут все просто, её я отдал на откуп САУ, и не предусмотрел никакого другого управления, навряд ли я когда-нибудь захочу открыть/закрыть вентканалы не с апликейшена. Вентиляция. Так что схема — два дискретных выхода — простенький привод Belimo LM24-T с ebay за 25$ без обратной связи.

image

Вот так выглядит привод смонтированный на вентиляционной заслонке:

image

На рынке сейчас валом таких девайсов, но все с проприетарным интерфейсом и подключить их в свою доморощенную систему достаточно сложно, да и плюс упомянутая уже проблема с тем что каждый датчик пытаются продать как отдельное устройство в своём корпусе. Датчики движения, датчики освещенности, СО и температуры в комнатах. Также всегда остаётся вероятность того что производитель закроет открытое api своих устройств, и заставит вас пользоваться только своим приложением как недавно гугл поступил с nest и вся ваша целостная система развалится на куски. Вот меньше всего хотелось бы на потолке видеть россыпь разных устройств, а как задумаешься что в них всех надо поменять батарейки так и страшно становиться. Получилось вот такое устройство, но в реалии ему нужно посвятить отдельную статью и не особо зацикливаться на нём в этой. Поэтому я сделал свой девайс на AVR, назвав его “сенсортэг” и напаковал его всем что мне было нужно: датчик движения с цифровой подстройкой чувствительности, датчики освещенности, температуры, угарного газа, управляемую подсветку, ESP8266, RS485 c гальванической развязкой, 24В блоком питания.

image

image

Но как оказалось что все клапаны полива на 24В но AC. Автоматический полив. Казалось бы что тут сложного, должно быть самое простое устройство типа дискретный выход — соленоид на 24В. Так что пришлось делать отдельный блок с трансформатором на 24В и блоком реле, который по 24В DC коммутирует 24В АС.

image

У охранных датчиков выходы это НР и НЗ контакт так что тут как раз всё просто, дискретные входы и всё, только вот не стоит забывать про разрядники(неплохо подходит вариант разрядников для патч панелей). Датчики движения по территории участка.

И хотя, я считаю что система умного дома должна быть спроектирована так, что бы её можно было включить/выключить в любой момент без печальных для неё и дома последствий, но от резервного питания я не отказался. Резервное питание. Изначально это не планировалось, но со временем выяснилось что за пределами города пропадание электроэнергии это никакое не ЧП а вполне обыденное явление. Получилась неплохая связка mean well блока питания, mean well упса и аккумуляторов, работает, проверял. Решив что коль у меня уже есть мои сенсортэги на 24В, приводы на 24В, то всё питание САУ я сделаю 24В.

image

Проводов получилось пугающе много, но от выходных к выходным становилось все красивее и красивее, в итоге через месяц всё наладилось и заработало. После того как хардверное решение сформировалось вроде как в законченную систему можно было переходить к монтажным работам силовой части: прокладке силовых проводов, разводки силового щитка и разводке слаботочки. Бонусом получилась возможность сделать временную панель управления светом и ролетами для строителей.

image

image

image

image

Следующим этапом было планирование щитка с модулями управления.

Топология системы:

image

Нужно было прикинуть топологию системы, какие модули в неё входят, на каких контроллерах что работает. Модули DI/DO. Забегая вперед скажу что я остановился на системе из покупных модулей DI/DO, управляющем контроллере на Beaglebone black и вэбсервере на Raspberry Pi. Тут существует масса вариантов реализации, и все они будут правильными если будут работать. Т.к. Далее необходимо подсчитать все дискретные входы/выходы и их типы. Остановился на модулях Овен, в принципе они покрыли все мои нужды по управлению: разрабатывать модули DI/DO не было никакого желания то я просто поискал на рынке уже готовые за вменяемую цену.

  1. МВ110-8ДФ, как модуль дискретного ввода для сигналов 220В.
  2. МУ110-16Р, для управления освещение, ролетами, вентиляцией и клапанами полива.
  3. МВ110-16ДН, как модуль дискретного ввода для сигналов с уличных датчиков движения.

Подключаются данные модули в систему по интерфейсу RS485 ModBus, в принципе промышленный стандарт, так что с его имплементацией не должно возникнуть ни каких трудностей(можно написать самому поддержку основных команд или взять уже готовую библиотеку).

Для связи с моими модулями «сенсортэг», расположенными в каждой комнате и модулями Овен в щитке мне нужен был контроллер который мог бы их опрашивать по RS485 интерфейсу и имел Ethernet для общения с сервером. Контроллер. Контроллеру хочется посвятить отдельную статью, так что тут можно упомянуть что он сделан на Beaglebone black и имеет 3 гальванически изолированных порта RS-485 и питание 24В. Рассматривал вариант использовать Wiren Board, но у них мало RS485 портов да и вот контроллер хотелось самому сделать.

ПО Beaglebone black состоит из: коммуникационного ядра, MQTT gateway и Mosquitto server. Система для контроллера Beaglebone black собрана на базе Buildroot и доведена до состояния запускаем билд — получаем готовый образ для SDшки. MQTT gateway преобразует точки контроллера в значения MQTT топиков и передает их в Mosquitto server. Коммуникационное ядро, опрашивает RS-485 порты, формируя внутреннюю таблицу дискретных и аналоговых точек. Все доступно по этой линке.

Щиток управления и имитатор сигналов(освещение, ролеты и вентиляция):

image

image

Меня порадовала эта система, она очень проста, поддерживает массу уже готовых устройств и позволяет очень гибко писать свои плагины на python. ПО Raspberry Pi это Home Assistant. Ещё Home Assistant поддерживает интеграцию с Google Home и Alexa. Я например, за пару недель написал себе собственные MQTT плагины для освещения, ролет, сигнализации и разных типов датчиков(освещение, СО, движения, температуры) и несколько видов автоматизаций, всё очень гибко и главное с низким порогом вхождения в систему. Как бонус мы получаем управление голосом, пока на английском, но обещают поддержку русского вот-вот. Можно немного помучаться и сконфигурировать это самому, или сделать платную подписку на их сервис(5$ в месяц) и тогда процесс синхронизации Home Assistant и Google Home проходит за два клика. Выглядит это примерно так:

image

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть