Beim Durchstöbern meiner alten Computersachen bin ich kürzlich auf zwei etwas ältere Webcams gestoßen. Bevor ich die weiter verstauben lasse, habe ich mir gedacht, diese an meinen Raspberry Pi anzuschließen, auf dem bereits Motion läuft. In meinen beiden früheren Beiträgen habe ich bereits aufgezeigt, wie man das Rpi-Kameranmodul an den kleinen PC anschließt und konfiguriert.
- Motion mit UV4L auf dem Raspberry Pi
- Raspberry Pi Kamera-Modul mit Motion als kleine Überwachungskamera
Ich habe die folgenden beiden Webcams getestet
- Logitech QuickCam for Notebook Deluxe
- Logitech QuickCam Pro 4000
Ich habe mich für die Erste entscheiden, die QuickCam for Notebook Deluxe
Eigentlich ist die Konfiguration einer zweiten Kamera keine große Sache. Es wird neben einer motion.conf-Datei für jede Kamera eine weitere Konfigurationsdatei benötigt. Die Konfigurationsdatei für jedde angeschlossene Kamera heißt threadx.conf ( x ist durch eine Zahl zu ersetzen).
Ich habe mir die Konfiguration recht einfach gemacht. An meinem Pi war bereits das Kamera-Modul angeschlossen und sämtliche UV4L-Pakete installiert.
Deshalb funktionieren die nachfolgenden Befehle bei mir „out-of-the-box“ und meine Webcam wurde auch sofort erkannt.
Mit dem Befehl kann man prüfen, ob die USB-Kamera auch vom Pi erkannt wird
lsusb
In der Liste sollte irgendwo die Logitec-Kamera auftauchen.
Eine Überprüfung wo die beiden Kameras, Webcam und Pi-Kameraboard, zu finden sind ist mit dem Befehl möglich.
v4l2-ctl --list-devices
Bei mir wurde die USB-Kamera auf /dev/video0 eingebunden und das Pi-Kameraboard war auf /dev/video1 zu finden. Diese beiden Informationen sind für die weitere Konfiguration zwingend erforderlich.
Thread-Dateien anlegen
Ich habe mir das Leben einfach gemacht und meine bestehende motion.conf-Datei einfach zweimal kopiert und in thread1.conf und thread2.conf umbenannt. Anschließend habe ich die motion.conf editiert. Dort müssen die folgenden Parameter aus kommentiert werden. Diese sind pro Kamera in der jeweiligen thread-Datei anschließend einzutragen.
# Videodevice to be used for capturing (default /dev/video0) # for FreeBSD default is /dev/bktr0 # CHANGED ; videodevice /dev/video0 # Target base directory for pictures and films # Recommended to use absolute path. (Default: current working directory) # CHANGED ;target_dir /mnt/pics/motion # The mini-http server listens to this port for requests (default: 0 = disabled) # CHANGED ;webcam_port 8081
Besonders wichtig, in der motion-conf findet ihr am Ende die Einstellungen für die thread-Dateien.
# Remember: If you have more than one camera you must have one # thread file for each camera. E.g. 2 cameras requires 3 files: # This motion.conf file AND thread1.conf and thread2.conf. # Only put the options that are unique to each camera in the # thread config files. ; thread /usr/local/etc/thread1.conf ; thread /usr/local/etc/thread2.conf ; thread /usr/local/etc/thread3.conf ; thread /usr/local/etc/thread4.conf
Tragt ein, wo ihr die thread-Dateien für eure Kamera ablegt, damit Motion diese auch findet. Dabei könnt ihr den Pfad beliebig wählen, z.B. das Home-Verzeichnis eures Benutzers.
; thread /usr/local/etc/thread1.conf
wird dann zu
thread /usr/local/etc/thread1.conf
thread1.conf
In dieser Datei müsst ihr nur die folgenden Parameter prüfen und auf die Kamera abstimmen
videodevice /dev/video0 target_dir /mnt/pics/motion1 webcam_port 8081 text_left Camera 1 # Image width (pixels). Valid range: Camera dependent, default: 352 width Wert-Eintragen # Image height (pixels). Valid range: Camera dependent, default: 288 height Wert-Eintragen
Auch die Einstellungen für den E-Mail-Versand, solltet ihr das aktiviert haben, lässt sich individuell pro thread-Datei anpassen.
thread2.conf
videodevice /dev/video1 target_dir /mnt/pics/motion2 webcam_port 8082 text_left Camera 2 # Image width (pixels). Valid range: Camera dependent, default: 352 width Wert-Eintragen # Image height (pixels). Valid range: Camera dependent, default: 288 height Wert-Eintragen
Nach den Anpassungen lässt sich Motion wie gewohnt starten und die Kamera-Streams auf den beiden Ports 8081 und 8082 anschauen.