DIY IP-Kamera in 5 Schritten

Eine IP-Kamera muss nicht viel kosten. Mit einem Raspberry Pi Zero W und einem Kameramodul können Sie relativ einfach eine gute und besonders kompakte Kamera erstellen und damit beispielsweise einen RTSP-Streaming-Server einrichten. In diesem Artikel wird erläutert, wie Sie dies tun und wie Sie die Kamera in der Surveillance Station auf einem Synology- oder QNAP-NAS verwenden.

Sie können natürlich eine spottbillige IP-Kamera mit allen Zutaten in China kaufen, aber diese sind normalerweise schlecht gesichert und schwer einzurichten. Es ist nicht sofort billiger, wenn Sie es selbst bauen, aber Sie sind flexibler und es macht vor allem Spaß und ist lehrreich. Wir verwenden einen Raspberry Pi Zero W (ca. 11 Euro) zusammen mit dem offiziellen 8-Megapixel-Kameramodul v2 (29,95 Euro). Es hat einen feinen Sony IMX219 Sensor. Es gibt auch eine NoIR-Variante, die in der Dämmerung ein besseres Bild liefert. Wenn Sie es mit Infrarot-LEDs kombinieren, erhalten Sie auch gute Nachtbilder (in Graustufen). Wer ein wenig sparen will, findet in China günstige Alternativen ab rund 8 Euro. Sie benötigen außerdem eine Micro-SD-Karte für die Software und ein Netzteil mit Micro-USB, das vorzugsweise mindestens 1,2 Ampere liefern kann.

01 Welche Software?

Es gibt viele Methoden zum Streamen von einem Raspberry Pi Zero W. Zusätzlich zum Kameramodul unterstützen die meisten Methoden auch eine USB-Kamera oder Webcam, die Sie über ein USB-on-the-go-Kabel mit dem Pi Zero W verbinden. Für welche Methode Sie sich auch entscheiden: Angesichts der relativ begrenzten Verarbeitungsleistung ist es ratsam, die Bewegungserkennung der Videoüberwachungssoftware wie Surveillance Station zu überlassen. Eine bekannte Option ist motionEyeOS, das über eine schöne Weboberfläche zum Konfigurieren der Kamera verfügt. Ein Nachteil ist die relativ lange Verzögerung, auch bei der Option Fast Network Camera, mit der Sie auch viele andere Optionen verlieren. Wir entscheiden uns daher, einen manuellen Stream einzurichten.

02 Installation von Raspbian

Wir beginnen mit der Installation von Raspbian Buster Lite. Holen Sie sich die neueste Version. Entpacken Sie das Archiv nach dem Herunterladen und speichern Sie die IMG-Datei mit balenaEtcher auf einer Micro-SD-Karte. Fügen Sie vor dem Booten des Pi mit der Micro-SD-Karte eine Textdatei mit dem Namen wpa_supplicant.conf im Stammverzeichnis (die auch die Datei kernel.img enthält ) mit den folgenden Zeilen hinzu. Geben Sie den Namen Ihres WiFi-Netzwerks hinter ssid ein und geben Sie das Passwort hinter psk ein . Erstellen Sie im selben Verzeichnis eine leere Datei mit dem Namen ssh, damit Sie sich nach dem Start über eine Shell anmelden können.

Land = NL

update_config = 1

ctrl_interface = / var / run / wpa_supplicant

Netzwerk = {

scan_ssid = 1

ssid = "yourssid"

psk = "Ihr Passwort"

}}

Sobald der Pi Zero W gestartet wurde, können Sie die vom DHCP-Server Ihres Routers zugewiesene IP-Adresse auf den Konfigurationsseiten des Routers ermitteln (sollte in Ordnung sein). Melden Sie sich mit einem Programm wie PuTTY über ssh bei dieser IP-Adresse an und verwenden Sie den Standardbenutzernamen pi und das entsprechende Kennwort Himbeere . Ändern Sie dann vorzugsweise diese Anmeldedaten.

03 Installieren des RTSP-Servers

Stellen Sie sicher, dass der Pi mit den Befehlen auf dem neuesten Stand ist:

sudo apt-get update

sudo apt-get dist-upgrade

Mit sudo raspi-config öffnen Sie die Konfigurationsseite des Pi. Aktivieren Sie das Kameramodul über Schnittstellenoptionen . Sie aktivieren den Video-for-Linux-Kernel-Treiber mit:

sudo modprobe bcm2835-v4l2

Überprüfen Sie, ob Sie ein / dev / video0 haben mit:

sudo ls -la / dev / vid *

Installieren Sie die Git- und Cmake-Tools mit:

sudo apt install git cmake

Danach können Sie den RTSP-Server mit den folgenden Befehlen kompilieren und verfügbar machen, die unter anderem h.264 unterstützen:

Git-Klon //github.com/mpromonet/v4l2rtspserver.git

cd v4l2rtspserver

cmake.

machen

sudo make install

04 Starten des RTSP-Streams

Beispielsweise starten Sie einen Stream aus dem Ordner v4l2rtspserver mit:

./v4l2rtspserver -F 10 -W 1920 -H 1080

Nach dem Start des RTSP-Servers können Sie alle Fehlermeldungen und einen Link zum Stream in der Form RTSP: // IP-Adresse: 8554 / Unicast lesen . Sie können es beispielsweise im VLC-Player verwenden, um eine Verbindung zur Kamera herzustellen, aber auch in der Surveillance Station, wie unten gezeigt wird. Mit der Option -U Benutzer: Passwort geben Sie einen Benutzer und ein Passwort ein, um den Stream abzuschirmen. Der Link zum RTSP-Stream hat dann die Form RTSP: // Benutzer: Passwort @ IP-Adresse: 8554 / Unicast . Es ist ordentlich, dass die Prozessorlast sehr begrenzt bleibt, die GPU erledigt den größten Teil der Arbeit.

05 Starten Sie den Server automatisch

Wir möchten, dass der RTSP-Server nach dem Einschalten des Pi automatisch startet. Erstellen Sie dazu ein einfaches Skript mit:

sudo nano /etc/systemd/system/v4l2rtspserver.service

Dies enthält die folgenden Regeln:

[Einheit]

Beschreibung = v4l2rtspserver rtsp server

Nach = network.target

[Bedienung]

ExecStartPre = / usr / bin / v4l2-ctl --set-ctrl vertikal_flip = 1

ExecStartPre = / usr / bin / v4l2-ctl --set-ctrl h264_i_frame_period = 5

ExecStart = / home / pi / v4l2rtspserver / v4l2rtspserver -F 10 -W 1280 -H 720

ExecReload = / bin / kill -HUP $ MAINPID

Typ = einfach

Benutzer = pi

Gruppe = Video

Neustart = immer

[Installieren]

WantedBy = multi-user.target

Überprüfen Sie nach ExecStart den Speicherort von v4l2rtspserver. Es gibt einige Optionen, mit denen Sie experimentieren können (z. B. vertikal_flip für die Bilddrehung). Aktivieren Sie das Skript mit:

sudo systemctl enable v4l2rtspserver

Und starten Sie das Skript mit:

sudo systemctl startet v4l2rtspserver

Fügen Sie der Überwachungsstation ein Kamerabild hinzu

Sie können das Kamerabild in Surveillance Station problemlos verwenden, indem Sie manuell eine Kamera angeben. Mit dieser Software scheint die Verzögerung des Bildes ziemlich begrenzt zu sein. Während es beim VLC-Player ungefähr zwei Sekunden sind, beträgt die Verzögerung in der Surveillance Station nur ungefähr eine Sekunde. Das scheint ziemlich viel zu sein, aber viele andere Methoden zum Streamen von einem Raspberry Pi haben oft eine noch größere Verzögerung von vier Sekunden oder mehr.