Scan barcodes with a zebra barcode scanner
Project description
Supported boards
Check https://www.zebra.com/us/en/support-downloads/software/developer-tools/scanner-sdk-for-linux.html
Known issues
MS4717: CMD_DEVICE_SWITCH_HOST_MODE does not work
Installing
It’s working on Ubuntu 18.04 with Zebra SDK 4.4, which you can download from https://www.zebra.com/de/de/support-downloads/software/developer-tools/scanner-sdk-for-linux.html You can easily install zebra_scanner with pip:
sudo apt-get install libboost-dev libboost-python-dev libpugixml-dev
sudo pip3 install pybind11
sudo pip3 install . # in zebra-scanner directory
A minimal example
import pprint
import time
from zebra_scanner import CoreScanner
pp = pprint.PrettyPrinter(indent=4)
scanners = []
cs = CoreScanner()
@cs.on_scanner_added
def on_scanner_added(scanner):
print("New scanner found:")
pp.pprint(scanner.__dict__)
scanners.append(scanner)
scanner.pull_trigger()
scanner.fetch_attributes()
for id, attribute in scanner.attributes.items():
if id<10:
pp.pprint({
"id": id,
"datatype": attribute.datatype,
"value": attribute.value,
"permission": attribute.permission
})
@scanner.on_barcode
def on_barcode(barcode):
print("Scanned:")
print(barcode.code, barcode.type)
@cs.on_scanner_removed
def on_scanner_removed(scanner):
print("Scanner removed:")
scanner.release_trigger()
scanners.remove(scanner)
pp.pprint(scanner.__dict__)
while True:
time.sleep(0.1)
# do nothing while the scanner is reading in continous mode
Running the example
~/Development/zebra-scanner/examples$ python test.py
New scanner found:
{ 'DoM': '10Mar18',
'GUID': 'AFF531D4821A3E4BB2127A380DA81FB0',
'PID': '1900',
'VID': '05e0',
'firwmare': 'PAABLS00-005-R05',
'modelnumber': 'PL-3307-B100R',
'scannerID': '1',
'serialnumber': '00000000K10U532B',
'type': 'SNAPI'}
{ 'datatype': 'F', 'id': 0, 'permission': 7, 'value': True}
{ 'datatype': 'F', 'id': 1, 'permission': 7, 'value': True}
{ 'datatype': 'F', 'id': 2, 'permission': 7, 'value': True}
{ 'datatype': 'F', 'id': 3, 'permission': 7, 'value': True}
{ 'datatype': 'F', 'id': 4, 'permission': 7, 'value': True}
{ 'datatype': 'F', 'id': 5, 'permission': 7, 'value': False}
{ 'datatype': 'F', 'id': 6, 'permission': 7, 'value': True}
{ 'datatype': 'F', 'id': 7, 'permission': 7, 'value': False}
{ 'datatype': 'F', 'id': 8, 'permission': 7, 'value': True}
{ 'datatype': 'F', 'id': 9, 'permission': 7, 'value': False}
Scanned:
('Hello World', '3')
Scanned:
('00140092390052832143', '15')
Scanned:
('31039999993000000072\x1d', '15')
Scanned:
('01540092393881021000017500861331', '15')
Scanned:
('00140092390052832143', '15')
^CScanner removed:
{ 'DoM': '10Mar18',
'GUID': 'AFF531D4821A3E4BB2127A380DA81FB0',
'PID': '1900',
'VID': '05e0',
'firwmare': 'PAABLS00-005-R05',
'modelnumber': 'PL-3307-B100R',
'scannerID': '1',
'serialnumber': '00000000K10U532B',
'type': 'SNAPI'}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
zebra-scanner-0.2.5.tar.gz
(8.9 kB
view details)
File details
Details for the file zebra-scanner-0.2.5.tar.gz
.
File metadata
- Download URL: zebra-scanner-0.2.5.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f1c976fa256b4cbe33e6d50ae5217f6da272c52de67561e0f19ab7420a77ce6 |
|
MD5 | f1c1152fb3a36b6381696c21cc5fdd31 |
|
BLAKE2b-256 | f2d22e4186de15f350ca9761af6fd5a78294308e887967a277c3c0c8d5cfa37d |