Kontaktieren Sie mich unter info@tiemerding.com

Günstige Überwachungskamera für HomeKit (Tutorial)

Günstige Überwachungskamera für HomeKit (Tutorial)

In diesem Blogeintrag schauen wir uns die Integration der Logitech HD Webcam C270* als Überwachungskamera für HomeKit an. Als Vorbedingung wird lediglich ein Raspberry Pi* mit einer laufenden Installation von Homebridge auf einem Debian-basierten Betriebssystem (z.B. Raspbian) benötigt.

Webcam in Homebridge einbinden

System vorbereiten

Das Plugin benötigt FFmpeg, eine Reihe von Programmbibliotheken, um mit digitales Video- und Audiomaterial, z.B. von Kameras, verarbeiten zu können. Ohne Modifikationen ist der Raspberry Pi jedoch nicht für FFmpeg geeignet. Der Prozessor allein ist nicht leistungsfähig genug. Daher muss FFmpeg mit dem Plugin OpenMAX H.264 GPU acceleration (OMX) verwendet werden. Dieses Plugin ermöglicht eine Unterstützung der Grafikkarte bei vielen Operationen.

FFmpeg mit OMX kann entweder (relativ kompliziert) selbst erstellt werden oder man nutzt vorkompilierte Pakete externer Entwickler. Diese Vorgehensweise nutzen wir auch hier. Zunächst wird das vorkompilierte Pakete heruntergeladen.

1
$ sudo wget goo.gl/gMGA81 -O ffmpeg.deb

Im Anschluss kann das Paket (wie unter Debian gewohnt) installiert werden.

1
$ sudo dpkg -i ffmpeg.deb

Homebridge Plugin

Für die Einbindung der Webcam in Homebridge nutzen wir das Plugin homebridge-camera-ffmpeg des Programmierers Khaos Tian. Die Installation des Plugins läuft wie gewohnt. Sudo ist nicht zwingend erforderlich, kann je nach Setup aber notwendig sein.

1
$ (sudo) npm install -g homebridge-camera-ffmpeg

Im Anschluss kann die Konfiguration config.json von Homebridge erweitert werden.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
{
  "platform": "Camera-ffmpeg",
  "cameras": [
    {
      "name": "Logitech C270",
      "videoConfig": {
        "source": "-f v4l2 -r 30 -s 1280x720 -i /dev/video0",
        "stillImageSource": "-f v4l2 -s 1280x720 -i /dev/video0",
        "maxStreams": 2,
        "maxWidth": 1280,
        "maxHeight": 720,
        "maxFPS": 30,
        "vcodec": "h264_omx"
      }
    }
  ]
}

Die Parameter, insbesondere Bildgröße (maxWidth / maxHeight) und Bilder pro Sekunde (maxFPS), sind auf die verwendete Kamera anzupassen. Die Werte finden auch in source und stillImageSource Verwendung (-r 30 / -s 1280×720).  Die hier gewählten Parameter haben zusätzlich Einfluss auf die Übertragungsqualität und -Geschwindigkeit.

Für die hier verwendete Logitech Camera wird für source und stillImageSource auf /dev/video0 verwiesen. Unter dieser “Adresse” kann das Betriebssystem auf USB-Kameras zugreifen.

Als Parameter für den Videocodec (vcodec) ist h264_omx zu wählen, so dass FFmpeg mit OMX verwendet wird. Der Standardwert libx264 ist hier nicht geeignet.

Nach der Einrichtung muss Homebridge einmalig neu gestartet werden.

Webcam in der Home App einrichten

Nach der Einrichtung in Homebridge muss die Kamera noch als Gerät in der Home App hinzugefügt werden. Dabei ist ein achtstelliger Code notwendig. Es handelt es sich hier um den Code, welcher schon bei der Einrichtung der Homebridge verwendet wurde. Sofern die Standardkonfiguration genutzt wird, ist der Code 031-45-154.

Die Kamera kann anschließend verwendet werden.

Hinweise

  • Auf den Wikiseiten des Plugins werden einige Tipps und Hinweise sowie getestete Konfigurationen aufgeführt.
  • Die Übertragung von Ton wird standardmäßig nicht unterstützt. Hierzu muss FFmpeg mit der Option enable-libfdk-aac erstellt / installiert und der Parameter audio auf true gesetzt werden, siehe auch GitHub.

Die mit Sternchen (*) gekennzeichneten Verweise sind sogenannte Provision-Links. Wenn du auf so einen Link klickst und darüber einkaufst, bekomme ich von deinem Einkauf eine Provision. Für dich verändert sich der Preis nicht.