Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

Podporované typy a verzie zariadení 
Konfigurácia komunikačnej linky
Parametre protokolu linky
Konfigurácia komunikačnej stanice
Parametre protokolu stanice
Konfigurácia meraných bodov
Literatúra
Revízie dokumentu

Kotva
typy_verzie
typy_verzie
Podporované typy a verzie zariadení

...

Protokol LoRaWAN je protokol určený na občasný, energeticky efektívny bezdrôtový prenos malého množstva dát nazývaných

Kotva
payload
payload
payload (typicky niekoľko bajtov) na dlhé vzdialenosti medzi prepojenými objektami - v terminológii LoRaWAN nazývanými mote (typicky senzory napájané batériou) a LoRaWAN gatewayom.
Gateway následne môže komunikovať priamo s D2000 KOM procesom alebo posielať payload na sieťové servery resp. do cloudu, kde sa vykoná spracovanie údajov (deduplikácia, filtrácia) a následne sú údaje poslané procesu D2000 KOM. V každom prípade je payload zabalený do
Kotva
envelope
envelope
obálky (napr. ako pole v JSON správe alebo v CSV súbore) a prenesený až do procesu D2000 KOM. Tam je payload dekódovaný (používa sa napr. Base64 kódovanie alebo Base64 + Base16 kódovanie) a spracovaný.
Spracovanie payloadu je závislé od typu zariadenia (definovaného v parametri protokolu Device Type).

Komunikácia bola testovaná medzi senzormi a LoRaWAN gatewayom Kerlink IoT Station 868. Ten v závislosti od inštalovaného firmware:

...

  • Kategória komunikačnej linky: SerialOverUDP Device Redundant, TCP/IP-TCP.
  • Konfigurácia linky SerialOverUDP Device Redundant:
    • Lokálny port: port na ktorom D2000 KOM proces prijíma UDP pakety
    • Primárne/záložné zariadenia: IP adresa LoRaWAN gatewaya
      (pre Connection Type=Kerlink IoT Station SPN)
    • Port: port na ktorom LoRaWAN gateway prijíma pakety (v súčasnosti nevyužité, keďže nie je implementovaný zápis)
  • Konfigurácia linky TCP/IP-TCP:
    • Host: IP adresa servera, ku ktorému sa D2000 KOM proces pripája, prípadne redundantné adresy oddelené čiarkou alebo bodkočiarkou
      (pre Connection Type=MQTT client)
    • Port: port servera, ku ktorému sa D2000 KOM proces pripája

...

ParameterPopisJednotka / rozmerNáhradná hodnota
Kotva
ct
ct
Connection Type
Typ spojenia medzi D2000 KOM procesom a druhou stranou (LoRaWAN gateway, sieťový server, cloud).
Aktuálne podporené sú:
  • Kerlink IoT Station SPN (JSON via UDP packets): komunikácia s Kerlink IoT Station s firmware SPN (Small Private Network). Linka musí byť typu SerialOverUDP Device Redundant.
  • MQTT Client (JSON via MQTT): komunikácia so sieťovým serverom alebo cloudom pomocou MQTT protokolu. Linka musí byť typu TCP/IP-TCP
  • Sigfox Client (JSON via HTTPS): komunikácia s cloudom Sigfox
-Kerlink IoT Station SPN
Kotva
mf
mf
Mote Field Name
Názov poľa s identifikátorom LoRaWAN zariadenia (mote).
Pozn: Pre JSON správy, ktoré môžu byť štruktúrované, je podporená syntax level1.level2.level3 ..., napr. rx.moteeui a pokiaľ obsahujú polia (indexované od 1) tak aj level1[index1].level2[index2].level3 ..., napr. rx.gwrx[1].time. Príklady viď popis meraných bodov typu Envelope.
Pozn: Pre dátové súbory Sigfox, ktoré môžu obsahovať aj viacero hodnôt (historických) je možné použiť aj index 0 resp. prázdny index (napr. data[].device). Toto vyjadruje, že sa majú spracovať všetky prvky poľa.
-rx.moteeui
Kotva
pf
pf
Payload Field Name
Názov poľa s payloadom. Viď poznámky pri parametri Mote Field Name.-rx.userdata.payload
Kotva
pe
pe
Payload Encoding
Spôsob kódovania payloadu v správe. Podporené kódovania:
  • Base16 + Base64 encoding (Kerlink SPN) - pre Connection Type=Kerlink IoT Station SPN
  • Base64 encoding (TheThings.network) - pre Connection Type=MQTT Client pri komunikácii s cloudom TheThings.network
  • Base16 encoding (Loriot, Slovanet, Sigfox) - pre Connection Type=MQTT Client pri komunikácii s cloudami LoRaWan (Loriot, Slovanet) a Sigfox
  • None - správa obsahuje priamo payload - zatiaľ nevyužité
-Base16 + Base64 encoding
Kotva
tf
tf
Time Field Name
Názov poľa s časovou značkou. Ak pole nie je nájdené, hodnotám je priradený aktuálny čas. Viď poznámky pri parametri Mote Field Name.-rx.gwrx[1].time
Kotva
tm
tm
Time Mask
Maska pre parsovanie hodnoty v poli s časovou značkou.
Pozn: od nastavení časových parametrov stanice závisí, či je čas interpretovaný ako lokálny alebo UTC s nakonfigurovaným offsetom.
Špeciálne masky sú:
  • UNIX - číselná hodnota vyjadruje počet sekúnd od epochy 00:00:00 01.01.1970 UTC.
  • UNIXMS - číselná hodnota vyjadruje počet milisekúnd od epochy 00:00:00.000 01.01.1970 UTC.
-yyyy-mm-dd hh:mi:ss
Kotva
ftf
ftf
Frame Type Field Name
Názov poľa, ktoré označuje typ správy. Ak je hodnota prázdna, typ správy sa nerozlišuje. (Napr. cloud Loriot posiela správy rozličného typu.)- 
Kotva
ftv
ftv
Frame Type Field Required Value
Ak je rozlišovanie typu správy aktívne (vyplnený parameter Frame Type Field Name), typ správy musí byť zhodný s uvedenou hodnotou. Inak je správa ignorovaná.- 
Kotva
fd
fd
Full Debug
Zapnutie podrobných výpisov o posielaní a prijímaní hodnôt.YES/NONO
Parametre špecifické pre Connection Type=MQTT Client.
Kotva
un
un
MQTT User Name
Viď popis parametra User Name v dokumentácii MQTT protokolu.
Kotva
pw
pw
MQTT Password
Viď popis parametra Password v dokumentácii MQTT protokolu.
Kotva
tc
tc
MQTT Topic Filter
Viď popis parametra Topic Filter v dokumentácii MQTT protokolu.+/+/+/up
Kotva
pq
pq
MQTT Subscribe QoS
Viď popis parametra Subscribe QoS v dokumentácii MQTT protokolu.
Kotva
ci
ci
MQTT Client ID
Viď popis parametra Client ID v dokumentácii MQTT protokolu.
Kotva
cs
cs
MQTT Clean Session Flag
Viď popis parametra Clean Session Flag v dokumentácii MQTT protokolu.
Kotva
mp
mp
MQTT Publish Format
Formát JSON správy použitej pri zápise hodnoty. Obsah meraného bodu typu Write bude zakódovaný (v závislosti od parametra Payload Encoding) a vložený do tejto správy, kde nahradí reťazec #PAY#.
Náhradná hodnota "{"port":1, "confirmed":false, "payload_raw":#PAY#} bola vyskúšaná pri posielaní údajov do cloudu TheThings.Network.
-"{"port":1, "confirmed":false, "payload_raw":#PAY#}
Kotva
pq
pq
MQTT Publish QoS
Viď popis parametra Publish QoS v dokumentácii MQTT protokolu.
Kotva
pi
pi
MQTT Ping Interval
Viď popis parametra Ping Interval v dokumentácii MQTT protokolu.
Kotva
rt
rt
MQTT Reply Timeout
Viď popis parametra Reply Timeout v dokumentácii MQTT protokolu.
Kotva
wt
wt
MQTT Wait Timeout
Viď popis parametra Wait Timeout v dokumentácii MQTT protokolu.
Kotva
mwr
mwr
MQTT Max. Wait Retry
Viď popis parametra Max. Wait Retry v dokumentácii MQTT protokolu.

Parametre linky otestované pre Connection Type=Kerlink IoT Station SPN voči Kerlink IoT Station 868 s firmware SPN

...

Parametre linky otestované pre Connection Type=MQTT client voči TheThings.network

...

Parametre linky otestované pre Connection Type=MQTT client voči Loriot.io s nastavením:

...

Parametre linky otestované pre Connection Type=MQTT client voči LoraLINK Slovanet:

...

Parametre linky otestované pre Connection Type=Sigfox Client (JSON via HTTPS) voči Sigfox cloudu

...

  • Komunikačný protokol "IoT over LoRaWAN/Sigfox".
  • Adresa stanice: adresa stanice je identifikátor konkrétneho zariadenia (mote), ktorý sa nachádza v poli Mote Field Name.
    • pre Connection Type=Kerlink IoT Station SPN je adresa textová reprezentácia 8-bajtovej LoRaWAN adresy (napr. 00-00-00-00-21-1a-e3-c8)
    • Pre Connection Type=MQTT Client môže byť adresa textová reprezentácia 8-bajtovej LoRaWAN adresy (napr. 0018B2000000147D) alebo symbolická adresa definovaná v rámci MQTT servera (napr. fieldtestdevice)
    • pre Connection Type=Sigfox Client (JSON via HTTPS) je adresa identifikátor zariadenia (napr. 21FDA5)

...

 
ParameterPopisJednotkaNáhradná hodnota
Kotva
dt
dt
Device Type
Typ zariadenia. Každý typ zariadenia môže mať vlastnú štruktúru prenášaných dát (payload). Zoznam podporovaných zariadení bude postupne narastať.
Aktuálne podporené zariadenia sú:
  • None - žiadne zariadenie
  • OEM device - parsovanie payloadu je vykonávané externou dll knižnicou
  • Adeunis RF Field Test Device - testovacie zariadenie posielajúce GPS údaje o polohe a údaje o teplote
  • SolidusTech IndoorUNI Sensor - bytový merač teploty a vlhkosti
  • SolidusTech miniUNI DS18B20 Sensor - merač teploty pre vonkajšie prostredie
  • Adeunis RF LoRaWAN TEMP (ARF8180BA) - exteriérový merač teploty s dvomi nezávislými čidlami.
  • Codea WZU-SG (Landis+Gyr Ultraheat T550) - rádiomodul WZU-SG firmy Codea pre merače tepla Landis+Gyr UH50/UC50/T550
-None
Kotva
ed
ed
External Dll Name
Názov externej DLL knižnice s kódom pre parsovanie payloadu pre Device Type=OEM device.- 
Kotva
nd
nd
No Data Timeout
Timeout, po ktorom stanica prejde do chybového stavu, ak neboli prijaté žiadne dáta.hh:mi:ss01:00:00

Kotva
mt
mt
MQTT Topic (for writing)

Topic použitý pri zápise hodnoty (pre Connection Type=MQTT client).
Pozn: pre užívateľa ipesoft-test a zariadenie fieldtestdevice bol otestovaný voči TheThings.network zápis s MQTT_TOPIC=ipesoft-test/devices/fieldtestdevice/down.
-

Kotva
dc
dc
Sigfox Download Command File

Pre Sigfox: cesta k súboru pre sťahovanie dát z cloudu Sigfox do vstupného adresára (daného parametrom Vstupný súbor linky typu File I/O) aj s prípadnými parametrami. Cesta môže obsahovať (podobne ako parameter Vstupný súbor) symbolickú konštantu #APPDIR# (aplikačný adresár) a navyše aj #ADDR# (adresa stanice), aby bolo možné použiť jediný súbor na obsluhu viacerých staníc.
Príklad pre Windows: #APPDIR#/Sigfox_cmd/get.bat #ADDR#
Príklad pre Linux: /bin/sh #APPDIR#/Sigfox_cmd/get.sh #ADDR#
Pozn: tento parameter nie je potrebné zadávať, pokiaľ sa o sťahovanie dát stará nezávislý mechanizmus.

Samotné sťahovanie môže využívať utilitu curl na vykonanie HTTPS GET dotazu voči web serveru Sigfox.


Príklad súboru get.bat pre platformu Windows (sťahuje sa cez proxy server, vypína sa overovanie identity servera, xxx:yyy je meno a heslo užívateľa v cloude Sigfox):

rem default count=1, possible to download upto 100 values
set count=1
rem ID of device is 1st parameter
set id=%1
c:\utils\curl.exe  --proxy http://proxy:3128 --insecure -u xxx:yyy -o msg_%id%.txt https://backend.sigfox.com/api/devices/%id%/messages?limit=%count%

Príklad súboru get.sh pre platformu Linux (je nutné explicitne zadať, že súbory sa sťahujú napr. do adresára Sigfox_input):

#/bin/sh
# default count=1, possible to download upto 100 values
count=1
base=$(dirname "$0")
#ID of device is 1st parameter
id=$1
#name of downloaded data file (including directory)
datafile=$base/../Sigfox_input/msg_$id.txt
/usr/bin/curl --proxy http://proxy:3128 --insecure -u xxx:yyy -o $datafile https://backend.sigfox.com/api/devices/$id/messages?limit=$count

Pozn: pred spustením KOM procesu je možné príkazové súbory upraviť a zväčšiť parameter count až na hodnotu 100, čo spôsobí, že bude načítaná nielen najnovšia hodnota, ale aj predchádzajúce (až 99) historické hodnoty. Potom, po prvom stiahnutí, je možné parameter count zmenšiť na 1.



Kotva
t
t
Sigfox Download Timeout

Pre Sigfox: timeout na sťahovanie dát príkazomSigfox Download Command File. Pokiaľ sťahovanie trvá dlhšie, stanica prejde do chybového stavu.sec30

...

Typ hodnotyAddress
(typ adresy)
Popis
Ai, Di, Ci, Qi, TxtI
Kotva
pt_payload
pt_payload
Payload

Merané body parsované z payloadu. Adresa (Address) závisí od typu zariadenia (parameter Device Type). Adresa nie je citlivá na malé/veľké písmená.
Špeciálnym prípadom je nevyplnená adresa - takýto meraný bod bude obsahovať celý payload (po príslušnom dekódovaní v závislosti od parametra Payload Encoding).
Nasledujúce tabuľky udávajú adresy pre jednotlivé typy zariadení:

Adresy payloadu pre typ zariadenia OEM Device
adresa záleží od konkrétnej implementácie (dll knižnice).

Adresy payloadu pre typ zariadenia Adeunis RF Field Test Device

AddressPopis
StatusStavový bajt zariadenia.
TriggerAccelerometerHodnota True znamená, že poslanie správy bolo iniciované akcelerometrom.
TriggerButtonHodnota True znamená, že poslanie správy bolo iniciované tlačidlom.
TemperatureNameraná teplota (-128 °C .. 127°C).
GpsLatitudeZemepisná šírka (0-90 stupňov) z GPS snímača.
Pozn: GPS údaje môžu chýbať, ak zariadenie nemá žiaden GPS signál.
HemisphereSouthHodnota True znamená, že zemepisná šírka je južná (zariadenie je na južnej pologuli).
GpsLongitudeZemepisná dĺžka (0-180 stupňov) z GPS snímača.
HemisphereWestHodnota True znamená, že zemepisná dĺžka je západná (zariadenie je na západnej pologuli).
GpsQualityReceptionKvalita príjmu GPS signálu: 1 Good, 2 Average, 3 Poor
QpsQualitySatellitesPočet viditeľných GPS satelitov.
UplinkCounterPočítadlo uplink paketov (paketov poslaných zo zariadenia na LoRaWAN gateway).
DownlinkCounterPočítadlo downlink paketov (paketov poslaných zariadeniu z LoRaWAN gatewaya).
BatteryLevelNapätie batérie v mV.
RSSIIndikátor sily prijatého signálu (Received Signal Strength Indicator ) - hodnota 0-255. Payload obsahuje toto pole iba ak predtým došlo k zápisu do zariadenia (poslaniu dát z LoRaWAN gatewaya do zariadenia).
SNRSignal Noise Ratio v dB (-128 .. 127). Payload obsahuje toto pole iba ak predtým došlo k zápisu do zariadenia (poslaniu dát z LoRaWAN gatewaya do zariadenia).



Adresy payloadu pre typ zariadenia SolidusTech IndoorUNI Sensor

AddressPopis
ADRAdaptive Data Rate (optimalizácia rýchlosti prenosu dát a spotreby energie). Hodnota True znamená, že ADR je zapnutý.
DataRateData Rate (rýchlosť vysielania dát) 0-5.
SNRSignal Noise Ratio v dB (-128 .. 128).
BatteryLevelNapätie batérie v mV.
TemperatureTeplota (-125.99°C .. 125.99°C) s rozlíšením 0.1°C.
HumidityRelatívna vlhkost (0.0%-100%) s rozlíšením 0.1%.
PowerAdapterHodnota True znamená, že je zariadenie pripojené na napájací adaptér, hodnota False, že je napájané batériou (vždy False pre verziu firmware FW 0.2.2 a nižší).
ContactHodnota True znamená, že je zopnutý pomocný kontakt (vždy False pre verziu firmware FW 0.2.2 a nižší).



Adresy payloadu pre typ zariadenia SolidusTech miniUNI DS18B20 Sensor

AddressPopis
BatteryLevelNapätie batérie v mV.
SNRSignal Noise Ratio predchádzajúceho payloadu v dB. Platí po prijatí ACK. Hodnota 127 znamená nedefinovanú hodnotu (nebol prijatý ACK alebo downlink paket od LoRaWAN gatewaya).
TemperatureTeplota (-25°C .. 85°C) s rozlíšením 0.1°C.


Adresy payloadu pre typ zariadenia Adeunis RF LoRaWAN TEMP (ARF8180BA)

AddressPopis
FrameCounterInterné počítadlo správ nadobúdajúce hodnoty 0 .. 7.
BatteryLowIndikátor slabej batérie. Nadobúda hodnoty True alebo False.
HWErrorIndikátor hardvérovej chyby v zariadení (chyba teplotného čidla a pod.).
InternalTempHodnota teplotného čidla umiestneného v puzdre zariadenia s rozlíšením 0.1 °C.
ExternalTempHodnota teplotného čidla umiestneného na vyvedenom vodiči s rozlíšením 0.1 °C.


Adresy payloadu pre typ zariadenia Codea WZU-SG (Landis+Gyr Ultraheat T550). Podporený je formát správy "A" (aktuálne hodnoty posielané raz denne).

AddressPopis
EnergyAktuálne prepravené množstvo tepla (v stotinách GJ)
VolumeAktuálne prepravený objem vody (v desatinách m3)
ErrorFlag

Chybový príznak

MissingTimePočet poruchových hodín (v hod)
StatusStatus modulu-dôvod odoslania správy:

0x00 - Ok
0x10 - Chyba čítania merača (zlý formát dát E,V..)
0x20 - Install
0x30 - JMP
0x40 - Porucha merača


Ai, Di, Ci, Qi, TxtI
Kotva
pt_envelope
pt_envelope
Envelope
Meraný bod parsovaný z obálky správy. Adresa je názov poľa v obálke správy.
Pozn: Pre JSON správy, ktoré môžu byť štruktúrované, je podporená syntax level1.level2.level3 ..., napr. rx.moteeui a pokiaľ obsahujú polia (indexované od 1) tak aj level1[index1].level2[index2].level3 ..., napr. rx.gwrx[1].time.

Príklad JSON správy pre Connection Type=Kerlink IoT Station SPN (doplnené medzery a zarovanie kvôli lepšej čitateľnosti):
{ 
  "rx": {
    "moteeui": "00-00-00-00-00-1e-fc-1d", 
    "userdata": {
        "seqno": 77, 
        "port": 1, 
        "payload": "NzM3RjAwZTgwMA==", 
        "motetx": {
            "freq": 868500000,
	    "modu": "LoRa",
	    "datr": "SF7BW125",
	    "codr": "4/5"
	}
     },
     "gwrx": [
        {
         "time": "2017-07-05 16:06:52",
	 "chan": 2,
	 "rfch": 0,
	 "rssi": -33,
	 "lsnr": 7.5
        }
     ]
  }
}
	
Merané body obálky môžu mať adresy napr. rx.moteeui, rx.userdata.seqno, rx.userdata.motetx.freq, rx.gwrx[1].time.

Príklad JSON správy pre Connection Type=MQTT Client (JSON via MQTT) (doplnené medzery a zarovanie kvôli lepšej čitateľnosti):
{
  "app_id":"ipesoft-test",
  "dev_id":"fieldtestdevice",
  "hardware_serial":"0018B2000000147D",
  "port":2,
  "counter":549,
  "payload_raw":"niNJElVwAYQ5UBYfBBBN",
  "metadata":{
    "time":"2017-08-10T08:12:26.06860368Z",
    "frequency":867.5,
    "modulation":"LORA",
    "data_rate":"SF7BW125",
    "coding_rate":"4/5",
    "gateways":[
      {
        "gtw_id":"eui-000000000003080b",
	"timestamp":705621508,
	"time":"2017-08-10T08:12:26.434682Z",
	"channel":5,
	"rssi":-34,
	"snr":7.8,
	"latitude":49.20927,
	"longitude":18.73184,
	"altitude":359
      }
    ]
  }
}
	
Merané body obálky môžu mať adresy napr. dev_id, metadata.time, metadata.gateways[1].latitude.
TxtI
Kotva
pt_all_data
pt_all_data
All data
Meraný bod, ktorý bude obsahovať kompletnú prijatú správu - celú obálku (napr. JSON správu). Tento bod je určený na ladiace účely a pre prípadné spracovanie celej správy v skripte.
TxtO
Kotva
pt_write_mqtt
pt_write_mqtt
Write (MQTT)
Meraný bod na zápis. V súčasnosti implementované iba pre Connection Type=MQTT client a vyskúšané voči cloudu TheThings.Network.
Hodnota meraného bodu je považovaná za payload, ktorý bude zakódovaný (v závislosti od parametra Payload Encoding) a vložený do šablóny správy definovanej parametrom MQTT Publish Format, kde nahradí reťazec #PAY#. Výsledná správa bude poslaná MQTT serveru.

...