Usb api

flowlo

Mitglied
Hey, ich bin auf der Suche nach einer guten USB API für Java. Die sollte möglichst auch ein paar Schnittstellen zu LowLevel Funktionen bieten, da ich Microcontroller programmieren möchte.

Mein erster Fund war jUSB, welches allerdings usbdevfs benötigt, was wiederum von meinem Kernel nicht unterstützt wird (Ist das nicht schon veraltet?).

Alternativen?

Danke für eure Hilfe,
flowlo
 

mabuhay

Bekanntes Mitglied
Hallo

Ich kenn noch RXTX. Soviel ich weiss haben wir das mal in einem Java Projekt verwendet (mit Mikrocontroller und FTDI-chip). Soviel ich weiss läufts auch unter linux, wenn mit FTDI-Treiber. Ich sehe gerade es gibt sogar eine HOWTO für linux

mfg
 

flowlo

Mitglied
Im RXTX-Wiki finde ich nur Beispiele für den Standard Serial- und ParallelPort.

Könntest du mir ein Beispiel für den USB Access in Form von (Pseudo/Java)Code geben?

Danke
 

mabuhay

Bekanntes Mitglied
Achso... Über "Projects" auf der rxtx Webseite komm ich dann auch auf jUSB.

Ich bin mir aber sicher dass wir eine direkte USB verbindung hatten, also keinen Konverter zu serial port oder so. Könnte evtl sein dass mit dem einsatz des richtigen Treibers die USB-Schnittstelle als serielle Schnittstelle verwendet werden kann. Möglicherweise lief es schlussendlich auch nur auf Windows wegen treiber oder irgendwelchen dll's. Ist eben schon 2 Jahre her...

Ich habe gerade das Projekt gefunden und so wies aussieht wurde einfach die CommApi verwendet. Im Projekt sehe ich die win32com.dll, also warscheinlich wirklich nur für Windows.

Also im moment habe ich auch keine Idee wies geht, hab damals auch nicht selbst programmiert. Wenn es aber möglich ist die USB-Schnittstelle irgenwie als Serial-Port zu verwenden würds ja funktionieren.

mfg
 

mabuhay

Bekanntes Mitglied
Also, hat mich selbst gerade interessiert und hab noch nachgefragt und ein wenig recherchiert.
In einem neueren Projekt wird CDC-ACM verwendet, die USB-Schnittstelle wird auf der Hostseite also als serielle Schnittstelle abstrahiert. Irgendwie ist es dann auch möglich zwei Kanäle über USB zu führen, wie genau das dann funktioniert weiss ich aber nicht :p

So wies aussieht läuft es auch unter Linux, der Link den ich oben gepostet habe führt aber zu einem Kostenpflichtigen Treiber (ein paar tausend Euro!!). Nach diesem Artikel ist bei Linux aber schon was im Kernel, auch
Code:
sudo modprobe cdc-acm
funktioniert.

Hast du schon was herausgefunden? Wenn ich noch mehr über den verwendeten Treiber und die Anwendung erfahre werde ich mich nochmals melden.

[EDIT] Hab auch noch die Projektseite gefunden: gibt also einen Standardtreiber in Windows, Linux und Mac

mfg
 

Neue Themen


Oben