根据IDC的一份最新报告,到2025年,将有416亿台物联网设备,产生79.4 zetb的数据。连接的设备相互通信,传输数据集,并在单个生态系统中工作。为了有效地做到这一点,还需要定期更新,就像笔记本电脑和手机一样。
但是,为智能设备提供语音的嵌入式系统的更新并不局限于用新的副本覆盖文件。这是一个复杂的端到端机制,必须保持一致和无缝:用户不希望直接参与打补丁、修复和增强设备的过程。
无线(OTA)更新可以实现高效的远程操作。但是有一系列新的挑战需要考虑。
什么是OTA更新?
正如Gartner所述,OTA指的是通过移动或蜂窝网络下载应用程序、服务和配置的能力。其发生在“空中”,即无需将给定设备连接到另一个设备来安装更新。
在嵌入式开发中,OTA机制意味着通过Wi-Fi、移动宽带和设备操作系统中的内置功能,定期更新与互联网相连的硬件,包括新的设置、软件和/或固件。
OTA机制在物联网应用开发中发挥着重要作用,包括:
固件无线(FOTA)更新。该技术被用于硬件部件,如汽车工业中ADAS系统的电子控制单元(ecu)。例如,特斯拉通过FOTA更新,在其汽车上使用了新的补丁和功能,比如先进的自动驾驶仪。
软件无线(SOTA)更新。这些包括安全补丁、软件更新和新的功能实现:更新智能汽车的导航地图和信息娱乐屏幕、联网家庭的智能计量和智能供暖等。
物联网中OTA更新的好处
提高安全性和合规性。OTA机制允许开发者通过网络修补已知的漏洞,而不是召回设备。此外,还确保更快、更经济有效地遵守不断演变的法律和监管责任。
维护成本降低。当在现场部署大量设备时,无法确保定期手动更新。OTA系统可以通过单一统一界面实现无缝更新,以替代成本高、耗时长的现场服务。
持续改进。OTA更新允许制造商不断修改其连接的系统,修复错误并提高产品性能,即使它们在生产线上或在消费者手中。这种方法消除了召回和亲自维护,并提供了竞争优势。通过这种方式,无需等待在新一批设备中加入新功能。
额外的收入来源。原始设备制造商(oem)可以在发布后通过OTA更新实现附加组件,而无需物理访问需要升级的固件。
降低运营成本。根据Stout Risius Ross的报告,软件问题占全行业召回的15%。OTA技术简化了软件升级和修复,据IHS Automotive预测,该技术能够为企业节省超过350亿美元的运营成本。
OTA机制目前面临的挑战
都说OTA更新改善了连接设备,那为什么还是经常听到关于设备无法运行、人们因智能锁故障而被困在公寓里、以及汽车警报器被劫持的恐怖故事?
情境意识。对于某些设备,如联网汽车或用于医疗手段的设备,任何修改都会带来一定程度的风险。当系统在设备执行关键任务时,发送更新时就会发生这种情况。
不能回滚到早期版本。与失败的OTA机制相关的最著名的丑闻之一发生在2017年。Airbnb将损坏的软件更新部署到不正确的设备——该设备是该企业出租物业使用的智能锁的早期版本。设备无法运行,无法接收另一个OTA更新来解决这个问题。该系统的功能不包括自动回退功能,这使得租客无法进入公寓。由于这次事故,必须由供应商手动更新锁。
安全问题。OTA系统中的潜在漏洞非常多:中间人(MITM)攻击、恶意软件的引入和其他弱点。这是由于关键数据的传输通道不受保护、缺少数字签名或代码签名、缺少更新身份验证等等。因此,黑客可以修改有效的更新,注入恶意代码,接管设备,并对嵌入式系统的敏感组件重新编程。
可扩展性。随着连接设备数量的不断增加,OTA系统必须能够适应不断增长的需求,并为成百上千甚至数百万的设备提供信息。开发人员应允许管理员安排对其设备的更新,以避免网络饱和和限制意外停机。另一个挑战是确保内置支持自动更新的配置选项,以适应带宽限制。
如何实现OTA技术:3个策略
选择的实施策略应与相关物联网设备的性质、系统架构和可用的技术选择保持一致。
产品所有者可以在从零开始构建自定义OTA系统,和从供应商那里购买现成的OTA解决方案之间做出选择。
前一种方法提供了对远程更新的更多自由和控制,而后一种方法加快了上市时间,是一种更具成本效益的解决方案。
如果产品负责人选择自定义OTA解决方案,则可以通过3个主要框架来实现该项目:
边缘到云端OTA更新。具有内置微控制器的连接设备接收来自远程服务器的OTA包。该软件包可以包括对微控制器底层硬件功能(FOTA)的升级,以及对运行在其上的应用程序(SOTA)的更新。
网关到云OTA更新。一种具有与互联网连接的网关(例如,远程信息处理系统)的系统,其管理一组本地设备,并从基于云的远程服务器接收更新。更新包括已安装的软件应用程序、应用程序的主机环境和网关设备的固件的更新版本。
边缘到网关到云端OTA更新。连接互联网的网关充当调度程序,从基于云的服务器下载更新,然后分发到另一个边缘/网关。
OTA更新最佳实践
从一开始就关注OTA机制。产品所有者和开发团队往往会忽视OTA更新功能的开发、测试和有效实现。因此,OTA机制被仓促地组装起来,缺乏许多基本需求。在最坏的情况下,原始设备制造商避免额外的硬件成本,并完全不将机制纳入物联网开发生命周期。
检查开发人员在构建安全可靠的OTA机制方面的能力。供应商的物联网专业知识并不能保证有能力推出全机制的更新。在物联网系统方面有突出技能的开发人员可能没有任何建立故障安全更新系统的经验。
采用渐进式部署方法。管理员应该可以自由安排设备的更新,以避免网络拥塞、压力过大和拒绝服务(DoS)问题。渐进式部署方法将确保IoT设备在大规模批量推出之前进行更新。
在安排特定更新时考虑使用的关键性问题。例如,当驾驶联网汽车或使用医疗设备时,不应该进行更新。
确保带有内置回滚的原子更新。由断电或网络问题引起的错误更新可能会使设备瘫痪,并且需要完全恢复。但是,如果其以原子方式完成,即回滚到上一个功能版本,意外事件就不会导致设备变砖。此外,将基本的物联网属性,如主机名、网络配置和关键特性配置,存储在一个特定的文件中是值得的,任何版本的更新都可以读取该文件。
将备份服务集成到当前工作配置中。如果在更新过程中出现问题,物联网设备将重新加载最新的已知且可信配置,该配置存储在私有或公共云平台托管的上游存储库中。该特性得到了主要云提供商的支持:Amazon Web Services(AWS)IoT服务支持Thing Shadows,而Microsoft Azure IoT Hub支持设备孪生。
构建管理服务器。管理服务器将存储清单列表并跟踪正在运行的软件和固件版本。基本的物联网属性,例如主机名、网络配置和特性配置,应该存储在可以被任何版本的固件读取的特定文件中。
安全。与空中传输数据的安全性有关的3个主要挑战包括:
⑴ 身份验证:数据必须从受信任的服务器发送到客户端
⑵ 保密性:必须将传输中数据的访问权限授予预定数量的用户
⑶ 完整性:传输的更新不应该被破坏。
一种安全技术是数据源身份验证(DOA)。使用DOA,每次更新都由供应商进行数字签名,并且在开始更新之前必须由IoT设备验证数字签名。
总结
随着OTA的更新,没有一个万能的解决方案,因为每个物联网系统都有自己的一套要求和约束。一个有经验的团队会优化OTA系统,以解决这些问题,并提供有效的OTA解决方案。