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 | ||||
---|---|---|---|---|
|
...
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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
Konfigurácia pre Sigfox protokol:
- Konfigurácia linky Filelinky File I/IOO:
- Vstupný súbor: cesta k adresáru, kde budú umiestnené dáta (JSON súbory) stiahnuté zo Sigfox cloudu. Môže byť použitá symbolická konštanta #APPDIR#, ktorá udáva aplikačný adresár, napr. #APPDIR#/Sigfox_input
(platná syntax pre Windows aj Linux). - Archívny adresár: cesta k adresáru, kde budú umiestnené súbory po spracovaní. KOM proces dátové súbory po spracovaní presunie do podadresárov tohto adresára, ktoré budú mať názov podľa názvu stanice (napr. B.Sigfox_1) a k menu súboru pridá časovú značku udávajúcu čas spracovania (napr. zo súboru msg_21FDA7.txt spraví súbor msg_21FDA7_2018-10-26-06-26-08.txt).
Podobne ako pre vstupný súbor môže byť použitá symbolická konštanta #APPDIR#, napr. #APPDIR#/Sigfox_archiv
Pozn 1: chybné súbory alebo súbory, pre ktoré nebola identifikovaná žiadna stanica, budú po spracovaní presunuté do podadresára BAD.
Pozn 2: pokiaľ archívny adresár nie je zadaný, všetky súbory budú po spracovaní vymazané.
- Vstupný súbor: cesta k adresáru, kde budú umiestnené dáta (JSON súbory) stiahnuté zo Sigfox cloudu. Môže byť použitá symbolická konštanta #APPDIR#, ktorá udáva aplikačný adresár, napr. #APPDIR#/Sigfox_input
...
Parameter | Popis | Jednotka / rozmer | Náhradná hodnota | ||||||
---|---|---|---|---|---|---|---|---|---|
| Typ spojenia medzi D2000 KOM procesom a druhou stranou (LoRaWAN gateway, sieťový server, cloud). Aktuálne podporené sú:
| - | Kerlink IoT Station SPN | ||||||
| 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 | ||||||
| Názov poľa s payloadom. Viď poznámky pri parametri Mote Field Name. | - | rx.userdata.payload | ||||||
| Spôsob kódovania payloadu v správe. Podporené kódovania:
| - | Base16 + Base64 encoding | ||||||
| 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 | ||||||
| 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ú:
| - | yyyy-mm-dd hh:mi:ss | ||||||
| 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.) | - | |||||||
| 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á. | - | |||||||
| Zapnutie podrobných výpisov o posielaní a prijímaní hodnôt. | YES/NO | NO | ||||||
Parametre špecifické pre Connection Type=MQTT Client. | |||||||||
| Viď popis parametra User Name v dokumentácii MQTT protokolu. | ||||||||
| Viď popis parametra Password v dokumentácii MQTT protokolu. | ||||||||
| Viď popis parametra Topic Filter v dokumentácii MQTT protokolu. | +/+/+/up | |||||||
| Viď popis parametra Subscribe QoS v dokumentácii MQTT protokolu. | ||||||||
| Viď popis parametra Client ID v dokumentácii MQTT protokolu. | ||||||||
| Viď popis parametra Clean Session Flag v dokumentácii MQTT protokolu. | ||||||||
| 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#} | ||||||
| Viď popis parametra Publish QoS v dokumentácii MQTT protokolu. | ||||||||
| Viď popis parametra Ping Interval v dokumentácii MQTT protokolu. | ||||||||
| Viď popis parametra Reply Timeout v dokumentácii MQTT protokolu. | ||||||||
| Viď popis parametra Wait Timeout v dokumentácii MQTT protokolu. | ||||||||
| 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)
...
Parameter | Popis | Jednotka | Náhradná hodnota | ||||||
| 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 | ||||||
| Názov externej DLL knižnice s kódom pre parsovanie payloadu pre Device Type=OEM device. | - | |||||||
| Timeout, po ktorom stanica prejde do chybového stavu, ak neboli prijaté žiadne dáta. | hh:mi:ss | 01:00:00 | ||||||
| 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. | - | |||||||
| 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. 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 #/bin/sh 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. | ||||||||
| Pre Sigfox: timeout na sťahovanie dát príkazom Sigfox Download Command File. Pokiaľ sťahovanie trvá dlhšie, stanica prejde do chybového stavu. | sec | 30 |
...
Typ hodnoty | Address (typ adresy) | Popis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ai, Di, Ci, Qi, TxtI |
| 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á.
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).
Adresy payloadu pre typ zariadenia Moire Labs P1AP/P1AT devices
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ai, Di, Ci, Qi, TxtI |
| 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. Keďže niektoré JSON správy samotné môžu byť polia, je možné začať aj indexom, napr. 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 |
| 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 |
| 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. |
...