Azure IoT Hub SDK
IoT Hub には、デバイスおよびバックエンド アプリケーションの構築に役立つ 3 つのカテゴリのソフトウェア開発キット (SDK) が用意されています。
IoT Hub デバイス 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 を使用した開発の利点について、詳細を説明します。
Note
この記事で言及されている一部の機能 (cloud-to-device メッセージング、デバイス ツイン、デバイス管理など) は、IoT Hub の Standard レベルだけで使用することができます。 Basic および Standard または Free レベルの IoT Hub の詳細については、「ソリューションに適した IoT Hub のレベルを選択する」を参照してください。
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 | IoT Hub への接続 | サンプル | リファレンス |
Python | pip | GitHub | IoT Hub への接続 | サンプル | リファレンス |
Node.js | npm | GitHub | IoT Hub への接続 | サンプル | リファレンス |
Java | Maven | GitHub | IoT Hub への接続 | サンプル | リファレンス |
C | packages | GitHub | IoT Hub への接続 | サンプル | リファレンス |
Java デバイス SDK には Android 用のサンプルが含まれています。
C デバイス SDK には、CocoaPods を使用する iOS 用のサンプルが含まれています。
警告
Azure IoT C SDK は、そのメモリ管理とスレッド モデルが原因で、埋め込みアプリケーションには適していません。 組み込みデバイスの SDK オプションについては、組み込みデバイスの SDK を参照してください。
IoT Hub デバイスの SDK の詳細については、IoT デバイス開発に関するドキュメントを参照してください。
組み込みデバイスの SDK
これらの SDK は、コンピューティングとメモリのリソースが限られているデバイスで実行するように設計および作成されており、C 言語を使用して実装されています。
組み込みデバイスの SDK は複数のオペレーティング システムで使用できるため、シナリオに最適な SDK を柔軟に選択できます。
RTOS | SDK | source | サンプル | リファレンス |
---|---|---|---|---|
Eclipse ThreadX | Azure RTOS ミドルウェア | GitHub | クイックスタート | リファレンス |
FreeRTOS | FreeRTOS ミドルウェア | GitHub | サンプル | リファレンス |
ベアメタル | Azure SDK for Embedded C | GitHub | サンプル | リファレンス |
Azure IoT Hub Service SDK
Azure IoT サービス SDK には、IoT Hub と直接やりとりしてデバイスやセキュリティを管理するアプリケーションの作成を容易にするコードが含まれています。
プラットフォーム | パッケージ | コード リポジトリ | サンプル | リファレンス |
---|---|---|---|---|
.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 | リファレンス |
関連する Azure IoT サービス用 SDK
Azure IoT SDK は、次のサービスでも利用できます。
IoT Hub Device Provisioning Service 用 SDK: Device Provisioning Service のバックエンド サービスを介してデバイスをプロビジョニングし、構築するのに役立ちます。
Device Update for IoT Hub 用 SDK: IoT デバイスの無線 (OTA) 更新プログラムをデプロイするのに役立ちます。
次のステップ
IoT Hub デバイスの SDK を使用して接続と信頼できるメッセージングを管理する方法について説明します。