Microsoft Azure IoT 设备库
项目描述
azure-iot-device
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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b6d48d4932c240025736ace544c4e71bc49a1576ac998ea1de778af82496ffce |
|
MD5 | c55ecb4de79e088e05b07f3eb46ff35a |
|
BLAKE2b-256 | 516b447e9f205ccefc03998931677784d29354e0c6453a7715a662d4109a567b |
azure_iot_device-2.14.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | db5e401132cdf98d56a758382e3c332384d445b22f574ffb4ea684c7f63345fb |
|
MD5 | b2a39621ff19fb6967bc36e045c9913f |
|
BLAKE2b-256 | 6ad2763d0745266507750248c80befb79d1343dcb5f02ad2775a2c6225b26f6e |