Table des matières

Meshtastic MQTT connect par pdxlocations

Tuto par @panolyon(69)

ATTENTION, il me reste un bug sous débian 12… soucis corrigé, regarder en fin de page

Ce script Python va vous permettre de vous connecter directement en MQTT sur un serveur MeshTastic MQTT de votre choix.

Ce script est disponible ici https://github.com/pdxlocations/Meshtastic-MQTT-Connect

Avec ce script python, que nous appelleront « application console » vous aller pouvoir retrouver une partie des fonctionnalités que vous utilisez avec l’application de votre smartphone, sans aucun matériel Lora, directement en vous connectant au serveur MQTT.

Autre avantage vous récupérez un vrai clavier ….

Voici un aperçu de l’application console

Voilà les présentations de base étant faite, passons au chose « sérieuses »

Prérequis :

On attaque l’installation …

dans un terminal tapez les commandes suivantes :

   pip3 install meshtastic paho-mqtt tk cryptography
   

(ceci installera les bibliothèques et script « meshtastic », « paho-mqtt », « tk » et « cryptography »

Dans votre navigateur rendez vous ici https://github.com/pdxlocations/Meshtastic-MQTT-Connect?tab=readme-ov-file

une fois sur cette page clique sur le bouton vert « <> Code » et sélection « Download zip » cela vas télécharger les fichiers présents sur votre ordinateur, en un seul fichier au format zip.

Pensez bien a décompresser ce fichiers zip, vous aurez ainsi dans un répertoire l’ensemble des fichiers nécessaire.

A cette étape le script brut est opérationnel. Vous pouvez le lancer 😁 mais continuons un petit peu, question d’aller plus loin.

Avec votre éditeur python habituel nous allons modifier le script principal, ces modifications peuvent vous rendre service.

Pour le debug ou par curiosité, Ainsi vous allez voir défiler plein d’informations dans la fenêtre ‘debug’ de votre éditeur. C’est toujours intéressant et peu vous permettre d’aller un peu plus en avant dans la maitrise de meshtastic.

Aux alentours des ligne 30 à 42, vous pouvez passer ces variables en fonction de vos envies à True.

### Debug Options
debug = False
print_service_envelope = False
print_message_packet = False
print_text_message = False
print_node_info =  False
print_telemetry = False
print_failed_encryption_packet = False
print_position_report = False
color_text = False
display_encrypted_emoji = True
display_dm_emoji = True
display_private_dms = False

Aux alentours des lignes 53 à 60, vous entrer ici les valeurs par défaut que vous désirez utiliser au lancement de l’interface de votre script.

### Default settings
mqtt_broker = "mqtt.meshtastic.org"
mqtt_port = 1883
mqtt_username = "meshdev"
mqtt_password = "large4cats"
root_topic = "msh/US/2/e/"
channel = "LongFast"
key = "AQ=="

Ici les variables par défaut avec une connexion via le serveur de meshtastic, pensez à les changer !

Sinon les laisser ainsi on va voir plus en avant une autre chose ….

Votre identité de console et sa position, aux alentour des lignes 75 à 81

client_short_name = "MMC"
client_long_name = "MQTTastic"
lat = ""
lon = ""
alt = ""
client_hw_model = 255
node_info_interval_minutes = 15

Changez-les, ainsi vous éviterez d’avoir à le faire à chaque utilisation.

Voici pour ce qui est du paramétrage du Script principal de la Console à vous de jouer

le fichier presets.json.

C'est dans celui-ci que vos réglages ceux du cadre bleu sont placés par le script. Comme nous avons constaté des souci de paramétrage MQTT, canaux, serveur,

remplacez le fichier du git par celui-ci, ouvrez votre éditeur on va regarder ce qu'il y a là dedans ….

On vous a mâché un peu le travail mais il vous en reste 😳

il ne vous reste qu'à changer ou remplir les variables suivantes, sachant qu'elles sont normalement les mêmes pour tout les canaux que je vous est déjà listés et même le nouveau topic e !

Alors à vous de jouer du copier/coller (attention à l'intégrité json de vote fichier)

"node_number": "3126770193"	, 'votre numéro de node pour ce canal (gardez le même pour tous)'
"long_name": "pdxlols", 'votre longName oui la console se présente comme un node'
"short_name": "pdxl", 'votre shortName pour les même raisons'
"lat": "" ,'votre latitude'
"lon": "" , 'votre longitude'
"alt": "" , 'votre altitude'

Aller cette fois c'est prêt. 😜

Et hop, grace au travail de Célestine (F4HOF) voici un fichier install.sh qui rend l'installation sous débian12 et sur un raspberry pi encore plus facile c'est par ici install.sh