LoRaWAN prevede per i nodi tre classi di funzionamento (A, B e C). Partendo dal presupposto che il dato trasmesso è breve, non sempre è critica la perdita di un dato e il consumo energetico è importante, le tre classi si differenziano nei tempi e nei modi usati per trasmettere e ricevere i dati verso la rete. Il nodo deve sempre implementare la classe A. Le classi B e C sono, di fatto, una estensione della classe A.
Classe A
Nella classe A il dispositivo trasmette, autonomamente, nel momento che ritiene opportuno. L’inizio di trasmissione avviene su propria iniziativa, senza nessun coordinamento con gli altri nodi o con il gateway, al più implementando un meccanismo denominato LBT (Listen Before Talk) per verificare se altri dispositivi stanno occupando il canale di comunicazione e ritardare la trasmissione. Al termine dell’invio dei dati, il nodo passa in ricezione (RX slot) in due istanti distinti T1 e T2. I valori di T1 e T2 sono di default di 1 e di 2 secondi a partire dall’istante di fine invio.
Il nodo può ricevere (down link) nei due slot temporali per ricevere i dati trasmessi da un gateway. La risposta alla trasmissione con un messaggio di conferma (ACK) non è obbligatoria. La Figura mostra la sequenza trasmissione-ricezione della classe A.
Classe B
La classe B prevede una trasmissione e ulteriori successivi intervalli di ricezione coordinati dal gateway il quale invia un segnale di sincronizzazione, beacon, al nodo. Il nodo riceve ad intervalli, denominati ping period, predeterminati con riferimento l’istante di beacon e presenta, oltre a quanto previsto dalla modalità della classe A, ulteriori intervalli di ricezione. In Figura lo schema della tempistica della classe B.
Classe C
Il dispositivo di classe C è costantemente in ricezione e opera in trasmissione, quando necessario, con la modalità della classe A. In Figura la tempistica della classe C.
Le tre classi si differenziano per caratteristiche di latenza (in ricezione) e consumo energetico. Il minore consumo energetico e la massima latenza si ha in classe A. La classe B consente una minore latenza grazie a slot aggiuntivi in ricezione, al costo di un aumento di consumo energetico. La classe C presenta una latenza minima, ma con un alto consumo energetico dovuto alla ricezione continua. I nodi nelle classi A e B, al di fuori dai periodi di trasmissione e ricezione, possono porsi in una condizione di basso consumo, modalità dette di sleeping o deep sleeping, riducendo drasticamente i consumi. Il consumo energetico influenza la durata delle batterie ed è una problematica importante nella sensoristica IoT. Per questo motivo la classe A è generalmente preferibile per i nodi ad alimentazione autonoma. Spesso, inoltre, si accetta la perdita di un pacchetto dovuta all’accesso con probabilità di collisione (la trasmissione simultanea di più nodi) o disturbi, rinunciando anche ai meccanismi di conferma (ACK) pur di ridurre al minimo l’attivazione del nodo. La perdita di un pacchetto, in molti sistemi di acquisizione a bassa dinamica, ha un peso inferiore rispetto il costo di un invio di acknowledge, eventuale ritrasmissione e conseguente impegno energetico. La mancata acquisizione di un pacchetto può essere verificata con il valore di Frame Counter, presente nel pacchetto inviato e incrementato ad ogni trasmissione. Per recuperare dati persi possono essere implementate strategie di correzione di errore o tecniche predittive, a livello applicativo, che consentono la ricostruzione del dato perso. Con attenti meccanismi di gestione della alimentazione (Power Management), riducendo allo stretto necessario le trasmissioni, le batterie dei nodi possono durare diversi anni, minimizzando gli interventi di manutenzione.
Commenti recenti