Sviluppare con LoRa per applicazioni IoT a bassa frequenza e a lunga durata
Contributo di Editori nordamericani di DigiKey
2017-06-29
I progettisti hanno un'ampia gamma di tecnologie wireless per collegare un prodotto all'Internet delle cose (IoT). Ogni tecnologia è adatta ad applicazioni diverse, che richiedono ai progettisti di considerare attentamente fattori quali la portata e la velocità dei dati, il costo, il consumo di energia, il volume e il fattore di forma.
Questo articolo introdurrà il protocollo LoRa, confronterà i suoi vantaggi con altri protocolli e discuterà di diversi prodotti e kit di sviluppo che permettono ai progettisti di iniziare a sviluppare rapidamente sistemi basati su LoRa.
Considerazioni dei pro e dei contro sull'IoT wireless
Ogni tecnologia wireless ha dei punti forti e altri deboli. Il Wi-Fi standard, ad esempio, può trasmettere grandi quantità di dati a velocità elevate, ma ha una portata limitata. Una rete cellulare combina l'alta velocità e un raggio lungo, ma è energivora.
Le applicazioni IoT, come l'acquisizione di dati remoti, il controllo dell'illuminazione urbana, il monitoraggio delle condizioni atmosferiche e l'agricoltura, hanno ciascuna un diverso set di priorità. Le quantità misurate o controllate in queste applicazioni, come le condizioni meteorologiche, i livelli di umidità del suolo o le luci stradali, cambiano molto lentamente per un lungo periodo di tempo.
Inoltre, i nodi sensori sono spesso molto distanti tra loro e sono alimentati a batteria, quindi il protocollo wireless ottimale deve poter inviare piccoli pacchetti di dati in modo efficiente su lunghe distanze con un consumo minimo di energia. Il protocollo LoRa è stato progettato esattamente per questi requisiti.
Panoramica sulla tecnologia LoRa
LoRa si rivolge ad applicazioni WAN a bassa potenza (LPWAN). Ha una portata di oltre 15 chilometri e una capacità fino a 1 milione di nodi. La combinazione di bassa potenza e lunga distanza limita la velocità massima di dati a 50 kilobit al secondo (kbps).
LoRa è una tecnologia di proprietà e brevettata da Semtech Corporation, operante nella banda ISM. L'assegnazione di frequenza e i requisiti normativi per ISM variano di regione in regione (Figura 1). Le due frequenze più diffuse sono 868 MHz in Europa e 915 MHz in Nord America. Altre regioni, in particolare l'Asia, hanno esigenze diverse.
|
Figura 1: Confronto delle specifiche LoRa per l'Europa e gli Stati Uniti, due regioni in cui le bande ISM sono ampiamente utilizzate. (Immagine per gentile concessione di LoRa Alliance)
Lo strato fisico LoRa utilizza la modulazione a divisione di spettro (SSM) (Figura 2). SSM codifica il segnale di base con una sequenza di frequenza più alta, che divide deliberatamente il segnale di base su una larghezza di banda più ampia, riduce il consumo e aumenta la resistenza alle interferenze elettromagnetiche.

Figura 2: Un sistema di divisione di spettro moltiplica i dati di ingresso con una sequenza di codici molto più veloce che divide la larghezza di banda del segnale. (Immagine per gentile concessione di Semtech Corporation)
Il fattore di divisione (SF) del segnale di base è variabile e rappresenta un compromesso. Per una data larghezza di banda disponibile, un fattore di divisione maggiore riduce la velocità in bit, ma riduce anche la durata della batteria e aumenta il tempo di trasmissione.
Un fattore di divisione specificato (SF) e la larghezza di banda (BW) daranno una velocità di bit definita da:

LoRa offre sei fattori di divisione (SF7 - SF12) e tre diverse larghezze di banda (125 kHz, 250 kHz, 500 kHz). I fattori di divisione e larghezza di banda consentiti sono definiti dalle agenzie normative regionali. Il Nord America, ad esempio, specifica una larghezza di banda di 500 kHz e fattori di divisione da 7 a 10.
A causa della tecnologia di divisione di spettro, i messaggi con velocità di trasmissione diverse sono ortogonali e non interferiscono tra loro creando una serie di canali "virtuali" che aumentano la capacità del gateway.
Lo schema LoRa si basa su una variante di SSM chiamata divisione di spettro chirp (CSS) (Figura 3). CSS codifica i dati con un "chirp", essenzialmente un segnale sinusoidale modulato in frequenza a banda larga che aumenta o diminuisce nel tempo.

Figura 3: Un CSS "upchirp" può seguire un'espressione polinomiale per frequenza rispetto al tempo o mostrare una relazione lineare come qua. (Immagine per gentile concessione di Wikipedia)
CSS è adatto per applicazioni a bassa velocità di trasmissione (<1 Mb/s) che richiedono un utilizzo di potenza ridotto. IEEE 802.15.4a, un altro standard a bassa velocità, lo specifica come una tecnica per l'utilizzo nelle reti wireless personali (LR-WPAN). CSS è utilizzato da molti anni per fornire una comunicazione a lungo termine e robusta nelle applicazioni militari e spaziali, ma LoRa è la prima implementazione commerciale a basso costo.
LoRaWAN e l'architettura della rete LoRa
La specifica LoRaWAN definisce il livello di controllo accessi multimediali (MAC) per LPWAN. LoRaWAN viene implementato in cima allo strato fisico LoRa e specifica il protocollo di comunicazione e l'architettura di rete. Queste funzioni hanno un alto grado di influenza su diversi parametri di prestazioni, tra cui:
- La durata della batteria di un nodo
- Capacità di rete
- Sicurezza della rete
- Le applicazioni servite
L'architettura di rete LoRaWAN utilizza una topologia a stella in cui ciascun nodo finale comunica con più gateway che comunicano con il server di rete.
La rete LoRa ha quattro elementi (Figura 4):
- I nodi finali raccolgono i dati dei sensori, li trasmettono a monte e ricevono la comunicazione a valle dal server delle applicazioni. I dispositivi finali utilizzano la comunicazione wireless single-hop a uno o più gateway.
- Il concentratore/gateway funge da ponte trasparente e trasporta i dati bidirezionali tra i nodi finali e i server a monte.
- Il server di rete si connette a più gateway tramite una connessione TCP/IP protetta, cablata o wireless, elimina i messaggi duplicati, decide quale gateway dovrebbe rispondere a un messaggio di nodo finale e gestisce le velocità dei dati del nodo finale con un regime ADR (Adaptive Data Rate) per massimizzare la capacità della rete ed estendere la durata della batteria del nodo finale.
- Il server delle applicazioni raccoglie e analizza i dati dai nodi finali e determina le azioni del nodo finale.

Figura 4: Una rete LoRa ha quattro blocchi principali e due strati di sicurezza. (Immagine per gentile concessione di LoRa Alliance)
La comunicazione endpoint è normalmente bidirezionale, ma LoRa supporta anche l'operazione multicast per funzioni come gli aggiornamenti software. Molti protocolli concorrenti, come ZigBee, utilizzano una topologia a rete in cui i singoli nodi finali ricevono e ritrasmettono le informazioni da altri nodi finali. Questo approccio aumenta l'intervallo e la dimensione delle celle della rete, ma il sovraccarico di comunicazione aggiunto aumenta la complessità, riduce la capacità di rete e aumenta il consumo di energia dei singoli nodi.
Classificazione dei nodi finali LoRa
Esistono tre classi di dispositivi nodo finale. Le tre classi consentono la comunicazione bidirezionale e possono avviare un uplink al server tramite il gateway. Differiscono in termini di quando accettano i messaggi in arrivo dal server.
Un dispositivo LoRaWAN Classe A ha un consumo minimo. Un nodo finale consente solo la comunicazione dal server durante due brevi finestre di ricezione che si aprono per un breve periodo dopo una trasmissione uplink. I messaggi dal server in qualsiasi altro momento devono attendere il successivo tempo di uplink previsto. Un dispositivo Classe A è asincrono. Un endpoint inizia una trasmissione ogni volta che dispone di dati da inviare, quindi attende un tempo prestabilito e si mete in ascolto di una risposta.
Un dispositivo LoRa Classe B offre le funzionalità della Classe A, ma apre anche finestre di ricezione aggiuntive in tempi pianificati. Per sincronizzarsi con la rete, il nodo di Classe B riceve un beacon tempo-sincronizzato dal gateway ogni 128 secondi. Ad esso viene assegnato un intervallo di tempo entro quei 128 secondi che consente al server di sapere quando il dispositivo finale è in ascolto.
Un dispositivo LoRa Classe C fornisce finestre di ricezione aperte in continuo. Le finestre sono chiuse solo durante le trasmissioni dell'endpoint. Un dispositivo di Classe C è adatto laddove è richiesta una grande quantità di dati ricevuti e non trasmessi.
Sicurezza di LoRaWAN
La sicurezza robusta è un elemento chiave di qualsiasi progetto LPWAN. LoRaWAN utilizza la crittografia AES a 128 bit e dispone di due strati indipendenti di protezione, una chiave di sessione di rete (NwkSKey) e una chiave di sessione di applicazione (AppSKey) (Figura 5).

Figura 5: Il flusso dei dati da un dispositivo finale LoRa all'applicazione include la cifratura e la decrittazione all'inizio e alla fine della catena, in modo che solo il sensore del nodo finale e l'applicazione abbiano accesso ai dati in testo semplice. (Immagine per gentile concessione di Microchip Technology)
Lo strato di sicurezza della rete assicura l'autenticità del nodo nella rete e lo strato di sicurezza dell'applicazione garantisce che l'operatore di rete non abbia accesso ai dati di applicazione dell'utente finale.
Esistono due metodi per distribuire le chiavi:
- Attivazione tramite personalizzazione (ABP): qui, i dispositivi finali LoRaWAN possono essere programmati in fabbrica con le informazioni di autenticazione per una specifica rete LoRaWAN.
- Attivazione OTA (Over the Air): utilizza un ID dell'applicazione, un ID dispositivo univoco e un indirizzo di dispositivo assegnato dalla rete per derivare NwkSKey e AppSKey. Questo metodo è preferito perché le chiavi non sono predeterminate e possono essere rigenerate.
Come iniziare lo sviluppo LoRa
I produttori offrono ai progettisti una gamma di opzioni LoRa con livelli di integrazione che vanno da singoli dispositivi a kit di sviluppo completi.
SX1279 di Semtech Corporation è un transceiver LoRa a chip singolo che può coprire sia le bande ISM europee che quelle nordamericane (Figura 6). A seconda delle norme vigenti, il dispositivo offre larghezze di banda di canali che vanno da 7,8 kHz a 500 kHz e fattori di divisione compresi tra 6 e 12.
Figura 6: SX1279 di Semtech offre velocità effettive di bit da 18 bit/sec a 37,5 kilobit/sec, un intervallo più ampio di quello ammesso da LoRaWAN. (Immagine per gentile concessione di Semtech Corporation)
A livello di modulo, Microchip, un beneficiario di licenza di LoRa IP, offre RN2483 per applicazioni europee a 868 MHz e RN2903 LoRa per applicazioni nordamericane a 915 MHz (Figura 7). Entrambi i moduli contengono un microcontroller specifico dell'applicazione con lo stack di protocollo LoRa, un transceiver radio conforme a LoRa, una EEPROM seriale che fornisce al dispositivo un identificativo univoco EUI-64 e 14 pin per ingresso/uscita (I/O) per ingressi sensore analogici o digitali, interruttori o indicatori di stato.
Questi moduli sono progettati per l'uso di Classe A e consentono un funzionamento a lungo raggio con un amplificatore di potenza ad alta efficienza (14 dBm in RN2483) di 18,5 decibel-milliwatt (dBm), abbinato a una sensibilità del ricevitore di -146 dBm.

Figura 7: Un tipico nodo finale RN2903 può includere funzioni di ingresso e uscita. La porta ICSP opzionale può essere utilizzata per aggiornare il firmware. (Immagine per gentile concessione di Microchip Technology)
A livello di scheda, Microchip offre DM164139 Mote, un dispositivo finale di Classe A basato sul modem RN2903 LoRa. Mote è un nodo autonomo a batteria che fornisce una comoda piattaforma di dimostrazione per le funzionalità a lungo raggio del dispositivo RN2903.
Mote include sensori di luce e temperatura. La trasmissione dei dati può essere avviata tramite la pressione di un tasto o secondo una pianificazione fissa. Un display LCD visualizza informazioni come lo stato della connessione, i valori dei sensori o i dati downlink.
La scheda si collega a un computer tramite un connettore USB 2.0 micro-B che fornisce l'accesso all'interfaccia UART di RN2903. L'UART consente di impostare e controllare rapidamente lo stack di protocollo LoRaWAN su scheda tramite un set di comandi ASCII ad alto livello.
Il modem RN2483 dispone di una propria scheda Mote, DM164138.
Infine, il kit di valutazione rete LoRa DV164140-2, anch'esso di Microchip, include due schede RN2903 Mote e una scheda gateway (Figura 8). Ciò consente ai progettisti di valutare facilmente la capacità di un sistema LoRa completo a 915 MHz. Un kit correlato, DV164140-1, copre le applicazioni a 868 MHz.

Figura 8: I kit di valutazione LoRa DV164140-2 (915 MHz) e DV164140-1 (868 MHz) di Microchip comprendono due schede Mote, la scheda core del gateway e la scheda radio (da sinistra a destra). (Immagine per gentile concessione di Microchip Technology)
La scheda gateway è composta da una scheda core e da una scheda radio collegata. Comprende uno schermo LCD, una scheda SD per i dati di configurazione, una connessione Ethernet, un'antenna e le radio di acquisizione a banda intera.
La scheda gateway si interfaccia con il computer host tramite un cavo USB che fornisce sia l'alimentazione che la comunicazione. Inoltre, un cavo Ethernet è collegato tra la scheda core e il connettore della rete locale (LAN) del PC per la comunicazione tra il gateway e il server.
La scheda di sviluppo Mote è collegata al computer host tramite una propria connessione USB.
Software del kit di valutazione della rete
Il software del kit di valutazione è costituito da una suite di sviluppo LoRa di Microchip, che può essere scaricata gratuitamente dalla Pagina di prodotto DV164140-2 sul sito DigiKey. Disponibile per Mac, Windows o Linux, la suite imposta una versione locale del server di rete LoRaWAN che viene eseguito sotto il sistema operativo host senza una connessione di rete esterna. La suite di sviluppo crea una rete di dimostrazione autonoma che rende facile e veloce la verifica della rete LoRa.
Internamente, la suite di sviluppo LoRa utilizza Docker, una piattaforma di sviluppo open-source per l'esecuzione di applicazioni containerizzate. Docker consente a Oracle Virtual Machine (VM) di funzionare in ambiente Windows, Mac o Linux (Figura 9). Il VM ospita Docker Engine, che a sua volta gestisce il server di valutazione LoRa. Il server di valutazione comunica con la scheda gateway tramite la porta Ethernet, che trasmette dati al modulo RN tramite il collegamento LoRa.

Figura 9: Il kit di valutazione della rete LoRa implementa un server di valutazione LoRa che si esegue sotto il sistema operativo del computer host. (Immagine per gentile concessione di Microchip Technology)
LoRa Development Utility viene eseguito all'interno di Java Runtime Environment (JRE), un insieme di strumenti software che consente lo sviluppo di applicazioni Java. L'utilità consente all'utente di eseguire una serie di attività come: rilevare nuovi terminali sulla rete; consentire loro di accedere alla rete; creare un nuovo server delle applicazioni e configurare la rete (Figura 10).

Figura 10: LoRa Development Utility è scaricabile dalla pagina di prodotto dei kit di valutazione e controlla molte funzionalità del kit di valutazione LoRa, inclusa la configurazione di rete. (Immagine per gentile concessione di Microchip Technology)
Conclusione
Il protocollo LoRa soddisfa un'importante necessità IoT di comunicazioni a lungo raggio, a bassa potenza e basse velocità di trasmissione dati. Questo articolo ha discusso lo strato fisico LoRa e le specifiche LoRaWAN che lo rendono possibile e ha evidenziato una serie di dispositivi e kit che aiutano i progettisti a valutare rapidamente le prestazioni di LoRa in una gamma di applicazioni target.
Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.





