运用 Silicon Labs Delta DFU 技术优化 OTA 更新
当今世界,物联网和嵌入式系统飞速发展,确保设备运行最新固件对于维持安全性、功能和性能至关重要。然而,传统空中下载 (OTA) 更新很可能效率低下;特别是,在带宽受限的环境(例如,网状网络)下,传输完整固件映像不仅会引发显著延迟,还会增加网络负载。为应对这一严峻挑战,Silicon Labs Delta DFU(设备固件更新)技术仅传输当前固件与新固件之间的差异数据,从而大幅缩小了更新文件,传输时间也随之缩短。数据量减少不仅可以加快更新流程,还能最大限度地降低目标节点的能耗,进一步提升固件更新效率。在这篇博客中,我们探讨了 Delta DFU 的优势、对固件更新效率的影响,以及在真实场景中取得的切实成果。
了解 Delta DFU(设备固件更新)
Delta DFU 的核心工作原理是将设备的当前固件映像与需要应用的新固件进行比较。然后,创建增量补丁文件,其中仅包含两个版本之间所做的更改。这个增量文件比完整固件映像小得多,因此空中下载传输时间显著缩短。Delta DFU 流程已与 Simplicity Commander 工具和 Gecko Bootloader 集成,确保在各种设备和无线协议之间实现广泛的兼容性。
Delta DFU 的主要优势在于,它能够最大限度地减少更新期间需要传输的数据量。倘若带宽有限或者需要同时更新多个设备,则成效尤为显著。
固件更新安全性和设计注意事项
安全性是固件更新流程的一个关键要素。虽然在本地 PC 上完成 Delta Diff 流程,这样可以最大限度地缓解安全风险,但是 Delta 补丁进程需要通过无线协议接收 Delta 文件,因此协议容易遭到篡改。为解决这个问题,Gecko 引导装载程序会在应用 Delta 文件之前对其进行验证,确保更新合法且未经篡改。此外,还可以对固件更新进行加密并应用加密签名,防止未经授权修改固件更新,进一步增强安全性。
同时,Delta DFU 的设计还十分注重可重用性和集成难易度。旨在与 Simplicity Commander 和 Gecko Bootloader 无缝协作,充分利用两款工具的优势来优化更新流程。而且,该系统适应性极强,允许在不同平台中搭配各种无线协议使用。
使用 Deta DFU 取得的成果
在 153 个蓝牙网状网络节点上开展了测试,结果表明更新效率提升效果令人振奋,使用 Delta 更新时成效尤为显著。Delta 更新如何显著缩小文件大小及缩短更新时间,使其成为大型设备网络的理想解决方案,这是最令人印象深刻的发现之一。
153 个节点:
原始文件大小 | LZMA 压缩固件更新文件 | 用时 | LZMA 压缩增量固件更新文件 | 用时 |
410,128 字节 | 256,844 字节 | 17,654 秒(4.9 小时) | 19,708 字节 | 2,139 秒(36 分钟) |
例如,虽然使用 LZMA 压缩文件更新完整映像需要近 5 小时,但 LZMA 压缩增量更新文件可将时间缩短至短短 36 分钟 - 用时减少 80% 以上。在这项分析中,我们专注研究 GCC 编译器结果,但 Delta 更新机制独立于编译器,因此可以与任何编译器有效配合使用。
值得注意的是,这些测试是在非受控环境下完成,很多外部因素(例如,干扰)可能会对性能产生影响。此类环境颇具代表性,也是许多现实用例的典型特色。不过同样表明,通过微调网络设置及优化针对特定网络拓扑量身定制的参数可以进一步提升速度。因此,此处显示的更新时间仅供参考,但 Delta 更新在节省时间方面的潜力毋庸置疑,在大型蓝牙 LE 网状网络中表现尤为显著。
总之,结果表明 Delta 更新意义非凡,不仅可以最大限度地减少停机,还能提升大型设备组的运营效率。事实证明,即使条件欠佳,也能大幅改进固件更新流程。
结语:通过 Delta DFU 推进物联网 OTA 更新
Silicon Labs Delta DFU 技术体现了 OTA 更新领域的重大进步,为维护和更新物联网设备提供了一种高效方法。Delta DFU 仅专注于传输固件版本之间的差异数据,显著缩小了更新文件大小,从而加快更新速度并减少网络负载。尽管本报告的测试结果是使用蓝牙网状网络得出的结论,但 Delta DFU 技术独立于协议,它可以与我们的任何无线协议无缝集成,因而是一项面向现代嵌入式系统的强劲多功能解决方案。
随着物联网生态系统的不断扩展,能够在众多设备上有效管理固件更新变得越来越重要。应对这一挑战,Delta DFU 推出了一种安全高效的可扩展方法,确保设备能够以最小的干扰和最高的效率保持最新状态。无论在带宽受限的环境下还是大规模部署中,Delta DFU 均有望在未来的固件管理领域发挥至关重要的作用。