1925151

Mit dem Raspberry Pi die Wohnung überwachen

20.07.2016 | 16:22 Uhr |

Ein Raspberry Pi ist vielseitig. Setzen Sie das hauseigene Betriebssystem Raspbian ein, dann lässt sich aus dieser Kombination sehr einfach ein Überwachungssystem basteln. Sie brauchen dazu noch eine Kamera und die Software Motion.

In diesem Beitrag zeigen wir Ihnen, wie Sie mit wenig Geld ein Überwachungssystem selbst basteln. Dazu brauchen Sie einen Raspberry Pi, eine Kamera und die Software Motion. Letztere befindet sich in den Repositories der Linux-Distribution Raspbian.

Wir haben das Szenario mit der neuesten Raspian-Version getestet. Es basiert auf Debian GNU/Linux 8 Jessie. Das Betriebssystem wurde vollständig aktualisiert und befindet sich auf dem Stand Anfang Juli 2016. Als Überwachungskamera wurde ein Kamera-Modul für den Raspberry Pi verwendet.

Welcher Raspberry Pi sich am besten eignet


Bevor wir mit Motion in die Vollen gehen, müssen wir uns zunächst etwas mit der Hardware beschäftigen. Die Raspberry-Pi-Familie ist im Laufe der letzten Jahre gewachsen. Welchen Raspberry Pi Sie als Fundament für das Überwachungssystem einsetzen, hängt ein bisschen von Ihren Ansprüchen ab.

Den geringsten Stromverbrauch weisen die Modelle Raspberry Pi A+ und Raspberry Pi Zero auf. Diese sind zwar weniger leistungsstark als ein Raspberry Pi 2 oder 3, aber für Motion reichen sie allemal. Auf dem System muss keine grafische Oberfläche oder kein GUI laufen. Ein weiterer Vorteil der Modelle A+ oder Zero ist die Größe. Da die beiden deutlich kleiner sind, lassen sie sich einfacher verbauen oder verstecken.

Wollen Sie einen Raspberry Pi Zero einsetzen, brauchen Sie dafür die neueste Revision oder v1.3 oder höher. Alles darunter bietet keine Schnittstelle für das Kamera-Modul. Bei der zweiten Revision benötigen Sie ein spezielles Adapter-Kabel. Außerdem ist zu beachten, dass der Pi Zero keine USB-Schnittstelle mitbringt. Wollen Sie eine normale Webcam als Überwachungskamera anschließen, ist für die Benutzung eines herkömmlichen USB-Anschlusses ein weiteres Adapter-Kabel notwendig. Dann haben Sie aber ein Problem, wenn Sie eine WLAN-Karte einsetzen möchten, weil dann ein USB-Hub notwendig wäre.

Ein Raspberry Pi 3 hat WLAN und Bluetooth bereits an Bord. Allerdings braucht diese Version den meisten Strom und wird auch am wärmsten. Das sollten Sie bedenken, wenn Sie den SBC (Single Board Computer) irgendwo verbauen möchten.

Der beste Kompromiss zwischen Größe und Funktionalität ist wohl der Raspberry Pi A+. Der Winzling besitzt eine Schnittstelle für ein Kamera-Modul und hat einen USB-Steckplatz, an dem sich eine WLAN-Karte anschließen lässt.

Sie können aber im Prinzip jede Raspberry-Pi-Variante verwenden.

Für ein Überwachungssystem mit Motion ist der Raspberry Pi A+ schnell genug. Es ist wohl die beste Kompromisslösung, da trotz geringer Größe Kameraschnittstelle und USB-Port vorhanden sind.
Vergrößern Für ein Überwachungssystem mit Motion ist der Raspberry Pi A+ schnell genug. Es ist wohl die beste Kompromisslösung, da trotz geringer Größe Kameraschnittstelle und USB-Port vorhanden sind.
© Jürgen Donauer

WLAN ist wichtig


Möglicherweise fragen Sie sich zu diesem Zeitpunkt, ob eine WLAN-Verbindung unbedingt notwendig ist. Das ist sie nicht, denn Motion würde die Bilder auch auf dem lokalen Speicher ablegen. Wollen Sie allerdings an die Aufnahmen, müssen Sie die SD-Karte entnehmen.

Ist eine drahtlose Netzwerkverbindung vorhanden, können Sie die Bilder auf ein externes Storage kopieren lassen. Weiterhin ist Motion in der Lage, bei erkannter Bewegung zum Beispiel eine E-Mail zu senden. Deswegen halten wir WLAN für eine essenzielle Komponente bei diesem Konstrukt.

Die richtige Kamera wählen


Die Software Motion funktioniert mit jeder Kamera, die den V4L-Treiber (Video for Linux) verwendet. Das Gerät taucht damit in der Form /dev/videoX auf. Die erste Kamera am System wäre /dev/video0 , die zweite /dev/video1 und so weiter. V4L unterstützt eigentlich jede handelsübliche Webcam, die via USB angeschlossen wird.

In den Anfangszeiten des Raspberry Pi und des entsprechenden Kamera-Moduls gab es keine offizielle Unterstützung für V4L. Aus diesem Grund war der Einsatz des Kamera-Moduls problematisch. Mithilfe einiger Hacks hat die Geschichte funktioniert, aber als trivial darf die Einrichtung nicht bezeichnet werden. In der Zwischenzeit ist das wesentlich einfacher geworden, und wir empfehlen den Einsatz des Kamera-Moduls.

Sollten Sie unserer Empfehlung folgen, haben Sie zwei Optionen. Es gibt eine normale Kamera und auch eine NoIR-Version . Letztere hat keinen Infrarotfilter. Während des Tages sehen die Bilder etwas eigenartig aus. Allerdings eignet sich diese Kamera für Nachtsicht, sollten Sie eine Infrarotbeleuchtung oder einige Infrarot-LEDs im Einsatz haben.

Raspbian richtig konfigurieren


Bevor wir uns der Einrichtung des Kamera-Moduls widmen, erst einmal einige Tipps für die richtige Konfiguration von Raspbian.
Verwenden Sie eine USB-WLAN-Netzwerkkarte, dann konfigurieren Sie diese am besten im GUI. Selbst wenn Sie später die grafische Oberfläche deaktivieren, um Ressourcen zu sparen, wird sich das Raspberry Pi weiterhin mit dem gewählten WLAN verbinden. Das ist die einfachste Art, das WLAN zu konfigurieren.

Startet bei Ihnen die grafische Schnittstelle, dann stellen Sie das um. Klicken Sie auf Menü Einstellungen Raspberry-Pi-Konfiguration . Nun öffnet sich ein Fenster. Unter System Boot setzen Sie den Haken bei Zum CLI .

Für Motion ist kein GUI notwendig, also verschwenden wir die Ressourcen auch nicht.

Ebenso schadet es nicht, das Passwort zu ändern. Das gilt vor allen Dingen dann, wenn der Raspberry Pi aus dem Netzwerk erreichbar ist. Die Standard-Anmeldedaten p i / raspberry sind in der Zwischenzeit sehr bekannt. Eine automatische Anmeldung ist ebenfalls nicht notwendig, da sich Motion auch so starten lässt.

Passwort ändern, GUI deaktivieren und automatische Anmeldung deaktivieren.
Vergrößern Passwort ändern, GUI deaktivieren und automatische Anmeldung deaktivieren.

Wollen Sie später entfernt (remote) auf den Raspberry Pi zugreifen, muss der SSH-Server aktiviert sein. Wenn Sie die Raspberry-Pi-Konfiguration sowieso offen haben, können Sie das im Reiter Schnittstellen überprüfen. Eine Konfiguration ist später über das Kommandozeilen-Tool raspi-config ebenfalls möglich.

Überprüfen Sie gleich, ob der SSH-Server läuft oder nicht.
Vergrößern Überprüfen Sie gleich, ob der SSH-Server läuft oder nicht.

Weiterhin benötigen Sie die IP-Adresse des Raspberry Pi. Am besten ist, das Gerät besitzt eine feste IP-Adresse. In modernen Routern ist es möglich, eine IP-Adresse immer der gleichen Mac-Adresse zuweisen zu lassen. Das ist die einfachste Art, eine fixe IP-Adresse zu vergeben.

Wollen Sie die momentan zugewiesene IP-Adresse des Raspberry Pi herausfinden, dann dient dafür der Kommandozeilenbefehl ifconfig . Damit kommen Sie auch an die Mac- oder Hardware-Adresse.

Die Hardware-Adresse brauchen Sie eventuell, um dem Raspberry Pi eine fixe IP-Adresse zu spendieren.
Vergrößern Die Hardware-Adresse brauchen Sie eventuell, um dem Raspberry Pi eine fixe IP-Adresse zu spendieren.

Mit fester IP-Adresse und SSH-Server können Sie den Winzling im sogenannten Headless-Modus, also ohne Bildschirm, betreiben und konfigurieren. Ein Zugriff unter Linux und Mac OS X ist über ein Terminal per Standard möglich. Bei Windows brauchen Sie zusätzliche Software wie den kostenlosen SSH-Client putty .

Richtig konfiguriert, lässt sich der Raspberry Pi im Headless-Modus betreiben und konfigurieren.
Vergrößern Richtig konfiguriert, lässt sich der Raspberry Pi im Headless-Modus betreiben und konfigurieren.

Das Kamera-Modul für Motion fit machen


Nachdem das System nun ganz auf unsere Bedürfnisse zugeschnitten und optimiert ist, kümmern wir uns um das Kamera-Modul an sich. Zunächst einmal aktivieren wir es. Rufen Sie dazu auf der Kommandozeile das Konfigurationsprogramm mit dem Befehl raspi-config auf. Über den Punkt 6 können Sie das Kamera-Modul aktivieren.

Das Englisch-Deutsch-Kauderwelsch übersehen wir ganz lässig und aktivieren das Kamera-Modul.
Vergrößern Das Englisch-Deutsch-Kauderwelsch übersehen wir ganz lässig und aktivieren das Kamera-Modul.

Nun ist das Kamera-Modul aktiv, aber es ist noch nicht via V4L-Treiber ansprechbar. Dafür führen Sie auf der Kommandozeile den Befehl

 sudo modprobe bcm2835-v4l2 

aus. Sollte es hier zu einer Fehlermeldung kommen, ist vorher ein weiterer Befehl notwendig. Er lautet

 sudo modprobe v4l2_common 

Laufen die Befehle ohne Fehlermeldung durch, haben Sie nun ein Gerät /dev/video0 . Sie können den Umstand überprüfen, indem Sie den Befehl ls /dev/vi* aufrufen.

Nachdem der oder die Treiber geladen sind, überprüfen Sie das Gerät /dev/video0.
Vergrößern Nachdem der oder die Treiber geladen sind, überprüfen Sie das Gerät /dev/video0.

Der Treiber ist zu diesem Zeitpunkt geladen, würde aber einen Neustart nicht überstehen. Diese Prozedur können Sie allerdings automatisieren. Fügen Sie dafür in der Datei /etc/modules die Zeile bcm2835-v4l2 ein. Das könnte inklusive eines Kommentars so aussehen:

So startet der richtige Treiber bei Systemstart automatisch.
Vergrößern So startet der richtige Treiber bei Systemstart automatisch.

Tipp für Experten: Der Befehl lsmod gibt ebenfalls Aufschluss über die geladenen Treiber.

Experten sehen sehr schnell, ob die gewünschten Treiber richtig geladen sind.
Vergrößern Experten sehen sehr schnell, ob die gewünschten Treiber richtig geladen sind.

Die Bewegungserkennungs-Software Motion installieren


Die Open-Source-Software Motion klinkt sich direkt in das Gerät /dev/videoX ein und wertet den Video-Stream aus. Sollte sich die Anzahl der vorher festgelegten Pixel ändern, wertet die Software diesen Zustand als Bewegung. Je nach Konfiguration führt das Programm dann bestimmte Aktionen aus.
An dieser Stelle ist das System nun perfekt für Motion konfiguriert. Die Software zu installieren, ist ein Kinderspiel. Dafür rufen Sie den Befehl

  sudo apt install motion 


auf. Bestätigen Sie die Frage mit der Taste J und lehnen Sie sich zurück. Die Installation dauert nur wenige Momente.

Die Installation der Überwachungs-Software ist ein Einzeiler.
Vergrößern Die Installation der Überwachungs-Software ist ein Einzeiler.

Eine Installation bedeutet allerdings noch nicht, dass Motion automatisch startet. Möchten Sie das, dann editieren Sie die Datei /etc/default/motion . Darin finden Sie nur zwei Zeilen, und eine davon ist ein Kommentar. Wenn Sie die zweite Zeile von start_motion_daemon=no ändern auf

 start_motion_daemon=yes 

läuft die Software zur Erkennung von Bewegung bei jedem Systemstart automatisch.

Wir kümmern uns vor dem Start des Daemons aber zunächst um die Konfiguration.

Für einen kurzen Check können Sie die Software manuell starten. So wissen Sie, dass alles funktioniert.

Erste Schritte mit Motion


Starten Sie die Software mit diesem Befehl händisch:

 sudo motion 


Das sudo ist in diesem Fall nötig, damit lediglich der Benutzer root die Standardkonfigurationsdatei lesen darf. Legen Sie eine conf-Datei in Ihrem Home-Verzeichnis an, dann lässt sich Motion auch mit einem anderen Nutzer starten. Klappt das ohne Fehlermeldung, wissen wir, dass unsere Hardware funktioniert.

Für eine schnelle Überprüfung ist ein manueller Start gar nicht verkehrt.
Vergrößern Für eine schnelle Überprüfung ist ein manueller Start gar nicht verkehrt.

Es gibt noch eine andere Art der Überprüfung, die wir mit dem Browser durchführen können. Damit lässt sich das Bild sehen, das die Kamera gerade einfängt. Allerdings ist die Überwachungs-Software so konfiguriert, dass nur der lokale Rechner Zugriff auf den Stream hat. Stoppen Sie Motion daher:

  sudo killall motion 


Öffnen Sie im Anschluss die Standardkonfigurationsdatei /etc/motion/motion.conf . Dazu nehmen Sie zum Beispiel nano :

  sudo nano /etc/motion/motion.conf 


Die Datei ist ein ziemliches Monster, und wir passen sie später noch an. Für den Moment suchen Sie nach der Zeile stream_localhost on und ändern sie in stream_localhost off . Der Parameter befindet sich in der Sektion # Live Stream Server .

Starten Sie Motion abermals und geben Sie in einen Browser im selben Netzwerk http://<IP-Adresse Raspberry Pi>:8081 ein. In unserem Fall ist das http://192.168.100.52:8081 .

Haben Sie zum Beispiel VLC installiert, können Sie damit den Stream ebenfalls öffnen. Klicken Sie dazu auf Medien Netzwerkstream öffnen und geben im entsprechenden Feld die URL ein.
Dieser Punkt ist auch dann wichtig, wenn Sie den Raspberry Pi ohne Monitor als Überwachungskamera einrichten möchten. Sie wollen die Kamera schließlich so positionieren, dass ein optimaler Bereich überwacht wird.

Sie können auch mit VLC überprüfen, ob die Hardware richtig funktioniert.
Vergrößern Sie können auch mit VLC überprüfen, ob die Hardware richtig funktioniert.
Mit VLC können Sie den Stream von motion abgreifen. Somit ist sogar eine Live-Überwachung möglich.
Vergrößern Mit VLC können Sie den Stream von motion abgreifen. Somit ist sogar eine Live-Überwachung möglich.

Das Wichtigste der Konfigurationsdatei


In diesem Abschnitt kümmern wir uns um die wichtigsten Parameter der Konfigurationsdatei. Sie werden diese Datei im Laufe der Zeit zu Zwecken der Feinabstimmung des öfteren anpassen. Alles zu erklären würde den Rahmen dieses Artikels sprengen. Allerdings sind einige Parameter sehr wichtig, und diese möchten wir Ihnen kurz erklären.

Relativ am Anfang finden Sie die Zeile videodevice /dev/video0 . Sollte nur eine Kamera am Raspberry Pi hängen, ist das so in Ordnung. Motion kann aber auch mit mehr als einer Kamera umgehen. Dafür würden Sie unterschiedliche Konfigurationsdateien verwenden und Motion mithilfe des Schalters -c den Pfad der Konfigurationsdatei mitteilen:

  sudo motion -c /Pfad/zu/meiner/konfigurations-datei.conf 


Etwas weiter unten finden Sie die beiden Zeilen width 320 und height 240 . Das sind Breite und Höhe des Bildes, das Motion ausgibt und entsprechend speichert. Sie sollten die maximalen Werte der eingesetzten Kamera kennen und die Werte aus diesem Grund nicht überschreiten. Passen Sie außerdem auf, dass die Bilder nicht zu groß werden, sonst geht Ihnen bei viel Bewegung irgendwann der Speicher auf dem Datenträger aus. Wir empfehlen, klein anzufangen und die Größen in kleinen Schritten anzupassen.

Direkt darunter finden Sie framerate 2 . Die Zahl ist die maximale Bildanzahl, die pro Sekunde aufgenommen wird. Je höher die Zahl, desto mehr Bilder gibt es und desto mehr Speicher benötigt das System. Auch hier sollten Sie vorsichtiges Finetuning walten lassen.

Der Parameter auto_brightness steht per Standard auf off . Billige Webcams bringen keine automatische Justierung der Helligkeit mit sich. Sollten Sie deswegen Probleme haben, können Sie Motion diese Einstellung überlassen. Direkt darunter finden Sie die Parameter brightness , contrast , saturation und hue . Diese Parameter dienen zur weiteren optimalen Abstimmung der Bildqualität.

Die rot markierten Parameter helfen, die Bildqualität optimal für Ihr Szenario anzupassen.
Vergrößern Die rot markierten Parameter helfen, die Bildqualität optimal für Ihr Szenario anzupassen.

Bewegung erkennen


Sehr wichtig in der Konfigurationsdatei ist die Sektion # Motion Detection Settings . Der erste Parameter, threshold , bestimmt, wie viele Pixel sich in einem Bild ändern müssen, um als Bewegung wahrgenommen zu werden. Per Standard steht das auf 1500. Behalten Sie im Hinterkopf, dass bei Änderung der Breite und Höhe die Gesamtzahl der Pixel wächst.

Bei den Standard-Einstellungen haben wir 76800 Pixel pro Bild (320 x 240). Setzen Sie das zum Beispiel auf 640 und 480, wären das 307200 Pixel. Eine Änderung ist für die Software aber weiterhin 1500 Pixel. Die Sache wird also wesentlich sensibler.

Diese Sektion ist das Herzstück der Bewegungs-Erkennung. Hier legen Sie fest, wie viele Pixel sich ändern müssen, damit Motion dies als Bewegung deklariert.
Vergrößern Diese Sektion ist das Herzstück der Bewegungs-Erkennung. Hier legen Sie fest, wie viele Pixel sich ändern müssen, damit Motion dies als Bewegung deklariert.

Sobald Motion eine Bewegung erkennt, speichert sie Dateien per Standard im jpg-Format. Zusätzlich wird nach jeder Bewegungssequenz per Standard eine swf-Datei als kleiner Film kreiert. Wo diese Dateien hinterlegt werden, konfigurieren Sie über den Parameter target_dir . Per Standard ist das der Ordner /var/lib/motion . Sie sollten das Verzeichnis Ihren Anforderungen entsprechend ändern. Ein zweiter oder externer Datenträger ist nicht die schlechteste Lösung, da Ihnen in diesem Fall das Dateisystem nicht voll laufen kann.

Direkt darunter finden Sie snapshot_filename . Damit legen Sie den Dateinamen fest. Die Standard-Einstellung ist aber bereits sehr gut, da die Dateien anhand eines Zeitstempels abgelegt werden.

Sie finden weiter unten in der Konfigurationsdatei eine Sektion, die mit # External Commands, Warnings and Logging beginnt. Dort könnten Sie bei Erkennung einer Bewegung, sowohl bei Start als auch Ende, bestimmte Befehle ausführen lassen. Denkbar ist zum Beispiel das Senden einer E-Mail oder das Abspielen eines Klangs.

Motion alternativ automatisch starten


In den meisten Fällen sollte ein automatischer Start als Daemon ausreichen. Wie das funktioniert, haben wir in diesem Beitrag bereits behandelt. Nun könnte es aber sein, dass Sie zwei Kameras am Raspberry Pi angeschlossen haben, und beide sollen eigene Konfigurationsdateien erhalten.

Als Vorbereitung überprüfen Sie die jeweilige Konfigurationsdatei und suchen nach der Zeile daemon=on . Diese befindet sich ziemlich am Anfang. Per Standard steht der Parameter auf on und das bewirkt, dass beim händischen Start von Motion das Terminal wieder freigegeben wird.

Sie können Scripte unter Raspbian Jessie weiterhin mithilfe der Datei /etc/init.d/rc.local laufen lassen. Das ist einfacher als mit systemd zu hantieren. Dort hinterlegen Sie Befehle, wie Sie diese im Terminal ausführen würden. Ein guter Rat ist allerdings, die vollständigen Pfade anzugeben. Bei Motion wäre das /usr/bin/motion. Wo sich eine ausführbare Datei befindet, fragen Sie mithilfe des Befehls which ab:

 which motion


Somit sind Sie nun in der Lage, mehrere Motion-Instanzen mit verschiedenen Konfigurationsdateien auszuführen.

Bei Raspbian Jessie funktioniert die Datei /etc/rc.local weiterhin wie gehabt.
Vergrößern Bei Raspbian Jessie funktioniert die Datei /etc/rc.local weiterhin wie gehabt.

Tipp für Experten: Wollen Sie Motion zum Beispiel nur nachts laufen lassen oder ab einer bestimmten Uhrzeit, können Sie die entsprechenden Befehle natürlich auch mithilfe eines Cronjobs zeitsteuern.

Den Grundlagenkurs zum Raspberry Pi bei Udemy ansehen

0 Kommentare zu diesem Artikel

PC-WELT Hacks - Technik zum Selbermachen?

Raspberry Pi erfreut sich gerade unter Bastlern einer großen Beliebtheit. Kein Wunder, denn mit der 35-Euro-Platine lassen sich viele spannende Projekte realisieren. Vom Mediacenter, Netzwerkspeicher, Fotomaschine bis hin zum Überwachungssystem ist alles möglich. Dieser Bereich ist aber nicht nur dem Raspberry Pi gewidmet, sondern bietet auch viele Tipps, Tricks und Anleitungen für andere spannende Bastelprojekte.

1925151