Fleet Control Console: Il “Cervello” Centralizzato per l’Infrastruttura MMDVM
Gestire un singolo hotspot casalingo è un gioco da ragazzi. Ma quando l’infrastruttura cresce e ci si ritrova a dover monitorare una flotta di ripetitori sparsi sul territorio—ognuno con le sue peculiarità, i suoi demoni e i suoi protocolli digitali (DMR, C4FM, D-STAR, NXDN, P25) la situazione può sfuggire rapidamente di mano. File di log frammentati, pannelli Pi-Star isolati e interventi di manutenzione che richiedono fastidiose sessioni SSH.
Per risolvere questo incubo logistico nasce l’ecosistema basato su Fleet Control Console e Fleet Node Agent, un’architettura client-server pensata per trasformare una rete di ponti radio frammentati in un vero e proprio Network Operations Center (NOC) unificato, reattivo e sicuro.


L’Architettura: Agent e Console
Il sistema si basa su una divisione netta dei compiti, sfruttando l’agilità del protocollo MQTT per garantire comunicazioni leggere e in tempo reale anche su connessioni instabili (come le SIM dati dei siti montani).

Fleet Node Agent (La Sonda)
È uno script leggerissimo che viene installato a bordo di ogni singolo ripetitore o hotspot (tipicamente macchine basate su Pi-Star o WPSD). Il suo compito è operare in background, raccogliere la telemetria hardware (CPU, temperatura, RAM, stato del disco), monitorare la salute dei demoni (MMDVMHost, DMRGateway, YSFGateway, ecc.) e fare da “ponte” bidirezionale verso il broker MQTT centrale.

Fleet Control Console (Il Cervello)
È l’applicazione server-side (basata su Python/Flask e SQLite) che funge da orchestratore. Riceve i flussi di dati grezzi da tutti gli Agent, normalizza la giungla di pacchetti provenienti dai vari protocolli radio e li serve a un’interfaccia web moderna, scura (stile NOC) e reattiva tramite WebSockets.

Le Funzionalità Chiave

  1. Normalizzazione Intelligente del Lastheard
    Il cuore della Console è la sua capacità di tradurre i log grezzi e caotici di MMDVMHost in una vista tabellare chirurgica. Il sistema separa in modo intelligente il traffico RF (locale) da quello di Rete, mostrando a colpo d’occhio:
    Il reale Target della chiamata (ad esempio il CQCQCQ del D-STAR o l’intercettazione del DG-ID nel C4FM).
    La memoria di routing (Reflector / Slot) pescata direttamente dai Gateway, rendendo la dashboard immune ai falsi beacon dei ripetitori mal configurati.
    L’identificazione della sorgente (RF o NET), il modo operativo specifico (es. VOICE_DN o VW per il C4FM) e un indicatore grafico dell’RSSI con S-Meter.
  2. Gestione Remota Totale (Senza SSH)
    La Console non è solo un monitor passivo, ma un vero centro di comando. Direttamente dall’interfaccia web, gli amministratori possono:
    Avviare, fermare o riavviare i singoli demoni di sistema in caso di blocco.
    Aprire un Editor INI remoto per modificare al volo i file di configurazione (MMDVM.ini, YSFGateway.ini, ecc.) e inviare i cambiamenti al nodo con un solo click.
    Inviare comandi fisici, come il reboot del sistema operativo o l’invio di un reset hardware (Reset HAT) alla scheda modem.
  3. Azioni Globali e Cambi Profilo
    Hai bisogno di sganciare tutta la rete regionale da un server e passarla a un altro per un’emergenza o un net radiofonico? Il sistema supporta l’Override Globale. Con un solo comando, la Console istruisce tutti gli Agent della flotta a commutare istantaneamente il loro profilo di configurazione (es. da Profilo A a Profilo B).
  4. Diagnostica Hardware e Allarmi
    La salute dell’infrastruttura è costantemente monitorata. La dashboard evidenzia immediatamente se un nodo va offline, se la temperatura della CPU raggiunge livelli critici o se un servizio vitale va in crash (con tentativi di auto-healing da parte dell’Agent). L’integrazione nativa con WebPush e Telegram garantisce che l’amministratore di sistema venga avvisato in tempo reale ovunque si trovi.
  5. Sicurezza e Multi-utenza
    Esporre i ripetitori su internet richiede prudenza. La Console utilizza un sistema di ruoli (Admin vs Operator) che permette di delegare il monitoraggio ad altri utenti, limitando la loro capacità di lanciare comandi distruttivi o confinandoli alla visualizzazione di un set specifico di nodi. Tutto il traffico di controllo è protetto da login, e ogni azione (dal riavvio di un demone al salvataggio di un file config) viene tracciata in un Audit Log interno indelebile.
    Questo progetto non si limita a incollare qualche statistica su una pagina web: è uno strumento infrastrutturale pensato per i sysadmin radioamatoriali che vogliono smettere di rincorrere i problemi sui singoli nodi e iniziare a governare la propria flotta con efficienza e tranquillità.

Roby IV3JDV