Azure IoT设备和服务 SDK

下表列出了可用于生成 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 生命周期和支持策略

包生命周期

包将按以下类别发布。 每个类别都有一个已定义的支持结构。

  1. Beta - 也称为预览版或候选发布。 可供早期访问,或出于反馈目的访问,不建议在生产环境中使用。 预览版支持仅限于GitHub问题。 预览版通常生存不到六个月,之后它们要么弃用,要么作为活动版本发布。

  2. 活动 - 正式发布且完全受支持,可接收新功能更新以及 bug 和安全修复。 我们建议客户使用最新版本,因为它们会收到修补程序和更新。

  3. 已弃用 - 由较新版本取代。 弃用是在新版本变为活动状态的同时发生的。 弃用的版本会处理接下来 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 CLIPowerShellREST 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 引用

后续步骤

建议执行的后续步骤包括: