Università degli Studi di Napoli Federico II
Dipartimento di Ingegneria Elettrica e delle Tecnologie dell’Informazione
Classe di Laurea in Ingegneria dell’Informazione, Classe n. L.8
Corso di Laurea in
Ingegneria Elettronica
Progettazione di un nodo IOT LoRa
Anno Accademico
2023/2024
INDICE
INTRODUZIONE 4
O 4
BIETTIVI DEL PROGETTO
1 STUDIO DEL PROTOCOLLO LORA 5
1.1 L R 6
O A
1.2 L R WAN 6
O A
1.3 L R PHY 8
O A
1.4 I 11
NTERFERENZE
1.5 T 11
OPOLOGIA HARDWARE E AMBIENTE DI DISTRIBUZIONE
1.6 A 12
REE DI APPLICAZIONE
1.7 P 12
OTENZA DISSIPATA
1.8 L R A 13
O A LLIANCE E LA SUA EVOLUZIONE
2 PROGETTO COMUNICAZIONE LORA 13
2.1 H 15
ARDWARE
2.1.1 Nucleo F401RE 15
2.1.2 D1 Mini (ESP8266) 16
2.1.3 ESP8266 17
2.1.4 Ra-02 20
2.2 L 21
IBRERIE
2.2.1 LoRa 21
2.2.2 ESP8266 22
2.3 C IOT 23
LOUD
2.4 P 24
ROTOTIPO
3 FIRMWARE 27
3.1 T 27
RANSMITTER
3.1.1 Settaggi IOC STM32CubeIDE 27
3.1.2 Analisi del codice 31
3.2 R 32
ECEIVER
3.2.1 Settaggi IOC STM32CubeIDE 32
3.2.2 Analisi del codice 36
4 TEST 38
5 CODICE 39
5.1.1 Main Transmitter 39
5.1.2 Main Receiver 45
CONCLUSIONI 53
BIBLIOGRAFIA 54
ELENCO DELLE FIGURE 56
RINGRAZIAMENTI 57
Introduzione
La seguente discussione presenta la progettazione di un nodo in grado di monitorare
dati relativi alla temperatura ambientale captata del microcontrollore. Tali dati
vengono caricati sul server per poi poterli gestire ed utilizzare opportunamente in
vari campi di applicazione. Il seguente progetto è nato con lo scopo di gettare le
basi per la comunicazione LoRa e la gestione di un gateway Lora, ma è immediato
capire che è possibile adattare tale progetto a qualsiasi campo di applicazione ed
inviare dati provenienti da più sensori connessi fisicamente alla board trasmittente.
Per rendere la potenza dissipata minima si sceglie di utilizzare una board basata su
microcontrollore STM32 in grado di fornire un'alta efficienza energetica ed una
compatibilità con le tecnologie impiegate.
Una volta analizzate le caratteristiche del protocollo LoRa, si passa alla fase di
progettazione hardware dove verranno illustrate le varie scelte progettuali e librerie
utilizzate con l’aggiunta della prototipazione del sistema finale.
1 Studio del protocollo LoRa
L'evoluzione delle reti sensori wireless ha avuto un grande sviluppo nel mondo
della IOT, tali reti includono enormi quantità di sensori ad ampio raggio con
capacità di gestione dei dati e di modulazione delle frequenze di trasmissione
diverse. Molti di questi sensori sono interconnessi tra di loro e distribuiti in una
grande area operativa per la raccolta e il monitoraggio delle informazioni locali. I
dispositivi presenti in una rete IOT possono scambiare i propri dati tra di loro o con
i nostri devices quotidiani. L’IOT può essere visto come una rete con meno spazio
di archiviazione meno potenza di calcolo ma un'efficienza maggiore.
Nel mondo dell'IOT le tecnologie più largamente utilizzate fino a qualche tempo fa
prima del protocollo LoRa erano la rete cellulare e quella Bluetooth; permettevano
però comunicazioni a corto raggio con potenze dissipate maggiori.
Il protocollo LoRa (Long Range) è un protocollo di comunicazione che grazie ad
una particolare modulazione di frequenza è in grado di trasmettere segnali a
distanze considerevoli anche nell’ordine delle decine di km spendendo poca
energia, infatti, LoRa nasce con l’intento di essere implementato in molte reti di
dispositivi del mondo IOT (internet of things) e di offrire una tecnologia che potesse
superare i limiti imposti dalle reti cellulari.
I punti di forza e di debolezza del protocollo LoRa sono stati discussi per molto
tempo. Per caratterizzarli sono stati eseguiti dei lavori di approfondimento sui
meccanismi di sicurezza e di prestazioni sia di LoRa fisico che di LoRaWAN.
LoRa quindi si occupa di definire lo standard per la creazione e la gestione del
collegamento fisico
LoRaWan(Long Range Wide Area Network): è un protocollo per la comunicazione
basato sulla tecnologia LoRa rappresenta gli strati superiori che gestiscono
l’architettura di rete e si occupa di definire le regole per la comunicazione e
l’architettura del network a livello due e tre del modello ISO-OSI.
1.1 LoRa
LoRa, abbreviazione di Long Range, è una tecnica di modulazione a spettro
espanso, sviluppata da Cycleo e acquistata nel 2012 da Semtech.
A livello fisico, utilizza una banda di frequenza in sub-gigahertz libere con
modulazione derivata dal CCS(Chirp Spread Spectrum) che invia un beat per ogni
chirp consumando più larghezza di banda per ogni dato ma assicurando una
trasmissione a distanze di oltre 10km nelle zone rurali e 3-5 km nelle zone
urbanizzate, con consumi ridotti ed un alta resilienza contro le interferenze,
sbiadimenti, effetti Doppler.
I dispositivi che ricevono il segnale LoRa possono utilizzare larghezze di bande
multiple per aumentare la capacità del sistema nel suo complesso: larghezza di
bande consentite sono 125 KHz, 255 KHz, 500 KHz.
1.2 LoRaWAN
LoRaWAN definisce quello che è uno strumento di livello superiore (livello rete),
infatti è un protocollo di livello Mac basato su cloud che permette di gestire i vari
dispositivi end-code o di routing. Mediante LoRaWAN viene configurato il
protocollo di comunicazione e l'architettura dei sistemi LoRa ed è responsabile
anche della velocità di dati, frequenza e alimentazione dei vari dispositivi nella rete.
LoRaWAN è formato da tre diverse componenti: dispositivi finali, gateway, server
di rete e si trovano nel front end e nel back end. Le informazioni provenienti da
dispositivi diversi tramite gateway utilizzando degli indirizzi ip vengono
convogliate in un unico dispositivo di lettura.
Un importante aspetto di LoRaWAN è la sincronizzazione di tutti i dispositivi che
fa sì che i dati trasmessi dal singolo possano essere captati da più gateway i quali
inoltrano i pacchetti a un server.
LoRaWAN distingue 3 modalità operative per i dispositivi del nodo finale (Figura
1.1): -Classe A: largamente utilizzata e più efficiente dal punto di vista
energetico.
L’uplink può essere seguito da una o due finestre di ricezione downlink
in intervalli e canali specifici (ogni uplink vuole un’ACK).
Se durante la prima finestra viene ricevuta un’ACK la seconda non si apre,
in sintesi, se il server decide di inviare un messaggio al nodo durante la
prima finestra di ricezione non potrà inviarne un altro durante la seconda
finestra e viceversa.
Un ED(end device) può nuovamente trasmettere dopo una ricezione riuscita
nella prima finestra o alla fine della seconda; può anche ritrasmettere se non
riceve alcun ACK durante le 2 finestre.
-Classe B: è un’estensione classe A ed apre finestra di downlink aggiuntive
in modo periodico, e scambiano pacchetti beacon (segnali temporizzati) dal
gateway verso il nodo di rete il quale apre una finestra di ricezione
indipendentemente dal fatto che abbia prima trasmesso o meno un pacchetto
Uplink.
-Classe C: dispositivi che ascoltano sempre l’attività di downlink tranne nei
momenti in cui hanno luogo le trasmissioni di uplink, consumano la
massima potenza per fornire continuità negli slot di ricezione, per avere
quindi una latenza più bassa rispetto al Classe A.
Figura 1.1 Schema delle modalità operative di LoRaWAN
1.3 LoRa PHY
È il livello che si occupa di analizzare le tecniche di modulazione e le caratteristiche
del protocollo stesso.
Possono essere adoperate tecniche di modulazioni del tipo:
-FSK (Frequency Shift Keying) per comunicazioni a bassa potenza ma con un
raggio di copertura meno esteso rispetto alla tecnologia sopra citata.
-CSS le informazioni che trasporta il segnale sono aggiunte in seguito al FEC
(Forward Error Connection) che è modulato sottoforma di frequenza di impulsi
chirp (segnale lineare a frequenza crescente che cicla la larghezza di banda del
canale BW di una frequenza centrale CF), permette una comunicazione con potenze
dissipate minori, il raggio di comunicazione è ridotto (Figura 1.2). .
Figura 1.2 Una forma d’onda chirp con frequenza incrementata linearmente nel tempo
Il CCS è quella più largamente utilizzata per i vantaggi che offre in termini di
immunità all’effetto Doppler e al multipath fading.
Figura 1.3 Un segnale LoRa modulato
Osservando i campioni dalla (Figura 1.3), ognuno di essi dista dall’altro del fattore
I valori tipici di SF sono 6/12 anche se SF6 ormai è in disuso.
Valori SF bassi implica una spaziatura in BW più veloce di quelli con FS alto ma
anche una minore reiezione al rumore.
2
Quello che oggi giorno si adotta è una codifica con numero di bit pari a che
consente a Lora di raggiungere velocità di trasmissione dati diverse e quindi
possiamo calcolare come:
2
=
1
Le tipologie di modulazione che vengono usate consentono di compensare la
velocità dei dati con la larghezza di banda, grazie all’utilizzo di una codifica
Forward Error Connection che migliora la reiezione in presenza di interferenze.
Considerando anche il CR(coding rate) e Rb(bit rate) legati dalle relazioni [2] [3].
4
= = {1,2,3,4}
2 4+
=
3 2
Con valori piccoli di CR [2] si può ottenere una migliore affidabilità di
trasmissione ma un canale con sovraccarico maggiore.
Con valori di SF [3] maggiori raggiungo distanze maggiori e segnali più robusti
ma a discapito della velocità di trasmissione.
Con valori BW [3] più elevati si ottiene una migliore trasmissione ma distanze
minori.
La corretta selezione di SF e CR tra nodi è fondamentale per la capacità totale
della rete, di solito viene selezionato il valore SF più basso per ottenere un
consumo energetico minore a discapito delle prestazioni.
Sia gateway LoRa che nodi finali sono Half-Duplex, ovvero non possono ricevere
e trasmettere allo stesso tempo.
1.4 Interferenze
Un fattore molto importante da tenere in considerazione nelle trasmissioni LoRa
interferenza, può essere causata sia da reti LoRa nei paraggi ma anche da reti non
LoRa, infatti parliamo di interferenze Inter-LoRa e Intra-LoRa.
L'interferenza Intra-LoRa è causata dalla sovrapposizione nel tempo di due o più
pacchetti che hanno lo stesso SF; il segnale desiderato verrà ricevuto correttamente
se è 3 dB superiore all'interferenza.
Al contrario di interferenza Inter-LoRa è causata dalle imperfette ortogonalità degli
SF. È stato dimostrato che minore è l'SF e maggiore è il BW, maggiore sarà l'effetto
dell'interferenza causata dalle trasmissioni. Il segnale desiderato non verrà ricevuto
correttamente se è più debole di una certa soglia.
Possiamo affermare che, se un segnale è superiore di 6 dB rispetto all'interferenza
verrà sempre ricevuto correttamente indipendentemente dalla tipologia di essa.
In generale è meno probabile che segnali con diversi SF interferiscano tra loro;
infatti, l'interferenza dei segnali non LoRa su segnali LoRa non è un problema
perché trascurabile.
1.5 Topologia hardware e ambiente di distribuzione
Le comunicazioni con tale protocollo sono soggette alla topologia di territorio di
distribuzione.
Tramite esperimenti si è scoperto che sulla Terra per distanze fino a 5 km la qualità
dei pacchetti consegnata è superiore all’ 80% tra 5-10 km superiore al 65%.
A distanze superiori la maggior parte dei pacchetti va perduta. Il raggio di
comunicazione si espande nel momento in cui andiamo in acqua; infatti, in tali
condizioni si estende per quasi 30 km con una percentuale di successo superiore al
68%.
1.6 Aree di applicazione
I protocolli sopra citati sono utilizzati in diverse applicazioni tra cui:
-città intelligenti e ambienti dove vi è la necessità di utilizzare servizi smart
(monitoraggio della qualità dell’aria o dell’inquinamento ambientale)
-case domotiche laddove sicurezza ed automazione la fanno da padrone
-applicazioni industriali ed aziendali in cui il monitoraggio e il tracciamento
degli asset avviene grazie all’utilizzo di tecnologie differenti.
-sanità per il monitoraggio dei pazienti
-agricoltura intelligente per il controllo di irrigazione e bestiame
1.7 Potenza dissipata
Per considerazione sulla potenza dissipata bisogno fare la distinzione tra transmitter
e receiver.
Nel caso del transmitter oltre alla corrente necessaria che occorre per alimentare la
board (parametro variabile in base al codice e al numero di sensori connesso),
l'unico componente da dover alimentare è il transceiver LoRa il quale in modalità
di trasmettitore assorbe una corrente di circa 120 mA.
Nel caso del receiver oltre alla corrente necessaria che occorra per alimentare la
board, vi sono altri due componenti: il transceiver LoRa e il modulo Wifi.
Il transceiver LoRa in modalità di ricezione assorbe una corrente di circa 10.8 mA
mentre il modulo Wifi può servire una corrente di circa 71mA con picchi che
possono arrivare anche a 500 mA. Quindi si arriva ad assorbire circa 81 mA a cui
c’è da aggiungere l’assorbimento della board.
1.8 LoRa Alliance e la sua evoluzione
Creare e gestire un protocollo così complesso non è facile, per cui si è creata nel
2015 la “LoRa Alliance”: un’associazione no-profit che presenta al suo interno
l’adesione di oltre 500 membri, tra cui Semtech, proprietaria della modulazione
LoRa e permette di garantire un'elevata applicabilità e regole ben specifiche sul suo
utilizzo.
Il protocollo ha avut
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Progettazione urbanistica
-
Progettazione dei controllori 1
-
Progettazione di un barbecue
-
Progettazione idraulica - relazione