Operation Manual
“buch” — 2014/9/6 — 18:56 — page 858 — #854
24 Der Raspberry Pi im Vogelhaus
24.3 Bewegungserkennung mit motion
Zeitrafferaufnahmen und Videos sind gut und schön, aber wenn sich vor der Linse
nichts tut, sind sie genauso langweilig wie ein Standbild. Daher wäre es sinnvoll, eine
Bewegungserkennung zu haben, die die Kamera nur dann zu einer Aufnahme veran-
lasst, wenn tatsächlich etwas passiert. Das ist nicht nur für unser Vogelhaus sinnvoll,
sondern eignet sich auch gut als Alarmanlage während des Urlaubs oder zur Beobach-
tung schreckhafter Tiere.
Das Paket
motion ermöglicht es Ihnen, diese Idee mit dem Raspberry-Kameramodul
und natürlich auch mit anderen Webcams umzusetzen. Mit den folgenden Kom-
mandos installieren Sie
motion und das Paket v4l-utils. Dieses Paket enthält einen
v4l-Treiber (v4l = video for linux), der das Raspberry-Kameramodul unter der Bezeich-
nung
/dev/video0 für motion sicht- und nutzbar macht.
apt- get update
apt -get upgrade
apt -get -fym install v4l - utils motion
Das folgende Kommando lädt das Treibermodul. Nachdem Sie es ausgeführt haben,
existiert die Datei
/dev/video0.
modprobe bcm2835 - v4l2
Dass das Modul korrekt geladen und die Kamera erkannt wurde, sehen Sie auch im
System-Logfile. Schauen Sie sich die letzten Zeilen mit
tail -n 20 /var/log/syslog
einmal an:
[ 864.023270] Linux video capture interface : v2.00
[ 864.068272] bcm2835 - v4l2 : scene mode selected 0, was 0
[ 864.074260] bcm2835 - v4l2 : V4L2 device registered as
video0 - stills mode > 1280x720
[ 864.079525] bcm2835 - v4l2 : Broadcom 2835 MMAL video capture
ver 0.0.2 loaded.
Das Treibermodul wird noch weiterentwickelt, deshalb können bei Ihnen andere
Versionsnummern auftauchen. Wichtig ist
registered as video0, denn das bedeutet,
dass Ihre Kamera startklar ist.
Motion konfigurieren
Das Paket motion bringt bei der Installation eine Konfigurationsdatei mit, die /etc/
motion/motion.conf
heißt. Lassen Sie sich nicht von der Größe der Datei abschrecken!
Man kann sehr viel einstellen, aber fast alle Werte haben sinnvolle Voreinstellun-
genundmüssennichtgeändertwerden.Ummit
motion loslegen zu können, reichen
ganz wenige Modifikationen, die wir nun Schritt für Schritt erläutern. Trotzdem ist
858
“buch” — 2014/9/6 — 18:56 — page 859 — #855
24
24.3 Bewegungserkennung mit motion
es immer eine gute Idee, die unveränderte Konfigurationsdatei unter einem anderen
Namen zu sichern, etwa so:
sudo cp / etc/ motion / motion. conf /etc /motion. motion. conf . sicher
Jetzt kann es losgehen. Öffnen Sie die motion.conf, und suchen Sie diese Zeilen:
# Datei / etc/ motion/ motion . conf
# Image width ( pixels).
# Valid range: Camera dependent , default : 352
width 320
# Image height ( pixels ) .
# Valid range: Camera dependent , default : 288
height 240
Hier können Sie die Bildgröße einstellen, die motion aufzeichnen wird. 320 240 Pixel
ist arg klein, diese Werte können Sie getrost verdoppeln.
Danach stellen Sie die Empfindlichkeit ein, mit der Motion auf Änderungen im Bild
reagiert. Die Bewegungserkennung funktioniert so, dass
motion nacheinander aufge-
nommene Bilder miteinander vergleicht und prüft, wie viele Bildpunkte sich von
einem zum anderen Bild geändert haben. Ist eine gewisse Schwelle überschritten,
startet
motion die Aufnahme und stoppt sie wieder, wenn das Bild sich beruhigt. Diese
Schwelle stellen Sie an folgender Stelle der Konfigurationsdatei ein:
# Datei / etc/ motion/ motion . conf
# Threshold for number of changed pixels in an image that
# triggers motion detection ( default: 1500)
threshold 1500
Standardmäßig müssen sich also 1500 Pixel zwischen zwei Bildern ändern, damit
motion dies als Bewegung interpretiert und reagiert. Für Ihre ersten Experimente kön-
nen Sie diesen Wert niedrig ansetzen. Später finden Sie den richtigen Wert eigentlich
nur durch ein wenig Experimentieren heraus, denn er hängt natürlich auch ganz
wesentlich davon ab, was Sie beobachten oder überwachen möchten. Eine Beobach-
tungskamera in einem Vogelhaus benötigt hier natürlich andere Werte, als wenn Sie
motion nachts als Einbruchsüberwachung in einer Lagerhalle einsetzen.
Nun kommen wir zum Ausgabeformat. Per Default speichert
motion alle Videos im
Shockwave-Flash-Format mit der Dateiendung
.swf:
# Datei / etc/ motion/ motion . conf
ffmpeg_video_codec swf
Dafür benötigen Sie jedoch eine proprietäre Abspielsoftware, was unschön ist. Um
stattdessen Videos im MP4-Format zu erhalten, ändern Sie die Zeile so ab:
859