Odczyt danych z COM, czytnika podłączonego przez USB

0

Mam czytnik kodów Honeywell 4800i podłączony przez USB:
https://www.honeywellaidc.com/en-GB/Pages/Product.aspx?category=AreaImager2&cat=HSM&pid=4800i

Wiem tylko ze jest zaprogramowany tak, że przesyła dane przez COM, czy też imituje komunikację przez COM. Jest podłączony do komputera przez USB. Takie zaprogramowanie czytnika zostało narzucone i nie można go zmienić. Nie znam parametrów transmisji tego czytnika. Więcej informacji nie mogę zdobyć.

Mam problem z pobraniem danych sczytywanych przez ten czytnik. Nie znam się na komunikacji sprzętowej,

próbowałem przy podłączonym czytniku do komputera, kodu z tej strony:
https://code.google.com/p/smsforschools/source/browse/trunk/sources/SMS+modem+service/Win32DeviceMgmt.cs?r=99

kodu użyłem tak:

            List<DeviceInfo> devices = Win32DeviceMgmt.GetAllCOMPorts();
            foreach (var item in devices)
            {
                Console.WriteLine("Nazwa: " + item.name + ", opis urządzenia: " + item.decsription);
            }
            Console.ReadLine();
 

a zwrócony wynik to:

            Nazwa: COM1, opis urządzenia: Port komunikacyjny 

Spodziewałem się czegoś innego. Te same informacje uzyskałem z takiego kodu:

            ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * from WIN32_SerialPort");
            foreach (ManagementObject Port in searcher.Get())
            {
                Console.WriteLine((string)Port.GetPropertyValue("Name"));
            }
            Console.ReadLine();

Wydaje mi się że te informacje dotyczą portu RS-232 który fizycznie mam w komputerze, ale pewności co do tego nie mam.

Z prób odczytu z tego portu kodem z poniżej nic nie uzyskuje, nie wiem nawet czy ten kod jest poprawny, czy tak trzeba sczytywać dane z transmisji w przypadku gdy uruchamiam program, sczytuje kod kreskowy czy 2D, oczekuje sczytanej informacji w konsoli lub w TextBox'ie.:

            SerialPort serial = new SerialPort("COM1");
            serial.Open();
            char c = ' ';
            while (c != 'q')
            {
                Console.WriteLine(serial.ReadLine());
                c = Console.ReadKey(true).KeyChar;
            }
            serial.Close();
            Console.ReadLine(); 

Potrzebuje pomocy w:
1) Podpowiedzeniu jak szukać tego czytnika po portach czy faktycznie ten "COM1 Port komunikacyjny" to RS-232 a nie mój czytnik?
2) Jak odczytywać dane z tego czytnika? Jak w ogóle odczytuje się dane z transmisji? Czy wystarczy SerialPort?

0

uruchamiasz menadżera urządzeń i sprawdzasz czy masz port COM od czytnika widoczny. Jak tak to patrzysz który numer portu. Jak nie to sprawdzasz czy masz może jakieś "nierozpoznane urządzenie" - jak tak to trzeba sterowniki do czytnika, jak nie to czytnik nie jest ustawiony jako COM.
Co do ustawień to domyślne będziesz miał w instrukcji, a jak ktoś zmienił to pozostaje jedynie sprawdzić wszystkie lub ustawić od nowa.

0

Urządzenia nie moge przeprogramować jest dla mnie "tylko do odczytu".

Sprawdziłem w menadżerze i to wygląda tak, pozycja IT4800 Area Imager:
user image user image

ale to dziwnie działa bo przez 10 sekund wszystko wygląda tak jak na screenach powyżej a potem czytnik wyłacza się i jest wyłączony przez 3 sekundy, i taki cykl włączania /wyłączania trwa ciągle:
user image user image

0

sprawdź na innym kompie - jak będzie to samo to pierwsze co bym zrobił to reset czytnika do ustawień fabrycznych. Druga sprawa to to, że NIE jest on ustawiony w trybie emulacji COM - jakby był to miałbyś w MU dodatkowy port COM.

BTW instalowałeś do niego sterowniki producenta czy to co windows sobie sam zainstalował?

0

Instalowałem sterowniki ze strony producenta, z tej którą podałem na pierwszej stronie, w drugim wierszu.

0

Próbowałem na 2 innych komputerach na których wcześniej nie był podłączany i wygląda identycznie, instalowałęm sterowniki:

Honeywell Scanning and Mobility (HSM) USB Serial Driver
The Honeywell Scanning & Mobility (HSM) WHQL-certified USB Serial Driver connects an HSM scanner through a virtual COM port to a Microsoft Windows operating system and applications. See release notes for list of supported devices and operating systems. Revision 1.19 Format: Zip File Date Released: 5/23/13

na komputerze macierzystym gdzie normalnie ten czytnik pracuje jest widziany pod portem COM5 w sekcji **Porty (COM i LPT) **wiec to oznacza ze mam zle sterowniki chyba, tak?

0

Może masz dobre sterowniki a brakuje Ci czegoś, co zrobi z "mapowanie" COM na Twój sterownik (czy odwrotnie)?

0

własnie w ten sposób instalowałem ten czytnik, ale w katalogu z którego instalowałem sterowniki nie ma pliku hhpcdc.inf.

Nie moge tez znaleźć tych właściwych sterowników z tym plikiem.

0

własnie stad pobierałem sterowniki z sekcji Softwere > Honeywell Scanning and Mobility (HSM) USB Serial Driver i tam nie ma żadnego pliku hhpcdc.inf o którym mowa w pdfie który podesł @abrakadaber.

1 użytkowników online, w tym zalogowanych: 0, gości: 1