• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

relais mit http ansteuern

Status
Für weitere Antworten geschlossen.

marlborow4

Neues Mitglied
hallo leute!

bin neu hier und muss euch gleich prüfen ;-)
hab folgendes problem: habe ein projekt übernommen wo ein terminal mit verschiedenen tieren inkludiert ist. das ganze ist ein frontpage web.

jetzt haben die eigentümer 2 relais via usb an den rechner gehängt, die über einen localhost angesteuert werden. ich wollte mir das ganze einfach machen und es hat auch funktioniert ... jedoch nur 2-3 mal, danach stürzt der localhost ab. ich habe das alles in eine frameseite gepackt: oben den inhalt und im unteren frame hahb ich die adresse für das relais geladen die so aussieht: http://localhost:4444/iowj?action=on&name=IOW24&serial=00001F03&port=0&bit=3

das problem: der localhost verkraftet das anscheinend nicht und der befehl wird zeitweise auch 2mal gesendet - warum auch immer!?

so, aber nun zu meiner frage: kann ich die http (http://localhost:4444/iowj?action=on&name=IOW24&serial=00001F03&port=0&bit=3) einfach irgendwie im hintergrund starten?

vorab danke!
 
Werbung:
habe ein projekt übernommen wo ein terminal mit verschiedenen tieren inkludiert ist.
Du willst jetzt nicht wissen, was ich mir darunter vorstelle...

jetzt haben die eigentümer 2 relais via usb an den rechner gehängt, die über einen localhost angesteuert werden.
Jetzt gehts weiter mit den Unverständlichkeiten. Also zwei Peripheriegeräte. localhost ist der Name für Deinen Rechner. Wenn die Geräte an dem Rechner angeschlossen sind, sollte man meinen, dass sie auch von ihm angesprochen werden.
Ich nehme mal an, da gibts nen Webserver, von dem aus man irgendwie die Geräte ansprechen kann.

ich wollte mir das ganze einfach machen und es hat auch funktioniert ... jedoch nur 2-3 mal, danach stürzt der localhost ab.
Coole Beschreibung. Was ist "es"? Warum stürzt Dein Rechner ab, wenn Du eine Webseite aufrufst? Das tust Du doch, oder?

ich habe das alles in eine frameseite gepackt:
Ich vermute, dass das für Dein Problem nicht relevant ist.

http://localhost:4444/iowj?action=on&name=IOW24&serial=00001F03&port=0&bit=3
das problem: der localhost verkraftet das anscheinend nicht und der befehl wird zeitweise auch 2mal gesendet - warum auch immer!?
Was verkraftet wer genau nicht? Ein Webserver hat keine Probleme mit der URL. Welcher Befehl? Meinst Du die URL? Wieso soll die 2x gesendet werden? Wohin? Zum Webserver? Unwahrscheinlich, wenn Du nicht 2x reload drückst oder so.

so, aber nun zu meiner frage: kann ich die http (http://localhost:4444/iowj?action=on&name=IOW24&serial=00001F03&port=0&bit=3) einfach irgendwie im hintergrund starten?
HTTP ist ein Protokoll, das benutzt wird bei der Kommunikation zwischen Server und Client. Was Du da hast ist eine URL. Die kann man nicht wirklich im Hintergrund starten, das ist ja auch nicht Sinn der Sache. Über eine URL fordert man ein Dokument am Server an. Das ist "iowj" im DocumentRoot-Verzeichnis Deines Webservers, der auf Port 4444 läuft.

Möglicherweise hast Du Probleme mit diesem "iowj"-Script, was auch immer das ist, ich vermute die Probleme liegen da. Aber mit der bisherigen Beschreibung Deines Problems komme ich nicht weiter und ich würd mich wundern, wenn jemand anders da alles rausliest, was Du brauchst.

Gruß,
-Efchen

vorab danke![/quote]
 
mit php (cli), perl o.ä. kann man auch auf der konsole arbeiten, indem man einfach das entsprechende script aufruft. ich vermute deine probleme aber eher im script, als in der umgebung.
 
Werbung:
hallo!

also ja, jetzt wo ich deine fragen lese scheints mir klar das man sich nicht wirklich was vorstellen kann lol

zur einfacheren erklärung hab ich das web das da auf dem terminal läuft mal auf meinen server gestellt: Homepage (die sounddateien hab ich rausgenommen ... wären ca. 200mb und spielen keine rolle).

wird der rechner gestartet erscheint die auswahlseite mit den tieren. klickt man auf ein tier, so öffnet sich die unterseite und gleichzeitig würde durch den befehl (http://localhost:4444/iowj?action=on...port=0&b it=3) ein usb relais angesteuert, das wiederum eine beleuchtung des jeweiligen tieres einschaltet.
ist man dann auf dieser seite so kann man den text selber lesen, oder man klickt auf "text vorlesen". klickt man dann auf zurück kommt man wieder auf die startseite und gleichzeitig sollte im hintergrund wieder eine http://localhost ... das ausschalten des relais sein.

warum ich denke das der serverabsturz oder was auch immer dann ko geht an den frames liegt ist die tatsache das wenn ich die http://localhost... über die browseradresszeile eingebe ich das unzählige male machen kann ohne das es probleme gibt. pack ichs wieder in die frameseite dann funktionierts 2-3 mal und das wars dann.

ich hoffe jetzt ist mein problem ein bisschen klarer!?

danke und lg.
 
Die URL zeigt auf einen eigenständigen Webserver, der vorher irgendwie gestartet wurde. War das eine Konsole, siehts du die Meldungen des Servers im Konsolenfenster. Das der abstürtzt, glaube ich weniger. Eher wird er nicht das tun, was Du erwartest. Der Fehler (Exception) wird dann aber auch mit ausgegeben.

Die URL liefert keine Ergebnis in Form einer HTML Seite. Lediglich der Status 204 (No Content) wird zurückgegeben. Ein Frame mit dieser URL sollte also leer bleiben.

Ich empfehle Dir HTTP Server für die Steuerung der IO-Warrior, da ist der Server ansatzweise beschrieben.
 
Die URL zeigt auf einen eigenständigen Webserver, der vorher irgendwie gestartet wurde. War das eine Konsole, siehts du die Meldungen des Servers im Konsolenfenster. Das der abstürtzt, glaube ich weniger. Eher wird er nicht das tun, was Du erwartest. Der Fehler (Exception) wird dann aber auch mit ausgegeben.

Die URL liefert keine Ergebnis in Form einer HTML Seite. Lediglich der Status 204 (No Content) wird zurückgegeben. Ein Frame mit dieser URL sollte also leer bleiben.

Ich empfehle Dir HTTP Server für die Steuerung der IO-Warrior, da ist der Server ansatzweise beschrieben.

danke!
wenn ich das serverprotokoll einsehe, dann gibt er bei der frameseite den befehl immer doppelt. ohne frameseite kommt er alleine. daher wollte ich das ganze ohne frames machen, aber wie kann ich den server die adresse geben? also ohne das ich einen link klicken muss o.ä.?
danke
 
Werbung:
Du könntest zusätzlich beim Link auf die Unterseite per JavaScript-EventHandler onClick eine zweite Seite laden. Aber dazu bräuchtest Du dann Frames, weil auf die Anforderung einer URL immer etwas vom Server zurück kommt.
Alternativ ginge das sicher auch per Ajax, da wird eine asynchrone Anfrage an den Server geschickt, mit der Du Deine Lichter steuern könntest, und die Rückantwort musst Du vermutlich nicht in Deine Seite einbauen.
 
Mal 'ne andere Frage. Hat das ganze schon einmal funktioniert? Oder war genau das von Dir beschriebene Problem der Knackpunkt und Du sollst es jetzt "richten"?

Welches Serverprotokoll meinst Du (Webseiten oder iowj)? Poste doch einmal den interessanten Teil.

Selbst wenn die URL zwei mal hintereinander aufgerufen wird. Beim ersten mal schaltet die Lampe ein und "nochmal einschalten" schadet nicht ;-)


@Efchen: Die URL liefert nichts zurück!

Warum nimmst Du nicht einen Iframe wie auf der o.g. Beispielseite?
 
Zuletzt bearbeitet:
Werbung:
Welche? -> die URL für den IOWJ-Server. "Nichts" meint html-Code, den man darstellen könnte. Als Status wird natürlich was zurückgegeben: 204 (siehe oben).

(Wobei, es gibt auch Fälle,in denen eine HTML Seite zurückgegen wird. Das ist dann aber eine andere Aktion: action=list , die aber nicht zum Schalten verwendet wird.)

Wir schweifen aber vom Thema ab ....
 
Mal 'ne andere Frage. Hat das ganze schon einmal funktioniert? Oder war genau das von Dir beschriebene Problem der Knackpunkt und Du sollst es jetzt "richten"?

Welches Serverprotokoll meinst Du (Webseiten oder iowj)? Poste doch einmal den interessanten Teil.

Selbst wenn die URL zwei mal hintereinander aufgerufen wird. Beim ersten mal schaltet die Lampe ein und "nochmal einschalten" schadet nicht ;-)


@Efchen: Die URL liefert nichts zurück!

Warum nimmst Du nicht einen Iframe wie auf der o.g. Beispielseite?

funktioniert in diesem sinne nicht. das "terminal" steht zwar schon einige zeit, aber da lief eben nur eine homepage die lokal betrieben wurde. jetzt soll es zusätzlich die tiere beleuchten ...

ich kann die fehlermeldungen leider nicht raus kopieren ... ich bin nicht vor ort und komme erst wieder hin wenn ich eine lösung habe.
 
"Nichts" meint html-Code, den man darstellen könnte. Als Status wird natürlich was zurückgegeben: 204 (siehe oben).
Also, dann wird ja doch was zurückgegeben. Mir ging es ja darum, dass immer etwas zurück kommt, worauf der Browser reagiert, weil marlborow4 fragte, ob er eine Anfrage "im Hintergrund" abschicken kann, womit er meinte - so vermute ich - dass er nur etwas an den Server schicken will, ohne eine Antwort zu bekommen.

So würde ich eher in Richtung Ajax schielen. Aber da kenn ich mich noch nicht gut genug aus.

Gruß,
-Efchen
 
Werbung:
ich kann die fehlermeldungen leider nicht raus kopieren ... ich bin nicht vor ort und komme erst wieder hin wenn ich eine lösung habe.

Schwierig, wie willst Du eine Lösung finden, wenn Du das nicht vorher ausprobieren kannst?

Meine Lösung lautet "unsichtbarer Iframe". Vielleicht probiere ich das heute Abend einmal aus.
 
Schwierig, wie willst Du eine Lösung finden, wenn Du das nicht vorher ausprobieren kannst?

Meine Lösung lautet "unsichtbarer Iframe". Vielleicht probiere ich das heute Abend einmal aus.

naja, die lösung liegt mehr oder weniger auf der hand. wenn ich mit frames arbeite sendet er den befehl 2 mal und das schafft der server dann irgendwann nicht mehr. d.h. ich muss es irgendwie ohne frames realisieren!

wenn du zeit für einen versuch mit "unsichtbarem iframe" hast wäre es toll ...

danke vorab!
 
Also ich habe die bestehende Variante getestet (die mit dem Frameset) und bei mir funktioniert das (nur ein Aufruf pro Aktion). Browser: Firefox 2.0.0.14. und IE7.

Was nun?
 
Werbung:
warum das 2 mal gesendet wird ist mir immernoch nicht klar.
in deinem fall kommt einen fehlermeldung retour (202). dann reagiert der browser ja nicht mit einem refresh. wenn ich das richtig sehe, rufst du den iowj ja 2 mal auf, einmal im frame selber und nochmal in der entsprechenden seite zum tier. das wäre doppelt gemoppelt.

der einzige grund den ich sehe, warum sich der server tot rennt ist der, dass er etwas zurück melden will (202), das weiter verarbeitet werden soll, aber nicht kann, weil dein frame die antwort verhindert. deine java aplikation rennt dann wohl im kreis.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben