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 とライブラリを試すのに使えるチュートリアルと追加のサンプルが用意されています。