データ分析/データベース

Azureサービスを活用してIoTデータの収集・分析を行う手順

さまざまなサービスを備えた Azure IoTソリューションを使用することで、企業は大規模なIoTインフラストラクチャを効率的に構築・管理・運用できます。本記事ではAzure IoT HubをはじめとするAzure IoTサービスの一部の紹介と、それらを用いたIoTデータの収集・分析の手順を解説します。

Azureサービスを活用してIoTデータの収集・分析を行う手順

IoTデータの収集・分析に活用できるAzureのサービス

AIやDevOpsをはじめ、Microsoft Azureには最新の技術に対応した様々なサービスがありますが、その中のひとつにIoTインフラストラクチャの構築や管理運用に役立つソリューション「Azure IoT」もあります。Azure IoTを選択することで、セキュリティ対策やシステムの統合など、多くのメリットを得ることができます。

そんなAzure IoTに含まれる数多くの機能を活用することで、無数のIoTデバイスとIoTネットワークで繋がり、そこからビジネスに役立つデータの収集・分析ができます。Azureが提供する主なIoT関連サービスは、以下の通りです。

  • IoTデータを連携するAzure IoT Hub
  • データを保存するAzure Synapse Apache Spark プール と Delta Lake
  • 分析データを可視化するSynapse Notebook

この記事では、それぞれのサービスの詳細について詳しく解説し、実際に導入する際のメリットやポイントをご紹介します。Azureが提供する主なIoT関連サービスの導入を検討する際には、ぜひ参考にしてみてください。

Azure IoT Hubとは?

Azure IoT Hubとは、Azure IoTにおけるサービスの一部で、無数のIoTデバイスと接続し、それらの監視・制御を行うためのソリューションです。何百万にもなるIoTデバイスとバックエンドソリューションを安全に接続できるため、信頼性が高いことが特徴です。以下では、そんなAzure IoT Hubの主な機能を解説します。

Azure IoT Hubの機能

Azure IoT Hubは、クラウドでホストされるIoTサービスのことです。その名の通り、IoTアプリケーションと管理するIoTデバイス間の相互通信を可能にするハブとしての役割を担います。Azure IoT Hubを活用することで、接続されたデバイスからIoTデータを受信したり、各種のコマンドを送信したりすることが可能です。

さらに、Azure IoT Hubにより、スケーラブルなIoTインフラストラクチャの構築も可能です。Azure IoT Hubには数百万台ものIoTデバイスと信頼性の高い通信で同時接続できるので、ビジネスの要件に応じてどこまでもスケールアップできます。 Azure IoT Hubではデバイスごとの 認証管理 をしたり、接続状況や障害などのイベントをリアルタイムで監視・制御したりすることも可能です。

IoTデータの分析・収集に当たっては、Azure IoT Hubを他のサービスと統合して、エンドツーエンドのソリューションを構築することが必要になります。

Azure Synapse Analytics Apache Sparkとは?

Azure IoT Hubには多くの機能があることをご紹介しました。続いては、IoTデータの統合や分析を可能にするAzure Synapse AnalyticsにおけるApache SparkプールとSynapse ノートブックについて詳しく解説します。

Azure Synapse Analyticsとは

Azure Synapse Analyticsとは、エンタープライズのデータウェアハウスやデータレイクとビッグデータ分析を統合する分析サービスのことです。Azure Synapse Analyticsでは サーバーレスまたはプロビジョニングされたリソースを大規模に使用して、自由にデータを分析できます。

Azure Synapse Analyticsは業界最高水準のSQLのApache Sparkを備えており、データレイクの操作や組み込みデータの統合が可能です。Apache Sparkとは、ビッグデータやETL、機械学習などのために活用される最も一般的なオープンソースの高速な統合分析エンジンを意味します。

Azure Synapse Analytics は、SQLのデータウェアハウス、Sparkのビッグデータ分析機能、およびデータ統合技術を組みあわせて統合環境を提供し、両者間および外部データソースからのデータの移動や管理を容易にします。Azure Synapse Analyticを活用することで、構造化データ・非構造化データ問わず、膨大なデータの分析基盤の構築が可能です。

Apache Spark プールとは

Apache Sparkプールは、Azure Synapse Analyticsに実装された機能のひとつで、オープンソースのビッグデータコンピューティング機能を提供します。具体的には、Sparkインスタンスがインスタンス化される際に、コンピューティングリソースの要件や、そこに関連する動作特性を定義する機能です。

Sparkプールはメタデータとしてのみ存在するので、リソースが消費されることはなく、Azure portalでいくつでも作成できます。Sparkプールでは分離コンピューティングオプションや、ノードのサイズ変更などが実行可能です。Azure portalを使うことで、サーバーレス化して利用できます。

Synapse ノートブックとは

Synapseノートブックとは、Azure Synapse Analyticsにおいて、ライブコードの記述や視覚化を行い、それらにテキストをコメントするための機能です。Synapseノートブックではスクリプト全体を実行するのではなく、各セルの出力をテストできます。そのため、何らかのアイデアをテストしようとするとき、Synapseノートブックを利用することは非常に助けになります。

Synapseノートブックの初期設定は簡単で、組み込みのセキュリティ機能を活用してデータを安全に保つことが可能です。 RAWやSQLなどの複数のデータ形式を処理可能で、データの準備、視覚化、機械学習など幅広いシーンで活用されます。 また、組み込みのデータ視覚化機能は多くの時間を節約できるため、データのサブセットを処理するときに便利です。設定作業をせずに使用を開始できるため、データ分析や情報分析を行いたい場合にとても役立ちます。

Azure DatabricksのDelta Lakeとは?

Databricksとは、開発者やデータサイエンティストがビッグデータを高速で分析するために使用するオープンソースのソフトウェアです。その中でも、Azure DatabricksはAzureでの使用に最適化されています。Azure Databricksでは最新のApache Spark環境が即座に利用可能で、さまざまな言語を使ってデータ分析を行えます。

Delta Lakeは、このAzure Databricksにおける既定のストレージ形式で、Databricks Lakehouse Platformにデータとテーブルを格納するために使用されるストレージレイヤーです。 Delta Lakeは Apache Spark APIと完全な互換性を持っており、バッチ操作とストリーミング操作の両方で信頼性の高いパフォーマンスとセキュリティを発揮します。Delta Lakeを活用して構造化データ・非構造化データ・半構造化データを一箇所に集約することで、アクセス性に優れた効率的なデータ分析基盤を構築可能です。

Azureサービスを用いたIoTデータ収集・分析の手順

大まかな手順は以下です。

まず、M5Stick-C (ESP32) のコードに Azure IoT Hub の接続情報を書く必要があるので IoT Hub を先に作成します。

Azure IoT Hub

  1. IoT Hub を作成。
  2. デバイスIDを作成。
  3. ストレージへ保存するためのルールを作成。

M5Stick-C (ESP32)

M5Stick-C とは、espressif 社 が開発したモジュール ESP32 を使った、液晶と RTC が付いたデバイスです。
現在は販売終了して M5StackC Plus が販売されています(2022年12⽉8⽇現在)。

M5StickC Plus — スイッチサイエンス

今回は Grove に温度計(BMP280)を接続します。

  1. azure-sdk-for-c-arduino/readme.md at main · Azure/azure-sdk-for-c-arduino · GitHub から Arduino ⽤ソースコードをダウンロードします。(MIT license)
  2. iot_configs.h を変更します。
    Wi-Fi 、 IoT Hub 、 デバイスIDの設定をします。
  3. 送信データの取得、JSONの作成部分を変更します。

(ついでにログ出⼒と時間取得の部分も少し変更)

Synapse

  1. Synapse を作成します。
  2. Synapse Apache Spark Pool を作成します。
  3. Synapse Studio で Notebook を作成します。

まとめ

Microsoft AzureのIoTソリューションを活用することで、無数のIoTデバイスと接続できるスケーラブルなIoTプラットフォームを構築し、膨大なIoTデータを効率的に収集・分析できます。IoTを活用する際には、ぜひAzureのIoTサービスの導入をご検討ください。

  • fb-button
  • line-button
  • linkedin-button

無料メルマガ

CONTACT

Digital Intelligenceチャンネルへのお問い合わせはこちら

TOP