Azure IoT Hub SDK

IoT ハブを操作するための、以下の 3 つのカテゴリーのソフトウェア開発キット (SDK) があります。

  • IoT Hub Device SDK を利用すると、デバイス クライアントまたはモジュール クライアントを使用して、IoT デバイス上で実行するアプリをビルドできます。 これらのアプリは IoT Hub にテレメトリを送信し、必要に応じて IoT Hub からメッセージ、ジョブ、メソッド、ツインの更新を受信します。 これらの SDK を使用して、Azure IoT プラグ アンド プレイの規則およびモデルを使用するデバイス アプリをビルドし、IoT プラグ アンド プレイ対応アプリケーションにその機能を提供することができます。 また、モジュール クライアントを使用して、Azure IoT Edge ランタイム用のモジュールを作成することもできます。

  • IoT Hub Service SDK を利用すると、IoT ハブを管理するバックエンド アプリケーションをビルドできます。また、必要に応じて、メッセージを送信し、ジョブのスケジュールを設定し、ダイレクト メソッドを呼び出し、IoT デバイスまたはモジュールに必要なプロパティの更新情報を送信できます。

  • IoT Hub 管理 SDK は、Azure サブスクリプション内の IoT ハブを管理するバックエンド アプリケーションを構築するのに役立ちます。

また、Microsoft では、Device Provisioning Service のバックエンド サービスを介してデバイスをプロビジョニングし、構築するための SDK のセットも提供しています。 詳細については、「IoT Hub Device Provisioning Service 用 Microsoft SDK」を参照してください。

Azure IoT SDK を使用した開発の利点について、詳細を説明します。

Azure IoT Hub Device SDK

Microsoft Azure IoT device SDK には、Azure IoT Hub サービスに接続および管理されるアプリケーションの構築を容易にするコードが含まれています。 これらの SDK は、PC、タブレット、スマートフォン、Raspberry Pi などの一般的な MPU ベースのコンピューティング デバイスで実行できます。 SDK では、C と、最新のマネージド言語 (C#、Node.JS、Python、Java など) での開発がサポートされます。

SDK は複数の言語で利用できるため、チームとシナリオに最適な SDK を柔軟に選択できます。

Language Package source クイックスタート サンプル リファレンス
.NET NuGet GitHub クイック スタート サンプル リファレンス
Python pip GitHub クイック スタート サンプル リファレンス
Node.js npm  GitHub クイック スタート サンプル リファレンス
Java Maven GitHub クイック スタート サンプル リファレンス
C packages GitHub クイック スタート サンプル リファレンス

警告

上記の C SDK は、そのメモリ管理とスレッド モデルが原因で、埋め込みアプリケーションには適していません。 組み込みデバイスについては、「組み込みデバイスの SDK」を参照してください。

組み込みデバイスの SDK

これらの SDK は、コンピューティングとメモリのリソースが限られているデバイスで実行するように設計および作成されており、C 言語を使用して実装されています。

組み込みデバイスの SDK は複数のオペレーティング システムで使用できるため、チームとシナリオに最適な SDK を柔軟に選択できます。

RTOS SDK source サンプル リファレンス
Azure RTOS Azure RTOS ミドルウェア GitHub クイック スタート リファレンス
FreeRTOS FreeRTOS ミドルウェア GitHub サンプル リファレンス
ベアメタル Azure SDK for Embedded C GitHub サンプル リファレンス

IoT Hub Device SDK の詳細については、IoT デバイス開発に関するドキュメントを参照してください。

Azure IoT Hub Service SDK

Azure IoT サービス SDK には、IoT Hub と直接やりとりしてデバイスやセキュリティを管理するアプリケーションの作成を容易にするコードが含まれています。

プラットフォーム Package コード リポジトリ サンプル リファレンス
.NET NuGet GitHub サンプル リファレンス
Java Maven GitHub サンプル リファレンス
Node npm GitHub サンプル リファレンス
Python pip GitHub サンプル リファレンス

Azure IoT Hub 管理 SDK

IoT Hub 管理 SDK は、Azure サブスクリプション内の IoT ハブを管理するバックエンド アプリケーションを構築するのに役立ちます。

プラットフォーム パッケージ コード リポジトリ リファレンス
.NET NuGet GitHub リファレンス
Java Maven GitHub リファレンス
Node.js npm GitHub リファレンス
Python pip GitHub リファレンス

SDK とハードウェアの互換性

特定のハードウェア デバイスとの デバイス SDK の互換性の詳細については、Azure Certified for IoT デバイス カタログまたは個々のリポジトリを参照してください。

注意

この記事で言及されている一部の機能 (cloud-to-device メッセージング、デバイス ツイン、デバイス管理など) は、IoT Hub の Standard レベルだけで使用することができます。 IoT Hub の Basic レベルおよび Standard レベルの詳細については、適切な IoT Hub レベルの選び方に関するページを参照してください。

Azure IoT SDK は、次のサービスでも利用できます。

次のステップ