Metainformationen zur Seite
ESP32-CAM Dokumentation
Übersicht
Das ESP32-CAM Board basiert auf dem ESP32-S Chip und bietet eine kostengünstige Lösung für Kameraanwendungen in IoT-Projekten. Es verfügt über einen OV2640 Kamerasensor und unterstützt verschiedene Betriebsmodi.
Hardware Eigenschaften
- Mikrocontroller: ESP32-S
- Kamera: OV2640 (2MP)
- Flashlicht: Integrierte weiße LED
- GPIO-Pins: Mehrere verfügbare Pins für Erweiterungen
- Kommunikation: WLAN 2.4 GHz
- Stromversorgung: 5V
Ersteinrichtung
Flashen des Boards
Das Board muss für die erste Programmierung in den Flash-Modus versetzt werden:
- Verbinden Sie das Board über einen USB-zu-TTL-Adapter (z.B. FTDI oder CP2102) mit Ihrem Computer
- Stellen Sie folgende Verbindungen her:
- ESP32-CAM GND → Adapter GND
- ESP32-CAM 5V/3.3V → Adapter 5V/3.3V (je nach Adapter)
- ESP32-CAM U0R (RX) → Adapter TX
- ESP32-CAM U0T (TX) → Adapter RX
- Verbinden Sie GPIO0 (IO0) mit GND, um den Flash-Modus zu aktivieren
- Drücken Sie kurz den RST-Button auf der Rückseite des Boards
- Führen Sie das Flashen mit Arduino IDE, ESPHome oder esptool durch
- Nach dem Flashen: Entfernen Sie die Verbindung zwischen GPIO0 und GND
- Drücken Sie erneut den RST-Button, um das Board neu zu starten
Integration in Home Assistant mit ESPHome
Basis-Konfiguration
substitutions: devicename: esp-cam upper_devicename: ESP32-Cam esphome: name: $devicename friendly_name: $upper_devicename esp32: board: esp32dev framework: type: arduino # Aktiviere Logging logger: level: WARN # Externe Pakete einbinden packages: wifi: !include packages/wifi.yaml mqtt: !include packages/mqtt.yaml ota: !include packages/ota.yaml
Kamera-Konfiguration
esp32_camera: name: $upper_devicename id: my_camera external_clock: pin: GPIO0 frequency: 20MHz i2c_pins: sda: GPIO26 scl: GPIO27 data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35] vsync_pin: GPIO25 href_pin: GPIO23 pixel_clock_pin: GPIO22 power_down_pin: GPIO32 idle_framerate: 0.1fps max_framerate: 10fps # Bildeinstellungen contrast: 0 special_effect: none # Belichtungseinstellungen aec_mode: auto aec2: false ae_level: 0 aec_value: 300 # Verstärkungseinstellungen agc_mode: auto agc_gain_ceiling: 2x agc_value: 0 # Weißabgleich-Einstellung wb_mode: auto # Ausrichtung vertical_flip: False horizontal_mirror: False
Webserver und LED-Steuerung
# Kamera-Webserver esp32_camera_web_server: - port: 80 mode: stream - port: 81 mode: snapshot output: - platform: ledc pin: GPIO4 id: gpio_4 channel: 2 frequency: 500Hz light: # Für die weiße LED - platform: monochromatic output: gpio_4 name: $upper_devicename Flash LED # Für die rote Status-LED - platform: status_led name: $upper_devicename Status LED id: cam_streaming pin: number: GPIO33 inverted: true
WLAN-Konfiguration (Beispiel)
wifi: # Feste IP-Adresse (passen Sie diese an Ihr Netzwerk an) manual_ip: static_ip: 192.168.178.40 gateway: 192.168.178.1 subnet: 255.255.255.0 # Alternative: Dynamische IP # ssid: "IHR_WLAN_NAME" # password: "IHR_WLAN_PASSWORT"
Kamera-Zugriff
Nach erfolgreicher Einrichtung können Sie auf die Kamera zugreifen:
- Livestream:
http://[KAMERA-IP]:80/
- Einzelbild:
http://[KAMERA-IP]:81/
- In MotionEye einbinden:
http://[KAMERA-IP]:81/
Troubleshooting
Bekannte Probleme
- Niedrige Bildrate (FPS)
- Mögliche Ursache: Interferenzen zwischen IO0 und der WLAN-Antenne
- Lösung: Abschirmung des IO0-Pins mit antistatischer Folie oder durch Berührung
- Alternativ: Positionierung des Boards entfernt von Störquellen
- Verbindungsprobleme
- Überprüfen Sie die Stromversorgung (mindestens 5V/1A empfohlen)
- Stellen Sie sicher, dass sich das Board in Reichweite des WLAN-Routers befindet
- Versuchen Sie eine Firmware-Aktualisierung