8. díl - Microsoft AZURE - Závěr a něco navíc

Hardware PC Azure a IoT Microsoft AZURE - Závěr a něco navíc

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

V minulé lekci jsme se věnovali zobrazení dat a udělali jsme si úvod do Business Inteligence. Dnes zobrazíme výstup ze Stream analytics do Power BI.

Chytří již tuší, že toho docílíme definováním dalšího výstupu. :-) Jdeme tedy na to.

V Azure, ve Stream analytics job, v sekci output, přidáme další výstup. Pozor, služba musí být zastavená, jinak to nejde. Volbou Add+ přidejte výstup. Azure po vás bude chtít autorizaci do Power BI.

Poté jen vyberte WorkSpace a Dataset a jméno tabulky pro data.

Stream Analytics output to Power BI
Output alias ItPowerBi
Sink Power BI
Group Workspace My Workspace
Dataset Name IoTItClanek
Table Name IoTItClanek

Zvolte create a po vytvoření výstupu do BI vstupte do sekce Query. Budeme muset upravit náš dotaz. Bude tedy vypadat nějak takto:

SELECT
* ,
    system.TimeStamp AS EventTime
INTO
    [TableData]
FROM
    [InputIT]

SELECT
    AVG (Humidity) AS hmdtAVG,
    AVG (Temperature) AS tempAVG,
    system.TimeStamp AS time,
    prumer
INTO
    [ItPowerBi]
FROM
    [InputIT]
GROUP BY
    prumer,TUMBLINGWINDOW(minute,1)

Zamysleme se nad naším zápisem. V prvním SELECTU neděláme nic jiného, než pořád ukládáme data do naší tabulky. Následuje další SELECT. Ten vypadá podstatně složitěji, nicméně není. Je jen trochu modifikován. Vybíráme pomocí klíčového slova GROUP BY minutové časové okno, kdy si vyrábíme minutový průměr z hodnoty Temperature a Humidity v našem streamu. Přidáváme si TimeStamp značku k datům. Vybraná data nám jako DataSet skončí pod naším názvem, který jsme zadali při definici výstupu do Power BI. Vzpomeňte si na definici Tumbling window z devátého dílu. V tomto případě budeme mít vždy minutový vzorek a z něj si spočítáme průměrnou hodnotu. Do Power BI se nám vždy dostane jeden minutový průměr teploty a vlhkosti. Kouzlo se s jedním čidlem nekoná, ale když těch čidel bude 10 nebo 1000? Schválně si zkuste napsat aplikaci, co vám bude dělat průměr v reálném čase.

Power Bi patří do skupiny nástrojů pro koncové uživatele, takže brzy zjistíte, že práce s ním je velmi jednoduchá, a proto si jej zde nebudeme podrobně popisovat. Budu vycházet z toho, že drtivá většina z vás umí s Excelem a Power Bi, jako jeho nadstavba, je opravdu triviální.

Nyní si vytvoříme nějaké grafy, proto se pod svým účtem přihlaste k online verzi Power BI na adrese https://powerbi.microsoft.com/en-us/.

Power BI streaming dataset

Jakmile spustíte službu Stream analytics a uběhne několik minut, bude již datová sada v Power BI dostupná. Najdete ji v levém bočním menu pod názvem Streamované datové sady. Klikněte tedy na Streamované datové sady - Streaming dataset. Kliknutím na ikonku grafu vpravo vytvoříte první sestavu neboli report. Omlouvám se všem, v tomto bodě již došlo za poslední 3 měsíce k několika změnám, tak jak se Power BI vyvíjí. Nevím, zda v době, kdy budete číst tento článek, bude tedy postup aktuální.

Do sestavy si dejte 2x Line Chart graf a 2x Gauge graf, rozvrhnout si je můžete dle libosti.

Power BI add chart

Hodnoty dostanete do grafu tak, že do pole Axis přesunete pole time a do pole Values přesunete například pole hmdtavg. Malou šipkou vlevo vedle názvu hodnoty v definici grafu, rozklikněte volbu pro hodnotu, a vyberte Average. Obdobně ve druhém grafu zobrazíte teplotu.

Ohledně obloukového nebo chcete-li, budíkového Gauge grafu, dejte do hodnoty Value naše průměry hmdtavg, tempavg.

Kliknutím na váleček můžete grafy přizpůsobit dle libosti. Za zmínku kromě volby Data colors, kterou změníte barvu grafu, stojí u Gauge grafu volba Gauge axis, kde lze nastavit minima a maxima grafu. Další kreativitě se meze nekladou, a tak se moc těším na to, co vymyslíte.

Sestavu uložte a připněte jako live Page. Pojmenujete ji dle libosti a máme hotovo :-) Moc to nebolelo, což?

Power BI umí sestavu poslat i na web. Bohužel ne v případě, že se jedná o Streamovaná data. K tomu slouží Power BI Embedded. Pokud tedy chcete sestavu sdílet, tak jedině přes Live ID a nebo AD účet (Active directory) ve vaší organizaci.

V případě, že se nebude jednat o Streamovaná data, budete je načítat z Excelu na One Drive, Table storage nebo SQL databáze, lze sestavu vyexportovat jako Iframe kód do vašich stránek. To uděláte přes menu File – Publish to Web to si ještě ukážeme.

Power BI – publis to web

<iframe width="933" height="700" src="https://app.powerbi.com/view?
r=eyJrIjoiZGUyZTMzMWUtMTJkZS00OWVjLWdddI1YzMtZWEhZTdjNWJkIiwidC
I6ImIxZjZkODkzLWY3ZDQtNGIxNC1hODgzLTY4MDE4ZTk1OWEzOSIsImMiOjh9"
frameborder="0" allowFullScreen="true">
</iframe>

Výsledek svého snažení proto můžete komukoliv sdílet, aniž byste museli někomu dávat přístup do Power BI. Power BI je jako aplikace dostupná pro Android i iOS, takže k němu můžete přistupovat prakticky odkudkoli.

Power Bi desktop - Vizualizace z table storage

Původně jsem o tom nechtěl ani psát, přišlo mi to tak jednoduché, že jsem vás tím nechtěl obtěžovat. Musel jsem ale udělat návod pro jednoho našeho zákazníka, tak jsem to zjednodušeně udělal i pro vás. Budete potřebovat StorageAccout name a klíč pro přístup k tabulce, ve které jsou data. Již jsme si to vysvětlovali v 10. díle - Microsoft AZURE - Table Storage zobrazení dat. Osobně nerad vidím, jak se k datům přistupuje s write oprávněním, ale s Table storage to jinak nejde, takže budu muset přimhouřit obě oči.

K datům přistoupíte v sekci realationship volbou New Query.

Power Bi – data set from Table Storage on AZURE

Objeví se vám okno pro přidání dat - známe z Excelu z předešlé lekce. Vyberte volbu: New Source > More > Azure > Microsoft Azure Table Storage

Power Bi – data set from Table Storage on AZURE –2

Průvodce vás provede přes zadání vašich credentials až k výběru vaší tabulky. Ve výběru si nezapomeňte přidat content, stačí si vybrat jen hodnotu Temperature a Humidity.

Kliknutím pravým tlačítkem na záhlaví sloupce s daty a Temperature a Humidity určete volbou Change type > Whole number, typ dat. Nově nakonfigurovaný zdroj dat uložte tlačítkem Close & apply. Vyrobí se vám data set a vy pak v sekci report můžete vytvořit grafy stejně jako v předchozích lekcích.

Možná budete mít problém se zobrazením grafu. Je tam trik s pochopením hodnoty TimeStamp v poli Axis, šipečkou dolů si vyberte volbu Date Hierarchy na Timestamp.

Power Bi – select TimeStamp in axis

Ostatní je na vaší kreativitě a nebudeme to zde více probírat.

Jakmile dáte sestavu publikovat, uloží se vám do Power BI online. Odtud pak lze sestavy dát například na web. Provedete to v Power BI online, volbou z menu File > Publish to web, získáte tam buď odkaz, nebo iframe kód do vašich stránek.

Power Bi – Share report

Vaše sestava pak může být dostupná bez přihlášení. A funguje i na mobilu, tabletu s Windows, Android nebo iOS.

Power BI report in iframe on the website

Jak změnit interval odesílání dat z ESP8266

Nějak jsem na to během psaní článku zapomněl, ale v základu bude vaše deska odesílat data co každých 10 sekund. Narazíte tedy rychle na limit 8000 zpráv za den, kterou má free tier IoT hubu. S ohledem na to, že teplota a vlhkost se mění velmi pomalu, lze interval v klidu prodloužit. Uděláte to v programu úpravou hodnoty v souboru remote_monito­ring.c.

ThreadAPI_Sleep(3000);

Slovo závěrem

Chtěl bych těm, co vše dočetli až sem, poděkovat za pozornost a doufám, že byl celý miniseriál alespoň trochu přínosem. Některým z vás se snad otevřel pohled do zákoutí IoT a cloudových služeb AZURE. Všem vám přeji hodně úspěchů ve vašem snažení a někdy se snad potkáme, třeba při řešení vašich projektů na AZURE.


 

 

Článek pro vás napsal Michal Gros
Avatar
Jak se ti líbí článek?
3 hlasů
Autor se jako Partner Solution Architekt ve společnosti NetSecure věnuje cloud technologii MS AZURE, spravuje systémy na os LINUX WINDOWS. Programuje v c, c++ a C# .net, Html
Aktivity (4)

 

 

Komentáře

Avatar
Libor Šimo (libcosenior):12.12.2016 12:45

Ahoj. Je to veľmi zaujímavé čítanie. Mňa by však zaujímalo, či sa oplatí (myslím finančne) aplikovať to napríklad na kontrolu rodinného domu. Teda teploty, vlhkosť, pohyb, otváranie dverí..., proste čo najkompletnejšia diaľková online kontrola.

Odpovědět 12.12.2016 12:45
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Michal Gros
Redaktor
Avatar
Odpovídá na Libor Šimo (libcosenior)
Michal Gros :12.12.2016 19:42

Ahoj určitě je to řešení velmi komplexní a lze ho použít velmi univerzálně. Upozorňuji snad jenom na to, že dané řešení není zadarmo a něco tě jeho provoz bude stát. Řešíme na tom primárně větší projekty něž jeden dům. Power BI Embedded má vlastní api a sdk programuje se do něj v Type Scriptu https://www.typescriptlang.org/
Visuály si pak můžeš dělat jaké chceš, lze je pak propojovat i s vlastní stránkou a visuály na to pak mohou reagovat. https://powerbi.microsoft.com/…loper-tools/. Propojení mezi Power BI a daty je, ale potom nutné realizovat přes SQL. Pokusím se o tom napsat článek, ale není to nic složitého.

Odpovědět 12.12.2016 19:42
Jestli jste dobří nahrnou na Vás spoustu práce. Jestli jste sakra dobří, tak se jí dokážete zbavit.
Avatar
Odpovídá na Michal Gros
Libor Šimo (libcosenior):12.12.2016 20:01

Ved prave to ma zaujima. Mozno vies odhadnut zhruba kolko by taky dozor nad domom stal v ceskych korunach za mesiac. Je t o velmi zaujimava otazka, lebo by sa na tom dal postavit asi celkom solidny biznis.
Mam 58 a po odchode do dochodku v 70 rokoch by som rad skusil nieco nove. ;-)

Editováno 12.12.2016 20:03
Odpovědět 12.12.2016 20:01
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Michal Gros
Redaktor
Avatar
Odpovídá na Libor Šimo (libcosenior)
Michal Gros :12.12.2016 20:17

Celý Azure je dělaný systémem Pay as you go, takže se dají dělat různé optimalizace. Cenově to dává smysl pokud tvoříš opravdovou infrastrukturu jako je SQL WEB IOT management. Na malinké projekty jsou tam free tiery, takže to moc stát nemusí. Ta technologie je úplně nová a bouřlivě se teď vyvíjí.

Odpovědět 12.12.2016 20:17
Jestli jste dobří nahrnou na Vás spoustu práce. Jestli jste sakra dobří, tak se jí dokážete zbavit.
Avatar
Odpovídá na Michal Gros
Libor Šimo (libcosenior):12.12.2016 20:19

Diky za rychlu odpoved. Zameriam sa na testovanie a znovu sa ozvem.

Odpovědět 12.12.2016 20:19
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.