SG Labs Tech

ESP32 Deep Sleep in 3 Schritten

ESP32 Deep Sleep in 3 Schritten

Titelbild: KI-generiert

So schickst du deinen ESP32-S3 schlafen und sparst Energie. Wie lange läuft dein sparsamstes Projekt mit einer Ladung?

Schritt 1

Weckzeit festlegen

Bestimme die Schlafdauer mit einem Timer. Die Übergabe der Zeit erfolgt in Mikrosekunden.

esp_sleep_enable_timer_wakeup(5 * 1000000ULL);

Stand: ESP32-S3, Arduino IDE 2

Schritt 2

Deep Sleep starten

Versetze den ESP32-S3 in den Ruhezustand. Der Prozessor stoppt, bis der Timer abgelaufen ist.

esp_deep_sleep_start();

Stand: ESP32-S3, Arduino IDE 2

Schritt 3

Neustart beachten

Nach dem Wecken springt der Chip nicht zurück in die Schleife, sondern führt setup() wieder von vorn aus.

Stand: ESP32-S3, Arduino IDE 2

Tipp

Werte über den Schlaf behalten

Normale Variablen im RAM gehen verloren. Mit dem Präfix RTC_DATA_ATTR bleibt der Wert im RTC-Speicher erhalten.

RTC_DATA_ATTR int zaehler = 0;

Tipp

WLAN sauber beenden

Trenne das WLAN, bevor der ESP32-S3 schläft. Im Deep Sleep ist der Funk aus, so reißt die Verbindung nicht einfach ab.

WiFi.disconnect(true);

Stand: ESP32-S3, Arduino IDE 2 · jeder Schritt selbst am Gerät nachvollzogen

Quellen

Weitere Tipps