跳转到主要内容

Microsoft Azure IoT 设备库

项目描述

azure-iot-device

Build Status

Python Azure IoT 设备 SDK 允许 Python 开发者轻松创建与 Azure IoT Hub 生态系统无缝连接的 IoT 设备解决方案。

  • 如果您正在寻找 azure-iot-hub 库,它现在位于 azure-iot-hub-python 存储库中

  • 如果您正在寻找 v1.x.x 客户端库,它现在保留在 v1-deprecated 分支中。

安装库

Azure IoT 设备库可在 PyPI 上找到

pip install azure-iot-device

为了使用库,需要 Python 3.8 或更高版本

使用库

该包的 API 文档可通过 Microsoft Docs 获取。

请参阅我们的快速入门指南,获取使用设备设置和使用IoT Hub的逐步说明。

您还可以查看示例仓库,以查看基本客户端使用的其他示例。

想从正确的方向开始?在开始项目之前,务必了解使用此Python SDK的常见问题

功能

:heavy_check_mark: 可用功能 :heavy_multiplication_x: 计划中但尚未支持的功能 :heavy_minus_sign: 不计划支持*

*不计划支持的功能可能在未来的版本中优先考虑,但目前尚未计划

这些客户端仅支持MQTT协议

IoT Hub 设备客户端

功能 状态 描述
身份验证 :heavy_check_mark 使用受支持的认证连接您的设备到IoT Hub,包括对称密钥、X-509 自签名、证书机构(CA)签名和SASToken。
发送设备到云消息 :heavy_check_mark 通过IoT Hub发送设备到云消息(最大256KB),可选择添加自定义属性。
接收云到设备消息 :heavy_check_mark 接收云到设备消息,并从IoT Hub读取相关自定义和系统属性。
设备孪生 :heavy_check_mark IoT Hub 为您连接到IoT Hub的每个设备持久化一个设备孪生。设备可以执行获取孪生标签、订阅所需属性等操作。
直接方法 :heavy_check_mark IoT Hub 允许您从云中调用设备上的直接方法。SDK支持针对特定方法和通用操作的处理程序。
连接状态和错误报告 :heavy_check_mark 支持IoT Hub错误代码的错误报告。
连接重试 :heavy_check_mark 默认情况下,中断的连接将以固定的10秒间隔重试。如果需要,可以禁用此功能,并配置间隔。
上传文件到Blob :heavy_check_mark 设备可以启动文件上传,并在上传完成后通知IoT Hub。

IoTHub 模块客户端

注意: Python的IoT Edge仅适用于Linux容器和设备。有关在Windows设备上使用Linux容器进行IoT边缘的更多信息,请参阅此处

功能 状态 描述
身份验证 :heavy_check_mark 使用受支持的认证(包括对称密钥、X-509 自签名和证书机构(CA)签名)安全地将您的设备连接到IoT Hub。SASToken认证目前不支持。
发送设备到云消息 :heavy_check_mark 通过IoT Hub发送设备到云消息(最大256KB),可选择添加自定义属性。
接收云到设备消息 :heavy_check_mark 接收云到设备消息,并从IoT Hub读取相关自定义和系统属性,可选择完成/拒绝/放弃C2D消息。
设备孪生 :heavy_check_mark IoT Hub 为您连接到IoT Hub的每个设备持久化一个设备孪生。设备可以执行获取孪生标签、订阅所需属性等操作。
直接方法 :heavy_check_mark IoT Hub 允许您从云中调用设备上的直接方法。SDK支持针对特定方法和通用操作的处理程序。
连接状态和错误报告 :heavy_check_mark 支持IoT Hub错误代码的错误报告。
连接重试 :heavy_check_mark 中断的连接将以固定的10秒间隔重试。如果需要,可以禁用此功能,并配置间隔。
模块上的直接方法调用 :heavy_check_mark 使用Edge网关调用其他模块的方法调用。

设备配置客户端

功能 状态 描述
TPM 单个注册 :heavy_minus_sign 通过可信平台模块进行配置。
X.509 单个注册 :heavy_check_mark 通过X.509根证书进行配置。请参阅示例文件夹和此快速入门,了解如何创建设备客户端。
X.509 注册组 :heavy_check_mark 通过X.509叶证书进行配置。请参阅示例文件夹,了解如何创建设备客户端。
对称密钥注册 :heavy_check_mark 通过对称密钥证明进行配置。请参阅示例文件夹,了解如何创建设备客户端。

重要即将到来的更改通知

证书

所有Azure IoT SDK用户应关注即将发生的Azure IoT Hub和设备预配服务TLS证书变更,这将影响SDK连接到这些服务的能力。2022年10月,这两个服务将从当前的巴尔的摩CyberTrust CA根证书迁移到DigiCert全球G2 CA根证书。在此之前将有一段过渡期,您的物联网设备必须在证书存储中安装巴尔的摩和DigiCert的公共证书,以防止连接问题。

仅安装巴尔的摩公共证书的设备将在2022年10月失去连接到Azure IoT Hub和设备预配服务的能力。

为了准备这一变更,请确保您的设备证书存储中安装了这两个公共证书。

关于物联网服务为何要进行这些变更的更深入解释,请参阅这篇文章

贡献

本项目欢迎贡献和建议。大多数贡献需要您同意贡献者许可协议(CLA),声明您有权利并且确实授予我们使用您贡献的权利。有关详情,请访问https://cla.microsoft.com

当您提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA,并适当装饰PR(例如,标签,注释)。只需遵循机器人的指示即可。您只需要在整个使用我们的CLA的仓库中进行一次。

本项目采用了微软开源行为准则。有关更多信息,请参阅行为准则常见问题解答或通过opencode@microsoft.com联系以提出任何额外的问题或评论。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

azure_iot_device-2.14.0.tar.gz (135.7 kB 查看哈希值)

上传时间

构建分发

azure_iot_device-2.14.0-py3-none-any.whl (168.5 kB 查看哈希值)

上传时间 Python 3

由支持