IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)
Moderator: Guido Körber
IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)
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
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.
cannot find codemercs.jar
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
Thomas
Nachtrag
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:oder bei abweichender Portnummer:
Ich bitte um Entschuldigung für etwaige Unannehmlichkeiten.
Thomas
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
Code: Select all
java -cp iowj0.9.6.jar;codemercs.jar de.wagner_ibw.iow.IowHttpServer 9876
Thomas
Rückfrage
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
Ä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
Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)
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
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
Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)
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
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
IOWJ - www.wagner-ibw.de
Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)
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 ;-).
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 ;-).
IOWJ - www.wagner-ibw.de
Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)
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.
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.
Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)
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.
IOWJ - www.wagner-ibw.de
Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)
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
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
Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)
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?
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?
IOWJ - www.wagner-ibw.de
Re: IO-Warrior mit HTML/HTTP steuern (Reklame für IOWJ)
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
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
-
- 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)
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.