Skip to content

Qt desktop application to send messages, inspect packets, metrics from your Meshtastic node.

License

Notifications You must be signed in to change notification settings

antlas0/meshtastic_visualizer

Repository files navigation

Meshtastic Visualizer

Python PyQt graphical desktop app to interface with a Meshtastic node using a TCP 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).

Warning: Work in progress !

Features

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 events logs
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="/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.

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

About

Qt desktop application to send messages, inspect packets, metrics from your Meshtastic node.

Topics

Resources

License

Stars

Watchers

Forks

Languages