• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

deep sleep по внешнему событию

Alendas67

New member
Доброго времени суток!
Решаю задачу батарейного питания ESP 8266 - 01 качестве счётчика воды.
Требования к энергосбережению:
1. глубокий сон, всё время, пока не происходит первое замыкания геркона счётчика воды (вешаем на свободный GPIO (для подсчёта импульсов) и RST для пробуждения)
2. выход из глубокого сна для отправки данных счётчика раз в сутки, затем снова глубокий сон.
ПРОБЛЕМА:
A) Если будить по RST подав землю по первому срабатыванию геркона (при дальнейшем подсчёте +1 пропущенный импульс на GPIO, можно программно учесть), то в дальнейшем, как отвязать от геркона RST, чтобы GPIO работал на подсчёт (замыканий геркона) и при этом модуль не перезапускался от последующих замыканий геркона (подачи земли)
B) Если будить по таймеру используя GPIO 16 (подпаять к микросхеме можно) , то понятно, как это сделать для отправки данных на сервер раз в 24 часа. Но как тогда не проспать первое срабатывание геркона?
Возможно есть опыт решения подобной задачи, прошу высказать Ваши соображения!

P.S Можно ли вообще комбинировать программный и аппаратный способ выхода из сна?
 

Evgeny D

Member
А какой смысл делать только на EPS8266 с такими ухищрениями, можно использовать сопроцессор ESP32. Спортивный интерес?

Я замечу, что потребление может остановится в момент замыкания геркона. Что тогда?
 

svs2007m

Active member
На форуме не раз обсуждалась эта тема. (Поиск в помощь). Вывод увы один "в корзину". Это как часы либо точно, либо никак. C ESP + импульсный счетчик = НИКАК:)
 

CodeNameHawk

Moderator
Команда форума
Из неприятностей, переменные в есп инициализируются по новой при выходе из сна.
Счетчик надо куда то сохранять на время сна.
 

nikolz

Well-known member
Доброго времени суток!
Решаю задачу батарейного питания ESP 8266 - 01 качестве счётчика воды.
Требования к энергосбережению:
1. глубокий сон, всё время, пока не происходит первое замыкания геркона счётчика воды (вешаем на свободный GPIO (для подсчёта импульсов) и RST для пробуждения)
2. выход из глубокого сна для отправки данных счётчика раз в сутки, затем снова глубокий сон.
ПРОБЛЕМА:
A) Если будить по RST подав землю по первому срабатыванию геркона (при дальнейшем подсчёте +1 пропущенный импульс на GPIO, можно программно учесть), то в дальнейшем, как отвязать от геркона RST, чтобы GPIO работал на подсчёт (замыканий геркона) и при этом модуль не перезапускался от последующих замыканий геркона (подачи земли)
B) Если будить по таймеру используя GPIO 16 (подпаять к микросхеме можно) , то понятно, как это сделать для отправки данных на сервер раз в 24 часа. Но как тогда не проспать первое срабатывание геркона?
Возможно есть опыт решения подобной задачи, прошу высказать Ваши соображения!

P.S Можно ли вообще комбинировать программный и аппаратный способ выхода из сна?
Проблему с использованием RST можно решить следующим образом:
Рассказываю упрощенно, подробности проработайте самостоятельно.
----------------------------
Вариант 1: Используем RS-триггер.
На вход S включаем датчик
На вход R включаем пин от ESP
---------------
Вариант 2: Используем одновибратор
выход на RST
счетчик на вход запуска
импульсы со счетчика запускают одновибратор и на его выходе будет единица
если импульсы на его входе прекратятся, то он перейдет в исходное состояние и выключит ESP
-------------
Вариант 3: пиковый детектор - это упрощенный вариант одновибратора
 
Сверху Снизу