QR/Barcode scanners (serial)
codescanner repository contains a library and an OpenKiosk protocol daemon.
You will need root privileges for device read/write unless your user is added to the dialout group.
Install by running:
go install gitlab.com/openkiosk/codescanner/cmd/codescannerd@latest
config.yaml
:
device:
portname: "/dev/ttyACM0"
# Read this many bytes at a time
bufflen: 150
# After a successfull read pause this much
debounce: "1s"
mqtt:
brokers:
- "mqtt://127.0.0.1:1883"
topic: "codescannerd"
client_id: "codescannerd-1"
Add a udev rule to ensure the device has a persistent name.
Extract information about the device first:
# Replace the X's with the name of your device
udevadm info --name=/dev/ttyXXXX --attribute-walk
Write the rules file /etc/udev/rules.d/99-usb-serial.rules
:
SUBSYSTEM=="tty", ATTRS{idVendor}=="0000", ATTRS{serial}=="AAAAAA", SYMLINK+="ACM0"
Replace the vendor ID and serial with the values from the udevadm info
command above. Set symlink name to the name set in the config.yaml
.
Either restart your computer or run this to apply changes:
udevadm control --reload-rules && udevadm trigger