下表列出了可用于生成 IoT 解决方案的各种 SDK。
设备 SDK
Azure IoT 设备 SDK 包含的代码可帮助构建连接到 Azure IoT 中心服务并由这些服务管理的应用程序。 这些 SDK 可以在基于 MPU 的常规计算设备上运行,例如电脑、平板电脑、智能手机或 Raspberry Pi。 SDK 支持使用 C 和新式托管语言(包括 C#、Node.JS、Python 和 Java)进行开发。
SDK 支持多种语言,你可以灵活地选择其中最适合团队和方案的一种。
| 语言 | Package | Source | Samples | 引用 |
|---|---|---|---|---|
| .NET | NuGet | GitHub | 示例 | 引用 |
| Python | pip | GitHub | 示例 | 引用 |
| Node.js | npm | GitHub | 示例 | 引用 |
| Java | Maven | GitHub | 示例 | 引用 |
| C | 软件包 | GitHub | 示例 | 引用 |
Java 设备 SDK 包含Android 示例。
C 设备 SDK 包含使用 CocoaPods 的 iOS 示例。
Warning
Azure IoT C SDK 因其内存管理和线程模型而不适合嵌入式应用程序。 关于嵌入式设备的 SDK 选项,请查看相关的开发套件。
使用设备 SDK 开发代码,以在连接到 IoT Hub 或 IoT Central 的 IoT 设备上运行。
嵌入式设备 SDK
这些 SDK 是为在计算和内存资源有限的设备上运行而设计和创建的,并且使用 C 语言来实现。
嵌入式设备 SDK 支持多种操作系统,你可以灵活地选择其中最适合方案的一种。
| RTOS | SDK | Source | Samples | 引用 |
|---|---|---|---|---|
| Eclipse ThreadX | Azure RTOS 中间件 | GitHub | 引用 | |
| FreeRTOS | FreeRTOS 中间件 | GitHub | 示例 | 引用 |
| 裸机 | 适用于嵌入式 C 的 Azure SDK | GitHub | 示例 | 引用 |
使用嵌入式设备 SDK 开发代码,以在连接到 IoT Hub 或 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 Hub服务 SDK
Azure IoT 服务 SDK 包含的代码可帮助生成直接与 IoT 中心进行交互以管理设备和安全性的应用程序。
| 平台 | Package | 代码存储库 | Samples | 引用 |
|---|---|---|---|---|
| .NET | NuGet | GitHub | 示例 | 引用 |
| Java | Maven | GitHub | 示例 | 引用 |
| Node | npm | GitHub | 示例 | 引用 |
| Python | pip | GitHub | 示例 | 引用 |
若要详细了解如何使用服务 SDK 通过 IoT 中心与设备交互,请参阅 IoT Plug and Play 服务开发人员指南。
IoT Hub管理 SDK
IoT 中心管理 SDK 可帮助你生成管理 Azure 订阅中的 IoT 中心的后端应用程序。
| 平台 | Package | 代码存储库 | 引用 |
|---|---|---|---|
| .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 进行预配的其他 API 的实现。 设备 SDK 可以在基于 MPU 的常规计算设备上运行,例如电脑、平板电脑、智能手机或 Raspberry Pi。 SDK 支持使用 C 和新式托管语言(包括 C#、Node.JS、Python 和 Java)进行开发。
下表列出了可用于每个受支持语言的设备 SDK。
| 平台 | Package | 代码存储库 | Samples | 快速入门 | 引用 |
|---|---|---|---|---|---|
| .NET | NuGet | GitHub | 示例 | 快速入门 | 引用 |
| C | apt-get、MBED、Arduino IDE 或 iOS | GitHub | 示例 | 快速入门 | 引用 |
| Java | Maven | GitHub | 示例 | 快速入门 | 引用 |
| Node.js | npm | GitHub | 示例 | 快速入门 | 引用 |
| Python | pip | GitHub | 示例 | 快速入门 | 引用 |
Warning
上述 C SDK 因其内存管理和线程模型不适合嵌入式应用程序 。 对于嵌入式设备,请参阅嵌入式设备 SDK。
DPS 嵌入式设备 SDK
这些 SDK 是为在计算和内存资源有限的设备上运行而设计和创建的,并且使用 C 语言来实现。
| RTOS | SDK | Source | Samples | 引用 |
|---|---|---|---|---|
| FreeRTOS | FreeRTOS 中间件 | GitHub | 示例 | 引用 |
| 裸机 | 适用于嵌入式 C 的 Azure SDK | GitHub | 示例 | 引用 |
DPS 服务 SDK
DPS 服务 SDK 可帮助构建后端应用程序,以便管理 DPS 实例中的注册和注册记录。
| 平台 | Package | 代码存储库 | Samples | 快速入门 | 引用 |
|---|---|---|---|---|---|
| .NET | NuGet | GitHub | 示例 | 快速入门 | 引用 |
| Java | Maven | GitHub | 示例 | 快速入门 | 引用 |
| Node.js | npm | GitHub | 示例 | 快速入门 | 引用 |
DPS 管理 SDK
DPS 管理 SDK 可帮助你生成后端应用程序,用于管理 Azure 订阅中的 DPS 实例及其元数据。
| 平台 | Package | 代码存储库 | 引用 |
|---|---|---|---|
| .NET | NuGet | GitHub | 引用 |
| Java | Maven | GitHub | 引用 |
| Node.js | npm | GitHub | 引用 |
| Python | pip | GitHub | 引用 |
后续步骤
建议执行的后续步骤包括: