IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 8 - Microsoft AZURE - Závěr a něco navíc

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 - Microsoft Azure a IoT
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 - Microsoft Azure a IoT

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 - Microsoft Azure a IoT

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 - Microsoft Azure a IoT

<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 - Microsoft Azure a IoT

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 - Microsoft Azure a IoT

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 - Microsoft Azure a IoT

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 - Microsoft Azure a IoT

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 - Microsoft Azure a IoT

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.


 

Předchozí článek
Microsoft AZURE - Table Storage zobrazení dat a úvod do BI
Všechny články v sekci
Microsoft Azure a IoT
Článek pro vás napsal Michal Gros
Avatar
Uživatelské hodnocení:
4 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