#!/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.readline() if keycode in KEYMAP: character = KEYMAP[keycode] else: print("Keycode not recognized") character = "" 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()