ESP32 - Deep Sleep Funktion nutzen!
Mit diesem Sketch wechselt der Funduino ESP32-WROOM32 mit CP2102 für zehn Sekunden in den Deep-Sleep-Modus. Anschließend wacht der ESP32 über seinen internen Timer wieder auf und startet den Sketch erneut. Zusätzliche Bauteile werden nicht benötigt.
Der Deep-Sleep-Modus reduziert den Energieverbrauch des ESP32 deutlich. Das ist besonders bei batteriebetriebenen Anwendungen wie Wetterstationen, Pflanzenüberwachungen oder mobilen Sensoren sinnvoll. Der ESP32 führt kurz eine Aufgabe aus, schläft anschließend für eine festgelegte Zeit und wacht danach automatisch wieder auf.
Vorbereitung
1. Den ESP32 mit einem Micro-USB-Datenkabel an den Computer anschließen.2. In der Arduino IDE über den Boardverwalter das Paket „esp32 by Espressif Systems“ installieren.3. Unter Werkzeuge > Board das „ESP32 Dev Module“ auswählen.4. Unter Werkzeuge > Port den neu erschienenen COM-Port auswählen.Sketch anlegen
Einen neuen Sketch öffnen und den folgenden Code einfügen. Die Schlafdauer kann über den Wert SCHLAFDAUER in Sekunden angepasst werden.

Deep Sleep testen
1. Den Sketch auf den ESP32 hochladen.2. Den seriellen Monitor öffnen und 115200 Baud einstellen.3. Einmal kurz die Taste RST drücken.4. Die Ausgabe im seriellen Monitor beobachten.Hier kannst du den Sketch als Text kopieren:
#include <Arduino.h>
#define SEKUNDEN_IN_MIKROSEKUNDEN 1000000ULL
#define SCHLAFDAUER 10
RTC_DATA_ATTR int startZaehler = 0;
void setup() {
Serial.begin(115200);
delay(1000);
startZaehler++;
Serial.print("Startvorgang Nummer: ");
Serial.println(startZaehler);
Serial.print("Der ESP32 schläft jetzt für ");
Serial.print(SCHLAFDAUER);
Serial.println(" Sekunden.");
esp_sleep_enable_timer_wakeup(
SCHLAFDAUER * SEKUNDEN_IN_MIKROSEKUNDEN
);
Serial.flush();
esp_deep_sleep_start();
}
void loop() {
}
Hinweis: Startet der Upload nicht, BOOT gedrückt halten und beim Beginn der Übertragung loslassen.
Du möchtest das Ganze nochmal als Video schauen?
Video ansehen