https://github.com/antlas0/meshtastic_visualizer
Desktop application for monitoring a Meshtastic node.
https://github.com/antlas0/meshtastic_visualizer
desktop lora meshtastic meshtastic-python python3 qt
Last synced: 3 months ago
JSON representation
Desktop application for monitoring a Meshtastic node.
- Host: GitHub
- URL: https://github.com/antlas0/meshtastic_visualizer
- Owner: antlas0
- License: mit
- Created: 2024-08-10T06:52:55.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-10-21T12:40:37.000Z (7 months ago)
- Last Synced: 2024-10-21T19:12:13.011Z (7 months ago)
- Topics: desktop, lora, meshtastic, meshtastic-python, python3, qt
- Language: Python
- Homepage:
- Size: 126 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-meshtastic - Meshtastic Visualizer - Python PyQT desktop app to interface with local nodes, or subscribing to MQTT servers (Local Software)
README
# 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 (with public key)|✅|✅|
| 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`.
```bash
$ 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:
```bash
$ 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




