Cum să realizăm un gateway LoRaWAN

Acoperirea rețelelor LoRaWAN la noi în țară este destul de scăzută (atât a rețelelor comerciale cât și a rețelei TTN). Din acest motiv, pentru a testa un sistem IoT LoRaWAN (ca cel descris în „Cum să realiză un sistem IoT LoRaWAN”) uneori este necesară realizarea unui sistem gateway LoRaWAN propriu. Sistemele profesionale de acest tip sunt destul de scumpe reprezentând o variantă de lux, a se vedea studiul comparativ a celor de la LorIoT.

O altă variantă este construirea unui sistem gateway propriu utilizând o placă de dezvoltare de genul Raspberry Pi. Problema în acest caz este generată de complexitatea modulației radio LoRa – sistemele gateway fiind sisteme care ascultă frecvențe radio multiple simultan (sunt denumite și concentratoare). Din acest motiv un modul radio LoRa obișnuit nu poate echipa un sistem gateway LoRaWAN fiind necesar un modul de tip concetrator, de exemplu: iC880A – LoRaWAN Concentrator 868MHz – modul cel mai adesea folosit în sisteme gateway LoRaWAN bazate pe Raspberry Pi.

2

Pentru mai multe detalii despre cum puteți construi un sistem gateway LoRaWAN bazat pe un modul de tip concentrator puteți consulta și materialele:

Chiar dacă prețul unui modul concentrator este mai mic decât a unui gateway profesional construirea unui astfel de sistem implică totuși un buget destul de mare.

Singura alternativă, accesibilă ca buget, este realizarea unui sistem gateway LoRaWAN de tipul One Channel (sau Single Channel). Adică vom un utiliza un modul radio LoRa obișnuit împreună cu o placă de tipul Raspberry Pi pentru realizarea unui sistem gateway. Dezavantajul unui astfel de gateway este faptul că ascultă pe o singură frecvență radio neputând comunica simultan cu mai multe sisteme IoT LoRaWAN. Acest tip de sisteme sunt considerate sisteme de tip ”forwarder” (Single Channel Forwarder) neavând o funcționalitate gateway LoRaWAN completă. Totuși, un astfel de sistem poate fi utilizat în locații izolate (fără acoperire LoRaWAN) pentru a testa comunicația LoRaWAN. Rețeaua TTN permite accesul acestor sisteme în rețea dar nu încurajează și nu asigură suport pentru ele fiind considerate compatibile dar neconforme cu specificațiile LoRaWAN.

Pentru implementare vom utiliza o placă de dezvoltare Raspberry Pi 3 și un hat LoRa/GPS. Testele au fost realizate sub Raspbian 9 (stretch) Lite, kernel 4.9.41-v7+.

Placa Raspberry Pi trebuie să aibă protocolul SPI activat (cu ajutorul utilitarului raspi-config) și pachetul wiringpi instalat.

$sudo raspi-config

4

$sudo apt-get update

$sudo apt-get install wiringpi

Pentru a implementa funcționalitatea de redirecționare a comunicației LoRa către platforma TTN vom utiliza software-ul single_chan_pkt_fwd.

$ wget https://github.com/tftelkamp/single_chan_pkt_fwd/archive/master.zip

$ unzip master.zip

$ cd single_chan_pkt_fwd-master

$ nano main.cpp

În fișierul main.cpp vom personaliza următoarele linii:

int ssPin = 6;

int dio0  = 7;

int RST   = 0;

sf_t sf = SF7;

uint32_t  freq = 868100000;

// opțional, dacă dorim să declarăm

// poziția și altitudinea sistemului

float lat=…;

float lon=…;

int   alt=…;

static char platform[24] = “Single Channel Gateway”;

static char email[40] = “…”;

static char description[64] = “…”;

#define SERVER1 “52.169.76.203”

#define PORT 1700

Salvăm (CTRL+O, CTRL+X), compilăm programul și îl lansăm în execuție:

$ make

$ sudo ./single_chan_pkt_fwd

5

Următorul pas necesită înregistrarea sistemului gateway în cadrul platformei TTN. În momentul înregistrării sistemului gateway este foarte important să bifăm opțiunea ”I’m using the legacy packet forwarder” (nu se poate modifica ulterior) și să copiem Gateway ID din consola ssh în consola de înregistrare.

6

După terminare înregistrării vom putea observa în consola TTN conexiunea dintre sistem și platforma TTN (Gateway Overview):

7

Pentru a face ca programul single_chan_pkt_fwd să ruleze automat la repornirea sistemului de operare adăugăm următoarea linie în fișierul /etc/rc.local (înainte de linia cu exit 0):

sudo /home/pi/single_chan_pkt_fwd-master/single_chan_pkt_fwd &

presupunând că am salvat și realizat compilarea în directorul utilizatorului pi.

Pentru mai multe informații legate de realizarea unui gateway LoRaWAN TTN Single Channel se pot consulta și următoarele materiale: