Slaan oor na inhoud

Barcode Scanner Emulator

Hoe strepieskodeskandeerders werk

’n Strepieskodeskandering lyk onmiddellik, maar dit behels vier duidelike stadiums tussen die fisiese strepieskode en die karakter wat in jou toepassing beland. As jy elke stadium verstaan, is skandeerderverwante foute baie makliker om te diagnoseer.

Die vier stadiums van ’n strepieskodeskandering

1. Beligting en beeldvaslegging

Laserskandeerders vee ’n straal oor die strepieskode en meet die intensiteit van die weerkaatste lig. Beeldgebaseerde skandeerders (die meeste moderne handskandeerders en foonkameras) vang ’n 2D-beeld van die strepieskode met ’n klein CMOS-sensor, soortgelyk aan ’n kamera met lae resolusie.

2. Dekodering

Die ingeboude firmware ontleed die streepwydtes (of die 2D-beeld, vir QR- en Data Matrix-kodes) en dekodeer dit na die oorspronklike digitale loonvrag, met die algoritme vir die spesifieke simbologie — Code 128, Code 39, EAN-13, QR, ensovoorts. Dit gebeur alles binne die skandeerder self, voordat enige data jou rekenaar bereik.

3. Kommunikasie

Die gedekodeerde loonvrag word na die gasheerrekenaar gestuur. Die vervoer is gewoonlik USB, en die oorgrote meerderheid verbruikers- en industriële skandeerders stel hulself aan die bedryfstelsel voor as ’n USB-HID-sleutelbordtoestel eerder as ’n pasgemaakte USB-klas. Sommige skandeerders ondersteun alternatiewe modusse soos USB-serieel (COM-poortnabootsing) of Bluetooth-HID, maar sleutelbordnabootsingsmodus is die verstek op byna elke skandeerder wat vandag verkoop word.

4. Toepassingsinvoer

Omdat die skandeerder as ’n sleutelbord optree, lewer die bedryfstelsel die loonvrag as ’n reeks sleutelgebeurtenisse aan watter toepassing ook al tans sleutelbordfokus het. Jou toepassing praat nooit direk met die skandeerder nie — dit ontvang net sleutelslae, presies asof iemand dit baie vinnig getik het.

Waarom die meeste skandeerders soos sleutelborde optree

HID-sleutelbordmodus is die verstekopstelling op byna alle kommersiële strepieskodeskandeerders, omdat dit geen drywerinstallasie vereis nie. Enige bedryfstelsel wat ’n USB-sleutelbord ondersteun, ondersteun die skandeerder uit die kas.

USB-sleutelbordnabootsing beteken dat die skandeerder se firmware elke gedekodeerde karakter na die USB-HID-sleutelkode koppel wat ’n sleutelbord vir daardie karakter sou stuur, en dan standaard HID-sleutelbordverslae oor die USB-onderbrekingseindpunt stuur.

Waarom dit vir toetsing saak maak: Aangesien die skandeerder op toepassingsvlak nie van ’n sleutelbord onderskei kan word nie, kan jy ’n groot deel van skandeerdergedrewe gedrag toets deur net vinnig in ’n gefokusde veld te tik, of deur ’n blaaierhulpmiddel te gebruik wat sleutelbordgebeurtenisse inspekteer (sien die hulpmiddels hieronder).

ENTER- en TAB-agtervoegsels

Die meeste skandeerders is opgestel om ’n agtervoegselsleutelslag ná die gedekodeerde loonvrag by te voeg, meestal ENTER (waenterugvoer, 0x0D), maar soms TAB (0x09) of ’n pasgemaakte reeks. Dit bestaan sodat die ontvangende toepassing kan sien waar die geskandeerde waarde eindig sonder ’n tydsverloop — die agtervoegsel dien as ’n indiensein, soortgelyk aan die druk van Enter nadat jy in ’n teksveld getik het.

Skandeerdertydsberekening

’n Skandeerder stuur ’n hele strepieskodeloonvrag in heelwat minder as ’n sekonde, dikwels met gapings van ’n paar millisekondes tussen karakters. ’n Mens wat dieselfde string tik, het gewoonlik gapings van 100–300 ms of meer tussen sleutelslae. Hierdie tydsverskil is die grondslag vir "skandeerderbespeuring" in baie POS- en voorraadtoepassings, wat kyk vir buitengewoon vinnige invoerstote wat onmiddellik deur ’n agtervoegselsleutel gevolg word.

Vir jou toepassing beteken dit: as jy skandeerderinvoer van handmatige tikwerk wil onderskei, meet die tyd tussen sleutelslae eerder as om na ’n spesiale vlag te soek, want gewone blaaiersleutelbordgebeurtenisse dra geen inligting oor die invoerbron nie.

Probeer dit self

Gebruik die Strepieskode-invoertoetser om ’n regte strepieskode te skandeer en die vasgevange waarde, tydsberekening en agtervoegselbespeuring intyds te sien. Vir ’n dieper kyk na sleutelbordwiggedrag spesifiek, gaan voort na HID-sleutelbordwig verduidelik.