PLCnext Edge Gateway によるクラウド接続 [2/4:データ送信 – Azure IoT Hub 編]

「PLCnext Edge Gateway によるクラウド接続」記事の構成
1/4:インストール編

PLCnext Edge Gateway のインストールを行います。

2/4: データ送信 – Azure IoT Hub

デバイスから収集したデータを Azure IoT Hub へ MQTT で送信します。

3/4:データ演算編 [制作中]

デバイスから収集したデータに対して演算を行うことができます。

4/4:データ送信 – AWS Iot Core, Proficloud 編 [制作中]

AWS や Proficloud にもデータを送信できます。

前回の記事では PLCnext Edge Gateway のインストールまでを行いました。
今回はいよいよ Azure IoT Hub クラウドへデータを送信するための手順を紹介します。

目次

Azure と PLCnext コントローラの準備

Azure IoT Hub の準備

PLCnext Edge Gateway Docs > Drivers > Azure IoT Hub にも、Azure IoT Hub のクラウド側の設定について英語の記事があります。

「PLCnext コントローラ-クラウド間データ転送実験の準備:Azure IoT Hubの設定」の手順に従って、Azure IoT Hub のクラウド側の設定を行ってください。

PLCnext コントローラのインターネット接続の確認

AXC F 1152/2152/3152をインターネットへ接続する」の記事を参考に、PLCnext コントローラがインターネットに接続されていることを確認してください。

クラウドへの接続設定

PLCnext Edge Gateway Docs > Drivers > Azure IoT Hub にも、PLCnext Edge Gateway を Azure IoT Hub 向けに設定する方法について英語の記事があります。

PLCnext Edge Gateway で Azure IoT Hub へ接続するための設定を行います。

クラウド接続設定画面の表示

WEB ブラウザで https://192.168.1.10/edge/ へアクセスすると PLCnext Edge Gateway のダッシュボードが表示されるので、画面左上の 「Cloud Connections 」の横にある「+」マークのアイコンをクリックしてください。

大きな四角形が現われるので、クリックしてください。

「Cloud Connections」というダイアログが表示されます。

「Select」 をクリックすると使用可能なクラウドサービスの一覧が表示されます。
Azure IoT の右に「Enabled」と表示されている場合はそのボタンをクリックしてください。

数秒経過すると、「Enabled」表示は消えます。

「Azure IoT」をクリックしてください。

「Name」と「Connection String」を入力するための画面が表示されます。

「Name」はこの接続設定を名付けるための任意の文字列ですが、「Connection String」は Azure IoT Hub の Web ページから情報を取得する必要があります。
このダイアログは閉じないで置き、Azure のサイトで「Connection String」の確認を行います。
(間違ってダイアログを閉じてしまっても上述の操作で開き直せば良いだけなので、問題ありません)

Azure IoT Hub の Connection String 取得

WEB ブラウザ Azure へサインインし、ホーム画面を開いてください。
「リソース」一覧内で種類が「IoT Hub」となっているリソースをクリックします。

IoT Hub の画面になるので、画面左の「デバイス管理」の中にある「デバイス」をクリックしてください。

画面右に IoT デバイスの一覧が表示されるので、通信に使用したい IoT デバイスのデバイス ID をクリックしてください。

IoTデバイスの情報が表示されるので、「プライマリ接続文字列」をクリップボードにコピーしてください。

これで「Connection String」の取得は完了です。
もう一度 PLCnext Edge Gateway の 「Cloud Connections」ダイアログに戻りましょう。

接続情報の入力

PLCnext Edge Gateway の 「Cloud Connections」ダイアログが閉じられている場合はもう一度前述の手順で開いてください。
以下の内容を入力して、最後に「Submit」をクリックしてください。

項目
NamePLCnextEdgeGateway_Azure0 (任意の文字列)
(ここではわかりやすいように Azure のデバイス ID と同じにしていますが、同じにする必要はありません。)
Connection String(Azure の IoT デバイスの情報画面から取得した「プライマリ接続文字列」を入力します。)
「Cloud Connections」ダイアログの入力項目

以下の様に「PLCnextEdgeGateway_Azure0」の接続アイコンが表示され、アイコン内に「Connected」と表示されていれば接続成功です。

クラウドへのデータ送信

試しに、PNCnext コントローラの CPU 使用率データをクラウドへ送ってみましょう。

先ほどできたアイコンをクリックします。

Metrics の右側にある「+Add」ボタンをクリックします。

Publish New Metric の画面が表示されるので、まず「Select Node」をクリックし、表示されたツリーから
downstream > backend > Device > CPU > Load を選択してください。

続いて、ほかの項目にも以下の様に値を入力してください。この設定では、CPU 使用率が変化した場合にクラウドへその値を送信します (Update On Cgange)。CPU 使用率が変化しなかったとしても、15秒ごとに送信を行います (Min Update Rate)。
入力し終えたら最後に「Submit」ボタンをクリックしてください。

項目
Add Metric to Publish(上述の通り)
NameCPU_LOAD (任意の文字列)
<セレクトボックス>Update On Change
Min Update Rate15 (秒)

上記の画面にて Submit を押したタイミングで Log in を求められる場合もあります。 そのときは PLCnext Edge Gateway 用のログイン情報を入力してログインをしてから、改めて Publish New Metric 画面上の「Submit」ボタンをクリックしてください。

Metric の欄に CPU_LOAD が追加されます。
これでもう、定期的に CPU 使用率がクラウドへ送信されています。

Publish New Metric 欄は「✖Close」ボタンをクリックして閉じて大丈夫です。(閉じなくても構いません)

クラウドが受信したデータのモニタリング

クラウドが受信した MQTT メッセージをモニタする方法は、クラウドの種類によって様々です。
Azure の場合は Azure CLI というツールを PC へインストールして使用することで、クラウドがどのようなデータを受信したのかを確認することができます。

Azure CLI の準備とログイン

クラウド受信データのモニタツール:Azure CLI」の記事の手順に従って Azure コマンドラインインターフェース (CLI) を PC へインストールし、ログインしてください。

クラウド側受信データのモニタリング

コマンドライン上で以下の様にコマンドを入力してください。青線部は、Azure IoT Hub へ設定した内容に依存します。

az iot hub monitor-events --hub-name demoiothub0001 --device-id PLCnextEdgeGateway_Azure0
項目, 引数説明
az iot hub monitor-eventsAzure CLI の az コマンドで IoT Hub のイベントをモニタします。
–hub-nameIot Hub の名前を指定します。(この例では demoiothub0001)
–device-idデバイス ID を指定します。(この例では PLCnextEdgeGateway_Azure0)
コマンドの解説

IoT Hub の名前とデバイス ID は、ブラウザで Azure へログインしてホーム画面から確認することができます。

1. IoT Hub の名前確認、クリック
2. 「デバイス」をクリック
3. デバイス ID を確認

上記の az コマンド実行後、以下の用に MQTT のメッセージが表示されればクラウド側でデータを受信できています。

クラウド側で受信したデータを表示

az iot hub monitor-events コマンド実行時に、拡張機能周りのアップデートがかかることがあります。その場合はアップデートを許可 (y を選択)してください。

更新続行に対する許可/却下の問い合わせ
更新を許可 (y を入力)すると、更新完了後にモニタリング開始

次回は、デバイスから収集したデータへ計算処理を加える方法を紹介します。

  • URLをコピーしました!
目次