Frage

Ich bin mit rxtx api Daten von einem GPS-Gerät über ein COM-Port zu lesen. Im Moment bin ich der Suche nach den richtigen COM-Port durch eine Konfigurationsdatei zu lesen und suchen den Anschluss aufgeführt. Das Problem, das ich habe, ist, dass, wenn das Gerät des COM-Port eingesteckt ist ändern könnte dann der Benutzer muss wissen, die Konfigurationsdatei zu ändern. Ich schrieb eine App ähnlich wie dies in c # und konnte die Fenster Gerätenamen statt dem COM-Port zur Liste und ich radelte durch den COM-Ports, bis die Gerätenamen den Namen in der Konfigurationsdatei angepasst. diese Methode nichts in der Config-Datei hat, auch wenn das COM-Port verwendet, um Veränderungen zu sein ändern. Gibt es eine Möglichkeit, dass mit dem rxtx api zu tun?

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Wenn jemand interessiert ist ...

Ich habe einen Windows-Dienst in C #, die eine Buchse überwacht. Wenn ein Client auf diesem Sockel verbindet sammelt der Dienst-Anschlussname und Geräte-ID, die an diesem Port ist und sendet die Daten in einen String über den COM-Port kann der Kunde dann die Zeichenfolge analysieren auseinander, um die Daten zu erhalten sie braucht.

In meinem Fall die Zeichenfolge übergeben werden, ist: "ACPI \ PNP0501 * PNP0501, COM1, PCI \ VEN_8086 & DEV_29B7 & SUBSYS_02111028 & REV_02 PCI \ VEN_8086 & DEV_29B7 & SUBSYS_02111028 PCI \ VEN_8086 & DEV_29B7 & CC_070002 PCI \ VEN_8086 & DEV_29B7 & CC_0700, COM3, USB \ VID_067B & Pid_2303 & Rev_0400 USB \ VID_067B & Pid_2303, COM5"

Wenn ich es analysieren kann ich sehen, dass ACPI \ PNP0501 * PNP0501 die Geräte-ID 1 für COM ist, gibt es drei Geräte-ID des für COM3 ist, und zwei Geräte-IDs auf COM5.

Dies ist vielleicht nicht der beste Weg, dies zu handhaben, aber es ist gut genug für meine Bedürfnisse, und es hat mich gerettet von JNI. :)

Andere Tipps

CommPortIdentifier.getPortIdentifiers listet alle Ports in dem System, das von der JavaComm API verwendbar ist. Durchlaufen sie den Hafen finden Ihr Gerät verbunden ist.

Wenn Sie den Namen mit dem Gerät auf dem COM-Port zugeordnet bekommen mögen (vor allem, wenn ein Treiber installiert ist, zur Verfügung zu stellen), werden Sie so mit einem smidge der gefürchteten Java-> Native Interface zu tun haben, zu sprechen auf die Windows-APIs, die diese Informationen zu sammeln. C # ist schön, dass diese Informationen gesammelt und zur Verfügung gestellt, aber in Java haben Sie diesen zusätzlichen Schritt gehen.

Windows-Funktion Entdeckung kann als nützlich erweisen . Ich bin nicht sicher genau das, was API diese Funktionalität bereitstellt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top