Paramétrage de MQTT dans Meshtastic

Delurk - 12/07/2024 12:08 - Meshtastic

Logo MQTT

Le protocole MQTT

MQTT (Message Queuing Telemetry Transport) est un protocole de transport de messagerie fonctionnant selon le modèle publication/abonnement et basé sur une architecture client-serveur. Il opère au niveau 7 du modèle OSI et utilise TCP/IP. Sa création remonte à 1999 par le Dr Andy Stanford-Clark d'IBM et Arlen Nipper d'Arcom. C'est un protocole simple, ouvert, extrêmement léger et particulièrement adapté aux réseaux à faible bande passante, à haute latence ou instables. C'est un standard OASIS essentiel dans l'Internet des Objets (IoT) et trouve des applications dans des secteurs variés, notamment l'industrie, la logistique, les télécommunications, et la domotique.

L'intégration du protocole MQTT dans Meshtastic est un choix judicieux de la part des développeurs, permettant d'étendre les fonctionnalités des nœuds lorsqu'il s'agit de transmettre des données à des applications tierces telles que Home Assistant. Pour ce faire, la connexion à un broker MQTT est indispensable pour établir un pont qui va gérer la distribution des données hors Meshtastic. Ces données sont sérialisées par le protocole Protobuf, ce qui les rend facilement exploitables, quel que soit le langage de programmation utilisé. L'objectif est d'assurer une interopérabilité avec le plus grand nombre de plateformes.

MQTT dans Meshtastic

MQTT dans Meshtastic

Voici un paramétrage de MQTT pour votre nœud Meshtastic. Ce paramétrage convient à tous les matériels compatibles avec Meshtastic. L'objectif de ce paramétrage est de connecter votre nœud à un broker MQTT. Je me concentre ici sur les modifications essentielles, en laissant les autres paramètres à leur valeur par défaut.

💡 Pour une mise en œuvre simple et rapide, je propose de conserver le paramétrage du broker MQTT officiel de Meshtastic. Celui-ci est renseigné par défaut, mais vous pouvez aussi utiliser votre propre broker MQTT. Pour plus de détails, consultez mon post : Auto-héberger un broker MQTT pour Meshtastic.

⚠️ L'activation de MQTT modifie le comportement de votre radio, elle devient une passerelle entre le réseau maillé LoRa et le réseau Ethernet via le protocole MQTT. Cette configuration génère une activité significative qui consomme davantage de ressources matérielles et augmente la fréquence des échanges de données, par conséquent l'hourly duty cycle est affecté.

Paramètres dans Radio Config

LoRa

Faire suivre les données provenant de MQTT vers le réseau maillé LoRa. Ce paramètre doit être désactivé, c'est un prérequis pour utiliser MQTT.

Channels

Envoyer des données du réseau maillé LoRa au réseau Ethernet via le protocole MQTT n'est pas bidirectionnel par défaut. Cette configuration est à définir sur chaque canal et elle se fait à travers deux paramètres :

LoRa ➡️ MQTT

MQTT ➡️ LoRa

Paramètres dans Module Config

MQTT Settings

Activer MQTT. Ce paramètre doit être activé, c'est un prérequis pour utiliser MQTT.

Utiliser la connexion Internet du client. Uniquement sur smartphone.

Diffuser la localisation du nœud au broker MQTT. Utile pour afficher votre nœud sur la meshmap. Plus de détails dans Liens utiles.

Intervalle de diffusion.

Précision de la localisation en mètres.

💡 Et voilà, ce paramétrage va connecter votre nœud ainsi que votre réseau maillé aux autres réseaux maillés via Internet. Le nombre de nœuds listés devrait significativement augmenter selon le nombre d'utilisateurs ayant le même Root topic.

Root topic

Le Root topic est un paramètre essentiel, car il est la racine du chemin d'accès à vos canaux au sein de l'architecture MQTT. Les topics sont organisés en arborescence, où chaque niveau est séparé par des barres obliques. Ensemble, ils forment ce qui s'apparente à un chemin d'accès aux différents canaux. Par exemple, le chemin complet pour accéder au canal LongFast dans la région EU_868 avec l'identifiant !id1234 serait : msh/EU_868/2/e/LongFast/!id1234.

Le Root topic est la racine de ce chemin, par défaut il s'agit de votre région.

Les topics "Meshtastic" sont inscrits en dur dans le firmware Meshtastic.

Le topic du canal de discussion et d'échanges des données.

Le topic de l'id du nœud, qui comporte les messages publiés.

💡 Utilisez un même Root topic sur vos nœuds, quel que soit le préréglage de la région, du modem ou de la fréquence, permet de créer un pont entre vos nœuds afin de faire communiquer vos canaux à condition que ceux-ci utilisent un nom et une clé identique.

Topics de données télémétriques

La localisation est diffusée dans ce topic :

Les données télémétriques dont le statut de votre nœud sont diffusées dans ce topic :

MQTT Explorer

Pour visualiser l'ensemble des topics et messages des nœuds connectés au broker officiel de Meshtastic, il suffit de reprendre les données de connexion renseignées par défaut dans les paramètres du nœud et d'utiliser un client MQTT tel que MQTT Explorer. Plus de détails dans Liens utiles.


Où acheter ?

Voici trois radios abordables et prêtes à l'emploi parmi les plus populaires :

Liens utiles


Commentaires
Vous devez être connecté pour laisser un commentaire.