5. decembra 2019

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.    
Leonardo_01

 

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 „+“.
Leonardo_02

 

Takýmto spôsobom budú založené dve skupiny vlastností:

  1. battery_data – Merateľné atribúty elektrickej batérie
  2. location_data – Zemepisná výška a šírka získaná z GPS senzora

Leonardo_03

Pomocou tlačidla „+“ v sekcií Merané hodnoty postupne pridáme jednotlivé atribúty.

Leonardo_04

 

Pre skupinu „battery_data“
Leonardo_05

 

Pre skupinu „location_data“
Leonardo_06

 

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“.

Leonardo_07

Po vytvorení nového Thing Type do Meraných hodnôt pridáme nami vytvorené 2 skupiny vlastností:

Leonardo_08

 

Posledným krokom je vytvorenie inštancie konkrétneho automobilu – tlačidlo New Thing

Leonardo_09

 

Tým, že sa jedná o konkrétny model, jeho názov si vymyslíme ako názov firmy – čo tak myModel 3? 🙂

Leonardo_10

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:

Leonardo_11

 

Pravidlo nazveme „batteryVoltageDifferenceHigh“:

Leonardo_12

V definícií pravidla nastavíme vzorec pre výpočet nasledovne:

Leonardo_13

 

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:

Leonardo_14

 

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:

Leonardo_15

 

Po spustení vyhodnotenia pravidla:

Leonardo_16

 

Do mailovej schránky dostávame notifikáciu o rozdiele napätí (definovanú v rámci definície Akcie)

Leonardo_17

 

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