ESP32 WebRTC Kamera (Livebild in der Sinric Pro App und im Portal)
In diesem Abschnitt zeigen wir dir, wie du per WebRTC Live-Video von einer ESP32 Kamera von überall in die Sinric Pro App und ins Sinric Pro Portal überträgst.
Voraussetzungen :
- ESP32 oder ESP32-S3 Kameraboard mit PSRAM (zum Beispiel AI-Thinker ESP32-CAM, XIAO ESP32S3 Sense, Freenove ESP32-S3).
- Arduino IDE mit ESP32 Core 3.3.10 oder 3.3.11 (die WebRTC-Bibliothek wird für diese Versionen vorkompiliert ausgeliefert).
- Bibliotheken: SinricPro (mit WebRTC-Unterstützung) und SinricProWebRTC.
Wie funktioniert es?
- Die Sinric Pro App oder das Portal erzeugt ein WebRTC-Offer und sendet es über Sinric Pro an deine Kamera.
- Sinric Pro ergänzt die Anfrage um STUN/TURN-Server, damit die Kamera auch von außerhalb deines WLANs erreichbar ist.
- Der ESP32 antwortet, und das Video fließt direkt zwischen der Kamera und deinem Smartphone oder Browser. Wenn kein direkter Weg möglich ist, wird es über den Sinric Pro TURN-Server weitergeleitet.
Schritt 1: Kamera-Gerät anlegen
- Gehe zu portal.sinric.pro → Devices → Add Device und wähle den Gerätetyp Camera.
- Wähle unter Camera Stream Configuration als Board ESP32 und als Streaming Protocol WebRTC.
- Aktiviere auf einem ESP32-S3 zusätzlich H.264 video track, wenn die Kamera auch in Amazon Alexa und Google Home verfügbar sein soll. Siehe ESP32-S3 H.264 Kamera für Alexa und Google Home.
- Speichere und notiere dir die Device Id. App Key und App Secret findest du unter Credentials.
Schritt 2: Bibliotheken installieren
Öffne in der Arduino IDE den Library Manager und installiere SinricPro und SinricProWebRTC.
Schritt 3: Beispiel flashen
- Öffne File → Examples → SinricProWebRTC → SinricProCamera.
- Trage in
Settings.hdein WLAN, App Key, App Secret, Device Id undCAMERA_BOARDein (sieheBoardProfiles.h). - Aktiviere unter Tools die Option PSRAM und wähle ein Partitionsschema mit mindestens 3 MB für die App, zum Beispiel Huge APP (3MB No OTA).
- Lade den Sketch hoch und öffne dann den seriellen Monitor mit 115200 Baud. Du solltest
Connected to SinricProsehen.
Schritt 4: Kamera ansehen
- App: Öffne die Kamera in der Geräteliste.
- Portal: Klicke auf der Kamerakarte auf Preview.
Schnappschüsse (Take Snapshot, View Snapshots) funktionieren neben dem Livebild weiterhin.
Einschränkungen
- Amazon Alexa und Google Home benötigen eine H.264-Videospur, die nur der ESP32-S3 erzeugen kann. Auf einem klassischen ESP32 bleibt diese Kamera auf App und Portal beschränkt. Siehe ESP32-S3 H.264 Kamera für Alexa und Google Home.
- Nur ein Zuschauer gleichzeitig: Wird die Kamera auf einem anderen Gerät geöffnet, ersetzt das den aktuellen Zuschauer.
- Das Video startet mit 5 Bildern pro Sekunde in VGA (640 x 480). Im Viewer kannst du Auflösung und Bildrate ändern sowie Blitz (AI-Thinker ESP32-CAM), Drehen und Spiegeln umschalten.
- Bei langsamen Verbindungen sinkt die Qualität automatisch; schalte Auto quality aus, damit deine Einstellungen fest bleiben.
- Audio gibt es auf dem XIAO ESP32S3 Sense (integriertes Mikrofon).
- Wenn der Viewer dich auffordert, die Kamera-Firmware zu aktualisieren, flashe sie erneut mit dem SinricPro SDK 5.1.0 oder neuer.
Fehlerbehebung
Camera init failed: falschesCAMERA_BOARD, oder PSRAM ist deaktiviert.- Bleibt bei „Connecting“ hängen: Suche im seriellen Monitor nach
WebRTC answer failedund stelle sicher, dass der ESP32 Core die Version 3.3.10 oder 3.3.11 hat. - Funktioniert zu Hause, aber nicht über mobile Daten: Dieses Netz blockiert direkte Verbindungen, daher muss der Stream über TURN weitergeleitet werden; prüfe im seriellen Monitor, ob das Offer TURN-Server enthielt.