fieldtester.io

LoRa ir LoRaWAN

Ką reiškia šie du terminai, kam skirtas LoRaWAN ir kaip sudarytas tinklas.

Du sluoksniai

LoRa (iš „Long Range“) yra radijo technologija. Ji naudoja chirp spread spectrum moduliaciją (CSS): kiekvienas simbolis yra tonas, kurio dažnis perbėga visą kanalą. Dėl to imtuvas gali iškoduoti signalus, kurie yra žemiau triukšmo lygio. Technologija kilusi iš prancūzų bendrovės Cycleo, kurią Semtech įsigijo 2012 m. Semtech ir šiandien gamina daugumą LoRa radijo lustų.

LaikasDažnis125 kHzPreambulėDuomenys
LoRa paketas prasideda reguliariais čirpais (preambule). Duomenyse kiekvienas čirpas prasideda vis kitu dažniu: šis pradžios taškas neša informaciją.

LoRaWAN yra virš jos veikiantis tinklo protokolas. Jis nustato, kaip įrenginiai prisijungia, kaip pranešimai šifruojami ir skaičiuojami ir kaip tinklas valdo siuntimo nustatymus. Specifikacija yra atvira, ją prižiūri LoRa Alliance. Naudojamos versijos 1.0.x (daugiausia 1.0.3 ir 1.0.4) ir 1.1. Kiekvieno pasaulio regiono dažniai nustatyti atskirame dokumente „Regional Parameters“.

Trumpai: LoRa yra radijo ryšys, LoRaWAN – tinklas.

Kam skirtas LoRaWAN

  • Maži duomenų kiekiai: paprastai 10–50 baitų viename pranešime.
  • Retas siuntimas: tarp dviejų pranešimų praeina nuo kelių minučių iki kelių valandų.
  • Didelis veikimo nuotolis: mieste keli kilometrai, kaime ir esant tiesioginiam matomumui – gerokai daugiau.
  • Maitinimas iš baterijos: įrenginiai beveik visą laiką miega ir dažnai veikia kelerius metus.
  • Netinka balsui, vaizdams, valdymui realiuoju laiku ar dažniems atsakymams įrenginiui.

Kaip sudarytas tinklas

JutiklisTesterisSekiklisŠliuzasŠliuzasTinkloserverisProgramafieldtester.ioLoRa radijasInternetas
Įrenginys nepririštas prie vieno šliuzo: jo paketą priima kiekvienas aprėpties zonoje esantis šliuzas. Tinklo serveris pašalina dublikatus.
Dalis Užduotis
Galinis įrenginys (mazgas) Jutiklis, sekiklis arba lauko testeris. Siunčia uplink pranešimus, kartais gauna downlink pranešimus.
Šliuzas Priima viską, ką vienu metu girdi 8 ar daugiau kanalų, ir nepakeistą perduoda tinklo serveriui. Šliuzas negali perskaityti naudingosios apkrovos.
Tinklo serveris (LNS) Tikrina pranešimus, pašalina dublikatus (kai tą patį paketą girdi keli šliuzai), parenka šliuzą atsakymui ir valdo duomenų spartą.
Prisijungimo serveris (join server) Tvarko raktus, naudojamus įrenginiams prisijungiant.
Programos serveris / integracija Iššifruoja naudingąją apkrovą ir perduoda ją programai per webhook, MQTT ar panašiai.

Todėl lauko testeris tam pačiam pranešimui dažnai rodo kelis šliuzus.

Uplink ir downlink

  • Uplink: įrenginys → tinklas. Įprastas atvejis.
  • Downlink: tinklas → įrenginys. Įmanomas tik netrukus po uplink. Kol šliuzas siunčia, jis negali priimti jokiu kanalu. Todėl downlink pranešimų yra nedaug.

Įrenginių klasės

UplinkRX1RX21 s (TTN: 5 s)+1 sįrenginys klausosi tik dviejuose languosepo to miega
A klasė: po kiekvieno uplink atsidaro du trumpi priėmimo langai. Tik tada tinklas gali atsakyti.
Klasė Veikimas Tipinis naudojimas
A Po kiekvieno uplink atsidaro du trumpi priėmimo langai (RX1 po 1 s, RX2 sekunde vėliau; TTN tinkle RX1 po 5 s). Kitu metu įrenginys miega. Beveik visi jutikliai, taip pat lauko testeriai
B Papildomi priėmimo langai nustatytu laiku, sinchronizuojami šliuzų švyturio signalais (beacon). Retai
C Klausosi beveik visą laiką. Didelės energijos sąnaudos. Iš elektros tinklo maitinami įrenginiai, pvz., pavaros