Schlagwort: howto

  • Raspberry Pi Zero W – Die bessere Webcam

    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.

  • ExpressionEngine Tools, Links und Tricks

    Seit ein paar Tagen beschäftige ich mich wieder mal etwas intensiver mit ExpressionEngine. Passenderweise haben die Jungs beim Smashing Magazine heute jede Menge Links, Tools und Tricks rund um das kommerzielle CMS vorgestellt. Da ist für Anfänger und Fortgeschrittene was dabei – viel Spaß damit.

    Link: Smashing Magazine – ExpressionEngine Developer’s Toolbox

  • Tipps für glückliche Blogleser

    Fast vergessen… Cindy hat vor einigen Tagen 13 Tipps gebloggt, die (natürlich neben guten Inhalten) dabei helfen die Leser des eigenen Blogs zufriedenzustellen. Da sind einige gute Tipps dabei – schaut mal rein.

  • Mac OSX: sudo timeout verlängern (Passworteingabe)

    Wer unter MacOSX öfter mal Arbeiten ausführt, die temporäre Administrationsrechte (root) benötigen muss bei zeitlich etwas weiter auseinander liegenden Tätigkeiten öfter mal sein Passwort neu eingeben. Die temporäre Vergabe von Administrationsrechten erfolgt im Hintergrund über sudo – ein unter Unix-Betriebssystemen gängiges Tool dafür.

    Der Standard-Timeout nachdem eine erneute Eingabe des Passwortes erfolgen muss ist recht niedrig angesetzt und kann je nach Situation teilweise etwas nervig sein. Er lässt sich jedoch ganz einfach höher setzen. Dazu wird über das Terminal die Datei /etc/sudoers in einem Editor nach Wahl geöffnet:

    $ sudo vim /etc/sudoers

    In meinem Fall ist das vim. Sudo wird hier natürlich auch benötigt, da sudoers nur mit root-Rechten zu bearbeiten ist. Anschließend fügen wir nach der letzten Zeile die Änderung des Timeouts ein:

    Defaults:user timestamp_timeout=7200

    Statt ‘user’ muss hier der Systemusername angegeben werden. Das war’s auch schon. Die Zahl “7200″ im Beispiel gibt die Zahl der Sekunden für den Timeout an. Wer also mehr als die hier angesetzten 2 Stunden haben will, kann den Wert entsprechend erhöhen. Wer will, kann nun noch die aktuelle sudo-Sitzung mit sudo -k oder sudo -K killen.

  • WordPress 2.3: sorgenfrei updaten

    Vor ein paar Tagen habe ich für dieses Blog einen größeren WordPress-Versionsprung vollzogen und von 2.1.3 auf die derzeit aktuelle 2.3.2 aktualisiert. Da das ganze einfacher war als gedacht, will ich kurz mein Vorgehen beschreiben um es evtl. dem ein oder anderen ebenfalls zu erleichtern.

    Der größte und am meisten gefürchtete Punkt ist sicherlich die Plugin-Kompatiblität. Bereits lange Zeit vor dem Release der 2.3.0 wurde klar, dass viele Plugins, die für Vorgängerversionen geschrieben wurden nicht kompatibel sein werden. Je nach Aktivität des Autors gibt es evtl. auch für das ein oder andere Plugin keine aktuellere Version. (mehr …)