Raspberry Pi Zero W – Die bessere Webcam

Seit einer Weile schon bin ich auf der Suche nach einer günstigen, aber soliden IP-Webcam. Für einen anderen Zweck besitze ich bereits seit einiger Zeit eine Foscam-Kamera mit der ich grundsätzlich zufrieden bin, die aber aufgrund ihrer Beweglichkeit um zwei Achsen und ihrer generellen Bauweise für den neuen Zweck viel zu groß ist.

Der neue Zweck ist die Überwachung der CNC-Fräse, die für Manufaktori zum Einsatz kommt. Bei längeren Fräsvorgängen will ich in der Lage sein die Werkstatt verlassen und trotzdem immer mal einen Blick auf die Fräse werfen zu können. Dafür sollte die Kamera nicht all zu groß sein und außer einer Stromzuleitung nichts benötigen – sprich über Wifi funktionieren. Ich habe mir aus diesem Grund ein paar kleinere Modelle angeschaut – u.a. auch eines von Foscam. Beide waren wenig zufriedenstellend, die kleine Foscam C1 konnte ich nicht mal mit dem eigenen Wifi verbinden.

Ich hab das Thema dann erstmal aufgeschoben und darauf gehofft, dass mir eine gute Lösung für die Füße fällt – alternativ würde ich mich irgendwann wieder damit befassen.

Und dann kam was selten kommt: Mir fiel tatsächlich eine Lösung vor die Füße. Diese Lösung heisst Raspberry Pi Zero W. Es handelt sich dabei um den neuesten Emporkömmling aus der Reihe der Raspberry Pi Mini-Computer. Das Modell Zero W wurde erst vor wenigen Tagen vorgestellt und ist die zweite Iteration der „noch kleineren“ Zero-Serie. Das W im Namen steht für Wireless und nehmen Wifi (WLAN, 2.4GHz b/g/n) ist auch noch Bluetooth (BLE 4.1) dabei. Das ist bei der Größe von 60x35x5mm zwar nichts ganz besonders neues mehr, allerdings schon in der Kombination mit der Tatsache, dass es sich um einen vollwertigen Computer handelt. Im Gegensatz zum „großen“ Pi (aktuell Pi 3 Model B) kommt dieser zwar nur mit einem statt vier Kernen daher, allerdings ebenfalls mit eigener VideoCore GPU (OpenGL, Full HD), mit den vollen 26 GPIO-Pins und 512 MB Arbeitsspeicher (1GB beim Pi3).

Wichtig für meinen Einsatzzweck: Die recht ordentliche Pi Camera 2 ist kompatibel mit dem neuen, kleinen 9g-Wunder, es braucht nur ein kleines Adapterkabel.

Gut, dass beim deutschen Distributor Pi3g das ganze direkt im Set verkauft wird. Für gerade mal 49,95€ hat man damit Pi Zero W, Kamera ein recht ansehnliches und schlankes Gehäuse und die nötigen Adapterkabel (Link zum Angebot Stand 10.03.2017).

Raspberry Pi Zero W im Kameragehäuse
Raspberry Pi Zero W im Kameragehäuse

Als das ganze nach wenigen Tagen geliefert wurde ging es darum eine Softwarelösung zu finden. Ein weiterer für mich wichtiger Punkt war, dass es eine Möglichkeit gibt die Kamera möglichst einfach sowohl vom iPhone als auch vom Mac aus aufrufen zu können. Die Mindestvoraussetzung ist damit zwar niedrig – eine gespeicherte Bild-URL würde es schließlich tun – eine komfortablere Lösung wäre natürlich dennoch gut. Hier rückt nun das NAS in den Fokus. Bei uns kommt seit vielen Jahren ein Synology-NAS zum Einsatz. Die Software Surveillance Station ist kostenlos integriert und die vorhandene FOSCAM-Kamera läuft bereits dort auf. Der Vorteil ist, dass sowohl automatisch Aufnahme bei Bewegungserkennung als auch die Steuerung bzw. Betrachtung des Kamerabildes über die App DSCam von Synology möglich sind. Ziel war es also nun eine Softwarelösung zu finden um die Raspberry Pi Kamera auch dort zu integrieren.

Es sollte sich schnell herausstellen, dass das gar nicht so schwer ist wie gedacht. im Grunde reicht auch hier eine URL zu einem Bild, einem MotionJPEG-Stream oder ähnlichen technischen Lösungen.

Nach kurzer Google-Recherche war schnell eine Lösung gefunden. Ronny van den Broek hat sich dankenswerterweise dran gemacht eine Kollektion an Tools zusammenzustellen, die zusammen ein schönes Webcam-Server-Setup für den Raspberry Pi ergeben. Es nennt sich Raspberry Pi IP Camera und ist sowohl als Image als auch zur manuellen Installation verfügbar.

Wichtig: Zum Zeitpunkt, zu dem dieser Blogartikel entsteht ist das Image nicht auf einem Raspberry Pi Zero W bootbar. Vermutlich ist das zugrunde liegende Raspbian Jessie lite nicht aktuell genug.

Das macht jedoch gar nichts, die Installation ist dennoch recht einfach. Im Github-Repository von Ronny gibt es eine Datei Namens installation.sh, die man obwohl möglich jedoch besser nicht ausführt sondern schritt für Schritt abarbeitet. Sie ist im Grunde nur eine Aneinanderreihung an Kommentaren und direkt kopierbaren Befehlen. Direktlink zur Datei im Repository

Installiert werden neben einem Webserver und PHP ein paar Entwicklerwerkzeuge und vor allem natürlich die Software für die Webcam. Zum Einsatz kommt dabei UV4L und Live555/V4L2 als RTSP-Server. Vor allem der letztere erlaubt bei mir das streamen von 720p Video mit 25 fps mit nur wenig Latenz und nur ca. 30-40% CPU-Auslastung – und das auch noch bei mehreren gleichzeitigen Streams.
Da beim Einsatz über die Synology z.B. zusammen mit Bewegungserkennung Aufnahmen durchgeführt werden können ist das recht hilfreich, da die Webcam dann nicht nur dann benutzt wird, wenn sie gerade jemand im Browser öffnet, sondern ein permanenter Stream zum NAS läuft (in meinem Fall natürlich nur wenn auch die Fräse läuft).

Die Installation verlief recht reibungslos. Nur ein kleiner Fehler hat sich eingeschlichen. Der RTSP-Server startet nicht bis nicht ein Pfad zum Binary im Service-Script angepasst wird. Mit

sudo systemctl RTSP-Server.service status

kannst Du dir anschauen ob das Problem bei Dir auch besteht. Bei mir stand der Pfad zum Binary mit falschem Namen in der Servicedatei die in der install.sh in Zeile 112 kopiert wird. Den richtigen Namen siehst Du ganz einfach wenn du in Zeile 109 sudo make install ausführst. Als Ausgabe ist Pfad und Name der Datei sichtbar.

Das war jedoch die einzige Hürde, die sich auch erst herauskristallisierte als ich in den Einstellungen von MJPEG auf RTSP-Streaming umstellen wollte.
Apropos Einstellungen: Ein sicher nicht ganz unerheblicher Vorteil dieser Lösung ist, dass es ein simples aber schickes Webinterface gibt mit dem sich die Kamera betrachten (nur im MJPEG-Modus) und vor allem einstellen lässt.

Wer Probleme bei der Installation oder weiter Fragen hat melde sich gern in den Kommentaren oder schaue Alternativ im RPi-Forum vorbei.

7 Gedanken zu „Raspberry Pi Zero W – Die bessere Webcam“

  1. Hallo, ich bin ganz zufällig auf deiner Homepage gestoßen.
    Ich wollte gerade die Software installieren, scheitere aber schon beim Ersten Schritt.

    Was meint man genau hier?

    # Since we will be needing the ssh server we need to activate it: access your sd card and create an empty file
    # with the name ’ssh‘ in the root (where u can find cmdlines.txt) folder. (this should be done before your first boot).

    Vielleicht kannst du mir helfen.

    Gruss SSSchnorcher

    1. https://www.raspberrypi.org/documentation/remote-access/ssh/

      3. Enable SSH on a headless Raspberry Pi (add file to SD card on another machine)

      For headless setup, SSH can be enabled by placing a file named ssh, without any extension, onto the boot partition of the SD card from another computer. When the Pi boots, it looks for the ssh file. If it is found, SSH is enabled and the file is deleted. The content of the file does not matter; it could contain text, or nothing at all.

      If you have loaded Raspbian onto a blank SD card, you will have two partitions. The first one, which is the smaller one, is the boot partition. Place the file into this one.

  2. Hallo, ich habe das gleiche Gehäuse mit der Kamera und das Problem, dass bei geschlossenem Gehäuse die WLAN Verbindung abbricht. Getestet in unterschiedlichen WLANs und direkt neben dem AP. Öffnet man das Gehäuse einen kleinen Spalt geht es. Woran kann das liegen?

  3. Ab Zeile 76 -78 bekomme ich nach dem apt get update:
    Fehl:2 http://www.linux-projects.org/listing/uv4l_repo/raspbian jessie InRelease
    Die folgenden Signaturen waren ungültig: 88E8F32F724468BA39585D4099DA5D2AFCE635A4
    GPG-Fehler: http://www.linux-projects.org/listing/uv4l_repo/raspbian jessie InRelease: Die folgenden Signaturen waren ung�ltig: 88E8F32F724468BA39585D4099DA5D2AFCE635A4
    E: The repository ‚http://www.linux-projects.org/listing/uv4l_repo/raspbian jessie InRelease‘ is not signed.

  4. Ich war gerade auf der Suche, wie ich meine Zeros mit der Surveillance Station verbinden kann und kam auf diesen Blog.
    Die Einrichtung des Pi’s ist sehr schön beschrieben, aber über den Punkt war ich schon weg und wollte eigentlich den zweiten Schritt (die Einrichtung am NAS) kennen lernen.
    Wie stellen ich die Verbindung zwischen der Station und dem Raspi her?
    Ich scheitere schon bei der Auswahl einer Kamera (Raspberry ist nicht aufgeführt.
    Kannst du dazu eventuell auch noch einen Blog schreiben oder diesen ergänzen?

  5. Ich hab mir das Set auf der von dir empfohlenen Seite gekauft.
    Man sollte beachten, dass dabei keine Adapter zum anschließen an Monitor oder Tastatur / Maus sind.
    Man muss den Pi also „headless“ einrichten, was aber mit Hilfe aus dem Netz sehr gut geht.

    Das habe ich gefunden:
    OpenSSH-Service aktivieren
    Gemäß offizieller Anleitung (Abs. 3) ist im Stammverzeichnis der boot-Partition eine Datei namens ssh zu erstellen. Die reine Existenz dieser Datei führt im Raspian-Boot-Prozess dazu, dass der OpenSSH Server automatisch aktiviert wird und eingehende Verbindungen auf Port 22 annimmt.

    WLAN-Konfiguration vorbereiten
    Der zweite Schritt ist etwas umfangreicher. Ebenfalls im Stammverzeichnis der boot-Partition wird die Datei wpa_supplicant.conf erstellt. Lt. ungeprüfter Aussagen muss sie Linux-Zeilenenden aufweisen. Wie in den Hintergrundinformationen angekündigt, wird diese Datei beim Start automatisch an die richtige Stelle /etc/wpa_supplicant/ verschoben.
    Die Datei hat folgenden Inhalt:
    country=DE
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    network={
    ssid=“WLAN SSID“
    scan_ssid=1
    psk=“WLAN PASSWORT“
    key_mgmt=WPA-PSK
    }
    Die Werte WLAN SSID und WLAN PASSWORT sind natürlich durch die tatsächlichen Angaben zu ersetzen. Befindet man sich nicht in Deutschland, ist DE durch den ISO-Code des aktuellen Landes zu ersetzen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.