Pāriet uz saturu

Barcode Scanner Emulator

Kā darbojas svītrkodu skeneri

Svītrkoda skenēšana izskatās tūlītēja, taču starp fizisko svītrkodu un rakstzīmi, kas nonāk lietojumprogrammā, ir četri atsevišķi posmi. Katru posmu izprotot, ar skeneri saistītas kļūdas diagnosticēt ir daudz vieglāk.

Četri svītrkoda skenēšanas posmi

1. Apgaismojums un attēla uzņemšana

Lāzera skeneri pārvieto staru pāri svītrkodam un mēra atstarotās gaismas intensitāti. Attēla skeneri (lielākā daļa mūsdienu rokas un tālruņa kameras skeneru) ar nelielu CMOS sensoru uzņem svītrkoda 2D attēlu, līdzīgi zemas izšķirtspējas kamerai.

2. Atkodēšana

Iebūvētā aparātprogrammatūra analizē svītru platumus (vai 2D attēlu QR un Data Matrix kodiem) un atkodē tos sākotnējā digitālajā datos, izmantojot konkrētās simbolikas algoritmu: Code 128, Code 39, EAN-13, QR un tā tālāk. Tas viss notiek pašā skenerī, pirms jebkādi dati sasniedz datoru.

3. Saziņa

Atkodētie dati tiek pārsūtīti resursdatoram. Pārraide parasti notiek pa USB, un lielākā daļa patērētāju un rūpniecisko skeneru operētājsistēmai sevi parāda kā USB HID tastatūras ierīci, nevis kā pielāgotu USB klasi. Daži skeneri atbalsta citus režīmus, piemēram, USB seriālo (COM porta emulāciju) vai Bluetooth HID, taču tastatūras emulācija ir noklusējums gandrīz katrā mūsdienās pārdotajā skenerī.

4. Lietojumprogrammas ievade

Tā kā skeneris darbojas kā tastatūra, operētājsistēma datus piegādā kā taustiņu notikumu secību tai lietojumprogrammai, kurai pašlaik ir tastatūras fokuss. Lietojumprogramma nekad nerunā ar skeneri tieši — tā tikai saņem taustiņu spiedienus, gluži tā, it kā kāds tos būtu ierakstījis ļoti ātri.

Kāpēc lielākā daļa skeneru uzvedas kā tastatūras

HID tastatūras režīms ir noklusējuma konfigurācija gandrīz visos komerciālajos svītrkodu skeneros, jo nav jāinstalē draiveris. Jebkura operētājsistēma, kas atbalsta USB tastatūru, skeneri atbalsta uzreiz.

USB tastatūras emulācija nozīmē, ka skenera aparātprogrammatūra katru atkodēto rakstzīmi sasaista ar USB HID taustiņa kodu, ko tastatūra sūtītu šai rakstzīmei, un pēc tam pārsūta standarta HID tastatūras ziņojumus pa USB pārtraukuma galapunktu.

Kāpēc tas ir svarīgi testēšanā: tā kā lietojumprogrammas slānī skeneris nav atšķirams no tastatūras, lielu daļu skenera vadītas uzvedības var pārbaudīt, vienkārši ātri rakstot fokusētā laukā vai izmantojot pārlūka rīku, kas pārbauda tastatūras notikumus (skatiet tālāk saistītos rīkus).

ENTER un TAB piedēkļi

Lielākā daļa skeneru ir konfigurēti pēc atkodētajiem datiem pievienot piedēkļa taustiņa spiedienu, visbiežāk ENTER (rindiņas sākums, 0x0D), dažreiz TAB (0x09) vai pielāgotu secību. Tā uztverošā lietojumprogramma var noteikt, kur beidzas skenētā vērtība, neizmantojot taimautu — piedēklis darbojas kā iesniegšanas signāls, līdzīgi kā Enter nospiešana pēc teksta ievades laukā.

Skenera laiks

Skeneris visu svītrkoda saturu pārraida krietni ātrāk par sekundi, bieži ar dažu milisekunžu atstarpēm starp rakstzīmēm. Cilvēks, rakstot to pašu virkni, parasti starp taustiņiem atstāj 100–300 ms vai vairāk. Šī laika starpība ir pamats "skenera noteikšanas" loģikai daudzās POS un krājumu lietojumprogrammās, kas vēro neparasti ātrus ievades uzliesmojumus, kuriem tūlīt seko piedēkļa taustiņš.

Lietojumprogrammai tas nozīmē: ja vēlaties atšķirt skenera ievadi no rokrakstīšanas, mēriet laiku starp taustiņu spiedieniem, nevis meklējiet īpašu karodziņu, jo standarta pārlūka tastatūras notikumi nesatur informāciju par ievades avotu.

Izmēģiniet paši

Izmantojiet svītrkoda ievades testētāju, lai skenētu īstu svītrkodu un reāllaikā redzētu uztverto vērtību, laiku un piedēkļa noteikšanu. Lai dziļāk izpētītu tieši tastatūras ķīļa uzvedību, turpiniet ar HID tastatūras ķīļa skaidrojumu.