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 | 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 | サンプル | リファレンス |
IoT Hub 組み込みデバイスの SDK の詳細については、IoT デバイス開発に関するドキュメントを参照してください。
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 | リファレンス |
Note
この記事で言及されている一部の機能 (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) 更新プログラムをデプロイするのに役立ちます。
次のステップ
IoT Hub デバイスの SDK を使用して接続と信頼できるメッセージングを管理する方法について説明します。