• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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: пиковый детектор - это упрощенный вариант одновибратора
 
Сверху Снизу