Discussion:
USB Port
(zu alt für eine Antwort)
Patrick Bär
2008-06-05 07:55:01 UTC
Permalink
Hallo,

ich habe jetzt schon viel Zeit mit Suchen verbracht und bin doch nicht
fündig geworden. Ist es tatsächlich nicht möglich, mit C# USB Ports & Geräte
anzusprechen?
Konkret geht es mir um ein Garmin GPS.

Viele Grüße
Patrick Bär
Thomas Griepentrog
2008-06-05 08:56:23 UTC
Permalink
Hallo Patrick,

nach der suche mit google folgendes gefunden:

[DeviceIoControl & USB using Managed C++ & C#]
http://www.programmersheaven.com/search/LinkDetail.asp?Typ=2&ID=11340

[The USB library for .NET]
http://www.icsharpcode.net/OpenSource/SharpUSBLib/default.aspx

Zwar noch nicht weiter angesehen, aber versuchs mal ;)

Thomas
Patrick Bär
2008-06-05 09:18:00 UTC
Permalink
Hallo Thomas,

danke für die Links. Letzteren hatte ich auch schon gefunden, aber das
Projekt zeigt seit 2003 keine Aktivität mehr. Eigentlich bestätigt das nur
meine Vermutung, dass es keinen "offiziellen" oder einfachen Weg gibt, mit C#
USB Ports anzusprechen. Schade.

VG
Patrick
Post by Thomas Griepentrog
Hallo Patrick,
[DeviceIoControl & USB using Managed C++ & C#]
http://www.programmersheaven.com/search/LinkDetail.asp?Typ=2&ID=11340
[The USB library for .NET]
http://www.icsharpcode.net/OpenSource/SharpUSBLib/default.aspx
Zwar noch nicht weiter angesehen, aber versuchs mal ;)
Thomas
Low Choice
2008-06-05 10:47:32 UTC
Permalink
Post by Patrick Bär
meine Vermutung, dass es keinen "offiziellen" oder einfachen Weg gibt, mit C#
USB Ports anzusprechen. Schade.
also ich spreche Hardewar mit .net und über USB an.

in der Regel will man ja nicht den USB-Port sondern ein USB-Gerät ansteuern.
Bei selbst-entwickeler Hardware verwendet man gerne das HID (Human Interface
Device ), das man auch recht gut ansprechen kann.
Sollte es um ein Kauf-Gerät handeln kann man erstmal in der
Systemsteuerung/Hardware nachsehen ob es ein HID-Gerät ist - einfach mal
abziehen und nachschauen ob sich da was tut.
Nun wird man keine Beschreibung haben, wie man das ansteuert. Dazu gibt es
dann USB-Sniffer bzw einen USB-Monitor, womit man mit etwas Geduld die
Funktionen und Adressen ermitteln kann.
Die Ansteuerung kann man durch das importieren der HID.dll in CSharp
einbinden.
[DllImport("hid.dll")]
Dazu gibt es auch schon einiges z.b.:
http://www.codeproject.com/KB/cs/USB_HID.aspx

Ansonsten ist es wohl sinnvoller eine DLL des Geräte-Herstellers zu nutzen
und die Funktionen mit DLLImport in .Net einzubinden.

Ja, soweit das und dann gibt es noch professionelle Möglichkeiten Hardware
über USB zu schalten, da interessiert einen die Schnittstelle garnicht, weil
das die vom Hersteller gelieferten Assemblys machen. Ich spreche hier von
frei zusammensteckbaren Komponenten von z.b. www.Beckhoff.de




begin 666 outlink.gif
M1TE&.#EA#0`*`( ``$Y.3O___R'Y! $```$`+ `````-``H```(:C VIQZ%Y
6'EJ(/1 CA-5QEU&8U8%D,VI7&A0`.P``
`
end
Low Choice
2008-06-05 11:16:16 UTC
Permalink
"Low Choice" <***@gmx.net> schrieb

ein Robert Marquardt hatt sich auch einige Gedanken gemacht und ne gute
Komponente für Win32 gechrieben

http://entwickler-forum.de/showthread.php?t=28550
Thomas Scheidegger
2008-06-05 13:24:14 UTC
Permalink
Hallo Patrick
Post by Patrick Bär
dass es keinen "offiziellen" oder einfachen Weg gibt, mit C#
USB Ports anzusprechen. Schade.
Konkret geht es mir um ein Garmin GPS.
wie schon 'Tobias Hebel' sagte:
<URL:http://groups.google.com/group/microsoft.public.de.german.entwickler.dotnet.csharp/msg/3d7cd6e9cd112200>

die meisten GPS bieten eine virtuelle serielle Schnittstelle über USB.

Wäre dann also ab .NET 2.0 direkt ansprechbar per zB:
System.IO.Ports.SerialPort
Dazu (typ NMEA Protokoll) finden sich wohl dutzende C# Bsp/Libs.
--
Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/
Low Choice
2008-06-05 13:56:12 UTC
Permalink
oder bei Obi

http://www.codeproject.com/KB/mobile/speaking_garmin.aspx

Tobias Hebel
2008-06-05 08:55:41 UTC
Permalink
Post by Patrick Bär
ich habe jetzt schon viel Zeit mit Suchen verbracht und bin doch nicht
fündig geworden. Ist es tatsächlich nicht möglich, mit C# USB Ports & Geräte
anzusprechen?
Konkret geht es mir um ein Garmin GPS.
Hi,

zu der Frage selbst kann ich Dir leider nichts sagen, da ich mich mit
.NET und C# noch nicht beschäftigt habe. Allerdings erzeugen alle GPS
Empfänger, die ich bis jetzt getestet habe, einen virtuellen seriellen
Port, den man dann ganz einfach mit Bordmitteln ansprechen kann...

Schau mal im Gerätemanager nach, ob da eine serielle Schnittstelle dazu
kommt, wenn Du das Gerät einsteckst.

mfg
Tobias
Loading...