IoT - obecně, ABRA IoT platforma
Internet věcí
Zde je uveden výklad pojmů týkající se sběru dat IoT a jejich přenosu do ABRA Gen.
IoT (Internet of Things) znamená internet věcí. Svět kolem nás je plný věcí, které v sobě nesou informace. Mají svou hmotnost, teplotu, vibrace, složení, míru opotřebení atd. Tyto informace jsou vždy v elektronicky čitelné podobě. S využitím prvků internetu věcí (snímačů a akčních prvků, připojených rádiovým signálem na dálku, často bez nutnosti napájení) je lze měřit, data ukládat a využít pro další rozhodování. Lze ale realizovat i další krok: Data lze propojit s informačním systémem, analyzovat je a dávat do souvislostí se vším, co je v něm již zadáno a následně je analyzovat, graficky vizualizovat apod.
Obecné schéma
Internet věcí je tedy třeba chápat jako zdroj velkého množství užitečných a cenných informací z mnoha zařízení. Informace mohou pocházet z měření, výpočtu, nebo ručním zadáním. Tyto informace jsou vždy v elektronicky čitelné podobě. I přes svůj název „Internet věcí“ nemusí být daná zařízení připojena pouze do sítě internet, zařízení mohou být připojena i jiným způsobem, nicméně vždy poskytují informace nějakým specifikovaným způsobem např. rádiově, opticky, po různých drátových sítích. Poskytované informace z těchto zařízení mohou být pro nás velice cenné. Např. se na základě nich můžeme dále rozhodovat, mohou se spouštět nějak automatické akce apod. Proto potřebujeme mít možnost je uchovávat, reagovat na aktuální hodnoty, zpětně zpracovávat atd. Například načítat teplotu z teplotního čidla jednou za hodinu ve skladu a tuto teplotu archivovat pro účely kontroly fungování chlazení a vyvolání alarmu či potřeby údržby, pokud je teplota vyšší než požadovaný limit. Obecně platí, že zařízení poskytují informace v různých formátech, pomocí různých protokolů a technologií přenosu dat. Každé toto zařízení může podle svého určení generovat od jednotek záznamů až po tisíce za minutu. Např. senzor pohybu v nákupním centru generuje za minutu desítky impulzů, ale průtokoměr v plynárně může poskytovat až tisíce hodnot měření za stejný okamžik. Je tedy vhodné mít možnost příchozí data filtrovat a případně agregovat. Na výstupu se data vizualizují či se generují nějaké
Jak věcí komunikují s informačním systémem - Snímače získávají data z věcí či zařízení a přenáší je v reálném čase přímo do informačního systému, v našem případě systému ABRA Gen. Systém sleduje, zaznamenává a vyhodnocuje hodnoty v souvislostech - např. teplotu ve skladech, otřesy při dopravě přijímaného zboží či dodržení limitů. Může automaticky reagovat podle definovaných kritérií - zašle upozornění, sníží teplotu, zastaví či spustí výrobní linku.
Obecné schéma s výstupem do ABRA Gen
- Sledování půjčovaných věcí - Firma, která půjčuje stroje, na ně nainstaluje akcelerometry s GPS lokací. Do systému tak přitečou data, která poukazují na nesrovnalosti – přístroj si půjčil někdo jiný, je v nepřetržitém provozu déle, než by měl.
- Hlídání čerstvého vzduchu - Do místností v různých pracovištích se nainstaluje čidlo na měření oxidu uhličitého. Když vzroste nad stanovené množství, ze systému se rozešle upozornění, že je potřeba vyvětrat.
- Měření teploty při převozu zboží - Díky internetu a inteligentním senzorům je možné měřit a odesílat teplotu v nákladním prostoru auta během jízdy. Zákazník pak kromě sledování polohy a stavu objednávky například uvidí, že víno, které si objednal, cestou nezmrzlo, nebo nebylo vystaveno příliš vysoké teplotě.
- Hlídání kvality vakua "pračky" ve výrobní lince - Do zařízení na čištění výrobků s využitím vakua se nainstaluje čidlo na měření úrovně vakua. Když poklesne pod stanovený limit, je vydán pokyn údržbě. Daná informace může být porovnána s předchozími záznamy a jejich příčin a údržba může dostat pokyn, že půjde pravděpodobně opět o vadné těsnění XY. Údržba tedy dorazí a např. v polední pauze vymění těsnění a pokud následné měření je již v pořádku, výrobní linka jede dál bez přerušení, nečeká se tedy, až se zařízení rozbije a linka se zastaví na několik hodin, než údržba najde, co se vlastně stalo.
K tomu, aby IoT dobře sloužilo, je potřeba zajistit několik základních věcí. Ne všechny jsou nezbytně nutné, ale komplexní systém sestává z následujících pěti věcí, jak ukazuje následující schématický obrázek:
Podrobnější schéma platformy. Prvky s * (tj. dané akce u RT DTB) zatím nejsou k dispozici a plánují se příp. do budoucna
Tomu celému můžeme říkat ABRA IoT platforma (bez ohledu na to, které části budete mít zajištěny sami, jiným způsobem).
Senzory jsou čidla nebo i software sloužící pro měření konkrétní hodnoty. Podstatná je jejich miniaturizace a minimální nároky na napájení.
Přes drivery se nasbíraná data dostanou do nějakého úložiště, nejlépe real time vyrovnávací databáze. Mají tedy za úkol získat data ze senzorů, tato data dekódovat do jednotného formátu a následně je uložit do RT databáze. Získaná data mohou případně také odesílat přímo do ABRA Gen. Odesílaná data do ABRA Gen nemusejí být pouze jen aktuálně získaná data jedna k jedné, ale je možné nadefinováním pravidel, např. v PHP skriptu, zajistit odesílání hodnot pouze při jejich změně nebo odesílání zprůměrované hodnoty za posledních několik hodin apod.
Může se jednat o drivery od firmy Siemens, Sigfox a dalších firem. Připojení se odehrává přes speciální sítě pro IoT, pro které je specifická nízká spotřeba energie. Např. se může jednat o přenos dat přes sítě Sigfox, Simatic, IQRF a MQTT.
Real time databáze je databáze, typicky běžící v cloudu, která slouží k rychlému uložení příchozích dat, přičemž je schopná pojmout miliardy dat. Není podmínkou ji používat, ale je to doporučeno, protože vstupních dat ze senzorů může být ohromné množství a ne vždy jsou úplně všechna tato data nezbytně nutná. Nad real time databází pak lze provádět dotazování a agregace pomocí rozhraní REST API. Grafické zobrazení uložených dat je možné pomocí opensource nástrojů (např. Kibana) nebo je možné data načerpat do Vizualizace dat pomocí dotazovacího API real time databáze.
Případné odmazávání a vytváření pravidel k tvorbě alertů je možné realizovat pomocí jednoduchých skriptu např. v PHP. V databázi je nadefinována struktura, která umožňuje uchovat všechny datové formáty příchozích dat. Každá data sebou vždy nesou informaci, z jakého senzoru pocházejí, kdy byla zaznamenána, o jakou se jedná veličinu (temperature, humidity, GPS, …) a jakého datového typu jsou předaná data.
Jako IoT Hub je k dispozici mnoho služeb (např. Microsoft Azure IoT Hub) nebo tuto službu nabízí přímo dodavatelé čidel, např. společnost Sigfox.
Aby bylo možné data do informačního systému dostat, je potřeba nějaké rozhraní API. V případě ABRA Gen se pro vstup IoT dat do systému ABRA Gen využívá rozhraní Web API (REST API) systému ABRA Gen, které umí „odemknout dveře" do systému a přijmout poskytovaná data.
Zda jsou IoT data přijímána přímo z driverů nebo z real time databáze, záleží na konkrétní realizaci.
Informačním systémem, který přijatá data připojí ke správné položce a provede jejich vyhodnocení, spustí alerty, nebo vyvolá konkrétní aktivitu, je v tomto případě ABRA Gen. K dispozici je možné v něm definovat tzv. Pravidla přiřazení dat v IoT. Nastavená pravidla rozhodnou o tom, která data se přes API dostanou do systému a jak. Tedy obdržená IoT data na vstupu WebAPI jsou zpracována pomocí vstupních pravidel, která daná data jednoznačně přiřadí k libovolnému záznamu v systému (business objektu). Tedy např. data o teplotě ve skladu jsou nadefinovaným pravidlem přiřazena k záznamu konkrétního z číselníku Skladů. V rámci jednotlivých agend je v menu Nastavení možnost nechat si v agendě zobrazovat IoT data. Je-li nastaveno, zpřístupní se v dané agendě a danému uživateli záložka IoT Data, která zobrazí obsah přijatých dat ke konkrétnímu business objektu.
Všichni dodavatelé IoT platforem mají strukturu platformy víceméně obdobnou, jako je popsáno výše. Souhrnně platí, že vstupní IoT data musí mít vždy předepsanou strukturu. Konverze do požadovaného jednotného formátu zajišťují vstupní konverze napsané v driverech. Nad uloženými daty je možné provádět agregační operace a vizualizace pomocí BI nástrojů. IoT u ABRA Gen lze tedy chápat jako vstupní bránu do systému ABRA Gen umožňující příjem dat posbíraných z nějakých měřících senzorů a případně předzpracovaných senzorovými drivery. Jelikož vstupních dat ze senzorů může být ohromné množství a ne vždy je úplně nutné všechna tato data předávat až do systému ABRA Gen. ABRA IoT platforma využívá pro uložení dat RT (real time) databázi. V RT databázi je nadefinována univerzální struktura pro uložení všech druhů dat získaných ze senzorů. Uložená data je možné přímo zasílat díky obdobné struktuře dat rovnou i do ABRA Gen pomocí rozhraní Web API a zde s nimi dále pracovat.
Nezbytnou podmínkou pro provoz IoT je, aby byla tato část systému nainstalována a licencována.
- Podpora IoT je součástí jádra systému, tudíž je instalována v rámci instalace jádra - viz Instalovatelné součásti.
- Podpora IoT je licencována samostatně - jednak agendy patřící do skupiny Internet věcí a jednak počet aktivních senzorů, z nichž lze přijímat data - viz Licencované celky (licencované moduly a vlastnosti) - licence na IoT.