ブログ

CactusphereRS485モデル:温度データをIoT Hubに送信し、PowerBIのダッシュボードに表示してみた

at_yukari.hara
2021年5月31日 19時20分

※注意事項※
このブログは2021年5月18日時点のものです。
Microsoft Azureの環境を構築する手順の一例としてご紹介している部分がございますが、設定や手順等を推奨するものではありません。
また、仕様等が変更されていたとしても、弊社ではお問い合わせには対応できかねますので、ご了承願います。
詳しい手順や説明等は、公式のドキュメントをご参照願います。

CactusphereRS485モデルを使ってアプリケーションを構築してみました(温湿度編)で取得した温湿度データを、
IoT Hubに送信してPowerBIのダッシュボードに表示してみました。

システムの構成

今回ご案内する手順は、以下の方を対象としております。

①MSアカウント作成済であること
②Azureアカウント作成済であること
③Cactusphereソフトウェアマニュアルのチュートリアルを既に実行済みであること

事前準備

1.ハードウェア接続

CactusphereRS485モデルを使ってアプリケーションを構築してみました(温湿度編)を参考に、Cactusphereと温湿度センサーを接続してください。

2.Azure IoT Hubへの接続

Cactusphere接点入力モデルをAzure IoT Hubに接続してみましたを参考に、「②起動時に送信するデバイス情報の確認」までの手順を行い、IoT Hubに接続してください。

※アプリケーションマニフェストの修正箇所は、以下に置き換えてください。

"CmdArgs": [ "--ConnectionType", "DPS", "--ScopeID", "<DPSのスコープID>" ],
"AllowedConnections": [ "global.azure-devices-provisioning.net", "<DPSのリンク済み IoT HubのURL>" ],
"DeviceAuthentication":"テナントID",

手順

1.Cactusphere通信設定

IoT HubからCactusphereのデバイスを選択し、「デバイスツイン」からModbus RTUのMasterの通信設定を行います。
今回は温度データを取得する為、デバイスツインの「desired」を以下のように設定しました。

(省略)
"desired": {
            "ModbusDevConfig": "{\"ModbusDevConfig\":{\"01\":{\"baudrate\":9600,\"parity\":\"None\",\"stop\":1}}}",
            "ModbusTelemetryConfig": "{\"ModbusTelemetryConfig\":{\"Data1\":{\"devID\" : \"01\",\"registerAddr\":\"0000\",\"registerCount\":\"1\",\"funcCode\":\"03\",\"interval\":\"20\",\"devider\" : 10,\"asFloat\":true}}}",
(省略)

2.Stream Analytics ジョブの作成と実行

Power BI を使用して Azure IoT Hub からのリアルタイム センサー データを視覚化するの「Stream Analytics ジョブの作成、構成、実行」を参考に、Stream Analytics ジョブを作成し、入力をIoT Hub、出力をPower BIに設定し、クエリの構成を行ってからジョブを実行します。

3.確認

Stream Analytics ジョブが正常に動作していると、以下のようにAzure Power Biのマイワークスペースに指定したデータセットが生成されています。

データセットの「レポートの作成」をクリックし、軸に「EventEnqueuedUtcTime」、値に「Data1」をセットする事で、PowerBIのダッシュボードに温度データを表示する事が出来ました。