34 lines
666 B
Python
Executable File
34 lines
666 B
Python
Executable File
#! /usr/bin/env python3
|
|
|
|
import aiomqtt
|
|
import aioserial
|
|
import asyncio
|
|
import paho
|
|
import socket
|
|
import signal
|
|
|
|
from ubxhandler import UBXHandler
|
|
from handler import MQTTConfig
|
|
|
|
BAUD = 115200
|
|
|
|
|
|
async def main():
|
|
handler_id = f"example-gps-{socket.gethostname()}"
|
|
mqtt_config = MQTTConfig(host="127.0.0.1", port=1883)
|
|
|
|
serial_port = aioserial.AioSerial(
|
|
port="/tmp/ttyV0",
|
|
baudrate=BAUD,
|
|
timeout=0.05, # 50 ms
|
|
)
|
|
|
|
handler = UBXHandler(mqtt_config, handler_id, serial_port)
|
|
|
|
signal.signal(signal.SIGINT, lambda signum, frame: handler.stop())
|
|
await handler.run()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main())
|