测试无线更新是否成功[关闭]


10

确保IoT设备已成功更新的最佳实践是什么?

为了测试OTA更新和验证设备,您需要做什么?更进一步,您如何监视/管理一组IoT设备的软件版本(更新)?


1
就像您的其他问题一样,这太广泛了。这将在很大程度上取决于设备的类型和部署模式。
吉尔(Gilles)“所以

1
当您说“车队”时,您是指车队吗?如果是这样,我假设使用SkyWave调制解调器通过(加密的)SMS,GPRS上的HTTPS或事件卫星进行通信。如果您可以编辑您的问题以弄清楚,我相信它将被重新打开。
Mawg说恢复Monica

Answers:


10

我有每24小时调用一次的软件(Windows Server-与“事物”稍有不同,但原理相同),它会发送回有关自身的各种元数据:

  • 客户名称(或唯一ID)
  • 软件版本
  • 呼叫/请求的时间戳
  • 产品类型/编号

该Web服务解析数据并在数据库中插入一行(如果客户已有行,则进行更新)。

这样,新客户会自动添加到数据库中,现有客户会更新其“最后一次见面”的时间戳,并且我们始终拥有最新的软件版本。我可以运行数据库查询,以告诉我哪些客户使用的是较旧版本,和/或哪些客户已有一段时间没有致电。

我们最近还实施了自动更新(认为是OTA更新),由于这是关键过程,因此我们为此实施了特定遥测-记录:

  • 当前版本。
  • 要更新的版本。
  • 授权人/时间(如果需要客户接受)。
  • 每个主要步骤的时间戳和状态代码。

这使我们能够确定自动更新的某些方面是否失败,并且在许多情况下,我们可以使他们经常在发现任何错误之前就致电客户。

“事物”的最大区别在于您通常受内存限制,因此要xxx Kb对固件进行OTA更新,您需要xxx Kb * 2有可用的内存(现有固件+足够的内存以在开始实际固件更新之前存储新固件)


1
感谢分享。内存使用情况很重要。如果适用,您如何进行授权和客户接受?您需要密码来接受更新吗?
Noam Hacker 2016年

2
这是一个不同的用例(因为它是Windows Server),但是我们有一个UI,在下载OTA更新后会弹出一个警报-警报询问客户是否要更新(并包括发行说明的链接等)。在thing我大概闪烁LED或东西来提醒用户(假设你希望用户“允许”的更新),然后让他们“长按”一键启动...
KennetRunner

5

例如,您可以每隔X周/天/小时向服务器发出一个请求,请求使用该软件的当前版本号。之后,您将能够使用分析来查看当前设备更新的百分比和数量。


1
这是否说明已变砖的设备或无法完成更新的设备(可能停留在重新启动,下载,崩溃周期中?)
Sean Houlihane

1
在某种程度上,是的。如果您在第1天有100台设备,则在第2天进行了更新,而在第3天,分析中只有25台设备,这意味着发生了一些不好的事情
WayToDoor 2016年

1
那很有意思。有没有办法区分故障类型?
Noam Hacker

1
将更新分为几个独立的步骤(例如,添加新的配置值重新启动gps设置设备ID覆盖固件等),每个步骤都有一个开始..呼叫发送“ home”和一个完成且状态为xx呼叫发送到home。这样,您可以(大概)知道失败的位置以及(希望)状态代码是什么。
KennetRunner '16

4

这都是关于智能同步策略的

您需要一个智能同步策略,该策略应与更新的推出方法配合使用。IoT设备应该同步其版本的最明显时间点是在更新之后。同步时间表的其余部分高度取决于设备的类型。

它是否始终保持打开状态并通过电缆连接进行连接,而一次同步并不需要花费很多,因此定期进行同步以使有关设备的数据保持最新是有意义的。

如果设备在某处,则由于使用昂贵的卫星连接而导致每位设备的成本很高,因此同步计划必须适应这种情况。

同步验证

在足够先进的设备中(阅读证明其价格范围或操作范围的设备),每个设备都可以配备客户端证书,以实现同步的真实性检查。

无论如何,对于最终客户的设备,由于电池即将耗尽,设备无法使用或者只是客户更改其无线密码而不通知IoT 设备,您总是会遇到设备掉落的情况。即使它们在时序上合而为一,这些更新可能也不需要做任何事情。


我不认为这可以解决OP问题。
WayToDoor

@WayToDoor我的第一段建议在更新后直接进行同步。这将提供是否成功达到新版本的信息。如果不是这种情况,可能采取的对策过于广泛(不要求)。我其余的答案涉及在现场监视版本。我想念哪个问题?
Helmar
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.