LoginSignup
15
17

More than 5 years have passed since last update.

Azure 各種機能とPower BIを使って、IoTデータのリアルタイム可視化をやってみた

Last updated at Posted at 2015-05-19

Azure StreamAnalysisからPower BI Dashboard(まだ今はPreview)にデータを出力できるようになり、
Azureでリアルタイム可視化する機能群がそろったとのことで、さっそくやってみました。

どんなことかっていうと
①多数のIoT機器が生成したデータを
②リアルタイムに更新されるグラフで可視化する

航空管制塔とか鉄道の管制室が、リアルタイムに飛行機とか電車のデータを見てるよね?
あんな感じのリアルタイムの可視化が
数時間で低難易度でできるようになったことが新しい。
運用コストもめちゃくちゃ安し。
クラウドってすごいねーっていつも思います。

今回初めてやってみましたが、5時間くらいで一通りの流れが作れました。
たぶん2,3回やれば、1時間以内で作れるようになりそうな気がします。

●アーキテクチャはこんな感じ

①IoT機器(たとえばセンサーにBluetooth接続したWindowsタブレット)の.NETアプリ(コーディングする)
 |
(REST APIにJsonでPost)
 ↓
②Azure Service Bus EventHub (これは大量データを受けられるキュー)
 |
 (接続してくれるAdapterが用意されている)
 ↓ 
③Azure StreamAnalysis (これがキューのデータを加工して、BIツールに渡す)
 |
 (接続してくれるAdapterが用意されてい
る)
 ↓ 
④PowerBI Dashboard (これはBIツール。StreamAnalysisからデータくるとPush型の更新がかかる)

●実装後

①.NETアプリでこんな感じにJSONをPOST
※今回WIndows端末でやりましたが、次はRaspberry PiとかIoT用機器でやりたい(ラズパイ用のWindows10も使えるようになったし。)
sendEventHub.jpg

②するとこんな感じにグラフに反映される
powerbi.jpg

Webだけどリフレッシュせずとも、グラフにピョコってデータが増えていきます。
タイムラグは10秒ないくらいかなー
これくらいなら多くの業務で許される範囲じゃないかな。

データの加工について
今回は.NETアプリからのデータを、そのまま加工せずPowerBIに送ったけど、
10分単位とかでサマリーしたいならStreamAnalysisで加工できる
StreamAnalysisには以下のようにSQLっぽいコードがかけて、
Group BYで「10秒間のデータをグループバイ」って時間を意識したSQLがかけるのが、
StreamDataっぽくてなんだか新鮮です

ただ、受け取ったデータをPowerBIに流すだけなら以下のようなSLQを書きます
lang:Azure StreamAnalysis Query
SELECT
DeviceId,SendTime,Temperature,EventProcessedUtcTime,EventEnqueuedUtcTime,PartitionId
INTO
powerBI
FROM
eventHub

Azure Stream Analytics 開発者ガイド

今日は疲れたのでここまでで、また今度、コンポーネント別の説明を書きます。

15
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
17