summaryrefslogtreecommitdiff
path: root/iot_barcode_transmitter
diff options
context:
space:
mode:
Diffstat (limited to 'iot_barcode_transmitter')
-rwxr-xr-xiot_barcode_transmitter46
1 files changed, 46 insertions, 0 deletions
diff --git a/iot_barcode_transmitter b/iot_barcode_transmitter
new file mode 100755
index 0000000..5b08111
--- /dev/null
+++ b/iot_barcode_transmitter
@@ -0,0 +1,46 @@
+#!/usr/bin/python3
+
+
+"""Executable to transmit the Barcode Data to MQTT without root Priviledges"""
+
+
+from iot_barcode.static import KEYMAP
+import iot_barcode.config as config
+from iot_barcode.mqtt import MqttService
+
+
+def main():
+ try:
+
+ # read config
+ cfg = config.get_config()
+ fifo_path = cfg["scanner"]["fifo_path"]
+ topic = cfg["mqtt"]["topic"]
+
+ # setup mqtt
+ mqtt_service = MqttService(cfg)
+ mqtt_service.run()
+
+ barcode = ""
+
+ while True:
+ with open(fifo_path, "r") as fifo:
+ keycode = fifo.read()
+ character = KEYMAP[keycode]
+ if character is "\n":
+ mqtt_service.client.publish(
+ topic,
+ payload=barcode,
+ qos=0,
+ retain=False
+ )
+ barcode = ""
+ else:
+ barcode += character
+
+ except KeyboardInterrupt:
+ pass
+
+
+if __name__ == "__main__":
+ main()