Comment surveiller visuellement votre réseau Meshtastic avec MeshSense
Si vous avez déjà construit un réseau autonome avec des cartes comme Heltec ou TTGO T-Beam sous firmware Meshtastic, vous avez probablement rencontré le problème classique d'observabilité. Les nœuds sont dispersés sur les toits, balcons ou sacs à dos, et fixer un minuscule écran de 0,96 pouces ou naviguer dans une application mobile pour évaluer rapidement les routes devient vite fatigant. Vous voulez un véritable tableau de bord avec une carte, des graphiques de force du signal et le suivi des paquets.
Le projet MeshSense résout exactement ce problème. C'est une application open-source légère qui se connecte à votre nœud Meshtastic et affiche une carte en direct avec tous les paramètres du réseau.

Ce que l'application peut faire
La fonctionnalité principale de MeshSense est la collecte de statistiques en temps réel sans contournements ni intégrations complexes. Vous le connectez simplement au nœud de base via Bluetooth ou Wi-Fi classique, et l'interface commence à collecter les données de la zone environnante.
Voici les principaux scénarios où le tableau de bord fait gagner du temps :
- Topologie et carte des nœuds. L'application affiche clairement quels nœuds sont actuellement actifs, leurs localisations GPS physiques et quand ils ont communiqué pour la dernière fois.
- Suivi des itinéraires. La fonctionnalité traceroute vous permet de voir instantanément combien de relais intermédiaires un paquet a traversé et quel chemin était optimal.
- Rapports sur la qualité du signal. Vous pouvez surveiller les niveaux SNR et de réception de chaque nœud pour affiner les antennes directionnelles ou identifier les zones mortes dans la ville.
- Surveillance de l'état du matériel. La charge de la batterie, la température et les données de télémétrie des appareils distants sont affichées.
Exécution sur un serveur et en mode headless
Au-delà de la version bureau Electron, le projet fonctionne bien sur des ordinateurs monocartes comme le Raspberry Pi positionné près de la station radio de base.
Un mode headless est disponible pour une exploitation sans interface graphique. MeshSense démarre un serveur web local accessible depuis n'importe quel navigateur du réseau local, sécurisé par une clé secrète :
export ADDRESS=10.0.1.20 # IP-адрес вашей Meshtastic ноды
export PORT=5920 # Порт веб-интерфейса
ACCESS_KEY=mySecretKey ./meshsense-x86_64.AppImage --headless
Lors de l'exécution de l'application sur une carte ARM64 sans moniteur, les développeurs suggèrent de lancer AppImage via un framebuffer virtuel :
dbus-run-session xvfb-run ./meshsense-arm64.AppImage --headless \
--disable-gpu --in-process-gpu --disable-software-rasterizer
Pour les systèmes basés sur Debian ou Ubuntu, installez quelques paquets avant de démarrer AppImage : libfuse2 pour que le conteneur fonctionne et fonts-noto-color-emoji pour que les icônes s'affichent correctement dans l'interface.
Sous le capot
L'architecture du projet est divisée en trois composants : un frontend basé sur Vite, un backend API Node.js et un wrapper Electron.
Il y a un détail d'implémentation intéressant dans le code : pour l'interaction directe avec les modules radio via Bluetooth, les développeurs ont construit un module personnalisé webbluetooth lié aux libdbus-1-dev et cmake du système. Cela signifie que lors de la compilation locale depuis les sources, vous devrez d'abord compiler la liaison binaire :
git clone --recurse-submodules https://github.com/Affirmatech/MeshSense.git
cd MeshSense
# Сборка нативной зависимости для Bluetooth
cd api/webbluetooth
npm i
npm run build:all
cd ../..
# Установка остальных пакетов
./update.mjs
Pour le développement, le démarrage est divisé en deux processus indépendants. Le frontend démarre sur le port 59 et le backend sur le port 59, les routes non gérées étant automatiquement transmises par proxy à Vite :
# В первом терминале (UI)
cd ui
PORT=5921 npm run dev
# Во втором терминале (API)
cd api
export DEV_UI_URL=http://localhost:5921
PORT=5920 npm run dev
Dans le README, les auteurs préviennent honnêtement d'un bug en mode dev : lorsque Vite effectue un rechargement à chaud, les abonnements aux événements d'état se dupliquent parfois, ce qui fait apparaître les lignes de journal deux fois. Cela se corrige simplement en rechargeant la page dans le navigateur.
À qui le projet est utile
MeshSense est un utilitaire pratique pour les radioamateurs, les passionnés de LoRa et ceux qui construisent des réseaux de communication décentralisés pour la randonnée, les chalets ou la messagerie urbaine de secours. Il élimine le besoin d'analyser manuellement les journaux via un port série ou de deviner pourquoi un paquet n'a pas atteint la colline suivante.
Si vous avez déjà un serveur domestique ou un Raspberry Pi en cours d'exécution avec un nœud LoRa connecté, cela vaut la peine d'ajouter MeshSense à votre démarrage et d'obtenir une vue claire des ondes juste devant vous.
Projets similaires