Retour aux mises à jour
New releaseAug 9, 2026

MeshCore room-server-v1.17.0

Un nouveau protocole de routage maillé léger et hybride pour les radios par paquets

Partager

À propos de MeshCore

MeshCore est une bibliothèque C++ légère et portable qui permet le routage de paquets multi-sauts pour les projets embarqués utilisant LoRa et autres radios par paquets. Elle est conçue pour les développeurs qui souhaitent créer des réseaux de communication résilients et décentralisés fonctionnant sans Internet.

🔍 Qu'est-ce que MeshCore ?

MeshCore prend désormais en charge une gamme d'appareils LoRa, permettant un flashage facile sans avoir à compiler le firmware manuellement. Les utilisateurs peuvent flasher un binaire préconstruit à l'aide d'outils comme Adafruit ESPTool et interagir avec le réseau via une console série. MeshCore permet de créer des réseaux maillés sans fil, similaires à Meshtastic et Reticulum mais avec un accent sur le routage de paquets multi-sauts léger pour les projets embarqués. Contrairement à Meshtastic, qui est adapté à la communication LoRa occasionnelle, ou à Reticulum, qui offre des fonctionnalités réseau avancées, MeshCore équilibre simplicité et évolutivité, ce qui le rend idéal pour les solutions embarquées personnalisées, où les appareils (nœuds) peuvent communiquer sur de longues distances en relayant les messages via des nœuds intermédiaires. Ceci est particulièrement utile dans les situations hors réseau, d'urgence ou tactiques où l'infrastructure de communication traditionnelle est indisponible.

⚡ Fonctionnalités clés

  • Routage de paquets multi-sauts
    • Les appareils peuvent transmettre des messages via plusieurs nœuds, étendant la portée au-delà de la portée d'une seule radio.
    • Prend en charge jusqu'à un nombre configurable de sauts pour équilibrer l'efficacité du réseau et éviter un trafic excessif.
    • Les nœuds utilisent des rôles fixes où les nœuds « Companion » ne répètent pas du tout les messages pour éviter l'utilisation de chemins de routage indésirables.
  • Prend en charge les radios LoRa – Fonctionne avec Heltec, RAK Wireless et autres matériels basés sur LoRa.
  • Décentralisé et résilient – Aucun serveur central ou Internet requis ; le réseau est auto-cicatrisant.
  • Faible consommation d'énergie – Idéal pour les appareils alimentés par batterie ou solaires.
  • Simple à déployer – Des exemples d'applications préconstruits facilitent la prise en main.

🎯 À quoi pouvez-vous utiliser MeshCore ?

  • Communication hors réseau : Restez connecté même dans les zones reculées.
  • Réponse d'urgence et rétablissement après sinistre : Mettez en place des réseaux instantanés là où l'infrastructure est défaillante.
  • Activités de plein air : Randonnée, camping et communication pour les courses d'aventure.
  • Applications tactiques et de sécurité : Cas d'utilisation militaires, forces de l'ordre et sécurité privée.
  • IoT et réseaux de capteurs : Collectez des données de capteurs distants et relayez-les vers un emplacement central.

🚀 Comment commencer

Pour les développeurs :

L'exemple Simple Secure Chat peut être utilisé via le moniteur série dans Visual Studio Code, ou avec un terminal USB série sur Android.

⚡️ Flasheur MeshCore

Nous avons des firmwares préconstruits prêts à être flashés sur les appareils pris en charge.

  • Lancez https://meshcore.io/flasher
  • Sélectionnez un appareil pris en charge
  • Flashez l'un des types de firmware :
    • Companion, Repeater ou Room Server
  • Une fois le flashage terminé, vous pouvez vous connecter avec l'un des clients MeshCore ci-dessous.

📱 Clients MeshCore

Firmware Companion

Le firmware Companion peut être connecté via BLE, USB ou Wi-Fi selon le type de firmware que vous avez flashé.

Firmware Repeater et Room Server

Les firmwares Repeater et Room Server peuvent être configurés via USB dans l'outil de configuration web.

Ils peuvent également être gérés via LoRa dans l'application mobile en utilisant la fonction de gestion à distance.

🛠 Compatibilité matérielle

MeshCore est conçu pour les appareils listés dans le Flasheur MeshCore

📜 Licence

MeshCore est un logiciel open-source publié sous licence MIT. Vous êtes libre de l'utiliser, de le modifier et de le distribuer pour des projets personnels et commerciaux.

Contribuer

Veuillez soumettre les PR en utilisant 'dev' comme branche de base ! Pour les modifications mineures, soumettez simplement votre PR et nous essaierons de la réviser, mais pour tout ce qui est plus 'impactant', veuillez d'abord ouvrir une Issue et engager une discussion. Il est préférable de d'abord exprimer ce que vous souhaitez accomplir, et d'essayer de parvenir à un consensus sur la meilleure approche, surtout lorsque cela affecte la structure ou l'architecture de cette base de code.

Voici quelques principes généraux que vous devriez essayer de respecter :

  • Gardez les choses simples. S'il vous plaît, ne pensez pas comme un programmeur de langage de haut niveau. Pensez embarqué, et gardez le code concis, sans couches inutiles.
  • Pas d'allocation mémoire dynamique, sauf dans les fonctions setup/begin.
  • Utilisez le même style d'accolades et d'indentation que dans les modules source principaux. (Un .clang-format sera probablement ajouté bientôt, mais veuillez NE PAS reformater rétroactivement le code existant. Cela crée des diffs inutiles qui rendent la recherche de problèmes plus difficile)

Aidez-nous à prioriser ! Veuillez réagir avec un pouce levé sur les issues/PR qui vous tiennent le plus à cœur. Nous prenons en compte le nombre de réactions lors de la planification du travail.

Exécution des tests unitaires

Pour exécuter les tests unitaires, exécutez la commande suivante :

pio test --environment native --verbose

Feuille de route / À faire

Il y a un certain nombre de fonctionnalités assez majeures en préparation, sans calendrier particulier pour l'instant. Dans un ordre chronologique très approximatif :

  • Companion radio : refonte de l'interface utilisateur
  • Repeater + Room Server : ajout des ACL (comme le nœud Sensor en a)
  • Standardisation du mode Bridge pour les répéteurs
  • Repeater/Bridge : standardisation des codes de transport pour le zonage/filtrage
  • Core + Repeater : découverte améliorée des voisins à zéro saut
  • Core : prise en charge des chemins manuels aller-retour
  • Companion + Apps : prise en charge de plusieurs sous-mailles (et mode de répétition client 'hors réseau')
  • Core + Apps : prise en charge de la compression de messages LZW
  • Core : CR (Coding Rate) dynamique pour les sauts faibles vs forts
  • Core : nouveau cadre pour héberger plusieurs nœuds virtuels sur un seul appareil physique
  • Spécification du protocole V2 : discussion et consensus autour du protocole de paquets V2, incluant les hachages de chemin, nouvelles spécifications de chiffrement, etc.

📞 Obtenir de l'aide

  • Signalez les bogues et demandez des fonctionnalités sur la page GitHub Issues.
  • Trouvez des guides et composants supplémentaires sur mon site.
  • Rejoignez MeshCore Discord pour discuter avec les développeurs et obtenir de l'aide de la communauté.

Catégories