Умный дом, который я полностью сделал сам

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 20:51

Привет, дорогие мои.

Посчастливилось приобрести двухуровневую квартиру в новом многоквартирном доме в маленьком уютном городке, где можно спрятаться на время от шума и безумия мегаполиса.

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

Задачи я поставил следующие:

1. Свет в прихожей / коридоре

- Плавное включение / выключение
- Управление из трех точек
- Чтобы включался сам при открытии входной двери
- Чтобы выключался, если 15 мин нет движения
- Ночная подсветка, включающаяся при движении. С возможностью программного отключения этой функции.

2. Свет в ванной / туалете

- Плавное включение / выключение
- Низковольтное питание с гальванической развязкой (для безопасности)
- При выключении света - включение ночной подсветки в коридоре

3. Входная дверь

- Чтобы свет в прихожей / коридоре включался при ее открытии (упомянул в п. 1)
- Если дверь не закрыта на ключ / задвижку более, чем 10 мин - подавать звуковой сигнал в течение 15 мин. С возможностью программного отключения этой функции.

4. Охранная функция, режим "никого нет дома"

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

5. Вентиляция

- Включение вытяжки (общей на туалет и ванную) через 1 мин после включения света в ванной / туалете
- Выключение вытяжки через 5 мин после выключения света в ванной / туалете

6. Теплый пол

- Возможность удаленного включения / выключения теплого пола в ванной и в прихожей

7. Снятие показаний со счетчиков воды и газа

- Вести ежедневный журнал показаний
- Возможность удаленного считывания показаний
- Автоматическая ежемесячная рассылка писем с показаниями в ТСЖ и ГМК
- Автономная работа при пропадании электричества

8. Водоснабжение

- Контроль протечек. При обнаружении протечки - перекрыть воду, прислать уведомление и истошно пищать
- Возможность удаленного открытия / закрытия общей подачи воды

9. Источник бесперебойного питания

- Использовать для аварийного питания котла и света в коридоре, ванной, туалете
- Получать уведомления при пропадании и появлении электричества
- Контроль ИБП (заряд АКБ, режим работы) через общий интерфейс

10. Термостат на котел

- Возможность контролировать и устанавливать температуру на самом термостате
- Возможность удаленного считывания параметров термостата
- Удаленное управление термостатом

11. Контроль газового котла

- Когда котел становится в аварию - прислать уведомление
- Возможность удаленной перезагрузки котла по питанию

12. Мансардные окна

- Возможность удаленного открытия / закрытия и получение текущего положения
- Автоматическое закрытие при дожде
- Автоматическое закрытие при постановки на охрану

13. Фильтры для воды

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

14. Интерфейс

- Общий графический интерфейс всей системы, доступный через интернет
- Резервный канал в виде GSM терминала и управления через SMS

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Сообщение Andrew_A » 22 янв 2018, 20:57

Теперь про реализацию.

Вот центральный "мозг" системы в электрическом шкафу:
Щит_l.jpg
Щит_l.jpg (131.09 КБ) 7257 просмотров
Решил отвести для системы и водных коммуникаций часть пространства туалета (благо, помещение там глубокое), все закрывается с помощью рольставни - эстетично и удобно:
Общий_Вид_l.jpg
Общий_Вид_l.jpg (92.73 КБ) 7257 просмотров
Мой интерес был сделать все максимально самостоятельно, без использования каких-то готовых решений и ардуин.

Я разбил всю систему на простые блоки для удобства разработки и отладки. Для каждого блока нарисовал свою печатную плату, потом объединил все платы в одну заготовку и в таком виде послал в Резонит. За два комплекта плат вышло совсем недорого (<3 т. р.)

В качестве контроллера всей системы выбран безвентиляторный одноплатник на базе Atom Z530 и самой обыкновенной Windows 7. Выбор не очевидный, но реализация многих задач в этой среде относительно легка, и под Windows я неплохо умею программировать.

Для питания всей системы (в т. ч. роутера, Ethernet коммутатора, USB хаба и PC) я использовал единый блок питания на 12В 60Вт. При использовании раздельных БП общий КПД будет ниже, что отразилось бы на счетах за электричество, учитывая работу системы в режиме 24/7.

Практически вся моя профессиональная карьера так или иначе была связана с технологиями беспроводной передачи данных, по большей части в сфере IoT. Поэтому мой умный дом, конечно же, я сделал полностью ... проводным ! :lol: Да-да, не люблю смешивать работу и хобби.
В пользу проводов помимо этого, выступили надежность, простота реализации и полное отсутствие химических источников тока (т.е. необходимости в регулярном обслуживании). Ну разве что кроме аккумулятора в ИБП, но это не считается :)

На всю систему ушло несколько сотен метров 4-проводной полностью медной витой пары. Закладывалась вместе со всей электрикой на этапе ремонта.

В последующих постах я рассказу о реализации каждой функции из своего "ТЗ". Ну и конечно, буду рад вашим комментариям.
Последний раз редактировалось Andrew_A 22 янв 2018, 22:02, всего редактировалось 1 раз.

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 21:11

1. Свет в прихожей / коридоре
2. Свет в ванной / туалете


Конечно же, высокотехнологичное освещение должно быть как минимум светодиодным :)
Сначала была идея использовать светодиодную ленту и потолочный карниз для нее. Но идея отмелась ибо:

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

По каким-то неведомым причинам мне крайне симпатизируют лампы GX53. Хотя все говорят, что это обреченный стандарт прошлого, мне прям очень нравится. Решил использовать их !

Но у нас задача сделать плавное включение / выключение. И для ночной подсветки нужно заставить светиться лампы еле-еле (не делать же для нее отдельные светильники).

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

И я решил переделать GX53 на работу с пониженным постоянным напряжением, регулировать яркость с помощью обычного ШИМ, и питать все лампы от отдельного AC-DC. Еще плюс - при 100% яркости полное (не как обещают в рекламе, а правда полное) отсутствие мерцания.

Сложнее всего было подобрать подходящие модели ламп и переделать их. Перебрал с десяток разных моделей, нашел одну подходящую с 18 светодиодами - при падении ~3В на каждом выходит около 54В всего. Напряжение идеально - не слишком большое с точки зрения безопасности и не слишком маленькое с точки зрения сечения проводов.

В лампе также нужен балансировочный резистор в 10ом (все-таки током питается) и мост для подключения в любой полярности. К счастью, и то, и другое там уже было (резистор играл защитную роль), но штатный драйвер пришлось закоротить:
GX53_l.jpg
GX53_l.jpg (66.13 КБ) 7260 просмотров
Для питания ламп использовал AC-DC AD-155C, имеющий регулируемый выход 48..58В и мощность 155Вт. Когда все лампы выключены более 10 сек., контроллер отключает его через твердотельное реле для экономии электричества в дежурном режиме.

Вся схема светильников:
Свет_low.png
Свет_low.png (56.96 КБ) 7269 просмотров
Выключатели в коридоре - клавишные без фиксации (отмечены точками на схеме). В ванной / туалете - с фиксацией. От них идет управление на контроллер, коммутируют они 12В. Чтобы в них работала подсветка, пришлось уменьшить сопротивление резистора в подсветке в 10 раз.

В контроллер также идет сигнал от PIR датчика (см. схему). По этому сигналу контроллер включает ночную подсветку в коридоре, а также выключает свет в коридоре/прихожей, когда там 15 мин никто не ходит.

Сам датчик (Brennenstuhl 1170900) пришлось переделать на питание от 12В - выкинуть штатную схему питания и заменить на DC-DC 12>24В.

Также в контроллер приходит сигнал от контроллера входной двери (о нем позже) - когда дверь открывается, включается свет в коридоре / прихожей.
Последний раз редактировалось Andrew_A 22 янв 2018, 22:00, всего редактировалось 1 раз.

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 21:18

3. Входная дверь

По входной двери две задачи - определять когда она открывается и когда не закрыта на ключ.
В двери используется только нижний замок - с внутренней стороны на нем вертушка. Т. е. достаточно проверить, выдвинут ли ригель. Я решил сделать оптопару в окне косяка двери - выдвигающийся ригель будет ее перекрывать. С конструкцией двери мне повезло - в окно косяка вставлен пластиковый декоративный стакан. Вынул его, просверлил в нем отверстия и вклеил в них SMD ИК фото- и светодиод, поставил обратно (на фото провод еще внутри стакана, без оптопары):
косяк_двери_low.jpg
косяк_двери_low.jpg (62.53 КБ) 7267 просмотров
Разница напряжения на фотодиоде при открытом и закрытом замке составляло около 1В. Но ток в цепи всего ~0,1мА - сигнал по неэкранированному проводу можно передать максимум на пару метров. А от двери до "мозгов" примерно 15м. Да еще дверь должна писком сообщать, что ее забыли закрыть - логично, чтобы писк этот шел со стороны самой двери. Поэтому пришлось ставить промежуточный контроллер с АЦП для оптопары и пищалкой (отключаемой со стороны "мозгов", соответственно, интерфейса). Решено было спрятать его в глубоком подрозетнике от выключателя света в прихожей, куда был кинут провод от оптопары:
Подрозетник_l.jpg
Подрозетник_l.jpg (45.99 КБ) 7259 просмотров
Позже выяснилось, что при закрытии замка на один оборот ригель не доходит до оптопары. Но этот баг я переименовал в фичу - при одном обороте ригель входил в окно косяка всего на 3..5 мм - ненадежно. Так что автоматика требует минимум двух оборотов ;)
Последний раз редактировалось Andrew_A 22 янв 2018, 22:01, всего редактировалось 1 раз.

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 21:19

4. Охранная функция, режим "никого нет дома"

Функция чисто программная. В интерфейсе есть переключатель присутствия, задающий конфигурацию системы.

Оповещение при открытии двери / срабатывании PIR датчика в режиме охраны предполагается в виде SMS. Кто-то делает сирену (ага, соседи будут рады), кто-то шокер к дверной ручке (опасная шутка), но на мой взгляд, единственное верное решение - вневедомственная охрана. В ней я смысла пока не вижу, а SMS сообщение будет больше "для своих".

Была идея повесить USB камеру на входную дверь - приходило бы не только уведомление, но и фото / видео с нее (как при разблокировке айфона), но как-то не срослось ... Так уж повелось, что я не Наф-Наф ...

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 21:21

5. Вентиляция

Я уже писал, вытяжка одна на туалет и ванную:
Вентиляция_low.jpg
Вентиляция_low.jpg (46.25 КБ) 7266 просмотров
Поскольку логика ее включения завязана на освещение, то ей управляет контроллер освещения. Кстати, вот он поближе:
Контроллер_света_low.jpg
Контроллер_света_low.jpg (97.88 КБ) 7266 просмотров
Включается через минуту после включения света в ванной или туалете и выключается через 5 мин после выключения света в ванной и туалете.

P. S. Во всем проекте используются реле китайской фирмы HUI :ugeek: точнее, HUI KE. Такая вот была у меня мечта идиота :mrgreen: Заказывал прямиком из Китая, в России в розницу не найти. Но зато бренд весьма известный и относительно надежный, и обошлись мне они по ~15р. за штуку. Коммутируют в основном сигнальные линии, но одно включает вытяжку.

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 21:26

6. Теплый пол

Теплый пол у меня в ванной и в прихожей. В обоих случаях используются обычные механические термостаты. Блок управления вынесен в отдельный конструктив (термостат ванной в нем же, термостат прихожей - на стене):
Теплый_пол_low.jpg
Теплый_пол_low.jpg (46.76 КБ) 7265 просмотров
На нем два трехпозиционных переключателя (всегда вкл / всегда выкл / удаленное управление). Внутри - двухканальное USB реле:
USB_реле_low.jpg
USB_реле_low.jpg (52.3 КБ) 7265 просмотров
Это, пожалуй, единственный готовый блок, который я применил. Заказал из Китая с другим барахлом за пару сотен рублей. Определяется как HID устройство, управление элементарно. Подключается напрямую к PC.

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

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 21:31

7. Снятие показаний со счетчиков воды и газа

А вот тут интересная история.
Изначально все предполагалось до смешного просто - перед счетчиками ставится по самой дешевой USB Web камере с подсветкой, и пишется утилита, фоткающая счетчики и отправляющая эти фото по заданному адресу с текстом по заданному шаблону. Эту утилиту я даже написал и довел до ума (кому надо - пишите в личку, работает под Win XP/7/8/10 и с большинством USB камер).

Но не всегда все идет так, как запланировано ...
Газовый счетчик было решено поместить в короб и закрывать его рольставней:
Счетчик_газ_котел_low.jpg
Счетчик_газ_котел_low.jpg (45.34 КБ) 7264 просмотра
Так вот, закрытая рольставня получилась почти заподлицо со счетчиком (не уследил за строителями, да и не получилось бы по-другому). А камера должна смотреть на счетчик с некоторого удаления. Облом !

Сначала мой воспаленный мозг порождал дикие идеи:

- Поставить мотор на открытие рольставни, а камеру - на роботизированный складывающийся кронштейн. Когда надо сфотать - рольставня открывается, из короба выдвигается камера. Потом убирается / закрывается. Не, ничего не курил, я этим не увлекаюсь :)]

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

В результате, разум восторжествовал и я отказался от камер в пользу классического подсчета импульсов. С радостью выяснил, что для моего газового счетчика можно купить внешний геркон, выглядит так (фото из инета):
bk-g4_low.jpg
bk-g4_low.jpg (18.83 КБ) 7264 просмотра
Ну а с водяным проще - как раз подошло время поверки и я заменил его на модель с импульсным выходом.

Устройство для подсчета импульсов сделал такое:
Счетчик_корпус_low.jpg
Счетчик_корпус_low.jpg (20.38 КБ) 7264 просмотра
Счетчик_low.jpg
Счетчик_low.jpg (63.65 КБ) 7264 просмотра
Оно имеет два импульсных входа от счетчиков, интерфейсную шину RS-485, внешнее питание и ионистор для автономной работы (на фото он с другой стороны платы). При пропадании питания продолжает считать примерно в течение одной недели, потом просто запоминает последнее значение. Подключается к PC через переходник RS-485 > USB. Чтобы не ловить помехи на длинный провод от герконов счетчиков, поставил по одной такой коробке рядом с каждым счетчиком.

PC считывает и обновляет показания на экране интерфейса каждые 5 мин, а также ведет лог ежедневных показаний (для статистики), а раз в месяц рассылает письма с показаниями в ТСЖ и ГМК. Благо, что они по электронной почте показания принимают.
Последний раз редактировалось Andrew_A 22 янв 2018, 22:13, всего редактировалось 2 раза.

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 21:35

8. Водоснабжение

Включает в себя контроль протечек и управление общей подачей воды со стояка.

Датчики протечки применены такие (фото из интернета):
датчик_протечки_low.jpg
датчик_протечки_low.jpg (6.38 КБ) 7264 просмотра
Имеют питание 12В и выход открытый коллектор (могут соединяться параллельно) с нагрузочной способностью до 50мА. По паспорту максимальная длина линии от датчика - 500м (хотя не совсем ясно как это определялось). Это позволило отказаться от индивидуальных контроллеров на каждый датчик, а для гальванической развязки и избавления от помех применить обычное реле на плате контроллера (опять выручает HUI KE :ugeek: ).
Данный тип датчика может как класться на пол контактами вниз (вода будет затекать под него), так и врезаться в пол заподлицо (контакты вверх). Я выбрал второй вариант.

Всего датчика три - под котлом и разводкой отопления, под мойкой на кухне (там еще питьевой фильтр и посудомойка), и в туалете, где вся разводка воды, вводный фильтр и умягчитель. Там же располагается и кран с приводом:
Протечка_Кран_low.jpg
Протечка_Кран_low.jpg (66.38 КБ) 7264 просмотра
Кран я выбрал Neptun Bugatti Pro (фото из интернета):
Kran_s_privodom.jpg
Kran_s_privodom.jpg (53.89 КБ) 7264 просмотра
Соображения следующие:

- Шаровой кран Bugatti (надеюсь, не врут)
- В приводе все шестеренки металлические (проверял сам)
- Есть возможность открыть/закрыть вручную

Кран управляется по трем проводам. Но я заменил провод на пятижильный, подключив к свободным двум жилам концевики крана. Это позволило контроллеру подавать напряжение на кран ровно столько времени, сколько требуется для изменения его положения, а также определять (и выводить в интерфейсе) положение крана, даже если оно было изменено вручную.

Контроллер при срабатывании датчика протечки издает сигнал, который длится до тех пор, пока протечку не устранить. И, разумеется, перекрывает воду.

Через интерфейс можно не только контролировать протечки, но и посылать контроллеру команды на принудительное открытие / закрытие крана. Использую, когда уезжаю надолго.

Единственный момент - умягчитель может надумать регенирироваться ночью, когда вода перекрыта. И получит облом. Но эту проблему я буду решать организационно, подключать к системе еще и умягчитель будет излишне, я считаю (тем более, что никакого интерфейса у него нет).
Последний раз редактировалось Andrew_A 22 янв 2018, 22:14, всего редактировалось 2 раза.

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 21:37

9. Источник бесперебойного питания

Через него питается котел, вся электрика умного дома, а также свет в коридоре, ванной и туалете.
Я выбрал CyberPower CP900EPFCLCD (фото из интернета):
UPS_low.jpg
UPS_low.jpg (18.19 КБ) 7264 просмотра
Он "компьютерный", не для котлов, но на выходе чистый синус - с котлом работает отлично. Тип - интерактивный.
Время автономной работы у него невелико, но у меня задача не работать максимально долго, а избавиться от кратковременных пропаданий напряжения (особенность местности), наиболее опасных для техники. Ну и в случае длительного отсутствия электричества спокойно передать SMS уведомление через GSM терминал (по интернету не получится, ибо как выяснилось, домовой коммутатор не имеет ИБП), и второе уведомление, когда электроснабжение восстановится. Вообще, если светом часто не пользоваться, хватает его минут на 30 (от режима котла еще зависит).

ИБП имеет USB интерфейс и определяется как HID устройство, подключается напрямую к PC.
ИБП сам раз в две секунды шлет репорты с информацией о его статусе - можно их перехватывать, не мешая работе родной утилиты управления и мониторинга, что и было реализовано в моей управляющей программе. Кстати, возможность использования родной утилиты - еще одно преимущество применения ОС Windows в системе.

Описания протокола этого ИБП я нигде не нашел. Судя по утилите, там информация о текущем напряжении в сети, мощности нагрузки, статусе инвертора, заряде и статусе АКБ. Поковырявшись, мне удалось извлечь только уровень заряда АКБ и статус внешней линии. Но для уведомлений мне больше и не нужно ! Остальные параметры можно посмотреть в родной утилите.

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 21:41

10. Термостат на котел

А вот это самое интересное. Хотелось иметь классический комнатный термостат с дисплеем, но с возможностью удаленного чтения и изменения его параметров. В идеале - по RS485.
Перекопал интернет, и с удивлением нашел такие решения ! Они в основном для управления климатом в номерах гостиниц - с одной стороны можно управлять вручную, с другой - можно изменять установки централизованно (либо задать ограничение на их изменение вручную).

Я приобрел такую модель (брал на Тао):
thermostat_low.jpg
thermostat_low.jpg (46.98 КБ) 7263 просмотра
Слева - переходник USB > RS485 и внешний датчик (внутренний тоже есть).

Помимо RS-485 для себя нашел такие плюсы модели:
- Нет блестящих и крашенных (читай - стирающихся) деталей, вменяемый дизайн
- Гуманный интерфейс
- Продвинутый функционал (программирование на неделю, работа от внутреннего и внешнего датчика и т. п.)
- Подсветка
- Ионистор на часы (время не сбивается при выключении питания, при этом нет батарейки)
- Много настроек (ограничение диапазона температур, гистерезис и многое другое)
- Конечная цена с доставкой <2 т. р. (в России за такие деньги пожалуй только механический)

Из недостатков:
- Немногочисленные (week, room, set) надписи на экране на двух языках: английском и китайском. Иероглифы выглядят эпично ...
- Силовой выход это не просто контакты от реле, а сразу нагрузка 220В - для котла нужен сухой контакт. Решил установкой промежуточного реле.

Скажу сразу - качество изготовления отличное, характеристика "китайское барахло" к этой модели не применимо.

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

Пытался наехать на них и потребовать правильную документацию, но они сказали, что это все, что у них есть (козлы ...)

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

Возможности настройки просто поражают. Вот скриншот утилиты управления, которую я написал:
thermo_control_low.jpg
thermo_control_low.jpg (41.83 КБ) 7263 просмотра
Данная утилита вошла в мое серверное ПО в качестве инженерного интерфейса, в пользовательском же интерфейсе задается только конечная температура и показывается температура в помещении и статус нагрева (включен или нет).

Термостат отлично работает, а больше в общем и ничего не надо ;)
Последний раз редактировалось Andrew_A 22 янв 2018, 22:15, всего редактировалось 1 раз.

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 21:45

11. Контроль газового котла

Признаться честно, изначально такой функции не планировалось.
Сразу оговорюсь - если Вы намерены подойти к этой функции серьезно, будет логично и правильно использовать интерфейс OpenTherm (поддерживается большинством современных котлов). Благо, сейчас доступны такие решения как OpenTherm USB Gateway (правда, по неразумной цене ...)

Когда купил новый котел (Vitopend 100-W A1JB), обнаружил в нем две интересных особенности:

1. Штатный выход на аварийное реле - два дополнительных контакта на клеммнике, на которых появляется 24VDC, когда котел встает в аварию.

2. Если на многих других котлах сбросить ошибку можно только нажав отдельную кнопку (Reset), то эту модель достаточно выключить и включить (перезагрузить по питанию).

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

Идея до смешного проста - у котла вешается реле на 24VDC, которое котел включает, когда встает в аварию. Контакты этого реле замыкают сигнальную линию к контроллеру. Также рядом с котлом вешается второе реле, через НЗ контакты которого подводится питание к котлу, а питание обмотки реле идет к контроллеру. Включив на время это реле, контроллер кратковременно обесточит котел, сбросив таким образом ошибку.

В дополнение к этому, рядом к котлом также располагается третье реле - промежуточное от термостата (см. предыдущий пост). Все три реле было решено разместить в накладном боксе под DIN рейку, рядом с котлом. Кабель от котла применен семижильный: 3 жилы - питание, 2 жилы - реле аварии, 2 жилы реле термостата. Там же - отдельный автомат на котел:
Kotel_Relays_low.jpg
Kotel_Relays_low.jpg (59.55 КБ) 7263 просмотра
Общий вид:
Кухня_Общий_вид_low.jpg
Кухня_Общий_вид_low.jpg (57 КБ) 7263 просмотра
Идея функции проста - если котел уходит в аварию, система посылает SMS уведомление. При желании, можно попробовать перезагрузить котел из интерфейса.

На уровне контроллера реализован алгоритм, выключающий котел по команде минимум на 2 мин, при этом повторное выключение возможно не ранее, чем через еще 2 мин.

Разумеется, функцию удаленной перезагрузки котла нужно использовать с умом - идея перезапуска без понятия причин аварии - не очень хороша. Но если сосед шлет гневное SMS, что сегодня ночью все котлы в доме остановились т. к. был перебой в подаче газа - можно попробовать перезапустить удаленно и сэкономить на романтической поездке за город :)

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 21:48

12. Мансардные окна

Всего два окна, одно из них выглядит так:
Мансарда_low.jpg
Мансарда_low.jpg (39.97 КБ) 7263 просмотра
Приводы еще предстоит купить, склоняюсь к цепным.

Функции такие:

- Вручную открывать / закрывать окна
- Удаленно закрывать / открывать окна
- Видеть в интерфейсе положение окон и идет ли дождь
- Автоматически закрывать окна при начале дождя

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

Теперь датчик дождя. Можно купить готовый, но смущает цена (6-7 т. р.)

А теперь внимание. Это готовый датчик дождя Fakro ZRD для оконной автоматики (стоимость на данный момент ~6.5 т. р.):
FakroZRD.jpg
FakroZRD.jpg (18.09 КБ) 7263 просмотра
А это - купленный мной китайский датчик дождя (стоимость < 100р.):
rain_sensor_low.jpg
rain_sensor_low.jpg (37.48 КБ) 7263 просмотра
Да, в готовом есть хитрость - он с подогревом (для правильного срабатывания при росе и отрицательных температурах). Но это добавляет к конструкции двухваттный проволочный резистор. Грозозащиту (разрядник) тоже можно добавить.

Я думал, что за такую цену в готовом датчике будет хотя бы что-то оптическое (как в авто), но как видите, это обычная печатная плата с полосками, открытая всем непогодам. Даже покрытие у нее на вид обычное (в лучшем случае иммерсионное золочение). В китайском датчике заявлено никелевое покрытие. Объясните, может я не понимаю чего ?

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

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 21:50

13. Фильтры для воды

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

Но поскольку у меня вся поступающая вода идет через отдельный входной фильтр (2x10" BigBlue, механика + уголь), а объем этой воды знает счетчик, показания которого мы имеем, то для входного фильтра можно также считать ресурс в литрах.

Интерфейс до жути простой и выглядит так:
Filters.jpg
Filters.jpg (14.14 КБ) 7262 просмотра
Максимальный ресурс картриджей в месяцах и литрах задается в файле конфигурации. При выходе любого параметра за установленные пределы, этот параметр начинает отображаться красным цветом, а система присылает соответствующее уведомление.

При замене картриджа для обнуления ресурса нажимается кнопка "Замена" и удерживается до заполнения окошка под ней (около 5 сек) - это нужно для защиты от случайного нажатия. При этом в файл конфигурации записывается показание счетчика, которое было при замене картриджа (от этой цифры считается ресурс в литрах), и дата замены (от которой считается ресурс в месяцах).

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 21:55

14. Интерфейс

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

Каждая форма отображается в своей вкладке. При этом на каждой вкладке есть индикатор, отображающий состояние блока. Вот архив со скриншотами всех вкладок:
UI.zip
(106.4 КБ) 143 скачивания
Для простоты управления в оболочке создан полноэкранный режим, объединяющий на дополнительной форме основные элементы управления и индикации:
UI_FullScreen.png
UI_FullScreen.png (51.28 КБ) 7262 просмотра
Планируется реализация Web интерфейса, внешне схожего с полноэкранной формой, в данный момент удаленное управление системой происходит в основном через TeamViewer. Для меня это настолько удобно, что Web интерфейс даже под вопросом.

В системе есть два канала - проводной интернет через роутер как основной и резервный через GSM терминал:
GSM_low.jpg
GSM_low.jpg (30.73 КБ) 7262 просмотра
GSM терминал подключается через RS-232 непосредственно к серверу. Через него осуществляется только управление и контроль через СМС. Интернет будет слишком медленный (ибо 2G) и платить за дополнительный пакет для интернет трафика не хочется.

Отдельно стоит упомянуть разве что о Email уведомлениях. Реализованы на Indy + OpenSSL, SMTPS авторизация на аккаунте mail.ru. Система шлет уведомления на свой же аккаунт, перенаправление на нужных адресатов реализовано в фильтрах входящей почты аккаунта. Для указания в тексте письма значения переменных (показание счетчика, текущая дата и т.п.) применены условные обозначения этих переменных (подсказка по ним всплывает при наведении на форму ввода текста письма). Например, для указания текущего месяца нужно написать %month%, текущее показание счетчика газа обозначается как %gaz%.

Ruslan
Сообщения: 2184
Зарегистрирован: 06 янв 2014, 20:44

Умный дом, который я полностью сделал сам

Сообщение Ruslan » 22 янв 2018, 22:42

Ну что сказать, здорово! Приятно, что люди рассказывают и показывают, как смогли что-то сделать сами и делятся результатами с другими.

В кругу "линуксоидов" (да не обидятся на меня любители пингвинов) бытует мнение, что "винда -- зло", поскольку отличается особой "падучестью". Хочу спросить, как долго работает ваш сервер в режиме 7/24 и не было ли за это время каких-либо проблем со стороны ОС.

Andrew_A
Сообщения: 47
Зарегистрирован: 25 дек 2016, 22:35

Re: Умный дом, который я полностью сделал сам

Сообщение Andrew_A » 22 янв 2018, 23:03

@Ruslan, спасибо !

Да, Windows - не самая хорошая ОС для этой задачи. Я писал об этом. А платформа на Atom Z530 - вообще ужасная платформа для этой задачи, ибо потребляет ватт на 10 (т.е. ~20р. в мес) больше, чем, к примеру, большинство ARM платформ на Linux. Но я уже говорил, что на то у меня есть свои причины. Например, весь софт я сейчас пишу и отлаживаю удаленно. А вопрос с Web интерфейсом через серый IP я решил за 10 секунд с помощью обычного TeamViewer (причем так понравилось, что хочу оставить его как постоянное решение). Кроме функций умного дома, на этом одноплатнике крутится VPN до домашнего сервера, локальная файлопомойка, планирую еще поставить софтовую PBX, чтобы сделать спаренный SIP телефон с домом.

Касательно аптайма. Пару раз терялся удаленный доступ и получался "Салют-7" :D Но это я сам привел систему в такое состояние первыми версиями своего корявого софта. После более-менее стабильного релиза вот уже пару месяцев работает без сбоев.

Сейчас делаю отдельную железку, с помощью которой можно перезагружать сервер и роутер по питанию удаленно через СМС. Вставляется в разрыв интерфейса между GSM терминалом и сервером, и пассивно "слушает" входящие СМС. При получении СМС на перезагрузку, ждет 2 мин. и отключает питание сервера и роутера на 10 секунд. Предполагается, что в течение 2 мин. сервер также получит эту команду и попытается безопасно выключиться перед обесточиванием.

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

Ruslan
Сообщения: 2184
Зарегистрирован: 06 янв 2014, 20:44

Re: Умный дом, который я полностью сделал сам

Сообщение Ruslan » 22 янв 2018, 23:11

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

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Умный дом, который я полностью сделал сам

Сообщение Alex_Jet » 23 янв 2018, 06:59

Спасибо за довольно подробное описание как вы все реализовали - это тоже большой труд!
Несколько вопросов:
1. Купили ли вы плату с импульсным выходом для газового котла? Если да, то дайте ссылку - у меня ничего не получилось. Хотя можно приколхозить обычный геркон.
2. Название датчиков протечки? - выглядят очень солидно! Покадите как он крепится к полу/стене - там двухсторонний скотч??
3. Очень интересно стало другое - это многоквартирный дом в котором заведен газ и нет централизованного отопления??? Каждый жилец сам решает вопрос с отоплением? Если так, то для меня это что-то невиданное. Мы к такому не привыкли.

Nort
Сообщения: 37
Зарегистрирован: 07 окт 2012, 15:46

Re: Умный дом, который я полностью сделал сам

Сообщение Nort » 23 янв 2018, 10:51

Доброе утро:) Спасибо за желание поделиться! Есть вопросик: Можно ли использовать данный термостат для управления теплым электрическим полом?
Andrew_A писал(а):
22 янв 2018, 21:41
Я приобрел такую модель (брал на Тао):

Ответить