Sie sind nicht angemeldet.

Anzeigen

**Wir werden in den kommenden Tagen einen Umzug auf einen neuen Server durchführen. Im Rahmen dieser Maßnahme wird das Forum ca. 1 Stunde nicht erreichbar sein.** nslu2-info.de ist ein privates Projekt von mir, welches jeden Monat aus eigener Tasche finanziert wird. Mit einer freiwilligen Spende wird der Erhalt und der weitere Ausbau dieses Forums unterstützt. Um mich beim Erhalt des Forums zu unterstützen, kannst Du entweder via Flattr oder Paypal spenden. Ich bedanke mich schon jetzt bei allen Unterstützern.

Lieber Besucher, herzlich willkommen bei: Die NSLU2 Community****wenns ums speichern und streamen geht****. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

gznw

Fortgeschrittener

  • »gznw« ist der Autor dieses Themas

Beiträge: 158

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

1

11.03.2009, 11:15

"watchdog"-Problem.. wget | grep

Hallo!
So,also ich habe eigentlich ein recht simples Problem, das ich aber nicht gelöst bekomme..
Also die NSLU2 soll eine WLAN-Kamera überwachen, da diese sich hin und wieder mal aufhängt (eigentlich so 1x am Tag).
Hardwareseitig ist das ganze schon fertig:
An der NSLU2 ist ein USB-RS232-Adapter, über den dann an einen µController ein Zeichen gesendet wird. Erhält der µCointroller das entsprechende Zeichen, so unterbricht er kurzzeitig die Spannungsversorgung für die IP-Cam und die Kamera startet neu. Das ganze läuft richtig gut, aber die Erkennung auf der NSLU läuft noch nicht.
Anfangs habe ich es mit einer Ping-Überwachung gemacht, aber das war nicht zuverlässig, da die Kamera im Fehlerfall zwar auf einen Ping antwortet, aber das Bild nicht bereitgestellt wird. Daher möchte ich gerne das Bild überprüfen..
Dummerweise ist es passwortgeschützt wenn man es mit wget laden möchte (über Browser eingebettet in php läuft es). Also habe ich mich zu der doch unsauberen Methode entschlossen die Fehlermeldung von wget auszuwerten:

Aufgehängt:
...failed: Connection refused.

Alles ok:
...HTTP request sent, awaiting response... 401 Unauthorized
Authorization failed.

So, die Ausgabe soll also an grep gesendet werden und auf den Inhalt 'refused' überprüft werden.. Wenn das Wort gefunden wurde, dann -> Neustart..

Ich habe nun schon stundenlang so viele Möglichkeiten ausprobiert, aber den richtigen Syntax nicht gefunden..
z.B.:

wget -O - 192.168.2.3/snapshot.jpg |grep -q "refused"
if [ $? -eq 0 ]; then
echo "error"
else
echo "ok"
fi

erstmal mit echo, damit ich das Ergebnis besser sehe.
Leider habe ich im Internet nicht die passende Lösung gefunden. Also der obige Versuch läuft nicht. Auch nicht ohne " ". Scheinbar wird die Fehlermeldung gar nicht an grep geliefert, sondern nur die Ausgabedatei, oder?? Also ich hoffe mal, daß mir da jemand helfen kann.. Wenn man sich mit dem Syntax auskennt, sollte es ja machbar sein..

Ein Vorschlag für eine saubere Lösung wäre natürlich auch schön.. Der obige Weg gefällt mir selber nicht..

Anzeigen

MentalFS

Schüler

Beiträge: 71

Verwendetes NAS-Device: NSLU2

Firmwareversion / your current Firmware: Debian

  • Nachricht senden

2

11.03.2009, 12:11

AW: "watchdog"-Problem.. wget | grep

Wenn du gucken willst, ob der Port 80 offen ist, könntest du evtl. auch nmap versuchen.

Anzeigen

gznw

Fortgeschrittener

  • »gznw« ist der Autor dieses Themas

Beiträge: 158

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

3

11.03.2009, 12:23

AW: "watchdog"-Problem.. wget | grep

Hi!
Also das Problem wird dabei jedoch sein, daß man dadurch den Fehler nicht erkennen kann. Die Kamera hat auch einen Web-Oberfläche (Port80) und die ist weiterhin ansprechbar, aber das Bild wird nicht geleifert. Also man müsste schon irgendetwas mit dem Bild machen.. Ich habe es anfänglich mit ping gemacht, aber das hat den Fehler auch selten erfasst. Die Kamera hat ein Problem mit der Wärme, deshalb wurden auch schon Kühlkörper montiert und das Gehäuse mit Lüftungsöffnungen versehen.. Nun gitb es wenigstens keine Pixelfehler mehr.. (scheint ein bekanntes Problem zu sein bei der Cam).
Aber einmal am Tag hängt sie sich noch auf, im Original-Zustand war es nicht auszuhalten, nach längerem Streamen ist sie immer abgestürzt..

warti

Forensupporter

Beiträge: 244

Verwendetes NAS-Device: NSLU2

Firmwareversion / your current Firmware: Debian

  • Nachricht senden

4

11.03.2009, 12:50

AW: "watchdog"-Problem.. wget | grep

Du könntest doch auch den "Inhalt" (oder besser nicht Inhalt) der Bilddatei prüfen.

wget -O - 192.168.2.3/snapshot.jpg

if [ -s snapshot.jpg ]; then
echo error ...

MfG
Werner

gznw

Fortgeschrittener

  • »gznw« ist der Autor dieses Themas

Beiträge: 158

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

5

11.03.2009, 12:57

AW: "watchdog"-Problem.. wget | grep

Ja, das könnte klappen.. Aber ich fürchte, daß es da noch ein Problem gibt:
Seltsamerweise muß man sich beim Download per wget authentifizieren. Beim direkten Download über browser auch,aber nicht wenn das Bild über php eingebettet ist..
Wenn ich die Anmeldedaten bei wget eingebe, dann spielt alles verrückt. Ich benutze Putty per ssh und wenn ich das eingebe mit Anmeldedaten, dann steht dort 1000x PUTTY PUTTY PUTTY dann, Bildschirm leer, wieder alles voller Fehler und dann wieder PUTTY PUTTY PUTTY.. Kann ich mir nicht erklären. Aber ich gucke mal, ob das klappt was Du geschrieben hast. Ist schon seltsam mit der Kamera, aber wenn man weiß wie man das umgehen kann... dann geht´s.

//EDIT: :-( nee, läuft leider nicht.. Bild kann in beiden Fällen nicht heruntergeladen werden, der einzige Unterschied ist, daß die Fehlermeldungen unterschiedlich sind (s.o.). Also einmal quasi: "keine Verbindung" und sonst "Zugriff verweigert"..

MentalFS

Schüler

Beiträge: 71

Verwendetes NAS-Device: NSLU2

Firmwareversion / your current Firmware: Debian

  • Nachricht senden

6

11.03.2009, 13:07

AW: "watchdog"-Problem.. wget | grep

Hm "Connection refused" kannte ich bisher nur so, dass dann auch der Port zu war. Ich glaube die Fehlermeldung wird nach STDERR gegeben, um sie abzugreifen müsste man also

Quellcode

1
wget -O - 192.168.2.3/snapshot.jpg 2>&1 |grep -q "refused"
machen.

Ganz nebenbei: USB-RS232-Adapter, Stromsteurerstecker, Kühlkörper, etc... wäre es da nicht evtl. sogar finanziell besser sich eine funktionierende Kamera zu besorgen?

gznw

Fortgeschrittener

  • »gznw« ist der Autor dieses Themas

Beiträge: 158

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

7

11.03.2009, 13:17

AW: "watchdog"-Problem.. wget | grep

Also ich habe das Problem mit der Authentifizierung nun gelöst bekommen.. Die wirren Zeichen waren wohl der Versuch die Datei auf der Konsole auszugeben..
Also finanziell war das kein Drama.. alles zusammen ca. 10€. Die Schnittstelle ist sowieso angeschlossen weil darüber noch ein Servocontroller angesprochen wird. Außerdem soll der Controller später noch 2 NSLUs überwachen und ggf. rebooten und den Router ggf. auch noch rebooten.

Ich würde gerne den Weg mit dem Inhalt der Datei gehen, weil ich nun herausgefunden habe wie ich die Datei herunterladen kann
wget http://name:passwort@192.168.2.3/snapshot.jpg
Allerdings läuft die Auswertung
if [ -s snapshot.jpg ]
noch nicht.. Ich guck mal.. Aber es ist Land in Sicht :-)

MentalFS

Schüler

Beiträge: 71

Verwendetes NAS-Device: NSLU2

Firmwareversion / your current Firmware: Debian

  • Nachricht senden

8

11.03.2009, 13:30

AW: "watchdog"-Problem.. wget | grep

Zitat von »gznw;34962«

Ich würde gerne den Weg mit dem Inhalt der Datei gehen, weil ich nun herausgefunden habe wie ich die Datei herunterladen kann


Möglicherweise brauchst du dann nur noch zu checken ob wget einen Fehlercode zurückgibt:

Quellcode

1
2
3
4
5
6
wget http://name@passwort@192.168.2.3/snapshot.jpg
if [ ! $? -eq 0 ]; then
   echo "error"
else
   echo "ok"
fi

gznw

Fortgeschrittener

  • »gznw« ist der Autor dieses Themas

Beiträge: 158

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

9

11.03.2009, 13:37

AW: "watchdog"-Problem.. wget | grep

Soo.. Nun läuft es:

wget -nv -N http://user:kennwort@192.168.2.3/snapshot.jpg

if [ -s snapshot.jpg ]; then
echo "ok"
else
echo "error"
fi
rm snapshot.jpg


Das Problem war, daß die Datei snapshot.jpg angelegt wird wenn es klappt und die muß danach gleich wieder gelöscht werden, weil sie ja sonst auf jeden Fall da ist. Außerdem wird immer eine weitere Datei angelegt wenn man nicht -N als Option angibt..
Ich probiere Deinen Code aber auch nochmal aus weil es mir nicht so gefällt, daß da so oft Dateien angelegt werden und wieder gelöscht werden.. Das ganze läuft auf USB-Stick und der soll eine Weile halten..


//EDIT: So, Dein Code läuft bestens! Danke, den nehm ich nun.. mit kleiner Änderung (Option -N -nv )

Social Bookmarks