Разработчик отремонтировал старую умную кормушку для кошек PetNet с помощью ESP8266 - «Умные Новинки»
- Morgan
- 04-фев-2024, 10:01
- 0 комментариев
- 619 просмотров
Разработчик Джефф Сэндберг отремонтировал старую умную кормушку для кошек PetNet с помощью микроконтроллера ESP8266.
Сэндберг пояснил, что много лет назад он купил умную кормушку для кошек PetNet. Его устраивал сам гаджет и удобное мобильное приложение, которое позволяло устанавливать график подачи еды и раздавать корм небольшими порциями по сравнению с конкурентами. Несколько лет всё работало довольно хорошо, но в середине 2020 года компания, создавшая продукт, обанкротилась и закрыла свои серверы. Устройство подачи в PetNet продолжало работать какое-то время, но был закрыт доступ к возможности настроить какие-либо параметры. В итоге кормушка вообще перестала работать.
«Намереваясь починить кормушку "когда-нибудь в будущем", я поставил PetNet в гараж и забыл о ней на несколько лет. Недавно я начал возиться с настройкой HomeAssistant, создавал новую панель управления и заставлял жену ею пользоваться, а также начал чувствовать зуд из-за сломанной кормушки для кошек. Подумав, что это не будет слишком сложно, я купил ESP8266 и открыл податчик лотка гаджета», — уточнил Сэндберг.
По словам разработчика, внутри кормушка представляла собой смесь простого и сложного. Из простого: всё, что действительно должно произойти, — это включение двигателя через определённые промежутки времени на несколько секунд. Сложность в том, что в устройство встроили гораздо больше опций, чем было действительно необходимо. Эта штука покрыта датчиками, включая весовой контроль (2 датчика) для измерения веса контейнера и веса порции выдаваемой еды, пара инфракрасных датчиков для определения того, когда контейнер пуст, а также датчики, которые контролируют вращение и положение двигателя, и, возможно, ещё другие, которые Сэндберг не нашёл или не понял для чего они нужны в гаджете.
Датчики разработчика особо не беспокоили. Всё, что нужно было здесь сделать, то это запустить двигатель на определённое время через фиксированный интервал времени. Сэндберг также хотел иметь возможность запускать двигатель удалённо со своего смартфона или аналогичного интерфейса. Оказалось, что это довольно легко сделать с помощью ESPhome.
Подключение контроллера не составило особого труда. Питание также получилось завести на ESP8266 от штатного блока питания кормушки. Двигатель, датчики и всё остальное в гаджете подключаются к основной плате через небольшие разъёмы JST. Для управления двигателем Сэндберг использовал реле, подключив его напрямую к входящему источнику питания и двигателю. Поскольку встроенный источник питания обеспечивает напряжение 5 В, а двигатель рассчитан на 5 В, то разработчик также запитал плату ESP8266 по 5 В. Автор также использовал выход 3,3 В для питания релейной платы и запуска контроллера через контакты GPIO.
Оказалось, что с ESPHome нет никаких проблем в программной части. Прошить контроллер и подключить его к системе HomeAssistant было настолько тривиально, что Сэндберг был поражен такой простотой.
«Я просто подключил ESP8266 к своему компьютеру, зашёл на веб-сайт ESPHome и, используя возможности WebSerial, прошил её базовой прошивкой ESPhome и настроил её на своём Wi-Fi. После этого HomeAssistant "увидел" устройство и дал мне возможность его использовать. Весь этот процесс занял около 5 минут. Это быстрее, чем установка и внедрение некоторых специальных систем "умного дома"», — рассказал Сэндберг.
Изменить код контроллера, чтобы он действительно выполняло то, что нужно было разработчику, оказалось также не особо сложно. Используя примитивы ESPHome, Сэндберг настроил выходной контакт GPIO и объект «кнопки», чтобы активировать нужный контакт на полторы секунды. Наконец, он настроил объект «таймер», который запускает нужную кнопку в несколько фиксированных моментов в течение суток.
Собрав устройство обратно, Сэндберг включил кормушку и добавил в контейнер немного кошачьего корма.
«Нажав кнопку в HomeAssistant, я радостно наблюдал, как из дозатора высыпается корм для кошек. Нажатие кнопки во второй раз привело к проблеме с отсутствием новой порции кошачьего корма и появлению жужжания двигателя. После некоторых проб и ошибок я в конце концов перешёл на гранулы корма для кошек меньшего размера, а затем, в конечном итоге, на другой источник питания по USB. На заводской табличке оригинального устройства, поставляемого с кормушкой, было указано 5 В, 1 А, но после проверки с помощью мультиметра я получил только 3,3 В и едва 100 мА. Теперь дозатор срабатывает радостно и стабильно, а наш кот больше не пристаёт к хозяевам в течение дня, требуя ещё еды», — пояснил Сэндберг.
Разработчик выложил на GitHub исходный код для конфигурации кормушки для кошек, которую он доработал из PetNet с помощью ESP8266.
«Кроме того, это не основной источник пищи для моего. Он получает две миски влажного корма в день, поэтому сухой корм в основном предназначен для дополнительного питания и здоровья зубов», — подытожил Сэндберг.