Forum: PC-Programmierung VB FTDI Informationen & COM-Port


von S. M. (erfindix)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche seit Tagen eine Möglichkeit zu finden, wie ich bei einem 
FT232-Treiber ChipID und den virtuellen COM-Port in VB identifiziere. 
Hintergrund ist der, dass ich zwei FTDI-Treiber an dem gleichen PC 
nutzen möchte und das Programm automatisch Seriennummer und den 
jeweiligen COM-Port herausfindet und zuordnet.
Angelegt an das Projekt von Parralax, lese ich bereits Seriennummer, 
Beschreibung, LocationID und ChipID aus. Zusätzlich kann ich bei den 
Anschlüssen die aktiven Ports einlesen und die Beschreibung zuordnen. 
Bisher lese ich öfters, dass es über WMI möglich sei, habe hier aber 
bisher kein Programm zum Laufen bekommen

FTDI-Treiber lesen über:
FTChipID.dll
FTChipIDNet.dll
-- FTChipID.ChipID.xxx

COM-Ports mit:
-- ManagementObjectSearcher

Kenn hier jemand eine Möglichkeit, den virtuellen COM-Port zum 
jeweiligen FTDI Treiber zuzuordnen ?

Danke

Projekt von Parallax:
https://forums.parallax.com/discussion/118247/how-to-get-the-serial-number-and-more-from-an-ftdi-chip

: Bearbeitet durch User
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

S. M. schrieb:

> Kenn hier jemand eine Möglichkeit, den virtuellen COM-Port zum
> jeweiligen FTDI Treiber zuzuordnen ?

Man benutzt ein Win32-API, was Microsoft für solche Zwecke vorgesehen 
hat. Das von dir selber genannte WMI ist eine Möglichkeit, eine andere 
das Setup-API.

Beides funktioniert einwandfrei. Man muss es halt bloß richtig benutzen.

Beides ist mit VB.net relativ aufwendig. Sehr viel deklarative Arbeit. 
Man sollte auch bereits über recht gute Kenntnisse bezüglich des 
Marshalling verfügen, bevor man sich da ranwagt.

Meine Lösung (basierend auf dem Setup-API) hat ungefähr 850 Zeilen. Nur, 
damit du eine Vorstellung bekommst.

Für die konkrete Anwendug könnte man aber sicher noch einiges 
"eindampfen". Aber ich denke mal, so ungefähr 4..500 Zeilen würden auch 
bei so einer Speziallösung noch über bleiben.

Beitrag #7567107 wurde vom Autor gelöscht.
von S. M. (erfindix)


Angehängte Dateien:

Lesenswert?

Hatte es jetzt mal mit verschiedenen Ansätzen versucht. Hiermit klappt
es jetzt und der Code ist dabei noch nicht mal so lang :)
Unter Caption und DeviceID ist alles zu finden und sogar noch mehr.
Caption: USB Serial Port (COM16)
DeviceID: FTDIBUS\VID_0403+PID_6001+AH06IFVIA\0000
Mit InStr noch den String an der richtigen Stelle kürzen und schon hat
man
COM16 & AH06IFVIA

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

S. M. schrieb:

> Hiermit klappt
> es jetzt und der Code ist dabei noch nicht mal so lang :)

Also WMI. Aber: was liefert das, wenn der "gesuchte" Adapter gerade 
nicht angeschlossen ist, aber eine eindeutige Serial besitzt? Hast du 
das mal ausprobiert?

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.