1.1.1.2. 環境構成

  • 本書で扱う3パターンの実装についてご紹介します。

    • 実装1: IoT機器の遠隔コマンド実行
    • 実装2: IoT機器からの画像送信・Things Cloudでの画像表示
    • 実装3: IoT機器からThings Cloudへの各種測定値送信

実装の背景

  • 本構成の実装に至った経緯は以下のとおりです。

    IoTに関する技術が進む中、オペレーションに関する課題がありました。

  1. ITに詳しくなくても、1クリックでIoT機器の制御(サービス停止や再起動)を行いたい

    → 「実装1: IoT機器の遠隔コマンド実行」を実装することで、Things Cloudから1クリックでデバイスの制御が行えるようになります。

  2. ITに詳しくなくても、IoT機器で撮影した画像を一目で確認したい

    → 「実装2: IoT機器からの画像送信・Things Cloudでの画像表示」を実装することで、Things Cloudにて画像をすぐに確認できるようになります。

  3. IoT機器で取得したさまざまなデータを集約して容易に確認したい

    → 「実装3: IoT機器からThings Cloudへの各種測定値送信」を実装することで、Things Cloudにさまざまなデータを送信し、一元表示させることができます。

実装1: IoT機器の遠隔コマンド実行

動作概要

  1. IoT機器に導入されたc8yエージェントを起動し、Things Cloudとの間でMQTT通信を行います。
    • ICM(S)回線を利用し、ICGWを経由してThings Cloudと通信します。
    • IoT機器からICGWまではMQTT(非暗号化通信)ですが、ICGWにてデータの暗号化が行われます。
    • ICGWからThings CloudまではMQTTS(暗号化通信)となります。
  2. あらかじめカスタマイズしておいたThings Cloudのダッシュボードにて「コマンド実行」ボタンを押すことで、事前に定義しておいたコマンドをIoT機器にて実行することができます。
    • 本動作はThings Cloudの「アセットテーブル」機能にて実装します。

構成イメージ

本パターンの実装イメージは以下の図のとおりです。

実装1: IoT機器からの遠隔コマンド実行

利用サービス

  • ICM(S): IoT Connect Mobile Type S
  • ICGW: IoT Connect Gateway
  • Things Cloud

実装の流れ

  1. [IoT機器]初期セットアップおよび必要なモジュールのインストールを行います。
  2. [IoT機器]c8yエージェントをインストールし、初期設定します。
  3. [作業端末]ICGWを設定します。
  4. [作業端末]Things Cloudにてダッシュボードのカスタマイズを行います。
  5. [IoT機器]c8yエージェントを設定し、起動します。
  6. [作業端末]Things Cloudのダッシュボードにて、「コマンド実行ボタン」をクリックします。
  7. [IoT機器]IoT機器にコマンドが送信され、実行されることを確認します。

実装2: IoT機器からの画像送信・Things Cloudでの画像表示

注釈

  • 本項では、標準提供されていない「microservice」機能を利用しています。
    「microservice」のご利用にあたっては、提供環境や費用などの諸条件について個別対応とさせていただいております。
    「microservice」機能に関しては iot-app@ntt.com までご相談ください。
    案件相談、提供環境や費用などの諸条件に関しては iot-info@ntt.com までご相談ください。

動作概要

  1. IoT機器に導入されたc8yエージェントを起動し、カメラセンサーにて画像を撮影します。

  2. Wasabiオブジェクトストレージとの間でHTTP通信を行い、撮影した画像を転送してバケット内に画像を保存します。
    • ※下記「構成イメージ」の緑色の線の通信です。
    • ICM(S)回線を利用し、ICGWを経由してWasabiオブジェクトストレージへ転送します。
    • IoT機器からICGWまではHTTP(非暗号化通信)ですが、ICGWにてデータの暗号化が行われます。
    • ICGWからWasabiオブジェクトストレージまではHTTPS(暗号化通信)となります。
  3. 「2.」と同時に、Things Cloudとの間でMQTT通信を行い、画像の保管先情報(Wasabiのパス情報など)を含んだデータを送信します。
    • ※下記「構成イメージ」の青色の線です。
    • ICM(S)回線を利用し、ICGWを経由してThings Cloudへ送信します。
    • IoT機器からICGWまではMQTT(非暗号化通信)ですが、ICGWにてデータの暗号化が行われます。
    • ICGWからThings CloudまではMQTTS(暗号化通信)となります。
  4. あらかじめカスタマイズしておいたThings Cloudのダッシュボードに、撮影した画像の情報が一覧表示されます。
    • カスタマイズはThings Cloudの「カスタムウィジェット」機能を用いて行います。
  5. 一覧より任意の画像情報を選択すると、Things Cloudが選択された画像情報を基にWasabiへ画像を取りに行きます。
    • ※下記「構成イメージ」のピンク色の線です。
    • 本動作はThings Cloudの「カスタムウィジェット」機能、「microservice」機能、「KeyStore」機能を用いて実装されます。
  6. Things Cloudのダッシュボードに、取得した画像が表示されます。
    • 本動作はThings Cloudの「カスタムウィジェット」機能を用いて実装されます。

構成イメージ

本構成のイメージは以下の図のとおりです。

実装2: IoT機器からの画像送信・Things Cloudでの画像表示

利用サービス

  • ICM(S): IoT Connect Mobile Type S
  • ICGW: IoT Connect Gateway
  • Things Cloud
  • Wasabiオブジェクトストレージ

実装の流れ

  1. [IoT機器]初期セットアップおよび必要なモジュールのインストールを行います。
  2. [IoT機器]c8yエージェントをインストールし、初期設定します。
  3. [作業端末]microserviceおよびカスタムウィジェットを作成するために必要なモジュールをインストールします。
  4. [作業端末]Wasabiオブジェクトストレージのバケット作成およびユーザー作成をします。
  5. [作業端末]ICGWを設定します。
  6. [作業端末]Things Cloudにて、SmartRESTテンプレートを作成します。
  7. [作業端末]KeyStoreへWasabiの認証情報を格納します。
  8. [作業端末]microserviceおよびカスタムウィジェットを作成し、Things Cloudにデプロイします。
  9. [作業端末]デプロイしたカスタムウィジェットをThings Cloudのダッシュボードに配置します。
  10. [IoT機器]c8yエージェントの設定およびコードを作成した後、c8yエージェントを起動します。
  11. [作業端末]Things Cloudのダッシュボードに、IoT機器にて撮影した画像の一覧および画像が表示されることを確認します。

実装3: IoT機器からThings Cloudへの各種測定値送信

動作概要

  1. IoT機器に導入されたc8yエージェントを起動し、任意のセンサーより測定データを取得します。
    • 本書においては、温湿度センサーから取得する温湿度データ、およびGPSセンサーから取得する位置情報データを例として記載しています。
  2. Things Cloudとの間でMQTT通信を行い、測定データを送信します。
    • ICM(S)回線を利用し、ICGWを経由してThings Cloudへ送信します。
    • IoT機器からICGWまではMQTT(非暗号化通信)ですが、ICGWにてデータの暗号化が行われます。
    • ICGWからThings CloudまではMQTTS(暗号化通信)となります。
  3. Things Cloudに測定データが表示されます。

構成イメージ

本構成のイメージは以下の図のとおりです。

実装3: IoT機器からThings Cloudへの各種測定値送信

利用サービス

  • ICM(S): IoT Connect Mobile Type S
  • ICGW: IoT Connect Gateway
  • Things Cloud

実装の流れ

  1. [IoT機器]初期セットアップおよび必要なモジュールのインストールを行います。
  2. [IoT機器]c8yエージェントをインストールし、初期設定します。
  3. [IoT機器]必要に応じて、センサーの利用準備を行います。
  4. [作業端末]ICGWを設定します。
  5. [作業端末]必要に応じて、Things CloudにてSmartRESTテンプレートを作成します。
  6. [IoT機器]c8yエージェントのコードに、測定値の取得と送信をするコードを追加します。
  7. [IoT機器]c8yエージェントを設定し、c8yエージェントを起動します。
  8. [作業端末]Things Cloudにて、IoT機器で取得した測定値が表示されることを確認します。