电子说
空中更新使物联网(IoT)系统的运行方式发生了巨大变化。在这里,Percepio的首席执行官兼创始人解释了好处。
当然,明显的优势是更新更容易,通常透明地下载和安装。当这与软件跟踪结合时,它将成为一种强大的机制,可以提高各种嵌入式IoT系统的质量和可靠性。
系统仍然部署有错误
尽管开发人员做出了最大的努力,但这些系统仍然在代码中保留了错误的情况下进行了部署。一个开发团队平均在开发过程中每千行代码引入约120个错误,而每千行代码中约有5%(即6个错误)通常会留在出厂的软件中。当现场部署了数千个IoT设备时,依靠用户报告由这些bug引起的问题既不可靠也不具有可扩展性。用户报告对于解决问题也往往含糊不清,无济于事。当有数百万个设备时,这一点就显得尤为重要。
这些遗漏的错误可能不会立即显示出来,而只会在某些情况下引起问题,否则将在产品出厂前就发现它们。尽管无线(OTA)更新可以解决现场问题,但开发人员需要某种反馈系统来了解已部署设备中的问题,并且他们需要快速了解。长期以来,这种方法一直是移动和云应用程序(DevOps)开发的标准方法,并且现在对于嵌入式开发也是可行的。
识别新的重要问题
解决和解决该领域问题的关键是软件跟踪,云管理和OTA更新的结合,但这是一个复杂的挑战。在资源有限的系统中,跟踪代码必须尽可能高效。返回云的链接需要安全,透明并传输正确的数据,以帮助开发人员快速轻松地发现任何问题。云服务必须识别哪些新问题和重要问题,然后通知开发人员存在需要解决的问题。修复后,必须通过OTA更新将更新的软件分发到所有设备。所有这些都需要扩展到数百万个设备上。
信息流始于IoT设备的错误处理代码,例如已经存在的健全性检查和故障异常处理程序。使用软件代理,可以将固件问题作为警报上载到客户的云帐户。警报可能包括错误消息和与特定问题相关的任何其他信息,例如软件状态变量和硬件寄存器。根据问题的严重性,恢复云连接后,警报可以直接上传,也可以在设备重启后上传。
警报还可能包括设备中最新软件事件的踪迹,该踪迹由代理自动记录。跟踪同时提供了错误的详细信息和上下文,从而使开发人员更容易识别错误。
此处的编码效率是关键,以确保需要最少的内存来存储跟踪,从而为开发人员提供他们确定实际问题所需的上下文。这很重要,原因有两个:在甚至从受内存限制的IoT系统中收集足够长的跟踪时,它可以将上传时间减少到几分之一秒,并且可以将警报消息和存储在云侧的运营成本降至最低。这种编码效率使得在现场以及小型IoT设备中使用跟踪技术成为可能,从而带来了巨大的优势。
来自固件代理的警报被上载到客户的云服务,该服务被配置为存储警报并还通知处理分类,统计信息和向开发人员发送通知的引擎。它还提供了配置选项,例如,确定应将通知发送给谁以及向谁发送通知的条件。
收到通知
当开发人员收到有关新问题的通知时,他们可以访问警报和跟踪以查看问题所在。
隐私也是这里的关键。软件跟踪永远不需要离开客户的云帐户。云处理仅需要警报的匿名签名,可以在外部云服务中提供该签名。可以使这些信息完全透明,可配置且无意义。通信和存储由开发人员的IoT平台中的现有功能使用身份验证和加密的最佳实践提供。
实验室测试还不够
由于当今嵌入式物联网系统的复杂性,在实验室进行测试还不足以消除所有软件问题。实时跟踪和警报可以在现场发现错误时进行识别,并自动通知开发人员以加快解决速度。
这样的系统必须对开发人员是可伸缩的,安全的和透明的。一旦部署到位,它就可以在许多用户受到影响之前就立即对问题的首次发生提供立即的意识,并让开发人员充分利用OTA更新来快速改进其产品。
责任编辑人:CC
全部0条评论
快来发表一下你的评论吧 !