はじめに
こんにちは。プラットフォームサービス本部 データプラットフォームサービス部でSmart Data Platform(SDPF)のサービス企画を行っている小野・砂田です。 ご覧頂きありがとうございます。我々は当社が提供しているSDPFサービスを組み合わせた具体的な事例紹介をしております。
前回の第3回では、Flexible Remote Accessを利用しながら、合わせて適切なログ保存を行って運用していくユースケースを説明させて頂きました。
今回は、現在も利用拡大が続いているIoT関連サービスを使った事例をご紹介いたします。
IoTが組み込まれた環境は当たり前になってきており、IoTシステムの効率的な環境構築・運用が求められています。以下を目標としながら、お客様が気軽に利用できる環境を作成してみました。
<実現したいこと>
- モバイルデータ通信サービスを使って、データの収集や各種機器の管理をしたい。
- IoTのセンサーデバイスや各種機器から収集したデータを、クラウド側へセキュアに転送したい。
- 多数のデバイス・機器の状態を統合的に可視化、分析、管理したい。
- 上記を実現する各種サービスの構築を素早く、かつ簡易に行いたい。
背景
増加するIoTデバイスを簡易に組み込んで管理することが必要
お客様の課題解決のために、IoTユースケースでは以下の機能が求められています。
- IoTデバイスにeSIMを組み込み、モバイルデータ通信サービスを利用してクラウドへ簡単にセキュアに接続する機能
- IoTデバイスの状態の可視化、分析、管理などを統合的に行う機能
上記を以下の3つのサービスを利用して実現します。
- IoT Connect Mobile® Type S: eSIM採用のモバイルデータ通信サービス
- IoT Connect Gateway: IoTのセンサーデバイスなどから収集したデータの転送を簡単・セキュアに実現
- Things Cloud®: 多様なセンサー/デバイス接続からのデータ収集、可視化、分析、管理などのIoTに必要な機能をパッケージ化
機能実現するには複数のサービスを組合せて構築することが必要
3つのサービスを申し込んだ後、IoT機能を実現するには複数の手順を実施する必要があります。今回の取り組みでは、速やかに機能実現するために手順をなるべく効率化し、簡易に機能実現できる仕組み作りを行いました。
- IaCツールを活用して、各種IoTサービスの設定を自動構築する
- TerraformやAnsible、各サービスのAPIを活用して自動構築に必要な設定ファイル、コードを作成する
上記の実現のため、以下のサービスやツールを利用しています。
- Azure DevOps: Microsoft Azureサービスの1つで、開発を計画的かつ効率的に行うためのツール群を提供
- Terraform: HashiCorp社が開発する、インフラ環境をコードとして管理・自動構築できるツール
- Ansible: レッドハット社により開発されている、構成管理やOS・ソフトウェアの設定を自動化するツール
- Azure CLI: Azureリソースを作成・管理するためのコマンドセット
検証を通じた確認
実際に検証を行った構成
上記背景を基に、IoT機能実現の効率化を図る環境として以下2つの構成について検証しました。
なお、検証ではIoTデバイスとしてRaspberry Piを利用しました。
構成(IoTデバイス→IoT Connect Gateway→Things Cloud)
- 室内の温湿度データをセンサで計測し、IoTデバイスでデータを受け取ります。
- NTT CommunicationsのモバイルサービスであるIoT Connect Mobile® Type Sのモバイルネットワークを利用し、IoTデバイスからIoT Connect Gatewayに温湿度データを送信します。
- IoT Connect Gatewayのプロトコル変換機能を利用してMQTTからMQTTSにプロトコルを変換し、Things Cloudに暗号化された温湿度データを転送します。
- Things Cloudのデータ表示機能を活用し、温湿度データをグラフに表示します。
構成(IoTデバイス→IoT Connect Gateway→Azure IoT Hub)
- 室内の温湿度データをセンサで計測し、IoTデバイスでデータを受け取ります。
- NTT CommunicationsのモバイルサービスであるIoT Connect Mobile® Type Sのモバイルネットワークを利用し、IoTデバイスからIoT Connect Gatewayに温湿度データを送信します。
- IoT Connect Gatewayのプロトコル変換機能を利用してMQTTからMQTTSにプロトコルを変換し、Azure IoT Hubに暗号化された温湿度データを転送します。
実際に検証してみた
Azure DevOpsを活用したThings Cloudの環境構築と検証
Azure DevOpsを用いてIoT Connect GatewayとThings Cloudの設定を自動化した上で、温湿度センサで取得したデータをIoTデバイスからIoT Connect Gateway経由でThings Cloudにデータ転送し、そのデータをThings Cloud上で可視化する検証を実施しました。
Azure DevOpsを活用したAzure IoT Hubの環境構築と検証
Azure DevOpsを用いてIoT Connect GatewayとAzure IoT Hubの設定を自動化した上で、温湿度センサで取得したデータをIoTデバイスからIoT Connect Gateway経由でAzure IoT Hubにデータを転送する検証を実施しました。
確認後の具体的な気付きポイント
IoT Connect Gateway
今回の構成ではIoTデバイスからIoT Connect Gateway経由で各種クラウドサービスにデータの転送をしましたが、その間の通信プロトコル変換(MQTT→MQTTS)をIoT Connect Gatewayの設定のみで簡単に行うことができました。IoTデバイス側でSSL設定をせずに、プロトコル変換によりSSL通信を実現できる点において有用性が高いと感じました。また、プロトコル変換によりIoTデバイス側のSSL通信分のトラフィックが削減されるため、通信量やIoTデバイスの負荷軽減にもなると考えております。
Things Cloud
今回の検証でThings Cloudを用いて温湿度データの可視化を実現しましたが、他にも受け取ったデータで異常値が発生した場合、任意のメールアドレスに自動的にアラートメールを送信することも可能です。
また、本記事では温湿度センサを用いた環境について紹介しておりますが、他にもGPSセンサから取得したデータをThings Cloudに転送することで、Things CloudのマップからIoTデバイスの位置情報の確認もできます。以下の図はIoTデバイスの位置情報をThings Cloudで確認している画面です。
具体的な構成例や設定例の見える化
具体的な構成例や設定例、注意点等の知見についてはKnowledge Centerにて記載しておりますのでご確認ください。記載している情報は2022年5月時点の情報となります。
- 具体的な構成例・設定例
- 各種サービス
最後に
今回の検証ではIoTデバイスをクラウドサービスへ登録する作業や、利用するクラウドサービスの設定を自動化しました。今後は、IoTデバイスの追加・変更・削除等の運用を想定した作業を自動化する検証を進めていきます。
「ここの記載がわかりにくい」等のご意見や、「SDPFでこんなことができないか」等の疑問がありましたら、以下メールアドレスに対してお気軽にコメント等ご連絡ください。
sdpf-testbed-02@ntt.comにメールを送る
※お手数ですが@を全角文字から半角文字に置き換えてください。