• Erste Schritte
  • Hardware & GPIO
  • Projekte
  • Software
    • Webserver
  • Arduino & ESP8266
  • Hausautomatisierung
  • Sonstiges
    • News
Facebook Twitter YouTube
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
  • Einstieg
    • Erste Schritte
      • Raspberry Pi 3 Einstieg - Starter KitWas brauche und wie starte ich? – Raspberry Pi Einstieg
    • Einrichtung
      • microsd_karte_menuRaspbian Betriebssystem auf eine SD Karte flashen – Einfach & Schnell
      • wlanbluetooth_menuWLAN und Bluetooth einrichten – Raspberry Pi 4
      • wifi_menuWLAN Stick installieren und einrichten – Alternative
      • bash_menuSSH Zugriff einrichten via Putty – Kommandozeilen Zugriff
      • rdp_menuRemotedesktop Verbindung aufbauen – Fernsteuerung
    • Einsteiger Projekte
      • Sinnvolles Raspberry Pi Zubehör
      • 15 Raspberry Pi Projekte für Anfänger
      • Ampelschaltung mit GPIOs
      • GPIOs mit Port Expander erweitern
      • Elektronischer Würfel
      • 13 tolle Projekte für Kinder und Jugendliche
      • Roboter selber bauen
      • In Visual Studio Code mit C++ programmieren
      • Wünsch dir ein Tutorial
    • Programmieren lernen
      • Teil 1: Einführung
      • Teil 2: GPIOs steuern
      • Teil 3: GUI erstellen
      • Teil 4: PWM
      • C# GUI Apps entwickeln
  • Hardware & GPIO
    • 50 der wichtigsten Raspberry Pi Sensoren und Module – Aufgelistet mit Links zu den TutorialsRaspberry Pi Sensoren
    • Beliebte Tutorials
      • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
      • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
      • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Funksteckdosen (433MHz) steuern
      • Raspberry Pi Relais ModulRaspberry Pi: Relais-Schalter per GPIO steuern
      • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
      • Amazon-Alexa-deutsch-auf-dem-Raspberry-Pi-installierenAmazon Alexa (Deutsch) auf dem installieren
      • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
      • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren
      • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
      • Raspberry Pi USB Boot per Stick oder SSD Festplatte einrichtenUSB Boot per Stick oder SSD Festplatte
      • Analog
        • Raspberry Pi MCP3008 ADCMCP3008: Am Raspberry Pi analoge Signale auslesen
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
        • Raspberry Pi PulsmesserRaspberry Pi Pulsmesser: Herzfrequenz messen
        • Joystick am Raspberry Pi benutzen (mit MCP3008)Joystick am Raspberry Pi benutzen (mit MCP3008)
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Drehregler - Rotary EncoderKY040 Drehregler als Lautstärkeregler für den Raspberry Pi
        • Easpberry Pi Soil SensorBodenfeuchtigkeit mit dem Raspberry Pi messen
        • Raspberry Pi KeypadRaspberry Pi Keypad anschließen – Codeschloss
        • Raspberry Pi door sensorÜberwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
        • Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)
      • Funk
        • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren lassen
        • Remote Control Raspberry Pi 433Mhz Radio TransmitterRaspberry Pi mit 433Mhz Funksender fernsteuern
        • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433MHz) steuern
        • Raspberry Pi MiFlora - Xiaomi Pflanzensensor in OpenHAB einbindenMiFlora – Xiaomi Pflanzensensor ins Smart Home einbinden
        • Raspberry Pi RFID RC522 TüröffnerRaspberry Pi RFID RC522 Tags auslesen (NFC)
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation (2.4 GHz): Arduino & Raspberry Pi
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen
        • Raspberry Pi Xbox 360 Wireless ControllerRaspberry Pi mittels Xbox 360 Controller steuern
        • Raspberry Pi GSM Modul - Huawei Internet SticksRaspberry Pi GSM Modul – Mobiles Internet
        • Raspberry Pi Bluetooth DatentransferRaspberry Pi Bluetooth Datentransfer zum Smartphone
      • Infrarot & Laser
        • Raspberry Pi Infrarot FernbedienungRaspberry Pi: Per IR Remote Befehle ausführen
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Laser Lichtschranke für weite DistanzenRaspberry Pi Laser Lichtschranke für weite Distanzen
        • Infrarot Raspberry Pi FernbedienungInfrarot Steuerung einrichten
        • Raspberry Pi Infrarot Lichtschranke bauen und Geschwindigkeit messenRaspberry Pi Infrarot Lichtschranke bauen
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
      • Temperatur & Navigation
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorRaspberry Pi: Luftfeuchtigkeit und Temperatur messen
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Raspberry Pi RTC Real Time ClockReal Time Clock Modul steuern
        • Rotation und Beschleunigung mit dem Raspberry Pi messenRotation und Beschleunigung mit dem Raspberry Pi messen
        • Raspberry Pi GPS ModulRaspberry Pi GPS Ortungs- / Navigationsgerät bauen
        • Raspberry Pi Kompass selber bauenRaspberry Pi Kompass selber bauen (HMC5883L)
        • Kontaktlosen Infrarot-Temperatursensor MLX90614 am Raspberry Pi auslesenMLX90614 – Kontaktlos Temperaturen messen
      • Displays
        • Raspberrry Pi HD44780 I2CHD44780 LCD Display per I2C ansteuern
        • Raspbery Pi LCD DisplayRaspberry Pi LCD Display: 16×2 Zeichen anzeigen
        • DisplayTipps & Tricks zum offiziellen 7″ Raspberry Pi Touchscreen
        • Raspberry Pi TouchscreenTestbericht zum 7″ Raspberry Pi Touchscreen Display
        • LCD Touch Display (3.2″) am Raspberry PiLCD Touch Display (3.2″) am Raspberry Pi
        • tft lcd touch displayRaspberry Pi LCD Touch Display Teil 2 – Anpassungen
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtRaspberry Pi LED Matrix – Projektübersicht
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige mit MAX7219 am Raspberry Pi (Anode)
        • Raspberry Pi Tablet Raspad TestberichtRaspberry Pi Tablet „Sunfounder RasPad“ Testbericht
      • Motoren & Sonstige
        • Raspberry Pi Stepper Motor Control with L293D / ULN2003ARaspberry Pi Schrittmotor ansteuern
        • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
        • Raspberry Pi PCA9685 mehrere Servos gleichzeitig steuernMehrere Servo Motoren per Raspberry Pi steuern
        • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
        • How to use a Raspberry Pi Fingerprint Sensor for AuthenticationRaspberry Pi Fingerprint Sensor zur Authentifizierung nutzen
        • Raspberry Pi Akku AdapterRaspberry Pi mit Akkus/Batterien betreiben
        • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
        • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
        • Raspberry Pi WS2812 RGB LED StripWS2812 RGB LED Streifen per Raspberry Pi steuern
        • Raspberry Pi Überwachungskamera LivestreamÜberwachungskamera Livestream einrichten
        • NoIRAufnahmen mit dem offiziellen Kamera Modul
        • Raspberry Pi Zero - establishing an Ethernet connection (ENC28J60)Raspberry Pi Zero – Ethernet Verbindung
  • Software
    • Webserver Installation
      • apache2_menu25Teil 1 – Apache2
      • php_menu25Teil 2 – PHP 5
      • mysql_menu25Teil 3 – MySQL
      • phpmyadmin_menu25Teil 4 – phpMyAdmin
      • ftp_menu25Teil 5 – FTP Server
      • dns_menu25Teil 6 – DNS Server via No-IP
      • home_menu25Homeverzeichnis ändern
      • share_25Samba Server: Dateien im Netzwerk teilen
      • nodejs_menu25Node.js Webserver installieren und GPIOs schalten
      • ssl_menu25SSL Zertifikat kostenlos mit Let’s Encrypt
      • wordpress_25Eigenen WordPress-Server einrichten
      • cloud-25Nextcloud auf dem Raspberry Pi installieren
    • Entertainment
      • led_menu25Raspberry Pi Ambilight für alle Geräte mit OSMC selber bauen
      • amazon_menu25Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
      • controller_25Raspberry Pi RetroPie – Spielekonsole selber bauen
      • kodi_menu25Mediencenter Raspbmc als SmartTV mit dem Raspberry Pi
      • android_25Android TV Box zum selber bauen
      • apple-2316234_640Raspberry Pi als AirPlay-Empfänger
      • jukebox_menu25Raspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.)
      • steam_25Steam Spiele streamen
      • minecraft_menu25Raspberry Pi Minecraft Server
      • youtube_25YouTube Live Streaming einrichten
      • qr-code-tutorials-raspberrypi.de_25Raspberry Pi QR / Barcode Scanner
    • Fernsteuerung
      • rdp_menuRaspberry Pi Remotedesktop Verbindung
      • ssh_menu25SSH Zugriff einrichten via Putty (Windows)
      • vnc_menu25Raspberry Pi mittels VNC fernsteuern
      • welcome_menu25SSH Terminal Begrüßung ändern
      • telegram1_menu25Telegram Messenger auf dem RaspberryPi
      • telegram2_menu25Mit Telegram Messenger Raspberry Pi steuern
      • bluet_menu25Raspberry Pi Bluetooth Datentransfer zum Smartphone
      • alexa_voice_25Eigenen Raspberry Pi Alexa Skill bauen
      • microphone_25Sprachsteuerung selber bauen
      • mqtt_25MQTT Broker/Client Funkkommunikation
      • mail_25Vom Raspberry Pi Emails senden
      • twitter_25Per Twitter Bot Nachrichten posten
    • Weitere
      • loggen_menu25Sensordaten mit ThingSpeak loggen und auswerten
      • mysql_datalogger25Per lokaler MySQL Datenbank zum Raspberry Pi Datenlogger
      • opencv_menu25OpenCV auf dem Raspberry Pi installieren
      • arduino_menu30tWiringPi installieren & Pinbelegung (Raspberry Pi)
      • radio_menu25Raspberry Pi als Radio Sendestation
      • win10_menu25Windows 10 IoT auf dem Raspberry Pi installieren
      • printer_25Drucker einrichten und per Knopfdruck Bilder drucken
      • gsm_menu25Raspberry Pi GSM Modul – Mobiles Internet (LTE, 3G, UMTS)
      • autostart_menu25Autostart: Programm automatisch starten lassen
      • machine-learning-25Raspberry Pi Machine Learning erlernen
  • Projekte
      • roboter_menu30tRoboter
        • Raspberry Pi Roboter ProjektRaspberry Pi Roboter Projektübersicht
        • Raspberry Pi Roboter Bausatz fertigTeil 1: Zusammenbau
        • Raspberry Pi Roboter - Linien folgenTeil 2: Linien folgen lassen
        • Raspberry Pi Roboter per Infrarot Fernbedienung steuernTeil 3: Per Infrarot Fernbedienung steuern
        • Raspberry Pi Roboter: Ultraschall AutopilotTeil 4: Automatisch Hindernissen ausweichen
        • Raspberry Pi Roboter der eigenen Stimme folgen lassenTeil 5: Der eigenen Stimme folgen lassen
        • Raspberry Pi Roboter mit Xbox 360 Controller fernsteuernTeil 6: Mit Xbox 360 Controller Roboter fernsteuern
        • Raspberry Pi Robot Arm 6DOF6-Gelenkigen Roboter Arm am Raspberry Pi betreiben (6 DOF)
      • led_menu30LED Matrix
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtMAX7219 LED Matrix – Projektübersicht
        • 8×8 LED Dot Matrix Parts8×8 LED Matrix – Zusammenbau und Installation
        • Raspberry Pi Bibliothek für mehrzeilige m x n MAX7219 LED MatrizenBibliothek für mehrzeilige m x n MAX7219 LED Matrizen
        • Graphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnenGraphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnen
        • Pong auf MAX7219 Matrizen spielen (mit Joystick) – Raspberry PiPong auf MAX7219 Matrizen spielen (mit Joystick)
        • Snake auf Raspberry Pi MAX7219 Matrizen spielenSnake auf Raspberry Pi MAX7219 Matrizen spielen
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige (Anode) mit MAX7219/MAX7221
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
      • wetterstation_menu30Wetterstation
        • Raspberry Pi Wetterstation mit OpenHAB 2 bauenEigene Raspberry Pi Wetterstation mit OpenHAB 2 bauen
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
        • raspberry_pi_thingspeak_daten_loggenSensordaten mit ThingSpeak loggen und auswerten
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
      • arduino_menu30tArduino & ESP8266
        • ESP8266 Microcontroller BoardEinführung & Programmierung des ESP8266 NodeMCU Boards
        • Raspberry Pi + ESP8266 NodeMCU: Per WLAN Daten sendenRaspberry Pi + ESP8266 NodeMCU: Per WLAN Daten senden
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Mit dem NodeMCU ESP8266 433MHz Funksteckdosen steuernMit dem NodeMCU ESP8266 433MHz Funksteckdosen steuern
        • ESP8266 NodeMCU HD44780 LCD Display per I2C steuernNodeMCU ESP8266: HD44780 LCD Display per I2C steuern
        • ESP8266 Grafikdisplay: Am SSD1306 OLED per I2C Bilder & Text anzeigen
        • ESP8266 Google Maps API RoutenplanerESP8266 Google Maps API Routenplaner auf LCD anzeigen
        • 2000px-Arduino_Logo.svgRaspberry Pi und Arduino – Einführung
        • arduino unoArduino und Raspberry Pi miteinander kommunizieren lassen
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation zwischen Raspberry Pi’s und Arduinos (2.4 GHz)
        • NodeMCU: ESP8266 mit Solarpanel und Akku mit Strom versorgenNodeMCU: ESP8266 mit Solarzelle und Akku mit Strom versorgen
        • ESP8266 Access Point: Günstigen Wlan Repeater selber bauenESP8266 Access Point: Günstigen Wlan Repeater selber bauen
      • Mini Projekte
        • Raspberry Pi Gewächshaus automatisch selber bauenAutomatisches Raspberry Pi Gewächshaus selber bauen
        • Eigene Raspberry Pi Gartenbewässerung mit Webseite bauenEigene Gartenbewässerung mit Webseite bauen
        • Raspberry Pi Radio StationRaspberry Pi als Radio Sendestation verwenden
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen (Autoradio, Car PC)
        • spotify-logo-primary-horizontal-dark-background-rgbRaspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.) – Online Radio
        • Raspberry Pi RetroPie Guide - SNES Classic Spielekonsole selber bauenRaspberry Pi RetroPie Guide – SNES Spielekonsole bauen
        • Android + Raspberry Pi: Funksteckdosen App BedienungRaspberry Pi + Android/iOS: Funksteckdosen per App schalten
        • Indirekte Deckenbeleuchtung selber bauen mit farbigem LED LichtIndirekte Deckenbeleuchtung selber bauen mit farbigem LED Licht
  • Sonstiges
    • Wünsch dir ein Tutorial
    • News
    • Reviews
      • Pi Cap – Kapazitives Raspberry Pi Erweiterungsboard
      • Raspberry Pi Tablet „Sunfounder RasPad“ – Testbericht & Einrichtung
      • Testbericht zum 7″ Raspberry Pi Touchscreen Display
      • CrowPi 2 Testbericht: Laptop & Lern-Kit für Kinder
      • Daten auf dem Wio Terminal LCD Screen anzeigen
    • Raspberry Pi Zero
      • Offizielles 5$ Raspberry Pi Zero Modul vorgestellt
      • Raspberry Pi Zero – Ethernet Verbindung herstellen (ENC28J60)
      • Raspberry Pi: WS2801 RGB LED Streifen anschließen und steuern
  • Hausautomation
    • OpenHAB
      • steckdose_25Sonoff S20 Wifi Steckdose steuern
      • wireless_25Funksteckdosen (433 MHz) schalten
      • schalter_25Relais steuern (Rollladen, Lichter, etc.)
      • wetterstation_menu30Wetterstation mit OpenHAB 2 bauen
      • ws28_25WS28xx RGB LED Streifen steuern
      • touchscreen_25Touchscreen Panel bei Näherung aktivieren
      • mqtt_25MQTT Datenabfrage: Raspberry Pi an ESP8266
      • spotify_25Remote Spotify Player im Smart Home
      • heizung_25eQ-3 Thermostat im Smart Home
    • Einführung
      • Raspberry Pi Smart Home OpenHAB installierenOpenHAB installieren & konfigurieren
      • Home Assistant auf dem Raspberry Pi – Erste Schritte
    • ESP8266 NodeMCU
      • esp8266_25Einführung & Programmierung
      • arduino_25ESP8266: Arduino IDE installieren
      • lcd_25NodeMCU HD44780 LCD
      • battery_25Batteriebetrieb via Deep-Sleep
      • wifi_menuPer WLAN Daten senden
      • wetterstation_menu30Wetterstation Außenposten
      • maps_25Google Maps Routenplaner
      • wireless_25NodeMCU Funksteckdosen steuern
      • mail_25Vom NodeMCU Emails versenden
      • rgb_25WS2812B LEDs am Smartphone steuern
      • solar_25ESP8266 Stromversorgung mit Solarzelle
    • Überwachung
      • Aufnahmen mit dem offiziellen Kamera Modul des Raspberry Pi
      • Raspberry Pi: Überwachungskamera Livestream einrichten
      • mailbox_25Briefkasten Sensor – Email Benachrichtigung bei neuer Post
      • Raspberry Pi Überwachungskamera mit Webcam betreiben
      • Überwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
      • ESP32 Cam Livestream Tutorial für Kamera Modul
    • Raspberry Pi + Android: Benachrichtigungen von Bewegungsmelder
    • Raspberry Pi + Android/iOS: Funksteckdosen per App schalten
    • Raspberry Pi + Android: Schwenkbarer Kamera-Livestream
      • Smart Home
        • Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
        • Raspberry Pi Funksteckdosen (433MHz) steuern – Tutorial
        • Raspberry Pi Sprachsteuerung selber bauen (Hausautomatisierung)
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
Home»Arduino & ESP8266»Monatelanger ESP8266 Batteriebetrieb mittels Deep-Sleep

Monatelanger ESP8266 Batteriebetrieb mittels Deep-Sleep

Facebook Twitter LinkedIn Tumblr Email Reddit
Monatelanger ESP8266 Batteriebetrieb mittels Deep-Sleep
Teilen
Facebook Twitter LinkedIn Email Tumblr Reddit Telegram WhatsApp

Hat man einen Mikrocontroller wie den ESP8266 NodeMCU im Außenbetrieb, läuft dieser oftmals über portable Stromversorgung wie bspw. Akkus, Batterien oder Powerbanks. Daher ist es von enormer Bedeutung, dass der Stromverbrauch beim ESP8266 Batteriebetrieb möglichst gering gehalten wird.

Dafür hat der ESP8266 einen sog. „Deep Sleep“ Modus, in welcher der NodeMCU inaktiv ist und somit kaum Strom verbraucht – perfekt also für den Batteriebetrieb. Wie man diesen nutzt und welche Vorkehrungen dafür zu treffen sind, behandeln wir in diesem Tutorial.

 

Zubehör

Bei der mobilen Stromversorgung ist es natürlich besser ein Modul zu nehmen, welches optimiert ist. Falls du also nur einen bzw. zwei GPIO’s benötigst, ist ein ESP-01 besser als ein ESP-12 geeignet. Je nach Spannungsquelle (Batterie vs. Powerbank) sollte auch die Eingangsspannung beachtet werden, da bspw. das NodeMCU Development Board 5V benötigt.

  • ESP8266 (bspw. ESP-01 oder ESP-12)
  • Jumper Kabel
  • ggf. Sensoren, Taster, Zubehör

Ich habe zum Test eine einfache LED genommen.

Daneben ist natürlich eine mobile Stromquelle erforderlich. Hierzu gibt es zwei Möglichkeiten:

  1. Powerbank (alternativ mit 10.000 mAH)
  2. 3.7V Li-ion Akku (Typ 18650)

Eine Powerbank hat den Vorteil, dass ggf. auch andere USB Geräte geladen werden können. Außerdem ist das NodeMCU Developer Board auch ohne weiteres damit zu betreiben.
Ein Lithium-Ionen Akku hingegen liefert nur 3.7V statt 5V, was aber für einen normalen ESP8266 (bspw. ESP-01) ausreicht. Allerdings ist zum Aufladen ein Ladegerät nötig, da diese Art von Akkus recht empfindlich ist. Wer ein Labornetzteil sein eigen nennt, kann die Li-ion Batterie auch gemäß dieser Anleitung aufladen.

Aufbau für den ESP8266 Batteriebetrieb

Der wichtigste Schritt, neben der Verkabelung der Sensoren, ist der Anschluss an die Stromquelle. Wer eine Powerbank nutzt, wird wohl kaum Schwierigkeiten haben, weshalb es anschließend nur kurz um die Verbindung einer Li-Ion Batterie geht (äquivalent für Li-po / Lithium-Polymer-Akkumulatoren).

Verkabelung des ESP-12 (links) und ESP-01 (rechts) mit einer LED und einer Spannungsquelle (Lipo / Li-ion Akku, alternativ per USB Powerbank).

Falls du ein 5V Modul verwendest, muss natürlich auch eine dementsprechende Spannung vorhanden sein.

Darüber hinaus muss der entsprechende Aufbau natürlich dem Ziel angepasst werden. So haben wir bspw. bereits einen Wetterstation Außenposten mit dem DHT22 Temperatur und Luftfeuchtigkeitssensor gebaut. Man könnte dieses Szenario nehmen und bspw. nur alle X Minuten eine Messung vornehmen und in der restlichen Zeit den ESP8266 schlafen lassen, sodass kaum Strom verbraucht wird.

 

Neben dem Anschluss der Sensoren etc. ist eine Verbindung von GPIO16 (D2) zu RST nötig, falls du den ESP8266 jeweils für eine gewisse Zeitspanne schlafen lassen möchtest. Die Alternative wäre die Pins nicht zu verbinden und ihn per Interrupt aufzuwecken, doch dazu später mehr. Hier der Schaltplan mit der beispielhaften Minischaltung einer LED:

Schaltbild

 

Software – Deep Sleep

Der „Deep Sleep“ Modus setzt den ESP8266 eine Weile in einen extrem stromsparenden Modus, in der nichts weiter ausgeführt wird. Nach der eingestellten Zeit wird ein Signal gesendet, womit der ESP neu startet – deshalb muss GPIO16 auch mit dem Reset verbunden werden, da sonst der Neustart nicht funktioniert:

This function can only be used in the condition that esp8266 PIN32(RST) and PIN8(XPD_DCDC aka GPIO16) are connected together. Using sleep(0) will set no wake up timer, connect a GPIO to pin RST, the chip will wake up by a falling-edge on pin RST.

Der Deep-Sleep Modus hat jedoch eine kleine Einschränkung: Und zwar ist die maximale Dauer auf ca. 71 Minuten begrenzt:

The maximum sleep time is 4294967295us, ~71 minutes.

Das sollte aber für die allermeisten Anwendungen reichen. Wer z.B. Temperatur o.ä. loggt, wird wahrscheinlich ein Zeitfenster unter einer Stunde nehmen.

 

Beginnen wir nun mit dem Aufspielen der Software über den ESPlorer. Wir werden zwei Dateien erstellen und übertragen, wovon die eine unsere „Logik“ enthält und die andere die „init.lua“ sein wird, welche beim Start aufgerufen wird.

Die erste Datei habe ich „dsleep.lua“ genannt und hat bei mir folgenden Inhalt:

Lua
1
2
3
4
5
6
7
8
9
10
11
12
13
SLEEP_TIME = 60 -- max. 71 minutes (= 4294 sec)
 
pin=4
gpio.mode(pin, gpio.OUTPUT)
 
for i=1,3 do
    gpio.write(pin,1)
    tmr.delay(1000000)
    gpio.write(pin,0)
    tmr.delay(1000000)
end
 
node.dsleep(SLEEP_TIME * 1000000)

Falls du einen Aufruf einer Webseite / API etc. machen willst, beachte dabei, dass der node.sleep() Befehl in das Callback dieser Funktion muss. Ansonsten würde der ESP8266 in den Schlafmodus gesetzt, bevor der Aufruf der Website stattgefunden hat.

Nach dem Speichern und Übertragen dieser Datei, kümmern wir uns die „init.lua“:

Lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
-- init.lua
local SSID = "WLAN NAME"
local SSID_PASSWORD = "password"
 
wifi.setmode(wifi.STATION)
wifi.setphymode(wifi.PHYMODE_N)
--wifi.sta.config(SSID, SSID_PASSWORD)
wifi.sta.config {ssid=SSID, pwd=SSID_PASSWORD}
wifi.sta.autoconnect(1)
 
tmr.alarm(1, 1000, 1, function()
    if wifi.sta.getip()== nil then
        print ("Waiting for Wifi connection")
    else
        tmr.stop(1)
        tmr.stop(2)
        print ("ESP8266 mode is: " .. wifi.getmode ( ))
        print ("The module MAC address is: " .. wifi.ap.getmac ( ))
        print ("Config done, IP is " .. wifi.sta.getip ( ))
        
        dofile("dsleep.lua")
    end
end)
 
-- if there is no connection after some seconds, stop trying to connect and go to deep sleep for a minute
tmr.alarm(2, 10 * 1000, 1, function()
    tmr.stop(1)
    tmr.stop(2)
    if wifi.sta.getip() == nil then
        print("down", wifi.sta.getip())
        node.dsleep(60 * 1000000)
    end
end)

Hier musst du natürlich den Namen und das Passwort deines WLANs eintragen. Ich habe in meiner Anwendung vorausgesetzt, dass eine Internet- bzw. Netzwerkverbindung besteht, bevor das andere Skript mittels dofile() aufgerufen wird. Damit jedoch nicht dauerhaft versucht wird sich mit dem Wifi-Netzwerk zu verbinden (z.B. weil es nicht vorhanden ist oder die Daten falsch), habe ich eine Abbruchbedingung nach 10 Sekunden eingebaut. Sollte dies eintreten, wird der ESP8266 nach 60 Sekunden neu gestartet und ist in dieser Zeit im Stromsparmodus.

Mit diesem Beispiel wollte ich nur einmal zeigen, wie so eine Anwendung aussehen kann und darauf hinweisen, worauf geachtet werden muss. Du musst es natürlich nicht exakt so übernehmen, sondern solltest es entsprechend deinen Anforderungen anpassen.

Sobald die Datei übertragen wurde, wirst du sehen, wie die LED jede Minute zweimal kurz aufblinkt. Ich habe dieses Szenario nun schon viele Tage so mit meiner Powerbank, die ich auch im Roboter Projekt genutzt habe, getestet, ohne dass auch nur ein Balken abgenommen hat (bei minütlichem Aufwachen und Verbinden mit dem WLAN, was über 1400 Verbinden pro Tag entspricht). Bei längerem Schlafen kann man die Laufzeit entsprechend weiter erhöhen. Längere Sleep Zeiten ließen sich durch einen Counter ermöglichen: Wer bspw. alle 3 Stunden etwas ausführen möchte, der stellt einen 60 Minuten Timer und ließt bzw. schreibt den Wert in eine Datei. Wurde der Wert erreicht (3x60min), so kann die Aktion ausgeführt werden und der Counter wird zurückgesetzt. Ansonsten wird erneut eine Stunde geschlafen.

 

Möglichkeit 2: Interrupt

Falls du eine andere Anwendung hast, die bspw. nur dann Daten senden soll, sobald ein bestimmtes Ereignis auftritt (z.B. Aktivieren eines Bewegungsmelders, Durchlaufen einer Lichtschranke, etc.), so macht ein Aufwachen nach vorbestimmter Zeit natürlich keinen Sinn.

In diesem Fall nutzen wir:

node.dsleep(0)

Damit wird der Schlafmodus ausgelöst, jedoch wird er nicht mehr selbst erwachen (daher auch kein 71 Minuten Limit).

Dafür darf allerdings GPIO16 und RST nicht verbunden sein. Sobald das Ereignis ausgelöst wurde, senden wir ein kurzes LOW Signal („Falling Edge“) an den RST Pin. Dadurch startet der ESP8266 neu und wir können unsere Aktion ausführen (Serveraufruf, Daten an Raspberry Pi senden, etc.).

Sobald alles fertig ist, sollte der Mikrocontroller wieder in den „Deep Sleep“ Modus versetzt werden (us=0), um so auf den nächsten Interrupt zu warten und in der Zwischenzeit Strom zu sparen.

 

Je nach Auslastung und Anwendung ist es mit einer Li-ion Batterie, einem Li-Po Akku oder einer Powerbank möglich den ESP8266 NodeMCU über einen sehr langen Zeitraum mit Strom zu versorgen. Wer es schafft den Ladestatus auszulesen, könnte bei Bedarf sogar eine Email versenden, sobald die Kapazität zu gering wird. Wenn dich der ungefähre Zeitraum interessiert, kannst du mit einem Multimeter den Strom messen, der im Schlafmodus und während der aktiven Zeit gebraucht wird. Dadurch, das die Kapazität des Akkus / Powerbank bekannt ist, kannst du die ungefähre Dauer berechnen.

.lua akku batterien ESP-01 ESP-12 ESP-32 ESP8266 geringe Stromaufnahme Internet der Dinge Internet of Things IoT LUASkript NodeMCU Stromversorgung
Teilen Facebook Twitter Pinterest LinkedIn Tumblr Email
Vorheriger BeitragESP8266 Wetterstation Außenposten für den Raspberry Pi
Nächster Beitrag Mit dem NodeMCU ESP8266 433MHz Funksteckdosen steuern

Ähnliche Beiträge

ESP32 TDS Sensor: Wasserqualität im Smart Home messen

ESP32 pH-Sensor – Automatische pH-Messung für Pool und Hydroponik

Home Assistant: Einfache Integration von ESP32 / ESP8266 mittels ESPHome

ESP8266 Regensensor selber bauen – Wie viel regnet es pro m²?

28 Kommentare

  1. Jan am 2. Oktober 2017 9:52

    Hey, ein sehr interessanter Beitrag. Danke dafür. Was ich noch vermisse, ist ein eingehen auf das Thema Tiefentladung bei LiPo’s. Sprich: wie wird verhindert, das der LiPo unter 3,3V fällt und dann „kaputt“ ist?

    Antworten
    • philip am 5. November 2017 14:16

      Hallo Jan,

      ich würde in diesem Fall ein TP4056 Modul nutzen.

      https://dlnmh9ip6v2uc.cloudfront.net/datasheets/Prototyping/TP4056.pdf

      Antworten
  2. Kongo am 21. März 2018 15:31

    Eine wirklich dumme Frage von mir, aber wo schließe ich denn eine Powerbank an den ESP8266 an? Da gibt es doch keinen Eingang für Mikro USB oder übersehe ich was?

    Antworten
    • Felix am 22. März 2018 0:40

      Je nachdem welchen ESP du nutzt. Das Development Board hat einen micro USB Eingang.

      Antworten
  3. SR am 23. März 2018 23:51

    Ich verwende ein ESP-01, aber wenn ich RESET mit GPIO0 verbinde (wie auf dem Bild gezeigt, blaues Kabel), bleibt das Board beim Starten in einer endlosen Reset-Schleife hängen. GPIO0 ist nach Anlegen von Spannung immer zunächst HIGH, und löst damit sofort ein Reset aus.

    Sollte die Verbindung bei diesem Board so gemacht werden wie hier gezeigt?
    http://www.instructables.com/id/Enable-DeepSleep-on-an-ESP8266-01/

    Antworten
    • SR am 24. März 2018 23:02

      Habe es ausprobiert, die Lösung von Instructables funktioniert.

      Antworten
  4. Tobias am 5. November 2018 20:09

    Hallo,
    im Netz liest man immer wieder das man zwischen Reset und D0 einen Widerstand verbauen soll. Was hat es damit auf sich?

    Antworten
  5. makerfabs am 22. November 2018 10:16

    In den letzten 4 Jahren ist der ESP8266 die beliebteste Wifi-Lösung für Hersteller. Die guten Spezifikationen und der günstige Preis machen die Konkurrenz wie RTL8710 schwer zu wachsen.
    Aber manchmal ist Plan B tatsächlich notwendig. Vor kurzem die W600-Lösung W600 Arm WCon, die wir von Winner Micro herausgebracht haben. Wir glauben, dass sie mit ESP8266 ein gleichmäßiger Wettbewerber sein könnte.

    Antworten
  6. Uwe Gräfe am 8. Dezember 2018 10:26

    Hallo, habe mir einen Nodemcu mit einem DHT22 aufgebaut der mir die Temperatur viertelstündlich an ioBroker sendet und danach in DeepSleep geht. Nun suche ich noch eine mobile Stromversorgung. Ein 9V-Block hält leider nur 2-3 Tage, also unbrauchbar. Was wäre da die beste Lösung? Möchte wenn möglich schon mindestens einen Monat hinkommen, wenn möglich auch länger.

    Antworten
    • Thomas am 22. Dezember 2018 15:45

      Hallo,
      ich lese das rein zufällig während ich auf der Suche nach einer TCP-Verbindung von ESP8266 zu Raspberry bin. Ich habe ebenfalls das Problem mit dem zu hohen Stromverbrauch. Dabei connected der ESP8266 nur 1s etwa alle 3 Minuten und sendet die Temperatur an einen Raspberry.
      Das hat mir geholfen Strom zu sparen:
      – ESP8266-01S (rein nur den Baustein, kein NodeMCU).
      – Upload-Diode entfernt.
      – Stromversorgung direkt mit 2 AAA-Batterien
      Da ich immer wieder rumprobiere ist die Batteriehaltezeit noch nicht ganz sicher, aber 1 Monat ist bestimmt drin.
      Ein Problem ist der hohe Stromverbrauch, wenn das Programm läuft – so ca. 70..90mA.
      Im deepSleep() ist der Stromverbrauch etwa 20 Mikro-Ampere. Das ist wenig genug.

      Nur sobald es Arduino-Arbeit gibt (z.B. weil der Raspberry nicht antwortet) kann man aufpassen, wie die Spannung nach unten geht. D.h. also, die aktive Arduino-Zeit muss noch geringer werden. Deshalb meine Suche nach einer effektiveren Verbindung zum Raspberry. Aktuell polle ich via „curl“ den Arduino und das benötigt mehrere Sekunden – nicht toll!
      Grüße
      Thomas

      Antworten
      • Sven am 12. Februar 2019 17:03

        Hi Thomas,

        ich würde es mal mit MQTT versuchen.

        Grüße
        Sven

    • Christian am 3. Mai 2020 15:49

      Solarmodul in Kombination mit TP4056. Das dürfte ewig halten und eine 3,7 V LiO Batterie als Puffer. Das TP4056 lädt über Solarzelle den Akku auf, schaltet bei „Voll“ ab und sorgt bei leerem Akku für Tiefentladeschutz. Besser gehts nicht 😉

      Antworten
  7. Frank am 13. Dezember 2018 20:36

    Danke für den super Beitrag, ABER. Die Idee mit der PowerBank funktioniert nicht – gerade die von Dir empfohlene hat ein unerwünschtes Feature: „Auto-Stopp, wenn das Telefon voll aufgeladen ist.“.
    D.h. wenn der ESP in den Tiefschlafmodus geht zieht er so wenig Strom, dass die PowerBank abschaltet und dann wacht er leider nicht mehr auf 🙁
    Da ich die PowerBank jetzt rumliegen habe überlege ich eine Schaltung mit einem Zwischenpuffer. Der müsste gerade so viel bringen, dass der ESP wieder aufwacht – dann startet auch die PowerBank wieder.

    Antworten
    • Nico am 20. Mai 2019 15:57

      Hi, genau das Problem habe ich auch konntest du mittlerweile ein Lösung finden?

      Antworten
      • jack am 16. Juni 2019 5:39

        Das Problem ist bekannt und in der EU ist die Abschaltautomatik für Powerbanks Pflicht.
        Man kann z.B. die Grundlast erhöhen in dem man etwas Strom über ein Transistor in einem Widerstand verbrät.
        Mal die ersten zwei Google Treffer zu „powerbank schaltet ab“ lesen. 🙂

    • Ralph am 11. Oktober 2021 4:50

      Nur eine nicht erprobte Idee von mir: Bevor die kürzest mögliche Zeit zur automatischen Abschaltung der PowerBank erreicht ist, lässt man den ESP für einen Moment aufwachen, damit ein ausreichend hoher Strom gezogen wird, damit die Nachlaufzeit der Powerbank erneut startet. Danach versetzt sich der ESP erneut in den Tiefschlaf bis zum nöchsten Aufwachen. Sei es ein Aufwachen, um einen weiteren Stromimpuls zu generieren oder das geplante Aufwachen, um Programm abzuarbeiten.

      Antworten
  8. Lar am 30. März 2019 9:39

    Schöne kurze Anleitung. Einen Hinweis zu den 71 Minuten. Das ist formal korrekt, kann aber mit etwas „tricksen“ stromsparend verlängert werden.
    Aufgeweckt wird der ESP grundsätzlich immer nach spätestens 71 Minuten, aber was es dann zu tun gibt, das kann man ja steuern. So kann man sich z.B. in 2 von 3 Fällen einfach wieder schlafen legen. Das kurze Aufwachen zieht etwas Strom, aber da das Einschlafen schon vor WLAN-Aktivierung passiert, ist das nicht so tragisch. Um mitzuzählen über die Resets empfehle ich (Werbung, bin der Autor…) die RTCVars Bibliothek: https://github.com/highno/rtcvars
    Ein Beispiel dabei macht nichts anderes als die Resets zu zählen. So ist auch ein Logging 2x täglich stromsparend möglich.

    Antworten
    • Sakasitadi am 23. Juni 2019 21:54

      Hallo Lars,
      ich habe deine Bibliothek heruntergeladen und auf den ESP8266 überspielt. funktioniert auch tadellos. Allerdings würde ich gerne bei einem „reset_counter“ Stand von z.b 5 auf zu einer Datei init.lua springen. Wie müsste ich sowas programmieren? Kann ich auf dem ESP eine Arduino Sketch und eine Lua Datei kombinieren?

      Antworten
    • Alan am 4. Oktober 2019 15:11

      Statt über die RTC die Daten zu speichern, könnte man aber doch auch mit dem Filesystem SPIFFS die Daten ablegen, oder gibt es gravierende Vorteile bei der RTC?
      Bei SPIFFS wären die Daten auch noch nach einem Cold-Reboot bzw. Power off/on noch vorhanden.

      Antworten
  9. spicer am 29. Juni 2019 3:01

    Wie würdest Du das lösen?
    Ich möchte den ESP über Nacht in den deep sleep versetzen, um Energie zu sparen.
    Kann ich das lokal am ESP iwie lösen oder sollte ich den Schlafbefehl per MQTT vom Raspi (MQTT Server) an den ESP senden?
    Frage ist aber da, wie ich den ESP wieder aufwecke. Ich kann ja keine Befehle senden, wenn der ESP am schlafen ist. Oder?

    Antworten
  10. spicer am 29. Juni 2019 3:06

    Oder ich sende alle 72 Minuten den Schlafbefehl wieder.
    So hätte ich die Kontrolle über den ESP vom Raspi aus ^^

    Antworten
  11. DJ am 15. November 2019 14:01

    Hallo.
    Warum ist denn oben im Bild beim ESP8266-01 der RST Pin mit GPIO0 verbunden ?
    (Beim anderen kenne ich die Belegung nicht auswendig)

    GPIO0 wird mit GND verbunden wenn man flashen also programmieren will.
    Ansonsten bleibt der offen.

    Ist das Bild falsch oder geht es hier um was anderes ?

    Gruß

    Antworten
  12. AM am 15. Dezember 2019 21:13

    Mein Tipp: Autobatterie vom Wertstoffhof und ein gutes Step-Down-Modul. Hat man das passende Step-Down-Modul kann man bis zu 4-5 12 Volt Batterien in Reihe schalten, dann reicht der Saft ewig, bis es auch für den Stepper nicht mehr langt. Man glaubt nicht wie viele noch brauchbare Batterien weggeworfen werden.

    Antworten
    • Peter am 2. März 2021 15:47

      Hallo AM.
      Du willst die Batterien in Reihe schalten????
      Macht 48 bis 60 Volt. Was soll das??

      Antworten
  13. us am 20. April 2020 12:03

    Auf das Thema 3,3V CPU und 3,7V oder höher Stromversorgung gehst du überhaupt nicht ein. Hier wäre zB ein MCP1700-3302E sehr hilfreich.

    Antworten
  14. Kay am 18. Juni 2020 23:16

    Zunächst mal Danke für deinen Beitrag, ich habe hier schon einige Ideen „klauen“ können.

    Jetzt bin ich durch diesen Beitrag auf die Idee gekommen mit einem ESP8622 meinen Briefkasten etwas KI zu verpassen (Benachrichtigung bei öffnen).

    Verstehe ich dies hier richtig:

    „Sobald das Ereignis ausgelöst wurde, senden wir ein kurzes LOW Signal („Falling Edge“) an den RST Pin“

    Ich kann damit den ESP8622 aus „node.dsleep(0)“ wecken kann indem ich Reset vorrübergehen auf GND setze?

    Ich denke daran mittels Reed Kontakt GND durchzuschalten.

    Sorry für die vielleicht blöde Frage, ich bin relativ neu in der Materie.
    Kay

    Antworten
  15. Ron am 27. Februar 2021 18:08

    Das Bild passt nicht zum benutzen Akku oder?

    Antworten
  16. Ti am 31. Mai 2021 22:56

    Ich nutze meinen NodeMCU Amica mit einem Feuchtigkeitssensor und einem DHT jetzt seit zwei Wochen ohne Deep Sleep zur Überwachung im Gewächshaus. Betrieben mit einer PiwerBank mit 22Ah und Solarpanel. Bislang wirds nicht weniger.
    http://ihr-it-profi.de/index.php

    Antworten

Hinterlasse einen Kommentar Antwort abbrechen

Raspberry Pi + Android/iOS: Funksteckdosen per App schalten

Raspberry Pi QR / Barcode Scanner mit Kamera selber bauen

Raspberry Pi – USV selber bauen (Unterbrechungsfreie Stromversorgung)

Snake auf Raspberry Pi MAX7219 Matrizen spielen

Kapazitiven Erdfeuchtigkeitssensor „Giess-o-Mat“ am Raspberry Pi auslesen

Raspberry Pi Servo Motor Steuerung

Blog abonnieren

Abboniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!

Tutorials for Raspberry Pi
Facebook Twitter YouTube
  • Kontakt & Impressum
  • Unterstützen
  • Datenschutz

Tippe den Suchbegriff oben ein und drücke Enter, um danach zu suchen. Drücke Esc, um abzubrechen.