Verfasst von Stefan Höhn
am:
02.03.2013
|
Status einer IPcam im Web anzeigen. Ich wollt doch nur mal den Status meiner Webcam anzeigen. Ein richtiger Ping ist das ja nicht. Daraus wurde dann:
Aufgabe: Überprüfe ob ein dummer Server 0 (IPcam zuhause) sendebereit ist. Der Server 1 soll das Ergebnis alle 20 Minuten auf einer Webseite anzeigen. Er unterstützt kein cron. Überprüfe mittels eines Servers 2 ob Server 0 noch lebt und schicke Server1 ein entsprechendes PHPscript, das dort inkludiert wird. Auf Server 1 und 2 läuft ein Linux.
Lösung:
- Server 0 muss vom Internet mit einem Dyndns erreicht werden können. Auf dem Router zuhause (Plastikkästchen) wird die Firewall zum Port 80 der Kamera geöffnet.
- Server 2 kann jetzt testen ob ob Server 0 ein Bild erzeugt. Dazu habe ich eine Bashdatei webcamstatus.sh ertellt. Hier einige wichtige Schnipsel:
-
wget --spider -t 1 http://untergang.homelinux.net/loginfree.jpg -o /home/user_name/bin/camtest.txt
-
Jetzt lese ich aus ob es eine Zeile gibt die mit "Remote" anfängt:
a=$(cat /home/user_name/bin/camtest.txt |grep ^Remote)
-
So muss die Zeile ausssehen:
b="Remote file exists".
-
vergleiche:
if [ "$a" = "$b" ];then
-
Erzeuge je nach Ergebnis ein webcamstatus.php
-
und verschicke mittels ftp an Server 1
ncftpput -u yyyyy -p xxxxx untergang.de /da /wos/ hinnsoll/ /home/user_name/bin/webcamstatus.php;
-
Scriptende. Crontab soll das alle 20 Minuten aufrufen
-
crontab -e dann das hier eintragen : */20 **** /home/user_name/bin/webcamstatus.sh
-
Auf Server 1 reicht ein include webcamstatus.php
Natürlich gibts das Ergebnis hier auch zum Anschauen.
Älteres Beispiel von mir für eine USB Kamera.
Das hier muss niemand verstehn; und schon garnicht nachmachen.
|
Letzte Aktualisierung ( 06.03.2013 )
|