Microsoft SDK for IoT 中樞 Device Provisioning Service

Microsoft 的 IoT 中樞 裝置配置服務(DPS)SDK 協助您建構裝置與後端應用程式,將物聯網裝置配置至一個或多個物聯網樞紐。 SDK 負責裝置或後端應用程式與 DPS 之間的底層傳輸與安全協議,讓你能專注於應用程式開發。 透過使用 SDK,你可以獲得未來 DPS 更新的支援,包括安全更新。 本文說明了三種 SDK 類別,列出以流行語言發表的 DPS SDK,並提供 SDK 參考資料、範例及快速入門連結。

這很重要

IoT 中樞 中的憑證管理屬於 preview,且僅支援以下 DPS 裝置 SDK:Embedded C(裸機、自由 RTOS)、C 及 Python。 IoT 中樞 SDK 不支援這個功能。 欲了解更多資訊,請參閱《 什麼是證書管理?》

SDK 分類

軟體開發套件(SDK)有三類與 DPS 合作:

  • DPS 裝置 SDK 提供裝置的資料平面作業。 使用 Device SDK 透過 DPS 配置裝置。

  • DPS 服務 SDK 提供後端應用程式的資料平面作業。 使用服務 SDK 來建立和管理個別的註冊與註冊群組,並查詢和管理裝置註冊紀錄。

  • DPS 管理 SDK 可為後端應用程式提供控制平面作業。 使用管理 SDK 來建立和管理 DPS 實例與元資料。 例如,可以用它們在訂閱中建立和管理 DPS 實例,上傳並驗證 DPS 實例的憑證,或是在 DPS 實例中建立和管理授權政策或配置政策。

DPS SDK 可協助將裝置佈建至 IoT 中樞。 Microsoft 也提供一套 SDK 幫助你打造直接與 Azure IoT 中樞 通訊的裝置應用程式和後端應用程式。 例如,為了協助布建的裝置將遙測傳送至IoT中樞,以及選擇性地從IoT中樞接收訊息和作業、方法或對應項更新。 欲了解更多,請參閱 Azure IoT 中樞 SDKs

裝置 SDK

DPS 裝置 SDK 允許您的裝置註冊 DPS 並接收其物聯網樞紐指派。 利用裝置 SDK 實作裝置端配置,使用對稱金鑰、X.509 憑證或 TPM 證明。 平台裝置 SDK 適用於運行完整作業系統的裝置,而嵌入式裝置 SDK 則適用於資源有限且基於微控制器的裝置。

平台裝置 SDK

DPS 裝置 SDK 提供登錄 API 實作,以及裝置透過 DPS 呼叫佈建的其他實作。 這些裝置 SDK 可以在一般以 MPU 為基礎的計算裝置上執行,例如電腦、平板電腦、智慧型手機或 Raspberry Pi。 SDK 支援以 C 語言及現代管理語言開發,包括 C#、Node.js、Python 和 Java。

下表列出每種支援語言可用的裝置 SDK。

平台 套件 程式碼存放庫 範例 快速入門 參考
.NET NuGet GitHub Samples 快速入門 參考
C apt-get、MBED、Arduino IDE 或 iOS GitHub Samples 快速入門 參考
JAVA Maven GitHub Samples 快速入門 參考
Node.js npm \(英文\) GitHub Samples 快速入門 參考
Python pip GitHub Samples 快速入門 參考

警告

列於上方的 C SDK「不」適合內嵌應用程式,原因在於其記憶體管理和執行緒模式。 針對內嵌裝置,請參閱內嵌裝置 SDK

憑證管理裝置 SDK(預覽版)

下表列出目前支援 Microsoft 支援 X.509 憑證管理的平台 SDK。

語言 套件 來源/分支 範例
.NET NuGet Azure/azure-iot-sdk-csharp at feature/iot-csr-preview CertificateSigningRequestSample
Python pip Azure/azure-IoT-SDK-Python at feature/IoT-csr-preview cert-mmmt範例
Node.js npm \(英文\) 無法提供 無法提供
JAVA Maven Azure/azure-IoT-SDK-Java at feature/csr certificate-signing-sample
C packages Azure/azure-IoT-sdk-c at feature/dps-csr-preview iothub_ll_client_sample_certificate_signing_request

內嵌裝置 SDK

這些 SDK 的設計和建立目的是為了在計算和記憶體資源有限的裝置上執行,且其實作會使用 C 語言。

RTOS SDK 來源 範例 參考
Eclipse ThreadX Azure RTOS Middleware GitHub 快速入門 參考
FreeRTOS FreeRTOS 中介軟體 GitHub Samples 參考
裸金屬 Azure SDK for Embedded C GitHub Samples 參考

深入瞭解IoT SDK中的裝置和內嵌裝置 SDK。

憑證管理嵌入式裝置 SDK(預覽版)

下表列出目前支援 Microsoft 支援 X.509 憑證管理的嵌入式 SDK。

RTOS SDK 來源 範例
FreeRTOS FreeRTOS 中介軟體 Azure/azure-iot-middleware-freertos at feature/dps-csr-preview 無法提供
裸金屬 Azure SDK for Embedded C Azure/azure-sdk-for-c at feature/dps-csr-preview paho_iot_hub_csr_sample.c

服務 SDK

DPS 服務 SDK 可協助您建置後端應用程式以管理 DPS 執行個體中的註冊和登錄記錄。

平台 套件 程式碼存放庫 範例 快速入門 參考
.NET NuGet GitHub Samples 快速入門 參考
JAVA Maven GitHub Samples 快速入門 參考
Node.js npm \(英文\) GitHub Samples 快速入門 參考

管理 SDK

DPS 管理 SDK 幫助你建立後端應用程式,管理 Azure 訂閱中的 DPS 實例及其元資料。

平台 套件 程式碼存放庫 參考
.NET NuGet GitHub 參考
JAVA Maven GitHub 參考
Node.js npm \(英文\) GitHub 參考
Python pip GitHub 參考

下一步

裝置布建服務檔提供教學課程和其他範例,可供您用來試用SDK和連結庫。