IoT Hub Device Provisioning Service 用 Microsoft SDK

Azure IoT Hub Device Provisioning Service (DPS) は、IoT Hub のヘルパー サービスです。 DPS パッケージで提供される SDK は、DPS を利用して 1 つ以上の IoT ハブにゼロタッチの Just-In-Time プロビジョニングを提供するバックエンド アプリケーションとデバイス アプリケーションを構築するのに役立ちます。 SDK は、さまざまな一般的な言語で公開され、デバイスまたはバックエンド アプリと DPS の間の基になるトランスポートとセキュリティ プロトコルを処理するため、開発者はアプリケーション開発に集中できます。 さらに、SDK を使うと、セキュリティ更新プログラムなど、DPS への将来の更新プログラムがサポートされます。

DPS 用として、3 つのカテゴリのソフトウェア開発キット (SDK) があります。

  • DPS デバイス SDK は、デバイスに関するデータ プレーンの操作を提供します。 DPS でデバイスをプロビジョニングするには、デバイス SDK を使います。

  • DPS サービス SDK は、バックエンド アプリに関するデータ プレーンの操作を提供します。 サービス SDK を使うと、個々の登録や登録グループを作成して管理したり、デバイス登録レコードのクエリと管理を行うことができます。

  • DPS 管理 SDK は、バックエンド アプリに関するコントロール プレーンの操作を提供します。 管理 SDK を使うと、DPS のインスタンスとメタデータを作成および管理できます。 たとえば、サブスクリプションでの DPS インスタンスの作成と管理、DPS インスタンスでの証明書のアップロードと検証、DPS インスタンスでの認可ポリシーや割り当てポリシーの作成と管理などです。

DPS SDK は、IoT ハブにデバイスをプロビジョニングするのに役立ちます。 Microsoft からは、Azure IoT Hub と直接通信するデバイス アプリやバックエンド アプリの構築に役立つ SDK のセットも提供されています。 たとえば、プロビジョニングされたデバイスで IoT ハブにテレメトリを送信したり、必要に応じて、メッセージやジョブ、メソッド、またはツインの更新プログラムを IoT ハブから受け取ったりできます。 詳しくは、「Azure IoT Hub SDK」をご覧ください。

デバイスの SDK

DPS デバイス SDK は、DPS を介したプロビジョニングのためにデバイスが呼び出す Register API やその他の実装を提供します。 デバイス SDK は、PC、タブレット、スマートフォン、Raspberry Pi などの一般的な MPU ベースのコンピューティング デバイスで実行できます。 SDK では、C と、最新のマネージド言語 (C#、Node.JS、Python、Java など) での開発がサポートされます。

プラットフォーム パッケージ コード リポジトリ サンプル クイックスタート リファレンス
.NET NuGet GitHub サンプル クイックスタート 参照
C apt-get、MBED、Arduino IDE、または iOS GitHub サンプル クイックスタート リファレンス
Java Maven GitHub サンプル クイックスタート リファレンス
Node.js npm GitHub サンプル クイックスタート リファレンス
Python pip GitHub サンプル クイックスタート リファレンス

警告

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

組み込みデバイスの SDK

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

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

IoT SDK のデバイス SDK と埋め込みデバイス SDK の詳細について説明します。

サービス SDK

DPS サービス SDK は、DPS インスタンスの登録と登録レコードを管理するためのバックエンド アプリケーションを構築するのに役立ちます。

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

Management SDK

DPS 管理 SDK は、Azure サブスクリプション内の DPS インスタンスとそのメタデータを管理するバックエンド アプリケーションを構築するのに役立ちます。

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

次のステップ

Device Provisioning Service のドキュメントには、SDK とライブラリを試すのに使えるチュートリアル追加のサンプルが用意されています。