• 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

    1. + Gerät hinzufügen
    2. Ich habe keinen Code bzw. kann nicht scannen
    3. Kamera auswählen, meine Kamera trägt die Bezeichnung Kamera 3EBC
    4. Pairing-Code aus dem Log eingeben:
      Please add [Kamera] manually in Home app. Setup Code: 273-85-527
    5. 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.

    1. ESP32-Cam Gehäuse mit GoPro-Halterung
    2. ESP32-Cam Gehäuse ohne GoPro-Halterung

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

    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.


  • Coole Sache!
    leider kriege ich es nicht zum laufen, die Kamera zeigt kein Bild. Im Homebridge-Status wird bei mir der Port 46417 für die Kamera angezeigt, kann es damit zu tun haben? Oder mit dem Umstand, dass ich Homebridge in einer Docker-Umgebung auf dem Raspi laufen lasse?
    confused: …
    Im Browser wird der Stream angezeigt, ich kriege es nur nicht in Homebridge zum laufen.
    Gruß Georg

Ähnliche Themen

  • 1
  • 9
  • 3
  • 14
  • 10