Zum Inhalt springen

Zugriff auf serielle Schnittstelle


Empfohlene Beiträge

Geschrieben

Hallo zusammen,

Ich brauche eine Möglichkeit mit Java auf die serielle Schnittstelle zuzugreifen. Ich habe es mit der comm-API von Sun versucht und zwar mit folgendem Code:



Enumeration portList;
portList = CommPortIdentifier.getPortIdentifiers();

while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
// if (portId.getName().equals("COM1")) {
if (portId.getName().equals("/dev/term/a")) {
SimpleRead reader = new SimpleRead();
}
}
}
[/PHP]

Dummerweise ist die portList in diesem Beispiel immer leer und ich weiß nicht an was es liegen könnte.

Zu meinem Vorhaben:

Ich habe einen mobilen BarcodeScanner der die eingelesenen Scan zwischenspeichert. Dieser wird später an den Rechner angeschlossen und soll dort ausgelesen werden. Verbunden wird der Scanner über den seriellen Port am Rechner. Jetzt benötige ich eben eine Möglichkeit auf die Daten des Scanners zuzugreifen.

Läßt sich das mit der Java NIO irgentwie machen, denn die comm-API scheint nicht zu funktionieren, oder ich verwende sie nur falsch (habe allerdings auch die zugehörigen Samples ausprobiert, welche auch nicht funktionierten.)

Wer kann mir weiterhelfen?

danke

markus

Geschrieben
Dummerweise ist die portList in diesem Beispiel immer leer und ich weiß nicht an was es liegen könnte.
AFAIK benötigt javacomm noch native Libraries, um richtig zu arbeiten. Hast du die DLL/.SO auch mit eingebunden?

Läßt sich das mit der Java NIO irgentwie machen
Nein, lässt sich nicht.

Direkter Zugriff auf Hardware (nichts anderes ist die serielle Schnittstelle) erhältst du nur über Zusatz-Packages, und das einzige wirklich funktionierende, was mir bekannt ist wäre auch javacomm.

Geschrieben

Ich war eigentlich der Meinung es so gemacht zu haben, wie es in der Beschreibung stand, aber ich werde das nochmal durchgehen. Trotzdem danke.

Ich melde mich wenn es was neues gibt.

Geschrieben

win32com.dll in c:/programme/java/jdk1.5.0/bin kopiert

comm.jar+javax.comm.properties in c:/programme/java/jdk1.5.0/lib

Danach habe ich in Eclipse die comm.jar als externe Jar-Datei in mein Projekt eingebunden und das Sample SimpleRead getestet. Folge war, dass keine Elemente in CommPortIdentifier.getPortIdentifiers(); waren.

Was mache ich falsch?

Geschrieben

Das Problem besteht immer noch. Und ich finde meinen Fehler nicht.

Weiß keiner mehr darüber?

Java gibt mir auch keine Fehlermeldung oder ähnliches. Nur wenn ich explicit sage "Öffne COM1" bringt er die Meldung "Port not found"

Ich weiß nicht mehr weiter.

Gruss

markus

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...