>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
TypeScript

Come monitorare visivamente la tua rete Meshtastic con MeshSense

Se hai mai costruito una rete autonoma utilizzando schede come Heltec o TTGO T-Beam con firmware Meshtastic, probabilmente hai incontrato il tipico problema di osservabilità. I nodi sono sparsi su tetti, balconi o zaini, e fissare un piccolo schermo da 0,96 pollici o navigare attraverso un'app mobile solo per valutare rapidamente le rotte diventa noioso. Vuoi una dashboard corretta con una mappa, grafici dell'intensità del segnale e tracciamento dei pacchetti.

Il progetto MeshSense risolve esattamente questo problema. È un'applicazione open-source leggera che si connette al tuo nodo Meshtastic e visualizza una mappa in tempo reale con tutti i parametri di rete.

Cosa può fare l'applicazione

La funzionalità principale di MeshSense è la raccolta di statistiche in tempo reale senza workaround e integrazioni complesse. Ti connetti semplicemente al nodo base tramite Bluetooth o Wi-Fi normale, e l'interfaccia inizia a raccogliere dati dall'area circostante.

Ecco gli scenari principali in cui la dashboard fa risparmiare tempo:

  • Topologia e mappa dei nodi. L'applicazione mostra chiaramente quali nodi sono attivi al momento, le loro posizioni GPS fisiche e quando hanno comunicato l'ultima volta.
  • Tracciamento delle rotte. La funzionalità traceroute ti permette di vedere istantaneamente quanti relè intermedi ha attraversato un pacchetto e quale percorso era ottimale.
  • Report sulla qualità del segnale. Puoi monitorare SNR e livelli di ricezione da ogni nodo per ottimizzare antenne direzionali o identificare zone morte nella città.
  • Monitoraggio dello stato dell'hardware. Livello della batteria, temperatura e dati di telemetria dai dispositivi remoti vengono visualizzati.

Esecuzione su server e in modalità headless

Oltre alla versione desktop Electron, il progetto funziona bene su computer a scheda singola come Raspberry Pi posizionati vicino alla stazione radio base.

È disponibile una modalità headless per il funzionamento senza interfaccia grafica. MeshSense avvia un server web locale accessibile da qualsiasi browser sulla rete locale, protetto con una chiave segreta:

export ADDRESS=10.0.1.20  # IP-адрес вашей Meshtastic ноды
export PORT=5920          # Порт веб-интерфейса

ACCESS_KEY=mySecretKey ./meshsense-x86_64.AppImage --headless

Quando si esegue l'applicazione su una scheda ARM64 senza monitor, gli sviluppatori suggeriscono di lanciare AppImage tramite un framebuffer virtuale:

dbus-run-session xvfb-run ./meshsense-arm64.AppImage --headless \
 --disable-gpu --in-process-gpu --disable-software-rasterizer

Per sistemi basati su Debian o Ubuntu, installa un paio di pacchetti prima di avviare AppImage: libfuse2 per il funzionamento del container stesso e fonts-noto-color-emoji per la corretta visualizzazione delle icone nell'interfaccia.

Sotto il cofano

L'architettura del progetto è suddivisa in tre componenti: un frontend basato su Vite, un backend API Node.js e un wrapper Electron.

C'è un'interessante implementazione nel codice: per l'interazione diretta con i moduli radio tramite Bluetooth, gli sviluppatori hanno creato un modulo personalizzato webbluetooth legato a libdbus-1-dev e cmake del sistema. Questo significa che quando compili localmente dal codice sorgente, dovrai prima compilare il binding binario:

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

Per lo sviluppo, l'avvio è suddiviso in due processi indipendenti. Il frontend si avvia sulla porta 59 e il backend sulla porta 59, i route non gestiti vengono automaticamente trasmessi a Vite:

# В первом терминале (UI)
cd ui
PORT=5921 npm run dev

# Во втором терминале (API)
cd api
export DEV_UI_URL=http://localhost:5921
PORT=5920 npm run dev

Nella README, gli autori avvertono onestamente di un bug in modalità dev: quando Vite hot-reload, le sottoscrizioni agli eventi di stato a volte si duplicano, causando la comparsa di righe di log due volte. Questo si risolve semplicemente ricaricando la pagina nel browser.

A chi è utile il progetto

MeshSense è un'utility comoda per radioamatori, appassionati di LoRa e chi costruisce reti di comunicazione decentralizzate per escursionismo, case di vacanza o messaggistica urbana di backup. Elimina la necessità di analizzare manualmente i log attraverso una porta seriale o di indovinare perché un pacchetto non ha raggiunto la collina successiva.

Se hai già un server di casa o un Raspberry Pi in funzione con un nodo LoRa collegato, ha senso aggiungere MeshSense alla tua avvio e ottenere una visione chiara delle onde radio proprio davanti a te.

Progetti correlati