Architettura LoRaWAN

LoRaWAN è una rete con struttura stella di stelle (star of stars topology) senza capacità di instradamento fra i nodi. Il gateway è il centro stella: raccoglie i dati trasmessi dai nodi e li inoltra, usando una connessione con tradizionali protocolli IP, al Network Server (NS) per una prima gestione del frame. I dati sono successivamente inviati allo Application Server (AS) che ha il compito di estrarre il dato utile (payload) e renderlo disponibile all’applicazione finale. In Figura 1 la struttura fisica e logica (stack) della rete.

Struttura fisica e logica LoRaWAN
Figura 1. Struttura fisica e logica LoRaWAN

La rete solitamente è gestita da un operatore in cloud. Essendo il protocollo aperto e di libero uso, esistono numerose implementazioni che facilitano anche la realizzazione di reti private. Nello stack logico della architettura è evidenziato il livello fisico LoRa. LoRaWAN: l’architettura tipo senza fornirne la concreta implementazione.

Nodo

La Figura 2 schematizza la struttura tipica di un nodo.


Figura 2. Struttura del nodo [20].

Il riquadro SX127x è il dispositivo Semtech in cui è ‘racchiusa’ la tecnologia proprietaria LoRa, la integrazione più o meno stretta con la MCU caratterizza la differente nomenclatura fra LoRa radio, modulo LoRa e modem radio.

Gateway

Il gateway non implementa particolari funzioni: riceve il messaggio radio, lo demodula e lo inoltra via UDP al Network Server con l’aggiunta di metadati quale, ad esempio, l’intensità del segnale (RSSI Received Signal Strength Indication) e la frequenza del canale radio. LoRa è un protocollo di trasmissione che non prevede meccanismi di protezione, l’integrità e la riservatezza del dato è delegata alla crittografia prevista per LoRaWAN e più avanti descritta. Nel presente progetto sono stati valutati due gateway entrambi basati su shield e installati su Raspberry Pi. Il primo, non molto efficiente, monocanale, con una scheda Dragino. Il secondo multicanale con scheda Ic880A di IMST GmbH, certamente più performante ed utilizzato per la connessione alla rete TTN.

Network Server

Il Network Server gestisce i gateway, i nodi, l’accesso dei nodi alla rete, provvede alla deduplica dei messaggi ricevuti da diversi gateway e generati dallo stesso nodo. Decripta la parte del messaggio che gli compete, instrada (routing) i messaggi in download (da Network Server a nodo) verso il gateway ritenuto più conveniente fra quelli in grado di raggiungere il nodo. In upload (da nodo alla rere) inoltra i dati all’Application Server. I dati trasmessi dai nodi possono essere ricevuti anche da più gateway se presenti nell’area di copertura radio.

Application Server

L’Application Server riceve il payload dal Network Sserver e lo rende disponibile all’utente attraverso meccanismi quali Web Application Program Interface (Web API), Message Queue Telemetry Transport (MQTT, un protocollo del tipo publish / subscribe) o g Remote Procedure Calls (gRPC meccanismo RPC sviluppato da Google).

Join Server

I nodi, alla loro attivazione, devono connettersi alla rete con una operazione di join (a tutti gli effetti una autenticazione). Il Join Server (JS) ha il compito di gestire l’accesso dei nodi alla rete attraverso opportune procedure di attivazione. Ha una funzione più marcata nelle specifiche LoRaWAN 1.1 con il ruolo di gestore delle chiavi di sicurezza.

Categoria: 

Tags: 

Mi piace: 

0
No votes yet