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?