Überwachungskameras aus dem Einzelhandel kosten oft viel Geld, bieten wenig Funktionen oder erweisen sich im Einsatz als unflexibel. Mithilfe des Raspberry Pi umgehen Sie alle diese Nachteile und erweitern bei Bedarf das System unkompliziert um weitere Features.
README
Mit einem oder mehreren RasPis stellen Sie für wenig Geld eine mächtige Videoüberwachungslösung zusammen. Die erste Hälfte des Artikels gibt denjenigen Lesern eine Anleitung an die Hand, die gerne einfach und mit wenig Aufwand ein solches Projekt umsetzen möchten. Der zweite Teil des Textes richtet sich an Tüftler: Er erklärt die Interna der vorgestellten Skripte, damit sie diese bei Bedarf leicht um eigene Ideen erweitern.
Die letzte Ausgabe von Raspberry Pi Geek enthielt mit dem Artikel “Auge des Pi” [1] bereits eine Einführung in die Grundlagen des für den Minirechner erhältlichen Kameramoduls. Hierauf aufbauend folgt nun eine Anleitung, wie Sie unkompliziert eine Videoüberwachungslösung erstellen. Auch wenn Sie diesen Artikel nicht gelesen haben, dürfte Sie die Standardinstallation nicht vor Probleme stellen.
Konzept
Die vorgestellte Lösung vernetzt beliebig viele Raspberry Pis mitsamt ihres Kameramoduls untereinander, sodass Sie bei Bedarf damit mehrere Orte gleichzeitig überwachen. Das Konstrukt gestattet aber auch den Einsatz einer einzigen Kamera, falls das für Ihre Zwecke ausreicht. Die Bilder der überwachten Plätze speichert der Mini-Rechner auf einer SD-Karte, alternativ stehen sie aber noch als Live-Ansicht über eine Weboberfläche (Abbildung 1) zur Verfügung.
Einer der RasPis fungiert im vorgestellten Szenario als zentraler Server, der die Konfigurationsdatei vorhält. In dieser stellen Sie die gewünschten Aufzeichnungsparameter ein, wie etwa Auflösung, Lichtstärke oder Kontrast, sowie den Sekundenabstand, in dem die Kameras jeweils neue Bilder aufnehmen. Alle angeschlossenen RasPis importieren in regelmäßigem Abstand die aktuelle Konfigurationsdatei von diesem Zentralrechner. Um den Aufbau so einfach wie möglich zu halten, kommunizieren die Minicomputer via HTTP-Requests untereinander.
Installation
Zuerst gilt es, festzulegen, welche statischen IP-Adressen die Überwachungsrechner innerhalb des LANs nutzen sollen. Das folgende Beispiel geht von einem Szenario aus, bei dem der zentrale RasPi, der gleichzeitig die erste Kamera bedient, die Adresse 192.168.2.50 verwendet. Zwei weitere verwenden die Adressen 192.168.2.51 und 192.168.2.52. Welche IPs Sie auch wählen: Verwenden Sie einen Teil Ihres privaten Adressbereichs (in der Regel 192.168.*.*/24), auf den nur vertrauenswürdige Clients zugreifen dürfen.
Nun konfigurieren Sie den ersten RasPi. Installieren Sie dafür zuerst die Pakete apache2, php5, php5-curl und php5-cli. Im Verzeichnis /var/www/ legen Sie danach die Unterverzeichnisse /var/www/cam/ und /var/www/cam/bilder/ an. Kopieren Sie nun die Skripte config_einlesen.php und steuere_kamera.php nach /var/www/cam/.
In der Datei steuere_kamera.php tragen Sie in Zeile 4 die IP-Adresse desjenigen Raspberry Pi ein, der später als zentraler Steuerungsserver agiert. Nun müssen Sie noch dafür sorgen, dass bei jedem Booten der Raspberry Pi das Skript steuere_kamera.php im Hintergrund startet. Dazu editieren Sie die Crontab (sudo crontab -e) und fügen dort folgende Zeile hinzu:
@reboot /usr/bin/php -f /var/www/cam/steuere_kamera.php
Die genannten Schritte müssen Sie bei jedem im Rahmen des Projekts eingesetzten Raspberry Pi vornehmen. Sollten Sie viele Kameras verwenden, sparen Sie etwas Arbeit, indem Sie eine SD-Karte mit den zuvor genannten Schritten präparieren und dann entsprechend oft klonen, indem Sie deren Inhalt auslesen und auf andere, leere Karten kopieren.
Eine noch fehlende Einstellung ist jedoch so individuell, dass Sie diese anschließend bei jeder einzelnen SD-Karte noch zusätzlich konfigurieren müssen: Tragen Sie jeweils in der Datei /etc/network/interfaces die beabsichtigte statische IP-Adresse des betreffenden RasPi ein – in unserem Beispiel also auf Karte 1 192.168.2.50, auf Nummer 2 192.168.2.51 und auf der dritten SD-Card 192.168.2.52.
Die nun folgenden Zusatzschritte nehmen Sie ausschließlich bei der SD-Karte für den Steuerungsrechner vor: Kopieren Sie dort die Dateien index.php, raspi-geek-logo.png und config.txt in das Verzeichnis /var/www/cam/. Passen Sie anschließend die Datei config.txt Ihren Zwecken gemäß an. Die Einstellungen ändern Sie bei Bedarf später im laufenden Betrieb auch wieder. Alle anderen Kamera-Pis importieren in regelmäßigen Abständen die aktuelle Konfigurationsdatei vom zentralen Server und setzen veränderte Optionen gegebenenfalls binnen Sekunden um. In Listing 1 zeigt die config.txt eine Beispielkonfiguration für einen Anwendungsfall, bei dem drei Kameras zum Einsatz kommen.
Listing 1
; Kamera-Konfigurationsdatei [Global] Schaerfe = 0 Kontrast = 0 Helligkeit = 50 Saettigung = 0 ISO = 100 Intervall = 5 [Haustür] IP = "192.168.2.50" [Garten] IP = "192.168.2.51" [1. Obergeschoss] IP = "192.168.2.52" Helligkeit = 60 ISO = "400"
In der Sektion [Global] (Zeile 3 bis 9) definieren Sie Standardwerte für die Aufnahmen. So weist Zeile 6 beispielsweise den RasPi an, immer dann, wenn in seiner Konfigurationsdatei die zu nutzende Helligkeit nicht festgelegt wurde, den Wert 50 zu verwenden. Die meisten Optionen legen Aufnahmeparameter für die Fotos fest, wogegen der Wert Intervall in Zeile 9 bestimmt, in welchen Zeitabständen die Kamera neue Bilder aufnimmt – hier alle 5 Sekunden.







