Dietro le quinte · 12 luglio 2026
Timbrare la presenza dei volontari via radio DMR (senza rete, senza cloud)
In emergenza la prima cosa che manca è quasi sempre la connettività. Niente Wi-Fi affidabile, cella satura o giù del tutto, e comunque una piazzola di ammassamento non ha un access point. Però una cosa i volontari ce l’hanno sempre: la radio.
Da qui la domanda che mi girava in testa da un po’: se la rete DMR trasporta già voce, GPS e messaggi di testo, perché non farci passare anche il check-in dei volontari? Niente app che dipende da internet, niente server esterno. Solo il badge, il telefono, la radio.
Ecco la demo che ho messo in piedi — funzionante end-to-end.
L’idea in una figura

Il volontario avvicina il suo badge NFC al telefono. L’app legge nome, cognome e codice fiscale, li impacchetta come un normale messaggio di testo DMR e li manda al PC gateway. Il gateway trasmette il pacchetto via etere attraverso la radio. Dall’altra parte una seconda radio riceve, un secondo gateway aggiorna lo stato e aggiorna in tempo reale il tabellone delle presenze e la mappa.
Tutto qui. Nessuna infrastruttura dati: il “canale” è la rete radio che la squadra usa già.
L’app: un badge, un tap
Sul telefono gira un’app Android che fa da lettore di badge. Il volontario avvicina il tag NFC e sceglie se sta entrando o uscendo dal servizio: lo stato è sempre esplicito, in servizio o fuori servizio. Per arruolare un nuovo volontario c’è una modalità di scrittura del badge — nome, cognome e codice fiscale finiscono direttamente sul tag NFC, e da quel momento non serve più digitare niente.
L’interfaccia è volutamente spartana: una schermata sola, pochi tap grossi. In campo si usa con i guanti, sotto la pioggia, di corsa.
Il tabellone: chi c’è, in un colpo d’occhio
Al centro operativo il capo squadra vuole una cosa sola: quanti sono dentro e chi. Il tabellone è due colonne, si aggiorna da solo, e l’ultima timbratura lampeggia così l’occhio ci va subito.

È una pagina web servita dallo stesso gateway: la si apre su un monitor, un tablet, qualunque cosa abbia un browser sulla stessa rete locale.
La dashboard: dove sono, e chi è nei guai
Le radio Hytera trasmettono anche la posizione GPS. Visto che i pacchetti arrivano comunque al gateway, tanto vale metterli su una mappa. Così è nata VALKYRIE, la console dispatch.

Ogni squadra è un puntatore sulla mappa con indirizzo, batteria e ultimo contatto. Nella colonna a destra: volontari in servizio, log dei messaggi, frasi rapide per rispondere in un tap. E quando una radio preme il pulsante di emergenza, parte l’allarme: banner rosso, la posizione evidenziata, e i pulsanti per andare sul punto o rispondere subito.
Cosa c’è sotto
La parte che mi piace di più è quanto è poco il codice. Il gateway è Python puro, solo libreria standard — niente dipendenze da installare, niente framework, niente cloud. Gira su un portatile qualsiasi collegato via USB alla radio. Le due estremità della demo sono una Hytera PD985 in trasmissione e una PD785 in ricezione, ma il principio è lo stesso con qualunque coppia di radio DMR compatibili.
Il risultato è un sistema che non ha punti di rete da rompere: se le radio si parlano, i volontari si timbrano. Ed è esattamente il requisito di chi lavora quando tutto il resto è già saltato.
Dal lab al campo
Quella che ho mostrato è ovviamente una prova da laboratorio: due portatili e un collegamento in diretta tra le due radio, giusto per esigenze di spazio e di demo. Nella realtà il principio è identico ma la portata cambia: con i veicolari Hytera e un ponte radio la copertura diventa quella di tutta l’area operativa, non due metri di scrivania.
E si può scendere anche più in basso come ferraglia. Per un campo base può bastare un veicolare e un portatile: la radio collegata via USB al PC, una rete Wi-Fi locale per il tabellone e la dashboard, e niente internet. Tutto il resto funziona lo stesso — il canale resta la rete radio, non la connettività dati.
Demo realizzata clean-room, senza SDK proprietari. I dati mostrati negli screenshot della mappa e del tabellone sono di esempio.
Domande frequenti
Come si timbra la presenza senza connessione internet?
Il dato del check-in non passa da internet ma dalla rete radio DMR. Il volontario avvicina il badge NFC al telefono, l'app impacchetta nome, cognome e codice fiscale come un normale messaggio di testo DMR, e un gateway collegato via USB alla radio lo trasmette via etere. Dall'altra parte una seconda radio riceve e aggiorna il tabellone. Non serve né Wi-Fi né cella né cloud.
Cosa serve per farlo funzionare?
Un badge NFC (NTAG o MIFARE) per ogni volontario, un telefono Android con l'app, e una coppia di radio DMR compatibili collegate ciascuna a un PC via USB. Nella demo sono una Hytera PD985 in trasmissione e una PD785 in ricezione, ma il principio vale per qualunque coppia di radio DMR che parli TMS.
Perché usare la radio invece di un'app collegata a internet?
Perché in emergenza la connettività è la prima cosa che salta: Wi-Fi assente, cella satura o giù, e una piazzola di ammassamento non ha un access point. La radio invece i volontari la usano già per la voce. Sfruttarla anche per le presenze significa non avere punti di rete da rompere: se le radio si parlano, i volontari si timbrano.
Che software gira dietro?
Il gateway è Python puro, solo libreria standard: niente dipendenze da installare, niente framework, niente cloud. Gira su un portatile qualsiasi collegato via USB alla radio e serve anche il tabellone presenze e la dashboard come pagine web sulla rete locale. La demo è realizzata clean-room, senza SDK proprietari.
I dati dei volontari dove finiscono?
Restano nel sistema locale: badge, telefono, radio e i due PC gateway. Non c'è nessun server esterno e nessun cloud. I dati mostrati negli screenshot della mappa e del tabellone sono di esempio.