Hoe u uw Meshtastic-netwerk visueel kunt monitoren met MeshSense
Als u ooit een autonoom netwerk heeft gebouwd met borden zoals Heltec of TTGO T-Beam met Meshtastic-firmware, bent u waarschijnlijk het typische observability-probleem tegengekomen. Nodes zijn verspreid over dakterrassen, balkons of rugzakken, en staren naar een klein 0,96-inch scherm of tikken door een mobiele app om snel routes te evalueren wordt snel vervelend. U wilt een goed dashboard met een kaart, signaalsterktegrafieken en packet tracing.
Het MeshSense-project lost dit probleem precies op. Het is een lichtgewicht open-source applicatie die verbindt met uw Meshtastic-node en een live kaart rendert met alle netwerkparameters.

Wat de applicatie kan doen
Het hoofdkenmerk van MeshSense is real-time statistiekverzameling zonder workarounds en complexe integraties. U verbindt het simpelweg met de basis-node via Bluetooth of reguliere Wi-Fi, en de interface begint gegevens te verzamelen uit het omliggende gebied.
Hier zijn de belangrijkste scenario's waarin het dashboard tijd bespaart:
- Topologie en node-kaart. De applicatie toont duidelijk welke nodes momenteel actief zijn, hun fysieke GPS-locaties, en wanneer ze voor het laatst hebben gecommuniceerd.
- Route tracing. Met de traceroute-functie kunt u direct zien hoeveel tussenliggende relais een packet heeft doorlopen en welk pad optimaal was.
- Signaalkwaliteitsrapporten. U kunt SNR- en ontvangstniveaus van elke node monitoren om directionele antennes af te stemmen of dode zones in de stad te identificeren.
- Hardware-statusmonitoring. Batterijlading, temperatuur en telemetriegegevens van externe apparaten worden weergegeven.
Uitvoeren op een server en in headless modus
Naast de Electron desktopversie draait het project goed op single-board computers zoals Raspberry Pi gepositioneerd nabij het basisradiostation.
Er is een headless modus beschikbaar voor bediening zonder grafische interface. MeshSense start een lokale webserver die toegankelijk is vanuit elke browser op het lokale netwerk, beveiligd met een geheime sleutel:
export ADDRESS=10.0.1.20 # IP-адрес вашей Meshtastic ноды
export PORT=5920 # Порт веб-интерфейса
ACCESS_KEY=mySecretKey ./meshsense-x86_64.AppImage --headless
Bij het uitvoeren van de applicatie op een ARM64-bord zonder monitor suggereren ontwikkelaars om AppImage te starten via een virtual framebuffer:
dbus-run-session xvfb-run ./meshsense-arm64.AppImage --headless \
--disable-gpu --in-process-gpu --disable-software-rasterizer
Voor op Debian of Ubuntu gebaseerde systemen installeert u een paar pakketten voordat u AppImage start: libfuse2 voor de container zelf om te functioneren en fonts-noto-color-emoji voor pictogrammen om correct weer te geven in de interface.
Onder de motorkap
De projectarchitectuur is opgesplitst in drie componenten: een op Vite gebaseerde frontend, een Node.js API-backend en een Electron-wrapper.
Er is een interessante implementatiedetail in de code: voor directe interactie met radiomodules via Bluetooth hebben de ontwikkelaars een aangepaste module webbluetooth gebouwd die gekoppeld is aan systeem libdbus-1-dev en cmake. Dit betekent dat bij het lokaal bouwen vanuit source code, u eerst de binaire binding moet compileren:
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
Voor ontwikkeling is opstarten opgesplitst in twee onafhankelijke processen. De frontend start op poort 59, en de backend op poort 59, waarbij niet-verwerkte routes automatisch naar Vite worden geproxied:
# В первом терминале (UI)
cd ui
PORT=5921 npm run dev
# Во втором терминале (API)
cd api
export DEV_UI_URL=http://localhost:5921
PORT=5920 npm run dev
In de README waarschuwen de auteurs eerlijk voor een dev-modus bug: wanneer Vite hot-reload doet, verdubbelen state event subscriptions soms, waardoor logregels twee keer verschijnen. Dit wordt opgelost door simpelweg de pagina in de browser te verversen.
Voor wie het project nuttig is
MeshSense is een handig hulpmiddel voor radioamateurs, LoRa-enthousiastelingen en degenen die gedecentraliseerde communicatienetwerken bouwen voor wandelen, vakantiehuizen of back-up stedelijke berichtgeving. Het elimineert de noodzaak om handmatig logs te parsen via een seriële poort of te raden waarom een packet de volgende heuvel niet heeft bereikt.
Als u al een thuisserver of Raspberry Pi heeft draaien met een verbonden LoRa-node, is het zinvol om MeshSense toe te voegen aan uw opstart en een duidelijk overzicht van de ether te krijgen recht voor u.
Gerelateerde projecten