OTA固件升级对于物联网设备的重要性
物联网(IoT)代表着一个重要的发展趋势,逐渐将日常生活中的各个方面相互连接在一起。不同于早期的路由器等无线设备(每个房间或者办公室安装一个)在数量上的局限性,物联网将会非常深入的渗透到方方面面,并且可以连接大量的设备。简单举几个例子,譬如在一个家庭环境中,我们可以远程锁门、开关窗帘、控制照明以及管理温度和湿度等等。
物联网规模化部署面临着众多挑战,例如:众多设备近距共终端和庞大数量的设备互连。这些挑战催生出对无线(OTA)固件升级的需求,它将是物联网系统必不可缺的一个组成部分。OTA的有效性已在许多应用程序中得到验证,例如手机会通过定期升级来接收新功能和修补漏洞。
基于BLE的OTA固件升级功能相对而言是一个新生事物,试想,将一个beacon部署在一个大型市场中以推送在展的产品信息。这些beacon的位置有可能难以触及,而且它们的庞大数量也让用户不可能在部署后对它们进行逐个编程。因此,当有新功能或需要修补的漏洞出现时,OTA固件升级就会成为一个重要的省时性能。
对于物联网而言,有三大原因正在推升市场对基于BLE的OTA固件升级的需求:
-广泛和种类各异的设备:设备的数量和种类在分布式网络中扮演重要角色,如体育场智能照明应用。一个标准OTA接口可确保其固件升级架构通用于不同的节点。因此,虽然一个大型泛光灯和一个走廊灯在功能上不同,但一个基于BLE的标准OTA接口可以在它们之间通用。这意味着,向这些种类各异的设备推送新固件的主机设备可以是一个通用平台。同时这还意味着,可以在一个控制室中升级体育场中所有不同类型的照明灯,而不是对它们进行逐个升级。
-不断变化的需求和新功能:物联网是一个迅速变化和发展的市场,新的产品需求和BLE功能不断涌现。例如,安全威胁和隐私泄露是物联网设备管理领域面临的最大挑战之一。为了防范病毒攻击,设备固件可通过OTA固件升级流程获得最新补丁和更多安全算法。任何物联网系统都由两个部分组成:硬件和固件。在基于SoC的应用中,OTA固件升级功能不仅能够更新固件,而且还能重新配置片上硬件资源。
-紧迫的产品上市需求:物联网系统的设计周期很短,而市场需要持续创新和部署最新功能。一个总的发展进程是:对硬件进行过度设计,以便在一个较长的时期内满足不断升高的市场需求。OTA固件升级可实现渐进式部署。例如,一个恒温器系统最初可以只部署一个热传感器实现快速部署,之后再部署湿度传感器。请注意,这种方法使得硬件设计成为一个深思熟虑的过程,在架构阶段从硬件角度考虑了未来的部署。
物联网领域具有多样性,应用和最终解决方案需求也是如此。某些产品看重成本,而另一些则与众不同,旨在定义新的细分市场。为了保持灵活性,OTA bootloader(引导加载程序)架构应能适应不同的需求。下面我们探讨这种灵活性的驱动因素和架构选项。
虽然OTA固件升级是物联网应用的福音,但产品团队也必须留意和避免一些陷阱。现场升级固件的能力外加紧迫的上市需求有可能给团队带来压力,迫使其太快发布固件。例如,大规模部署产品的竞赛可能让营销人员依赖以下事实:今后可以更新固件。这有可能导致企业发布不稳定、未经过全面验证或优化的软件或产品。产品团队应仔细权衡这些决策的影响,通过运用约束条件达到不过度使用OTA的目的。此外,频繁更新也可能不受最终用户的欢迎。
OTA的基本原理
让我们了解一下OTA固件升级的原理。就基本原理而言,OTA与UART 引导加载程序或USB 引导加载程序等其它引导加载程序没有什么差异。图1显示了一个可升级、基于固件的系统的基本架构。
图1: UART 引导加载程序系统
如图所示,目标设备的非易失性存储器分为两个区:– 引导加载区和应用程序区。存储器的引导加载区存储代码,负责:1) 设备的引导操作;2) 检查主机是否有一个供可引导加载区使用的更新后的固件映像;3) 通过一个UART接口接收更新后的固件映像;4) 将更新后的固件映像写入存储器的可引导加载区。存储器的应用程序区是负责定义系统功能的实际应用代码。
与此类似,为了理解OTA固件升级,可将存储器分为引导加载区和应用程序区。与UART 引导加载程序相比,此处最大的不同是用于从主机接收新固件的接口。OTA固件升级使用一个无线通信接口接收更新后的固件映像。取决于具体应用,逐个接口可能是WiFi、ZigBee、蓝牙或任何其它无线接口。无论何种接口,其过程和基本原理都是相同的。
目前,蓝牙低功耗(BLE)标准无所不在,因为它功耗较低,而且获得了大多数PC和手机的支持,这种普及程度使其成为物联网应用的首选。说到这里,BLE是一个不断演进的标准,几乎每年都有一个新版本发布,其中包含更多新特性,以满足物联网应用不断变化的需求。市场中的各大芯片厂商正在展开一场竞赛,推出遵从新版标准的解决方案。大多数情况下,芯片厂商在几个BLE协议栈、IDE版本中支持这些特性。此外,标准的快速变化给版本之间留下的测试时间也很短。因此,芯片厂商发布的每一个新的BLE协议栈版本通常都会被客户反馈存在缺陷,或由内部团队在测试期间发现缺陷。因此,当使用BLE升级物联网设备时,不仅应用代码需要升级,核心BLE协议栈可能也需要升级。一个合理、可靠的引导加载程序架构应能支持这些不同的应用,而且应足够灵活,能够满足不断变化的应用需求。
对于基于BLE的设备而言,有两种OTA bootloader架构:
1.固定协议栈OTA bootloader
2.可升级协议栈OTA bootloader
固定协议栈OTA bootloader – 在一个固定协议栈OTA bootloader系统中,协议栈不升级,只能升级应用固件。协议栈存储在存储器的写保护/引导加载程序区。图2显示了一个典型的固定协议栈OTA bootloader系统。
图2:基于BLE的固定协议栈OTA bootloader
- AGT International宣布推出面向物联网的分析平台IoTA(09-20)
- SumTotal Systems解决方案助力加州大学管理系统学习(07-02)
- SumTotal推出人才管理软件套件新版本(07-21)
- SumTotal为腾讯公司革新在线学习管理系统(09-30)
- SumTotal人才管理研讨会即将在京召开(10-07)
- SumTotal使手机化身移动人才管理方案(03-17)