Barcode Scanner Emulator
Barkod Okuyucular Nasıl Çalışır
Bir barkod taraması anında gerçekleşmiş gibi görünür, ancak fiziksel barkod ile uygulamanıza düşen karakter arasında dört ayrı aşama vardır. Her aşamayı anlamak, okuyucu kaynaklı hataları tanılamayı çok kolaylaştırır.
Barkod taramasının dört aşaması
1. Aydınlatma ve görüntü yakalama
Lazer okuyucular barkodun üzerinden bir ışın geçirir ve yansıyan ışığın şiddetini ölçer. Görüntü tabanlı okuyucular (çoğu modern el okuyucusu ve telefon kamerası okuyucusu) küçük bir CMOS algılayıcıyla barkodun 2B görüntüsünü yakalar; bu, düşük çözünürlüklü bir kameraya benzer.
2. Çözümleme
Yerleşik sabit yazılım, çizgi genişliklerini (QR ve Data Matrix kodları için 2B görüntüyü) inceler ve bunları ilgili sembolojinin algoritmasıyla özgün sayısal yüke çözer — Code 128, Code 39, EAN-13, QR ve benzerleri. Bunların tümü, herhangi bir veri bilgisayarınıza ulaşmadan önce okuyucunun içinde gerçekleşir.
3. İletişim
Çözümlenen yük ana bilgisayara iletilir. Taşıma genellikle USB’dir ve tüketici ile endüstriyel okuyucuların büyük çoğunluğu işletim sistemine özel bir USB sınıfı yerine USB HID klavye olarak görünür. Bazı okuyucular USB serial (COM bağlantı noktası öykünmesi) veya Bluetooth HID gibi başka modları destekler, ancak bugün satılan neredeyse her okuyucuda varsayılan klavye öykünme modudur.
4. Uygulama girişi
Okuyucu klavye gibi davrandığı için işletim sistemi yükü, o anda klavye odağına sahip uygulamaya bir dizi tuş olayı olarak iletir. Uygulamanız okuyucuyla hiç doğrudan konuşmaz; yalnızca birinin çok hızlı yazmış olmasıyla aynı şekilde tuş vuruşlarını alır.
Çoğu okuyucu neden klavye gibi davranır
HID klavye modu, sürücü kurulumu gerektirmediği için neredeyse tüm ticari barkod okuyucularında varsayılan yapılandırmadır. USB klavyeyi destekleyen her işletim sistemi okuyucuyu kutudan çıktığı gibi destekler.
USB klavye öykünmesi, okuyucunun sabit yazılımının çözümlenen her karakteri bir klavyenin o karakter için göndereceği USB HID tuş koduna eşlemesi ve ardından standart HID klavye raporlarını USB kesme uç noktası üzerinden iletmesi anlamına gelir.
Test için neden önemlidir: okuyucu uygulama katmanında bir klavyeden ayırt edilemediği için, okuyucunun yönlendirdiği davranışın büyük bölümünü odaklanmış bir alana hızlı yazarak veya klavye olaylarını inceleyen bir tarayıcı aracıyla test edebilirsiniz (aşağıda bağlantısı verilen araçlara bakın).
ENTER ve TAB sonekleri
Çoğu okuyucu, çözümlenen yükün ardına bir sonek tuş vuruşu ekleyecek şekilde yapılandırılır; en yaygın olanı ENTER (satır başı, 0x0D), bazen TAB (0x09) veya özel bir dizidir. Böylece alan uygulama, zaman aşımı olmadan taranan değerin nerede bittiğini anlayabilir. Sonek, bir metin alanına yazdıktan sonra Enter’a basmaya benzer bir gönderme sinyali işlevi görür.
Okuyucu zamanlaması
Bir okuyucu barkod yükünün tamamını bir saniyenin oldukça altında iletir; karakterler arasında çoğu zaman yalnızca birkaç milisaniye boşluk vardır. Aynı diziyi yazan bir insanın tuş vuruşları arasında genellikle 100–300 ms veya daha fazla boşluk olur. Bu zaman farkı, birçok POS ve envanter uygulamasındaki “okuyucu algılama” mantığının temelidir; bu uygulamalar olağandışı hızlı giriş patlamalarını ve hemen ardından gelen sonek tuşunu izler.
Uygulamanız için bunun anlamı şudur: okuyucu girişini elle yazmadan ayırmak istiyorsanız tuş vuruşları arasındaki süreyi ölçün. Standart tarayıcı klavye olayları giriş kaynağını belirten bir bilgi taşımaz, bu yüzden özel bir bayrak aranamaz.
Kendiniz deneyin
Gerçek bir barkodu taramak ve yakalanan değeri, zamanlamayı ve sonek algılamayı gerçek zamanlı görmek için Barkod Giriş Test Aracı kullanın. Keyboard wedge davranışına daha ayrıntılı bakmak için HID Keyboard Wedge Açıklaması sayfasına geçin.