LoRaWAN
LoRaWAN és una especificació d'una xarxa LPWAN (Low Power Wide Area Network) proposada per la LoRa Alliance i pensada per comunicar dispositius de baix cost i baix consum alimentats per bateries. L'especificació cobreix les capes PHY i MAC de la xarxa, deixant les capes superiors a les aplicacions.
La comunicació entre dispositius i les estacions base (anomenades "gateways" per l'especificació) es basa en la modulació LoRa desenvolupada per Semtech. Aquesta modulació permet enllaços de vàris kilòmetres inclús en entorns urbans (el link budget màxim és e 155 dB), amb un bitrate de fins a desenes de kbps (de 0.3 kbps fins a 50 kbps.) en la banda ISM de 868 MHz a Europa (915 MHz a altres regions).
Donades les particularitats de la codificació LoRa, diferents dispositius emetent a la mateixa freqüència però amb diferents bitrates i altres paràmetres no corrompen les transmissions. Això permet disposar d'un ampli nombre de "canals virtuals" per la comunicació entre dispositius i les gateways.
Contingut
Arquitectura
La topologia de la xarxa proposta per LoRaWAN és el d'estrella d'estrelles, és a dir, els dispositius es connecten directament (one-hop) amb una (o més) gateways de forma bidireccional (amb certes restriccions). Aquestes gateways re-transmeten les dades rebudes dels dispositius a un servidor de xarxa i a l'inrevés fent servir una conexió IP estàndard.
Una característica interessant de la LoRaWAN és que les gateways son simples intermediaris entre els dispositius i el servidor de xarxa. Aquest servidor és l'encarregat de gestionar la xarxa de dispositius LoRaWAN, permetent així la presència de múltiples gateways i la gestió centralitzada de tota la xarxa. D'aquesta forma, ampliar la xarxa amb més Gateways per millorar la cobertura és un procés molt senzill. A més, permet que diferents sub-xarxes de dispositius siguin gestionades per diferents servidors de xarxa fent servir les mateixes gateways.
Donada la natura transparent de les gateways, un dispositiu pot moure's i connectar-se a diferents Gateways sense necessitat de cap tipus de procés de connexió.
El fluxe de dades està pensat per a que sigui dels dispositius cap als servidors (uplink) amb la possibilitat de que els dispositius rebin dades del servidor de xarxa de forma ocasional (downlink). Segons la classe de dispositiu (A, B o C) tindrà més capacitat i velocitat de recepció en el downlink.
Els paquets de dades poden requerir d'un Acknowledge per part del servidor de xarxa per confirmar la correcta recepció del mateix. Aquest ACK es pot rebre en dos finestres de recepció disponibles després d'enviar el paquet de dades.
En aquest paquet d'ACK, el servidor de xarxa pot, opcionalment, enviar informació al dispositiu per a que canvi certs paràmetres de la xarxa. D'aquesta forma, és possible variar les condicions de la transmissió per millorar la cobertura, reduir el consum, etc.
Tipus de dispositius
LoRaWAN defineix 3 tipus diferents de dispositius, anomenats classes, dissenyats per diferents aplicacions. Vegem cada una de les 3 en detall.
Classe A
Els dispositius de Classe A permeten una comunicació bidireccinoal, amb la limitació de que només poden rebre dades (downlink) si han enviat abans un paquet (uplink). Això és per que cada cop que el dispositiu envia un paquet, se li obre la oportunitat de rebre un paquet de tornada. Aquest paquet de resposta conté l'ACK del paquet enviat així com dades d'aplicació si s'escau.
Aquest tipus de dispositius seran els de mes baix consum de la especificació, i ens serviran per aplicacions en les que els dispositius no hagin de rebre dades habitualment.
Un dispositiu compatible amb LoRaWAN ha d'implementar per força aquesta classe base.
Classe B
Els dispositius de classe B afegeixen la capacitat de rebre dades (downlink) sense necessitat d'enviar un paquet prèviament (uplink), d'aquesta forma l'aplicació pot enviar dades als dispositius de forma programada.
Això s'aconsegueix mitjançant l'enviament periòdic de beacons per part de les gateways. Aquests beacons permeten als dispositius estar sincronitzats amb la gateway i d'aquesta manera negociar temps de recepció de missatges des de la gateway cap al dispositiu (downlink).
Aquesta classe de dispositius tindran un consum d'energia més elevat que els de classe A donat la recepció periòdica dels beacons des de les gateways.
Classe C
Els dispositius de la Classe C estan permanentment escoltant i, per tant, poden rebre dades (downlink) en qualsevol moment (excepte quan el mateix dispositius està enviant dades (uplink)).
Aquest classe proporciona els millors temps de resposta i capacitat d'enviament des de el servidor cap als dispositius, a canvi d'un consum d'energia molt més gran respecte a les classes A i B.
Seguretat
LoRaWAN inclou seguretat a dos nivells: xifratge de paquets a nivell de xarxa i a nivell d'aplicació. D'aquesta forma es protegeix la xarxa de dispositius maliciosos (primer nivell) i amb el segon nivell es protegeixen les dades d'aplicació, de manera que els servidors de xarxa (els que gestionen la xarxa) no poden llegir les dades de cada aplicació.
Per a ambdós nivells es fa servir el protocol AES amb claus de com a mínim 128 bits de longitud basades en els identificadors del dispositiu, de l'aplicació i de la xarxa.
Gateways
Una part molt important d'aquesta xarxa són les Gateways, ja que han d'escoltar en diversos canals simultàniament i alhora poder rebre múltiples paquets alhora. Inicialment hi havia pocs fabricants de gateways, sent els més importants Kerlink (ca. 1200€) i Multitech (ca. 450€) , però s'està ampliant l'oferta. La xarxa The Things Network va dissenyar i produir una gateway complertament lliure i oberta per la campanya de kickstarter (250€).
Es de suposar que amb la presentació de la primera versió de l'especificació i l'expansió d'aquesta nous fabricants presentin les seves pròpies gateways.
Més info
- al wiki internacional: Overview gateways
- comparativa de gateways a LorIoT