SAP Leonardo IoT – Step-by-step návod pro první aplikaci
Dostupnost senzorů různého druhu a zároveň bezdrátových a mobilních sítí mě nutí zamyslet se nad jejich praktickým využitím. Inspirací pro tento blog mi byla jízda v autě Tesla Model 3, kde mě majitel seznámil s tím, jak funguje pravidelná prohlídka jeho vozidla. Zaujala mě na tom právě skutečnost, že totiž až tak pravidelná není.
U běžných vozidel je předepsán servisní interval 15000km až 30000km. To znamená, že po ujetí těchto kilometrů musíte jít do autoservisu pro výměnu provozních kapalin. Co však ale v případě, že i po ujetí těchto kilometrů jsou vlastnosti těchto kapalin v normě a jejich výměna není nutná? Nebo naopak, co když jsou opotřebené mnohem dříve? Na tyto otázky již Tesla našla odpověď a tou je praktické využití různých senzorů ve spojení s jejich připojením na internet. S autem se proto není třeba dostavit do servisu na žádnou preventivní prohlídku. Po dosažení mezních hodnot je do servisního střediska odeslána tato informace a zákazník je proaktivně osloven Teslou na objednání do servisu.
V tomto praktickém demu proto pokusím nasimulovat podobný use-case s fiktivní automobilkou „myElectro“, která vyrábí elektrické automobily a poskytuje servis pro jejich elektrické baterie v případě, že vykazují známky vysokého opotřebení. Použitou platformou bude SAP Leonardo IoT.
Prvním krokem je založení vlastního Package-u, pod který budou spadat jednotlivé entity (auta) automobilky myElectro.
Druhým je založení skupin pro jednotlivé měřené hodnoty (Thing Properties Catalog). Z dropdown listu si vybereme právě založen Package a klikneme na „+“.
Tímto způsobem budou založeny dvě skupiny vlastností:
- battery_data – Měřitelné atributy elektrické baterie.
- location_data – Zeměpisná výška a šířka získaná z GPS senzoru.
Pomocí tlačítka „+“ v sekcí měřené hodnoty postupně přidáme jednotlivé atributy.
Pro skupinu „battery_data“
Pro skupinu „location_data“
Pomocí aplikace Thing Modeler si (opět pomocí tlačítka „+“) vytvoříme tzv. Thing Type. Pod tímto pojmem si můžete představit vzor, na jehož základě budou vznikat jednotlivé konkrétní auta. Z technického hlediska se jedná o třídu, ze které následně vznikají jednotlivé entity (instance), v terminologii SAP Leonardo IoT o tzv. „Things“.
Po vytvoření nového Thing Type do měřených hodnot přidáme námi vytvořené 2 skupiny vlastností:
Posledním krokem je vytvoření instance konkrétního automobilu – tlačítko New Thing.
Tím, že se jedná o konkrétní model, jeho název si vymyslíme jak název firmy – co tak myModel 3? 🙂
Po vytvoření instance konkrétního automobilu (myModel 3) s přiřazenými skupinami vlastností (battery + location data) je čas vytvořit pravidlo, na jehož základě systém vyhodnotí, že baterie je vadná a je potřebný její servis. Při vlastnostech baterie jste si jistě všimli, že data baterie jsou duplikovány – pro blok baterie 1 a blok baterie 2. To, zda baterie potřebuje servis nebo ne zjistíme na základě rozdílu hodnot napětí mezi těmito bateriemi. Pokud je vyšší než 3 volty, baterie je určitě chybná.
Nejprve si vytvoříme Rule Context v jehož rámci budeme v dalším kroku vytvářet pravidlo na měřené hodnoty:
Pravidlo nazveme „batteryVoltageDifferenceHigh“:
V definic pravidla nastavíme vzorec pro výpočet následovně:
Pravidlo uložíme a aktivujeme.
Posledním krokem je vytvoření akce, která bude reagovat na právě vytvořené pravidlo. Akce nám odešle e-mail v případě, že dojde ke splnění pravidla.
Definice akce:
Momentálně je vše připraveno k simulaci sbírání a vyhodnocování dat.
Link pro simulaci: https://YOURINSTANCE.hana.ondemand.com/cp.portal/site#ActionModeler-Actions?sap-ui-app-id-hint=sap.appiot.ui.admin.modeler.actions&/simulator
Testovací vstupní data:
Po spuštění vyhodnocení pravidla:
Do mailové schránky dostáváme notifikaci o rozdílu napětí (definovanou v rámci definice akce).
Možnosti využití jsou prakticky nekonečné napříč všemi odvětvími průmyslu a služeb. Automatizace tak může dosáhnout úplně jiného levelu. Rovněž s ní spojená spokojenost uživatele, pro kterého mohou tyto dodatečné služby znamenat rozhodnutí o koupi produktu nebo služby.
Na testovacím případě je možné vidět, jak jednoduše může nastavení SAP Leonardo IoT vypadat, i když se jedná pouze o demo. Pro nahrání dat do systému jsme použili simulaci. Reálný provoz je samozřejmě automatizován a hodnoty se do systému dostávají přes MQTT API.
Při množství dat, které tímto způsobem mohou vzniknout (závisí na četnosti odesílání a počtu IoT zařízení), by nebylo efektivní odesílat všechny do Cloudu (Leonardo IoT). Problémem ale může být i konektivita, která nemusí být vždy a všude dostupná. SAP proto nabízí možnost tzv. Edge services, kde jsou data ukládána lokálně (interní server / Raspberry Pi / …) a do Cloudu jsou odesílány v nepravidelných intervalech a v pouze omezených množstvích.
Novinkou je i možnost jeho integrace na cloudovou službu SAP Field Service Management (FSM). Pro integraci ale budete potřebovat produkt SAP Cloud Platform Integration (= cloudová náhrada SAP XI / PI) a i když princip zůstává stejný, integrace již není taková triviální jako v našem demo příkladu. Není však nemožná, v budoucnu můžeme pro testovací účely rozšířit současnou implementaci i o vytvoření servisního ticketu v SAP FSM.
A co vy? Napadá vám, jak byste věděli využít tuto technologii i ve Vašem byznysu?
Michal Babinec, Developer