IOT设备和IOT HUB服务之间OTA流程的定制

Posted

技术标签:

【中文标题】IOT设备和IOT HUB服务之间OTA流程的定制【英文标题】:Customization in OTA flow between IOT device and IOT HUB service 【发布时间】:2021-12-29 08:29:46 【问题描述】:

我正在使用 azure 进行设备更新或 OTA 实施。 Azure 具有带 IOT 中心的设备更新功能。 我正在为我的任务使用相同的服务。

我想为OTA操作定制IOT设备更新代码。 通常 IOT HUB 服务会启动所有操作(下载、安装、应用)并根据请求设备将被执行,一旦请求的操作完成,设备会将状态更新为 IOT 集线器服务并进入等待下一个操作的理想状态..

我想为每个动作添加一个额外的层或确认层[下载,安装,应用)],意思是当 IOT hub 服务请求任何动作时, 设备将作为孪生属性更新接收。代替执行相应的过程(例如下载固件),设备将等待来自外部/手动资源的确认/批准(这是要实施的定制部分)。 一旦收到确认/批准,设备将恢复流程并执行相应的流程(设备将开始下载固件并更新对 IOT HUB 服务的响应)。

我的问题基于上述情况如下

    是否可以按照当前的 IOT HUB 实现上述功能 来自 azure 的设备更新实现。 如果设备未回复 IOT 集线器服务以执行请求的操作,会发生什么情况?是否丢弃 整个 OTA 流程? IOT hub服务请求任何动作并等待回复的等待时间是多少?我的目标是等待 30 天,如果没有批准或确认 接收,使用失败/丢弃回复到 IOT 集线器服务 回应。 IOT hub服务API可以设置30天等待期吗 回应?

请尽快回复我。因为大部分开发都依赖于它。

问候, 高拉夫·乔贝

【问题讨论】:

同样的问题,后续跟进:docs.microsoft.com/en-us/answers/questions/632320/index.html 【参考方案1】:

设备更新代理(安装在您的设备上)将负责将“更新状态”设置为启动成功、失败或空闲。

根据您的情况,由于设备更新代理是open-sourced,您可以自定义Interface 和Platform 层来实现它。 IoT 中心不应受到 30 天或更长时间等待更新完成的影响。

【讨论】:

以上是关于IOT设备和IOT HUB服务之间OTA流程的定制的主要内容,如果未能解决你的问题,请参考以下文章

百度云 - 物接入 IoT Hub体验

Azure IoT 技术研究系列2-设备注册到Azure IoT Hub

如何检查 OPC Publisher 和 IoT Hub 之间的日志以确认数据传输

Azure IOT Edge 设备能否连接到多个 Azure IOT Hub?

Azure iot hub 设备到云分区的用途

阿里云iot hub一秒内能从设备上接受多少数据?一秒内能发送多少数据