Умный дом для геккона и сверчков: год спустя

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

Дисклеймер

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

Выявленные проблемы

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

  1. Завязка на автоматизации во внешнем сервере. Сценарии обогрева были прописаны на Home Assistant. И зависание сервера привело к остановке его работы. Хорошо, что я догадался заранее сделать закладку в коде микроконтроллера на этот счёт, чтобы он выключал обогрев, если не получает корректирующий сигнал. В результате в один прекрасный день геккон был немного недогрет, зато не прожарен.

  2. Использование беспроводных датчиков. Зигби и беспроводные технологии это восхитительно. Но ровно до тех пор, пока работает безукоризненно или на них не завязано никаких критичных вещей. А в моём случае я столкнулся со странной спецификой работы то ли датчиков, то ли софта, в результате которой при отвале датчиков на сервере я получал константную температуру. И когда она была низкой, то лампа в результате не переставала греться… И это тот самый случай, когда всё могло бы закончиться плохо, если бы я не смотрел за гекконом глазами и не имел бы механического термометра.

  3. И всё же влажность влажна. То есть, важна. В комментариях к прошлому посту я писал, что в результате отрубил увлажнитель, так как и без него всё неплохо. Но сравнение линьки с увлажнителем и без него однозначно показало, что легче мини-дракон линяет при наличии увлажнителя.

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

  5. Прототип должен быть легко разборным. Хочется сразу сделать суровую коробку и всё там намертво зафиксировать, но это очень сильно затрудняет отладку и ремонт.

  6. Греющая лампа сильно сушит воздух в террариуме и разогревает его крайне неравномерно. Для меня было удивительно, что температура и влажность оказались супер локальным явлениями и могут значительно отличаться на расстоянии в жалких 10 сантиметров!

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

Новые решения

  1. Проводной датчик температуры. Теперь в террариуме стоят два датчика Dallas, которые не боятся влажности и довольно точно меряют температуру. Беспроводные датчики остались (фиг их отклеишь), но служат как источник дополнительных данных. Кстати, за год батарейки в них просадились всего до 57%. Так что не стоит верить странным людям, которые твердят про постоянную замену батареек.

  2. Вместо реализации логики на стороне Home Assistant, я унёс её внутрь микроконтроллера. Теперь он сам узнаёт время суток, понимает требуемую температуру, сравнивает её с текущей, ставит мощность диммера и включает \ выключает лампу освещения. Ну, а Home Assistant служит чисто для мониторинга и алертов.

  3. Механические реле были заменены на твердотельные. Да, там предельный ток меньше… Но на лампы и увлажнитель хватает с лихвой. Ничего больше не щёлкает и не залипает.

  4. Увлажнитель я заменил на другой, в комплекте с хоботом, чтобы не колхозить. А хобот направил в террариум. Правда, оказалось, что минимальная мощность увлажнителя превращает дом геккона в что-то из Silent Hill. Было лень думать, как сделать мощность ещё меньше, так что я вспомнил постулаты ТРИЗ и настроил микроконтроллер, чтобы он включал увлажнитель раз в минуту на 15 секунд. Отлично работает!

    xmxmfquy1s0ybq7xkjwoyeuq3d8.png
  5. На смену бинарной логике греющей лампы пришёл диммер. Теперь, вместо того, чтобы включать обогреватель на полную, он включается лишь на часть мощности в зависимости от разницы температур. Да, в силу того, что система инертна, в результате график температуры выглядит как синусоида -, но колебания выходят не больше, чем в пол градуса.

  6. Под террариум добавился греющий коврик. Он не может нагреть стекло и подстилку над ним до опасной температуры, но поднимает её без потери влажности внутри. Забавно, но оказалось, что при наличии постоянно одинаково работающего коврика и включащейся днём лампы получается почти тот же самый режим, что я старался сделать греющей лампой. Так что сейчас она включается реже — только когда температура сильно упала по всему дому.

Будущие доделки

В прошлом посте я писал про то, что доволен тем, что получилось, и думал, что это финальная версия. Но год мелких доработок показал, как я был неправ. Да и скажем честно — мне приятно и интересно этим заниматься. Так что на будущее я меня запланировано следующее:

  • собрать удобный корпус для всего этого

  • добавить термореле на случай восстания машин

  • Поменять Wemos D1 на что-то с большим количеством памяти, а то предел почти достигнут

  • Добавить локальный звуковой алерт

  • добавить красивый дисплей. Лучше, чем с Home Assistant, не будет, но прикольно же!

  • добавить кнопку для обозначения кормления, и алертинг, если животное долго не кормили

  • добавить амперметр, чтобы видеть, что какой-то из потребителей (коврик, лампа, увлажнитель) сломался и его надо менять

Сверчки? Что сверчки?

Ах, да. Сверчки. Геккону полезно есть их свежими, а не замороженными или консервированными. Так что в какой-то момент дома появилась и эта нечисть. И конечно же мне сразу стало интересно, как максимизировать их продолжительность жизни. Оказалось, что для этого им нужно поддерживать температурный режим и низкую влажность. Казалось бы — что проще? Однако как раз влажность они каким-то образом повышают сами! Ну или может быть она идёт от корма. В общем, эта задача была проще, чем с гекконом, и решилась датчиком, греющим ковриком и вентилятором. После этого они стали жить по несколько недель и довольно сверчать ночами. Пока что я удерживаюсь от того, чтобы дать им условия для размножения, и просто периодически закупаю новых. Но не знаю, сколько ещё смогу держать себя в руках…

yxxzoqamvlufnogbjc6u4u5muwe.png

Бесплатный бонус

Во время сбора датчиков температуры, я умудрился снова заболеть ковидом. А градусника дома не было. Немного подумав, я взял датчик Dallas и замерил температуру им — получилось довольно точно! Хотя детей вид отца с торчащим из-под руки проводом немного удивил. Хотя нет, кого я обманываю. Вообще не удивил, они меня уже много лет знают!

Если вы тоже хотите автоматизировать своего геккона

Код управления диммером террариума
Код управления увлажнителем
Код дома сверчков

© Habrahabr.ru