物联网设备迭代的最佳设计实践SaaS和敏捷开发已经结合在一起,在一段时间内为软件带来了不断的迭代。并且市场对它更好,一旦新功能和产品更新可用(相对于软件装箱时12或18个月的软件发布周期),物联网将这种能力带入设备,使开发人员能够随意迭代。现在,作为硬件设备生命周期的一部分,我们可以使用新特性和功能更新设备。但是,为了在设备出厂后最大限度地更新配置或添加新功能,开发人员需要考虑重要的前期工作。 首先要考虑的因素是引导加载程序,因为精心设计的引导加载程序可以实现迭代更新。所有无线SoC都带有一些库存设备固件更新 (DFU) 功能。但是,向引导加载程序添加一些功能将显着降低更新风险因素,在许多情况下最多可降低90%。 单独的引导加载程序 将引导加载程序DFU与主应用程序固件分开。通过将两者分开,无论应用程序固件的状态如何,都可以增加设备启动的机会。最近的物联网设备 DDoS 攻击利用硬编码到固件中的密码来控制设备。拥有一个单独的引导加载程序有助于避免这种情况(良好的安全性和密码卫生也是如此)。 双缓冲 迭代设计的第二个最佳实践是包含双缓冲区。可以灵活地在设备上加载更新之前对其进行验证。然而,仅仅有一个双缓冲区是不够的。设计工程师应提前计划并确保缓冲区足够大以促进任何潜在的更新。。 加密 端到端加密。端到端在这里很重要,因为安全性取决于其最薄弱的环节。完整的加密保护您免受各种事件的影响——从有人窃取您的 IP 到恶意代码攻击。 因此,对完全控制的系统到物联网设备本身的更新包进行加密。不要依赖蓝牙连接的默认加密。相反,您应该在工厂通过硬线连接在制造点共享密钥。这样可以确保即使连接受到破坏,也不会在设备上加载任何恶意固件。 大规模更新 良好的更新设计还包括构建一些故障保险。设计人员应在他们的引导加载程序 DFU 中添加逻辑,以对更新进行校验和。在覆盖固件映像之前验证它是否已成功传输。就像DevOps 世界中的蓝绿色部署一样,在设备重新启动时将原始固件的副本移动到缓冲区。如果新固件失败,只需回滚到较早的工作版本。 设备出厂后更新的能力是物联网的最大优势之一。确保您的设备专为这种级别的迭代而设计确实需要一些前期工作。然而,它在避免安全问题的潜在成本方面带来了好处。更重要的是,随着开发人员能够以业务发展的速度交付影响市场的特性和功能,从而培养客户满意度和业务价值。 上一篇物联网网关和边缘计算
下一篇PCIe 5和加固边缘
文章分类:
新闻动态
|