In questo articolo, andremo a vedere come progettare e realizzare una semplice rete LoRa per usi domestici. Nella trattazione, suddivisa in due parti, si inizierà con illustrare brevemente che cosa è l'IoT e cosa sono le reti LPWAN basate su tecnologia LoRa. Continueremo poi con la parte più tecnica relativa alla progettazione dell'hardware necessario al funzionamento della rete. Nella seconda parte dell'articolo, saranno sviluppati gli sketch per il controllo dei dispositivi e implementeremo un semplice web server a cui accedere per visualizzare i dati provenienti dai terminali remoti.
Ecosistema IoT
Prima di addentrarci negli aspetti pratici, descriviamo di seguito il contesto di riferimento e diamo alcune definizioni che ci permetteranno di capire meglio i meccanismi che stanno alla base di questa tecnologia. Per IoT (Internet of Things) o Internet delle Cose si intende un vasto insieme di tecnologie integrate, nuove soluzioni e servizi, che permettano agli "oggetti" (cose) di comunicare e di essere controllati da remoto, andando a combinare le infrastrutture di internet già esistenti con moderni sistemi di comunicazione wireless. In questo contesto, gli "oggetti" possono essere qualsiasi cosa, come ad esempio: macchinari industriali, celle frigorifere, sistemi di controllo in campo agricolo, zootecnico o meteorologico. Ma anche oggetti di uso quotidiano come gli elettrodomestici di casa o il sistema di irrigazione dei vasi del proprio balcone e quant'altro ci possa venire in mente.
In generale, le molteplici applicazioni di questa tecnologia, se utilizzate a livello industriale, necessitano di molti sensori, distribuiti su aree molto vaste e capaci di comunicare tra loro. In sostanza, si tratta di implementare delle soluzioni scalabili, economiche, capaci di permettere collegamenti a lungo raggio e soprattutto energeticamente efficienti. Proprio l'efficienza energetica gioca un ruolo fondamentale perché la maggior parte dei sensori soprattutto in ambito extraurbano é alimentato da batterie; ciò comporta diversi problemi, soprattutto di carattere economico legati ai costi di manutenzione e sostituzione delle fonti di alimentazione. La parziale soluzione di questo problema passa attraverso diverse strade, spesso combinate assieme e che riguardano sia specifici interventi hardware che migliorino l'efficienza dei dispositivi sia software, andando a programmare accensioni e spegnimenti e/o riducendo il numero di pacchetti dati inviati.
LPWAN e LoRa
Tra le tecnologie IoT che in questi ultimi anni stanno avendo grande diffusione ci sono le reti LPWAN (Low Power Wide Area Network). Si tratta di reti wireless caratterizzate da dispositivi a bassissima potenza (Low Power) ma capaci di coprire vaste aree di territorio.
Per ottenere le prestazioni sopra descritte, sono stati sviluppati dispositivi e protocolli di comunicazione estremamente efficienti, caratterizzati appunto da consumi energetici particolarmente ridotti a fronte spesso di una forte riduzione del bit rate. La riduzione della quantità di informazione trasmessa per unità di tempo è sicuramente uno degli elementi che ha contribuito allo sviluppo di queste reti. Effettivamente, a pensarci bene, l'IoT si basa proprio sulla trasmissione di dati elementari con frequenze temporali poco elevate e/o in occasione di eventi particolari. Il più delle volte, si tratta di trasmettere dei semplici valori analogici (temperatura, umidità, velocità del vento, etc.) e molto spesso l'elementare stato ON/OFF di un sensore sollecitato da qualche evento esterno (ad esempio, il passaggio di una persona, l'apertura di una porta o di una finestra).
Nell'ambito delle reti LPWAN sono state individuate e sono tuttora allo studio diverse tecnologie, tra queste le reti basate su architettura LoRa e protocolli LoRaWAN. Come visibile in Figura 1, una rete è costituita da più terminali remoti (end device) detti anche "nodi" collegati tramite link radio a dei dispositivi di acquisizione dati detti gateway, i quali a loro volta risultano connessi ad un server di rete che permette di rendere disponibili le informazioni raccolte su una qualsiasi rete IP o sull'intero cloud. É facile intuire che una rete del genere permette la telegestione e la supervisione di oggetti ovunque dislocati tramite semplici applicazioni web fruibili da pc o da smartphone.
In questo ambito, LoRa (Long Range), rappresenta il livello fisico della rete LPWAN ed è una tecnologia wireless proprietaria, operante nella banda ISM (Industrial, Scientific and Medical) sviluppata dall’azienda francese Semtech Corporation. Si tratta di una modulazione basata sulla tecnica CSS (Chirp Spread Spectrum) già utilizzata da molti anni in ambito militare e nelle comunicazioni aerospaziali. Di seguito, nella trattazione avremo modo di approfondire gli aspetti più importanti. LoRaWAN è invece il protocollo di comunicazione superiore a quello fisico con il quale vengono definite le regole e l’architettura della rete.
Progettazione di una rete LPWAN "domestica"
L'obiettivo di questo articolo è quello di progettare una generica rete domestica che tramite l'utilizzo di dispositivi LoRa ci permetta di collegare e convogliare le informazioni derivanti da diverse tipologie di sensori in un unico punto di raccolta (gateway), a cui accedere con il proprio smartphone o con qualunque altro dispositivo collegabile ad una eventuale rete IP locale. Non ci addentreremo nei meccanismi di funzionamento del protocollo LoRaWAN, anzi ci limiteremo a lavorare solo sul livello fisico (LoRa) andando a sviluppare un hardware e un software generico per la gestione delle informazioni da e per i terminali remoti e il gateway (Figura 2).
I terminali remoti saranno composti da un dispositivo a cui collegare eventuali sensori ambientali e un modulo LoRa a cui sarà affidato il compito di stabilire il collegamento con il gateway (Figura 3). Il gateway sarà invece composto da una board ESP32 che, connessa anch'essa ad un modulo LoRa, avrà il compito di interagire con i terminali remoti, ricevendo le informazioni e rendendole disponibili tramite un piccolo web server su una rete IP locale (Figura 4).
Il livello fisico LoRa
Nel precedente paragrafo abbiamo visto che nel progetto della nostra rete LPWAN ci limiteremo ad utilizzare solo il livello fisico della rete, ovvero per la comunicazione tra nodi, gateway e rete IP non utilizzeremo un qualche tipo di protocollo esistente che stabilisca regole ben precise di scambio delle informazioni tra i vari dispositivi presenti in rete; ci limiteremo ad impostare delle regole minime di trasmissione e ricezione dei dati al fine di rendere quanto più possibile generalizzabile l'uso dei dispositivi. Per completezza tecnica, di seguito andremo a descrivere gli aspetti salienti del livello fisico LoRa e come questo funziona.
Come anticipato, il livello fisico LoRa utilizza come modulazione il CSS (Chirp Spread Spectrum), si tratta di una tecnica sviluppata in ambito militare per applicazioni legate ai sistemi radar, per poi però essere stata adattata a funzionare anche in ambiti diversi. CSS codifica i dati con un "chirp" (Figura 5), essenzialmente si tratta di un segnale portante modulato in frequenza su uno spettro esteso (a banda larga). La modulazione in frequenza effettuata linearmente può essere crescete up-chirp o decrescente down-chirp.
La modulazione LoRa usa pertanto una variazione di frequenza simile alla modulazione FSK (Frequency Shift Key), ma con uno schema più complesso che rende la trasmissione maggiormente robusta alle interferenze. L'intera banda di canale viene impiegata per la trasmissione. La "larghezza di banda del canale" (BW) cioè la porzione di spettro occupata da un chirp, nel caso di LoRa, può essere di 125 KHz, 250 KHz e 500 KHz. In Europa, sono ammesse solo le prime due larghezze di banda. Definendo come "symbol rate" la velocità (rate) con la quale l'informazione viene diffusa ed inviata, possiamo introdurre lo Spreading Factor definendolo come il rapporto tra il symbol rate nominale ed il chirp rate, in altre parole la velocità con cui vengono generati e trasmessi i singoli chirp. In pratica, lo SF rappresenta il numero di simboli inviati per bit di informazione. LoRa ha sei diversi SF che vanno da SF-7 a SF-12. Maggiore è il livello dello Spreading Factor tanto più il segnale è robusto e sopravvive alle lunghe distanze, ma tanto più aumenta la durata della trasmissione. In sostanza, la modulazione LoRa la possiamo definire attraverso i seguenti tre parametri: lo Spreading Factor (SF), la larghezza di banda del canale (BW) e la frequenza centrale del canale stesso. Alla fine, il compito svolto dal modulatore é quello di tradurre i simboli in chirp.
Moduli LoRa
Prima di passare all'analisi degli schemi elettrici dei dispositivi che andremo a realizzare, spendiamo qualche parola sull'elemento fondamentale del nostro progetto, ovvero il modulo LoRa. Nella fattispecie, é stato scelto il modulo RFM95W-868 (Figura 6). Si tratta di un dispositivo dalle dimensioni estremamente contenute, praticamente in una breakout board poco più grande di un francobollo (16x16 mm) trova posto il chip RF96 con la relativa componentistica di supporto, il tutto a formare un completo ricetrasmettitore che può operare su diverse frequenze, in particolare quella assegnata a livello Europeo è di 868 MHz. Il ricevitore ha una sensibilità di ben -140dbm e una potenza in trasmissione che può arrivare a +20dbm. Il modulo funziona con una alimentazione di 3.3V ed è completamente gestibile tramite interfaccia SPI (Serial Peripheral Interface).
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2347 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.