Webcam mit Bewegungserkennung am Raspberry mit „motion“

Das motion paket nutzt eine USB Webcam am raspberry und schreibt geänderte Bilder in ein Verzeichnis. Später sollen die Bilder per PHP Script über den Webserver einsehbar sein.

Motion installieren

Paket motion installieren und Backup des Config-Files:

[sourcecode language=“plain“]sudo apt-get install motion
sudo cp /etc/motion/motion.conf /etc/motion/motion.conf.bak[/sourcecode]

Verzeichnis erstellen, wo die Bilder abgelegt werden (wenn nicht Standard). Das Verzeichnis sollte beim Raspberry auf einen USB-Stick ausgelagert werden wg. vieler Schreibzugriffe (Siehe USB Stick mit Raspberry)

[sourcecode language=“plain“]sudo mkdir /var/www/motion
sudo mkdir /var/www/motion/cams
sudo mkdir /var/www/motion/cam1
sudo mkdir /var/www/motion/cam1/tmb[/sourcecode]

Gemeinsame Berechtigungen für motion und den webserver

Möchten wir auf die Bilddatein vom PHP Script oder anderweitig vom Webserver zugreifen, müssen die korrekten Berechtigungen gesetzt werden und die Gruppenmitgliedschaft angepasst werden:

[sourcecode language=“plain“]sudo groupadd www
sudo usermod -a -G www www-data
sudo usermod -a -G www motion
[/sourcecode]

PHP Script für Webcam Bilder anzeige

Das Script gibt es hier für Euch kostenlos zum Download.

Die Dateien nach /var/www/motion kopieren (zb. mit WinSCP kopieren oder mit wget direkt runterladen und entzipppen).

Evlt noch Berechtigungen setzen:

[sourcecode language=“plain“]sudo chown -R www-data:www /var/www/motion/*[/sourcecode]

Dann noch das Wartungs-Script ausführbar machen

[sourcecode language=“plain“]sudo chmod +x /var/www/motion/jobdo.php
sudo chown www-data:www /var/www/motion/jobdo.php[/sourcecode]

Default ACL und Berechtigungen für neue Bilder müssen gesetzt werden. Dies geschieht mit den erweiterten Berechtigungen an den Ordnern:

[sourcecode language=“plain“]
sudo chmod g+s /var/www/motion/cams/cam1
sudo setfacl -d -m g:www:rw /var/www/motion/cams/cam1
sudo chown motion:www /var/www/motion/cams/cam1/*
sudo chmod www-data:www /var/www/motion/cams/cam1/*
sudo chmod u+w,g+rw,o+r /var/www/motion/cams/cam1/*
[/sourcecode]

motion.conf anpassen

[sourcecode language=“plain“]sudo nano /etc/motion/motion.conf[/sourcecode]

Geänderte Werte:

[sourcecode language=“plain“]daemon on
framerate 2
minimum _frame_time 2
threshold 1500
ffmpeg_cap_new off
target_dir /var/www/motion/cams/cam1
webcam_quality 50
on_event_start /var/www/motion/jobdo.php "%v-%Y%m%d%H%M%S"
on_event_end /var/www/motion/jobdo.php[/sourcecode]

nun nur noch motion und den apache neu starten:

[sourcecode language=“plain“]sudo /etc/init.d/motion restart
sudo /etc/init.d/apache2 restart[/sourcecode]

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.