Découvrir Meshtastic avec un kit XIAO nRF52840 & Wio SX1262

5
(2)

Présentation de Meshtastic

Meshtastic est une plateforme open-source de communication sans fil qui permet de créer des réseaux maillés décentralisés et autonomes. Meshtastic s’appuie sur la technologie LoRa (Long Range) exploitant les bandes radio ISM (industriel, scientifique et médical), accessibles à tous sans licence, pour transmettre de petits messages et des données de localisation sur plusieurs kilomètres.

Chaque appareil, appelé nœud, communique directement avec ses voisins et relaie automatiquement les messages reçus vers d’autres nœuds du réseau. Cette architecture maillée augmente la portée globale et assure la robustesse du réseau : même si certains appareils sont hors service ou hors de portée directe, les messages peuvent emprunter d’autres chemins pour atteindre leur destinataire.

Il est possible d’installer l’application Meshtastic sur des smartphones pour qu’ils puissent échanger des messages texte au travers d’un réseau maillé Meshtastic. Le smartphone se connecte en Bluetooth à l’appareil Meshtastic, qui le diffuse ensuite sur le réseau maillé Meshtastic.

Exemple de communication au travers d’un réseau maillé Meshtastic depuis un smartphone

Avec Meshtastic, les communications sont totalement décentralisées et ne nécessitent aucun opérateur ni infrastructure centralisée. Cela permet ainsi de communiquer entre plusieurs personnes, même dans des zones dépourvues d’infrastructure cellulaire (2G/3G/4G/5G) ou d’Internet.

Meshtastic pourrait se révéler particulièrement précieux en situation de crise, qu’il s’agisse de catastrophes naturelles ou de cyberattaques paralysant les infrastructures critiques telles que les réseaux de télécommunications, les systèmes de production ou de transport d’énergie.

Les nœuds Meshtastic consomment très peu d’énergie et sont généralement alimentés par une batterie lui offrant une grande autonomie.

Grâce à son fonctionnement décentralisé, sa grande résilience et son autonomie énergétique, Meshtastic permet de maintenir un canal de communication fiable même en cas de défaillance totale des réseaux traditionnels.

Meshtastic pourrait ainsi offrir une solution simple et abordable permettant d’assurer les communications en cas de crise majeur ou dans des zones sans couverture réseaux.

Réalisation d’un nœud Meshtastic

Si vous souhaitez réaliser votre propre nœud Meshtastic, il existe plusieurs cartes de développement. Ces cartes sont généralement composées d’un microcontrôleur et d’un émetteur-récepteur LoRa. Certaines cartes intègrent un module GPS, et d’autres un écran. Attention, si toutes les cartes supportent le Bluetooth, certaines (dont la nRF52840) ne supportent pas le Wi-Fi. Cela peut être gênant pour certains cas d’usage (passerelle MQTT).

Si vous utilisez un Smartphone pour envoyer et recevoir les messages, le nœud Meshtastic ne sert que d’émetteur-récepteur radio, aussi le module GPS et l’écran sont inutiles dans ce cas, car l’écran du smartphone sera utilisé et le smartphone enverra les informations de localisation fournies par son propre GPS interne. Le module GPS peut cependant être utile dans le cas d’une utilisation mobile de votre nœud Meshtastic.

Dans ce tutoriel j’utilise le kit XIAO nRF52840 & Wio-SX1262 de SeeedStudio. Ce kit combine un microcontrôleur nRF52840 et un émetteur-récepteur LoRa SX1262. Ce kit est compact et son prix est particulièrement attractif ! Comme je n’ai pas besoin d’écran ce module est parfait pour mon utilisation. Il est possible d’y adjoindre un module GPS dans le cadre d’une utilisation mobile.

Ce kit faisant partie de la liste du matériel supporté par Meshtastic, l’installation du firmware Meshtastic sur la carte nRF52840 s’effectue simplement à partir de cette URL : https://flasher.meshtastic.org/ Il est nécessaire d’utiliser un navigateur supportant l’API WebSerial (Chrome ou Edge).

Cliquer sur ‘Select Target Device‘ et sélectionner la carte ‘Seeed Xiao NRF52840 kit‘. La dernière version stable du firmware est automatiquement sélectionnée.

Connecter la carte XIAO nRF52840 sur un port USB de votre ordinateur. Cliquer deux fois sur son bouton ‘Reset‘, la carte apparaît alors comme un stockage de masse. Télécharger le firmware Meshtastic au format UF2 (firmware-seeed_xiao_nrf52840_kit-2.6.4.b89355f.uf2 le 25 mai 2025) puis le glisser-déposer dans le stockage de masse.

La carte va redémarrer et le stockage de masse disparaître. Votre nœud Meshtastic devrait maintenant être opérationnel, la LED interne du module nRF52840 émettant un flash vert toutes les secondes.

Configuration de base de votre nœud Meshtastic

Nous devons maintenant configurer le nœud Meshtastic, nous allons le faire à partir de l’application Meshtastic sur smartphone. La procédure de configuration est très bien décrite sur documentation du site Meshtastic. Dans un premier temps, nous allons conserver les paramètres par défaut et ne configurer que la région d’utilisation, indispensable afin de respecter la réglementation en vigueur dans votre pays.

La première étape consiste à jumeler votre nœud Meshtastic avec votre Smartphone. Le code d’appairage Bluetooth par défaut sur ce module est 123456.

Il faut ensuite configurer votre région. Habitant en France, il y a deux options possibles dans la bande ISM :

  • EU_433 : European Union 433MHz
  • EU_868 : European Union 868MHz

Le module Wio-SX1262 ne supportant que la bande de fréquences 862-930MHz, le choix se limite à la bande 868MHz pour la France.

La configuration du canal par défaut est la suivante :

  • Nom du canal : LongFast
  • Clé de chiffrement : AQ== (ce qui correspond à l’encodage de 0x01 en base64)

La configuration LoRa par défaut est la suivante :

  • Modem preset : LONG_FAST (compromis entre portée et rapidité)
  • Décalage de fréquence (Frequency offset) : 0.0 MHz
  • Plage de fréquence (frequency plan) : EU_868
  • Nombre maximal de saut (Hop limit) : 3
  • Puissance Tx (TX power) : 27 dBm
  • Créneau de fréquence (frequency slot) : 1
  • Fréquence de substitution (Override frequency) : 869,525 MHz

Cette configuration vous permet d’échanger des messages avec tous les nœuds à portée qui utilisent également cette configuration par défaut. Votre position approximative est également partagée avec les autres utilisateurs du réseau. La précision de localisation par défaut est configurée à 2,9 km, ceci afin d’éviter de vous localiser trop précisément (vous pouvez bien entendu activer la localisation précise si vous le souhaitez).

Le lien entre la fréquence et le créneau et la fréquence LoRa peut être calculée via grâce à ce calcultateur de fréquence.

Rôle CLIENT ou CLIENT_MUTE

Un nœud Meshtastic peut jouer différents rôles, choisir le rôle correspond à l’usage de votre nœud est essentiel à l’efficacité du réseau maillé. Cette page et cette vidéo (en anglais) explique en détails ces rôles. Ici je vais juste expliquer les rôles CLIENT et CLIENT_MUTE, car ce sont probablement les rôles que vous allez utiliser pour débuter sur le réseau Gaulix.

CLIENT est le rôle par défaut dans Meshtastic, et le plus polyvalent. Lorsqu’un nœud est configuré avec le rôle CLIENT, il peut envoyer, recevoir, mais aussi répéter (relayer) et router les messages d’autres appareils du réseau. Ce type de nœud permet d’étendre la portée du réseau et d’assurer une meilleure couverture, car chaque CLIENT peut aider à transmettre les messages d’autres utilisateurs. Ce rôle est recommandé pour les appareils qui sont bien placés (par exemple, sur un toit ou dans une zone dégagée) et lorsqu’il y a peu de nœuds autour.

Le rôle CLIENT_MUTE est similaire au rôle CLIENT, mais avec une différence clé : il ne répète ni ne route les messages des autres appareils. Un nœud CLIENT_MUTE peut uniquement envoyer et recevoir ses propres messages, mais il ne contribue pas à la transmission des messages d’autres nœuds. Ce rôle est recommandé dans les environnements à forte densité de nœuds. Cela permet de réduire la congestion du réseau, et d’éviter que trop de nœuds ne relaient les mêmes message.

Attention, si vous êtes débutant, évitez d’utiliser les rôles ROUTER, ROUTER_LATE ou REPEATER. La mauvaise utilisation de ces rôles peut avoir un impact négatif sur le réseau. En effet, un message peut atteindre son destinataire en effectuant un nombre limité de saut, configuré par le paramètre “hop limit“. Le passage par un routeur compte comme un saut, et il faut donc limiter le nombre de routeur, qui doivent rester le plus éloigner possible les uns des autres.

Dans l’exemple illustré ci-dessous, le message arrive bien dans le premier cas après avoir traversé 3 routeurs. Mais dans le second cas, un nœud supplémentaire a été configuré en ROUTER. Cela va réduire la portée du réseau maillé, car le message va atteindre son nombre de saut maximum avant d’avoir atteint sa destination. On voit sur le troisième cas que si ce nœud supplémentaire avait été configuré en CLIENT, il n’aurait pas créé cet impact négatif sur le maillage. Il aurait pu relayer les messages (car un client peut relayer les messages), mais comme le ROUTER est prioritaire, le message est passé par le ROUTER.

Recommandations pour utiliser Meshtastic comme moyen de communication au sein d’une cellule de crise

Dans le cadre de la gestion de crise, Meshtastic pourrait s’avérer être un outil utile pour maintenir une communication minimale en cas de crise majeure. En effet, une rupture de l’approvisionnement électrique à l’échelle régionale entraîne rapidement la défaillance des infrastructures de communication radio traditionnelles. Grâce à Meshtastic, les membres de la cellule de crise peuvent continuer à échanger des informations cruciales, assurant ainsi une coordination efficace même dans les situations les plus critiques.

Intégrer le déploiement d’appareils Meshtastic pour les membres de la cellule de crise est une mesure à étudier dans le Plan de Continuité d’Activité (PCA). Il est essentiel de garantir que tous les membres se trouvent dans une zone couverte par ce réseau maillé. Pour un site industriel, l’installation préalable d’un nœud Meshtastic sur place assurera une couverture radio LoRa optimale, chaque nœud offrant une portée de plusieurs kilomètres.

Exemple d’échange sur un canal privé utilisé par une cellule de crise

La création d’un canal privé dédié à la cellule de crise est indispensable, la procédure est expliquée dans le chapitre suivant.

Création d’un canal privé avec des échanges chiffrés

Nous allons créer un canal privé sur lequel les messages seront chiffrés. Cela permettra de communiquer de manière sécurisée au sein d’un cercle restreint de personnes.

Aller dans le menu ‘Channels‘ et appuyer sur ‘+‘ pour créer un nouveau canal. Donner un nom à ce canal et définir une clé de chiffrement (PSK) robuste. La clé de chiffrement doit avoir une taille de 32 octets pour assurer un bon niveau de chiffrement (AES256). Une clé de 16 octets correspond à un chiffrement AES128, et une clé vide indique qu’aucun chiffrement ne sera utilisé (les messages transiteront en clair).

Une fois ce nouveau canal créé il apparaît dans la liste de canaux en tant que canal 1 (le canal 0 étant le canal primaire créé par défaut).

Vous devez partager le nom du canal et sa clé de chiffrement aux personnes avec lesquelles vous souhaitez communiquer sur ce canal. Cela doit être fait en transmettant de manière sécurisée ces 2 informations.

Le QR code Meshtastic permet de partager rapidement la configuration LoRa et les paramètres des canaux, facilitant ainsi la configuration de plusieurs nœuds. Les membres de l’équipe pourront tout simplement scanner ce QR pour appliquer tous les paramètres de canal et de configuration LoRa à leur nœud Meshtastic.

Une fois ce canal créé et paramétré, il est possible de communiquer en toute sécurité avec les autres membres de l’équipe sur ce canal privé.

Consommation d’énergie

J’ai effectué la mesure sur le kit XIAO nRF52840 & Wio-SX1262 de SeeedStudio, qui combine un microcontrôleur nRF52840 et un émetteur-récepteur LoRa SX1262.

La consommation électrique mesurée était d’environ 11,7 mA sans transmission LoRa et de 107,6 mA pendant la transmission du message (durée inférieure à 1 s). Ce qui permet par exemple une autonomie supérieure à 72h en utilisant une batterie USB externe de 10.000 mAh.

Vous trouverez sur cette page un comparatif de consommation électrique de quelques modules Meshtastic.

Meshtastic en région Parisienne

Le réseau Meshtastic Île de France est particulièrement bien maillé sur la bande EU 868. Ce réseau utilise les préréglages modem LONG_FAST sur la fréquence 869,3 MHz (différente de la fréquence par défaut).

Nœuds Meshtastic sur la fréquence 869,3 MHz en Île de France

La configuration pour ce réseau Meshtastic Île de France est détaillée sur le wiki, voici mes conseil de configuration pour les principaux paramètres :

MenuParamètreValeur
Menu principalRegionEU_868
UserLong nameLibre
UserShort nameLibre
DeviceRoleCLIENT_MUTE
DeviceRebroadcast modeLOCAL_ONLY
DeviceNodeInfo broadcast interval14400
PositionPosition broadcast interval28800
PositionSmart position enabledNon
PositionUse fixed positionOui
PositionLatitudeVotre latitude
PositionLongitudeVotre longitude
PositionAltitudeVotre altitude
LoRaModem presetLONG_FAST
LoRaHop Limit5
LoRaOverride frequency (MHz)869.3

Le réseau Gaulix

Notez la création du réseau communautaire Français Gaulix. Ce réseau se base sur Meshtastic, mais n’utilise pas ses réglages par défaut. Le côté positif est que ces réglages sont bien pensés et optimisés, mais son pendant négatif est que son maillage reste faible dans certaines zones. Il y a par exemple très peu de nœuds Gaulix en région Parisienne, où un réseau est plus actif sur une autre fréquence (voir chapitre précédent). Gaulix n’est pas seulement un réseau, c’est aussi une communauté active, où se rencontrent des passionnés de technologie. Pour les personnes intéressées par cette initiative j’ai écrit ce petit tutoriel.

Conclusion

Face au risque réel de blackout ou de défaillance des réseaux traditionnels, Meshtastic pourrait offrir une solution intéressante grâce à son architecture décentralisée et autonome, reposant sur la technologie LoRa. Ce réseau maillé permet de maintenir la communication sans dépendre d’Internet ou du réseau mobile, ce qui le rend particulièrement pertinent en situation d’urgence ou dans les zones isolées. Toutefois, l’efficacité et la portée de Meshtastic dépendent directement du nombre de nœuds actifs : plus le réseau est dense, plus il devient robuste et fiable. Il est donc essentiel que la communauté s’engage à déployer davantage de dispositifs pour garantir la résilience de cette technologie. Seule une densification du réseau permettra à Meshtastic de s’imposer comme une véritable alternative de communication lors de crises majeures.

Cependant, il demeure essentiel d’analyser plus en profondeur la résilience de Meshtastic, notamment face à la menace d’attaques par déni de service dont il pourrait lui-même être la cible. Ce sujet fera l’objet d’un prochain article sur ce blog.

J’espère que vous aurez apprécié cet article, n’hésitez pas à laisser un commentaire et à le noter en cliquant sur les étoiles ci-dessous.

How useful was this post?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 2

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?