mirror of
https://github.com/dpup/meshstream.git
synced 2026-03-28 17:42:37 +01:00
58 lines
1.4 KiB
Markdown
58 lines
1.4 KiB
Markdown
# Meshstream
|
|
|
|
A Go application that monitors the Meshtastic MQTT server and logs packets to the terminal.
|
|
|
|
## Setup
|
|
|
|
1. Clone this repository
|
|
2. Install dependencies:
|
|
|
|
```
|
|
go mod tidy
|
|
```
|
|
|
|
## Running
|
|
|
|
```
|
|
go run main.go
|
|
```
|
|
|
|
## Decoding Meshtastic Packets
|
|
|
|
This project includes the Meshtastic protocol buffer definitions in the `proto/` directory and a decoder for parsing MQTT packets. The application will automatically decode JSON messages and extract key information from binary messages.
|
|
|
|
### Protocol Buffer Compilation
|
|
|
|
To regenerate the protocol buffer Go code:
|
|
|
|
```
|
|
make gen-proto
|
|
```
|
|
|
|
This will:
|
|
1. Install the required protoc-gen-go compiler plugin in a local bin/ directory
|
|
2. Generate Go code from the protocol buffer definitions
|
|
3. Place the generated code in the proto/generated/ directory
|
|
|
|
### Packet Decoding
|
|
|
|
The application currently decodes packets in these formats:
|
|
|
|
1. JSON messages (from topics containing '/json/')
|
|
- Extracts common fields like sender, receiver, and payload
|
|
- Pretty-prints the JSON content
|
|
|
|
2. Binary messages (from topics containing '/binary/')
|
|
- Shows basic topic information and a hex dump of the binary data
|
|
|
|
3. Text messages (from topics containing '/text/')
|
|
- Displays the plain text content
|
|
|
|
The decoder is implemented in the `decoder` package.
|
|
|
|
## MQTT Configuration
|
|
|
|
- Broker: mqtt.bayme.sh
|
|
- Username: meshdev
|
|
- Password: large4cats
|
|
- Topic prefix: msh/US/CA/Motherlode |