Sie möchten Ihren eigenen Barcode-Scanner mit dem Raspberry Pi bauen? Alles, was Sie brauchen, ist ein einfacher USB-Barcodescanner, der einfach an den Raspberry Pi angeschlossen wird. Danach müssen Sie nur noch die Software konfigurieren.
Was wird benötigt um einen Barcode Scanner mit dem Raspberry Pi zu verbinden?
Nachdem Sie Ihren Raspberry Pi aufgesetzt und mit dem Wifi verbunden haben, sind Sie startklar.
Schritt für Schritt zum eigenen Raspberry Pi USB Barcode Scanner
1. Stecken Sie den USB-Barcodescanner an den Raspberry Pi an.
2. Pi booten und Terminal öffnen
3. Geben Sie „sudo raspi-config“ ein.
4. Gehen Sie zu Schnittstellenoptionen und aktivieren Sie „Seriell“.
5. 5. Geben Sie „sudo python barcode.py“ ein, um das Skript auszuführen (drücken Sie Strg+C, um das Skript zu beenden).
Python Program
barcode_scanner.zip#!/usr/bin/python import sys def barcode_reader(): hid = {4: 'a', 5: 'b', 6: 'c', 7: 'd', 8: 'e', 9: 'f', 10: 'g', 11: 'h', 12: 'i', 13: 'j', 14: 'k', 15: 'l', 16: 'm', 17: 'n', 18: 'o', 19: 'p', 20: 'q', 21: 'r', 22: 's', 23: 't', 24: 'u', 25: 'v', 26: 'w', 27: 'x', 28: 'y', 29: 'z', 30: '1', 31: '2', 32: '3', 33: '4', 34: '5', 35: '6', 36: '7', 37: '8', 38: '9', 39: '0', 44: ' ', 45: '-', 46: '=', 47: '[', 48: ']', 49: '\\', 51: ';', 52: '\'', 53: '~', 54: ',', 55: '.', 56: '/'} hid2 = {4: 'A', 5: 'B', 6: 'C', 7: 'D', 8: 'E', 9: 'F', 10: 'G', 11: 'H', 12: 'I', 13: 'J', 14: 'K', 15: 'L', 16: 'M', 17: 'N', 18: 'O', 19: 'P', 20: 'Q', 21: 'R', 22: 'S', 23: 'T', 24: 'U', 25: 'V', 26: 'W', 27: 'X', 28: 'Y', 29: 'Z', 30: '!', 31: '@', 32: '#', 33: '$', 34: '%', 35: '^', 36: '&', 37: '*', 38: '(', 39: ')', 44: ' ', 45: '_', 46: '+', 47: '{', 48: '}', 49: '|', 51: ':', 52: '"', 53: '~', 54: '<', 55: '>', 56: '?'} fp = open('/dev/hidraw0', 'rb') #Just have a look there if you can see something ss = "" shift = False done = False while not done: # Get the character from the HID buffer = fp.read(8) for c in buffer: if ord(c) > 0: # 40 is carriage return which signifies # we are done looking for characters if int(ord(c)) == 40: done = True break; # If we are shifted then we have to # use the hid2 characters. if shift: # If it is a '2' then it is the shift key if int(ord(c)) == 2: shift = True # if not a 2 then lookup the mapping else: ss += hid2[int(ord(c))] shift = False # If we are not shifted then use # the hid characters else: # If it is a '2' then it is the shift key if int(ord(c)) == 2: shift = True # if not a 2 then lookup the mapping else: ss += hid[int(ord(c))] return ss if __name__ == '__main__': try: while True: barcode_reader() except KeyboardInterrupt: pass
Was sind häufige Probleme
Falsches Verzeichnis
Das erste Problem kann sein, dass Sie nichts vom Barcodescanner lesen können. Am Anfang Ihres Programms lesen wir die Datei, in der der Barcodescanner seine Daten sendet:
fp = open(‚/dev/hidraw0‘, ‚rb‘)
Wenn Sie z. B. eine Tastatur einstecken, kann es sein, dass die Tastatur hidrwa0 und der Barcodescanner hidraw1 ist. Es kommt darauf an, was vorher eingesteckt war.
Shift-Taste aktiviert
Ein weiteres Problem kann sein, dass Sie die Umschalttaste aktiviert haben. Dann wird der Code nicht funktionieren, weil der Barcode-Scanner wie eine Tastatur arbeitet und alle Daten nun verschoben sind.
Keine Rechte
Es kann sein, dass Sie keine Rechte zum Öffnen der Datei haben. Verwenden Sie einfach „sudo“