远程设备的OTA更新-解释不同的方法

这篇文章讨论了什么是OTA更新,它们的部署方法,OTA更新的利弊,以及行业最佳实践,以确保顺利和安全的更新部署。当涉及到开发端和客户端时,无线更新带来了大量的好处。

阅读时间:

9

分钟

OTA更新(Over-the-Air Updates)是一个术语,用于描述将新软件、固件或其他数据无线传输到物理上难以访问的远程设备。

通常,OTA更新由OEM(原始设备制造商)通过互联网或本地网络等无线媒介部署,以提供错误修复和功能升级。

物联网中OTA更新的好处

当涉及到开发端和客户端时,无线更新带来了大量的好处。

提高安全性和合规性

无需召回设备,供应商可以更新设备上的固件,以确保它们是最新的,并修补了最新的已知漏洞。

降低维护成本

通过使用OTA更新,无需亲自维护,从而大大降低了成本,无需提供现场服务。

额外收入来源

OTA更新可以用来添加原本不包含在设备中的功能,从而增加设备的价值,这可以作为“付费升级”。

降低运营成本

根据Stout Risius Ross的报告在美国,软件问题占全行业召回的15%。OTA技术简化了软件升级和修复,正如IHS Automotive预测的那样,能够为企业节省超过350亿美元的运营成本。


OTA更新的类型

当涉及到边缘设备/最终用户的角度,OTA更新可以分为两种主要方法:

  1. 自动OTA更新

这些类型的更新由物联网设备制造商自己部署,并根据配置设置(如自动更新启用标志和时间表)自动安装在设备上。

例如:Android/Linux关键安全补丁等。

  1. 手动OTA更新

对于用户通常不强制的更新,如操作系统功能更新和UI更新,可以考虑手动OTA更新。在这种情况下,最终用户需要启动更新检查器例程来检查更新,并在发现可用更新时选择安装更新。有时,物联网设备的固件会通知用户可用的更新,让他选择是否以及何时安装。

例如:Linux内核升级、UI更新、功能更新等。

OTA更新方法

OTA更新可以通过互联网、本地网络(路由器)、专用网关设备进行部署,甚至可以通过无线连接到各个硬件进行部署。

OTA的更新方式主要有三种:

  1. 边缘到云OTA更新(E2C)
  2. 网关到云的OTA更新(G2C)
  3. 边缘到网关到云的OTA更新(E2G2C)

边缘到云更新(E2C)

具有内置微控制器或微处理器的连接设备接收来自远程服务器的OTA包。该包可以包括对微控制器/微处理器底层硬件功能(FOTA)的升级和对运行在其上的应用程序(SOTA)的更新。


Google Home、苹果Siri和Nest恒温器就是使用E2C更新方法的一些例子。树莓派和其他基于单板计算机的系统也能够以同样的方式接收更新,使用专门的服务,如2022世界杯南美区预选赛

E2C OTA更新的优势:

允许更新单个设备,如果更新过程出错,使整个舰队免受损坏

E2C OTA更新的缺点:

如果机队较大,单个更新可能需要花费大量时间。还应确保根据设备的工作状态选择正确的设备来部署更新(即,如果设备正在执行关键任务,则无论尝试强制安装更新,更新都应延迟)。

网关到云更新(G2C)

一种具有与互联网连接的网关(例如,远程信息处理系统)的系统,它管理一组本地设备,并从基于云的远程服务器接收更新。这些更新包括已安装的软件应用程序、应用程序的主机环境和/或网关设备的固件的更新版本。在这种情况下,不更新连接的设备,而是更新网关本身。

一些使用G2C OTA更新方法的设备是自动取款机、远程能源监控系统和其他银行和金融服务,如kiosk。采用OTA更新方式,可以保护设备免受外部攻击和漏洞的侵害,提高系统的安全性。

G2C更新的优势:

由于更新的是网关,而不是传感器或传感器节点,因此网关可以保持最新状态,处理通信和处理任务。

G2C更新的缺点:

当涉及到安全性/可靠性时,网关本身提供了单点故障,如果OTA更新出错,可能会导致整个系统不可用。如果网关无法从失败的更新尝试中恢复,整个系统将永久失败。

此外,永远无法确定网关设备何时可以安装更新,因为它管理多个节点并持续处理来自它们的数据。在这种情况下,当执行更新过程时,肯定会对系统的功能造成一些干扰。

边缘到网关到云的OTA更新(E2G2C)

连接互联网的网关充当调度器,从基于云的服务器下载更新,然后分派到另一个边缘/网关。在这种情况下,物联网设备应该能够自己执行更新。这种方法用于现场传感器等设备,如温度、湿度传感器、天气传感器和其他工业管理传感器系统;主设备能够下载和分发与网络中的从设备/其他设备相对应的更新,并且这些设备能够自行安装更新。

E2G2C的优势:

这是允许安全、模块化OTA更新的最佳架构之一。这降低了整个舰队的风险,因为连接到网关的每个节点都可以自己处理更新,或者网关可以直接在边缘执行更新,从而在一个或多个更新出错时保护舰队。系统在被损坏的节点上仍能正常运行。

E2G2C的缺点:

就像上面提到的G2C一样,E2G2C在更新失败时也有相同的单点故障。在这种情况下,在更新损坏的情况下,节点可能有也可能没有能力让网关知道更新状态,从而导致更新计划不匹配。

与OTA更新相关的缺点和问题

如果某个制造商没有强制其设备的OTA更新例程的安全性,例如强制校验和计算,攻击者可以拦截OTA更新并利用这些漏洞入侵远程设备。这将带来巨大的安全风险,并可能将远程设备上的敏感数据暴露给第三方。

典型的OTA更新步骤

当部署更新时,无论是OTA固件(FOTA)还是任何其他更新,例如从简单的文件替换到完整的固件升级,更新过程应包含以下步骤;

  1. Pre-update准备-停止一个服务,删除一个文件句柄,以防止数据损坏,安装依赖项等。
  2. 更新过程-替换文件,更新服务和应用程序,执行更新例程等。
  3. 后更新清理-确保在更新过程中没有多余的文件/程序,以节省空间和资源2022世界杯阿根廷预选赛赛程
  4. 回滚程序-如果更新出错,例如连接中断,应该有一个回滚程序来回滚正在进行的更改,以确保设备能够像更新启动之前一样运行

通过这四个主要步骤;,可以确保OTA更新的成功部署。

OTA更新的最佳实践,由行业专业人士遵循

在设计/开发和部署系统时,必须注意以下要点:

从第一天起就整合OTA机制:将OTA更新例程添加到固件中,可以大大提高以后在生产过程中甚至在部署之后引入功能更新和错误修复的机会。

渐进式发展方法:遵循渐进式开发方法,不仅可以使开发更加可靠,还可以简化新功能的开发。

优先更新:为了确保正在运行的设备的功能不被中断,必须对更新进行优先排序,以便空闲的设备首先获得更新;然后安装它们。

带有回滚的原子更新:微更新可以使更新过程更加渐进,而不是推动大更新,并且从旧版本迁移是一个快速的任务。

备份当前配置

管理平台:使用中央管理平台,必须记录和管理以前的更新,以跟踪到日期为止的更改。

安全:OTA更新确实应该是安全的,以确保边缘设备和驻留在同一网络中的其他连接设备的安全性。

身份验证

完整性:更新不能在传输过程中损坏。


使用JFrog Connect部署OTA更新

为了您的方便,我们开发了一个易于使用,功能丰富更新工具,可作为常规更新工具来替换/更新文件,执行远程更新命令和部署容器更新


我们还准备了直接、简单的指南你可以跟着学习如何使用更新工具,最大限度地提高OTA更新部署的效率,同时确保更新过程更安全可靠。

JFrog Connect不仅仅是另一个OTA更新平台;它是如此之多。我们为您提供远程管理Linux物联网设备所需的所有关键功能,包括远程安全控制访问和远程设备监控。

还没有尝试过JFrog Connect吗?点击在这里并注册了解更多!