In einem anderen Tutorial habe ich bereits erklärt, wie man die ESP32-Cam mithilfe der Arduino IDE installiert, einrichtet und damit anschließend einen Livestream-Webserver realisieren kann. Heute möchte ich auf dem Wissen aufbauen und einen modifizierten Sketch vorstellen, mit dem die ESP32-Cam einen rtsp-Stream bereitstellt. Der Stream lässt sich von Programmen wie dem VLC-Media-Player abspielen, oder auch als HomeKit-Kamera in das eigene Smarthome einbinden.

makesmart_esp32-homekit-kamera.jpeg

Die Einbindung der ESP32-Cam in HomeKit funktioniert dabei nicht nativ, sondern über meine Smarthome-Bridge Homebrige, die auf meinem Raspberry Pi läuft.

Die Handhabung ist sehr einfach und am Ende haben wir neben einer funktionierenden HomeKit Kamera einen vollwertigen rtsp-Stream, den man auch anderweitig verwenden kann.

Solltet ihr noch nicht wissen, wie man eine ESP32-Cam einrichtet und programmiert, dann schaut euch vorher gerne diesen Beitrag an, in dem ich Schritt für Schritt erkläre, was zu tun ist, um die ESP32-Cam zum laufen zu bekommen.

Für dieses Tutorial braucht ihr neben der Hardware für die Homebridge noch eine ESP32-Cam, einen USB-TTL-Converter mit 5V Spannung und ein paar Jumper-Kabel. Ein Breadboard ist nicht unbedingt nötig, erleichtert der Verdrahtung und Schaltung aber allgemein um einiges. Ich verwende für dieses Tutorial folgende Produkte:

Sketch download & Anpassungen Arduino IDE

Der Sketch kann hier heruntergeladen werden: Download - es handelt sich dabei um einen Fork von bnbe-club.

Entpackt zuerst das .zip-Archiv und öffnet den sich darin befindlichen Ordner diy-e14.

Der Sketch trägt den Namen diy-e14.ino und muss per Doopelklick geöffnet werden, damit auch die anderen Ressourcen im Ordner geladen werden:

src camera_pins.h wifikeys.h

Nachdem der Sketch geöffnet wurde, navigiert ihr oben in den Tabs zu der Datei wifikeys.h und tragt dort eure WLAN-Zugangsdaten ein:

const char *ssid = "Network"; // Put your SSID here const char *password = "Password"; // Put your PASSWORD here

Der Sketch kann anschießend gespeichert werden, und dann ist er auch schon bereit zum hochladen. Wenn du nicht weißt, wie das funktioniert, sieh dir bitte mein Anfänger-Tutorial zur ESP32-Cam an.

Der rtsp-Stream

Nach dem Upload des Programms erscheint im seriellen Monitor der Arduino IDE folgende Meldung:

192.168.178.116 Stream Link: rtsp://192.168.178.116:8554/mjpeg/1

Über die IP-Adresse 192.168.178.116 kann der Stream direkt im Webbrowser angezeigt werden. Über diese URL kann man z.B auch mithilfe eines HTML-Iframe den Stream auf einer Webseite im lokalen Netzwerk laufen lassen.

<iframe src="http://192.168.178.116/" width="800px" height="600px"/>

Aber unser Ziel hier ist es, die Kamera direkt in unser Smarthome zu verfrachten - also weiter im Text.

Homebridge Plugin installieren

Als Plugin innerhalb der Homebridge verwende ich homebridge-camera-ffmpeg. Es kann direkt über die Weboberfläche von Homebridge installiert werden.

makesmart_homebridge_plugin-homebridge-camera-ffmpeg.png

Nach der Installation öffnet sich ein Konfigurations-Fenster des Plugins. Ihr müsst nur die folgenden Parameter ausfüllen und eintragen - für den Rest werden die default Paramter verwendet

Name Kamera Video Source -i rtsp://192.168.178.116:8554/mjpeg/1 Still Image Source none Enable Audio False

Die IP-Adresse muss natürlich angepasst werden. 🙂 Die IP-Adresse ist die, die im seriellen Monitor der Arduino IDE angezeigt wurde / wird.

Unter dem Punkt Video Output sollte zusätzlich noch der Punkt Unbridge Camera deaktiviert werden, da diese sonst die komplette Homebridge-Instanz verlangsamen könnte. Mit dieser Einstellung muss die Kamera manuell hinzugefügt werden - macht aber keinen Unterschied.

Wenn die Einstellungen eingetragen wurden, kann man diese ganz unten per klickt auf Speichern speichern. Die Homebridge muss danach neugestartet werden. Wichtig ist es, einen Blick in den Log auf der Startseite zu werfen, da dort der Pairing-Code der Kamera auftaucht.

[12/26/2020, 10:57:30 AM] Kamera is running on port 34217. [12/26/2020, 10:57:30 AM] Please add [Kamera] manually in Home app. Setup Code: 273-85-527 Pairing mit der Home App

Das Pairing läuft ab wie bei jedem anderem Gerät.

makesmart_pair_homkit_kamera_esp32-cam.jpeg

+ Gerät hinzufügen Ich habe keinen Code bzw. kann nicht scannen Kamera auswählen, meine Kamera trägt die Bezeichnung Kamera 3EBC Pairing-Code aus dem Log eingeben:
Please add [Kamera] manually in Home app. Setup Code: 273-85-527 Etwas gedulden, bis sich die Kamera verbunden hat

Fertig ist die HomeKit-Kamera mit der ESP32-Cam - Die eigene DIY-Low-Budget Kamera für das Smarthome.

makesmart_esp32-homekit-kamera.jpeg

Dieses Tutorial sollte auch mit folgenden ESP32-Cams funktionieren:

¹Produktempfehlungen

Produkte zum Warenkorb hinzufügen

Gehäuse

Nach der Programmierung und dem Setup der Kamera fehlt eigentlich nur noch ein passendes Gehäuse. Glücklicherweise hat @dixondsc ein Gehäuse für die #ESP32-Cam konstruiert und hier im Forum geteilt. Lasst ihm gerne ein Dankeschön da! 🙂

Das Gehäuse gibt es in zwei Varianten:
Klicke auf den 3D-Würfel um die Modelle anzuschauen.

ESP32-Cam Gehäuse mit GoPro-Halterung ESP32-Cam Gehäuse ohne GoPro-Halterung

Und dazu wird jeweils dann noch der Deckel benötigt:

ESP32-Cam Deckel

Das Gehäuse ist so konstruiert, dass es über eine MicroUSB-Buchse bestromt wird. Dazu für ein ¹USB - DIP Adapter benötigt. Mehr dazu im Thread von @dixondsc.

#Arduino #Arduino-IDE #ESP32 #ESP32-Cam #Homebridge #HomeKit #Kamera #Smarthome #Stream

¹Affiliate Link. Affiliate Links sind Referenzen des Autors. Bei Kauf wird eine Provision ausgeschüttet. Mehr Informationen.