ESP32-Cam als HomeKit Kamera via rtsp-Stream & Homebridge

ESP32 Dez. 27, 2020
https://my.makesmart.net/topic/133/esp32-cam-als-homekit-kamera-via-rtsp-stream-homebridge-tutorial

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 hereconst 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.116Stream 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

NameKamera
Video Source-i rtsp://192.168.178.116:8554/mjpeg/1
Still Image Sourcenone
Enable AudioFalse

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

Hier abschließend nochmal die Produkte die ich verwendet habe:

Community

Die makesmart Community ist der Ort, an dem du deine Ideen mitteilen und deine Erfahrungen austauschen kannst.

Großartig! Das Abonnement wurde erfolgreich abgeschlossen.
Großartig! Schließe als Nächstes die Kaufabwicklung ab, um vollen Zugriff zu erhalten.
Willkommen zurück! Du hast dich erfolgreich angemeldet.
Erfolg! Dein Konto ist vollständig aktiviert, du hast jetzt Zugang zu allen Inhalten.