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.