Модификация ESP-01S для режима DeepSleep и аналогового входа
Добавлено: 2026-02-09 13:35:15
собственно, это на дачу, в садовый фонарик, который на солнечной li-Ion батарейке делаю.
соответственно электричество надо экономить, надо мониторить в т.ч. и напряжение аккума (mqtt сервер на даче давно живёт)

оно же в лучшем качестве: https://lissyara.su/screens/2026/2026-0 ... -01s-1.jpg
собственно, пятно - это RST отсоединил, он там на резистор с другой стороны подключен. находится прозвонкой - влёт
просто взял сверло 2мм и ручками, пока не перестал RST c резистором звониться. потом каплю прозрачного лака капнул, лет 10 назад купил, самый дешовый и самый вонючий, для ногтей
до сих пор не кончился - трансы всякие пищащие, катушки и такое вот мазать

оно же в лучшем качестве: https://lissyara.su/screens/2026/2026-0 ... -01s-2.jpg
далее, один провод кидаем на RST - это будет аналоговый вход. на нём два резистора: на 82k на "+" источника до понижайки, 10k на землю, средняя точка двух резисторов - на припаянный аналоговый вход, который теперь выходит на RST
второй провод - на резистор, который отключали от RST, сверлением с обратной стороны платы и на GPIO 16 микросхемы
от "+" на микросхему памяти припаян резистор на 10k - без него, что esp-01, что esp-01s засыпают и не просыпаются. вернее, оно просыпается, но в зависшем состоянии. надо ещё раз reset подавать чтоб нормально загрузилось.
были мысли сделать триггер чтобы два раза reset дергало, но нашлось решение без такого костыля.
кстати, у esp-01 и esp-01s микросхемы SPI по разному припаяны, обратите внимание на расположение ключа
(на этой фотке - это правый верхний угол, резистором загорожен)
зашил tasmta, выглядит так


собственно range - это напряжение в милливольтах, температуры - ну понятно, датчики
калибровка range
должно быть 9200, но на 9100 точнее показывает. толи резисторы гонят, толи китайский тестер. лень разбираться.
часовой пояс
ставим маленький таймаут передачи, чтобы когда проснётся не ждал его в активном режиме
собственно прописываем период сна, пока 2.5 минуты
также, можно уменьшить потребление переключив с динамического на обычный сон, и увеличив таймаут - т.е. по дефолту датчики опрашиваются раз в 50 миллисекунд, можно сделать 250 (максимум) - это тоже поможет меньше есть в периоды когда просыпается
у меня хреновина дома на тесте, а MQTT сервер на даче - два туннеля через хостинг, чтобы связать
часто не может передать данные, раз за разом пробует, не засыпает
поэтому увеличиваю таймаут MQTT (дефолт: 4)
если надо что-то поменять - снимаем/подаём питание, будет минута на внесение настроек или на
чтобы отключить засыпание
собственно на mqtt прилетает такое
получилось какое-то такое

один датчик прям на макетке распаян, два другие - проводами 2 и 8 метров
питание от li-ion аккума, через понижайку/повышайку - которая вверху торчит, платка
ссылки на доку:
https://tasmota.github.io/docs/ADC/#commands
https://github.com/universalgeek56/esp01-adc-hack
соответственно электричество надо экономить, надо мониторить в т.ч. и напряжение аккума (mqtt сервер на даче давно живёт)
оно же в лучшем качестве: https://lissyara.su/screens/2026/2026-0 ... -01s-1.jpg
собственно, пятно - это RST отсоединил, он там на резистор с другой стороны подключен. находится прозвонкой - влёт
просто взял сверло 2мм и ручками, пока не перестал RST c резистором звониться. потом каплю прозрачного лака капнул, лет 10 назад купил, самый дешовый и самый вонючий, для ногтей
до сих пор не кончился - трансы всякие пищащие, катушки и такое вот мазать
оно же в лучшем качестве: https://lissyara.su/screens/2026/2026-0 ... -01s-2.jpg
далее, один провод кидаем на RST - это будет аналоговый вход. на нём два резистора: на 82k на "+" источника до понижайки, 10k на землю, средняя точка двух резисторов - на припаянный аналоговый вход, который теперь выходит на RST
второй провод - на резистор, который отключали от RST, сверлением с обратной стороны платы и на GPIO 16 микросхемы
от "+" на микросхему памяти припаян резистор на 10k - без него, что esp-01, что esp-01s засыпают и не просыпаются. вернее, оно просыпается, но в зависшем состоянии. надо ещё раз reset подавать чтоб нормально загрузилось.
были мысли сделать триггер чтобы два раза reset дергало, но нашлось решение без такого костыля.
кстати, у esp-01 и esp-01s микросхемы SPI по разному припаяны, обратите внимание на расположение ключа
(на этой фотке - это правый верхний угол, резистором загорожен)
зашил tasmta, выглядит так


собственно range - это напряжение в милливольтах, температуры - ну понятно, датчики
калибровка range
Код: Выделить всё
AdcParam 6, 0, 1023, 0, 9100часовой пояс
Код: Выделить всё
TimeZone +3Код: Выделить всё
TelePeriod 10Код: Выделить всё
DeepSleepTime 150Код: Выделить всё
SetOption60 1
Sleep 250часто не может передать данные, раз за разом пробует, не засыпает
поэтому увеличиваю таймаут MQTT (дефолт: 4)
Код: Выделить всё
MqttTimeout 100Код: Выделить всё
DeepSleepTime 0собственно на mqtt прилетает такое
Код: Выделить всё
{"Time":"2026-02-09T13:28:53","ANALOG":{"Range":3914},"DS18B20-1":{"Id":"0315048A73FF","Temperature":21.1},"DS18B20-2":{"Id":"0315048B8EFF","Temperature":39.9},"DS18B20-3":{"Id":"0315049653FF","Temperature":23.9},"TempUnit":"C"}
{"DeepSleep":{"Time":"2026-02-09T13:30:00","DeepSleep":1770643736,"Wakeup":1770643800}}получилось какое-то такое

один датчик прям на макетке распаян, два другие - проводами 2 и 8 метров
питание от li-ion аккума, через понижайку/повышайку - которая вверху торчит, платка
ссылки на доку:
https://tasmota.github.io/docs/ADC/#commands
https://github.com/universalgeek56/esp01-adc-hack