RS232/USB-Signale in Java weiterverarbeiten

Tecwan

Aktives Mitglied
Hallo, ich möchte einen alten GPS-Empfänger am Netbook auslesen und dessen Daten anschließend
per Java weiter verarbeiten.

Ich habe einen RS232/USB-Konverter, der auch als COM unter System 7 des Netbooks erkannt wird.
javax.comm läuft ebenfalls und findet den entsprechenden COM-Port.

Das Problem:
Ich möchte nicht auf dem winzigen (32-bit) Netbook entwickeln, sondern auf meinem Desktop-
Rechner.
Dieser läuft ebenfalls unter System 7, allerdings - wie könnte es auch anders sein - mit 64-bit.
Und das verträgt sich natürlich nicht mit der win32com.dll der javax.comm:
Code:
Can't load IA 32-bit .dll on a AMD 64-bit platform

Nun kann ich natürlich auf dem großen Rechner "entwickeln" und bei Testläufen das .jar auf das
Netbook schieben und dort laufen lassen; übermäßig komplex ist das Ganze nicht, und System.out's
lassen sich zur Not auch in Labels schreiben - nun ja, man kann vieles...

Also heißt die Lösung wohl RXTX, da Cloudhopper eine 64-bit .dll bereit stellt.
Allerdings hat auch diese schon ein paar Jährchen auf dem Buckel, Windows 7 gab es noch nicht.
Reichen dabei die von Cloudhopper stammenden RXTXcomm.jar und rxtxSerial.dll aus, oder brauche
ich zusätzlich noch was von rxtx? (Parallel bleibt außen vor)
Ich weiß dass ich gnu.io.* importieren muss anstelle javax.comm.*

Ich entwickle mit dem JDK 1.7, auf dem Netbook läuft die JRE 1.6.
Sind von dieser Seite her Probleme zu erwarten?
Was den Code angeht, gibt es hinsichtlich der seriellen Schnittstelle ja eh keine Änderungen, aber
in den BuildProperties zu den Cloudhopper-Dateien wird als Java-Version "1.6.0_10" angegeben.

Generell: Hat jemand bereits praktische Erfahrungen mit seriell/USB-GPS-Datenlieferanten an
Windows System 7-Javaprogs gemacht?
 

irgendjemand

Top Contributor
1) installier auf deinem desktop einfach die 32bit VM ...
dazu solltest du aber erstmal die 64bit VM deinstallieren ... dann die 32bit VM ... und dann die 64bit VM hinterher ... damit dein system auch standardmäßig die 64bit VM nutzt ... ansonsten überschreibt die 32bit VM einiges und das system nutzt als standard dann nur die 32bit VM

2) wenn du mit J7 compilest musst du "-target 1.6 -source 1.6" als parameter angeben damit der kram für J6 compilet wird und ausführbar ist ... ansonsten bekommst du die bekannte "major-version-mismatch" an den kopf ... was dann so viel heißt das du eine klasse mit einem neueren JDK compiled hast ... aber versuchst sie mit einer älteren VM auszuführen ...
 

Tecwan

Aktives Mitglied
Danke für die Hinweise.
Aber auf meinem Desktop-Rechner laufen beide VM, und wie mir bisher scheint, auch ziemlich
sauber getrennt.
Ich nehme an, dass die JRE 1.6 von einem anderen Prog installiert wurde, LibreOffice, OpenOffice
oder etwas in der Art.
Ich könnte unter NetBeans als Library für das Projekt auch eine andere als die JDK 1.7 angeben,
aber bisher sehe ich dafür keine Veranlassung.

Bisher haben sämtliche Projekte, die ich mit JDK 1.7 entwickelt und als .jar auf anderen Rechnern
eingesetzt habe - dort laufen zumeist die JRE 1.6 - anstandslos funktioniert.
Den major-version-mismatch habe ich noch nie zu Gesicht bekommen. Ich gehe mal davon aus,
dass dies erst dann der Fall sein wird, wenn ich Klassen verwende, die auf erst mit 1.7
hinzugekommenen Features basieren.

Daher werde ich es erstmal dabei belassen.


Inzwischen habe ich RXTX auf beiden Rechnern installiert.
Da mich nur die serielle Schnittstelle interessiert, sind dies lediglich die 2 Dateien, wobei ich annehme,
dass
Code:
RXTXcomm.jar
in beiden Versionen identisch ist.
Dann würde sich nur die
Code:
rxtxSerial.dll
je nach bit-Version unterscheiden.
Liegt die aufgerufene JRE im Ordner
Code:
Programme (x86)
, müsste ein Installer (oder ein quick and dirty
Paste der jeweiligen im eigenen jar mitgegebenen dll) hierhin die x86-Version der
Code:
rxtxSerial.dll
kopieren, im Fall des Aufrufs der JRE aus dem Ordner Programme die x64-Version.
Ich habe das noch nicht getestet, sondern händisch gemacht.
Aber vielleicht probiert das ja einer der geschätzten Leser hier aus und postet etwas dazu.


Das Einlesen von Daten funktioniert funktioniert bei mir, und zwar auf beiden Rechnern, wobei
unterschiedliche COM-Ports verwendet werden.
Zu Beginn der Kommunikation hakt es allerdings; zunächst kommt anstelle sauberen ASCII nur
Müll an. Ich denke, dass es Synchronisationsschwierigkeiten gibt, die sich aber nach etwa
100 Bytes dauerhaft geben. Anschließend kommen saubere Datensätze.

Nachdem ich zunächst den einfachen byteweisen
Code:
InputStream
verwendet habe, wollte ich,
da die Meldungen vom GPS-Empfänger zeilenweise eintreffen, auf den bequemeren
Code:
InputStreamReader
wechseln.
Das führt leider zu einer
Code:
java.io.IOException: Underlying input stream returned zero bytes
Hier zeigt sich wohl das Alter: Java liest um Einiges schneller, als Signale über die COM
hereinkommen (kein Wunder, das Gerät schreibt mit 4800 Baud), und die Voreinstellungen der DLL
scheinen da nicht mehr ganz zu passen.
Abhilfe:
Code:
serialPort.enableReceiveTimeout(Integer.MAX_VALUE);
gleich nach der Festlegung der Schnittstellenparameter.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
WPS1000 Input/Output Wie aktiviere ich den Daten Transfer von der RS232 in meine Java Applikation Java Basics - Anfänger-Themen 2
B RS232 - UnsatisfiedLinkError: no rxtxSerial Java Basics - Anfänger-Themen 17
C Ansteuerung RS232 Schnittstelle Java Basics - Anfänger-Themen 15
N Rs232 an Laptop anschliessen und ansteuern Java Basics - Anfänger-Themen 11
J RxTx/RS232 Kommunikation (TwoWay) Java Basics - Anfänger-Themen 10
R Rxtx Rs232: I Can t send to the port Java Basics - Anfänger-Themen 5
R rxtx und RS232 Java Basics - Anfänger-Themen 2
J Rs232 (ComPORT) unter Java Java Basics - Anfänger-Themen 15
A RS232 und Microcontroller - einige Fragen Java Basics - Anfänger-Themen 7
G RS232 Java Basics - Anfänger-Themen 2
W RS232: Daten empfangen,bearbeiten,ausgeben Java Basics - Anfänger-Themen 2
M Bitmuster eines Strings über RS232 senden Java Basics - Anfänger-Themen 5
G String zur RS232 senden und mit cr abschließen! Java Basics - Anfänger-Themen 4
B Audio Signale aufnehmen & Frequenzen mit Amplitude anzei Java Basics - Anfänger-Themen 2
I Push Nachrichten von JAVA EE App an Mobile App Java Basics - Anfänger-Themen 3
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6

Ähnliche Java Themen


Oben