Умный дом, как я до такого докатился. Часть 4-я

в 16:24, , рубрики: 1-wire, diy или сделай сам, esp-07, esp8266, Железо, мой опыт, умный дом

Умный дом, как я до такого докатился. Часть 4-я - 1 В первых трех частях я рассказал как у меня возникла идея (необходимость) построения “умного дома” и как я ее воплотил в жизнь.

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

Ну и небольшой спойлер: под катом будет краткое описание “очередной поделки на esp8266 с преферансом и куртизанками”.

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

Первый — централизованность. Да, это плохо, да, об этом я знал, но опыта производства конечных автономных устройств не было, да и выбранный в качестве основного протокол 1-Wire такой возможности не предоставлял.

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

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

Второй — ограничение на топологию шины 1-Wire + моя неопытность.

Да, я читал что должен быть центральный ствол и лишь небольшие ответвления, об этом много где написано. Но проект расширялся весьма непредсказуемо и при этом все вроде как работало. А потом, в один “прекрасный” момент, работать перестало. Т. е. отключаешь часть устройств, все нормально, включаешь опять и сигнал начинает “плавать”. Заменил часть основных линий на экранированные, минимизировал ответвления, но сделать полноценную единую шину без перфоратора и существенной порчи отделки уже нет возможности. В итоге разбил сеть на два сегмента, вывел на два отдельных контроллера, но, тем не менее, раз в пару месяцев опять возникала проблема когда устройства начинали выпадать из сети. Помогало только полное выключение всей системы с последующим включением, а эта процедура весьма не тривиальная и без меня мои домашние провести ее не в состоянии.

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

Вся система размещается в стандартной телефонной розетке.

Умный дом, как я до такого докатился. Часть 4-я - 2

Разводка четырехжильным телефонным проводом.

Умный дом, как я до такого докатился. Часть 4-я - 3

Питание пассивное. Для бассейна заказал водонепроницаемую версию датчика.

Умный дом, как я до такого докатился. Часть 4-я - 4

Теперь папа смотрит температуру на компьютере.

Вот так:

Умный дом, как я до такого докатился. Часть 4-я - 5

Ну и с графиками:

Умный дом, как я до такого докатился. Часть 4-я - 6

Схема модуля

Умный дом, как я до такого докатился. Часть 4-я - 7

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

Итак, вашему вниманию представляется “esp07_4PIO_6S v2”.

Вид сверху:

Умный дом, как я до такого докатился. Часть 4-я - 8

Вид снизу:

Умный дом, как я до такого докатился. Часть 4-я - 9

В прошлый раз большой проблемой было подбор корпуса, так что в этот раз я плясал именно от корпуса. Поскольку в наличии были корпуса от старых моделей медиаплеера Dune, выбор пал на них. После доработки напильником (отверстия под входы и выходы у медиаплеера немного другие, завести 220v на разъем HDMI не удалось :) ) подошло идеально. Только датчик температуры пришлось снаружи делать, так как внутри начинка нагревает воздух.

Входы и выходы на 220v

Умный дом, как я до такого докатился. Часть 4-я - 10

Входы и выходы на 5v и 12v

Умный дом, как я до такого докатился. Часть 4-я - 11

Что может данный модуль и почему он лучше чем старая система?

  • Для монтажа не требуется никаких дополнительных проводов. Питается он от той же сети, что и управляет.
  • При отключении или недоступности центрального сервера или Wi-Fi он переходит в offline режим и осуществляет управление по автономному сценарию (сценарий под каждую зону может быть свой)
  • Снимает данные о температуре/влажности/освещенности в комнате.
  • Управляет 4-мя устройствами 220, считывает данные с 6 датчиков типа “сухой контакт”.
  • Способен самостоятельно отправлять данные на thingspeak.com и аналогичные системы.
  • Реагирует быстрее чем старая система (не то чтобы это было проблемой, но раньше каждый датчик опрашивался два раза в секунду, что могло дать суммарный лаг более чем в секунду). Эта система работает по прерыванию.
  • Умеет обновлять прошивку “по воздуху”.

Схема

Умный дом, как я до такого докатился. Часть 4-я - 12

Такую плату развести в один слой не удалось, так что пришлось осваивать двусторонний ЛУТ:

Плата

Умный дом, как я до такого докатился. Часть 4-я - 13

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

Учитывая пожелания к прошлым статьям, схемы и код доступны на github. Старые тоже там есть, вдруг кому пригодятся.

Как-то так. Ставьте лайки и подписывайтесь на новые видео :) Шутка, все равно новая статья если будет, то через пару лет, чукча не писатель :P

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

Автор: sashacmc

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js