LoRa: cos'è e come realizzare un ricetrasmettitore open source

Breve introduzione all'uso della tecnologia LoRa in ambito professionale. Come realizzare una ricetrasmittente utilizzando GNU Radio e un'implementazione completamente aperta.

LoRa (Long Range) è una tecnologia wireless a lungo raggio sviluppata dalla californiana Semtech (dopo l’acquisizione dell’azienda francese Cycleo che l’aveva inizialmente proposta). Essa ha come obiettivo quello di ottimizzare la trasmissione dati su lunghe distanze con un consumo energetico estremamente ridotto. LoRa è stata progettata specificamente per soddisfare le esigenze delle reti a bassa potenza e lungo raggio, molto utili nelle moderne applicazioni dell’Internet delle Cose (IoT).

Perché è utile usare LoRa

A livello industriale e professionale, LoRa sta divenendo una soluzione sempre più diffusa e apprezzata. È ideale per quei dispositivi che devono comunicare su aree estese: si pensi a sensori installati in zone rurali, ad esempio quelli adoperati in agricoltura, ai dispositivi per il monitoraggio ambientale su larga scala ma anche alla creazione di reti di device distribuiti in aree urbane.

Come già anticipato nell’introduzione, i prodotti compatibili LoRa sono contraddistinti da un basso consumo energetico. Possono quindi funzionare per lunghi periodi con batterie di piccole o  dimensioni o addirittura utilizzare fonti di energia alternative.

Il segnale LoRa può superare edifici e ostacoli, consentendo la comunicazione affidabile anche in ambienti difficili. È quindi possibile eseguire il monitoraggio di strutture al chiuso, dei parcheggi sotterranei e di altri ambienti in cui la penetrazione del segnale è un requisito imprescindibile.

LoRa favorisce un’elevata scalabilità consentendo di aggiungere rapidamente alla rete un numero sempre crescente di dispositivi. Si pensi alle moderni reti IoT in continua espansione, in cui migliaia o milioni di dispositivi devono essere gestiti e coordinati in tempo reale o quasi.

Affidandosi alla tecnologia LoRa, si possono sfruttare varie opzioni per la configurazione dei parametri di trasmissione, si possono ridurre i costi di implementazione e approntare reti affidabili in modo piuttosto rapido.

Quali sono gli svantaggi di LoRa

Una tecnologia per la trasmissione di dati ad ampio raggio non può ovviamente offrire un’ampia larghezza di banda e latenze contenute. Questi sono i principali svantaggi di LoRa.

Nello specifico, la velocità di trasmissione dati è molto limitata rispetto agli standard wireless che tutti conosciamo. Si parla di una “forbice” compresa tra 300 bps (0,3 kbps) e 50 kbps, a seconda delle particolari implementazioni. Dal momento che il volume dei dati da trasferire è piuttosto limitato e che spesso LoRa è utilizzato per gestire semplici sensori, la possibilità di veicolare i dati su lungo raggio consumando un ridotto quantitativo di energia, è di gran lunga più vantaggiosa rispetto alla disponibilità di una larghezza di banda più ampia.

A causa delle caratteristiche di trasmissione a lungo raggio, i pacchetti di dati trasmessi sono spesso soggetti a limiti di dimensione. Questo potrebbe limitare l’uso di LoRa per applicazioni che richiedono la trasmissione di quantità di dati più impegnative.

Anche se LoRa opera su bande di frequenza senza licenza, la banda disponibile per l’uso della tecnologia è comunque limitata. Questo può portare a fenomeni di congestione in aree con molte reti LoRa operative. In Europa le comunicazioni LoRa vengono tipicamente gestite sulle frequenze dei 433 e degli 868 MHz. Inoltre, anche se LoRa è progettata per resistere alle interferenze, la presenza di altre fonti radio, come dispositivi wireless a banda larga, può influire sulla qualità delle comunicazioni.

Differenze tra LoRa e LoRaWAN

LoRa è una tecnologia di livello fisico (PHY): ciò significa che essa si occupa della modulazione e della demodulazione dei segnali radio, ma non gestisce il livello di rete o le caratteristiche peculiari dei vari dispositivi coinvolti nelle comunicazioni.

In un altro articolo abbiamo invece presentato LoRaWAN ovvero il protocollo di rete che opera al di sopra della tecnologia LoRa. Si tratta di un protocollo di comunicazione bidirezionale che consente ai dispositivi di comunicare attraverso una serie di gateway con una rete centralizzata, che fa perno sul Network Server (NS). I gateway ricevono i segnali dai dispositivi LoRa e li inoltrano al NS. I messaggi possono essere a loro volta inoltrati dal NS ai dispositivi attraverso i gateway.

LoRaWAN offre alcune caratteristiche chiave come la gestione dell’autenticazione dei dispositivi, il controllo dell’alimentazione, la gestione dei canali e delle frequenze, il supporto per la classe A (dispositivi a bassa potenza e consumo energetico), classe B (dispositivi con programmazione sincronizzata) e classe C (dispositivi con ricezione continua).

Diversamente rispetto a LoRa, il protocollo LoRaWAN assicura funzionalità di gestione, sicurezza e organizzazione dei dispositivi, consentendo loro di comunicare in modo efficiente.

Come realizzare una ricetrasmittente a sorgente aperto su lunga distanza

EPFL, École polytechnique fédérale de Lausanne, prestigiosa istituzione accademica e di ricerca situata a Losanna, in Svizzera, tra le principali università tecnologiche in Europa e nel mondo, ha presentato un’implementazione perfettamente funzionante di una ricetrasmittente LoRa, capace di funzionare anche con SNR basso.

Il progetto di EPFL ha permesso la realizzazione di un transceiver LoRa di tipo SDR (software-defined radio). Con il termine SDR si fa riferimento alla tecnologia che aiuta a creare sistemi radio utilizzando principalmente software per definire e controllare le funzionalità wireless, anziché hardware tradizionali completamente cablati. In un sistema SDR, le funzioni di modulazione, demodulazione, filtraggio e altre operazioni radio sono eseguite mediante software su un’appropriata piattaforma di elaborazione, spesso un computer o un dispositivo dedicato.

Per raggiungere l’obiettivo gli studiosi elvetici hanno utilizzato il software GNU Radio, framework open source ideato per semplificare lo sviluppo di applicazioni radio complesse utilizzando un approccio basato appunto sul software anziché su componenti hardware dedicati.

Nell’implementazione GNU Radio delle funzionalità LoRa in trasmissione (Tx) e ricezione (Rx), l’utente ha la possibilità di configurare tutti i parametri. Tra questi rientrano il fattore di espansione (spreading factor), il tasso di codifica (coding rate), la larghezza di banda, la presenza di un’intestazione e del meccanismo CRC, nonché il messaggio da trasmettere. Sia in fase di trasmissione che di ricezione, EPFL ha previso l’uso dei vari blocchi di una ricetrasmittente LoRa.

Spreading factor, coding rate e CRC

Spreading factor, coding rate e CRC (Cyclic Redundancy Check) sono parametri chiave che influenzano la trasmissione dei dati con la tecnologia LoRa. Si tratta di aspetti configurabili che consentono di ottimizzare la comunicazione per diverse esigenze e sulla base delle condizioni di rete.

Lo spreading factor rappresenta il numero di simboli LoRa che vengono trasmessi per rappresentare un singolo bit di dati. Uno spreading factor elevato comporta una maggiore resistenza alle interferenze e una maggiore capacità di penetrazione degli ostacoli, a discapito però della velocità di trasmissione dei dati.

Il coding rate è il rapporto tra i bit di informazione effettivamente trasmessi e il totale dei bit trasmessi, inclusi i bit di correzione degli errori. In altre parole, rappresenta quanti bit di correzione degli errori vengono aggiunti ai dati trasmessi. Un coding rate più elevato comporta una maggiore resistenza agli errori di trasmissione, ma riduce la capacità di trasporto di dati effettivi.

Infine, CRC è una tecnica di controllo degli errori utilizzata per verificare l’integrità dei dati trasmessi. In LoRa, un CRC viene spesso aggiunto ai pacchetti trasmessi per consentire al ricevitore di rilevare eventuali errori di trasmissione. Il ricevitore calcola un valore CRC dai dati ricevuti e lo confronta con il valore CRC trasmesso. Se i valori non corrispondono, si presume che ci siano errori nei dati.

I ricercatori tendono a rimarcare le abilità dell’implementazione oggi presentata nella gestione dei segnali deboli (SNR o rapporto segnale-rumore molto basso). Grazie alla soluzione disponibile su GitHub e commentata nel post LoRa PHY based on GNU Radio, si può sperimentare l’uso della tecnologia LoRa in un ampio ventaglio di scenari di comunicazione, ampliando così le applicazioni pratiche dell’Internet delle Cose (IoT).

Ti consigliamo anche

Link copiato negli appunti