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

Энергопотребление ESP(новое)

nikolz

Well-known member
Информация к размышлению.
Используя SDK 2.1.0 можно реализовать следующий режим.
Основной режим ESP deepsleep. После просыпания переводим ESP в режим wifi_fpm_do_sleep т е отключаем модем на время опроса датчиков и исполнения необходимых вычислений (в примере ниже это 1 секунда)
После этого снова включаем модем передаем данные на сервер и уходим в deepsleep ( в примере ниеж на 20 секунд)
В результате получается такая картинка потребляемого тока в активном режиме:

upload_2017-10-22_11-38-34.png
 

pvvx

Активный участник сообщества
Для тех, кто пишет на ардуине и хотел бы снизить потребление ESP рекомендую прочитать это
Reducing WiFi power consumption on ESP8266, part 1 – OppoverBakke
Reducing WiFi power consumption on ESP8266, part 2 – OppoverBakke
Reducing WiFi power consumption on ESP8266, part 3 – OppoverBakke
Итого: От 2.3 секунды на соединение с AP с фиксированным IP. + n секунд на остальное.

В первой версии SDK на RTL8710AF всё это укладывается -> после старта модуля полное соединение с установкой IP через DHCP за время менее 1 сек.
Применение грязного простого хака там-же и с теми-же условиями (старт WiFi-SoC, загрузка и инициализация SDK и WiFi, объявление выхода модуля в WiFi, активный scan - опрос каналов для поиска AP, соединение с AP, отработка DHCP, считывание HTTP странички с внешнего Web сервера, отключение WiFi с оповещением AP и сети, переход в deep_sleep) дает общее время процесса = 1.25 сек практически для любого роутера с AP (кроме совсем дешевых), подходит и для подключения к AP на ESP8266 с теми-же результатами (если без WPA), но возможны нарушения арбитража WiFi другим...
результате получается такая картинка потребляемого тока в активном режиме:
Тут не наблюдается соединения с AP и отсоединения так-же.
И плюс, на графике нет 13 запросов на 13 WiFi каналах для поиска AP и пауз ожидания ответов от AP на каждом канале. Эту часть можно убрать, если AP неизменная и вся система жестко фиксирована и параметры сохранены заранее (не годится для всех проектов, а прервать sсan по всем каналам при нахождении нужной AP у Espressif не дано? :) Как и подключение к AP на фиксированном, заранее известном канале? :eek:).
 
Последнее редактирование:

nikolz

Well-known member
Итого: От 2.3 секунды на соединение с AP с фиксированным IP. + n секунд на остальное.

В первой версии SDK на RTL8710AF всё это укладывается -> после старта модуля полное соединение с установкой IP через DHCP за время менее 1 сек.
Применение грязного простого хака там-же и с теми-же условиями (старт WiFi-SoC, загрузка и инициализация SDK и WiFi, объявление выхода модуля в WiFi, активный scan - опрос каналов для поиска AP, соединение с AP, отработка DHCP, считывание HTTP странички с внешнего Web сервера, отключение WiFi с оповещением AP и сети, переход в deep_sleep) дает общее время процесса = 1.25 сек практически для любого роутера с AP (кроме совсем дешевых), подходит и для подключения к AP на ESP8266 с теми-же результатами (если без WPA), но возможны нарушения арбитража WiFi другим...
Тут не наблюдается соединения с AP и отсоединения так-же.
И плюс, на графике нет 13 запросов на 13 WiFi каналах для поиска AP и пауз ожидания ответов от AP на каждом канале. Эту часть можно убрать, если AP неизменная и вся система жестко фиксирована и параметры сохранены заранее (не годится для всех проектов, а прервать sсan по всем каналам при нахождении нужной AP у Espressif не дано? :) Как и подключение к AP на фиксированном, заранее известном канале? :eek:).
Как я понял , прослушивание 13 каналов и есть те 150 мс, про которые я Вас спрашивал, но ответа толкового не получил.
Да, вопрос в том, как исключить прослушивание лишних каналов. Если будет возможно, то время сеанса можно будет сократить с 150 до 15 мс.
-------------------------
Вы все пытаетесь ругать то, что есть.
Но если сравнить то , что есть как Вы говорите в стандартном режиме - т е от 3 секунд с током от 70 ма и
достигнутое без каких либо ковыряний SDK 0.3 сек с током 70ма и далее с током 15 ма , то выигрыш будет на порядок.
Если же использовать модифицированный загрузчик rboot, то время реакции сократится до 0.1 сек с током 30 ма и далее с током 15 ма.
------------------------
Не надо больших расчетов, чтобы понять что без каких либо переделок SDK можно сократить энергозатраты в 10 и более раз.
================
Что же касается ардуинщиков, то приведенные выше статьи хоть как-то позволит им с их уровнем знаний уменьшит энергопотребление.
==================
Относительно потребления в режиме deep-sleep. Подробно не замерял, так как рассмотренные выше вопросы на порядок более энергоемкие чем режим сна. Более того, мне важно работа устройств от батареек не годами а более короткими сроками.
=============
Когда меня заинтересует ток потребления при длительном сне, то измерю его и сообщу на форуме.
Пока же сообщаю то, что исследовал.
 
Сверху Снизу