Bei einer meiner Basteleien habe ich mich mit dem Strombedarf des ESP8266 in der Bauform ESP-01 beschäftigt. Im normalen Betrieb verbraucht dieser etwa 150 mA mit Spitzen bis 210 mA. Für den Betrieb am Kabel ist das sparsam genug. Ich wollte jedoch lieber einen Sensor „off the grid“ (also mit Batterie) betreiben, und da ist das leider irre viel. Zum Vergleich: Eine normale 9V Batterie hat nur etwa 500 mAh. Dann wäre nach wenigen Stunden bereits die Batterie leer.

Bei einem Sensor, der nur alle 15 Minuten einen Wert misst und über WLAN überträgt, würde der Chip die meiste Zeit gar nichts zu tun haben. In dieser Zeit könnte er also problemlos schlafen und Strom sparen. Das lässt sich in der Theorie auch leicht bewerkstelligen, denn der ESP8266 unterstützt verschiedene Sleep Modes. Der für mich interessante war der DeepSleep. Dabei wird wirklich alles abgeschaltet, das heißt dann aber auch, dass nach dem Aufwachen erst wieder eine WLAN Verbindung hergestellt werden muss, was eine gewisse Zeit in Anspruch nimmt und daher auch wieder Energie kostet. Bei sehr kurzen Schlafzyklen würde sich das irgendwann nicht mehr lohnen.

Den Deep Sleep kann man einfach über ESP.deepSleep(sleepTime * 1000000) aktivieren. sleepTime sind hier die Sekunden. Das ganze geht auch über das AT Command AT+GSLP=x Millisekunden.

Nach Ablauf der Zeit wird über den GPIO16 der Trigger zum Aufwachen gesendet. Und da liegt das Problem. Beim ESP-01 ist dieser PIN nicht verbunden. Dieser müsste mit dem Reset (RST) PIN verbunden sein, damit der ESP-01 nach dem Ablauf der Sleep Time resettet wird. Das ganze kann man zum Glück fixen. Dazu muss vom ESP8266 Modul der GPIO16 mit dem RST Pin Verbunden werden:

Fix für den ESP8266 Deep Sleep

Fix für den ESP8266 Deep Sleep

Das ganze ist etwas fummelig, aber machbar. Für etwas komplexere Projekte würde ich (seit dem ich das nun weiß :) ) jedoch lieber zum ESP-12 greifen. Der hat auch den Vorteil, dass dort mehr GPIOs nutzbar sind. Und GPIO16 ist dort auch schon herausgeführt, sodass man sich diesen Hack sparen kann. Allerdings ist der ESP-12 auch ein klein wenig teurer. Es ist also letztlich immer eine Abwägungssache.