
Il punto chiave è semplice. Nel 2026 la “pipeline dati” non è più un dettaglio implementativo, ma una scelta architetturale che decide se un progetto IIoT/Edge scala o implode quando la rete degrada, il clock deriva o arriva il primo OTA in produzione. La regola d’oro è pragmatica. Una pipeline robusta separa nettamente acquisizione, timestamp, buffering/persistenza, trasporto, sicurezza, lifecycle (OTA/config) e osservabilità, evitando accoppiamenti “furbi” che diventano debito tecnico.
La scelta dei protocolli va contestualizzata. MQTT resta la via più diffusa per telemetria e broker-cloud con QoS chiari, ma bisogna gestire duplicati, retry e topic overhead; OPC UA PubSub cresce quando servono modello dati e sicurezza end‑to‑end anche in modalità brokerless; DDS/RTPS resta la scelta “hard real-time pub/sub” quando latenza e fan‑out diventano dominanti. Una buona pipeline fa da ponte naturale. Con il quadro generale chiaro, ha senso partire dall’architettura di riferimento e poi scendere su tempo, buffer e trasporto.
Architettura di riferimento 2026
Il contesto è cambiato davvero. Se fino a pochi anni fa si parlava di “mandare dati al cloud”, oggi l’edge industriale integra spesso filtri, feature extraction e talvolta Edge AI per ridurre banda, latenza decisionale e costi operativi, anche su TSN ed Edge AI.
La pipeline va vista come catena di responsabilità. Una struttura robusta, riusabile e testabile assomiglia a questa: sensore → acquisizione → timestamp → buffer RAM → log persistente (opzionale) → encoder (CBOR/protobuf) → protocol adapter (MQTT/OPC UA/DDS) → sicurezza trasporto → broker/cloud/SCADA.
La scalabilità nasce dalla separazione. Se mantieni indipendenti formato dati, buffering, trasporto e policy di retry, puoi cambiare broker, aggiungere un secondo endpoint o introdurre compressione senza riscrivere mezzo firmware. Il ponte è naturale. Per far funzionare questo schema, la prima variabile da “mettere a terra” è il tempo.
Acquisizione e timestamp precisi
La prima domanda è brutale. Se due misure arrivano al cloud, sai davvero se sono simultanee o solo “vicine” per caso?
La distinzione chiave è HW vs SW timestamp. Il timestamp software è economico ma soffre jitter da interrupt, scheduling e code; hardware time-stamping riduce la variabilità catturando l’evento più “vicino” al frame/PHY, aumentando ripetibilità e precisione.
PTP è lo strumento di base. Lo standard IEEE 1588 definisce la Precision Time Protocol e, nella descrizione dello standard, esplicita che supporta sincronizzazione in range sub‑microsecondo e miglioramenti verso il nanosecondo, con domini temporali e grandmaster.
TSN porta la sincronizzazione “dentro” Ethernet L2. In TSN, IEEE 802.1AS è il riferimento per timing/sync e profili industriali, e la presenza di facility di modello/configurazione (es. YANG) indica quanto l’ecosistema stia maturando verso reti gestibili e verificabili.
Il clock discipline è la parte invisibile. In pratica, una pipeline moderna mantiene un monotonic clock locale disciplinato rispetto a una sorgente (PTP/gPTP) e pubblica misure con: (a) timestamp, (b) qualità del timestamp (es. “sync locked / holdover”), (c) errore stimato (offset/uncertainty).
I target di precisione vanno dichiarati. Un approccio realistico è: <1 ms per trend e correlazioni “IT/OT” standard; ~100 µs quando devi correlare eventi rapidi tra nodi o fare diagnostica temporale; microsecondi o meglio quando hai controllo distribuito o sensor fusion spinta, dove l’ordine degli eventi è parte del requisito.
Un dettaglio utile è l’implementazione Linux. Strumenti come ptp4l e phc2sys (linuxptp) evidenziano concretamente la differenza tra time-stamping hardware e software, e come si sincronizzano PHC e system clock nell’uso reale.
La chiusura viene spontanea. Una volta che il tempo è coerente, la domanda successiva è come non perdere dati quando la rete non è coerente.

Buffering locale e resilienza ai guasti
La premessa è pratica. In campo, la rete cade, il broker si riavvia, e un gateway fa backpressure: il nodo non può “fermarsi” senza conseguenze.
Il ring buffer in RAM è il primo salvagente. Un ring buffer consente ingestione continua FIFO e, se ben progettato, minimizza copie e lock nel percorso critico.
L’ottimizzazione vera è evitare memcpy inutili e le code RTOS non sono sempre il buffer giusto. Le Stream Buffer (ambiente FreeRTOS ecosystems) esplicitano un vincolo spesso ignorato: un solo writer e un solo reader sono l’ipotesi sicura; se violi l’ipotesi, devi serializzare tu l’accesso.
La persistenza su flash è il secondo salvagente. Se devi gestire outage lunghi o audit trail, la strategia più stabile è un log circolare su filesystem fault‑tolerant (o raw‑flash con wear-leveling gestito).
La resilienza a power-loss non è opzionale. File system come LittleFS dichiarano copy‑on‑write e recovery a “last known good state” dopo power loss, con wear leveling su flash: è esattamente ciò che serve se una macchina viene disalimentata mentre scrivi.
La policy di overflow va decisa prima dei test. Le tre opzioni sane sono: overwrite (mantieni il più recente), drop (mantieni il più vecchio e segnala perdita), backpressure (rallenti acquisizione o degradi qualità); la scelta dipende da cosa vale di più: “stato attuale” o “storia completa”.
Una regola di sizing aiuta subito. Un dimensionamento “da ingegnere” parte dall’equazione:
Storage ≈ sample_rate × bytes_sample × canali × retention_s × (1 + overhead), con overhead tipico 10–30% per metadata, framing e indicizzazione.
Una tabella rende l’idea concreta. Gli esempi sotto assumono payload binario compatto (CBOR/protobuf) e aggiungono un overhead indicativo del 20% per metadati e log management.
| Scenario | Sample rate | Bytes/sample (incl. timestamp) | Retention locale | Storage stimato |
| Condition monitoring (10 variabili) | 1 Hz × 10 | 24 B | 24 h | ~25 MB |
| Vibrazioni (3 assi, feature + grezzo breve) | 1 kHz × 3 | 16 B | 10 min | ~35 MB |
| Eventi macchina (allarmi + contatori) | 5 Hz | 64 B | 7 giorni | ~193 MB |
| Misure energia (campione + qualità) | 10 Hz | 32 B | 48 h | ~133 MB |
La nota importante è l’usura. Se scrivi su flash a frequenza alta, devi stimare write amplification e distribuire gli erase; LittleFS nasce proprio per gestire wear leveling e bad blocks in sistemi embedded.
Il passaggio successivo è inevitabile. Una volta che puoi “tenere” dati in modo affidabile, devi decidere come “portarli fuori” con latenza e affidabilità adeguate.
Trasporto verso broker e cloud
Il problema reale è la scelta del compromesso. Nel 2026 MQTT, OPC UA PubSub e DDS sono tutti maturi, ma lo sono per obiettivi diversi: se scegli male, paghi in latenza, footprint o interoperabilità.
MQTT nel 2026
Il vantaggio principale è la semplicità operativa. MQTT 5.0 (standard OASIS Open) si definisce leggero e adatto a contesti M2M/IoT, e formalizza tre QoS con semantica chiara: at most once, at least once (possibili duplicati), exactly once (più overhead).
Il consiglio pratico è differenziare flussi. Usa QoS 0 per stream ad alta frequenza dove “la prossima misura arriva subito”, QoS 1 per eventi e stati importanti, e riserva QoS 2 a casi rari dove perdita/duplicazione sono entrambe inaccettabili (sapendo che aumenta overhead e complessità di state machine).
Il trucco di riduzione overhead è spesso ignorato. MQTT 5 permette Topic Alias per ridurre la dimensione dei PUBLISH quando il topic sarebbe costoso, e introduce anche proprietà come Message Expiry Interval per evitare consegne tardive inutili.
OPC UA Pub/Sub nel 2026
Il valore è l’industrial semantics. OPC UA PubSub porta un modello pub/sub coerente con l’universo OPC UA e, lato sicurezza, distingue esplicitamente brokerless e broker‑based, rimandando a OPC 10000‑14 per i dettagli del modello PubSub.
La sicurezza brokerless è ad alte prestazioni ma va progettata. La specifica OPC UA Security descrive che nel brokerless PubSub confidenzialità e integrità si ottengono con crittografia e firme simmetriche, con chiavi distribuite da un Security Key Server (SKS) e rotazione delle chiavi legata a numero di publisher e frequenza messaggi.
Il modello broker introduce un trade-off. Con broker, puoi aggiungere sicurezza del middleware e meccanismi di autorizzazione, ma se il payload non è protetto end‑to‑end il broker “vede” il contenuto e cresce il rischio MITM; la specifica stessa evidenzia che l’uso di chiavi simmetriche condivise elimina quel rischio, ma richiede trust group ben progettati.
DDS e RTPS nel 2026
La promessa è la latenza. La specifica DDSI‑RTPS 2.5 di Object Management Group formalizza il wire protocol “Real‑Time Publish Subscribe Protocol”, con versione 2.5 pubblicata in aprile 2022.
La regola d’uso è semplice. Se hai many‑to‑many, discovery, QoS real‑time e latenza stretta, DDS ha senso; se invece il focus è telemetria OT→IT e gestione broker‑cloud, MQTT o OPC UA PubSub spesso riducono complessità operativa.
La tabella seguente aiuta a decidere “con scopo”. Le valutazioni di footprint sono qualitative (S/M/L) perché dipendono da implementazione e profilo.
| Criterio | MQTT | OPC UA Pub/Sub | DDS (RTPS) |
| Footprint tipico su edge | S–M | M–L | M–L |
| QoS / affidabilità | QoS 0/1/2 standardizzati | Dipende dal mapping/trasporto + profili UA | QoS ricchi (deadline, liveliness, reliability, ecc.) |
| Latenza | Buona, non deterministica di default | Buona; può integrarsi in architetture real‑time | Ottima per real‑time pub/sub |
| Sicurezza | Tipicamente TLS su TCP; proprietà MQTT 5 aiutano governance | Security Model UA + SKS (brokerless) + security middleware (broker) | DDS Security (SPI + builtin) |
| Interoperabilità OT | Alta (ecosistema broker) ma semantica da definire | Alta (modello OPC UA, più semantica) | Alta tra DDS vendor, più “middleware” |
| Scenari tipici | Telemetria, gateway, cloud ingestion, SCADA MQTT/Sparkplug | Machine‑to‑machine, dati con semantica UA, brokerless/broker | Robotica, sistemi distribuiti, fan‑out, controllo/telemetria a bassa latenza |
Il collegamento al tema successivo è diretto. Qualunque protocollo tu scelga, senza sicurezza, integrità e versioning del payload stai solo spostando il problema più avanti.
Sicurezza, integrità e versioning del payload
La sicurezza va trattata come requisito funzionale. Nel 2026, tra OT connesso e supply chain, l’idea di “pacchetti fidati perché stanno sulla LAN” non regge più.
TLS/DTLS sono il baseline moderno. TLS 1.3 e DTLS 1.3 sono definiti negli RFC IETF per prevenire intercettazione e manomissione su canali rispettivamente stream e datagram, e sono oggi la base pratica per proteggere trasporti MQTT/TCP e vari trasporti UDP‑based.
L’attestation serve a chiudere il “buco del device”. L’architettura RATS (Remote Attestation Procedures) dell’Internet Engineering Task Force descrive entità, flussi e “claims/evidence” per verificare che l’altra estremità sia in uno stato atteso prima di fidarsi di dati o comandi.
L’integrità end‑to‑end riduce i falsi negativi. In pratica, oltre a TLS/DTLS, conviene aggiungere una integrity tag a livello applicativo (hash/HMAC o firma) quando i dati attraversano broker, bridge o store‑and‑forward non pienamente sotto controllo.
Il versioning del payload è la differenza tra “demo” e “prodotto”. CBOR è progettato per messaggi piccoli e code size ridotto, con estensibilità senza negoziazione di versione; è perfetto per payload embedded che devono evolvere senza rompere i parser legacy.
Protocol Buffers resta una scelta forte per telemetria strutturata. Il formato usa varint a lunghezza variabile (1–10 byte per interi) e quindi premia contatori e campi piccoli, tipici dell’IIoT; in più, campi “optional” e numerazione fissa aiutano compatibilità forward/backward.
Una best practice semplice evita guai. Inserisci sempre nel messaggio: schema_id, schema_version, sampling_period, timebase (UTC/PTP/monotonic) e quality flags (sync locked, overflow, dropped samples).
L’audit trail non deve diventare un macigno. Se ti serve tracciabilità, progetta un log “append-only” con rotazione, e separa ciò che è diagnostico (si può campionare) da ciò che è forense (si deve preservare).
Il ponte verso il lifecycle è inevitabile. Una pipeline sicura resta fragile se non puoi aggiornarla e gestirla in modo controllato.
OTA e gestione del ciclo di vita
L’OTA non è più un extra. Oggi l’aggiornamento sicuro è parte della “sopravvivenza” del device, perché correggere vulnerabilità e cambiare logiche di raccolta dati è normale lungo la vita operativa.
L’architettura va separata dall’implementazione. RFC 9019 definisce una firmware update architecture per IoT, esplicitando ruoli, funzioni e componenti come il bootloader e le modalità di invocazione della nuova immagine.
Il dual‑bank con rollback è il baseline robusto. In MCUboot, il meccanismo “test swap → confirm → permanent, altrimenti revert” è progettato proprio per evitare brick: se la nuova immagine non si conferma, al boot successivo si torna alla precedente.
L’A/B testing va oltre il firmware. Nel 2026, spesso devi aggiornare anche config, regole di buffering, encoder e talvolta modelli edge: tratta questi artefatti come pacchetti versionati e firmati, con policy di rollout “lento” e rollback.
La gestione config è il vero punto dolente. Se vuoi evitare “firmware fork” in campo, definisci un Config ID e una compatibilità per schema dati, e registra sempre quale config ha prodotto quali dati (accoppiando telemetria e lifecycle).
Il collegamento alla fase operativa è diretto. Una pipeline aggiornabile ha valore solo se sai misurare quando sta degradando prima che il customer se ne accorga.
Operabilità, monitoraggio e test
L’operabilità è parte del design. In produzione, “funziona” non basta: serve sapere quanto bene sta funzionando e dove sta accumulando rischio. L’osservabilità può essere “ispirata” a standard moderni senza adottarli integralmente. OpenTelemetry formalizza il valore della correlazione tra segnali (logs/metrics/traces) e Resource context; su embedded puoi replicare l’idea con ID device, build ID, config ID e session ID, anche se non spingi OTLP dal micro.
La diagnostica deve includere la rete, non solo il firmware. Per pipeline che usano PTP/TSN, logga: stato sync (locked/holdover), time source, domain/GM identity e drift stimato, perché un clock che “scivola” produce bug difficili da riprodurre.
I test devono simulare il mondo reale. Un set minimo ma efficace include: perdita rete (0–30 min), pacchetti out‑of‑order, broker restart, TLS renegotiation/handshake failure, flash power‑cut durante write, e saturazione CPU mentre DMA continua a riempire buffer.
La strategia di retry deve evitare tempeste, mentre la chiusura è operativa. Quando tempo, buffer, trasporto, sicurezza e lifecycle sono misurabili, la pipeline smette di essere un rischio e diventa un asset che puoi far evolvere, anche mentre l’edge (e l’Edge AI) cresce di complessità.



