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 d'autres radios à 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 manuellement le firmware. Les utilisateurs peuvent flasher un binaire précompilé à l'aide d'outils comme Adafruit ESPTool et interagir avec le réseau via une console série. MeshCore offre la possibilité 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. Cela 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 à travers plusieurs nœuds, étendant la portée au-delà de celle d'une seule radio.
    • Prend en charge un nombre configurable de sauts pour équilibrer l'efficacité du réseau et éviter le trafic excessif.
    • Les nœuds utilisent des rôles fixes où les nœuds « Companion » ne répètent pas du tout les messages afin d'éviter l'utilisation de chemins de routage indésirables.
  • Prise en charge des radios LoRa – Fonctionne avec Heltec, RAK Wireless et d'autres matériels basés sur LoRa.
  • Décentralisé et résilient – Aucun serveur central ni internet requis ; le réseau s'auto-répare.
  • Faible consommation d'énergie – Idéal pour les appareils alimentés par batterie ou solaire.
  • Déploiement simple – Des applications d'exemple précompilées facilitent la prise en main.

🎯 À quoi pouvez-vous utiliser MeshCore ?

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

🚀 Comment démarrer

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.

⚡️ MeshCore Flasher

Nous avons des firmwares précompilés 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

Le firmware repeater et room server peut être configuré via USB dans l'outil de configuration web.

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

🛠 Compatibilité matérielle

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

📜 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 vos PR en utilisant 'dev' comme branche de base ! Pour les modifications mineures, soumettez simplement votre PR et nous essaierons de l'examiner, mais pour tout ce qui est plus « impactant », veuillez d'abord ouvrir une Issue et lancer une discussion. Il est préférable de sonder d'abord ce que vous souhaitez accomplir, et d'essayer de parvenir à un consensus sur la meilleure approche, en particulier lorsque cela impacte la structure ou l'architecture de cette base de code.

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

  • Restez simple. 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 dynamique de mémoire, sauf pendant les fonctions setup/begin.
  • Utilisez le même style d'accolades et d'indentation que celui des modules source principaux. (Un .clang-format sera probablement ajouté bientôt, mais veuillez NE PAS reformater rétroactivement le code existant. Cela ne fait que créer des diffs inutiles qui rendent la recherche de problèmes plus difficile)

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

Exécution des tests unitaires

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

pio test --environment native --verbose

Feuille de route / À faire

Catégories