Zuletzt geändert am 19. April 2015 um 19:09

FTP Bilder Upload

Was tut das Script

Mit Hilfe dieses .sh Scripts wird ein Bild von einer IP Kamera geholt und per FTP auf einen FTP Server geladen. Im Dateinamen werden Datum/Uhrzeit mit abgelegt. Ich nutze Foscams, bei anderen Kameras kann die URL entsprechend anders aussehen.

Dabei wird das unten stehende Script im Texteditor eingefügt und bearbeitet (Daten für Kamera und FTP Zugang eingeben) und dann mit der Endung .sh gesichert. Diese .sh Datei wird dann auf die CCU übertragen. Den Pfad zu der Datei auf der CCU muss man dann beim Aufruf des Scripts angeben. 

So sieht das Script aus

Var1=Bild_$(date +"%Y%m%d_%H%M%S").jpg
wget -O /tmp/$Var1 'KAMERAIP:KAMERAPORT/snapshot.cgi?user=USERNAME&pwd=PASSWORT'
LD_LIBRARY_PATH=/usr/local/addons/cuxd/ /usr/local/addons/cuxd/curl -T /tmp/$Var1 ftp://FTPSERVERADRESSE/ --user FTPUSER:PASSWORT
rm /tmp/$Var1

So funktioniert das Script

Zeile 1 gibt den Dateinamen vor.

Zeile 2 holt das Bild von der Webcam, benennt es wie in Zeile 1 definiert und sichert es im /tmp Verzeichnis der CCU.

Zeile 3 überträgt es per FTP.

Zeile 4 löscht die nun nicht mehr benötigte Datei aus dem /tmp Verzeichnis.

Aufruf des Scripts

In diesem Beispiel hier lade ich über ein CuxD Timer Gerät im Alarmfall alle 10 Sekunden ein Bild der Webcam auf den FTP Server. Dazu füge ich in den Einstellungen dieses CuxD Timers in CMD_EXEC folgendes ein:

sh PFADZUMSCRIPT/SCRIPTNAME.sh

Im Timer muss "Repeat" angekreuzt sein, damit das dann auch wiederholt ausgeführt werden kann.

Folgendes WebUI Programm setzt dann im Alarmfall den Timer auf 10 Sekunden und sonst auf 0 Sekunden.
WENN
Auslösendes Gerät oder Systemvariable z.B.
DANN
Cuxd Timer Timer_Set = 10
SONST
CuxD Timer Timer_Set = 0
Man kann das Script natürlich auch auf üblichem Wege über ein CuxD EXEC Gerät aufrufen.