====== 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** {{ :meshtastic_mqtt_connect_by_pdxlocations:1:synoptique-.jpg?nolink&600 |}} **C**e script Python va vous permettre de vous connecter directement en MQTT sur un serveur MeshTastic MQTT de votre choix. **C**e script est disponible ici https://github.com/pdxlocations/Meshtastic-MQTT-Connect **A**vec 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. **A**utre avantage vous récupérez un vrai clavier …. **V**oici un aperçu de l’application console {{ :meshtastic_mqtt_connect_by_pdxlocations:1:mqtt-connect-1.jpg?nolink&600 |}} * Cadre bleu : les paramètres et commandes. C’est ici que vous allez pouvoir choisir les canaux que vous désirez utiliser. Les topics désirés, … Vous vous retrouvez un peu par rapport a l’application smartphone ? * Cadre vert : L’historique de vos messages. * Cadre rose : La fenêtre pour envoyer des messages en broadcast ou individuel quand vous sélectionnez un node dans la fenêtre de droite. * Cadre Rouge : La liste des nodes inscrit sur le topic que vous avez sélectionné. ==== Voilà les présentations de base étant faite, passons au chose « sérieuses » ==== === Prérequis : === * avoir un python récent d’installé (ici 3.12) sur l’ordinateur sur lequel vous désirez faire tourner l’application console. * Savoir lancer le terminal depuis votre système d’exploitation. * Savoir éxécuter des commandes au clavier depuis votre terminal. === On attaque l’installation … === **d**ans 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]] {{ :meshtastic_mqtt_connect_by_pdxlocations:1:github-1.png?nolink&600 |}} **u**ne 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. **P**ensez 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. **A**vec votre éditeur python habituel nous allons modifier le script principal, ces modifications peuvent vous rendre service. **P**our 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. **A**ux 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 **A**ux 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==" **I**ci les variables par défaut avec une connexion via le serveur de meshtastic, pensez à les changer ! **S**inon les laisser ainsi on va voir plus en avant une autre chose …. **V**otre 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 **C**hangez-les, ainsi vous éviterez d’avoir à le faire à chaque utilisation. **V**oici 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. **C**omme nous avons constaté des souci de paramétrage MQTT, canaux, serveur, **r**emplacez le fichier du git par celui-ci, ouvrez votre éditeur on va regarder ce qu'il y a là dedans .... **O**n vous a mâché un peu le travail mais il vous en reste 😳 **i**l 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 [[https://github.com/fr-emcom/installation-Meshtastic-MQTT-connect|install.sh]]