Règles de base MeshCore (fréquences, noms, canaux, régions…)

Afin d’essayer d’homogénéiser au mieux les échanges via MeshCore, échanges qui voyagent désormais au delà de nos frontières, voici quelques recommandations :

Fréquence

Nous utilisons le réglage dit « EU/UK (Narrow) » à savoir :

  • Fréquence : 869.618 MHz
  • Largeur de bande (Bandwidth) : 62.5 kHz
  • Spreading factor (SF) : 8
  • Coding Rate (CR) : 8

Nommage des nœuds

Pour la France nous recommandons une approche quasi identique à ce que nous avons conseillé pour Meshtastic, à savoir :

  • 2 chiffres pour le département (3 pour les DOM)
  • 4 lettres pour la ville (en reprenant les règles Meshtastic)
  • Ensuite ce que vous voulez
  • Maximum 31 caractères (attention les émoticônes et certains caractères accentués comme le ç ou le à en consomment 2) et certaines applications coupent l’affichage largement avant 31 caractères, essayez de rester en dessous d’une vingtaine, ou en tout cas de mettre les informations les plus importantes au début.
  • Nous avons constaté que pour les compagnons, utiliser un nom de plus de 22 caractères pouvait ensuite entrainer un problème dans leur nom « Bluetooth », donc essayez d’éviter de dépasser cette limite.

Exemple pour un nœud en Charentes à Champagne-Mouton : « 16CHAM château d’eau ».

Nota : certains appareils à écran intégré (T-deck par exemple) peuvent avoir des problèmes pour afficher les caractères accentués et les émoticônes.

Risque de doublon

Les répéteurs sont couramment identifiés par les 1 seul octet, ce sont les 2 premiers caractères hexadécimaux de leur clé publique, par exemple « 2B » ou « FA ». Problème, cela ne fait que 256 possibilités, et parfois on se trouve avec 2 répéteurs proches qui ont les mêmes 2 digits, cela n’a aucune incidence sur la bonne transmission des messages, mais rend confus la compréhension du parcours des messages : par quels répéteurs est-il passé avant d’arriver à vous.

Depuis les versions 1.14 il est possible d’utiliser 2 (ou 3) octets. Nous vous recommandons désormais de les utiliser. Pour ce faire :

  • mettez à jour si nécessaire tous vos répéteurs, puis, via l’administration à distance, icône « ligne de commande », tapez la commande suivante pour chaque répéteur :
    set path.hash.mode 1
  • sur tous vos compagnons, connectez-vous y (généralement en Bluetooth), rendez-vous à la section « paramètres expérimentaux » et réglez la taille d’en-tête à « 2 octets ». Sauvegardez.

Règles pour les canaux « hashtag »

Pour faciliter les échanges aux niveaux locaux, départementaux et nationaux… nous recommandons la création de canaux hashtag sur le principe suivant, sachant que ces canaux ne peuvent contenir que des lettres minuscules sans accents, des tirets et éventuellement des chiffres (donc pas d’espace, de caractère spécial, de ç ou autre) :

  • Le nom de votre commune, par exemple #lyon, #paris, #saint-germain-en-laye… Nous vous invitons à utiliser les noms complets des communes, notamment lorsqu’il risque d’y avoir des doublons en France. Par exemple il y a de nombreux Saint-Germain (en Laye, / des Fossés / Lès Arpajon…). Utilisez des tirets pour séparer les mots, c’est d’ailleurs la règle officielle.
  • le nom de votre département, par exemple #gironde, #loire-atlantique, #rhone… même chose, un tiret entre les mots.
  • le nom de votre région, par exemple #bretagne, #nouvelle-aquitaine… si ça vous semble pertinent pour votre usage.
  • et #france qui nous semble également pertinent, même s’il est probable que le canal Public soit utilisé à la place au départ. Ca peut être utile notamment pour éviter le trafic international sur Public dans les zones frontalières.

Vous êtes libres bien entendu d’en rajouter d’autres pour vos usages locaux (regroupement de communes, thématique…). Un canal #adrasec ou #rcsc a donc toute sa pertinence.

Un canal #test est également utilisé à l’échelle internationale, pour – vous vous en doutez – effectuer des tests sans trop déranger les autres.

Règles pour les régions

Résumé :
– Ajoutez à vos répéteurs les régions suivantes :

  • eu
  • fr
  • fr-XXX (où XXX est le code de votre région française, par exemple « fr-naq » pour la Nouvelle Aquitaine)
  • fr-YY (où YY est le numéro de votre département, par exemple « fr-17 »).

– Aussi bien pour les répéteurs que les compagnons, définissez la région par défaut à « fr » :

  • Pour les répéteurs C’est dans le menu en haut à droite dans la gestion des régions dans l’interface d’administration à distance.
  • Côté compagnons ça se trouve dans les réglages expérimentaux.

– Pour les canaux qui n’ont pas vocation à être relayés dans toute la France, choisissez la région la plus adaptée. Par exemple « fr-17 » pour #la-rochelle.

Pour vous aider, voici un générateur de régions :

Nota : la partie « CLI » c’est si vous préférez taper les commandes sur votre répéteur plutôt que d’utiliser l’interface graphique. Les lignes « region allowf… » ne sont nécessaires que si votre répéteur a un firmware <= 1.14.1

Les plus simple pour ajouter ces régions est de se rendre dans la partie « Gérer les régions  » de l’administration à distance de vos répéteurs, et ajoutez-les. Assurez-vous que chacune est bien en « tout le réseau autorisé » (icône coche verte).

Pour l’instant LAISSEZ la région « * » activée SAUF si vous avez un répéteur clairement frontalier avec un pays étranger dont vous ne souhaitez pas relayer les messages. Par exemple votre répéteur fait le pont avec l’Angleterre : pour éviter de transmettre ensuite sur tout le réseau français une masse colossale de messages anglais sans régions (et de cramer votre temps d’émission au passage), bloquez tout ce qui n’a pas de région définie en passant « * » à « refuser tout le réseau ».

Profitez-en pour configurer la région par défaut du répéteur à « fr » :

Bonus :

Si vous recevez du trafic en langue étrangère qui vous semble non pertinent, vous pouvez limiter les messages « sans région » ayant déjà fait un certain nombre de sauts. Ainsi si un Anglais écrit depuis Londres un message sans région, qu’il est répété 12 fois avant de finalement atterrir sur votre répéteur, vous pouvez le bloquer via la commande :

set flood.max.unscoped 5

A vous d’adapter le nombre de sauts (5 dans la commande ci-dessus). L’idée étant de le laisser supérieur à 1 afin de permettre aux nouveaux arrivants MeshCore autour de vous, qui n’ont pas encore configuré les régions, de communiquer, mais de bloquer le trafic sans région venant de loin, qui ne vous intéresse probablement pas. Une valeur à 2 n’est pas délirante pour les région frontalières.

Explications détaillées :

MeshCore propose un système de « régions » (au sens « zones géographiques », et pas spécifiquement relatives à nos régions françaises officielles) afin d’éviter que chaque message soit répété à l’autre bout du monde même si les répéteurs le permettent. Il faut donc une structure cohérente entre les répéteurs et les utilisateurs pour définir ces régions. Il faut bien comprendre que le réseau LoRa est une ressource limitée, même si techniquement l’Angleterre pourrait communiquer avec l’Italie en traversant la France, il va falloir limiter l’occupation du réseau afin qu’il reste disponible pour les usages les plus pertinents. Ces restrictions s’imposeront d’elles-mêmes au fil du temps et de l’évolution du nombre d’utilisateurs, mais il nous semble crucial de prendre de l’avance dès que possible en paramétrant ces régions sur vos répéteurs et en commençant à les utiliser AVANT que le réseau soit saturé et que son usage devienne difficile à cause d’un trafic inutile trop important.

Le concept global est le suivant :

  • la localisation géographique de chaque répéteur est définie via une liste de régions plus ou moins grandes (par exemple département<région<pays).
  • lorsqu’on envoie un message sur un canal (publique ou privé) chaque utilisateur va spécifier quelle portée il souhaite donner à son message, doit-il s’arrêter aux frontières de son département ou aller inonder la France par exemple.
  • Les messages directs (d’un compagnon à un autre) ne sont pas (trop) affectés par le système de région (voir la notion de « région par défaut » plus loin).

Les spécifications officielles permettent :

  • longueur maximale 30 caractères sachant que plus c’est court moins ça rajoute de poids aux messages.
  • seulement des caractères minuscules, des chiffres et des tirets (tiret du 6 : -)

Par défaut une région « * » est créée et veut dire que le répéteur relaie l’ensemble des messages NON associés à des régions.

Voici nos recommandations pour le nommage des régions :

Réfléchir en terme de peau d’oignon. Pour un répéteur situé par exemple à La Rochelle, il est donc certes dans cette ville, qui elle-meme se trouve en Charente-Maritime, qui se trouve en Nouvelle-Aquitaine, qui se trouve en France. C’est donc l’ensemble de ces 3 régions qu’on va ajouter au répéteur.

Attention : on définit les régions en terme de localisation géographique uniquement et non pas d’usage. (« rcsc », « adrasec » ou « les-repeteurs-des-potes » n’ont aucune raison d’être une région par exemple).

Pour définir ces zones, nous recommandons autant que possible l’utilisation des codes ISO de ces éléments. Il n’est pas forcément nécessaire de descendre au niveau de la ville/commune. Pour l’instant le département est suffisant.

-> Europe :

Sujet à débat (voir plus bas). Nous essayons de permettre à ceux qui veulent essayer de dépasser les frontières pour certains échanges de le faire. C’est globalement une mauvaise idée de chercher à envoyer un message à toute l’Europe, mais c’est pour l’instant le seul moyen de permettre des messages (même directs) au delà des frontières dès lors qu’on commence à utiliser les régions. C’est plus intelligent que de ne pas mettre de région du tout, et c’est donc une bonne idée pour inciter à utiliser le système de régions. Cela permet également de séparer les gens qui cherchent activement à contacter l’Europe de ceux qui n’ont rien configuré en terme de régions et de leur appliquer des règles différentes.

Pourquoi « eu » et non pas « europe » ? Parce que « europe » c’est le nom de l’Europe en français (et quelques autres langues), mais ça n’a rien de très international. Actuellement « eu » est déjà largement utilisé par d’autres pays.

-> Pays :

Pour le Pays, nous utilisons le code ISO 3166-1 dit « alpha 2 », c’est à dire à 2 chiffres. Pour la France c’est donc : « fr »

La version 1.15 des firmwares / 1.43 de l’application MeshCore introduit également la notion de région par défaut, c’est également « fr » que nous recommandons, cela se fait via 2 moyens :

  • pour vos compagnons : allez dans les réglages expérimentaux et ajoutez la région « fr » par défaut. (bouton +, tapez fr, validez sélectionnez le « fr » que vous venez de créer et validez.
  • pour vos répéteurs : tapez la commande « region default fr » ou faites-le via d’administration à distance comme montré sur les captures plus haut.

Ainsi quoi qu’il se passe vos actions seront limitées à la France (adverts, tentative de contact via flood/tout le réseau, par exemple lorsque vous essayez d’envoyer un message direct à un contact et que le chemin précédemment utilisé ne fonctionne plus…). C’est une bonne pratique pour éviter de déborder sur les pays voisins (sauf si c’est ce que vous recherchez bien sûr).

-> Régions Françaises :

Liste des lettres des régions du territoire Français :

La norme ISO 3166-2 définit les codes de régions de la manière suivante :

Code ISO 3166-2 (converti en minuscules)Nom de la région
fr-araAuvergne-Rhône-Alpes
fr-bfcBourgogne-Franche-Comté
fr-breBretagne
fr-cvlCentre-Val de Loire
fr-20rCorse
fr-gesGrand Est
fr-hdfHauts-de-France
fr-idfÎle-de-France
fr-norNormandie
fr-naqNouvelle-Aquitaine
fr-occOccitanie
fr-pdlPays de la Loire
fr-pacProvence-Alpes-Côte d’Azur

-> Départements :

Et des départements :

Pour descendre au niveau des départements si on suit la même norme ISO, cela donne :

CodeNom du département
fr-01Ain
fr-02Aisne
fr-976Mayotte

Ce qui est unique, court et très facilement compréhensible pour tout le monde. En utilisant ce code plutôt que le nom du département en lettres, on s’assure d’une meilleure uniformité (pas de problèmes avec les majuscules, accents, tirets, fautes de frappe…).

Quelques exemples, pour un répéteur dans une ville donnée, voici la liste des régions MeshCore à ajouter :

(autour de) Nantes(autour de) Bordeaux(autour de) Lyon
– eu
– fr
– fr-pdl
– fr-44
-eu
– fr
– fr-naq
– fr-33
– eu
– fr
– fr-ara
– fr-69

De cette manière il est configuré pour accepter les différents degrés de précision géographiques (ex : France>Pays de la Loire>Loire-Atlantique) que les compagnons pourront utiliser ensuite.

Vous pouvez également rajouter d’autres « régions » dans les paramètres de vos répéteurs. En plus des recommandations officielles, rien ne vous empêche de créer une « région » regroupant quelques communes d’un même groupe (votre communauté de communes par exemple), de les ajouter sur vos répéteurs, et de paramétrer sur vos compagnons un canal qui se limitera à cette région.

Historiquement nous utilisions également les codes IATA des aéroports (LYS, BOD, …) mais cet usage n’a plus sa place pour les régions. Il sert encore pour les analyseurs de paquets via internet, mais ça ne devrait pas trop vous impacter. Si vous voulez l’ajouter à votre liste, libre à vous, avoir plus de région de définies sur son répéteur n’est pas un souci.

Enfin on peut se demander sur un répéteur peut avoir le code d’un département (voire pays) voisin. Globalement non, SAUF s’il participe activement au routage de messages pour ladite région. Imaginons un répéteur sur l’un des points les plus hauts du nord de la Vendée (le Mont des Alouettes), et qui rayonne largement sur la Loire-Atlantique, permettant l’interconnexion de zones en Loire-Atlantique qui seraient autrement nettement moins couvertes, voire isolées. Ajouter fr-44 dans la liste des régions de ce répéteur est pertinent car il sert à faire transiter des messages à l’intérieur de la Loire-Atlantique. On peut imaginer la même chose à la frontière Franco-Suisse par exemple.

Association « canaux-régions »

OK, chaque répéteur a sa liste de « régions MeshCore » dans lesquelles il se trouve, mais pour l’instant ça ne fait pas grand chose.

Le plus important va donc être pour chacun des canaux que vous souhaitez utiliser, de définir sur votre compagnon vers quelle région vous souhaitez voir vos messages relayés. Prenons quelques exemples concrets :

  • Si vous créez un canal #la-rochelle il sera pertinent de le limiter à la région « fr-17 »
  • A l’inverse pour le canal Public, qui sert notamment pour les premiers échanges parfois surprenants avec des contacts très éloignés, vous pouvez le limiter à la région « fr ».

On parle alors de taguer une région à un canal., ou de définir une portée (un scope en anglais) Un répéteur n’a pas de canaux, seuls les compagnons en ont, c’est vous qui les définissez et qui taguez quels canaux doivent être relayés vers quelles régions.

Actuellement la majorité des répéteurs relaient l’intégralité des régions, car le paramétrage est « informatif » (il laisse encore passer tous les messages qui n’ont pas de région définie grâce à la directive « * »). Quelques répéteurs frontaliers viennent d’avoir une configuration plus restrictive et rejettent désormais tous les canaux qui n’auraient pas explicitement de région définie (la région « * » est refusée). L’objectif étant de rejeter par exemple le trafic du canal Public issu de l’Allemagne, la Pologne… afin de ne pas saturer les répéteurs français de messages en langues étrangères.

Il est donc important d’anticiper les restrictions à venir :

  • tout d’abord en définissant des régions sur vos répéteurs, en laissant la région « * » dans un premier temps afin d’autoriser le trafic qui n’aurait pas encore de région spécifiée.
  • puis lorsque les répéteurs autour de vous auront bien des régions définies, vous définirez vers quelles régions seront transmis vos messages canal par canal.

Le couple canal-région va donc filtrer quels répéteurs répèteront ou non votre message. Reprenons l’exemple de le Rochelle, votre canal #la-rochelle est donc restreint à la région « fr-17 ». Lorsque vous envoyez un message sur ce canal, il va être répété de répéteur en répéteur tant que dans leur liste il y a bien « fr-17 » comme région. Le premier répéteur du département voisin qui aura par exemple comme régions « fr + fr-naq + fr-16 » recevra le message, comme fr-17 n’est pas dans sa liste, il ne relaiera pas votre message. Si jamais le message rencontre un répéteur qui n’a pas de régions explicitement définies (c’est-à-dire qu’il a juste « * » de défini), alors le message ne sera pas répété non plus.

Un autre exemple pour un canal #gironde :

Vous pouvez ajouter plusieurs régions à un canal, mais elles ne sont pas actives en même temps (ça viendra peut-être dans le futur), vous pourrez juste basculer rapidement de l’une à l’autre en fonction de la portée que vous souhaitez donner à votre message. Par exemple un canal #adrasec pourrait avoir « fr-64 » + « fr-naq » + « fr » de préréglés, et pour un message concernant les Pyrénées on se contentera de choisir « fr-64 », mais si en cas de crise on veut relayer une information à l’ensemble des membres adrasec du territoire français, on peut facilement basculer sur « fr ». Pour basculer il suffit de cliquer sur l’intitulé du canal et de choisir la région souhaitée avant d’envoyer son message.

Le fait de conserver la région « * » va permettre dans un premier temps aux personnes ne spécifiant pas encore de région pour leur canal de continuer à envoyer des messages. Le * ne veut pas dire que le répéteur laisse tout passer, mais qu’il laisse passer tous les messages qui n’ont pas de région associée à leur canal, c’est à dire qu’aucune région n’est taguée pour ledit canal.

  • Cela permet une compatibilité des usages tant que tout le monde n’a pas pris cette habitude. Si j’écris sur Public sans taguer de région spécifique, le message sera bien relayé à tout le monde.
  • A l’inverse, le fait d’avoir ajouté des régions dans les répéteurs permet à ceux qui commencent à taguer leurs canaux de communiquer également, en restreignant le trafic de manière intelligente
  • Et ceux qui auront tagué une région (ex : un Allemand aura tagué « de » sur son canal Public) et que cette région n’est pas dans la liste des régions d’un répéteur frontalier verront leur messages bloqués intelligemment.

Si votre répéteur est à la jonction avec un pays voisin et que vous souhaitez empêcher le trafic « non tagué » d’aller inonder la France, vous devrez rapidement passer cette région « * » en « refuser ». Ainsi seul le trafic associé à une région spécifique de votre répéteur sera accepté.

Si vous regardez la documentation vous découvrirez qu’on peut « imbriquer » des régions, pour faire en sorte par exemple que « fr-33 » soit enfant de « fr-naq », qui elle même serait enfant de « fr ». En pratique – actuellement – c’est purement cosmétique, donc sans intérêt. Ça servira peut-être par la suite, mais dans l’immédiat ça n’a pas d’utilité.

Europe, vraiment ?

Un complexe débat a eu lieu sur la pertinence de la région « eu » pour l’Europe. Elle peut servir pour des communications au delà des frontières, mais il y a un risque que le trafic envoyé sur une telle région devienne massif. Dès que l’ensemble des pays européens seront en permanence en capacité de communiquer (on n’en est plus très loin) il suffit que quelques centaines de personnes de chaque pays définissent cette région comme celle par défaut pour leur matériel (compagnons et répéteurs) pour risquer de saturer l’espace radio. L’humain ayant tendance à se dire « je veux que mes messages aillent le plus loin possible, autant prendre la région la plus grande ». Néanmoins c’est un choix pertinent parce qu’il permet avant tout de séparer 2 types de trafic :

  • Celui de ceux qui n’ont encore rien configuré sur leurs compagnons/répéteurs (pas de région) ou qui s’en fichent de polluer le réseau.
  • Celui de ceux qui veulent expressément contacter des gens hors de leur propre pays. l’idée est tentante, parce que l’esprit de nombreux radio-amateurs est de pouvoir communiquer le plus loin possible. C’est également – actuellement – la seule solution pour les échanges inter-pays (hors situations frontalières dont nous reparlerons plus bas).

Pour l’instant le constat fait est qu’il faut avant tout réduire le trafic « sans région » et inciter les gens à utiliser ce système de régions. Car en pratique le constat fait est que ceux qui cherchent à « aller loin » n’appliquent tout simplement pas de région, ce qui est encore pire, le trafic pouvant dépasser les frontières de l’Europe.

Ainsi avec des régions, mêmes larges d’un côté et le trafic « sans région » de l’autre, on peut appliquer des règles différentes :

  • Rapidement mettre en place un blocage du trafic provenant de + de X sauts non tagué avec une région (max flood unscoped, expliqué plus haut), ce qui permet de bloquer tout le « bruit » sans intérêt à l’échelle locale (les discussions incohérentes/incomplètes sur le canal Public, les annonces des répéteurs à l’autre bout de l’Europe…)
  • Laisser passer le trafic explicitement tagué avec la région « eu » tant qu’il n’est pas problématique.
  • Si une situation particulière (crise) entraine une augmentation massive du trafic MeshCore, qui risque de mettre en péril la stabilité du réseau (dépassement du temps d’émission légal autorisé) il sera alors assez simple de bloquer la région « eu » sur les répéteurs. Comme entre temps tout le monde taguera proprement ses messages (on peut rêver) avec des régions plus petites, cela n’aura pas d’impact sur le trafic local.

Il reste donc ces cas compliqués, pour lesquels trouver la meilleure solution s’avère difficile. Comment faire pour justement échanger entre le sud-est de la France et la Suisse francophone ? Même chose pour la Belgique ? Comme indiqué plus haut, on ne peut pas (pour l’instant en tout cas) taguer un canal avec par exemple les codes des départements/cantons limitrophes mais de pays différents. On a donc cette fameuse région « eu » qui englobera les 2 côtés, mais cela sera également contre-productif : chaque message d’un canal destiné à une petite population de chaque côté de la frontière serait alors relayé dans toute l’Europe. Pour l’instant le plus logique – si vraiment on veut échanger sur un canal commun entre la Haute-Savoie et Genève – est d’ajouter le nom de la région voisine sur ses répéteurs, donc que les français ajoutent « ch-fr » (la région que les Suisses ont choisi pour la Suisse francophone) sur leurs répéteurs et les Suisses « fr-74 », même si ça sort de la logique « oignon » des degrés de précision de la localisation du répéteur. C’est un peu cracra, mais ça fonctionne… Une autre solution est la création d’une région MeshCore spécifique dédiée à cet usage, par exemple « frontiere-74-ch » et que des 2 côtés cette région soit utilisée pour taguer un canal « #frontaliers » par exemple. On le répète : MeshCore est en pleine évolution, il faut juste suivre et s’adapter au fil des améliorations. Il y a des propositions qui semblent techniquement viables (filtres bloom) pour permettre l’utilisation de 2 régions au sein d’un même paquet, sans mais pour l’instant ça n’est pas développé. Peut-être dans un futur proche…

Pour conclure on pourra se tordre le cerveau pour trouver les cas où les régions vont poser problème, comme le Marseillais en vacances en Bretagne qui veut continuer à lire les échanges de ses copains sur #marseille qui eux continuent de limiter la propagation de leurs messages à « fr-13 », ou l’Anglais en voyage en Espagne… A ce moment là il faudra se rappeler qu’on parle de MeshCore, un outil basé sur un réseau communiquant à moins d’1 kbit par seconde, avec une restriction à 10% du temps d’émission (6 minutes par heure, soit environ 300 messages maxi par heure, incluant les adverts des répéteurs) et tournant sur des cartes qui font passer certaines calculatrices pour des monstres de puissance ! Donc non, MeshCore n’a pas vocation à transmettre tous les messages de tout le monde où qu’il soit vers n’importe-où dans le monde et il faudra comprendre et accepter ses limitations pour préserver sa fiabilité du réseau pour les usages les plus importants qui ont lieu généralement à une échelle plus locale.

Et n’oubliez pas que le système de régions n’est pas là pour empêcher quelqu’un d’envoyer un message loin. Ce n’est pas un filtrage idéologique, c’est un outil qui a pour but d’inciter chaque utilisateur à protéger le réseau en choisissant la portée de chaque message. « Pour que toi tu puisses avoir du temps radio disponible pour tes messages, moi je fais l’effort de limiter la propagation des miens dès que je sais que ça n’est pas nécessaire de les relayer partout ». Et pour ressortir une vieille maxime des « années SIDA » : quand tu te protèges, tu me protèges !

Nous avons également fait un article « 10 idées reçues sur les régions MeshCore », n’hésitez-pas à le consulter pour renforcer votre compréhension du système.

Ces recommandations pouvant être amenées à évoluer, n’hésitez pas à revenir régulièrement sur cette page.

Dernière mise à jour : 19 juillet 2026.