ESP32: Der vielseitige Wi-Fi/BLE-Mikrocontroller für IoT, Sensorik & Robotik

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

Kommentieren

Bitte beachten Sie, dass Kommentare vor ihrer Veröffentlichung genehmigt werden müssen.