diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/dashboard.png b/docs/dashboard.png new file mode 100644 index 0000000..7d7cb60 Binary files /dev/null and b/docs/dashboard.png differ diff --git a/main.py b/main.py deleted file mode 100755 index 22d6d9c..0000000 --- a/main.py +++ /dev/null @@ -1,29 +0,0 @@ -#! /usr/bin/env python3 - -import aioserial -import asyncio -import socket -import signal - -from ubxhandler import UBXHandler -from handler import MQTTConfig - - -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=115200, - 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()) diff --git a/mqtthandler/__init__.py b/mqtthandler/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/command.py b/mqtthandler/command.py similarity index 100% rename from command.py rename to mqtthandler/command.py diff --git a/handler.py b/mqtthandler/handler.py similarity index 99% rename from handler.py rename to mqtthandler/handler.py index 5712c75..b7255f8 100644 --- a/handler.py +++ b/mqtthandler/handler.py @@ -6,7 +6,7 @@ import signal import json from dataclasses import dataclass -from command import ( +from .command import ( Command, CommandResponse, CommandArgumentError, diff --git a/tunnel.sh b/scripts/tunnel.sh similarity index 100% rename from tunnel.sh rename to scripts/tunnel.sh diff --git a/ubxsimulator.py b/scripts/ubxsimulator similarity index 100% rename from ubxsimulator.py rename to scripts/ubxsimulator diff --git a/ubxsimulator.json b/scripts/ubxsimulator.json similarity index 100% rename from ubxsimulator.json rename to scripts/ubxsimulator.json diff --git a/ubxhandler.py b/ubx.py old mode 100644 new mode 100755 similarity index 88% rename from ubxhandler.py rename to ubx.py index a83a030..3d69695 --- a/ubxhandler.py +++ b/ubx.py @@ -1,12 +1,18 @@ +#! /usr/bin/env python3 + import asyncio import aioserial import aiomqtt import pyubx2 import io import logging +import aioserial +import asyncio +import socket +import signal -from command import command -from handler import MQTTHandler, task +from mqtthandler.command import command +from mqtthandler.handler import MQTTConfig, MQTTHandler, task # The pyubx2 library spams the console with errors that aren't errors. # I don't care if you failed to parse an incomplete buffer. @@ -165,3 +171,23 @@ class UBXHandler(MQTTHandler): ) num_bytes = await self.serial_port.write_async(message.serialize()) return num_bytes + + +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=115200, + 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())