mirror of
https://github.com/dk98174003/Meshtastic-Client.git
synced 2026-05-02 19:42:19 +02:00
151 lines
5.5 KiB
Markdown
151 lines
5.5 KiB
Markdown
### 🛰️ Meshtastic Client for Windows and Linux
|
||
|
||
**A modern Python-based desktop client for managing Meshtastic networks on Windows and Linux.**
|
||
This project provides an intuitive graphical interface to connect via IP, USB or Bluetooth to Meshtastic devices, monitor nodes in real time, send and receive messages, and manage network settings — all without using the command line.
|
||
|
||
Built entirely in **Python**, it features:
|
||
|
||
* Real-time node list with shortname, longname, since, hops, dist, speed, alt, hw, role
|
||
* Message send/receive for the channels public, direct and private (all channels)
|
||
* Support for light and dark themes
|
||
* Direct IP, USB and Bluetooth connection support
|
||
* Auto-refresh and title with node count default sort since
|
||
* Automatic “Ping → Pong” reply function — the client automatically responds to incoming “ping” with “pong” on a direct message
|
||
* Node count, node filter, and sorting by short name, long name, since, hops, distance, hardware, and role.
|
||
* Right click menu on the node to Show node info, Show node on Map and Traceroute the node, delete node, direct node chat.
|
||
* Links menu to Meshtastic internet sites.
|
||
|
||
Standalone Windows GUI for their Meshtastic devices.
|
||
|
||
<img width="2236" height="1030" alt="image" src="https://github.com/user-attachments/assets/f8b29d5b-f931-4555-b248-3f933ab3c245" />
|
||
|
||
---
|
||
### 🧰 Installation & Setup (Windows)
|
||
You can also download the ready to use Mestastic_Client.exe or the .deb file to install it on Linux Mint 22 or Debian 13.
|
||
New also a flatpak is available for other linux distributions.
|
||
---
|
||
|
||
1. **Install Python 3.10 or newer**
|
||
|
||
* Download from [https://www.python.org/downloads/windows/](https://www.python.org/downloads/windows/)
|
||
* ✅ During setup, **check “Add Python to PATH”**.
|
||
* After installation, open **Command Prompt** and verify:
|
||
|
||
```cmd
|
||
python --version
|
||
pip --version
|
||
```
|
||
|
||
2. **Upgrade pip and install all required dependencies**
|
||
|
||
```cmd
|
||
python -m pip install --upgrade pip
|
||
pip install --upgrade meshtastic pyserial bleak pypubsub dotmap timeago requests pyyaml tabulate packaging
|
||
```
|
||
|
||
**Dependency overview**
|
||
|
||
| Package | Purpose |
|
||
| ------------ | -------------------------------------------- |
|
||
| `meshtastic` | Core library for TCP / USB / BLE connections |
|
||
| `pyserial` | Enables USB / Serial communication |
|
||
| `bleak` | Bluetooth Low Energy support |
|
||
| `pypubsub` | Event/pub-sub messaging used by the library |
|
||
| `dotmap` | Easy access to nested dictionaries |
|
||
| `timeago` | Human-readable time display |
|
||
| `requests` | HTTP utilities (used internally) |
|
||
| `pyyaml` | Configuration and serialization |
|
||
| `tabulate` | CLI table output |
|
||
| `packaging` | Version comparison utilities |
|
||
|
||
3. **Install USB drivers (if using Serial/USB connection)**
|
||
|
||
* Install **Silicon Labs CP210x** or **CH9102** drivers, depending on your device.
|
||
* Official driver links:
|
||
|
||
* [CP210x Windows Drivers](https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers)
|
||
* [CH9102 Windows Drivers](https://www.wch.cn/downloads/CH9102_Windows_Driver.html)
|
||
|
||
4. **(Optional) Clone the official Meshtastic Python repository**
|
||
|
||
```cmd
|
||
git clone https://github.com/meshtastic/python.git
|
||
```
|
||
|
||
👉 [https://github.com/meshtastic/python](https://github.com/meshtastic/python)
|
||
|
||
5. **Download this GUI client**
|
||
Place `meshtastic_client.py` (your version) in a folder such as
|
||
`C:\Users\<YourName>\MeshtasticClient`
|
||
|
||
6. **Run the program**
|
||
|
||
```cmd
|
||
cd C:\Users\<YourName>\MeshtasticClient
|
||
python meshtastic_client.py
|
||
```
|
||
|
||
7. **Connect your Meshtastic device**
|
||
|
||
* **Connection → Connect (TCP)** — for Wi-Fi / Ethernet connections
|
||
* **Connection → Connect via USB/Serial…** — for direct cable connection
|
||
* **Connection → Connect via Bluetooth…** — scan and pair over BLE
|
||
|
||
8. **Enable Bluetooth in Windows Settings → Bluetooth & devices → “Add device” to ensure permissions.
|
||
|
||
|
||
|
||
Here’s a short **GitHub installation & run description** for your `meshtastic_client.py` on Raspberry Pi OS (Trixie):
|
||
|
||
---
|
||
|
||
### 🐍 Meshtastic Client for Raspberry Pi OS Trixie (linux)
|
||
|
||
**Description:**
|
||
A Python GUI client for Meshtastic devices running fully offline on Raspberry Pi OS Trixie (Debian 13).
|
||
Connect via USB or Bluetooth, send and receive messages, and view node info in real time.
|
||
|
||
<img width="1510" height="872" alt="billede" src="https://github.com/user-attachments/assets/39c644a1-e5dd-4d9e-8466-1296772e5818" />
|
||
|
||
|
||
### ⚙️ Installation
|
||
|
||
```bash
|
||
sudo apt update
|
||
sudo apt install -y python3-full python3-venv bluetooth bluez bluez-tools python3-serial git
|
||
git clone https://github.com/<yourname>/meshtastic_client.git
|
||
cd meshtastic_client
|
||
python3 -m venv venv
|
||
source venv/bin/activate
|
||
python -m pip install --upgrade pip
|
||
pip install "meshtastic[cli]" pyserial bleak pypubsub dotmap timeago requests pyyaml tabulate packaging
|
||
```
|
||
|
||
Add user to serial groups:
|
||
|
||
```bash
|
||
sudo usermod -aG dialout $USER
|
||
sudo usermod -aG tty $USER
|
||
# log out and back in
|
||
```
|
||
|
||
### ▶️ Run
|
||
|
||
```bash
|
||
source venv/bin/activate
|
||
python3 meshtastic_client.py
|
||
```
|
||
|
||
### 🧩 Notes
|
||
|
||
* Works on Raspberry Pi 4/5 with Raspberry Pi OS Bookworm/Trixie.
|
||
* No internet connection required after setup.
|
||
* To exit the virtual environment: `deactivate`.
|
||
|
||
|
||
Have fun
|
||
|
||
PS. Use IP or serial - bluetooth is slow.
|
||
|
||
Knud ;O)
|