mirror of
https://github.com/arankwende/meshtastic-mqtt-client.git
synced 2026-07-06 17:51:11 +02:00
49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
# meshtastic-mqtt-client
|
|
This is a simple program that accesses an MQTT server in which meshtastic routers publish messages and shows them on a gui.
|
|
|
|
The decoding of the protobuf messages is based on josh pirihi's great work here:
|
|
https://github.com/joshpirihi/meshtastic-mqtt
|
|
|
|
|
|
|
|

|
|
|
|
|
|
The script requires:
|
|
|
|
python and pip to be installed on the server
|
|
for linux (apt):
|
|
```
|
|
sudo apt install python3 python3-pip
|
|
```
|
|
as well as the following modules with pip:
|
|
|
|
pyyaml, paho-mqtt, pySimpleGUI and protobuf :
|
|
```
|
|
sudo pip install pyyaml paho-mqtt pySimpleGUI protobuf
|
|
```
|
|
|
|
Once installed, just copy this repo (you can use git clone), complete the YAML file and rename it config.yaml in the /config/ folder, make the script executable and run it (chmod +x meshtastic-mqtt-client.py and ./meshtastic-mqtt-client.py).There's an example config file (config - example.yaml), you can directly modify and rename it config.yaml.
|
|
It must contain:
|
|
|
|
An MQTT configuration with IP, user, password, otherwise it will run until:
|
|
```
|
|
MQTT:
|
|
MQTT_ip: MQTT BROKER IP
|
|
MQTT_USER: 'MQTT user'
|
|
MQTT_PW: 'MQTTPASSWORD'
|
|
```
|
|
Your Meshtastic configuration, basically channel id, client id and gateway id, as well as the information your client will provide to the network, a client full ID, a long name to identify you, a short name (3 characters) and a mac address:
|
|
|
|
```
|
|
MESHTASTIC:
|
|
CHANNEL_ID: 'ShortFast' # the name of your channel
|
|
CLIENT_ID: '12345678' #the id for your program to use
|
|
GATEWAY_ID: '!12345678' # Your gateway's id
|
|
CLIENT_FULL_ID: '!12345678'
|
|
LONG_NAME: 'FULL_NAME'
|
|
SHORT_NAME: 'TEST'
|
|
MACADDR: '000000000000'
|
|
```
|
|
And you're set.
|