Der ESP8266-01, oder auch ESP-01 genannt, ist ein preiswerter und weit verbreiteter WiFi-Mikrocontroller, der von Espressif Systems entwickelt wurde. Er ist besonders beliebt bei Hobbyisten und Entwicklern von IoT-Anwendungen (Internet of Things) aufgrund seiner geringen Kosten und einfachen Integration.
Grundsätzliches
Der ESP-01 ist ein Modul, das den ESP8266-Mikrocontroller enthält, zusammen mit einer kleinen Anzahl an peripheren Komponenten. Es ermöglicht die Verbindung eines Mikrocontrollers mit einem WiFi-Netzwerk und die Ausführung einfacher Netzwerkprotokolle. Der ESP8266-01 (ESP-01) wird oft als WiFi-Transceiver verwendet, um drahtlose Netzwerkfähigkeit zu bestehenden Projekten hinzuzufügen.
Eigenschaften
- CPU: 32-Bit Tensilica L106 mit einer Taktfrequenz von bis zu 80 MHz.
- Speicher: 64 KB Instruktions-RAM, 96 KB Daten-RAM.
- Speicherplatz: 512 KB Flash-Speicher.
- WiFi: 802.11 b/g/n Standard, integrierte TCP/IP-Stack.
- Stromversorgung: 3.0V bis 3.6V.
- Betriebssystem: Unterstützt FreeRTOS.
Internas
Der ESP8266-01 (ESP-01) hat eine einfache Architektur, die es ermöglicht, WiFi-Konnektivität leicht in Mikrocontroller-Projekte zu integrieren. Der Mikrocontroller enthält integrierte analoge und digitale Peripheriegeräte sowie WiFi-Funktionalitäten, die es ermöglichen, ihn in einer Vielzahl von Netzwerkanwendungen zu verwenden.
- Integrierter TCP/IP-Stack: Ermöglicht die direkte Verbindung mit dem Internet.
- GPIO: Zwei General Purpose Input/Output-Pins, die für eine Vielzahl von Anwendungen verwendet werden können.
- UART: Universal Asynchronous Receiver/Transmitter für die serielle Kommunikation
Anschlüsse
Der ESP8266-01 hat insgesamt 8 Pins:
- VCC: Stromversorgung (3.3V).
- GND: Masse.
- TX: UART-Sender. (GPIO 1)
- RX: UART-Empfänger. (GPIO 3)
- CH_PD (EN): Chip Enable, muss auf HIGH gesetzt werden, damit das Modul funktioniert.
- GPIO0: Allgemeiner Eingabe-/Ausgabe-Pin, kann auch zur Aktivierung des Flash-Modus verwendet werden.
- GPIO2: Allgemeiner Eingabe-/Ausgabe-Pin.
- RST: Reset-Pin, um den Mikrocontroller zurückzusetzen.
GPIO 1und 3 am ESP8266-01 sind spezielle Pins, die eine Doppelrolle spielen. Sie können sowohl als GPIO-Pins als auch als UART-Pins TX/RX verwendet werden. Für die serielle Kommunikation sollten diese frei bleiben und nicht als IO-Pins verwendet werden.
Deep Sleep
Der Deep-Sleep-Modus ist ein energiesparender Modus des ESP8266-01, der es ermöglicht, den Stromverbrauch erheblich zu reduzieren, indem der Hauptprozessor und die meisten Peripheriegeräte ausgeschaltet werden. Dies ist besonders nützlich für batteriebetriebene Anwendungen, die lange Zeiträume ohne Netzteilbetrieb überbrücken müssen.
- Aktivierung des Deep-Sleep-Modus: Der Deep-Sleep-Modus kann durch einen einfachen Befehl in der Firmware aktiviert werden, zum Beispiel:
SP.deepSleep(time_in_microseconds);
Weckmodus: Der ESP8266-01 kann nach einer vordefinierten Zeit automatisch aufwachen oder durch ein externes Ereignis (z.B. GPIO-Interrupt) geweckt werden.
Verwendung des GPIO 16-Pins: Um den Deep-Sleep-Modus zu nutzen, muss GPIO16 mit dem RESET-Pin verbunden werden, damit das Modul nach dem Ablauf der Deep-Sleep-Zeit wieder aufwachen kann.
Beispiel für Deep-Sleep
Hier ist ein einfaches Beispiel, das den ESP8266-01 für 10 Sekunden in den Deep-Sleep-Modus versetzt:
void setup() { Serial.begin(115200); Serial.println("Going to sleep now"); ESP.deepSleep(10 * 1000000); // 10 Sekunden in Mikrosekunden } void loop() { // Dieser Code wird nicht ausgeführt, da der ESP8266 im Deep-Sleep-Modus ist }
Zusammenfassung
Der ESP8266-01 ist ein vielseitiges und kostengünstiges Modul, das sich hervorragend für IoT-Anwendungen eignet. Mit seinen grundlegenden GPIO-Anschlüssen und der integrierten WiFi-Funktionalität ist es ideal für Heimautomatisierung, Sensorüberwachung und andere drahtlose Projekte. Der Deep-Sleep-Modus ermöglicht es, den Stromverbrauch zu minimieren, was ihn besonders attraktiv für batteriebetriebene Anwendungen macht.