ESP8266 Deep Sleep
Der ESP8266EX unterstützt folgende Sleep Arten
Wurde ein ESP8266 erst einmal in den Deep Sleep Modus versetzt, kann dieser nur noch über ein Hardware Reset aktiviert werden. Da im Deep Sleep Modus die CPU als auch Systemzeit deaktiviert ist, bedarf es typischerweise einem entsprechenden
der ein Reset auslöst um den ESP8266 in einen aktiven Modus zu versetzen. Mit einfachen Worten, wird der der Endpunkt des vorgegebenen Zeitintervalls erreicht, wird GPIO16 auf LOW gesetzt. In Anlehnung an die Funktion des ESP8266 Reset Pin – LOW löst ein Reset aus – bedarf es lediglich GPIO16 und Reset zu verbinden. |
ESP8266 Deep Sleep
The ESP8266EX supports 3 sleep modes
Soon as an ESP8266 is in Deep Sleep Mode, it requires a hardware reset to wake up the ESP8266. Based on Deep Sleep Mode only RTC is active 2 Parameters are required
to execute a reset to activate the ESP8266. In simple words, soon as the endpoint of the timer interval is reached, GPIO16 is set LOW. Based on Reset Pin function – soon as Reset Pin is LOW a reset is executed – GPIO16 and Reset must be connected. |
Tasmota Console Deep Sleep function ESP-01+ Development Board |
Deep Sleep aktivieren
Im Eigentlichen erfolgt die Deep Sleep Aktivierung stets über über einen Befehl über die Software / Firmware. Beispielsweise innerhalb Tasmota wird über die Konsole mittels Eingabe von
in die Kommandozeile und drücken der Taste Enter (nicht ausführen, bitte weiterlesen). Der ESP8266 aktiviert den Deep Sleep Modus für 60 Sekunden, erstattet Meldung / sendet aktuellen Status und fällt wieder in den Deep Sleep Modus zurück. Dementsprechend ist der ESP8266 nicht mehr erreichbar weder über WLan noch seriell über die UART Schnittstelle, es bedarf einer Wake Up Funktion um den ESP8266 wieder zu aktivieren. |
enable Deep Sleep
Normally Deep Sleep Mode is enabled thru a command, for example to enable Tasmota deep sleep mode open console window and type
into command line and press Enter key (don’t perform Deep Sleep, please continue reading). The ESP8266 enables Deep Sleep mode for 60 seconds, then actual status data will be send before the MCU enables again deep sleep. Therefore the ESP8266 is not reachable thru WiFi nor thru serial UART Interface. |
ESP-01+ Development Board Tasmota Deep Sleep Wake Up GPIO |
ESP8266 Wake Up
Eine Wake Up Funktion ist eine Routine die ausgeführt wird wenn der ESP8266 ein Reset ausführt (den Deep Sleep unterbricht GPIO16 übergibt LOW an Reset). In Anlehnung an die Tasmota Firmware funktioniert dies mittels eines GPIO, im Bezug des EI-OT ESP-01+ Entwicklerboard GPIO12. Im Detail ist die DeepSleep Wake Up Routine denkbar einfach, bei einem Reset / Bootvorgang wird der aktuelle Status des DeepSleep GPIO = GPIO12 ermittelt,
und der ESP-01+ startet wie gewohnt mit aktiver WLan Verbindung. Zusammenfassend:
|
ESP8266 Wake Up
Function of a Wake Up Routine is performed during Reset (Deep Sleep interruption thru GPIO16 sets Reset to LOW). Based on Tasmota Firmware a Wake Up Routine is triggered thru actual GPIO state, related to EI-OT ESP-01+ Development Board GPIO12. In Detail the Deep Sleep Wake Up function it’s quite simple, during Reset and ESP-01+ start process, status of DeepSleep GPIO = GPIO12 is determined
and the ESP-01+ will start with active WiFi Modem. In summary:
|
ESP-01+ Development Board Tasmota Deep Sleep Wake Up Setup |
Wake Up aktivieren
Wie bereits im Vorfeld erwähnt erfolgt das Tasmota Deep Sleep Wake Up über GPIO12 mittels einem LOW Signal. Hierzu wurde die EI-OT ESP-01+ Entwicklerplatine zum Einen mit einem Schiebeschalter bestückt und zum Anderen GPIO12 mit einem notwendigen Pull Up Widerstand vorbereitet.
Abschliessend muss lediglich die DeepSleep Funktion mittels Tasmota Konsole durch Eingabe von
in die Befehlszeile und drücken der Taste ENTER. Der Wert hinter dem Befehl DeepSleep (60) gibt dabei den Intervall / Deep Sleep Dauer in Sekunden vor (Beispiel 3600 = 1 Stunde / 86400 = 1 Tag). |
enable Wake Up
As mentioned before the Tasmota Deep Sleep Wake Up is performed thru GPIO12 LOW level state. Therefore the EI-OT ESP-01+ Development Board has a slide switch, connected to GPIO12, also a required Pull Up resistor.
ESP-01+ Development Board is now ready to enable Tasmota deep sleep mode, open console window and type
into command line and press Enter key. The integer after DeepSleep (60) is the value of Deep Sleep interval in seconds (Example 3600 = 1 hour / 86400 = 1day. |