ESP32: Der vielseitige Wi-Fi/BLE-Mikrocontroller für IoT, Sensorik & Robotik
Was ist der ESP32?
Der ESP32 ist ein 32-Bit-Mikrocontroller mit integriertem 2,4-GHz-Wi-Fi und Bluetooth Low Energy (BLE). Er bietet viele GPIOs, ADC, PWM, I²C, SPI und UART – perfekt für IoT-Projekte, Sensorik, LED-Steuerung und kleine Roboter.
Warum ESP32?
-
Konnektivität: WLAN + BLE on-board, keine Zusatzmodule nötig.
-
Ökosystem: Arduino-Core, MicroPython, ESP-IDF, CircuitPython (modellabhängig).
-
Preis/Leistung: Viel Rechenleistung und Peripherie zum Maker-Preis.
-
Energiesparen: Deep-Sleep-Modi für Batteriebetrieb.
Typische Anwendungen
-
Smart-Home & IoT: MQTT/HTTP-Sensoren, Schalter, Datenlogger.
-
Robotik: Linienfolger, Fahrregler, Telemetrie.
-
Beleuchtung: LED-Streifen (z. B. WS2812/Neopixel) mit PWM/Timing.
-
Umweltmessung: Temperatur/Feuchte/Druck (z. B. BME280).
Strom & Pegel
- Logik 3,3 V (Level-Shifter bei 5-V-Sensoren verwenden).
- USB-Versorgung meist 5 V → On-Board-Regler erzeugt 3,3 V.
- Für Batteriebetrieb: Deep-Sleep aktivieren, Sensoren abschaltbar versorgen.
Beispiel: Arduino (WLAN verbinden)
#include <WiFi.h>
const char* ssid = "WLAN-Name";
const char* pass = "Passwort";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, pass);
Serial.print("Verbinde");
while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); }
Serial.println("\nVerbunden! IP: " + WiFi.localIP().toString());
}
void loop() { /* App-Logik */ }
Beispiel: MicroPython (Blink)
from machine import Pin
import time
led = Pin(2, Pin.OUT) # Onboard-LED (Board-abhängig)
while True:
led.value(1); time.sleep(0.5)
led.value(0); time.sleep(0.5)
Sensoren anbinden (I²C)
- SDA/SCL mit Pull-Ups (meist bereits auf Sensor-Breakouts).
- Adresse prüfen (Datenblatt/Library-Beispiel).
- Kabellänge kurz halten; gemeinsame Masse!
Sicherheit & Updates
-
TLS/HTTPS für Cloud-Dienste nutzen.
-
OTA-Updates einplanen (Arduino OTA / ESP-IDF), damit Geräte im Feld aktualisierbar bleiben.
Troubleshooting (Kurz)
- Keine serielle Ausgabe → Baudrate & Port prüfen.
- Sensor „unsichtbar“ → I²C-Adresse/Pull-Ups/GND checken.
- Instabil bei Last → Versorgung, Peaks, Kondensatoren, Kabel prüfen.
Weiterführend: I²C, SPI, UART, PWM, BME280, MicroPython (siehe Lexikon).
Tipp: Für Einsteiger sind Dev-Boards mit USB-UART (z. B. „-WROOM/-S3“) am bequemsten.
0 Kommentare