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 サンプル リファレンス
Azure RTOS 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 は、次のサービスでも利用できます。

次のステップ

IoT Hub デバイスの SDK を使用して接続と信頼できるメッセージングを管理する方法について説明します。