当前位置:网站首页>物联网OTA技术介绍
物联网OTA技术介绍
2022-07-07 15:43:00 【酱酱酱子】
上一篇《远程升级怕截胡?详解FOTA安全升级》得到了OSC的推荐,十分感谢官方厚爱。发现很多小伙伴对OTA技术还是比较好奇,本次再次对OTA技术做一个详细的介绍,感兴趣的话一起看下去吧!
OTA技术体系
物联网的OTA升级技术主要指:各种物联网终端通过网络下载远程服务器上的升级包,并完成对物联网终端系统或者应用等软件升级到新版本的端云一体化融合技术。
从定义可以看出,OTA技术最主要的就是对设备软件进行升级,总的来说OTA技术体系包括:
- 软件版本管理:运行在终端上的软件版本进行统一管理;
- 任务发布管理:对部署的终端进行远程OTA升级任务管理;
- 连接下载管道:如何与各种无线/有线网络融合实现下载业务;
- 端侧升级能力:终端将新版软件系统更新到自身系统区域;
- 安全稳定保障:整个OTA业务的安全性和稳定性保障;
- 升级交互体验:OTA业务对终端及其用户的升级体验。
OTA技术分类
OTA技术可以通过多种方式进行分类,包括升级能力、升级目标、升级过程等,但不管采用何种技术方案,首先要保障OTA技术的成功率。下面对具体的技术方案进行介绍。
升级能力分类
整包升级:整包就是包含整个system分区的数据文件,它是最常见的升级方式,实现起来也比较简单,但缺点也很明显,包括升级包大、消耗流量大、升级时间久等。
压缩升级:压缩升级就是先将待升级的固件用工具压缩,然后将压缩后的升级文件由云端推送到待升级设备端,待升级设备通过解压缩算法解压,最后完成升级过程。压缩后一般可以达到整包的70%左右,缺点是耗流量较大,解压升级时间长,存储资源要求较高,对设备内存也要求较高。
差分升级:也叫增量升级或者补丁升级,升级包最小,消耗流量最小,升级效率高,占用内存和存储资源适中。但是升级包的制作需要差分算法支持,新旧固件一起参与,当更新的产品存在多种不同版本时,差分关系管理和维护复杂。
升级目标分类
FOTA:Firmware Over the Air ,固件升级,升级主程序固件,一般需要系统重启进入Bootloader中重新刷鞋应用固件到APP分区。
SOTA:Software Over The Air,应用升级,主要升级运行在操作系统之上的软件应用程序,需要软件架构及操作系统支持,比如Linux 和Andr oid等,升级过程不需要系统重启。
升级过程分类
乒乓升级:即AB升级,两个大小相同的分区APP1、APP2,如果当前在APP1分区执行代码,升级时就把固件下载到APP2分区。升级成功后设备重启,模组切换到APP2分区执行;下次再去APP1分区升级,依次轮换。这种升级方式上电后在对应APP分区直接执行就可以,启动速度块,但也由于代码在两个APP分区切换,使得代码维护不便且易出错。
拷贝升级:本地升级,固件只需要在一个APP分区执行,方便,不易出错,bootload启动时需要从download分区进行拷贝,速度较慢。
下载方式分类
前台下载:新固件在APP运行期间下载,固件下载属于应用程序功能的一部分,下载过程中,应用可以正常使用,缺点是需要单独的下载分区,资源占用较大。
后台下载:启动BootLoader后进行下载,新固件直接覆盖旧固件,可以不必增设下载分区,节约端侧资源,下载过程中应用程序无法运行,在无单独的下载分区时升级,一旦失败,设备容易“变砖”。
OTA市场情况
总的来说,OTA市场存在研发投入成本大、需要端+云+业务逻辑三方配合,过于碎片化和复杂化、涉及芯片、OS、连接和场景等多种方面,同时无法做出准确的可靠性评估等技术方面的痛点;从商业角度而言,OTA本身是一个刚需中低频的功能,部分产品会认为其是可有可无的,产品售卖后也很难去做售后的支持和维护,从性价比更多考虑第三方而不是自研。
但目前物联网市场正在高速发展,万物互通联动的频率只会不断提高,许多以前一装用十年,十年不用管的设备也在不断的与时俱进。从长远来看,产品具备和支持OTA升级能力将成为后续选型开发的一个关键技术指标。
就像上篇博文中提到的一样,系统具备OTA升级能力,能帮助客户在项目进展过程中加速产品上线,在产品发布后方便的进行功能缺陷修复和产品性能优化,后续维护过程中也能及时的导入新功能,增强产品体验,在提高售后效率的同时降低运维成本。
有这么多的好处,为什么不考虑一下呢?
据了解,OneOS OTA云平台已提供版本管理、策略管理、安全升级等能力,在深圳迪沃儿童手表、广州创乐奇共享充电桩等项目中完成落地应用。在未来,OneOS将持续扩展基础能力,为客户提供更加丰富的服务,让我们一起期待吧!
边栏推荐
- Notification is the notification displayed in the status bar of the phone
- TabHOST 选项卡的功能和用法
- 深入浅出图解CNN-卷积神经网络
- L1-025 正整数A+B(Lua)
- How to implement safety practice in software development stage
- Target detection 1 -- actual operation of Yolo data annotation and script for converting XML to TXT file
- Function and usage of numberpick
- Mrs offline data analysis: process OBS data through Flink job
- Simple loading animation
- 第3章业务功能开发(安全退出)
猜你喜欢
Target detection 1 -- actual operation of Yolo data annotation and script for converting XML to TXT file
Vscode three configuration files about C language
第3章业务功能开发(用户登录)
【TPM2.0原理及应用指南】 16、17、18章
Use onedns to perfectly solve the optimization problem of office network
2021-06-28
深度学习-制作自己的数据集
2021-06-28
【TPM2.0原理及应用指南】 9、10、11章
Supplementary instructions to relevant rules of online competition
随机推荐
swiper左右切换滑块插件
第3章业务功能开发(用户登录)
Run Yolo v5-5.0 and report an error. If the sppf error cannot be found, solve it
MySQL index hit level analysis
textSwitch文本切换器的功能和用法
L1-025 正整数A+B(Lua)
LeetCode 497(C#)
无法链接远程redis服务器(解决办法百分百)
做软件测试 掌握哪些技术才能算作 “ 测试高手 ”?
深度学习-制作自己的数据集
LeetCode 890(C#)
本周小贴士#141:注意隐式转换到bool
Numberpick的功能和用法
toast会在程序界面上显示一个简单的提示信息
深入浅出【机器学习之线性回归】
Vscode three configuration files about C language
Robot engineering lifelong learning and work plan-2022-
LeetCode 535(C#)
什么是敏捷测试
面试官:页面很卡的原因分析及解决方案?【测试面试题分享】