Zufällig bin ich beim Stöbern nach neuen Gimmicks auf Wireless Wifi IP Kameras gestossen und da ich immer nach weiteren Möglichkeiten der Heimautomatisierung suche, habe ich vier Stück davon bestellt.

Es handelt sich dabei um die abgebildete Kamera der Firma wanscam.

Die Kameras lassen sich wunderbar über WLAN in das bestehende Heimnetzwerk einbinden und bieten folgende Funktionen:

  • Live Video und Audio
  • Webinterface
  • Bewegungserkennung / Alarm
  • FTP- und Dateiupload

Also die besten Voraussetzungen, um in Verbindung mit dem Raspberry Pi herumzuspielen.

Projektbeschreibung

Ziel des Projekts ist es, die genannte(n) WLAN Kamera(s) in das Heimnetz einzubinden und folgende Überwachungsfunktionen zu realisieren:

  1. Upload eines Kamerabildes auf den Raspberry Pi per FTP in einem frei definierbaren Intervall.
  2. Aktivierung der Überwachungsfunktion der Kamera(s) und Realisierung einer Alarmfunktion per Email.

Einbindung der Kameras in das Heimnetz

Die Einbindung in das Heimnetz und die anschließende Konfiguration stellt sich relativ einfach dar.

  1. Kamera mit Strom versorgen und per LAN-Kabel an das Heimnetz anbinden.
  2. Die mitgelieferte SearchTool.exe starten, die Kamera sollte nach erfolgtem Booten kurze Zeit später dort erscheinen (sofern DHCP verwendet wird).
wanscam SearchTool
wanscam SearchTool

Im SearchTool sieht man jetzt, welche IP der Kamera zugewiesen wurde und über den Standardport 99 kann jetzt im Browser das Webinterface für die weitere Konfiguration gestartet werden.

Soll die Kamera per WLAN betrieben werden, dann muss im Webinterface das WLAN eingerichtet werden (siehe folgenden Abschnitt).

Nach Übernahme der WLAN-Einstellungen rebootet die Kamera, nach ca. 10 Sekunden sollte das LAN-Kabel dann abgezogen werden. Die Kamera sollte nach einem Neustart wieder im SearchTool sichtbar sein (mit anderer IP und MAC-Adresse – das ist wichtig, wenn man z.B. im Router nur bekannte Geräte im WLAN zulässt).

Ansteuerung der Kamera über das Webinterface

Das Webinterface ist simpel und selbsterklärend und wird pro Kamera über folgende URL aufgerufen:

http://IPDERKAMERA:PORTDERKAMERA/

Die IP-Adresse und den Port hat man über das search-Tool festgelegt.

Zwei Anmerkungen zum Webinterface:

  1. Die Funktionalität des Webinterface im Internet Explorer und im Firefox unterscheiden sich erheblich. Vermutlich sind die erweiterten Funktionen im Internet Explorer durch die Verwendung eines eigenen OCX Controls begründet.
  2. Über das Webinterface können Zugangsdaten für das Webinterface konfiguriert werden. Hinterlegt man allerdings Zugangsdaten, dann kann man sich mit diesen im Weninterface einloggen, komischerweise aber nicht mehr die Kamera steuern. Hier muss ich mal beim Support nachfragen.

WLAN-Einrichtung

Die Einrichtung der WLAN-Verbindung erfolgt recht einfach über folgenden Dialog:

wanscam WLAN-Konfiguration
wanscam WLAN-Konfiguration

Einfach das passende WLAN-Netz auswählen, die Zugangsdaten hinterlegen und fertig!

Die Kamera bootet anschließend. Aus meiner Erfahrung heraus sollte man das LAN-Kabel noch ca. 10 Sekunden nach Beginn des Reboots in der Kamera lassen, da offenbar noch einige Daten mit der Software ausgetauscht werden. Nach dem Reboot sollte sich die Kamera im WLAN-Netz befinden.

Einrichtung FTP-Upload auf den Raspberry Pi

Die von mir verwendete Distribution raspbian wheezy bringt von Hause aus keinen installierten FTP-Server mit. Aber das kann ganz einfach nachgeholt werden:

sudo apt-get install proftpd

Und die Installationsart „standalone“ wählen.

Die Konfigurationsdatei öffnen:

sudo nano /etc/proftpd/proftpd.conf

und folgende Befehle am Ende der Datei einfügen:

DefaultRoot ~
AuthOrder mod_auth_file.c mod_auth_unix.c
AuthUserFile /etc/proftpd/ftpd.passwd
AuthPAM off
RequireValidShell off

Anschließend einen neuen, virtuellen FTP-Benutzer wlancam mit dem Standardverzeichnis /var/www/temp/campics/ einrichten:

cd /etc/proftpd/
sudo ftpasswd --passwd --name wlancam --uid 33 --gid 33 --home /var/www/temp/campics/ --shell /bin/false

 

Anschließend den FTP-Server neu starten:

sudo /etc/init.d/proftpd restart

 

Und gegebenenfalls noch die Rechte auf das Verzeichnis setzen:

chmod g+s /var/www/temp/campics
chmod 775 /var/www/temp/campics
chown -R www-data:www-data /var/www/temp/campics

 

Anschließend kann der FTP-Server im Webinterface der Kamera konfiguriert werden:

wanscam FTP-Konfiguration
wanscam FTP-Konfiguration

In diesem Fall erfolgt ein Bildupload alle 10 Minuten.

Hinweis: Bei mir ist die Testfunktion immer fehlgeschlagen, obwohl die Bilder korrekt hochgeladen werden. Also nicht verwirren lassen 😉

Anzeigen der Bilder in einem Webfrontend

Die Überwachungsfunktion mit der Kamera ist Teil meines Projekts HomeControl und wurde daher in das stetig wachsende Webfrontend integriert.

Da jeder einen eigenen Geschmack hat und die Bilder einbinden und darstellen kann wie er mag, habe ich nachfolgend nur die PHP-Funktionen aufgeführt, die ich für den Zugriff auf die Bilder in dem oben genannten Verzeichnis auf dem Pi verwende.

Anzeige des letzten Bildes einer Kamera

Das jeweils letzte Bild einer Kamera kann über folgende PHP-Funktion referenziert werden:

<?php
function GetLatestCamPic($camid)
{
$heute = date("Ymd");
$files = glob("campics/" . $heute . "/" . $camid . "*.jpg");
$files = array_combine($files, array_map("filemtime", $files));
arsort($files);
$latest_file = key($files);
return $latest_file;
}
?>

Das Verzeichnis, in dem per FTP die Bilder gespeichert werden, muss angepasst werden. In diesem Beispiel ist es das zum Webscript relative Verzeichnis „campics/“.

Der Dateiname kann anschließend durch Übergabe der Kamera-ID erhalten werden. Der Dateiname ist nach folgendem Schema aufgebaut:

MACADRESSE_KAMERAID_DATUMUNDUHRZEIT_LFDNUMMER.jpg

Beispiel

00_B1_01_13_1C_68_JWEV-088563-CBRYG_0_20130926024513_5.jpg

Durch folgenden PHP-Aufruf im HTML-Code einer Seite kann der Dateiname ausgegeben werden. Da Datum und Uhrzeit variabel sind, geben wir den festen Teil davor als Referenz an:

 

Anzeige aller verfügbaren Tage

Möchte man (zusätzlich) eine Auswahlanzeige nach Tagen haben, kann folgender Code verwendet werden, der eine Liste der verfügbaren Tages-Order im Bilderverzeichnis ausgibt:

<?php
function GetCamPicDays()
{
if ($handle = opendir('/var/www/temp/campics')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$dirs[] += $file;
}
}
closedir($handle);
rsort($dirs);
return $dirs;
}
}
?>

Zusätzlich kann man folgenden Code verwenden, um sich die Tage in einer Dropdownliste anzeigen zu lassen:

function CreateCamPicDayList()
{
$days = GetCamPicDays();
echo '';
foreach ($days as $value) 
{
echo "" . $value . "";
}
echo "";
}

An einer beliebigen Stelle im HTML-Code kann die Liste dann wie folgt erzeugt werden:

[code type=php][/code]

Anzeige aller Bilder eines Tages

Um alle Bilder (bzw. die URLs) eines Tages zu erhalten, kann folgender Code verwendet werden:

xxx

Einrichten der Überwachungsfunktion mit Alarm

xxx

Ein Gedanke zu „Videoüberwachung mit Raspberry Pi

  1. Hallo,

    danke für den interessanten Artikel. Die Idee mit dem FTP-Upload finde ich super. Ich habe auch schon mit der Kamera von wanscam geliebäugelt, allerdings habe ich diese auf einer Seite mit zertifiziertem Zubehör nicht gefunden, und habe davon schon beinahe Abstand genommen. Jetzt werde ich das aber mal wie beschrieben ausprobieren.

    Viele Grüße,

    Wolfgang

    Kommentiere

Schreibe eine Antwort

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

Erforderlich