[Из песочницы] Очередной умный дом, в трех частях. Часть первая, железная

Хочу рассказать и показать результаты проекта, который развивается примерно 10 лет. Развивается как хобби, поэтому бывает, что за неделю делается новое устройство, а потом за полгода — не делается ничего. Я очень не люблю словосочетание «Умный дом», поэтому дальше оно не встретится. Также тут не будет схем, примеров кода, опутанных проводами макетных плат и прочих скучных вещей. Будет много фото и рассуждений на общие темы.image

С чего все начиналось, или Контроллер освещенияЛет 10 назад как-то совпало, что я устроился на работу разработчиком встраиваемой электроники и купил себе квартиру. Денег было мало, квартира была однокомнатной, жил я один. Хотелось чего-то такого, что, как я потом узнал, называлось «Квартира-студия». Началось увлекательное занятие, которое нельзя закончить — ремонт. А с чего начинает делать ремонт человек, который паяльник взял в руки раньше ручки? Правильно, с проводки. Захотелось, что бы свет включался с пульта от телевизора. Сказано — сделано. Потом захотелось, что бы в темное время при открытии входной двери включался свет в прихожей. Геркон в дверь, работает. Потом захотелось, чтобы дверной звонок можно было отключать. Ок, сделал. Потом захотелось, чтобы идя ночью в туалет, включалась маленькая лампочка. Ок, подключил датчик движения. Ну, а раз у меня есть такой вот умный выключатель — не подключить ли его к компьютеру? Подключил. В общем, после примерно пяти итераций железа и сотен, если не тысяч итераций софта — получился такой вот контроллер освещения.image

Что он умеет?

4 канала освещения, с плавной регулировкой; Реле дверного звонка, или замка; Датчик открытия двери, движения, кнопка звонка; Приемник ПДУ RC-5. Контроллер освещения и отопления Следующим этапом стал ремонт в санузле. А что самое главное в туалете и ванной? Освежитель, книга или планшет. Теплый пол. И еще есть вентилятор, и пара каналов света. И хочется, что бы ночью открыть дверь и слабый свет сам включался. А потом включался вентилятор на пару минут. Так, стоп. 4 выхода. Ага, есть же контроллер освещения! Немного его переделал, и в итоге получился контроллер освещения и теплого пола. Забегая вперед — потом он был разделен на два немного разных логически устройства — для отопления и для ванных-балконов-кухонь. В первом подключаются три датчика температуры, один в контуре управления, два просто для измерений; например, наружной температуры и, например, температуры теплоносителя. Второй же остался с одним датчиком температуры, зато обзавелся парой датчиков протечек. Вот он на фото: image

Что он умеет?

2 канала освещения, с плавной регулировкой; Выход для вентилятора; Выход для подключения нагревателя; Реле управления мощностью обогревателей (для отопления) или исполнительного механизма защиты от протечек (для санузлов); Датчик открытия двери. Потом занялся балконом. Там тоже пара каналов света, теплый пол. Второй контроллер обзавелся братом.

Контроллер электроснабжения Все работало, все было хорошо, пока я не поехал в отпуск… Вернулся — холодильник не работает. Вскрытие показало выгоревший варистор и предохранитель. Понятно, скачек напряжения, хорошо, что ими двумя все и ограничилось. Поменял, заработало. Но беда не приходит одна, через пару недель то же самое случилось и с кондиционером.Надо что-то делать. Что? Правильно, контроллер для защиты электросети.image

Что он умеет?

Два канала измерения напряжения, например до и после нормализатора или бесперебойника; Измерение тока; Реле отключения потребителей на время превышения напряжения; Выход на независимый расцепитель для полного отключения всего; Настраиваемые пороги защиты, подсчет потребляемой мощности — мгновенной, за час, за сутки, полной. Контроллер водоснабжения и полива В это же время сменил работу, стал более лучше одеваться зарабатывать, купил машину и накопил немножко денег. А что делает городской житель с машиной и некоторой суммой свободных денег? Покупает дачу. Я не стал исключением. Электричество там было постоянное, а вот с водой было хуже. Была труба, из которой через день еле-еле что-то там текло. Задача понятна, нужна бочка, насосная станция и бойлер. Ну и конечно же еще один контроллер. На этот раз водоснабжения и полива.Но тут начинается интересное — датчики давления и уровня воды, датчик влажности почвы. Промышленные стоят совсем не гуманно, поэтому решил сделать сам. Уровень воды в баке — сначала попробовал емкостный, не получился. И разные датчики, и разные схемы — никак. Ладно, попробую другой принцип, ультразвуковой, благо их в Китае много недорогих. Заработало. Заодно туда же добавил датчик влажности и температуры.

image

Давление. Где еще измеряют давление жидкостей? Ага, автомобиль! У меня выбор пал на ГАЗовский датчик давления масла. По параметрам 0–6 атм, резьба такая же как и на водопроводных стрелочных манометрах. Были сомнения насчет коррозионной стойкости –, но года три уже все работает. Можно заранее менять, благо стоят они копейки. Вот он, слева от манометра. Расходомер сделал на основе обычного счетчика воды, приклеив на крыльчатку магнит, а на корпус — датчик Холла.

image

Датчик влажности почвы. Тоже сделал емкостной, но не срослось, в итоге просто меряю сопротивление двумя щупами. Ну и температура почвы, пусть будет.

image

Получилось как то так (да, внешне они все одинаковые):

image

Что он умеет?

Выходы для насосной станции, водонагревателя и клапана набора воды в бак; Выносной датчик уровня воды в баке, влажности и температуры; Выносной датчик влажности и температуры почвы; Два датчика давления, расходомер, контроль автоматики насосной станции; 4 канала управления клапанами полива; Контроллер RGB лент Потом дома захотелось сделать декоративную подсветку. Купил RGB лент, а как управлять? Покупать готовое? Не мой метод, делаем контроллер интерьерной подсветки. Вот такой: image

Что он умеет?

4 ШИМ выхода для светодиодных лент, RGB + белый; и больше ничего. Шлюз RS485 — Ethernet Все хорошо, но RS485… Куда его? Было несколько вариантов, опишу в следующей части, в итоге все свелось к еще одному контроллеру. К нему же подключил и привод въездных ворот.image

Что он умеет?

4 дискретных и 3 аналоговых входа, 2 релейных выхода. Часы реального времени. И самое главное — шлюз RS485 — Ethernet. Подводя итоги Хотелось бы рассказать о некоторых нюансах с моей точки зрения.Почему RS-485, а не беспроводные интерфейсы? Почему не Wi-Fi? Я не помню уже где, но услышал такую фразу — там, где можно проложить медь, там нужно проложить медь. Как можно заметить, для внедрения этой системы надо практически полностью переделывать проводку. Так почему бы не проложить дополнительно сигнальные провода? Что лучше — не вовремя садящиеся батарейки, забитый эфир или старая добрая медь?

Почему не ARM с линуксом, а древний 8-ми битный контроллер? Как же интернет вещей? Все просто — принцип разумной достаточности. Зачем использовать мегабайты памяти и линукс для того что бы зажечь лампочку? Да и в любом случае силовая часть, входные цепи и прочее будут такие же точно.

Почему не сенсорные экраны, кастомные выключатели, мобильные телефоны, планшеты, голосовое управление? Я считаю, что интерфейсы должны быть единообразны. Проснувшись ночью попить воды, я не хочу разбираться, какую из 5 кнопок мне нажать, что бы включить свет. Я хочу нажать на стандартный выключатель, попить воды и лечь спать дальше. Я не хочу каждому из приходящих, рассказывать, что надо сделать, что бы у меня дома включить свет. Одно дело с планшета настроить расписание полива или освещения, задать границы допустимого напряжения для защиты, и совсем другое — включить свет.

А как же управление через интернет? Конечно, управление через интернет есть. Я могу откуда угодно делать что угодно в рамках реализованного в железе. Но есть одно, но — все контроллеры должны быть автономны и выполнять свои базовые функции безо всякой сети, интернета и прочих серверов. Если я забыл заплатить за интернет — я не хочу остаться без света. Если у меня на даче плохая связь — я хочу просто нажав кнопку на контроллере — включить насос и бак. А расписание полива — можно настроить и потом.

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

© Habrahabr.ru