SAP Leonardo IoT – Step-by-step návod pre prvú aplikáciu
Dostupnosť senzorov rôzneho druhu a zároveň bezdrôtových a mobilných sietí ma núti zamyslieť sa nad ich praktickým využitím. Inšpiráciou pre tento blog mi bola jazda v aute Tesla Model 3, kde ma majiteľ oboznámil s tým, ako funguje pravidelná prehliadka jeho vozidla. Zaujala ma na tom práve skutočnosť, že totiž až tak pravidelná nie je.
Pri bežných vozidlách je predpísaný servisný interval 15000km až 30000km. To znamená, že po najazdení týchto kilometrov musíte ísť do autoservisu na výmenu prevádzkových kvapalín. Čo však ale v prípade, že aj po najazdení týchto kilometrov sú vlastnosti týchto kvapalín v norme a ich výmena nie je potrebná? Alebo naopak, čo ak sú opotrebené oveľa skôr? Na tieto otázky už Tesla našla odpoveď a tou je praktické využitie rôznych senzorov v spojení s ich pripojením na internet. S autom sa preto nie je potrebné dostaviť do servisu na žiadnu preventívnu prehliadku. Po dosiahnutí hraničných hodnôt je do servisného strediska odoslaná táto informácia a zákazník je proaktívne oslovený Teslou na objednanie sa do servisu.
V tomto praktickom deme sa preto pokúsim nasimulovať podobný use-case s fiktívnou automobilkou „myElectro“, ktorá vyrába elektrické automobily a poskytuje servis pre ich elektrické batérie v prípade, že vykazujú známky vysokého opotrebenia. Použitou platformou bude SAP Leonardo IoT.
Prvým krokom je založenie vlastného Package-u, pod ktorý budú spadať jednotlivé entity (autá) automobilky myElectro.
Druhým je založenie skupín pre jednotlivé merané hodnoty (Thing Properties Catalog). Z dropdown listu si vyberieme práve založený Package a klikneme na „+“.
Takýmto spôsobom budú založené dve skupiny vlastností:
- battery_data – Merateľné atribúty elektrickej batérie
- location_data – Zemepisná výška a šírka získaná z GPS senzora
Pomocou tlačidla „+“ v sekcií Merané hodnoty postupne pridáme jednotlivé atribúty.
Pre skupinu „battery_data“
Pre skupinu „location_data“
Pomocou aplikácie Thing Modeler si (opäť pomocou tlačidla „+“) vytvoríme tzv. Thing Type. Pod týmto pojmom si môžete predstaviť vzor, na základe ktorého budú vznikať jednotlivé konkrétne autá. Z technického hľadiska sa jedná o triedu, z ktorej následne vznikajú jednotlivé entity (inštancie), v terminológií SAP Leonardo IoT o tzv. „Things“.
Po vytvorení nového Thing Type do Meraných hodnôt pridáme nami vytvorené 2 skupiny vlastností:
Posledným krokom je vytvorenie inštancie konkrétneho automobilu – tlačidlo New Thing
Tým, že sa jedná o konkrétny model, jeho názov si vymyslíme ako názov firmy – čo tak myModel 3? 🙂
Po vytvorení inštancie konkrétneho automobilu (myModel 3) s priradenými skupinami vlastností (battery + location data) je čas vytvoriť pravidlo, na základe ktorého systém vyhodnotí, že batéria je chybná a je potrebný jej servis. Pri vlastnostiach batérie ste si určite všimli, že dáta batérie sú duplikované – pre blok batérie 1 a blok batérie 2. To, či batéria potrebuje servis alebo nie zistíme na základe rozdielu hodnôt napätia medzi týmito batériami. Pokiaľ je vyšší ako 3 Volty, batéria je určite chybná.
Najprv si vytvoríme Rule Context v rámci ktorého budeme v ďalšom kroku vytvárať pravidlo na merané hodnoty:
Pravidlo nazveme „batteryVoltageDifferenceHigh“:
V definícií pravidla nastavíme vzorec pre výpočet nasledovne:
Pravidlo uložíme a aktivujeme.
Posledným krokom je vytvorenie Akcie, ktorá bude reagovať na práve vytvorené pravidlo. Akcia nám odošle e-mail v prípade, že dôjde k splneniu pravidla.
Definícia akcie:
Momentálne je všetko pripravené na simuláciu zbierania a vyhodnocovania dát.
Link pre simuláciu: https://YOURINSTANCE.hana.ondemand.com/cp.portal/site#ActionModeler-Actions?sap-ui-app-id-hint=sap.appiot.ui.admin.modeler.actions&/simulator
Testovacie vstupné dáta:
Po spustení vyhodnotenia pravidla:
Do mailovej schránky dostávame notifikáciu o rozdiele napätí (definovanú v rámci definície Akcie)
Možnosti využitia sú prakticky nekonečné naprieč všetkými odvetviami priemyslu a služieb. Automatizácia tak môže dosiahnuť úplne iný level. Rovnako aj s ňou spojená spokojnosť užívateľa, pre ktorého môžu tieto dodatočné služby znamenať rozhodnutie o kúpe produktu alebo služby.
Na testovacom prípade je možné vidieť, ako jednoducho môže nastavenie SAP Leonardo IoT vyzerať, aj keď sa jedná iba o demo. Pre nahratie dát do systému sme použili simuláciu. Reálna prevádzka je samozrejme automatizovaná a hodnoty sa do systému dostávajú cez MQTT API.
Pri množstve dát, ktoré takýmto spôsobom môžu vzniknúť (závisí od frekvencie odosielania a počtu IoT zariadení), by nebolo efektívne odosielať všetky do Cloudu (Leonardo IoT). Problémom ale môže byť aj konektivita, ktorá nemusí byť vždy a všade dostupná. SAP preto ponúka možnosť tzv. Edge services, kde sú dáta ukladané lokálne (interný server/RaspberryPi/…) a do Cloudu sú odosielané v nepravidelných intervaloch a v iba obmedzených množstvách.
Novinkou je aj možnosť jeho integrácie na cloudovú službu SAP Field Service Management (FSM). Pre integráciu ale budete potrebovať produkt SAP Cloud Platform Integration (=cloudová náhrada SAP XI/PI) a aj keď princíp ostáva rovnaký, integrácia už nie je taká triviálna ako v našom demo príklade. Nie je však nemožná, v budúcnosti môžeme pre testovacie účely rozšíriť súčasnú implementáciu aj o vytvorenie servisného ticketu v SAP FSM.
A čo vy? Napadá vám, ako by ste vedeli využiť túto technológiu aj vo Vašom biznise?
Michal Babinec, Developer