Nachdem ich mein Problem mit dem Startskript behoben hatte konnte ich auch den eigentlichen Zweck endlich umsetzen. Mit dem Start des Yún sollte auch eine Webcam direkt starten Bilder aufzunehmen und diese auf der SD Karte speichern. Das Ganze soll durchgehend passieren, alle drei Sekunden ein neues Bild.
Nach etwas Suche im Internet fand ich verschiedene Lösungen die mehr oder weniger performant waren. Die beste Idee kam meiner Meinung nach von dem Blogger Luca, der selber ein gutes Tutorial zu dem Thema verfasst hat. Bei mir traten aber ein paar Eigenheiten auf, weshalb ich sein Tutorial gerne etwas erweitern möchte.
Auf der Seite des verwendeten Paketes gibt es eine Liste von Kameras die verwendet werden können. Meine Wahl fiel auf die Microsoft LifeCam HD-3000, nicht zuletzt da diese schon von anderen an dem Yún betrieben wurde und ich daher sicher sein konnte, dass diese korrekt funktioniert.
System -> Software
die Pakete kmod-video-uvc
und fswebcam
. Sollten diese nicht gefunden werden klickt einmal auf den Button Update lists
.Status -> System Log
sollte nun ein Eintrag mit der erkannten Webcam in den letzten Einträgen zu finden sein.Ein erstes Foto kann nun testweise aufgenommen werden. Wechselt dazu per SSH in ein Verzeichnis mit Schreibrechten und führt den Befehl fswebcam --no-banner --save photo.jpg
aus. Wenn alles funktioniert hat sollte nun eine Datei photo.jpg
vorhanden sein mit dem ersten Bild der Webcam.
Generell kann die Erweiterung fswebcam
auch durchgehend Fotos aufnehmen. Fügt man den Parameter --loop 3
an, so macht diese automatisch alle drei Sekunden ein neues Foto, bis die Ausführung gestoppt wird, z.B. mit Strg+C
. Dieser Aufruf hat aber leider einen Nachteil bei meiner Anwendung. Ruft man die Datei mit dem Bild auf in einem Moment wo ein neues Foto gespeichert wird kann es zu Fehlern während der Anzeige kommen. Es musste also ein Weg gefunden werde den Prozess des Speicherns zu überspringen, welcher ebenfalls so lange läuft wie der Yún selbst. Ich entschied mich hier für ein Startskript, welches mit zwei Dateien arbeitet:
while true
do
fswebcam --no-banner --quiet --resolution 640x480 --skip 1 --save /www/sd/capture.jpg
rm /www/sd/cam.jpg
mv /www/sd/capture.jpg /www/sd/cam.jpg
sleep 3
done
Ich hatte anfangs des Öfteren das Problem, dass die aufgenommenen Bilder Artefakte und falsche Farben aufwiesen. Dies scheint an der Initialisierung zu liegen, wenn die Kamera gestartet wird. Der Parameter --skip 1
behebt diese Problem. Ich habe zum Testen nur diese eine Webcam, es ist durchaus möglich das dies Problem nicht mit jedem Model auftritt. Bei meiner Kamera konnte ich damit alle Probleme beseitigen.
Kommentare 0