Skip to content

Files

Latest commit

 

History

History
75 lines (61 loc) · 3.03 KB

README.md

File metadata and controls

75 lines (61 loc) · 3.03 KB

Meshtastic Visualizer

Python PyQt graphical desktop app to interface with a Meshtastic node using a TCP, Bluetooth or serial connection. Possibility to subscribe to MQTT servers and retrieve nodes, messages,... Objective is to use an already configured Meshtastic device, and be able to inspect messages, packets, metrics,...

Initial work based on original repository of "Meshtastic Chat Desktop"

Main framework used is PyQt6. Linux compatible, debian based tested (should work on Windows, compatibility not ensured).

Features

Connection Serial TCP Bluetooth
Availability
Feature Using local device Using MQTT
Display nodes configuration (PK, hopsaway,...)
Display map of nodes
Display messages
Display packets
Send messages with acknowledgment
Perform traceroute (with SNR)
Export nodes (json)
Export messages and packets (json)
Export telemetry metrics (json)
Export mqtt logs -
Export radio serial console -
Nodes telemetry metrics plotting (CHutil, power,...)
Packets RF metrics plotting (RSSI, SNR,...)

How to run with Docker

Based on X11, build the dockerfile and run the docker container. This example assumes your node is accessible at /dev/ttyACM0.

$ export DISPLAY=:0.0
$ xhost +local:docker
$ docker build . -t meshtastic_visualizer:latest
$ docker run -it \
    --env="DISPLAY=$DISPLAY" \
    --privileged \
    --volume="/var/run/dbus/:/var/run/dbus/" \
    --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
    --device=/dev/ttyACM0 \
    meshtastic_visualizer:latest \
    python -m meshtastic_visualizer

How to install and run

To install on your computer:

$ python3 -m venv .venv
$ source .venv/bin/activate
$ python -m pip install -r requirements.txt
$ python -m meshtastic_visualizer

Note: If you rely on Wayland, you may experience Qt event not properly managed. To fall back on a X11 session, provide the following environment variable when launching the application: XDG_SESSION_TYPE=x11. Otherwise, you can try QT_QPA_PLATFORM=xcb, by having previously installed libxcb-cursor0 package.

Todo

A lot ! Please fill an issue to add ideas or raise bugs. Code cleaning and going deeper in factorization becomes more and more needed :)

Contributing

Please open a Pull Request.

Overview

Capture d’écran du 2025-03-24 15-55-08 Capture d’écran du 2025-03-24 15-55-21 Capture d’écran du 2025-03-24 15-55-30 Capture d’écran du 2025-03-24 15-55-36 Capture d’écran du 2025-03-24 15-55-41