Pages: [1]   Go Down
Author Topic: Serial Kommunikation mit Java unter Windows  (Read 525 times)
0 Members and 1 Guest are viewing this topic.
Germany
Offline Offline
Newbie
*
Karma: 0
Posts: 33
IT-Systemelektroniker Azubi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallöchen,

kennt jemand eine Möglichkeit seriell Daten zwischen Arduino und Windows mit Java auszutauschen?

MFG cr0n0s1
Logged

Germany
Offline Offline
Faraday Member
**
Karma: 56
Posts: 2983
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja, die Arduino IDE verwendet    RXTXcomm.jar 
( braucht eine 32 bit jre )
Logged

Germany
Offline Offline
Newbie
*
Karma: 0
Posts: 33
IT-Systemelektroniker Azubi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Kann doch aber auch nicht sein.ich benutz doch die IDE auch unter 64 bit windows 7 mit 64 bit java
Logged

Germany
Offline Offline
Faraday Member
**
Karma: 56
Posts: 2983
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
ich benutz doch die IDE auch unter 64 bit windows 7 mit 64 bit java
smiley-wink sicher ?
64 bit windows 7 und 64 bit java hab ich auch.

Code:
C:\>java -version
java version "1.6.0_25"
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode)

Aber ich habe auch einen Ordner
  C:\arduino-1.0.1\java\bin

Code:
C:\arduino-1.0.1\java\bin>.\java -version
java version "1.6.0_16"
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode)

Und wenn ich die IDE oder den SerialMonitor starte, sehe ich einen javaw.exe * 32

Sollte sich das in Arduino 1.0.3 geändert haben ?

[Edit: nein, hat sich nicht, ist noch die gleiche java version und das gute bewährte RXTXComm.jar von 2006 drin
 Aber: ausser dass du nicht dein default java verwenden kannst, hast du sonst keine Probleme damit.
 Um mit einem 8-bit Prozessor über eine 8-bit serielle Leitung zu reden, reicht auch ein 32-bit Programm.

 Viel Spass
  -- michael x
 
« Last Edit: January 03, 2013, 07:27:13 pm by michael_x » Logged

Germany
Offline Offline
Newbie
*
Karma: 0
Posts: 33
IT-Systemelektroniker Azubi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Alles klar, danke eine schöne Erklärung smiley-wink

Hab immer Internet folgendes gefunden, http://www.cloudhopper.com/opensource/rxtx/, falls man doch mal das ganze unter Windows 64 Bit starten will, aber das nur am Rande.

Kennst du dich mit der RXTXcomm Lib aus? Das senden von Java an Arduino habe ich schon zum laufen bekommen. Jetzt versuch ich allerdings das der Arduino sagen wir mal eine "0" sendet und das Java Programm darauf reagiert. Allerdings scheitere ich momentan daran.

Um ersma einen groben Überblick zu finden arbeite ich nach diesem Code: http://www.mikrocontroller.net/articles/Serielle_Schnittstelle_unter_Java#Einfaches_Beispiel_f.C3.BCr_Daten_empfangen

Mein Fehler den mir Eclipse rauswirft ist:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f77f1e9024d, pid=22530, tid=140153136383744
#
# JRE version: 7.0_09-b30
# Java VM: OpenJDK 64-Bit Server VM (23.2-b09 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [librxtxSerial.so+0x724d]  read_byte_array+0x3d
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/lukas/Eigene Datein/Java/Serial/hs_err_pid22530.log
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
#   https://bugs.launchpad.net/ubuntu/+source/openjdk-7/
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Logged

Germany
Offline Offline
Faraday Member
**
Karma: 56
Posts: 2983
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f77f1e9024d, pid=22530, tid=140153136383744
#
# JRE version: 7.0_09-b30
# Java VM: OpenJDK 64-Bit Server VM (23.2-b09 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [librxtxSerial.so+0x724d]  read_byte_array+0x3d

Tja, Native Code in Java ist gerne ein Problem

Quote
Ich habe 64 bit Java aufgegeben und bin sicher, diesen Beispiel-Link kriegst du auch eher mit einer 32 bit JDK ans Laufen, durch Anpassung an Windows Device Namen wie "COM3:".


Logged

Germany
Offline Offline
Newbie
*
Karma: 0
Posts: 33
IT-Systemelektroniker Azubi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Okay muss wohl erwähnen das ich auf Linux 64 bit umgestiegen bin. Also weisst du auch auf anhieb keine Lösung?

Bzw. kann ich jetzt einfach ein 32 bit java benutzen? Betonung auf einfach smiley-grin
« Last Edit: January 04, 2013, 09:46:57 am by cr0n0s1 » Logged

Germany
Offline Offline
Faraday Member
**
Karma: 56
Posts: 2983
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Okay muss wohl erwähnen das ich auf Linux 64 bit umgestiegen bin. Also weisst du auch auf anhieb keine Lösung?

Bzw. kann ich jetzt einfach ein 32 bit java benutzen? Betonung auf einfach smiley-grin
Oops, hätte ich auch selbst sehen können an
Java VM: OpenJDK 64-Bit Server VM (23.2-b09 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [librxtxSerial.so+0x724d]  read_byte_array+0x3d


Linux - Fans sind bekannt dafür, dass sie sich mal eben den c Quellcode von rxtxSerial besorgen, wenn nötig den Fehler ausbauen und sich die passende 64 bit Version der shared library neu kompilieren.

Danach ist das bisschen Java Code allerdings nicht der Rede wert smiley-wink

Unter 64 bit windows läuft auch 32 bit Code, bei Linux weiss ich nicht, sollte aber eigentlich auch gehen (weil eben doch nicht alle sich mal eben die libraries neu kompilieren)
Logged

Pages: [1]   Go Up
Jump to: