Daniel Pupius 9447f44139 Update logging to use prefab/logging package
- Replace standard log package with prefab/logging
- Add context-aware logging in HTTP handlers
- Add structured logging with fields and levels
- Improve logging hierarchy and namespaces
- Implement named loggers for components
2025-04-21 11:01:45 -07:00
2025-04-18 18:40:30 -07:00
2025-04-21 09:53:04 -07:00
2025-04-21 09:53:04 -07:00

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
Description
No description provided
Readme MIT 31 MiB
Languages
TypeScript 69.5%
Go 24.5%
HTML 1.8%
Makefile 1%
Dockerfile 1%
Other 2.2%