Поддержка спящего режима для экономии энергии при питании от батарей. Модуль по веб не доступен во время спящего режима ! Доступный максимальный интервал сна до 65534 секунды(чуть больше 18 часов)
Ток потребления самих чипов в глубоком сне согласно документации : ESP8266 - 20 мкА, ESP32 - 10 мкА.
Ток потребления в легком сне согласно документации -около 1 мА. На данный момент этот режим не поддерживается.
Для работы глубокого сна на ESP8266 необходима перемычка между GPIO16 и RST(EN) ! Без этого модуль не проснется ! Для ESP32 перемычки не требуется.
Для выхода из спящего режима, например для перенастройки, необходимо включить режим Safe mode.
Установка интервала пробуждения указывается на вкладке настроек main. 0 - спящий режим выключен
У ESP32 доступно пробуждение модуля по WAKEUP GPIO , указанного в шестеренке опции. -1 - GPIO не используется.
Рекомендуется включить статический IP для более быстрого подключения к сети.
Не рекомендуется установка в прошивку поддержки времени(NTP) - это замедляет запуск модуля.
Данный алгоритм используется в прошивках, собранных с 14.06.21. Алгоритм позволяет просыпаться модулю на минимальное время от 3 секунд и больше, в зависимости от количества включенных сетевых опций.
Установленное время интервала сетевых опций в спящем режиме игнорируется и запуск опций происходит по очереди с интервалом в одну секунду(с учетом возможных попыток подключения при проблемах связи). Запуск опций происходит после успешного подключения к сети wifi, если подключиться не удалось, то модуль принудительно переходит в спящий режим спустя 60 секунд.
Порядок запуска сетевых опций:
1. Приемные опции(актуальны только для ESP32+E-INK): VSENS, Gismeteo, Narodmon Get, OpenWeatherMap.
2. Передающие опции: MQTT, TCP/UDP клиент, MajorDoMo, Narodmon, D2D отправка, Zabbix.
Опции не поддерживающие спящий режим: GSM SMS и GPRS(ESP32).
Интервал запуска скрипта игнорируется. Скрипт запускается после выполнения всех сетевых опций. Пока скрипт активен, то модуль не уходит в спящий режим, delay останавливает переход в спящий режим.
Команда sleep(x) отправляет модуль в спящий режим на время х (секунды).
Опция Intepreter может применяться для отправки данных через функцию httpget или, например, для задержки выхода в спящий режим по условию. В конструкторе ESP8266(NoOS) после использования httpget возможно необходимо задержать уход в спящий режим используя delay(300). Время подбирается.
1. Использовать энергоэффективные DC-DC преобразователи. Большинство линейных стабилизаторов в состоянии покоя потребляют значительный ток, есть исключения , например - HT7330-A
2. Использовать современные экономичные датчики.
3. Если невозможно выполнить пункт 2, то использовать GPIO в режиме invert для подачи питания на датчики.
4. Демонтировать постоянно включенные светодиоды на плате, а лучше использовать "голые" модули без USB-UART преобразователей и прочей обвязки.
5. Убрать дублирующие подтяжки на I2C датчиках. Использовать повышенные сопротивления подтяжки на шинах i2c и 1wire при которых датчик еще работает.
Рекомендуется проанализировать потребляемый ток в спящем режиме с помощью мультиметра.
Все вопросы и проблемы по обновленной опции спящего режима обсуждаем в чате Телеграм(рекомендуется) или через обратную связь сайта.