Forum: PC-Programmierung Mit Java per USB/RS232 auf AVR Controller zugreifen?


von Andi (beefi)


Lesenswert?

Hi Leute,

ich habe früher Jahre lang Visual Basic 6 programmiert und möchte seit 
langer Pause der PC-Anwendungsprogrammierung wieder eine neue Sprache 
lernen.

Mein Vorhaben ist in erster Linie, Bedienprogramme zu schreiben, mit 
denen ich auf meine AVR-Projekte zugreifen kann...Datenaustausch mit dem 
Microcontroller und Auswertung am PC.

Ich würde gerne auf die Microsoft-Methode mit den Frameworks verzichten 
(also kein VB.Net oder C#). Ich kann zwar die Sprache C, aber das ist 
mir dann doch nicht genug für eine PC-Anwendung. Deshalb dachte ich an 
JAVA.

Da ich aber schon oft gelesen habe, dass USB unter JAVA nicht oder nur 
eingeschränkt möglich ist, wollte ich euch nochmal fragen, bevor ich mir 
die Sprache anlerne und zum Schluss feststellen muss, dass mein Vorhaben 
damit gar nicht möglich ist :)

Kann ich mit einem JAVA Programm per RS232-Schnittstelle auf die UART 
zugreifen? Oder noch besser: Kann ich per USB auf einen AVR-Controller 
zugreifen? (entweder per USB-UART-Adapter oder AVR mit integriertem 
USB-Anschluss)
Also beide Methoden sind mir wichtig...direkter zugriff auf COM-Port und 
direkter Zugriff auf USB (nicht auf Dateien wie zb auf einem USB-Stick).

Ich freue mich sehr über Unterstützung.

Liebe Grüße,
Andi

von Dead D. (dead_d)


Lesenswert?

Stichwort: RXTX

http://rxtx.qbang.org/wiki/index.php/Main_Page

Dort bekommst du das was du suchst.

von Frank (Gast)


Lesenswert?

Bestes Anwendungsbeispiel ist die Arduino-IDE, die ist in Java 
geschrieben. Keine Ahnung, ob man davon die Sourchen bekommen kann ...

von Andi (beefi)


Lesenswert?

Hi, wow das ging aber schnell :)
Also RXTX scheint genau das zu sein, was ich suchte...vielen Dank.
Die Lösung mit RXTX dürfte dann auf Windows und Linux ohne 
Quellcodeänderungen funktionieren, oder?

Gibt es auch noch eine Lösung für USB? Also ohne Umweg über einen 
RS232-USB-Adapter...sondern direkt für einen AVR mit integriertem 
USB-Interface.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Andi R. schrieb:
> Also ohne Umweg über einen
> RS232-USB-Adapter...sondern direkt für einen AVR mit integriertem
> USB-Interface.

Hängt von der auf dem AVR laufenden USB-Software ab. Wenn die z.B. ein 
CDC implementiert, kannst Du wieder RXTX nutzen. Ansonsten müsstest Du 
mal nachsehen, ob es ein Java-Binding für libusb gibt.

von Christopher C. (Gast)


Lesenswert?

Andi R. schrieb:
> Ich würde gerne auf die Microsoft-Methode mit den Frameworks verzichten
> (also kein VB.Net oder C#). Ich kann zwar die Sprache C, aber das ist
> mir dann doch nicht genug für eine PC-Anwendung. Deshalb dachte ich an
> JAVA.
Also doch Framework Methode.

von Andi (beefi)


Lesenswert?

Christopher C. schrieb:
> Andi R. schrieb:
>> Ich würde gerne auf die Microsoft-Methode mit den Frameworks verzichten
>> (also kein VB.Net oder C#). Ich kann zwar die Sprache C, aber das ist
>> mir dann doch nicht genug für eine PC-Anwendung. Deshalb dachte ich an
>> JAVA.
> Also doch Framework Methode.

Naja, so ne Art :)
Eigentlich finde ich die .Net-Programmierung schon nicht schlecht, aber 
ich finde das System der einzelnen voneinander unabhängigen Versionen 
nicht so toll. Man braucht Framework 2-4 einzeln für Anwendungen die 
jeweils darin programmiert sind, welche auch wieder hunderte von MB 
Updates mitliefern.
Bei Java gibt es die Runtime mit 30-40 MB und gut is...soweit es mir 
bekannt ist, ist hier die Runtime auch abwärtskompatibel zu älteren 
Anwendungen.

Als ich früher intensiv Programmierte (bis Visual Studio 6), da packte 
ich einfach meine Laufzeitbibliotheken mit zur Installation (weniger als 
5 MB) und das Programm lief von Windows 95 bis XP einwandfrei :)

Bestes Beispiel: AVR Studio...relativ kleine Installationsdatei und 
fertig...es läuft. Beim Atmel Studio muss man wieder hunderte von MB 
installieren (ich glaube bei mir waren es so um die 2 GB!!!), damit man 
eigentlich ein kaum besseres Programm zum laufen bringt. Zudem läuft es 
grottenlahm.

So wie ich es von früher kenne, wird es nur noch mit nativer 
Windows-Programmierung mit C++ sein oder?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.