Aus Raspberry Pi Geek 08/2017

Aufnahmen von IP-Kameras bei Bewegung per E-Mail melden (Seite 3)

Programm bauen

Im letzten Schritt bauen und installieren Sie das Überwachungsprogramm zusammen mit Libquickmail. Auf der Heft-DVD finden Sie die zwei Dateien vipstest2.tar.gz und installandbuild.sh. Beide kopieren Sie per SSH oder FTP in ein beliebiges Verzeichnis auf dem RasPi. Im folgenden Beispiel diente dazu Ordner /home/pi/work/.

Anschließend melden Sie sich per SSH auf dem RasPi an und setzen Rechte des Installationsskripts so, dass Sie es ausführen können (Listing 6, erste Zeile). Dann wechseln Sie in das Verzeichnis und rufen das Skript auf (zweite und dritte Zeile). Das Skript braucht ein paar Minuten, um alles zu bauen. Kontrollieren Sie die Ausgabe auf eventuell auftretende Fehlermeldungen. Das Skript entfernt alle alten Kopien von früheren Installationen. Dabei sichert es eine vorliegende Ini-Datei und schreibt sie nach der Installation zurück.

Listing 6

 

$ chmod +x ~/work/installandbuild.sh
$ cd ~/work
$ ./installandbuild.sh

Nach der Installation bereiten Sie die Datei VipsTest2.ini im Unterverzeichnis VipsTest2 vor – achten Sie hier auf Groß- und Kleinschreibung. Am besten kopieren Sie die Vorlage VipsTest2.ini.template als VipsTest2.ini und bearbeiten Letztere dann per Editor. Alle mit “<” und “>” markierten Passagen gilt es anzupassen, die Größer-Kleiner-Zeichen müssen Sie dabei entfernen. Login-Daten und Passwörter lassen sich wieder mit passwordCrypto schützen.

Zum Testen der Konfiguration starten Sie nun einen ersten Kurzdurchlauf, der im Erfolgsfall Ausgaben wie in Listing 7 produziert. Nach einigen Runden brechen Sie den Test mit [Strg]+[C] ab, wobei es bis zu 10 Sekunden dauern kann, bis das Programm tatsächlich anhält. Im Fehlerfall gibt die Datei .../VipsTest2/README eine Reihe von Hilfestellungen.

Listing 7

 

$ src/vipstest2
0 files deleted from ./outDir
vipstest_main.cpp started.
Archive directory /media/usbstick/camera_archive/ accessible, creating camera sub-directories
Creating CurlResetMutex singleton
TremithousaCamera: processed 10 files, 0.200000 sec/file, cache size 178
Vipstest2 Status Report: 2017-02-27 09:13:53
TremithousaCamera: processed 20 files, 0.300000 sec/file, cache size 419
...
Ctrl-C or stop detected. Program interrupted

Läuft alles zu Ihrer Zufriedenheit, richten Sie das Überwachungsprogramm als Dienst ein, damit es seine Aufgabe unbeaufsichtigt im Hintergrund erledigt. Zu diesem Zweck kopieren Sie die Datei vipstest2system nach /etc/init.d/ und starten das Programm dann (Listing 8). Um es wieder zu stoppen, ersetzen Sie start> durch stop, für einen Neustart durch restart. Alle Ausgaben schreibt das Programm in die Protokolldatei des Linux-System-Daemons. Der Befehl in Listing 9 zeigt die letzten Einträge und typische Outputs in dieser Datei.

Listing 8

 

$ sudo cp /Pfad/zu/vipstest2system /etc/init.d
$ sudo systemctl start vipstest2system

Listing 9

 

$ tail -f --lines=400 /var/log/daemon.log | grep vipstest2
Feb 27 10:45:20 raspberrypi vipstest2system[14218]: called vipstest2system with parameter start
Feb 27 10:45:20 raspberrypi vipstest2system[14218]: Starting vipstest2: pidPath: /var/run/vipstest2.pid Starting vipstest2, pidPath: /var/run/vipstest2.pid :
Feb 27 10:45:20 raspberrypi systemd[1]: Started LSB: Start vipstest2 at boot time.
Feb 27 10:45:20 raspberrypi vipstest2: 0 files deleted from ./outDir
Feb 27 10:45:20 raspberrypi vipstest2: vipstest_main.cpp started.
Feb 27 10:45:20 raspberrypi vipstest2: Archive directory /media/usbstick/camera_archive/ accessible, creating camera sub-directories
Feb 27 10:45:21 raspberrypi vipstest2: Creating CurlResetMutex singleton
Feb 27 10:45:22 raspberrypi vipstest2: sending Vipstest2 Status Report: 2017-02-27 10:45:22
Feb 27 10:52:28 raspberrypi vipstest2: Camera TremithousaCamera : restarting curl

Ausblick

Aktuell stürzt das Überwachungsprogramm gelegentlich noch aufgrund eines Speicherproblems in der Glib-Bibliothek ab. Bis jetzt ist es dem Autor nicht gelungen, die Ursache und eine Lösung für das Problem zu finden. Deswegen gibt es als Workaround in der Anwendung eine Routine, die den Dienst nach einem Crash automatisch neu startet. Falls Sie Fragen zum Projekt haben oder Hilfe benötigen, können Sie sich über die E-Mail-Adresse [email protected] direkt an den Autor wenden. Er freut sich generell über eine kurze Information, dass Sie die Software einsetzen, sodass er Sie über Updates auf dem Laufenden halten kann. 

Der Autor

David Singleton, ein Software-Ingenieur mit langjähriger Erfahrung in C++ und Java, wohnt und arbeitet seit über 20 Jahren in Deutschland. Er programmiert für Windows- und Linux-Systeme sowie für Android und jetzt Raspberry Pi. Er ist Mitglied der britischen Institution of Engineering and Technology und hat einen M.Sc. in Computer Science.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 7 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben