IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)

Post by towaibw »

Nach einer Anregung aus der Nutzergemeinde habe ich für Java (IOWJ) einen simplen HTTP-Server erstellt und in IOWJ, Version 0.9.6 integriert. Die nötigen Informationen findet Ihr im Netz unter http://www.wagner-ibw.de/httpserver.html. Dort ist auch die letzte Version von IOWJ (iowj0.9.6.jar) downloadbar.

Es handelt sich hier um den ersten Aufschlag. Meinungen und Wünsche sind wie immer willkommen. Einen ersten, zufriedenen Kunden habe ich schon ;-)

Thomas
Last edited by towaibw on Tue Apr 29, 2008 10:07 pm, edited 1 time in total.
Mike D
Posts: 91
Joined: Wed Jun 02, 2004 4:07 pm
Location: Elbe- Weser-Dreieck
Contact:

Post by Mike D »

ich bekomme folgende Fehlermeldung

Cannot find java archive 'codemercs.jar'!

Mike
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

cannot find codemercs.jar

Post by towaibw »

Das jar muß natürlich in classpath liegen. Die Datei selbst kommt mit dem SDK mit. Bitte auch die allgemeinen Hinweise unter http://www.wagner-ibw.de/iowj.html beachten.

Thomas
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

Nachtrag

Post by towaibw »

O.k. bei "Starten des HTTP-Servers" muß ich wohl nachbessern ;-)

Alle erforderlichen Dateien (iowkit.dll, codemercs.jar, iowj0.9.6.jar) in ein Verzeichnis kopieren. In diesem Verzeichnnis folgendes Kommando ausführen:

Code: Select all

java -cp iowj0.9.6.jar;codemercs.jar de.wagner_ibw.iow.IowHttpServer
oder bei abweichender Portnummer:

Code: Select all

java -cp iowj0.9.6.jar;codemercs.jar de.wagner_ibw.iow.IowHttpServer 9876
Ich bitte um Entschuldigung für etwaige Unannehmlichkeiten.

Thomas
robs
Posts: 4
Joined: Tue Mar 07, 2006 6:23 pm

Post by robs »

ich hatte vor einer woche genau die gleiche idee und habe einen c++ server gemacht :)

wieso hast du das nicht frueher gesagt eeh? :)

gruss
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

Rückfrage

Post by towaibw »

Und, funktioniert der auch so gut? ;-)
Änderungs- und Erweiterungswünsche für den Server sind jederzeit willkommen.

Mögliche weitere Features könnten sein:
- Text auf LCD ausgeben
- Temperaturen (LM75) anzeigen

Thomas
CableJoe
Posts: 4
Joined: Sun Jul 20, 2008 1:21 pm

Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)

Post by CableJoe »

Hallo,

ich habe eben versucht, mit der Version 0.9.6 den HTTP-Server ans laufen zu bekommen. Es geht aber nicht, ich bekomme immer die Meldung "Exception in thread "main" java.lang.NoClassDefFoundError: de/wagner_ibw/iow/IowHttpServer".
Wenn ich "java -cp iowj0.9.6.jar;codemercs.jar de.wagner_ibw.iow.ListDevices" eingebe, erhalte ich eine Liste der angeschlossenen IOWs (ist nur ein IOW56) also funktioniert das Java prinzipiell auf dem Rechner. Es ist Windows 2000 und Java 1.6.0_02 installiert. Wenn man die iowj0.9.6.jar entpackt, ist dort auch keine class enthalten die irgendwie nach HTTP klingt. Was mache ich falsch? Ich bin für jeden Tipp dankbar.

Viele Grüße Joe
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)

Post by towaibw »

Hallo Joe,

es liegt nicht an Dir ;-). Sorry, da ist wohl nach der letzten Änderung beim Packen etwas schief gelaufen. Ich bringe das heute Abend in Ordnung. Danke für den Hinweis.

Thomas
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)

Post by towaibw »

Ich habe das jetzt korrigiert. Bei meiner letzten Änderung hatte ich den Paketpfad modifiziert. Die Web-Seite ist aktualisiert. Die betroffenen Version von IOWJ lautet jetzt 0.9.6.2!

Joe, viel Erfolg beim Ausprobieren. Wenn Du den Server gestartet hast, kannst Du mit http://iow.wagner-ibw.de/httpserver.html sofort mit dem Testen beginnen. Wie Du die LED vom IOW56 StarterKit zum Leuchten bringst, ist auf der Seite vermerkt. Feedback ist ausdrücklich erwünscht. Erweiterungswünsche werden relativ schnell umgesetzt ;-).
CableJoe
Posts: 4
Joined: Sun Jul 20, 2008 1:21 pm

Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)

Post by CableJoe »

Hallo Thomas,

hab es gerade ausprobiert, funktioniert super :-). Danke für die schnelle Reaktion.
Einen Erweiterungswunsch habe ich tatsächlich: Auslesen von Ports.
Ich möchte damit einen Durchflusszähler steuern. Keine Ahnung ob das so einfach geht aber ich stelle mir das so vor, dass man auf einen Button klickt, ein Port wird damit eingeschaltet. Bei einem andere werden dann die ankommenden Impulse ausgelesen und bei erreichen der Zahl x wird der erste Port wieder geschlossen.

Viele Grüß Joe und nochmals vielen Dank.
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)

Post by towaibw »

Auslesen von Ports funktioniert eigentlich schon: http://localhost:4444/iowj?action=list&name=IOW56. Das Format ist aber schwer nachzubearbeiten. Formuliere doch bitte einmal, was Dir weiterhelfen würden.
CableJoe
Posts: 4
Joined: Sun Jul 20, 2008 1:21 pm

Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)

Post by CableJoe »

Hallo,

stimmt diese Funktion habe ich übersehen oder besser nicht als das erkannt, was es ist. Einfacher wäre es, man könnte gezielt nur ein Pin an einem Port auslesen. So etwa http://localhost:4444/iowj?action=read& ... rt=0&bit=3 was dann heißt, dass der Pin (bit) 3 vom Port 0 alle 10ms ausgelesen wird. Wenn man das ganze dann noch in einer Schleife zählen lässt, kann bei erreichen eines bestimmten Wertes eine weitere Aktion ausgelöst werden. Es geht halt um einen Durchflusszähler der 2500 Impulse pro Liter gibt (so ähnlich wie der hier: http://www.conrad.de/goto.php?artikel=150392 ). Zum starten wird ein Magnetventil vom IOW geöffnet, der Zähler gibt Impulse die wiederum vom IOW erfasst werden. Wenn die Zahl X erreicht ist weiß man dass die Menge Y durchgelaufen ist und kann das Ventil wieder schließen.

Viele Grüße Joe
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)

Post by towaibw »

Allgemein:
Die Funktion, den Status eines Pins abzufragen, gibt es: action=list, Parameter port und bit entsprechend dem gewünschten Pins angeben. Es kommt eine HTML-Seite mit dem Text "high" oder "low" zurück.

Im Speziellen:
Damit eine Zähler zu realisieren, halte ich erst einmal für schwierig und auch nicht Sinn der Sache. Welche maximale Frequenz kann denn das Rechtecksignal vom Sensor erreichen? Was ich mit vorstellen könnte, wäre eine Klasse, die einen Zähler realisiert (das wäre dann auch etwas wiederverwendbares). Den Zählwert dann per HTML auszulesen, wäre möglich.

Das, was Du vor hast, sieht mir eh nach einem normalen Programm aus. Welchen Vorteil soll da eine HTTP-Schnittstelle bringen?
CableJoe
Posts: 4
Joined: Sun Jul 20, 2008 1:21 pm

Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)

Post by CableJoe »

Hallo,

also die Geräte liefern bis zu 10.000 Impulse pro Liter. Die Impulse pro Minute bzw. Sekunde hängen also von der Flüssigkeit und dem Leitungsdurchmesser ab. Es gibt auch welche die weniger Impulse liefern.
Der Vorteil von http ist ganz einfach. Es ist leichter zu Programmieren (wenn es eine Zählerklasse gibt dürfte das mit der Steuerung vermutlich mit einem Javascript zu lösen sein), es geht schneller, man bekommt schnell eine schöne Oberfläche hin, und kann noch andere Sachen in die Seite einbauen.

Gruß Joe
Guido Körber
Site Admin
Posts: 2856
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)

Post by Guido Körber »

Die Frage ist nun aber trotzdem wie viele Impulse es denn pro Sekunde sind. Die IO-Warrior lesen nicht mit beliebiger Geschwindigkeit, sondern können maximal 125 Zustandsänderungen pro Sekunde übertragen, um sicher zu sein, dass man nicht einen Impuls verpasst würde ich auf keinen Fall über etwa 50Hz gehen.
Post Reply