Azure IoT Edge設定

WEB-UI込みAzure IoT Edgeのインストール

本製品出荷時では、Azure IoT Edge内で使用するDocker、Azure IoT Edgeモジュール及びAzure IoT Edge用WEB-UIはインストールされておりません。
そのため、WEB-UIのメンテナンス機能拡張タブからWEB-UI及びAzure IoT Edgeのインストールを行います。

set01

WEB-UIのメンテナンスタブを選び、さらに機能拡張タブをクリックすると機能拡張用のパッケージを選択することができます。

set02

インストール機能のリストからAzure IoT Edgeを選択します。
その後、インストールの実行ボタンを押し、インストールを行ってください。

なお、インストール完了後には反映を行うため、本体再起動が必要となります。
そのため、メンテナンス停止・再起動から本製品の再起動を行ってください。

Azure IoT Edgeのインストールでは、Docker DAEMONが存在しない場合には、Docker DAEMONについてもインストールを行います。
インストール作業の内部でコンパイルを行っている為、時間がかかりますので状況確認ボタンにてインストール状況をご確認ください。

Azure IoT Edgeは内部でコンテナエンジンを使用します。Azure IoT Edgeで使用するコンテナの状況等を確認する場合にはWEB UI(Docker)機能の使用についてもご検討ください。

また、ホストマシンとセンサー等のデバイス間でのデータをAzure IoT Edgeに対して送信することも可能です。この場合、IoTデータ制御機能のご使用についてもご検討ください。

[事前準備]IoT Hubの設定

Azure IoT Edgeを使用する場合、事前にIoT Hubの作成及びIoT Edgeデバイスの登録が必要となります。

これらの作業については、以下のページ内の"IoT Hub の作成"、"IoT Edge デバイスを登録する"をご確認の上作業を実施してください。

https://docs.microsoft.com/ja-jp/azure/iot-edge/quickstart-linux

また、登録したIoT Edgeデバイスの接続文字列(プライマリーキーまたはセカンダリーキー)を控えてください。

WEB-UIからのAzure IoT Edge設定について

Azure IoT Edgeパッケージがインストールされていると、WEB-UIのサービス基本タブにAzure IoT Edgeが表示されます。

set03

サービス基本タブよりAzure IoT Edgeリンクをクリックすると、ルートタブがサービス用のダッシュボード基本Azure IoT Edgeに切り替わります。

サービス基本タブに表示されるリンク及びサービス用のルートタブは、メンテナンス機能拡張タブよりインストールされたパッケージにより異なります。

Azure IoT Edgeのセットアップ

info

本作業移行以降は[事前準備]IoT Hubの設定を実施している必要があります。

WEB-UIのAzure IoT Edgeセットアップタブを開き、IoT Hubの設定にて控えた接続文字列を使用し、Azure IoT Edgeのセットアップを行います。

証明書未使用時証明書使用時
set04set05
  • セットアップ

コンフィグ初期化ボタンにて、設定したコンフィグの初期化が行えます。

項目説明
IoT Edgeゲートウェイホスト名デフォルトでOpenBlocks本体のFQDNが入力されます。
※変更する必要はありません。
接続文字列作成したIoT Edgeデバイスの接続文字列を入力します。
証明書設定証明書を使用するかを設定します。入力として証明書を設定しない場合、内部的に証明書が作成されます。
なお、内部生成された証明書を実運用することは推奨されておりません。
デバイス証明書
(証明書使用時)
デバイスCA証明書のファイルパスを設定します。
デバイスプライベートキー
(証明書使用時)
デバイスCA秘密キーのファイルパスを設定します。
ルート証明書
(証明書使用時)
所有者CAファイルパスを設定します。

各証明書ファイルはシステムファイル管理タブでのアップロードを推奨いたします。IoT Edgeデーモンにて、各証明書のファイル及びファイル格納ディレクトリの権限確認があるため、ファイルには読み取り権限・ディレクトリには実行権限及び読み取り権限を付与する必要があります。

各フォームの入力完了後、実行ボタンを押してください。

正常に処理が完了後、Edge状況タブへ遷移します。

Azure IoT Edge操作

WEB-UIのAzure IoT EdgeEdge状況タブでは、以下の作業が行えます。

  • コンテナエンジンの確認
  • Azure IoT Edgeデーモンのステータス状況の確認
  • Azure IoT Edgeデーモン制御
  • Azure IoT Edge一時ファイルの削除
  • Azure IoT Edgeのログ確認

set06

項目説明
コンテナエンジンAzure IoT Edgeにて用いるコンテナエンジンを表示します。
なお、IoT Edgeで用いるコンテナエンジンはMobyを推奨されております。
IoT Edgeに関してサポートを受ける場合はMobyとなっていることを確認してください。
IoT EdgeステータスIoT Edgeデーモンが起動しているか停止しているかを表示します。
また、起動状況に応じて各処理ボタンが表示されます。

●停止中
起動:IoT Edgeデーモンを起動します。
一時ファイル削除:IoT Edgeデーモンが内部生成したファイルを削除します。なお、セットアップのコンフィグ情報を変更した場合には、本処理の実施を推奨いたします。

●稼働中
停止:IoT Edgeデーモンを停止します。
再起動:IoT Edgeデーモンを再起動します。
IoT EdgeログIoT Edgeデーモンのログが表示されます。
なお、更新ボタンにより最新のログ情報へと更新されます。

セットアップ完了後、本ページからIoT Edgeデーモンの起動または本体の再起動によりコンテナのダウンロードが実施されます。その後、Azure IoT Edgeが稼働し続けます。

Azure IoT Edgeモジュールの環境変数

下図のようにIoTデータ制御機能と連携させ、Azure IoT Edgeランタイムにてダウンロードしたコンテナ経由にてAzure IoT Hubへのデータ送信及びフィルタ処理を行うことができます。

set07

IoTデータ制御機能にてデバイスデータをIoT Edgeモジュールに送信する場合、IoT Edgeモジュールが抱えている環境変数を使用する必要があります。
この環境変数は、WEB-UIのAzure IoT EdgeEdge環境変数タブにて確認を行うことができます。

set08

項目説明
Edge環境変数起動後にダウンロードされたコンテナ情報を参照し、Azure IoT Edge用の環境変数を表示します。
なお、IoTデータ制御機能にて必要となる情報はモジュールID(IOTEDGE_MODULEID)とGWホスト (IOTEDGE_GATEWAYHOSTNAME)です。
こちらの情報をIoTデータ制御機能の該当タブにて情報を入力してください。

WEB-UI用Dockerとの連携

本機能ではAzure IoT Edge全体での制御は行えますが、個々のコンテナの制御は行えません。
また、追加されたIoT EdgeモジュールやAzure IoT Edge内でのフィルタ機能を用いた場合、使用するメモリ量が過剰な状態となりホストマシン(OpenBlocks)へ影響がでる場合があります。

コンテナ自体のリソース状況や制御機能を行う場合、WEB-UI用Dockerをインストールすることによって確認・設定が行えますのでこちらのご使用をご検討ください。

Azure IoT Edgeのコンテナ追加

Azure FunctionsやAzure ML等の標準以外のコンテナを用意し、デプロイする場合があります。
これらのコンテナについては、Azure Container RegistryやDocker Hubから参照しデプロイを行います。

以下はAzure Functionsをコンテナ化及びAzure Container Registryを用いたケースの説明です。
こちらを参照の上、IoT Edgeのカスタマイズを実施してください。

https://docs.microsoft.com/ja-jp/azure/iot-edge/tutorial-deploy-function#create-a-container-registry

OpenBlocks IX9での使用について

OpenBlocks IX9のeMMCブート時には、使用するコンテナによってストレージが十分なサイズではない可能性があります。
そのため、ファイルサイズが大きいコンテナを用いる場合にはSSDのご使用をご検討ください。