LoginSignup
1
0

More than 1 year has passed since last update.

Power BI によるセンサーデータの可視化(Azure IoT Hub・Azure Stream Analytics との組み合わせ)

Last updated at Posted at 2021-11-07

この記事は、以下の記事の中で進めた下準備の続きで、センサーデータを可視化する、というものです。

●Azure IoT Hub へのデータ送信と Azure Stream Analytics による可視化の下準備を試す(公式ドキュメントやサンプルをピックアップしつつ) - Qiita
 https://qiita.com/youtoy/items/0ca9be93c9189e71b5d1

可視化には Power BI を利用してみます。

なお自分の環境の事情で、「Azure を利用しているアカウント」と「Power BI を利用しているアカウント」が異なる状態で、以下の内容を行っています。

Azure IoT Hub の下準備

冒頭に書いていた前回の記事の手順を進めて、Azure IoT Hub へデータの送信が行えて、送信したデータが Azureポータル上で確認できる状態まで、あらかじめ進めておいてください。

Power BI にサインインしてワークスペースを作成

利用のための前提条件

前の記事の「データの可視化の下準備」の部分で、可視化の話を少し書いていました。

その中で書いていた話の 1つに出てくる「Power BI」を利用していきます。
自分の環境では、Azure を利用しているアカウントとは別アカウントで「Power BI」を使っていきます。

Power BI を利用する際に、サインインをする必要がありますが、その際、例えばこの「Power BI とは?」という記事の「Power BI を始めるには」という部分に書かれているとおり、「組織アカウント(Azure Active Directory で管理されているアカウント)」が必要になるようです。
(@live.jp、@outlook.jp等といったアドレスではサインインできません)

Power BI でワークスペースを作成

Azure Stream Analytics の設定で、Power BI のワークスペースの ID が必要になるので、それを進めます。

Power BI を利用するほうのアカウントで Power BI にログインし、以下の部分から新規にワークスペースを作成しました。

作成したワークスペースの URL を見ると
 「https://app.powerbi.com/groups/【ワークスペースの ID】/list
といったような内容になっているため、この「【ワークスペースの ID】」をメモしておきます。

Azure Stream Analytics の設定

手順の概要

前回の記事の最後にも掲載していた、「Azure IoT Hubに送信したデータを可視化する(Power BI編)」という記事の中の「Stream Analyticsの作成」の部分や、その他、公式ドキュメントの「Azure IoT Hub から取得したデータのリアルタイム データの視覚化 – Power BI」などを見つつ、以下の設定を進めてください。

  • Azure Stream Analytics の作成
  • Azure IoT Hub のコンシューマグループの設定
  • Stream Analytics の設定
    • ストリーム入力の追加
    • Stream Analytics の出力の設定
    • クエリの設定
  • Stream Analytics のジョブの開始

Stream Analytics の出力設定の補足

Stream Analytics の出力の設定の部分については、自分の環境が参照元として示していた記事の環境と少し異なるため、手順に差異があります。それについて少しだけ補足します。

以下は、「Stream Analytics の出力設定」を新規に追加しているところです。

以下の「接続を承認する」という赤枠で囲んだ部分から、「Power BI を利用するアカウント」でサインインします。
その後、以下の「グループ ワークスペース」と書かれた部分は、上記の「Power BI でワークスペースを作成」の手順で書いていた「【ワークスペースの ID】」を入力する形になります。

Azure Stream Analytics上で入力データの確認

Azure Stream Analytics のクエリを設定する手順のところで、入力データやクエリの実行結果を確認する話について、ここで触れておきます。

入力については、以下の画像で示した「入力のプレビュー」という部分を選ぶことで確認できます。

Azure Stream Analytics でのクエリの設定

公式ドキュメントの「Azure IoT Hub から取得したデータのリアルタイム データの視覚化 – Power BI」の中の「Stream Analytics ジョブのクエリの構成」の部分で書かれた内容をもとに、クエリを書きかえます。

SELECT
    *
INTO
    "【ジョブの出力エイリアス】"
FROM
    "【ジョブの入力エイリアス】"
WHERE temperature IS NOT NULL

自分は、ジョブの入力エイリアスと出力エイリアスのそれぞれで「ハイフン(-)」を含めた名前にしていたため、それぞれの文字列を「ダブルクォーテーション(")」で囲んでいます。

Azure Stream Analytics上でクエリのテスト

クエリのテストは、画面上部の「クエリのテスト」と書かれた部分を押し、その後に以下の赤矢印で示している「テスト結果」の部分を選択することで確認できます。

Power BI での可視化の結果

上記の手順を進めて、「Stream Analytics のジョブの開始」を行った後に、何らかAzure IoT Hub へデータを送ってやれば、以下のように Power BI へデータが流れてくるのが確認できます。

後は、Power BI 上でデータの可視化を行います。
公式ドキュメントの「Azure IoT Hub から取得したデータのリアルタイム データの視覚化 – Power BI」の中の「データを視覚化する Power BI レポートの作成と公開で書かれた手順を進め、折れ線グラフを作成します。

以下は温湿度の時系列データを折れ線グラフにした時の、画面全体の様子です。

グラフの部分のみを取り出すと、以下のようになりました。
温湿度の可視化(グラフの部分のみ).jpg

おわりに

Azure IoT Hub に送られたセンサーデータ(温湿度のデータ)を、Azure Stream Analytics を介して Power BI に送り、それを折れ線グラフにすることができました。

今回、センサーデータの部分は、Node.js で作ったダミーデバイス的なプログラムを使い、乱数を混ぜ込んだダミーの温湿度の値を送りました(そのため、短い時間でけっこうな変化が生じています)。
今後は、例えば以下のような実際のデバイスで計測したデータをもとに、この可視化の仕組みを動かしてみようと思います。

1
0
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
1
0