Azure IoT 中心是一项完全托管的服务,有助于在数百万台设备和单个解决方案后端之间实现安全可靠的双向通信。Azure IoT 中心提供如下功能:
将信息从设备应用发送到解决方案后端时,IoT 中心会公开三个选项:
下面是各种设备到云通信选项的详细比较:
| 设备到云的消息 | 设备克隆的报告属性 | 文件上传 | |
|---|---|---|---|
| 方案 | 遥测时序和警报。 例如,每隔 5 分钟发送的 256KB 传感器数据批 | 可用功能和条件。 例如,当前设备连接模式,诸如手机网络或 WiFi。 同步长时间运行的工作流,如配置和软件更新 | 媒体文件。 大型(通常为压缩的)遥测批 |
| 存储和检索 | 通过 IoT 中心临时进行存储,最多存储 7 天。 仅顺序读取 | 通过 IoT 中心存储在设备孪生中。 可使用 IoT 中心查询语言检索 | 存储在用户提供的 Azure 存储帐户中 |
| 大小 | 消息大小最大为 256-KB | 报告属性大小最大为 8 KB | Azure Blob 存储支持的最大文件大小 |
| 频率 | 高 有关详细信息,请参阅 IoT 中心限制 | 中 有关详细信息,请参阅 IoT 中心限制 | 低 有关详细信息,请参阅 IoT 中心限制 |
| 协议 | 在所有协议上可用 | 使用 MQTT 或 AMQP 时可用 | 在使用任何协议时可用,但设备上必须具备 HTTPS |
应用程序可能需要同时将信息作为遥测时序或警报发送,并且使其在设备孪生中可用。 在这种情况下,可以选择以下选项之一:
由于设备到云消息允许的吞吐量远高于设备孪生更新,因此有时需要避免为每条设备到云消息更新设备孪生。
IoT 中心提供三个选项,允许设备应用向后端应用公开功能:
下面详细比较了各种从云到设备的通信选项:
| 直接方法 | 克隆的所需属性 | 云到设备的消息 | |
|---|---|---|---|
| 方案 | 需要立即确认的命令,例如打开风扇 | 旨在将设备置于某个所需状态的长时间运行命令。 例如,将遥测发送间隔设置为 30 分钟 | 提供给设备应用的单向通知 |
| 数据流 | 双向。 设备应用可以立即响应方法。 解决方案后端根据上下文接收请求结果 | 单向。 设备应用接收更改了属性的通知 | 单向设备应用接收消息 |
| 持续性 | 不联系已断开连接的设备。 通知解决方案后端:设备未连接 | 设备孪生会保留属性值。 设备会在下次重新连接时读取属性值。 属性值可通过 IoT 中心查询语言检索。 | IoT 中心可保留消息长达 48 小时 |
| 目标 | 通过 deviceId与单个设备通信,或通过 作业与多个设备通信 | 通过 deviceId与单个设备通信,或通过 作业与多个设备通信 | 通过 deviceId与单个设备通信 |
| 大小 | 直接方法有效负载的最大大小为 128 KB | 所需属性大小最大为 8 KB | 最多 64 KB 消息 |
| 频率 | 高(有关详细信息,请参阅 IoT 中心限制) | 中(有关详细信息,请参阅 IoT 中心限制。) | 低 (有关详细信息,请参阅 IoT 中心限制。) |
| 协议 | 使用 MQTT 或 AMQP 时可用 | 使用 MQTT 或 AMQP 时可用 | 在所有协议上可用。 使用 HTTPS 时,设备必须轮询 |
在以下教程中学习如何使用直接方法、所需属性以及从云到设备的消息:
Azure 文档中心提供了丰富的开发资料,更多详细资料可以参考如下地址: