确保IoT设备已成功更新的最佳实践是什么?
为了测试OTA更新和验证设备,您需要做什么?更进一步,您如何监视/管理一组IoT设备的软件版本(更新)?
确保IoT设备已成功更新的最佳实践是什么?
为了测试OTA更新和验证设备,您需要做什么?更进一步,您如何监视/管理一组IoT设备的软件版本(更新)?
Answers:
我有每24小时调用一次的软件(Windows Server-与“事物”稍有不同,但原理相同),它会发送回有关自身的各种元数据:
该Web服务解析数据并在数据库中插入一行(如果客户已有行,则进行更新)。
这样,新客户会自动添加到数据库中,现有客户会更新其“最后一次见面”的时间戳,并且我们始终拥有最新的软件版本。我可以运行数据库查询,以告诉我哪些客户使用的是较旧版本,和/或哪些客户已有一段时间没有致电。
我们最近还实施了自动更新(认为是OTA更新),由于这是关键过程,因此我们为此实施了特定遥测-记录:
这使我们能够确定自动更新的某些方面是否失败,并且在许多情况下,我们可以使他们经常在发现任何错误之前就致电客户。
“事物”的最大区别在于您通常受内存限制,因此要xxx Kb
对固件进行OTA更新,您需要xxx Kb * 2
有可用的内存(现有固件+足够的内存以在开始实际固件更新之前存储新固件)
thing
我大概闪烁LED或东西来提醒用户(假设你希望用户“允许”的更新),然后让他们“长按”一键启动...
例如,您可以每隔X周/天/小时向服务器发出一个请求,请求使用该软件的当前版本号。之后,您将能够使用分析来查看当前设备更新的百分比和数量。
这都是关于智能同步策略的
您需要一个智能同步策略,该策略应与更新的推出方法配合使用。IoT设备应该同步其版本的最明显时间点是在更新之后。同步时间表的其余部分高度取决于设备的类型。
它是否始终保持打开状态并通过电缆连接进行连接,而一次同步并不需要花费很多,因此定期进行同步以使有关设备的数据保持最新是有意义的。
如果设备在某处,则由于使用昂贵的卫星连接而导致每位设备的成本很高,因此同步计划必须适应这种情况。
同步验证
在足够先进的设备中(阅读证明其价格范围或操作范围的设备),每个设备都可以配备客户端证书,以实现同步的真实性检查。
无论如何,对于最终客户的设备,由于电池即将耗尽,设备无法使用或者只是客户更改其无线密码而不通知IoT 设备,您总是会遇到设备掉落的情况。即使它们在时序上合而为一,这些更新可能也不需要做任何事情。