Add serial and Arduino file

This commit is contained in:
2022-06-24 15:55:13 -07:00
parent 27fc1f5e16
commit 0e638e51bf
12 changed files with 133 additions and 73 deletions

View File

@ -1,3 +1,4 @@
import serial
import asyncio
import logging
from typing import Dict
@ -13,6 +14,7 @@ from barcode_server.const import *
from barcode_server.notifier import BarcodeNotifier
from barcode_server.notifier.http import HttpNotifier
from barcode_server.notifier.mqtt import MQTTNotifier
from barcode_server.notifier.serial import SerialNotifier
from barcode_server.notifier.ws import WebsocketNotifier
from barcode_server.stats import REST_TIME_DEVICES, WEBSOCKET_CLIENT_COUNT
from barcode_server.util import input_device_to_dict
@ -33,6 +35,8 @@ class Webserver:
self.barcode_reader = barcode_reader
self.barcode_reader.add_listener(self.on_barcode)
self.usb = {}
self.notifiers: Dict[str, BarcodeNotifier] = {}
if config.HTTP_URL.value is not None:
http_notifier = HttpNotifier(
@ -54,6 +58,11 @@ class Webserver:
)
self.notifiers["mqtt"] = mqtt_notifier
if config.SERIAL_PATH.value is not None:
self.usb = serial.Serial(config.SERIAL_PATH.value, 9600, timeout=2)
serial_notifier = SerialNotifier(config.SERIAL_PATH.value, self.usb)
self.notifiers["serial"] = serial_notifier
async def start(self):
# start detecting and reading barcode scanners
await self.barcode_reader.start()