IoT - implementace v IS FLORES
V této kapitole je uvedeno, jak postupovat v případě implementace IoT dat v rámci IS FLORES. Viz též FLORES IoT platforma.

Dále je třeba si nakonfigurovat IoT číselníky:

Aby bylo možné IoT data do systému IS FLORES přijímat, je nejdříve potřeba si nadefinovat používané senzory v číselníku Senzory IoT. Senzor, který má být používán, musí být nastaven jako aktivní. Počet aktivních senzorů je omezen licencí.
Číselník Senzory IoT

Dále je třeba si nadefinovat pravidla přiřazení dat IoT.
Agenda Správa licencí – Počet aktivních senzorů IoT
Pravidla jsou zadávána buď ke konkrétnímu senzoru, nebo bez určení senzoru - poté fungují pro všechny senzory. Pomocí pravidel je možné data uložit u zvoleného objektu IS FLORES (záznamy agend a číselníků), kde je pak možné data zobrazovat. Data, která vyhoví podmínkám, jsou uložena do tabulky IoT dat. Pokud by data vyhověla více pravidlům, založí se více záznam IoT dat se stejným UNID.
Příjem IoT dat je možné ovlivnit i pomocí skriptování, pomocí háčku ProcessData_Hook na Business objektu - Pravidla přiřazení dat IoT k objektům. Háček je volán v rámci příjmu IoT dat a je možné pomocí něj vstupní data upravit, zamítnout příjem nebo odmítnout pouze použití daného pravidla k uložení dat.

Do byla doplněna možnost příjmu IoT dat pomocí http požadavků zaslaných na adresu {webapi server}/IoTData. Data se posílají standardně v JSON formátu pomocí http požadavku typu PUT.
V případě velkého množství vstupních dat je vhodnější vstupní IoT data uložit v RT (real time) a následně je pouze v omezeném množství např. filtrovaná resp. agregovaná zasílat do IS FLORES.
Zasílaná vstupní data musí obsahovat hodnoty:
- SensorCode – řetězcová identifikace senzoru, který data zaznamenal např.: "F3799"
- SensorQuantity – řetězcové pojmenování veličiny, kterou senzor zaznamenal např.: "Temperature"
- RecordedAt – datum a čas zaznamenání hodnoty senzorem např. "2016-03-4T17:55:00.000"
- Jako další je třeba předat hodnotu pomocí pole, které určuje i typ dat:
- NumericValue - pro číselnou hodnotu např: 10.5
- DateTimeValue - pro hodnotu typu datu a čas např.: "2016-03-4T17:55:00.000"
- ShortStringValue - pro hodnotu krátký text (do 500znaků) např.: "krátký text"
- BinaryBlobValue - pro hodnotu s binárními daty zadané pomocí Base64 např.: "FDSA="
- TextBlobValue - pro hodnotu s dlouhým řetězcem např.: "dlouhý text"
- BooleanValue - pro logickou hodnotu např.: true resp. false
Nepovinná vstupní data:
- UNID – univerzální identifikátor např.: "T0BX5PNTY03O3IRDGNVQVACJGW“ nebo "{F3799000-0000-0000-0000-000000000154}"
Zvolíme metodu PUT. Budeme ji směřovat na kolekci data IoT, čili URL adresa bude následující:
http://localhost/data/IoTData
Předvedeme si přidání záznamu teploty a stavu baterie. V datech stačí uvést jen to, co chceme na Business objektu změnit. Data v JSON reprezentaci:
{
"SensorCode": "F3799",
"SensorQuantity": "Temperature",
"RecordedAt": "2017-05-15T16:31:00.000",
"NumericValue": 22.5
}
Data zadáme a odešleme. Po úspěšné modifikaci Web API opět vrátí status 200 OK a rovnou opět kompletní reprezentaci zmodifikovaného objektu.
{
"SensorCode": "F3799",
"SensorQuantity": "Battery",
"RecordedAt": "2017-05-15T16:32:00.000",
"ShortStringValue": "low",
"UNID": "S5Q15UOPWSMOXCGQFHTOBNXHDW"
}
Po příjmu vstupních dat FLORES WebAPI IoT ověří, jestli zaslaná data nejsou již v systému zapsána (zaslané UNID se shoduje s uloženým UNID v FLORES), pokud ano, potvrdí přijetí dat (status 200 OK) a data již dále nezpracovává.
Pokud data nejsou doposud v systému, dochází dle pravidel nadefinovaných v číselníku Pravidel přiřazení dat IoT k vyhodnocení, jestli vstupní IoT data budou přijata a k jakému záznamu v IS FLORES budou přiřazena. Pokud vstupní data IoT nevyhoví žádnému pravidlu, je požadavek zamítnut (status 406 Not Acceptable).
Data, která vyhoví podmínkám, jsou uložena do tabulky IoT dat. Pokud by data vyhověla více pravidlům, založí se více záznamů IoT dat se stejným UNID.

K dispozici jsou následující možnosti:

Všechna uložená IoT data lze spravovat v agendě Data IoT. Zde jsou k dispozici buď ve formě tabulkového seznamu nebo ve formě grafů.
Agenda Data IoT - záložka Seznam
Agenda Data IoT - záložka Detail
Agenda Data IoT - záložka Data graficky

Kromě agendy IoT data si lze tato data prohlížet v agendách těch objektů, k nimž byla přiřazena. Ve většině agend je v menu Nastavení k dispozici volba Zobrazovat IoT data, pomocí níž si lze zapnout zobrazování záložky IoT k záznamů dané agendy. Tudíž, zapněte si zobrazování záložky v těch agendách, k jejichž záznamům budete nějaká data přijímat.