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 device 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 Device カタログまたは個々のリポジトリを参照してください。
注意
この記事で言及されている一部の機能 (cloud-to-device メッセージング、デバイス ツイン、デバイス管理など) は、IoT Hub の Standard レベルだけで使用することができます。 Basic および Standard または Free レベルの IoT Hub の詳細については、ソリューションに適した IoT Hub のレベルの選択に関するページを参照してください。
関連する Azure IoT サービス用 SDK
Azure IoT SDK は、次のサービスでも利用できます。
IoT Hub Device Provisioning Service 用 Microsoft SDK: Device Provisioning Service のバックエンド サービスを介してデバイスをプロビジョニングし、構築するのに役立ちます。
Device Update for IoT Hub SDK: IoT デバイスの無線 (OTA) 更新プログラムをデプロイするのに役立ちます。
Microsoft SDKs for IoT Plug and Play: IoT Plug and Play ソリューションの構築に役立ちます。
次のステップ
- IoT Hub SDK を使用して接続と信頼できるメッセージングを管理する方法について説明します。
- iOS や Android などのモバイル プラットフォーム向けの開発方法について説明します。
- SDK なしで開発する方法について説明します。