In diesem Beitrag zeigen wir Ihnen, wie Sie mit wenig Geld ein Überwachungssystem selbst basteln. Dazu brauchen Sie ein Raspberry Pi, eine Kamera und die Software Motion. Letztere befindet sich in den Repositories der Linux-Distribution Raspbian.
Am Schluss des Beitrags stellen wir Ihnen noch MotionEyeOS vor. Das ist ein Betriebssystem, das speziell für die Überwachung mit einem Raspberry Pi oder einem ODROID entwickelt wurde.
Wir haben das Szenario mit einer aktuellen Raspian-Version aus dem April 2017 getestet. Es basiert auf Debian GNU/Linux 8 Jessie. Das Betriebssystem wurde vollständig aktualisiert. Als Überwachungskamera haben wir 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.
An dieser Stelle wird das neueste Familienmitglied aus dem Hause Raspberry Pi interessant. Der Neue nennt sich Raspberry Pi Zero W. Das ist ein Zero-Modell mit integrierter WLAN-Netzwerkkarte und Bluetooth 4.0. Der Raspberry Pi Zero W braucht etwas mehr Strom als der Zero oder der A+, kann aber per Standard drahtlos übertragen.
Ein Raspberry Pi 3 hat WLAN und Bluetooth ebenfalls 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 derzeit wohl der Raspberry Pi Zero W, sollten Sie drahtlose Übertragungen benötigen. Aber auch der A+ ist attraktiv. Er 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.

©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.

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.

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.

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 .

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 sudo raspi-config auf. Über den Punkt 5 Interface Options können Sie das Kamera-Modul aktivieren.

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
Möglicherweise müssen Sie nach dem Aktivieren der Kamera das System auch einmal durchstarten und im Anschluss funktionieren die modprobe-Befehle. Laufen die Befehle ohne Fehlermeldung durch, dann haben Sie nun ein Gerät /dev/video0 . Sie können den Umstand überprüfen, indem Sie den Befehl ls /dev/vi* aufrufen.

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:

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

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.

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.

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://
Haben Sie zum Beispiel VLC installiert, können Sie damit den Stream ebenfalls öffnen. Klicken Sie dazu auf Medien Netzwerkstream öffnen und geben Sie 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.


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öchte ich 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.

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.

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 volllaufen 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.

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.
MotionEyeOS
MotionEyeOS ist ein Betriebssystem, das speziell für die Überwachung mit Motion entwickelt wurde. Sie können es bei Github für ODROID C1 / C1 / XU4 sowie Raspberry Pi herunterladen. Den Quellcode finden Sie dort ebenfalls. MotionEyeOS für den Raspberry Pi 3 ist als Download gerade 71 MB groß.
Nachdem Sie die gz-Datei ausgepackt haben, bekommen Sie ein img-Abbild mit ungefähr 230 MB. Dieses sogenannte Image können Sie wie jedes andere Abbild auf eine für den Pi vorgesehene SD-Karte schreiben. Sehr komfortabel funktioniert das mit dem Tool Etcher , das es für Linux, macOS und Windows gibt.
Verwenden Sie Linux, dann wäre das Script writeimage.sh eine Option. Mithilfe des kleinen Programms können Sie sogar eine drahtlose Netzwerkverbindung einrichten oder eine statische IP-Adresse vergeben. Wie das funktioniert, steht auf der Github-Seitedes Entwicklers . Eine Hilfe bekommen Sie auch, wenn Sie das Script ohne Parameter aufrufen. Vorher müssen Sie die Datei wahrscheinlich ausführbar machen:
chmod +x writeimage.sh
./writeimage.sh
Wollen Sie mithilfe von writeimage.sh ein Abbild auf die SD-Karte schreiben, sind Root-Rechte notwendig. Bei den meisten Distributionen reicht ein sudo , das Sie dem Befehl voranstellen. Passen Sie aber auf, den richtigen Datenträger zu erwischen. Das Script fragt nicht weiter nach und überschreibt den Datenträger einfach.
Etcher ist wesentlich sicherer, damit können Sie aber kein WLAN konfigurieren. Für den Zugriff auf MotionEyeOS ist aber eine Netzwerkverbindung notwendig. Verwenden Sie Etcher und wollen Sie eine WLAN-Verbindung nutzen, müssen Sie die Verbindung manuell konfigurieren. An dieser Stelle möchte ich Ihnen das Stichwort wpa_supplicant ans Herz legen. Mit einem Kabel geht es immer.
Hinweis: Findet MotionEyeOS keine Netzwerkverbindung, startet sich das System automatisch neu. Verwenden Sie kein Kabel und konfigurieren Sie kein WLAN oder vergeben eine fixe IP-Adresse, dann ist das System in einer endlosen Neustartschleife gefangen.
Tipp: Sie finden weitere Informationen zur Konfiguration des Netzwerks in der Dokumentation von MotionEyeOS, speziell im Kapitel Tweaks .
Der erste Start dauert etwas
Geben Sie MotionEyeOS etwas Zeit beim ersten Start. Es kommt ein bisschen darauf an, welches Gerät Sie verwenden. Auf jeden Fall konfiguriert sich das System und wenn es an einem Netzwerk angeschlossen ist, wirft es die IP-Adresse auf dem Bildschirm aus. Ein SSH-Server wird ebenfalls gestartet.
Die Anmeldedaten für MotionEyeOS lauten admin und kein Passwort. Das möchten Sie natürlich sofort ändern. Nachdem Sie die IP-Adresse des Systems wissen, geben Sie sie in die Adresszeile Ihrers Browsers ein. Sie können sich als admin ohne Passwort anmelden und klicken dann links oben auf die Schaltfläche mit den drei Balken. Damit gelangen Sie zur Konfiguration.

In der Konfiguration können Sie nicht nur Passwörter für Administrator und Nutzer ändern, sondern auch bestimmen, wann die Kamera aktiv sein soll. Weiterhin dürfen Sie einstellen, wie lange das System Fotos und Videos aufheben soll.
Theoretisch können Sie mehr als eine Kamera mit MotionEyeOS betreiben. Klicken Sie auf eine Kamera, erscheinen vier Schaltflächen. Darüber gelangen Sie unter anderem zu den aufgezeichneten Bildern und Videos.

Klicken Sie dort zum Beispiel auf die Bilder, können Sie die Fotos herunterladen, löschen und so weiter.
MotionEyeOS ist in wenigen Minuten einsatzbereit, aber die Konfiguration via Browser ist etwas eingeschränkt. Wollen Sie umfangreichere Veränderungen vornehmen, sind die Kommandozeile und ein Blick in die Dokumentation notwendig.