Avatar billede madsens90 Praktikant
05. august 2010 - 11:27 Der er 49 kommentarer og
1 løsning

Tilegn en com port til usb port?

Hej Eksperter!

Fandt ud af det var ret svært at beskrive mit problem i overskriften!
Jeg er ved at programmerer et program som kan modtage infrarøde signaler, og vise dem, men den eneste kode jeg har stødt på nogen stedet, vil gøre dette via en com port.
Men da jeg modtager de infrarøde signaler via usb, er den ikke på com port. Hvordan tilegner jeg en com port til mit usb stik?

Håber i forstår! :)

- Christian / Madsens90
Avatar billede js_delphi Nybegynder
05. august 2010 - 11:35 #1
Det lyder som om, du skal lave en virtuel COM port.
Soeg paa Google med:
C# virtual com port
Avatar billede madsens90 Praktikant
05. august 2010 - 12:06 #2
Har allerede forsøgt at søge på præcis den linje.
Men de få programmer jeg ender op med, laver kun en virtuel serial port som man kan sende data ud på, men ikke en port som virtuelt er forbundet til min usb port. desværre..

Kan heller ikke finde en C# kode som laver en virtuel serial port, og forbinder til usb.

Håber du evt. har tid til lidt mere hjælp vedr. at finde noget der kan lave det link imellem en virtuel serial port, og mit usb infrarøde stik. :)
Avatar billede madsens90 Praktikant
06. august 2010 - 11:55 #3
Nogen der har et bud?
Er helt på bar bund, og er ved at give op, selvom at jeg rigtig rigtig gerne vil have det til at virke.
Avatar billede Syska Mester
06. august 2010 - 12:02 #4
Kig her:
http://www.eksperten.dk/spm/885049

Mit bedste bud, lyder som det næsten samme emne.

mvh
Avatar billede madsens90 Praktikant
06. august 2010 - 12:30 #5
Hej buzzzz. :)
Tråden du sendte virkede fin nok, men linket som bliver givet i tråden til noget kode som kan forbinde usb og C#, kræver at man logger ind på en side som jeg ikke kan få adgang til..

Har haft utallige mængder af software installeret på min computer nu, som jeg har installeret i håb om at de kunne tildele en com port til min USB port. Men uden held på samtlige software.

Hvis der er nogen der læser det her, og ligger inde med sådan noget software, så skynd jer at kom med det inden jeg går helt amok! :D

Jeg hader stop klodser som denne når jeg har en fed idé til noget!
Avatar billede Syska Mester
06. august 2010 - 13:10 #6
Ja, du kan sikkert godt få software som kan det, men kræver måske du betaler ... :-)

Men det var i hvert fald eneste løsning jeg lige havde. Du må få probducenter at dit hardware til at lave et .NET API.

mvh
Avatar billede madsens90 Praktikant
06. august 2010 - 14:08 #7
Jeg må bare lede videre så. :)
Tvivler meget stærkt på at de gider have noget som helst med det at gøre. :P

Giver nok snart op med mit projekt.
Avatar billede Syska Mester
06. august 2010 - 14:18 #8
Så må du da endelig poste ideen, måske nogen andre så kan lave det i f.eks C/C++.
Avatar billede madsens90 Praktikant
06. august 2010 - 14:43 #9
Jamen mangler simpelthen bare et stykke software som kan tildele en usb port en virtuel com port. :D

Kan ikke forstå hvorfor det er så umuligt at finde, og jeg kan ikke lave det selv.

Håber stadig på at der kommer en som ser jeg har brug for hjælp, og redder mit liv. :P
Avatar billede heinzdmx Nybegynder
07. august 2010 - 20:20 #10
Muligvis den her kan hjælpe?
http://www.lvr.com/usb_virtual_com_port.htm

Der er meget forklaring, men i bunden er der en knap:
"CDC firmware" der linker til
http://www.lvr.com/serport.htm#my_example_code

Der angiveligt indeholder:
"The .NET Framework V2.0 and higher include the SerialPort class for accessing COM ports, including USB Virtual COM Ports."
Avatar billede madsens90 Praktikant
09. august 2010 - 09:56 #11
Hej Heinzdmx! :)
Mange tak for din tid!
Desværre er det kun hvordan man connecter til en COM port, og det har jeg allerede lavet et program der kan. Problemet består i at jeg ikke har en com port at connecte til, fordi at mit USB stik endnu ikke at fået tilegnet en virtuel COM port.

Jeg har lige nu fundet en program ved navn IrCOMM2k der kan lave en virtuel COM port, men den laver kun com porten. Den forbinder den ikke med mit infrarøde usb stik.
Avatar billede heinzdmx Nybegynder
09. august 2010 - 14:51 #12
For lige at tage det helt overordnet, hvad med at skrive hvilket usb-stik du lige arbejder med, model og mærke?
Avatar billede heinzdmx Nybegynder
09. august 2010 - 15:17 #13
Forresten. CodeProjekt koster ingen penge. Du skal godt nok registrere for at kunne hente men, men udover det er der ingenting i det.

Her er et link til filen, jeg har uploadet.

https://sites.google.com/site/heinzdmx/njj
Avatar billede madsens90 Praktikant
09. august 2010 - 15:58 #14
Hej igen. :)

Bag på stikket står der:

Compro Technology, Inc.
USB IR Receiver
P/N: 7GA21001E33
S/N: 5102981026001
Made In Taiwan

(Bare for lige at skrive alt hvad der står, så ingen er i tvivl. ;))

I Enhedshåndteringen hedder USB enheden:
eHome Infrarød modtager (USBCIR)

Og i Enhedshåndteringen under HID enheder / Brugerstyrede enheder, hedder enheden:
Microsoft eHome Infrarød transceiver

Noget af det software jeg har fundet, har jeg haft nogle problemer med drivere osv, pga af at jeg har windows 7 på min arbejds computer. Vil forsøge at installerer en Virtuel XP Pro når jeg kommer hjem, og ser om noget som helst virker bedre der. :)
Avatar billede heinzdmx Nybegynder
09. august 2010 - 18:32 #15
Når nu den har et HID interface, hvad så med at kode op imod det?

http://www.lvr.com/hidpage.htm

Der er kildekode til at gøre nogen ting i det for nogle forskellige sprog inkl. C#

Desuden vil jeg kigge på den den projekt fra codeprojekt.

Kig på det link jeg har sendt for et link til download, uden at skulle registrere.
Avatar billede madsens90 Praktikant
10. august 2010 - 13:53 #16
Hej heinzdmx. :)

Det ser ud til at det er en del nemmere når man bruger HID interfaces i stedet, men jeg er stødt på et problem der.

Man skal i det program du sendte link til første gang, og i det software man kan lave ud af det der står på www.lvr.com/hidpage.htm bruge 2 ting.
1: vid
2: pid

det er lykkedes mig at skrabe nogle programmer sammen der kan se de 2 ting på tilsluttede USB enheder, og HID enheder, og har fundet ud af hvordan man kan se det i enhedshåndteringen.
Min ved mit infrarøde USB stik, i stedet for et VID nummer og et PID nummer som kunne se sådan ud:
vid_023d&pid_024d
så står der:
irdevicev2&col01

og mit infrarøde stik har åbenbar alle de her:
irdevicev2&col01
irdevicev2&col02
irdevicev2&col03
irdevicev2&col04
irdevicev2&col05
irdevicev2&col06
irdevicev2&col07
irdevicev2&col08

Håber du ved hvad jeg skal/kan gøre! Er lost uden din hjælp!

På forhånd... TAK!
Avatar billede madsens90 Praktikant
10. august 2010 - 13:55 #17
Ps. VID og PID er Vendor ID og Product ID. :)
Avatar billede heinzdmx Nybegynder
10. august 2010 - 14:33 #18
Har du kigget på Overordnet i droplisten?
Der er forskellige visninger der kan give dig den information.

Min mus får:
VID: 046D
PID: C518
Avatar billede heinzdmx Nybegynder
10. august 2010 - 14:34 #19
Eller hardware id
Avatar billede heinzdmx Nybegynder
10. august 2010 - 14:42 #20
Avatar billede madsens90 Praktikant
10. august 2010 - 15:02 #21
Hej igen heinzdmx. :)
Har kigget i både Overordnet og Hardware id.
I overordnet, står der intet brugbart.
i Hardware Id står der:

CIRCLASS\IrDeviceV2

Kan godt få VID og PID frem på min mus også, og kan også godt connecte til den (selvom jeg ikke kan finde ud af at modtage noget data), men med de programmer hvor jeg kan få et VID og PID på mit Infrarøde USB stik, der kan jeg ikke connecte via C#, fordi den siger der ikke findes noget med det VID og PID.

I det link du sendte, kan jeg ikke finde noget jeg kan få til at hænge sammen. :D
Avatar billede madsens90 Praktikant
10. august 2010 - 15:21 #22
Programmet jeg bruger til at tjekke VID og PID på mine HID enheder, hedder HIDtest, og har lagt det på min FTP.

http://shax.dk/HidTest.exe
Avatar billede heinzdmx Nybegynder
10. august 2010 - 15:39 #23
Er lige stødt på den her side:
http://labs.mikeobrien.net/Document.aspx?id=hidlibrary

Det ser ud til at indeholde et .NET lib til HID devices, med indbygget enumerater osv.

Prøv at kigge på det
Avatar billede madsens90 Praktikant
10. august 2010 - 16:29 #24
Hej Heinzdmx. :)

Sidder og kigger på det sidste link du sendte, og har hentet det .NET lib ned der lå der, og sidder og roder med det nu.

Men uanset hvad, så siger den at mit usb stik ikke er connected.

hmm.. prøver at kigge lidt mere på det når jeg kommer hjem om en halv times tid.
Avatar billede madsens90 Praktikant
10. august 2010 - 17:57 #25
Nu har jeg siddet og leget med det rigtig længe, men når jeg forsøger at læse fra min enhed, "hænger" programmet bare, og jeg er nød til at lukke det ned.. what to do? :S
Avatar billede heinzdmx Nybegynder
10. august 2010 - 18:31 #26
Hvilken kode giver problemet?

Prøv med breakpoints og se hvornår den hænger?
Avatar billede madsens90 Praktikant
10. august 2010 - 18:45 #27
Den hænger på:

HidDevice.Read();

Her er koden som kører på en timer der har et interval på 2000:

        private void run_receive_Tick(object sender, EventArgs e)
        {
            try
            {
                InData = HidDevice.Read();
            }
            catch (Exception e2)
            {
                MessageBox.Show(e2.ToString());
            }

            for (int i = 0; i < InData.Data.Length; ++i)
            {
                receive_text.Text += "Byte " + i + ": " + InData.Data[i];

            }
        }
Avatar billede madsens90 Praktikant
10. august 2010 - 18:48 #28
Jeg har forresten i allerede åbnet forbindelsen, og tjekket at forbindelsen er åben. :)
Avatar billede heinzdmx Nybegynder
10. august 2010 - 19:03 #29
du har vel ændret følgende:

// Enumerate the devices with the Vendor Id
// and Product Id of the IT4600
HidDeviceList = HidDevices.Enumerate(0x0536, 0x0207);

Så det er tilpasset din enhed?? ellers vil den jo bare søge efter en HHP IT4600 Scanner (som det er koden der referere til)...

Så fik du altså løst det med det rigtige PID og VID??

ellers tror jeg du kan finde det i programmet:
msinfo32.exe

Under componenter -> infrarød

Jeg har ikke selv en infrarød port på min com, så kan ikke teste det, men det virker ved min mus og tastatur... prøv
Avatar billede madsens90 Praktikant
10. august 2010 - 19:15 #30
Yeps. Fandt det rigtige PID og VID. :) De vidste sig at dem jeg kunne finde frem til via det software jeg havde liggende, og det som jeg lagde op på min FTP, godt kunne bruges, man skulle bare lige give det lidt længere tid til at connecte, og lavede en Thread.Sleep(2000).

Skal bare kunne læse dataen nu, og så finder jeg selv ud af resten, men ved at det virker hvis jeg kan læse det data den modtager. :)

HidDeviceList = HidDevices.Enumerate(0x045e, 0x006d);

sådan ser min ud nu.
Avatar billede heinzdmx Nybegynder
10. august 2010 - 19:22 #31
Du sidder vel ikke på en 64 bit computer vel??

det virker det lib nemlig ikke :(

Hvis du gør, kan jeg fortælle at det ser ud til at han er ved at lave en rewrite af koden så den virker til 64 bit, sidste kommentar skrevet er fra April.. så det ser ud til at det er noget der godt kan komme inden 100 år i fremtiden.
Avatar billede madsens90 Praktikant
10. august 2010 - 19:26 #32
Jeg har en 64 bit maskine, men et 32 bit operativ system. :)

Så det burde virke ikke?
Avatar billede heinzdmx Nybegynder
10. august 2010 - 19:31 #33
Jep, så burde det jo virke...

prøvet at kigge på de andre eksempler på:
http://hidlibrary.codeplex.com/releases/view/26442

Der er noget til en gamepad, kortlæser, og generelle eksempler står der
Avatar billede heinzdmx Nybegynder
10. august 2010 - 19:34 #34
Hvis du har problemer har jeg fundet en anden HID driver <b>igen igen :/</b>

http://www.florian-leitner.de/index.php/2007/08/03/hid-usb-driver-library/

Den har også en nogenlunde lige til måde at gøre tingene på. Er en mulighed hvis du ikke kan få den anden til at virke på.
Driveren der bliver brugt er linket til i bunden, men ellers er her et link:
http://code.google.com/p/csharp-usb-hid-driver/
Avatar billede madsens90 Praktikant
10. august 2010 - 21:22 #35
Hej igen. :)
Nu har jeg bogstavelig talt hele dagen prøvet at få det til at virke, og det vil stadig ikke.

Jeg gik midlertidligt over til de nye links du sendte, men de bruge samme libary som nogle jeg forsøgte tidligere med, og det ville ikke virke der, og desværre heller ikke nu.

Så nu gik jeg tilbage til der hvor jeg var for nogle timer siden. ;)

Dvs. der hvor jeg "sidder fast" på:
HidDevice.Read();

Er gået tilbage til den, fordi at der er jeg i det mindste sikker på at den kan se mit infrarøde usb stik, og at den kan connecte successfuldt. :)

Jeg har læst et sted at det muligvis kan have noget at gøre med at den skal læse en bestemt mængde data, før den udskriver read();

Der er en funktion der hedder:
ReadCallback();
Har du en idé til hvad det er? Kan ikke ummidelbart se det nogen steder.

Hvis der er tvivl om hvad jeg er gået tilbage til, er det denne side:
http://labs.mikeobrien.net/Document.aspx?id=hidlibrary

Tak for hjælpen heinzdmx! Du er virkelig til stor hjælp! Havde aldrig kommet så langt som jeg er nu uden hjælp :)
Avatar billede heinzdmx Nybegynder
10. august 2010 - 21:35 #36
Ifølge denne tråd:
http://hidlibrary.codeplex.com/Thread/View.aspx?ThreadId=215791

Så giver:
device.write(data , writeCallback)
<i>the callback reports that it's unsuccessful. </i>

det virker til det er en funktion der bliver kaldt med en form for error code, om det er lykkedes eller ej at læse det.

Jeg vil lige som en sige, jeg har ingen erfaring med HID interfaces, men lærer gerne af det, så det er sådan set også en måde for mig at lære noget nyt på :D En af grundende til jeg bruger eksperten.
Avatar billede madsens90 Praktikant
10. august 2010 - 21:40 #37
har endnu ikke turde stille spørgsmål til hvorfor du hjælper mig. :D haha

Jeg forsøger lige at kigge mere til ReadCallback så. :)
Avatar billede heinzdmx Nybegynder
10. august 2010 - 22:38 #38
En tanke, kan det være muligt at der er en eventhandler du kan registrere dig på, som bliver kaldt når der er nye data?

Ved godt det eksempel ikke giver det, men det kunne være noget andet i det gør?
Avatar billede madsens90 Praktikant
11. august 2010 - 00:21 #39
Først om fremmest: WOW DET ER BESVÆRLIGT!

Jeg vil så gerne have det til at virke, at jeg endnu ikke har givet op, og jeg ved ikke engang om det vil virke, når jeg har får det her til at virke med Infrarød fra USB, men det kunne være SÅ sejt! :)

I denne her .NET lib er der ikke en eventhandler til at registrerer data.
Avatar billede heinzdmx Nybegynder
11. august 2010 - 00:27 #40
Hmm.. Alternativt kan du lave en tråd med et mere sigende emne.

Det er jo ikke ligefrem fordi din hovedopgave er at lave en virtuel com port.

Men mere at forbinde til din infrarøde HID enhed...
Så i den nye tråd kan du henvise til den her for ting der er gennemgået
Avatar billede madsens90 Praktikant
11. august 2010 - 00:33 #41
Jeg tvivler meget stærkt på at der er andre end dig der vil hjælpe mig med det her, men jeg kan da gøre forsøget. ;)
Forsøger i morgen tror jeg. :D
Avatar billede Syska Mester
11. august 2010 - 00:49 #42
hah,

Tror de fleste har læst den, og de får jo ikke mails om hvad retning udviklingen i tråden er gået :-)

Men jeg har da læst med *heheh*, netop som "heinzdmx" også for at lære noget af det.

mvh
Avatar billede madsens90 Praktikant
11. august 2010 - 08:46 #43
buzzzz, syntes du at jeg skal lave en ny tråd, der forklarer det nye problem da?

Vil lige sige til alle der læser at jeg har et program installeret der hedder Device Monitoring Studio, og det er bare en trial installation jeg har installeret. Men med det program kan jeg "overvåge" mit USB Infrarøde stik og rent faktisk SE at den modtager pakker når jeg bruger min infrarøde fjernbetjening! Pakkerne er godt nok ulæselige, men jeg har ikke haft tid til at sætte mig ind i hvordan de ser ud endnu! :)
Så jeg ved det kan lade sig gøre at få det til at virke! Nu skal jeg bare få det til at virke også!! :D
Avatar billede Syska Mester
11. august 2010 - 12:01 #44
Jeg ville oprette et nyt spørgsmål.

Emnet har skiftet 100% retning, hvis du altså fortsætter i HID retningen.

mvh
Avatar billede madsens90 Praktikant
11. august 2010 - 12:25 #45
Jeg har nu fået lavet dette spørgsmål:

http://www.eksperten.dk/spm/916086

Så derfor lukker jeg den her tråd, men jeg håber MEGET på at i kommer over i min nye tråd og følger med, og evt kommer med idéer. :)

- Christian

ps. TAK FOR HJÆLPEN!
Avatar billede Syska Mester
11. august 2010 - 12:42 #46
Jeg ville så nok have givet: heinzdmx point for hans detagelse her, hvis du mener han har bidraget med noget.
Avatar billede madsens90 Praktikant
11. august 2010 - 12:54 #47
Jeg tænkte at han nok ville følge med i det nye spørgsmål, og så få point der. :)

Havde skam ikke tænkt mig ikke at give ham point! :)
Avatar billede madsens90 Praktikant
11. august 2010 - 12:56 #48
Heinzdmx, jeg åbner gerne et spørgsmål med point til dig, hvis du føler dig snydt!
Det var ikke for at snyde nogen at jeg lukkede her. Jeg er sådan set ligeglad med point, så hvis du gerne vil have dem, er du mere end velkommen. :)
Avatar billede heinzdmx Nybegynder
11. august 2010 - 13:06 #49
Ikke for at være besværlig, men syntes jo der er sket en del her, så hvis du vil, ville det være fint.

Jeg skal nok komme med noget i den nye hvis jeg får tid og finder noget der måske kan bruges
Avatar billede madsens90 Praktikant
11. august 2010 - 13:14 #50
Helt i orden. ;)

Dine point:

http://www.eksperten.dk/spm/916091
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester