A simple API backend and MeshPacket capture utility for use with MeshMon.
Currently it only saves Telemetry, NodeInfo, and Position MeshPackets.
$ java -jar target/meshmon-backend-0.1.0-standalone.jar --help
2022-12-21 08:53:32.780:INFO::main: Logging initialized @1651ms to org.eclipse.jetty.util.log.StdErrLog
Usage is meshmon-backend [options]
Options:
-r, --record record packets from device
-s, --serial PORT use serial PORT for recording (autodetects if not specified)
-p, --port PORTNUM 5000 TCP port for HTTP connections
-t, --static DIR ./static static files directory
-u, --url URL jdbc:sqlite:packets.db jdbc URL for database
-h, --help display this help message
When a tag is pushed and new release will be automatically created through GitHub actions.
This project uses pronto to handle protobufs in clojure. It also used lein-protodeps to automatically pull and compile protobufs from the Meshtastic Protobuf Definitions repo.
If you need to update the protobufs, running lein protodeps generate
should suffice.
Every effort has been made to use the correct label style for how something is stored/used. If it is being used in a Clojure program it is presented in kebab case. If it is being stored in a DB column it uses snake case. If it is being stored or exchanged as JSON it uses camelCase.