- 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 コントローラ-クラウド間データ転送実験の準備:Azure IoT Hubの設定」の手順に従って、Azure IoT Hub のクラウド側の設定を行ってください。
PLCnext コントローラのインターネット接続の確認
「AXC F 1152/2152/3152をインターネットへ接続する」の記事を参考に、PLCnext コントローラがインターネットに接続されていることを確認してください。
クラウドへの接続設定
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」をクリックしてください。
項目 | 値 |
Name | PLCnextEdgeGateway_Azure0 (任意の文字列) (ここではわかりやすいように Azure のデバイス ID と同じにしていますが、同じにする必要はありません。) |
Connection String | (Azure の IoT デバイスの情報画面から取得した「プライマリ接続文字列」を入力します。) |
以下の様に「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 | (上述の通り) |
Name | CPU_LOAD (任意の文字列) |
<セレクトボックス> | Update On Change |
Min Update Rate | 15 (秒) |
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-events | Azure CLI の az コマンドで IoT Hub のイベントをモニタします。 |
–hub-name | Iot Hub の名前を指定します。(この例では demoiothub0001) |
–device-id | デバイス ID を指定します。(この例では PLCnextEdgeGateway_Azure0) |
IoT Hub の名前とデバイス ID は、ブラウザで Azure へログインしてホーム画面から確認することができます。
上記の az コマンド実行後、以下の用に MQTT のメッセージが表示されればクラウド側でデータを受信できています。
次回は、デバイスから収集したデータへ計算処理を加える方法を紹介します。