Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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 開発者ガイド

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away