# Hilfe Xport und Conrad Relaiskarte (Java Applet)



## MadPlayer (23. April 2011)

Hi,
ich habe einen xport mit der Conrad 8 Kanal Relaiskarte verbunden.
Mit dem pc schalte ich die jeweiligen Relais an und aus.

Jetzt zu meinem problem:

Ich möchte die karte auch ohne zusatz programm am pc oder handy
schalten.
Es gibt ja die möglichkeit auf dem Xport eine web seite bereit
zustellen.
Mit einem Java Applet könnte man dies ja realisieren, aber ich habe echt
null ahnung von Java und habe schon einiges versucht aber bin nicht
sehrweit gekommen.

Bei der Karte ist ein c++ Quellcode dabei.

Hat einer ahnung von der materie und würe mir helfen?


----------



## SE (24. April 2011)

Also ich kenn das jetzt zwar nicht und in C bin ich auch ne Niete, aber wenn du die möglichkeit hast auf der Karte n Web-Interface laufen zulassen würde ich das erstmal tun. Un anstatt da jetzt mit java irgendwas zumzubasteln und auf die Karte zubekommen würde ich dann lieber mit nem Java-Clienten oder gleich nem Browser drauf zugreifen.

Oder habe ich das ganze jetzt total falsch verstanden und man kann sich auf dem XPort richtig auslassen ? Problem hierbei wäre nur : wie den Java-Server zum laufen bekommen wenn die VM nicht mit draufpasst / vom Loader nicht gestartet werden kann ?

Ich würde mir das mal angucken und dann versuchen dir zu helfen, versprechen kann ich leider nichts.

PS : Das Ganze klingt schon recht interressant. Werde mal schauen ob ich im Netz was finde.


----------



## genodeftest (25. April 2011)

Meinst du das Velleman-Gerät (K8056, http://www.conrad.de/ce/de/product/...motionareaSearchDetail=005#download-dokumente http://www.velleman.eu/distributor/products/view/?id=351282 )?
So etwas ähnliches hab ich schon mal gemacht, siehe http://jk8055gui.sourceforge.net/ (Im Rahmen einer Facharbeit, allerdings mit dem K8055; die Struktur sollte eigentlich gleich sein) Source Code ist dort zu finden, wenn du weitere Infos brauchst, schreib mir.

Mit einem Applet wird das aber wahrscheinlich nicht umsetzbar sein, dafür brauchst du vermutlich eine Signatur von Oracle (weil du native Bibliotheken und Hardware-Zugriff brauchst).

Was ist ein xport? ist das dieser Nano-Server von Lantronix http://www.lantronix.com/device-networking/embedded-device-servers/xport.html ?

Noch mal zum Verständnis: Du hast das K8056 an diesen Nano-Server angeschlossen und willst remote die Karte steuern (von PC und mobilen Geräten), soweit richtig?
Dafür würde ich keine Java Applets und evtl. gar kein Java verwenden. Beherrscht du vielleicht eine andere Programmiersprache (PHP, C, C++, etc)?


----------



## MadPlayer (26. April 2011)

Hi, ne das ist die Relais karte C-Control 8fach-Relaiskarte 230 V/AC 16 A Baustein 8 Relaisausgänge ( http://www.conrad.de/ce/de/product/...SHOP_AREA_17362&promotionareaSearchDetail=005 ).

Ja das ist der xPort-03 er ist mit einem max232 pegel wandler (TTL zu RS232) über RS232 verbunden.

Momentan spreche ich die Karte (bzw. den xPort) über die Hausautomatisierungssoftware IP Symcon an. Also über PHP Script.

Der xPort leitet über die IP Adresse und den Port 10001 alle daten zur rs232 schnittstelle weiter.

Das ganze soll aber jetzt über den internen Web server des xPorts laufen, ohne einen anderen PC der in reichweite bzw. an sein muss.

Es gibt eine möglichkeit das über java applets zu realisieren unmd zwar über p-b-e HomeVisu.
Die Software unterstützt den xPort und auch die hier genannte Conrad Relais Karte.
Ich habe mal eine anfrage gemacht, ist aber sehr teuer weil es eine spezielle Projektierung währe.

Hier der link: http://www.p-b-e.de/software-engineering/homevisu.html

Wenn das das auch über PHP geht würde mich das sehr erleichtern!

Ich habe aber keine Ahnung wo mit ich anfangen muss.

Für deine/ eure hilfe währe ich sehr dankbar.


----------



## SE (26. April 2011)

Ahh ... jetzt versteh ich das erst.
Nein, so wie du das vor hast wird das wohl nicht gehen. Du brauchst einen Rechner der als Server dient und an diesen dann die Karte anschließen *ich würde hier aber die USB-Verbindung nutzen und dann mit der mitgelieferten Steuersoftware dierekt ansprechen ohne den Quatsch über RJ45-RS232. Auf dem Server dann Perl laufen lassen *so kannst du über ein Web-Interface dierekt Commandos des Systems aufrufen und solltest so die Karte steuern können. Ohne einen Steuer-Rechner wird das aber nicht gehen da keine Möglichkeit besteht den XPort selbst zum Server zu machen *wenn ich das richtig gelesen hab auf der Seite*. Wenn diese möglichkeit bestehen würde könntest du das Ding dierekt an nen Router hängen und via Port-Forewarding und DynDNS den Service nutzen, wobei hier n Sicherheitsfrage wäre wie Sicher du es bekommst.


----------



## genodeftest (26. April 2011)

Am einfachsten wäre für dich wohl, wenn du mit PHP auf die Nativen Bibliotheken zugreifst. Wie man das macht, kann ich dir leider nicht sagen. Frag mal im PHP-Forum.

Die beste Lösung wäre (meiner Meinung nach) folgende: Du baust ein WebInterface (Oberfläche HTML plus evtl. AJAX) zur Steuerung und Anzeige der Geräte. Und vergiss nicht, das ganze zu schützen (Passwort)!

Die Lösung mit geringstem Aufwand wäre mit p-b-e HomeVisu. Allerdings solltest du ausprobieren, ob die "Touch-Anwendung" (wahrscheinlich Java ME) mit deinem Handy funktioniert. Die Community Edition ist doch kostenlos oder? Ansonsten wäre der Programmieraufwand wahrscheinlich höher, als die Software wert ist (du wirst mindestens 10 Stunden daran hocken, wenn du eine Java-Anwendung dafür schreibst, genauso für eine AJAX-basierte Realisierung in PHP). Leider kann ich nichts über die Qualität der Umsetzung sagen (nicht getestet).


----------



## pab_de (12. Mai 2011)

Schau mal hier. http://www.heise.de/ct/projekte/c-t-COM-auf-LAN-Adapter-284121.html
In der c’t wurde der XPort mal als Projekt behandelt.

So einfach ist es aber nicht den internen Webserver des XPort zu verwenden.
Wie du schon festgestellt hast bedarf es eines Java Applets oder ein anderes Browser-PlugIn das es ermöglicht eine Socket-Verbindung mit dem XPort aufzubauen um den RS-232 Port über einen IP-Port anzusprechen.
Die gesamte Steuerung muss im Browser laufen. Es ist leider nicht möglich auf dem XPort eigene Scripts laufen zu lassen. Auch PHP ist nicht vorhanden.
Der XPort kann nur HTML-Seiten und Files hosten, die vom Browser abgerufen werden.
Beim Applet dient die HTML-Seite als Container, der das Applet beinhaltet. Alle vom Applet benötigten Dateien wie JAR-Files, Text-Files oder Images werden vom Browser nachgeladen und innerhalb des Browsers ausgeführt. 

Zur Ausführung von Java Applets ist eine Java Standard Edition (Java SE) erforderlich. Java ME reicht nicht, Applets dürften somit auf einem normalen Handy nicht ausführbar sein.
Das kannst du einfach testen, in dem du im Internet irgendeine Webseite mit Java Applet versucht darzustellen. Da gibt es ja genügend – z.B. auch die Demo von homeVisu (http://www.homeVisu.de) was du schon erwähnt hast ist auch ein Java Applet. Egal mit welchem Endgerät du das Applet darstellen kannst, mit diesem Gerät kannst du auch einen XPort per Java Applet steuern.

Ein weiteres Problem ist es die Daten auf den XPort zu bringen.
Das ist leider gar nicht so einfach! 
Der XPort hat nur 6x 64kB Speicher.
Somit darf eine Datei (z.B. JAR-File) nicht größer als 64kB sein. Die Dateien können auch nicht so einfach per FTP auf den XPort hochgeladen werden. Für jeden Speicherbereich muss eine spezielle Image-Datei erstellt werden die dann per TFTP in den Speicherbereich geladen wird. Das geht zwar mit dem Lantronix-Tool relativ einfach aber da sind wird dann wie du schon erfahren hast in einer Projektierung und man muss schon wissen was man tut.

An die Sicherheit hat man dagegen im XPort gedacht. Man kann ein User-Zugang einrichten, damit man sich anmelden muss bevor die Webseite dargestellt wird. Das ist aber dann die einzige Sicherheit, wenn du über DynDNS auf den XPort vom Internet zugreifst.

Hast du die Platine für den XPort eigentlich selbst gebaut? Der XPort ist ja nur eine Teil-Komponente, die noch eine Spannungsversorgung und einen RS-232 Pegelwandler benötigt.
Komplette Fertiggeräte im Gehäuse gibt es meinem Wissen nach eigentlich nirgends zu kaufen?


----------

