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流程的定制的主要内容,如果未能解决你的问题,请参考以下文章
Azure IoT 技术研究系列2-设备注册到Azure IoT Hub
如何检查 OPC Publisher 和 IoT Hub 之间的日志以确认数据传输