5. prosince 2019

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

 

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

Leonardo_02

 

Tímto způsobem budou založeny dvě skupiny vlastností:

  1. battery_data – Měřitelné atributy elektrické baterie.
  2. location_data – Zeměpisná výška a šířka získaná z GPS senzoru.

Leonardo_03

Pomocí tlačítka „+“ v sekcí měřené hodnoty postupně přidáme jednotlivé atributy.

Leonardo_04

 

Pro skupinu „battery_data“

Leonardo_05

 

Pro skupinu „location_data“
Leonardo_06

 

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

Leonardo_07

Po vytvoření nového Thing Type do měřených hodnot přidáme námi vytvořené 2 skupiny vlastností:

Leonardo_08

 

Posledním krokem je vytvoření instance konkrétního automobilu – tlačítko New Thing.

Leonardo_09

Tím, že se jedná o konkrétní model, jeho název si vymyslíme jak název firmy – co tak myModel 3? 🙂

Leonardo_10

 

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:

Leonardo_11

 

Pravidlo nazveme „batteryVoltageDifferenceHigh“:
Leonardo_12

V definic pravidla nastavíme vzorec pro výpočet následovně:

Leonardo_13

 

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:

Leonardo_14

 

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:

Leonardo_15

 

Po spuštění vyhodnocení pravidla:

Leonardo_16

 

Do mailové schránky dostáváme notifikaci o rozdílu napětí (definovanou v rámci definice akce).

Leonardo_17

 

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