Архив рубрики: Микроконтроллеры

Приручаем кормушку для собаки

А вот, собственно, и то, с чего началось мое близкое знакомство с внутренностями tuya-based-устройств — упомянутая ранее автоматическая кормушка для собаки. По случаю взял в ноябре 2025-го — решил, что может быть полезна в некоторых ситуациях. Выбор пал на такое:

Обошлась со скидками чуть менее 22$ (базовая цена была 25$); старая ссылка нерабочая, но на момент написания подобные варианты попадаются по ценам около 50$.

Проверил — работает. И… сразу разобрал. Как же без переделки под Home Assistant? 🙂

Читать далее Приручаем кормушку для собаки

Исследуем TOMZN TOMPD-63SW

С этого модуля и начиналось мое знакомство с компонентом tuya в ESP Home, но что-то пошло не так, поэтому для более разностороннего опыта и начал переделывать DGC-63T. Основные моменты по работе с компонентом уже расписал в той статье, так что в этой — только описание datapoint’ов и результатов переделки.

Читать далее Исследуем TOMZN TOMPD-63SW

Переделываем DiyGo DGC-63T. Исследуем Tuya.

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

Читать далее Переделываем DiyGo DGC-63T. Исследуем Tuya.

(Псевдо) Проводное подключение станка и virtual shifting

В заметки.

Подергал тут как-то google-ИИ на предмет реализаций Zwift Click / Zwift Play на базе ESP32. Между делом попалась ссылка на проект на github’e под названием SHIFTR. Помимо реализации виртуального переключения передач проект примечателен тем, что реализуется и direct-подключение к zwift’у — с помощью передачи данных по локальной сети. В целом подключение получается частично проводным: ESP32 подключается к станку все равно через bluetooth, однако контроллер, во-первых, можно разместить в непосредственной близости от станка, а во-вторых, получаем модуль, не зависящий от глюков ОС и наличия нужных беспроводных модулей на основном компьютере.

Читать далее (Псевдо) Проводное подключение станка и virtual shifting

Скользящее окно в filters у ESP Home и переполнение

Заметка между делом.

Давно уже мигрировал код модуля контроля параметров сети главного щитка на базу ESP Home. В основном все работает, но какое-то время назад добавлял «красивости» — хотелось регистрацию максимальных значений мощности по каждой из фаз, суточный объем потребленной энергии и тому подобное.

Читать далее Скользящее окно в filters у ESP Home и переполнение

Прямая замена ESP01 на ESP32 C3

Попалось на глаза, закину в заметки:

GPIO не совсем соответствуют (а чего было не сделать 1 в 1?) и цена не особо гуманна — 3-4$ — при том, что сегодня покупал «чистый» ESP32 C3 по 1,7$. Но мало ли, в каких-то случаях может быть полезно.

Прокачиваем «реле всего». ESP32-мод.

Как уже писал раньше, ресурсов у BL7231 в TOMZN TOB9-VAP для реализации всех фич откровенно не хватало, а в новых еще и неподдерживаемый пока BL7238… В общем, решил поискать, есть ли ESP32-замена для модуля CBU, как это было для какого-то другого умного модуля и ESP02. Гугло-ИИ выдал, что надо смотреть в сторону ESP8685-WROOM-06. Таки да, есть, продаются — правда, цена сопоставима уже со стоимостью модуля целиком. Даже если взять много таких сразу — все равно это порядка 4$, что уже немного «кусается». Решил примерять обычный ESP32 C3:

Вполне влазит. Можно попробовать переделать один из лежащих разобранным модулей на BL7238.

Читать далее Прокачиваем «реле всего». ESP32-мод.

Порт «реле всего» на Sonoff S60TPF

Получил первую партию розеток, перешил, попутно решил портировать наработки с TOMZN’а, а заодно кое-что исправить.

Конфиг ESP Home для Sonoff S60

Исправления:

  • Нашел ошибку: даже при выключенной защите (VAP) и при взведенном алерте не было возможности включить реле.
  • Сделал обходной путь для подсчета и сохранения общей энергии, теперь это делается независимо от внутреннего счетчика.
  • Добавил кнопку для сброса общей энергии.
  • Задал дефолтные значения для лимитов VAP.
  • Немного причесал код: активно использовал substitute, теперь базовые переменные задаются в самом начале конфига.

Для прошивки изобразил такое:

Фактически, одним движением паяются 3 пина, крокодил просто цепляется за плату реле.

Модуль управления люстрой

Короткая заметка. Захотелось реализовать управление светом на кухне. Штатно — 2+3 лампы; реализовал управление каждой в отдельности на базе мелких SSR на 5V + ESP32 C3 + БП под это дело. Планировалось разместить все в штатной распред. коробке люстры, на деле промахнулся с габаритами (клеммники для подключения ламп упирались в стенки распред. коробки); потом решил, что и так ничего — плату все равно не видно из-за плафона. Решил даже не обрезать ее и просто подвесил ее на пластиковом дюбеле вместо штатной крышки.

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

Также впервые применил select.

Особенности:

  • Металлическая часть соприкасается с таким же металлическим каркасом люстры, в итоге тот начал работать как одна большая антенна и появились ложные срабатывания. Пришлось чуть рассверлить посадочное место, проложить изоляционные шайбы с двух сторон, а на шток надеть отрезок трубки. После этого все стало нормально.
  • SSR включены между питанием и GPIO. Из 5 реле попалось одно, которое неустойчиво удерживало включенное состояние при уровнях 3,3В — лампа мерцала, пока что-то где-то не прогревалось и не менялся порог срабатывания. Исправил тем, что пересадил плюс реле на 5В через диод (сначала два, но оказалось недостаточно). В итоге, с одной стороны, ток в закрытом состоянии с шины +5В не такой, чтобы как-то влиял на ESP32, с другой — теперь для реле уровни достаточные, чтобы то четко срабатывало.
  • Выключатели пока оставил штатные. В итоге один размыкает питание целиком, второй подключил через детектор наличия фазы и им можно управлять люстрой. Буду ли менять все на кнопку без фиксации — пока не решил.

Управление: короткие нажатия сенсора — добавление или убавление числа ламп. По достижению максимального или минимального количества идет смена направления переключения. Удерживание до одной секунды — смена направления переключения. Длительное (1-5 секунд) — включение или выключение всех ламп (если светится одна-две — включаем все. Если светится больше — все  выключаем. Т.е., резкий переход в противоположное состояние). Переключения выключателя на стене аналогично коротким касаниям сенсора.

Из автоматизаций — приглушаю свет при воздушных тревогах и включаю обратно при снятии тревоги; приглушаю на время тренировки в Zwift’е и возвращаю обратно — после.

Конфиг ESP Home

SMART-розетки с Али, белые и черные. Fail.

После Sonoff S60 решил попробовать еще несколько розеток: раз уж получается и такое переделывать, то почему бы не набрать еще несколько штук? На глаза попались несколько ощутимо более дешевых вариантов: раз, два. Белые по 3,5$ вышли, черная за 4,2. Чуть дороже Sonoff Basic, при этом возможность функций на уровне Sonoff Pow — особенно если перешить.

На деле все оказалось не особо красиво.

Читать далее SMART-розетки с Али, белые и черные. Fail.