Raspberry Pi – Alarmanlage selber bauen
In einem meiner letzten Artikel habe ich gezeigt, dass es sehr einfach ist eine normale USB Webcam mit dem Pi zu benutzen und mit wenigen Schritten die aufgenommenen Bilder über das Internet zu streamen. Ein etwas ambitionierteres und aufwendigeres Projekt ist es mit seinem Pi eine Motion Capturing Alarmanlage zu bauen. Ich zeige euch Schritt für Schritt wie ihr das machen könnt.
Hardware
Die benötigte Hardware für unser kleines Projekt:
- Raspberry Pi
- USB Webcam
diese sollte mit dem Pi kompatibel sein. Eine Liste von kompatiblen Webcams findet man unter eLinux.org. Idealerweise funktioniert sie ohne aktiven USB Hub. - aktiver USB Hub
nur nötig falls die Webcam nicht ohne aktiven Hub mit dem Raspberry Pi funktioniert - Stromversorgung
ein Netzteil mit micro USB Ausgang für den Pi, eventuell auch ein Akku, damit das System auch im Falle eines Stromausfalls noch funktioniert.
Installation
Nun wird es Zeit, dass wir am Pi die nötige Software installieren. Die Webcam sollte noch nicht angesteckt sein. Ausgangspunkt ist ein bereits installiertes System. Dieses solltet ihr noch konfigurieren. Es sollte zumindest SSH funktionieren und für unser Sicherheitssystem ist es nicht schlecht, wenn alle Systempasswörter geändert wurde.
motion
Wie auch schon in meinem früheren Artikel zur Webcam benötigen wir das Programm motion und dazugehörige Bibliothekdateien:
sudo apt-get install motion sudo apt-get install libv4l-0
UCVcapture
Jetzt wird es spannend! Die neue Software heißt UVCcapture und dient dazu den stream den die Webcam aus Bildern sendet zu empfangen und zu verarbeiten. Genau das wollen wir auch.
sudo apt-get install uvccapture
Nun ist es Zeit die Webcam anzustecken. Hat alles geklappt, dann sollte
dmesg | tail
Informationen über die gerade eben eingesteckte Kamera enthalten.
Konfiguration
Nachdem die Kamera vom System erkannt wurde und auch die nötige Software bereits installiert ist geht es nun daran, diese zu konfigurieren. Für motion müssen wir folgendes machen:
nano /etc/default/motion
In dieser Datei müssen wir die Zeile start_motion_daemon auf yes ändern. Danach speichern wir die Datei. Als nächstes ist die Konfigurationsdatei an der Reihe:
nano /etc/motion/motion.conf
Am Ende der Datei sollte folgendes Skript hinzugefügt werden:
set "daemon on" set "minimum_frame_time 5" set "pre_capture 2" set "post_capture 2" set "output_normal on" set "quality 100" set "ffmpeg_cap_new on" set "ffmpeg_timelapse 30" set "ffmpeg_variable_bitrate 2" set "get_dir /tmp" set "webcam_port 8080" set "control_port 8081" set "webcam_localhost off" set "width 320" set "height 240"
Es werden einige Konfigurationsparameter geändert bzw. gesetzt, wie etwa die Bildauflösung, der Port über den gestreamt wird die Framerate usw. Das ist eine Basis-Konfiguration die bei mir funktioniert. Gerne könnt ihr Änderungen vornehmen. Am besten jedoch erst nachdem das System läuft. Vor allem die Auflösung ist noch sehr gering eingestellt. Die Ports sollte man jedoch lassen.
Der letzte Schritt ist noch, dass man motion startet:
sudo service motion start
Nun sollte die Kamera aktiv sein. Immer wenn der Raspberry Pi nun Änderungen im Bild entdeckt sollten diese Bilder im Ordner /media abgespeichert werden.
Funktionsweise
Was macht nun unser System? Sobald man motion gestartet hat filmt die Kamera. Man kann das aufgenommene Bild weiterhin über den Browser unter http://192.168.1.4:8081 sehen. Die IP Adresse einfach mit der des Raspberry Pis austauschen. Immer wenn die Kamera eine Änderung am Bild feststellt, wird dieses im von uns angegebenen Ordner als Bild abgespeichert. In diesem Fall unter /tmp/motion. ACHTUNG: man sollte hier vorsichtig sein, denn wenn die Kamera viele Änderungen im Bild erkennt werden dementsprechend oft Bilder abgespeichert und das führt schnell dazu, dass die SD Karte voll ist. Ideal wäre, wenn man einen Netzwerkspeicher einbindet (zB ein NAS) und die Bilder dort speichert.
Testen
Es hat sich bewährt das System zu testen. Es ist vor allem wichtig, dass man die Kamera optimal positioniert, schließlich soll man ja auch Bilder machen auf denen man etwas erkennt. Wichtig ist, dass möglichst wenig Bewegung von Objekten unser Sicherheitssystem stört. Ist zB ein Baum im Bild und es geht den ganzen Tag der Wind, dann haben wir am Abend eine nette Bildersammlung des vom im Wind geschüttelten Baumes. Also am besten filmt die Kamera zB eine Tür. So zeigen alle aufgenommenen Bilder nur Personen die diese Tür öffnen oder schließen.
Alarmanlage selber bauen
Der Raspberry Pi eignet sich sehr gut um schnell und günstig eine funktionierende Alarmanlage zu bauen. Mit wenig Aufwand erreicht man so schnell ein funktionierendes System. Dieses kann man dann noch verbessern. So könnten laufend neue Bilder auch per Mail gesendet werden oder man könnte auch mit einem angeschlossenen Lautsprecher ein akustisches Signal ausgeben, einen Alarm quasi.
Super Tutorial! 🙂
Leider funktioniert das streaming bei mir nicht :-/
Wäre es möglich das Tutorial zu erweitern mit einem Gmail Versand der aufgenommenen Bilder?
Wäre echt top! 🙂
Zeigt du auch noch ein tutirial wie man bei Bewegung einen ton ausgibt?
@Daniel
„Leider funktioniert das streaming bei mir nicht :-/“
Geht bei mir mit Chrome auf einer Linux Maschine auch nicht, Firefox dagegen geht.
Super Tutorial !