Kamera mit dem Raspberry Pi nutzen

Kamera mit dem Raspberry Pi nutzen

An den Raspberry Pi kann eine Kamera angeschlossen werden. Hierfür steht eine entsprechend beschriftete Schnittstelle auf dem Board bereit.

Kamera aktivieren

Standardmäßig ist die Kamera deaktiviert. Sie kann über das Raspberry-Konfigurationswerkzeug aktiviert werden:

sudo raspi-config

Die Einstellung befindet sich im Punkt Interface Options

Hier wählt man P1 Camera aus und bestätigt mit Enter sowie Yes. Damit der Kamerazugriff funktioniert, ist ein Neustart (Befehl reboot) notwendig.

Testaufnahme eines Bildes

Mit dem Werkzeug raspistill können wir ein Standbild anfertigen und so ausprobieren, ob die Kamera funktioniert.

raspistill -o camera.jpg

Nach wenigen Sekunden sollte im aktuellen Arbeitsverzeichnis ein Bild namens camera.jpg angelegt werden. Falls stattdessen eine Fehlermeldungm wie Failed to create camera component erscheint, wurde die Kamera nicht korrekt angeschlossen oder der Restart nach Aktivierung fehlt.

Videoaufnahmen und Streams mit Motion

sudo apt-get install motion

Ob eine Kamera erkannt wurde, kann mit ls /dev/video* geprüft werden. Informationen liefert uns v4l2-ctl -V. Hier sehen wir beispielsweise auch die Auflösung.

$ v4l2-ctl -V
Format Video Capture:
        Width/Height      : 1024/768
        Pixel Format      : 'JPEG' (JFIF JPEG)
        Field             : None
        Bytes per Line    : 0
        Size Image        : 786432
        Colorspace        : JPEG
        Transfer Function : Default (maps to sRGB)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Full Range)

Die Konfiguration selbst findet in /etc/motion/motion.conf statt.

sudo vim /etc/motion/motion.conf

Hier sollten wir

daemon on

aktivieren. Dadurch startet das Programm automatisch im Hintergrund. Es ist also nicht an die Konsolensitzung gebunden. Zu Testzwecken möchte man vor allem Anfangs ggf. stream_localhost off setzen. So kann man auch von einem anderen Gerät aus auf den Livestream zugreifen.

Darüber hinaus sollte v4l2_palette entsprechend der darüberstehenden Palette gesetzt werden. Die Dimensionen (width/height) sind Kammeraspezifisch. Hier trägt man die Werte ein, die v4l2-ctl zuvor ausgegeben hat. Es empfiehlt sich auch, unter target_dir einen absoluten Pfad für die Aufnahmen anzugeben. Beispielsweise /home/pi/camera. Wenn man längerfristig Aufnahmen anfertigt, sollte dieser besser nicht auf der SD-Karte liegen. Ein angeschlossener USB-Stick ist beispielsweise besser geeignet, da er mehr Schreibvorgänge verkraftet. Für größere Datenmengen kommt auch eine SSD oder Festplatte in Frage.

Interessant ist noch der Parameter framerate. Er legt fest, wie viele Bilder pro Sekunde gestreamt werden. Dies richtet sich hauptsächlich anhand der Leistung des Raspberry. 30 sollten es für ein flüssiges Bild mindestens sein. Hier hilft testen: Einen realistischen Wert (z.B. 50) setzen, neu starten, den Stream aufrufen und parallel die Auslastung beobachten.

Mit dem Parameter threshold kann die Bewegungserkennung konfiguriert werden. Er gibt an, wie viele Pixel sich für eine Bewegung verändert haben müssen. Dies variiert natürlich stark, je nachdem, worauf die Kamera gerichtet ist. Bei einem Innenraum ohne größere Bewegungen kann dieser Wert kleiner eingestellt werden. Ist sie hingegen auf einen Außenbereich gerichtet, in dem z.B. Tiere auf dem Weg laufen können oder sich Bäume/Gebüsche durch Wind bewegen, wird der gleiche Wert Fehlalarme verursachen. Auch hier ist es daher sinnvoll entsprechend den eigenen Anforderungen anfangs etwas testen, bis man die ideale Konfiguration gefunden hat.

Zu guter Letzt sollten wir noch den Autostart aktivieren. Nach einem Neustart des Raspberry Pi (z.B. bei Kernelupdates) muss die Software sonst händisch aktiviert werden. Hierzu die Datei /etc/default/motion öffnen und start_motion_daemon=yes setzen.

Da dies erst ab dem nächsten Neustart des Systemes angewendet wird, können wir die Änderungen durch das Neustarten des Dienstes wirksam werden lassen:

sudo service motion restart

Leave a Reply