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

Вывод ESP8266 из режима глубокого сна

Народ, может кто подскажет как выводит устройства из режима глубокого сна?
У меня устройство работает от сети и от аккумулятора. По пропадании сети, оно переключается на аккумулятор, при этом работает в режиме глубокого сна.
ESP.deepSleep(6e8);
Тут всё работает. Вот только выходить из него оно не хочет. Приходится танцевать с бубнами (жать сброс, коротить питание и т.п.). В итоге с грехом пополам оно заводится на десятый раз.
Так вод не знаю, может как выводить ее из сна надо при появлении питания?
И еще как-то странно, светодиод висящий на GPIO1 в режиме глубокого сна как-то подсвечивается.
 

CodeNameHawk

Moderator
Команда форума
Дерните вниз, при помощи внешней схемы, GPIO16 , когда появилось питание.
 
Последнее редактирование:

CodeNameHawk

Moderator
Команда форума
при этом работает в режиме глубокого сна.
ESP.deepSleep(6e8);
Когда поймёте, что в глубоком сне, она не работает а спит, то не будете задавать таких вопросов.
при помощи внешней схемы,
Как это прочитали?
 
Прошу прощения. Действительно ступил и даже потом уже думал сам, как же он это сделает, ведь он спит.
Вы имели ввиду не программно, а аппаратно собрать схему, которая при появлении питания будет отсылать один импульс на сброс?
А почему тогда не прямо reset дернуть? Хотя в режиме глубокого сна GPIO16 соединен с reset.
 
Наверное и так должно работать это как? Как я написал? Схемку дополнительную собрать?
А тогда что вы имели ввиду? Я не понял.
 
Я так понимаю, что есть еще какой-то способ вывести ESP из глубокого сна. Пока CodeNameHawk видно занят или оффлайн обращусь ко всем, чтобы не плодить тем.
Как вывести ESP из глубокого сна. Щас конечно тоже рыть буду. Я читал про прерывания. Может это оно? Щас почитаю.
 

CodeNameHawk

Moderator
Команда форума
Если не нужно реагировать моментально, то просто просыпайтесь с заданным интервалом и проверяйте наличие сети(питания)...
 
Если не нужно реагировать моментально, то просто просыпайтесь с заданным интервалом и проверяйте наличие сети(питания)...
Так не получится. У меня все контакты ESP задействованы, в том числе и GPIO16. На нем вход с датчика движения. Питание переключается релюхой. У релюхи 2 пары контактов, и вместе с переключением питания GPIO16 переключается либо на выход датчика движения, либо на RST. Поэтому как только появляется питание, связь GPIO16 и RST обрывается. Поэтому и встал вопрос как подать сброс на RST при появдлении питания от220В.
 

CodeNameHawk

Moderator
Команда форума
Так не получится. У меня все контакты ESP задействованы, в том числе и GPIO16. На нем вход с датчика движения. Питание переключается релюхой. У релюхи 2 пары контактов, и вместе с переключением питания GPIO16 переключается либо на выход датчика движения, либо на RST. Поэтому как только появляется питание, связь GPIO16 и RST обрывается
Из серии: "В каком ухе у меня жужжит"

Поэтому и встал вопрос как подать сброс на RST при появдлении питания от220В.
Тогда просто отключайте питание есп.
Есть DC DC преобразователи с "выключателем".
https://www.aliexpress.com/item/329...order_list.order_list_main.251.21ef1802OjHSwp
 
Последнее редактирование:

Mislitel2000

New member
Господа, тоже возник такой вопрос, как аппаратно сделать то, что называется "дернуть reset". Те примеры, что я видел предполагали подачу тока через резистор и кнопку, что я и сделал с 10к Ом резистором, но плата все равно спит. Плата Wemos d1 mini. Можно разжевать вопрос что я не так делаю?
 
Народ, подскажите, действительно не получается вывести из режима глубокого сна подачей земли на Reset. Я вот на форуме Радиокот попробовал попросить помочь со схемой сброса. При подключении обычного светодиода все срабатывает, а стоит подать выход на RESET ESP, ничего не работает. Получается выводить из сна только отключив и включив питание.
 

aZholtikov

Active member
А в чем смысл аппаратного вывода из deep sleep? Можно и просто питание подавать/снимать.
Ну или как альтернатива подавать/снимать VCC на ножку EN тоже неплохой вариант (зависит от модуля - на некоторых подключен "вечный" VCC)...
 

aZholtikov

Active member
И по своему опыту с модулем ESP-12E. Ножка RESET висит в воздухе. Подача на нее GND часто к RESET не приводит.
"Присовокупите" ее к VCC через резистор 10К и тогда при подаче на нее GND будет RESET.
 
У меня все выводы задействованы, поэтому через релюху я переключаю вывод GPIO16 с RST (в режиме когда устройство работает от аккума) на выход PIR датчика. Таким образом, когда нет питания 220В и устройство спит, c GPIO16 каждые 10 минут проходит сброс и устройство записывает данные с датчиков. Но как только включаем питание, получается, что устройство еще спит, а GPIO16 уже не подключено к RST и устройство само проснуться не может. Поэтому его надо перегрузить аппаратно.
 

CodeNameHawk

Moderator
Команда форума
Господа, тоже возник такой вопрос, как аппаратно сделать то, что называется "дернуть reset".
https://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/#full
Эта схема работает.
На вашей плате может мешать usb-com переходник, конкретно нога RST, может мешать, когда нажимаете кнопку.
Те примеры, что я видел предполагали подачу тока через резистор и кнопку, что я и сделал с 10к Ом резистором, но плата все равно спит. Плата Wemos d1 mini.
Так, по схеме, на плате вроде уже есть кнопка ресет.

Залейте этот скетч и покажите вывод в сериал на скорости 74480
Код:
#include <ESP8266WiFi.h>

void setup()
{
  pinMode(LED_BUILTIN, OUTPUT);

  Serial.begin(74480);
  Serial.println();
  Serial.println("Start.");
  digitalWrite(LED_BUILTIN, LOW);
  delay(300);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(300);
  digitalWrite(LED_BUILTIN, LOW);
  delay(300);
  digitalWrite(LED_BUILTIN, HIGH);

  // put the ESP8266 into deep sleep mode for 10 seconds
  Serial.println("Going to sleep...");
  ESP.deepSleep(10e6);
}

void loop()
{
  // this function will not be called since the ESP8266 is in deep sleep mode
}
Когда вывод ресет не подключен к переходнику, то каждые 10 секунд выводит:

1680289017428.png

Если вывод ресет подключен, то из сна нормально не выходит. У меня переходник на FT232RL.
1680289132184.png

Delphin911
Проверьте, что у вас подключено к ресет.
Вообще спрашивать, не показав схему, особенно если она отличается от "стандартной", это дурной тон.
 
Последнее редактирование:
Вот часть схемы где видно что висит на Reset. Подключение датчиков и экрана я не стал прикладывать, там все просто и всё на других выводах.
 

Вложения

Сверху Снизу