Home/ Guida/ Guida operatore/ Monitorare il territorio

02 — Monitoraggio del territorio

Il menu Monitoraggio è dove tieni sotto controllo il Carso in tempo (quasi-)reale: mappe, stazioni meteo, sensori IoT e naso elettronico, stazioni aria, l'andamento del Fire-Weather-Index e le allerte. Questo articolo tratta ogni schermata — a cosa serve, come leggerla e le insidie.

Le storie delle letture dettagliate dietro a queste schermate live (le tabelle *-log) hanno un articolo a sé: 03 — Tabelle di log.


Convenzioni usate su ogni griglia di monitoraggio

  • Azioni di riga: un'icona a forma di occhio apre Visualizza (Dettagli), una matita apre Aggiorna, un'icona a forma di cestino Elimina (con una conferma "Sei sicuro?"). Ciascuna è mostrata solo se il tuo ruolo lo consente.
  • Barra dei filtri: un imbuto ("Filtri") attiva/disattiva la riga dei filtri; una gomma ("Reimposta filtri") la azzera.
  • I filtri data accettano dd/mm/yyyy (e corrispondono all'intera giornata); le storie meteo/IoT/aria usano selettori di intervallo di date espliciti.
  • I badge di freschezza/stato compaiono ovunque, ma le soglie esatte differiscono per dominio — ogni schermata sotto indica le proprie.

Le mappe

Due superfici cartografiche stanno in cima a Monitoraggio (la dashboard del cockpit è trattata in 01 — Per iniziare):

  • Mappa rischiosità Live — 2D (/2d-map): una dashboard Leaflet per il Carso transfrontaliero, con la griglia Karst FWI e la palette del rischio incendio giornaliero, marcatori live delle stazioni meteo, squadre vicine, una rosa dei venti, il contesto di rischio ML e un passaggio di consegne "Brief me". È la tua vista rapida di ricognizione 2D.
  • Mappa 3D (/map3-d/index): una vista del terreno Cesium con isolamento AOI e un pannello dei layer (stazioni meteo live, Karst FWI, incidenti, MeteoAlarm, siti operativi, sensori dispiegati, strade, fasce tagliafuoco, ferrovie, layer dei muretti a secco). Esegue anche il playback dei run di simulazione (zone di combustione, fumo, tempi di arrivo) e ospita il pannello di intervento 3D — entrambi trattati in 04 — Come simulare e 05 — Interventi.

Entrambe le mappe condividono gli stessi contratti di AOI e layer del simulatore, quindi ricognizione 2D, analisi 3D e simulazione parlano tutte la stessa geografia.


Stazioni meteo — /weather-station/index

Una mappa live di ogni stazione meteo con le condizioni correnti, più una scheda di stazione con la storia.

Cosa fai qui

  • Leggi a colpo d'occhio temperatura / vento / umidità correnti. Usa il selettore della variabile-colore (🌡 Temperatura · 💨 Vento · 💧 Umidità) per ricolorare i marcatori e la legenda.
  • Il ticker di aggiornamento ("Updated HH:MM:SS · next refresh in N s") effettua il polling automatico ogni 60 s; cliccalo per aggiornare ora.
  • Ogni marcatore è un punto colorato (grigio quando obsoleto — nessuna lettura da > 120 min) con un chevron del vento e un chip: name · temp · wind+direction · humidity · minutes ago. Le stazioni AirQino compaiono come marcatori "AQ" (live / idle / offline).
  • Pulsanti del popup del marcatore: Apri scheda (vista stazione), Storia letture (→ il log stazioni meteo), Modifica / Elimina (se consentito).
  • Gli amministratori ottengono anche una griglia comprimibile "Gestisci stazioni" per aggiungere stazioni e commutarle tra Attiva / Disabilitata.

Scheda di stazione (Visualizza): un riquadro "Now" live (temp, vento, umidità, pressione, precipitazione, radiazione, raffica massima), una mini-mappa e un grafico storico con intervalli 24h / 7d / 30d e pillole di variabili (Temperatura, Vento — aggiunge una rosa dei venti, Pressione, Precipitazione come barre, Radiazione). "Apri log completo" salta alla storia completa.

Da dove arrivano i dati: le letture sono replicate dal servizio meteo (wf) in InfluxDB; la mappa legge un feed GeoJSON live. Obsoleto = niente di nuovo da oltre due ore — di solito un problema a monte/della stazione, non del cockpit.


Sensori IoT — /iot-sensor/index

Inventario e ciclo di vita dei sensori di campo LoRa/IoT.

Cosa fai qui

  • Approva i dispositivi auto-rilevati. I nuovi sensori arrivano nello stato di rilevamento pending; un pulsante giallo "Pending discovery (n)" li filtra. Aprine uno e Approva (conferma "Approve this sensor?") o Rifiuta (i dispositivi rifiutati "will not be re-created by discovery").
  • Posiziona un sensore sulla mappa: nella vista del sensore, clicca la mappa di posizione per impostarne le coordinate, e gestisci il suo elenco di foto e manutenzione.
  • Sorveglia la freschezza: il badge Stato è live (≤ 2× l'intervallo atteso), idle (≤ 1 h), offline o never. Un popover Stats mostra Temp / Umidità / Pressione / RSSI / SNR colorati rispetto alle soglie, con una sparkline della temperatura a 48 letture.
  • La vista mostra anche l'ultima lettura (sequenza, RSSI/SNR, temp, pressione, umidità, gas) e, durante un'interruzione di InfluxDB, un link al log di fallback MySQL per dispositivo (vedi log sensori IoT).

Da dove arrivano i dati: i sensori sono auto-rilevati dal servizio di ingestione delle osservazioni attraverso un gateway LoRaMIP; il cockpit possiede coordinate, alias e approvazione. Runbook completo: docs/ops/loramip-gateway.md.


Gateway LoRaWAN — /iot-gateway/index

Inventario e salute live dei gateway LoRaMIP attraverso cui i sensori comunicano.

Nascosto per impostazione predefinita. Questa voce compare solo quando il flag del menu legacy IoT-gateway è attivo; altrimenti raggiungila tramite URL. Un gateway deve essere pre-registrato qui prima che l'ingestione possa scriverne lo stato o rilevare sensori attraverso di esso.

Cosa leggi qui

  • Tre badge di stato indipendenti per gateway: network (connected / disconnected / unknown), influx (live / buffering / disabled / unknown) e mqtt (connected / disconnected / disabled / unknown), più contatori (dispositivi accoppiati, sincronizzazioni in sospeso) e last seen.
  • Un conteggio Sensors collega ai sensori rilevati tramite quel gateway.
  • La vista ha le schede Details / Sensors / Photos / Maintenance.

Registrazione di un gateway (campi chiave): serial (dalla dashboard del gateway), alias, modello, host (ip:port), coordinate e secondi di heartbeat attesi (default 60 → obsoleto a 120 s, offline a 240 s — devono essere ≥ l'intervallo di polling dell'ingestione). Un gateway grigio/offline di solito significa che l'ingestione non ha effettuato il polling di recente o che l'heartbeat è impostato troppo breve.


Rete naso elettronico — /sensor-layer

Una mappa di nodi sensore a naso elettronico (gas / precursori di combustione) per l'allerta precoce.

Accesso: vincolato da un permesso di visualizzazione dedicato e da un feature flag master. Se il flag è disattivo la route restituisce 404; se non hai il permesso ottieni 403. Ogni azione qui è registrata nell'audit.

Cosa leggi qui

  • Banner pilota / di sicurezza: l'ML dei sensori è "under validation" e l'evidenza è allerta precoce, non osservazione diretta del fronte di fiamma. Quando è mostrato un banner "MOCK DATA", la schermata sta servendo fixture incluse, non sensori live.
  • Stati dei nodi (5): ▲ Alert · ■ Offline · ◆ Degraded · ⚑ Maintenance · ● Healthy. (Offline = nessun frame per ~30 min; batteria bassa → degraded.) Chip di filtro: Online / Stale / Alert / Maintenance / Low battery / Link loss.
  • Un cassetto del nodo con le schede Live / Health / History / Context / Audit (resistenza del gas, IAQ, batteria/solare, RSSI/SNR, firmware, classe di combustibile, pendenza, strada più vicina, hash del payload, confidenza dell'allerta e probabilità di combustione latente). Finestra storica: 1h / 24h / 7d / 30d.
  • Un pannello di triage delle allerte con una timeline delle evidenze. Le azioni suggerite sono solo link — questo layer è evidenza per l'investigazione, non dispatch.
  • Dove abilitata, una barra del pianificatore di posizionamento (suggerisci posizioni, copertura, superficie di rischio, disegna un'area) con una tabella di candidati ed esportazioni Excel/piano.

Un link "Launch PyroWISE nowcast" consegna la posizione di un nodo al simulatore — vedi 04 — Come simulare.


Telecamere pubbliche — /monitoring/cameras

Una mappa e una tabella di candidate telecamere pubbliche per contesto visivo lecito.

Cosa leggi qui

  • Marcatori per modalità: webcam RGB/pubblica, camera AIB etichettata IR, camera termica confermata, traffico, candidato operativo, obsoleta/offline.
  • Filtri per AOI, paese, provider, modalità, stato e freschezza, più ricerca per nome camera/provider.
  • Un cassetto di dettaglio con endpoint thumbnail same-origin, link sorgente, attribuzione, licenza, intervallo di refresh e note operative.
  • Una riga di freschezza: ultimo aggiornamento catalogo, conteggio online e conteggio obsolete/sconosciute.

Limite di sicurezza: è solo contesto visivo consultivo; non è un allarme automatico fumo/incendio. KF50 conserva solo metadati pubblici e thumbnail pubbliche consentite. Sono vietati network scanning, discovery RTSP, prove di password predefinite e scraping di feed non pubblici. Video Kras e gli altri record needs_permission sono visibili solo a ruoli admin/protezione civile e non contengono URL di feed/API.


Stazioni aria — /air-quality-station/index

Registro e stato live delle stazioni di qualità dell'aria (PM2.5, PM10, O₃, NO₂, CO, CO₂, T, RH).

Sola lettura. La fonte di verità è l'API AirQino a monte; il cockpit è sincronizzato da essa (qui non modifichi le stazioni).

Cosa leggi qui

  • Sei schede KPI: Stazioni / Live / Idle / Offline / Mix PM 24h / Ossidanti 24h.
  • Badge Stato: live (< 15 min), idle (< 30 min), offline o never, con un tooltip "x min fa".
  • Una modale Stats per stazione: per inquinante N / Min / Avg / Max / Last / Trend, con il valore Last colorato rispetto alla soglia normativa (es. PM2.5 25, PM10 50, O₃ 120, NO₂ 200 µg/m³; CO 10 mg/m³).
  • La vista della stazione mostra schede per inquinante con la banda dell'European Air Quality Index come sfondo, un badge "raw" per i canali non calibrati e una sparkline. Avviso di licenza/fonte: CNR-IBE — AirQino — Magentalab, CC BY-NC; PM/T/RH calibrati in fabbrica, CO/NO₂/O₃ possono essere raw in attesa di calibrazione.

Da dove arrivano i dati: l'API AirQino, sincronizzata dai job di console airqino/*, con un fallback Python a 5 minuti per le stazioni di Duino Aurisina. La storia per lettura è il log stazioni aria.


FWI History — /statistics/fwi-history

Il Fire Weather Index come heatmap stazioni × giorni per la revisione dell'andamento situazionale.

Dati segnaposto. Un banner ti avvisa quando i valori FWI sono ancora mock deterministici (la vera pipeline FWI di InfluxDB è in fase di cablaggio). Leggi l'andamento, ma tratta i valori assoluti come provvisori finché il banner non sparisce.

Cosa fai qui

  • Filtra per Country (All / IT / SI), Range (7d / 14d / 30d) e soglia FWI (≥ 0 / 3 / 5 / 8); facoltativamente nascondi le stazioni senza dati.
  • Leggi la heatmap (densità Compact / Normal / Wide), quattro schede KPI, le Top-5 stazioni più calde e un elenco "Alerts FWI ≥ HIGH".
  • La barra laterale destra mostra la legenda della scala FWI a 7 bande (Very low → Extreme).

Non confonderlo con la dashboard Fire Weather Index sotto Analisi (/statistics/index) — quella è la vista di analisi; questa è l'andamento di monitoraggio. Vedi 07 — Analisi.


Allerte — /alert/index

L'elenco operativo delle allerte: allerte di sistema e avvisi meteo MeteoAlarm (Italia + Slovenia), con gli avvisi arancioni/rossi rilevanti per gli incendi che sollevano un'allerta.

Cosa leggi qui

  • L'elenco delle allerte con alert_type (un'etichetta semplice), una severità a testo libero (mostrata nel popover Visualizza), la tempistica e la fonte di origine.
  • La consegna delle notifiche per un'allerta è registrata nel log notifiche.

Nota: la griglia delle allerte non colora le righe in base a una scala graduata di consapevolezza/pericolo — la palette graduata verde→rosso è usata su FWI History e sulle schermate di stato PyroWISE, non qui.

Da dove arrivano i dati: gli avvisi MeteoAlarm arrivano in tempo reale su un canale MQTT e sono riconciliati ogni ora tramite un job REST (che disattiva anche gli avvisi scomparsi a monte). La matrice allerte (regole di chi viene notificato) si trova in 08 — Amministrazione.


Correlati