开始 通过我们的介绍内容让您自己加快速度。

IOT设备迭代的最佳设计实践

SaaS和Agile Development已经配对,现在将持续迭代到软件一段时间。和市场更好,在盒子中提供了新的功能和产品更新(在一个框中发布的软件时,它与12或18个月软件发布周期相比。)IOT为设备带来了这种能力,使开发人员能够意志迭代。现在我们可以更新具有新功能的设备,并用作硬件设备生命周期的一部分。但是,为了最大限度地更新配置配置或在设备离开工厂后添加新功能的能力,开发人员具有重要的前期工作要考虑。

思考的第一个因素是Bootloader.由于精心设计的Bootloader启用迭代更新。所有无线SOC都带有一些库存设备固件更新(DFU)功能。但是,向Bootloader添加几个功能将在许多情况下显着削减您的更新风险因素,高达90%。

单独的bootloader.

我在此区域提供的第一个推荐是将Bootloader DFU与主应用程序固件分开。通过分离两者,无论应用程序固件的状态如何,您都会增加设备启动的机会。最近的物联网设备DDOS攻击利用密码硬编码为固件来控制设备。重新启动时,他们砖砌。具有单独的引导加载程序有助于避免这种情况(以及良好的安全性和密码卫生)。

双缓冲器

迭代设计的第二个最佳做法是包含双缓冲区。这使您可以灵活地验证它在设备上加载之前的更新。但是,只有双缓冲区是不够的。设计工程师应该提前计划,并确保缓冲区足够大以方便任何潜在的更新。鉴于我所看到的各种用例,我发现500k通常就足够了。

加密

我推荐的第三种最佳实践是端到端加密。端到端很重要,因为安全性只是它最薄弱的链接。完整的加密保护您免受各种活动 - 从窃取您的IP到恶意代码攻击的人。虽然最近的新闻报道了像这样的事情Cayla娃娃令人不快,食品供应链或医疗设备中的安全事件可能具有广泛的影响,我们都希望避免。

因此,我提倡从完全控制到物联网设备本身的系统中加密更新包。不要依赖蓝牙连接的默认加密。相反,您应该通过工厂的硬件连接在制造点中分享钥匙。这可确保即使连接受到损害,也可以在设备上加载rogue固件。

比例更新

一旦您为迭代设计了设备,对于管理字段和比例中的更新也很重要。我推荐一个可以与每个设备交谈的设备操作应用程序,并具有识别和组设备的功能。例如,您可能需要根据其功能或部署的位置标记或组设备。在固件设计和设备操作应用程序中支持对这些标签的支持,您可以轻松地进行更新的设备。这简化了更新设备特征和功能的过程。

此外,像这样的标记允许您加入和交易到的卷展栏,这使您可以更好地控制过程并降低更新失败的风险。事实上,现在参加了100多个IOT项目,我强烈推荐交错的推出。在这些卷展栏中,管理员逐步更新批次的设备,并等待每个设备之间的绿灯,以确保成功。

良好的更新设计还包括在某些故障保险箱中构建。作为分组提示,我建议设计师将逻辑添加到他们的引导加载程序DFU上进行更新的校验和。在写入固件图像之前,请验证它在成功发送。就像蓝绿色部署在Devops World中,在设备重新启动时将原始固件的副本移动到缓冲区。如果新固件失败,只需回滚到较早的工作版本。

一旦他们离开工厂就更新设备的能力是IOT最大的优势之一。确保您的设备专为这种迭代而设计确实采取了一些前沿的工作。然而,它在避免安全问题的潜在成本方面支付股息。更重要的是,随着开发人员可以以业务速度提供市场影响的功能和功能,更重要的是培育客户满意度和业务价值。

所有IOT议程网络贡献者负责其帖子的内容和准确性。意见是作者,不一定能够传达物联盟议程的思想。

搜索CIO.

搜索安全

搜索联网

搜索数据中心

搜索数据管理

关闭