Azure IoT 设备 SDK 平台支持

Microsoft 致力于持续扩展支持 Azure IoT 中心的设备的应用领域。 Microsoft 在 GitHub 上发布开源设备 SDK,以帮助将设备连接到 Azure IoT 中心和设备预配服务。 设备 SDK 适用于 C、.NET (C#)、Java、Node.js 和 Python。 Microsoft 测试每个 SDK,确保它可以在 Microsoft SDK 和设备平台支持部分中详述的受支持配置中运行。

除了设备 SDK 以外,Microsoft 还提供其他多种途径来使客户和开发人员能够将其设备连接到 Azure IoT:

  • Microsoft 与多家合作伙伴公司协作,以帮助他们基于 Azure IoT C SDK 发布适用于其硬件平台的开发工具包。

  • Microsoft 与其信任的合作伙伴合作,以提供不断扩充的已通过 Azure IoT 测试和认证的设备。 有关这些设备的最新列表,请参阅 Azure IoT 认证设备目录

  • Microsoft 在 Azure IoT 中心设备 C SDK 中提供了平台抽象层 (PAL),帮助开发人员轻松地将 SDK 移植到其平台。 有关详细信息,请参阅 C SDK 移植指南

本主题提供有关 Microsoft SDK 及其支持的平台配置的信息,以及上面列出的其他每个选项。

Microsoft SDK 和设备平台支持

Microsoft 在 GitHub 上发布适用于以下语言的开源 SDK:C、.NET (C#)、Node.js、Java 和 Python。 本部分列出了 SDK 及其依赖项。 满足这些依赖项的任何设备平台都支持这些 SDK。

对于列出的每个 SDK,Microsoft 将会:

  • 在多个流行平台上,针对 GitHub 中的相关 SDK 的主分支持续构建并运行端到端测试。 为了提供覆盖不同编译器版本的测试,我们通常会针对最新的 LTS 版本和最常用的版本进行测试。

  • 在适用的情况下提供安装指南或安装包。

  • 通过开源代码、客户贡献途径,以及产品团队参与 GitHub 问题的解决,来为 GitHub 上的 SDK 提供全面的支持。

C SDK

Azure IoT 中心 C 设备 SDK 已使用以下配置进行测试,并支持这些配置。

操作系统 TLS 库 其他要求
Linux OpenSSL、WolfSSL 或 BearSSL Berkeley 套接字

可移植操作系统接口 (POSIX)
iOS 12.2 OpenSSL 在 OSX 10.13.4 中仿真的 XCode
Windows 10 系列 SChannel
Mbed OS 5.4 Mbed TLS 2 MXChip IoT 开发工具包
Azure Sphere OS WolfSSL Azure Sphere MT3620
Arduino BearSSL ESP32 或 ESP8266

Python SDK

Azure IoT 中心 Python 设备 SDK 已使用以下配置进行测试,并支持这些配置。

操作系统 编译器
Linux Python 2.7.*、3.5 或更高版本
MacOS High Sierra Python 2.7.*、3.5 或更高版本
Windows 10 系列 Python 2.7.*、3.5 或更高版本

只有 Python 3.5.3 或更高版本支持异步 API,我们建议使用 3.7 版或更高版本。

.NET SDK

Azure IoT 中心 .NET (C#) 设备 SDK 已使用以下配置进行测试,并支持这些配置。

操作系统 标准
Linux .NET Core 2.1
Windows 10 桌面版和 Server SKU .NET Core 2.1、.NET Framework 4.5.1 或 .NET Framework 4.7

.NET SDK 还可与包含 Azure 设备代理或包含可使用 RPC 来与 UWP 应用程序通信的自定义 NTService 的 Windows IoT Core 配合使用。

Node.js SDK

Azure IoT 中心 Node.js 设备 SDK 已使用以下配置进行测试,并支持这些配置。

操作系统 Node 版本
Linux LTS 和最新版
Windows 10 系列 LTS 和最新版

Java SDK

Azure IoT 中心 Java 设备 SDK 已使用以下配置进行测试,并支持这些配置。

操作系统 Java 版本
Android API 28 Java 8
Linux x64 Java 8
Windows 10 系列 x64 Java 8

合作伙伴支持的开发工具包

Microsoft 与各行业的合作伙伴合作,为多种微处理器体系结构提供开发工具包。 这些合作伙伴已将 Azure IoT C SDK 移植到其平台。 合作伙伴创建并维护 SDK 的平台抽象层 (PAL)。 Microsoft 与以下合作伙伴合作提供扩展支持。

合作伙伴 设备 链接 支持
Espressif ESP32
ESP8266
Esp-azure GitHub
Qualcomm Qualcomm MDM9206 LTE IoT 调制解调器 Qualcomm LTE for IoT SDK(用于 IoT SDK 的 Qualcomm LTE) 论坛
ST Microelectronics STM32L4 系列
STM32F4 系列
STM32F7 系列
用于 IoT 节点的 STM32L4 发现包
X-CUBE-AZURE

P-NUCLEO-AZURE
FP-CLD-AZURE
支持
Texas Instruments CC3220SF LaunchPad
CC3220S LaunchPad
CC3235SF LaunchPad
CC3235S LaunchPad
MSP432E4 LaunchPad
适用于 SimpleLink 的 Azure IoT 插件 TI E2E 论坛
CC3220 的 TI E2E 论坛
MSP432E4 的 TI E2E 论坛

移植 Microsoft Azure IoT C SDK

如果前面的部分未提到你所用的设备平台,你可以考虑移植 Azure IoT C SDK。 移植 C SDK 主要涉及到实现 SDK 的平台抽象层 (PAL)。 PAL 定义基元,基元用于衔接设备与 SDK 中的较高级功能。 有关详细信息,请参阅移植指南

Microsoft 合作伙伴和认证的 Azure IoT 设备

Microsoft 与许多合作伙伴合作,通过 Azure IoT 测试和认证的设备持续扩展 Azure IoT 的应用领域。

在不使用 SDK 的情况下连接到 IoT 中心

如果无法使用其中一个 IoT 中心设备 SDK,可以使用受支持的通信协议直接连接到 IoT 中心。 若要了解详细信息,请参阅在不使用 Azure IoT SDK 的情况下进行开发

支持和其他资源

如果在使用 Azure IoT 设备 SDK 时遇到问题,可通过以下总结的多种方式寻求支持。

报告 bug – 可在相关 GitHub 项目的“问题”页上报告设备 SDK 中的 Bug。 修复很快就会从项目实施到产品更新中。

Microsoft 客户支持团队 – 拥有 支持计划的用户可以通过直接从 Azure 门户创建新的支持请求来与 Microsoft 客户支持团队进行沟通。

功能请求 – 我们会通过产品的 User Voice 页跟踪 Azure IoT 功能请求。

后续步骤