Azure IoT SDK
下表列出可用來建置 IoT 解決方案的各種 SDK。
裝置 SDK
Microsoft Azure IoT 裝置 SDK 包含有助於建置應用程式的程式碼,並使裝置和應用程式連線到 Azure IoT 中心服務,且由其進行管理。 這些 SDK 可以在一般以 MPU 為基礎的計算裝置上執行,例如電腦、平板電腦、智慧型手機或 Raspberry Pi。 SDK 支援以 C 和現代受控語言開發,這些語言包括 C#、Node.JS、Python 和 JAVA。
SDK 支援多種語言,可提供彈性來讓您選擇最適合自己小組和案例的語言。
Language | Package | 來源 | 快速入門 | 範例 | 參考 |
---|---|---|---|---|---|
.NET | NuGet (英文) | GitHub | 連線到 IoT 中樞 | 範例 | 參考 |
Python | pip | GitHub | 連線到 IoT 中樞 | 範例 | 參考 |
Node.js | npm \(英文\) | GitHub | 連線到 IoT 中樞 | 範例 | 參考 |
Java | Maven | GitHub | 連線到 IoT 中樞 | 範例 | 參考 |
C | packages | GitHub | 連線到 IoT 中樞 | 範例 | 參考 |
Java 裝置 SDK 包含 Android 的範例。
C 裝置 SDK 包含使用 CocoaPods 的 iOS 範例。
警告
Azure IoT C SDK 不適用於內嵌應用程式,因為其記憶體管理和執行緒模型。 如需內嵌裝置 SDK 選項,請參閱內嵌裝置 SDK。
使用裝置 SDK 開發程式碼,以在連線到 IoT 中樞或 IoT Central 的 IoT 裝置上執行。
若要深入了解如何使用裝置 SDK,請參閱什麼是 Azure IoT 裝置和應用程式開發?。
內嵌裝置 SDK
這些 SDK 的設計和建立目的是為了在計算和記憶體資源有限的裝置上執行,且其實作會使用 C 語言。
內嵌裝置 SDK 適用於多個作業系統,其提供的彈性可讓您選擇最適合您的案例的裝置 SDK。
RTOS | SDK | 來源 | 範例 | 參考 |
---|---|---|---|---|
Eclipse ThreadX | Azure RTO 中介軟體 | GitHub | 快速入門 | 參考 |
FreeRTOS | FreeRTOS 中介軟體 | GitHub | 範例 | 參考 |
Bare Metal | 適用於內嵌 C 的 Azure SDK | GitHub | 範例 | 參考 |
使用內嵌裝置 SDK 開發程式碼,以在連線到 IoT 中樞或 IoT Central 的 IoT 裝置上執行。
若要深入了解何時使用內嵌裝置 SDK,請參閱 C SDK 和內嵌 C SDK 使用方式情節。
裝置 SDK 生命週期和支援
本節摘要說明 Azure IoT 裝置 SDK 生命週期和支援原則。 如需詳細資訊,請參閱 Azure SDK 生命週期和支援原則。
套件生命週期
套件會以下列類別發行。 每個類別都有一個定義的支持結構。
搶鮮版 (Beta):也稱為預覽或候選版。 適用於早期存取和意見反應用途,不建議用於生產環境。 預覽版本支援僅限於 GitHub 問題。 預覽版本通常可存活不到六個月的時間,之後會遭到淘汰或發行為作用中版本。
作用中:正式推出且完全支援、接收新功能更新,以及 Bug 和安全性修正。 我們建議客戶使用最新版本,因為該版本會收到修正和更新。
已取代:由較新版本取代。 取代會在新版本變成作用中時同時發生。 已取代的版本可解決未來 12 個月最重要的 BUG 修正和安全性修正。
取得支援
如果您在使用 Azure IoT SDK 時遇到問題,有幾種方式可以尋求支援:
報告 BUG:所有客戶都可以在與相關 SDK 相關聯的 GitHub 存放庫問題頁面上回報 BUG。
Microsoft 客戶支援小組 – 具有支援方案的任何使用者都可以接從 Azure 入口網站建立支援票證,與 Microsoft 客戶支援小組互動。
IoT 中心服務 SDK
Microsoft Azure IoT 服務 SDK 包含可協助建置應用程式的程式碼,這些應用程式可直接與「IoT 中樞」互動來管理裝置和安全性。
平台 | 套件 | 程式碼存放庫 | 範例 | 參考 |
---|---|---|---|---|
.NET | NuGet (英文) | GitHub | 範例 | 參考 |
Java | Maven | GitHub | 範例 | 參考 |
節點 | npm \(英文\) | GitHub | 範例 | 參考 |
Python | pip | GitHub | 範例 | 參考 |
若要深入了解如何使用服務 SDK 透過 IoT 中樞與裝置進行互動,請參閱 IoT 隨插即用服務開發人員指南。
IoT 中樞管理 SDK
IoT 中樞管理 SDK 可協助您建置後端應用程式,其會管理 Azure 訂用帳戶中的 IoT 中樞。
平台 | 套件 | 程式碼存放庫 | 參考 |
---|---|---|---|
.NET | NuGet (英文) | GitHub | 參考 |
Java | Maven | GitHub | 參考 |
Node.js | npm \(英文\) | GitHub | 參考 |
Python | pip | GitHub | 參考 |
管理 SDK 的替代方案包括 Azure CLI、PowerShell 和 REST API。
DPS 裝置 SDK
DPS 裝置 SDK 提供登錄 API 實作,以及裝置透過 DPS 呼叫佈建的其他實作。 這些裝置 SDK 可以在一般以 MPU 為基礎的計算裝置上執行,例如電腦、平板電腦、智慧型手機或 Raspberry Pi。 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。
DPM 內嵌裝置 SDK
這些 SDK 的設計和建立目的是為了在計算和記憶體資源有限的裝置上執行,且其實作會使用 C 語言。
RTOS | SDK | 來源 | 範例 | 參考 |
---|---|---|---|---|
Eclipse ThreadX | Azure RTO 中介軟體 | GitHub | 快速入門 | 參考 |
FreeRTOS | FreeRTOS 中介軟體 | GitHub | 範例 | 參考 |
Bare Metal | 適用於內嵌 C 的 Azure SDK | GitHub | 範例 | 參考 |
深入瞭解IoT SDK中的裝置和內嵌裝置 SDK。
DPM 服務 SDK
DPS 服務 SDK 可協助您建置後端應用程式以管理 DPS 執行個體中的註冊和登錄記錄。
平台 | 套件 | 程式碼存放庫 | 範例 | 快速入門 | 參考 |
---|---|---|---|---|---|
.NET | NuGet (英文) | GitHub | 範例 | 快速入門 | 參考 |
Java | Maven | GitHub | 範例 | 快速入門 | 參考 |
Node.js | npm \(英文\) | GitHub | 範例 | 快速入門 | 參考 |
DPM 管理 SDK
DPS 管理 SDK 可協助您建置後端應用程式以管理 Azure 訂用帳戶中的 DPS 執行個體和其中繼資料。
平台 | 套件 | 程式碼存放庫 | 參考 |
---|---|---|---|
.NET | NuGet (英文) | GitHub | 參考 |
Java | Maven | GitHub | 參考 |
Node.js | npm \(英文\) | GitHub | 參考 |
Python | pip | GitHub | 參考 |
Azure Digital Twins 控制平面 API
控制平面 API 是用來管理整個 Azure Digital Twins 執行個體的 ARM API,因此它們涵蓋了建立或刪除整個執行個體等操作。 您還將使用這些 API 來建立和刪除端點。
若要直接呼叫 API,請參考控制平面 Swagger 存放庫中的最新 Swagger 資料夾。 此資料夾也包含顯示使用量的範例資料夾。
以下是 Azure Digital Twins 控制平面 API 目前可用的 SDK。
Azure Digital Twins 資料平面 API
資料平面 API 是用來管理 Azure Digital Twins 執行個體內元素的 Azure Digital Twins API。 它們包括建立路由、上傳模型、建立關聯性及管理對應項等作業,可廣泛分成下列類別:
DigitalTwinModels
- DigitalTwinModels 類別包含用來管理 Azure Digital Twins 執行個體中模型的 API。 管理活動包括上傳、驗證、擷取和刪除 DTDL 中撰寫的模型。DigitalTwins
- DigitalTwins 類別包含可讓開發人員在 Azure Digital Twins 執行個體中建立、修改和刪除數位對應項及其關聯性的 API。Query
- 查詢類別可讓開發人員跨多個關聯性,在對應項圖表中尋找數位對應項集合。Event Routes
- 事件路由類別包含可透過系統和下游服務來路由資料的 API。Import Jobs
- 匯入作業 API 可讓您管理長時間執行的非同步動作,以大量匯入模型、對應項和關聯性。Delete Jobs
- 刪除作業 API 可讓您管理長時間執行的非同步動作,以刪除執行個體中的所有模型、對應項和關聯性。
若要直接呼叫 API,請參考資料平面 Swagger 存放庫中的最新 Swagger 資料夾。 此資料夾也包含顯示使用量的範例資料夾。 您也可以檢視資料平面 API 參考文件。
以下是 Azure Digital Twins 資料平面 API 目前可用的 SDK。
下一步
建議的後續步驟包括: