LoRaWAN Gateway: l'hardware

Un gateway LoRaWAN ha il compito di ricevere i dati inviati da sensori via radio e ritrasmetterli verso la rete LoRaWAN utilizzando internet. In genere si parla di packet forwarding. Il gateway non entra nel merito del pacchetto ricevuto, ma semplicemente lo inoltra alla struttura di rete alla quale il gateway è ‘agganciato’.

Architettura LoRaWAN

Ovviamente, il gateway ha anche la funzione di trasmettere dalla rete verso i sensori. Le classiche frequenze radio utilizzate sono nella banda libera, Short Range Devices (SRD), e definite in base alla regione di appartenenza. In Europa le frequenze sono in campo UHF a 434 e 865 MHz, con banda passante e potenza limitate dalla normativa. Le distanze radio coprono un raggio di diversi chilometri, anche 10 in campo aperto.
Il messaggio da un nodo può essere ricevuto da uno o più gateway. La rete avrà il compito di scartare i dati dupplicati perché ricevuti da più gateway. L’uso di più gateway, a copertura di una medesima area, consente funzioni come, ad esempio, la geolocalizzazione.

Esistono diverse soluzioni hardware, da quelle economiche da poche decine di euro, a quelle professionali da qualche migliaio di euro. Qualunque sia la soluzione, la parte radio che si occupa della modulazione o demodulazione si basa su tecnologia Semtech che ne detiene i diritti.
Quelle economiche si basano su shield Arduino e in genere sono in grado di gestire un solo canale, pochi nodi e debbono essere ingegnerizzati con altro hardware, case, alimentazione.
Nella fascia di prezzo alto ci sono apparati multicanale, ben ingegnerizzati, con case protetti per l’esterno, con buone soluzioni di alimentazione.
Nella fascia intermedia ci sono soluzioni complete di case o con moduli da integrare con schede a processore quale Raspberry Pi.
Evito un elenco di prodotti: una semplice ricerca in internet ne illustra molti, ma presento l’hardware di una soluzione che ho adottato.

Quanto realizzato, si basa su una scheda ic880a di IMST GmbH, una ditta tedesca. La scheda utilizza un chip SX 1301 di Semtech per demodulare il segnale e due chip SX1257 come front end in ricezione e trasmissione. Si tratta di una configurazione tipica anche di altre schede simili e di altre marche, che permette 8-10 canali di ricezione.
L’ic880a può ospitare un modulo GPS, non tanto per determinare le coordinate del dispositivo (normalmente il gateway è fisso in un posto), ma per fornire un riferimento temporale, e sincronizzare il clock, tramite il segnale PPS (Pulse Per Second) generato dal GPS. Tale riferimento risulta particolarmente utile nel funzionamento del modo B di LoRaWAN[1].
La scheda è predisposta per il modulo GPS che normalmente non è montato.

La scheda si interfaccia con un modulo a microprocessore (un Raspberry Pi, nel mio caso) attraverso una interfaccia seriale SPI. Esiste anche una versione con interfaccia USB. In figura la struttura del chip SX1301.

 

Implementazione hardware.

L’hardware è governato attraverso una interfaccia seriale SPI che richiede 4 segnali di controllo più l’alimentazione, tutto fornibili dal Raspberry Pi.

Come noto l’interfaccia SPI è di tipo master/slave dove, in questo caso, Pi ha ruolo di master. Si tratta dei segnali MISO (Master Input Slave Output), MOSI (Master Output Slave Input), NSS (Negative Slave Select), SPI CLOCK (il clock che tempifica lo scambio dei segnali della interfaccia) e il segnale di reset della scheda. A questi si aggiunge l’alimentazione (5V) e la massa, come indicato in tabella

iC880a pin

Descrizione

RPi  pin fisico

21

Supply 5V

2

22

GND

6

13

Reset

22

14

SPI CLK

23

15

MISO

21

16

MOSI

19

17

NSS

24

Per i dettagli si rimanda alla descrizione della scheda ic880A

La scheda ic800a ha dimensioni un poco superiori alle dimensioni di un Raspberry Pi.

Le foto mettono in evidenza la realizzazione

Immagine che contiene testo, elettronico, circuito

Descrizione generata automaticamente

Per connettere il Pi con la scheda ho realizzato un adattatore su scheda mille fori che cabla le connessioni SPI (4 fili: MSOI, MIOS, SCLK, NSS), reset e l’alimentazione (nel mio caso prelavata dal Raspberry Pi).

Immagine che contiene elettronico, circuito

Descrizione generata automaticamente

Le connessioni fra connettore Pi e ic880a sono con filo per wire wrap saldati direttamente sui pin.

Immagine che contiene elettronico, circuito

Descrizione generata automaticamente

Il risultato finale è un blocco compatto che può essere alloggiato un opportuno contenitore.

La scheda ic880a richiede una antenna esterna, per questo ha un connettore https://en.wikipedia.org/wiki/Hirose_U.FL" target="_blank" title="U.FI">U.FI. Lo stampato della scheda è predisposto anche per un connettore SMA, ma per alimentarlo occorre dissaldare un condensatore e risaldarlo con differente posizione. Io ho scelto quest’ultima opzione: un connettore SMA è più sicuro e facile da manipolare.

In figura il dettaglio del condensatore.

Immagine che contiene testo, elettronico, circuito

Descrizione generata automaticamente

 

Il gateway realizzato è registrato su www.thethingsnetwork.org/">https://www.thethingsnetwork.org/" target="_blank" title="TTN">The Things Network ed è in funzione da circa 2 anni senza particolari problemi.

[1] https://doc.sm.tc/station/time.html" style="color:#0563c1; text-decoration:underline">https://doc.sm.tc/station/time.html

Tags: 

Mi piace: 

0
No votes yet