ESP 32 wake up von Sleep modus via WIFI

OP #6348090
Lesenswert?

hey :)
wie der titel schon sagt, gibt es einen sleep modus bei dem ich den esp 
32 über wifi wieder aufwecken kann? oder ergibt das keinen sinn weil 
wifi sowieso am meisten power frisst? weil bei allen modi die ich bisher 
gefunden habe wurde das WIFI auch ausgemacht.

viele grüße :)
#6348328
Lesenswert?

Hallo,
es ergibt nicht viel Sinn, WIFI/Bluetooth an zu lassen da diese den 
Hauptteil des Stromverbrauches aus machen, und ein Sleepmode ohne 
Prozessor aber mit WLAN nicht existiert.
Worum geht es denn? Eventuell lässt sich eine Möglichkeit nutzen bei der 
der ESP nur alle 1s aufwacht sich mit dem WLAN verbindet und dann wieder 
den Rest der Sekunde schläft, oder man nutzt ein anderes Protokoll wie 
ESPnow oder BLE.
Gast #6348404
Lesenswert?

So einfach, wie sich das einige hier machen, ist das natürlich nicht.

Der ESP32 unterstützt Modem-Sleep. Im Minimum Powersave Mode wacht das 
Modem gemäß den DTIM-Intervallen auf. Verpasst wird nichts, da der 
Accesspoint die Broadcasts und Multicasts gemäß Standard speichert und 
dem ESP32 dann entsprechend mitteilt.
Richtig nützlich ist das aber nur, wenn Du einen echten Router oder 
Accesspoint hast, also einen, in dem Du die DTIM-Intervalle selber 
einstellen und vergrößern kannst.
Die schrottige Fritzbox fällt damit aus. Allerdings geht das bei jedem 
OpenWRT-Router.

Im Maximum Powersave Mode kannst Du das Listen-Intervall vergrößern, 
dabei kannst Du aber natürlich Broadcasts verpassen, da das ESP32-Modem 
nicht mehr in jedem DTIM-Intervall aufwacht.

Es hängt also von Deiner Anwendung ab, was für Dich die sinnvollste 
Variante ist.
OP #6349848
Lesenswert?

Coronianer schrieb:
> So einfach, wie sich das einige hier machen, ist das natürlich nicht.
>
> Der ESP32 unterstützt Modem-Sleep. Im Minimum Powersave Mode wacht das
> Modem gemäß den DTIM-Intervallen auf. Verpasst wird nichts, da der
> Accesspoint die Broadcasts und Multicasts gemäß Standard speichert und
> dem ESP32 dann entsprechend mitteilt.
> Richtig nützlich ist das aber nur, wenn Du einen echten Router oder
> Accesspoint hast, also einen, in dem Du die DTIM-Intervalle selber
> einstellen und vergrößern kannst.
> Die schrottige Fritzbox fällt damit aus. Allerdings geht das bei jedem
> OpenWRT-Router.
>
> Im Maximum Powersave Mode kannst Du das Listen-Intervall vergrößern,
> dabei kannst Du aber natürlich Broadcasts verpassen, da das ESP32-Modem
> nicht mehr in jedem DTIM-Intervall aufwacht.
>
> Es hängt also von Deiner Anwendung ab, was für Dich die sinnvollste
> Variante ist.

also ist wäre der einzige weg den ESP32 über wlan aufzuwecken über den 
Modem Mode?

das ergibt für mich leider keinen sinn da ich keinen router zwischen 
wlan verbindung von PC und ESP32 habe, da ich den ESP als Accesspoint 
verwende.
Gast #6349953
Lesenswert?

Kleiner M. schrieb:
> das ergibt für mich leider keinen sinn da ich keinen router zwischen
> wlan verbindung von PC und ESP32 habe, da ich den ESP als Accesspoint
> verwende.

Espressif schreibt dazu:
"Currently ESP32 AP doesn’t support all of the power save feature 
defined in Wi-Fi specification." und

"In future, all power save features will be supported on ESP32 AP."
Gast #6350956
Lesenswert?

John Doe schrieb:
> "In future, all power save features will be supported on ESP32 AP."

Haha, wenn ich daran denke, was die beim ESP8266 schon alles versprochen 
hatten und nicht umgesetzt haben...

Ich sage euch was: Eher kommt ein ESP64 mit wieder einem neuen SDK auf 
den Markt, als dass der ESP32 jemand richtig rund laufen wird.
#7433598
Lesenswert?

Hallo, mein NodeMCU ESP32s verbraucht zu viel Strom. Es wird Bluetooth benötigt, aber nur wenn eine Verbindung mit dem Smartphone hergestellt wurde, also mal so eine Stunde am Tag, die meiste Zeit ungenutzt. Wozu dient die Funktion esp_sleep_enable_bt_wakeup() kann man damit via Bluetooth aufwecken?

#7434170
Lesenswert?

Ich habe mal das selbe Problem gehabt und schlussendlich den ESP zwischenzeitlich in den Deep Sleep Modus gebracht. Also das was Roland M. damals schon erwähnt hat.

Das heißt knapp 32 Sekunden schläft bei mir der ESP, danach aktiviere ich Wifi bzw. ESP Now und warte 1 Sekunde oder so auf ein Signal, falls keins vorhanden ist geht der ESP wieder in den Deep Sleep Mode. Zusätzlich habe ich die Power LED entlötet, da diese auch im Deep Sleep Mode leuchtet und unnötigen Strom verbraucht.

So sieht das ganze bei mir aus:

1
// Beende alle Verbindungen
2
WiFi.disconnect();
3
WiFi.mode(WIFI_OFF);
4
esp_now_deinit();
5

6
// Setze in Ruhemodus
7
esp_sleep_enable_timer_wakeup(Schlafzeit * 1000000); 
8
esp_light_sleep_start();
9

10
// Reinitialisiere ESP NOW
11
delay(100);
12
WiFi.mode(WIFI_STA);
13
WiFi.disconnect();
14
EspError = esp_now_init();

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren