{"id":661,"date":"2026-10-20T18:43:07","date_gmt":"2026-10-20T17:43:07","guid":{"rendered":"https:\/\/www.arifvg.it\/?p=661"},"modified":"2026-10-20T19:58:51","modified_gmt":"2026-10-20T18:58:51","slug":"dashboard-centralizzata","status":"publish","type":"post","link":"https:\/\/www.arifvg.it\/index.php\/2026\/10\/20\/dashboard-centralizzata\/","title":{"rendered":"Network Operation Center"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Fleet Control Console<\/strong>: Il &#8220;Cervello&#8221; Centralizzato per l&#8217;Infrastruttura MMDVM<br>Gestire un singolo hotspot casalingo \u00e8 un gioco da ragazzi. Ma quando l&#8217;infrastruttura cresce e ci si ritrova a dover monitorare una flotta di ripetitori sparsi sul territorio\u2014ognuno con le sue peculiarit\u00e0, i suoi demoni e i suoi protocolli digitali (DMR, C4FM, D-STAR, NXDN, P25) la situazione pu\u00f2 sfuggire rapidamente di mano. File di log frammentati, pannelli Pi-Star isolati e interventi di manutenzione che richiedono fastidiose sessioni SSH.<br>Per risolvere questo incubo logistico nasce l&#8217;ecosistema basato su<strong> Fleet Control Console<\/strong> e <strong>Fleet Node Agent<\/strong>, un&#8217;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.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br><strong>L&#8217;Architettura: Agent e Console<\/strong><br>Il sistema si basa su una divisione netta dei compiti, sfruttando l&#8217;agilit\u00e0 del protocollo MQTT per garantire comunicazioni leggere e in tempo reale anche su connessioni instabili (come le SIM dati dei siti montani).<br><br><strong>Fleet Node Agent<\/strong> (La Sonda)<br>\u00c8 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 \u00e8 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 &#8220;ponte&#8221; bidirezionale verso il broker MQTT centrale.<br><br><strong>Fleet Control Console<\/strong> (Il Cervello)<br>\u00c8 l&#8217;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&#8217;interfaccia web moderna, scura (stile NOC) e reattiva tramite WebSockets.<br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le Funzionalit\u00e0 Chiave<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Normalizzazione Intelligente del Lastheard<\/strong><br>Il cuore della Console \u00e8 la sua capacit\u00e0 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&#8217;occhio:<br>Il reale Target della chiamata (ad esempio il CQCQCQ del D-STAR o l&#8217;intercettazione del DG-ID nel C4FM).<br>La memoria di routing (Reflector \/ Slot) pescata direttamente dai Gateway, rendendo la dashboard immune ai falsi beacon dei ripetitori mal configurati.<br>L&#8217;identificazione della sorgente (RF o NET), il modo operativo specifico (es. VOICE_DN o VW per il C4FM) e un indicatore grafico dell&#8217;RSSI con S-Meter.<\/li>\n\n\n\n<li><strong>Gestione Remota Totale (Senza SSH)<\/strong><br>La Console non \u00e8 solo un monitor passivo, ma un vero centro di comando. Direttamente dall&#8217;interfaccia web, gli amministratori possono:<br>Avviare, fermare o riavviare i singoli demoni di sistema in caso di blocco.<br>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.<br>Inviare comandi fisici, come il reboot del sistema operativo o l&#8217;invio di un reset hardware (Reset HAT) alla scheda modem.<\/li>\n\n\n\n<li><strong>Azioni Globali e Cambi Profilo<\/strong><br>Hai bisogno di sganciare tutta la rete regionale da un server e passarla a un altro per un&#8217;emergenza o un net radiofonico? Il sistema supporta l&#8217;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).<\/li>\n\n\n\n<li><strong>Diagnostica Hardware e Allarmi<\/strong><br>La salute dell&#8217;infrastruttura \u00e8 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&#8217;Agent). L&#8217;integrazione nativa con WebPush e Telegram garantisce che l&#8217;amministratore di sistema venga avvisato in tempo reale ovunque si trovi.<\/li>\n\n\n\n<li><strong>Sicurezza e Multi-utenza<\/strong><br>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\u00e0 di lanciare comandi distruttivi o confinandoli alla visualizzazione di un set specifico di nodi. Tutto il traffico di controllo \u00e8 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.<br>Questo progetto non si limita a incollare qualche statistica su una pagina web: \u00e8 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\u00e0.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/rpt.arifvg.it\"><img loading=\"lazy\" decoding=\"async\" width=\"965\" height=\"1024\" src=\"https:\/\/www.arifvg.it\/wp-content\/uploads\/2026\/10\/immagine-965x1024.png\" alt=\"\" class=\"wp-image-662\" srcset=\"https:\/\/www.arifvg.it\/wp-content\/uploads\/2026\/10\/immagine-965x1024.png 965w, https:\/\/www.arifvg.it\/wp-content\/uploads\/2026\/10\/immagine-283x300.png 283w, https:\/\/www.arifvg.it\/wp-content\/uploads\/2026\/10\/immagine-768x815.png 768w, https:\/\/www.arifvg.it\/wp-content\/uploads\/2026\/10\/immagine.png 997w\" sizes=\"auto, (max-width: 965px) 100vw, 965px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Roby IV3JDV<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fleet Control Console: Il &#8220;Cervello&#8221; Centralizzato per l&#8217;Infrastruttura MMDVMGestire un singolo hotspot casalingo \u00e8 un gioco da ragazzi. Ma quando l&#8217;infrastruttura cresce e ci si ritrova a dover monitorare una flotta di<a class=\"moretag\" href=\"https:\/\/www.arifvg.it\/index.php\/2026\/10\/20\/dashboard-centralizzata\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-661","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.arifvg.it\/index.php\/wp-json\/wp\/v2\/posts\/661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.arifvg.it\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.arifvg.it\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.arifvg.it\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.arifvg.it\/index.php\/wp-json\/wp\/v2\/comments?post=661"}],"version-history":[{"count":6,"href":"https:\/\/www.arifvg.it\/index.php\/wp-json\/wp\/v2\/posts\/661\/revisions"}],"predecessor-version":[{"id":673,"href":"https:\/\/www.arifvg.it\/index.php\/wp-json\/wp\/v2\/posts\/661\/revisions\/673"}],"wp:attachment":[{"href":"https:\/\/www.arifvg.it\/index.php\/wp-json\/wp\/v2\/media?parent=661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.arifvg.it\/index.php\/wp-json\/wp\/v2\/categories?post=661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.arifvg.it\/index.php\/wp-json\/wp\/v2\/tags?post=661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}