CN112486554A - 一种车载联网终端软件升级方法 - Google Patents
一种车载联网终端软件升级方法 Download PDFInfo
- Publication number
- CN112486554A CN112486554A CN202011383069.9A CN202011383069A CN112486554A CN 112486554 A CN112486554 A CN 112486554A CN 202011383069 A CN202011383069 A CN 202011383069A CN 112486554 A CN112486554 A CN 112486554A
- Authority
- CN
- China
- Prior art keywords
- software
- vehicle
- networking terminal
- mounted networking
- remote control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明具体公开了一种车载联网终端软件升级方法,包括以下步骤:(1)、远端控制平台向车载联网终端发送升级通知消息;(2)、合法性验证;(3)、远端控制平台向车载联网终端发送加密软件差分包下载网址、最新版软件MD5校验码;(4)、车载联网终端手机客户端提示用户软件升级;(5)、车载联网终端获取加密软件差分包,完成加密软件差分包完整性验证;(6)、车载联网终端解密软件差分包,并使用解密后的差分包及旧版本软件通过还原算法得到最新版本的软件;(7)、车载联网终端完成最新版本的软件完整性和准确性验证;(8)、车载联网终端写入最新版本的软件后,完成软件的升级。本发明克服了传统上车载控制器有线升级时,必须到指定地点,给用户以及生产厂商带来的不便等问题。
Description
技术领域
本发明涉及技术领域,具体为一种车载联网终端软件升级方法。
背景技术
近年来,随着车载联网的快速发展,同时国家大力发展智能网联汽车等新兴技术领域,给车载控制器无线升级带来了技术基础。而车载联网终端技术的快速发展,使得无线升级(OTA)成为可能。
现有技术主要通过基于CAN总线的有线升级的方法实现车载控制器软件的升级,需要指定的场合才能完成该流程,一般在4S店,或者设备供应商上门通过PC有线方式进行软件升级,给设备用户的使用带来极大不便,同时也增加了生产商的后期维护成本。而本发明提出一种无线升级方法,实现车载联网终端软件的远程无线升级,以解决上述缺点。同时方案也保留了基于CAN总线的有线升级方式,以适应更多的应用场景。
发明内容
本发明的目的在于提供一种车载联网终端软件升级方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种车载联网终端软件升级方法,车载联网终端与远端控制平台进行无线通讯,由车载联网终端与远端控制平台进行数据交互,实现车载联网终端中软件升级:包括以下步骤:
(1)、远端控制平台计算当前软件版本信息,基于计算结果向车载联网终端发送升级通知消息;
(2)、车载联网终端接收升级通知消息后,与远端控制平台进行合法性验证;
(3)、车载联网终端合法性验证通过后,由远端控制平台向车载联网终端发送软件差分包下载网址、软件MD5校验码,其中软件MD5校验码包括加密的软件差分包校验码、最新版软件明文的完整性校验码两个校验码;
(4)、车载联网终端在完整接收控制平台反馈的数据后,同时在手机客户端提示用户有新版本的软件可以进行升级,用户可以根据实际情况选择软件升级何时开始,若用户选择暂不更新,每隔一段时间提示用户确认软件更新;
(5)、在步骤(4)中用户选择确定软件更新后,车载联网终端通过HTTPS协议访问软件差分包下载网址,下载获取加密的软件差分包,在加密的软件差分包下载完成后,利用车载联网终端预设的文件完整性校验程序开始读取加密的软件差分包,并将其按照64字节大小分成N个数据分组,并从第一个数据分组开始使用MD5算法依次叠加计算完所有N个数据分组的MD5校验和,从而得到加密的软件差分包的MD5值;车载联网终端将该MD5值与从远端控制平台上获得的加密软件差分包MD5校验码进行比对,若比对结果为匹配成功,则判定下载的软件差分包通过完整性校验;否则,判定不通过;在校验通过后,车载联网终端置位升级标志,保存升级所需的数据存储于外置存储器中,并启用看门狗程序,复位系统,结束应用程序的运行,使系统重新启动,开始运行引导加载程序(BootLoader);
(6)、在系统重新启动后,车载联网终端运行引导加载程序(BootLoader),首先对步骤(5)中下载并已经通过一次软件完整性校验的加密软件差分包,再一次进行软件完整性校验,在该加密软件差分包通过完整性校验后,使用解密算法,将处于加密状态的软件差分包解密为明文差分包;之后使用差分还原算法,将明文差分包和旧版本的软件作为差分还原算法的输入参数进行计算,由此还原得到最新版本的软件;
(7)、车载联网终端采用软件完整性校验程序对步骤(6)还原得到的最新版本的软件进行计算,得到最新版本软件的MD5值,并由车载联网终端将计算得到的最新版本软件的MD5值,与从远端控制平台获得最新版软件的MD5校验码进行比对,若比对结果为匹配,则判定通过差分还原算法得到的最新版本的软件通过软件完整性校验,否则,判定不通过;
(8)、在步骤(7)中得到的最新版软件通过软件完整性校验后,车载联网终端中的引导加载程序(BootLoader)通过内存数据擦除操作,擦除内存中应用程序区的旧版本软件,之后使用内存数据写入操作将最新版本的软件写入应用程序区,若写入成功,则清除系统软件升级的标识,跳转到应用程序区的起始位置,转而开始运行新版本应用程序,结束引导加载程序(BootLoader)的运行,完成车载联网终端软件的升级,同时车载联网终端通过订阅的MQTTS协议主题,告知远端控制平台升级成功;若写入出错,则将存储于外置存储器中的旧版本软件写入内存中的应用程序区,重新运行旧版本软件,并上报远端控制平台,在合适的条件下,重新进行软件的升级。
所述的一种车载联网终端软件升级方法,步骤(1)中,远端控制平台计算自身最新存储的当前软件的版本号,并与原有的软件版本号进行比较,若自身最新存储的当前软件的版本号大于原有的软件版本号,则判断存在新版本的软件,此时由远端控制平台向车载联网终端发送升级通知消息。
所述的一种车载联网终端软件升级方法,步骤(1)中,车载联网终端通过MQTTS协议订阅该型号设备软件升级远程控制平台的升级主题,在远程控制平台有新版本软件发布时,将会向订阅该主题的车载联网终端发送需要升级的消息。
所述的一种车载联网终端软件升级方法,步骤(2)中合法性验证过程为:车载联网终端接收升级通知消息后,向远端控制平台发送车载联网终端的ID号;远端控制平台预存所有合法的车载联网终端的ID号,并将接收到的车载联网终端的ID号与预存的所有ID号进行匹配,若匹配通过,则远端控制平台判断车载联网终端为合法的,完成车载联网终端的合法性验证;远端控制平台认证通过后,将向车载联网终端发送成功认证的标识。
所述的一种车载联网终端软件升级方法,步骤(2)中,车载联网终端基于HTTPS协议的PSOT方式向远端控制平台发送ID号。
所述的一种车载联网终端软件升级方法,步骤(3)中,车载联网终端合法性验证通过后,首先向远端控制平台发送车载联网终端当前软件的版本号;远端控制平台将接收的车载联网终端当前运行的软件版本号,与远端控制平台中的最新软件版本号进行比对,若车载联网终端当前软件的版本号小于远端控制平台中最新软件版本号,由远端控制平台向车载联网终端发送软件差分包下载网址、软件MD5校验码,其中软件MD5校验码包括软件差分包校验码、最新版软件的明文校验码两个校验码。
所述的一种车载联网终端软件升级方法,步骤(5)中,车载联网终端在下载差分包时,首先根据远端控制平台下发的差分包文件的大小将整包按照定长将其分成多组数据包进行下载,每下载一个分组的软件差分包后,由车载联网终端对该分组进行编号并记录,若出现下载中断,则在重新下载时根据编号确定下载中断点,并从下载中断点处继续下载。
所述的一种车载联网终端软件升级方法,步骤(6)中,车载联网终端采用差分还原算法,将软件差分包和旧版本的软件作为差分还原算法的输入参数进行计算,由此还原得到最新版本的软件。
一种车载联网终端软件升级方法,所述车载联网终端与PC上位机通过CAN通讯总线进行通讯,由车载联网终端与PC上位机进行数据交互,实现车载联网终端中软件的升级:过程如下:
PC上位机对车载联网终端进行合法性验证,若验证通过,则由PC上位机向车载联网终端发送加密差分包、软件差分包MD5校验码和最新版软件MD5校验码;
车载联网终端接收完数据后,对接收到的加密差分包使用软件完整性校验算法计算其MD5值,并与PC上位机发送的加密软件差分包MD5校验码进行比对,若比对匹配成功,则判定加密差分包通过完整性验证,否则,判定不通过;
然后车载联网终端使用解密算法,将加密差分包解密为不加密的差分包,接着使用差分还原算法,利用解密后的差分包和旧版本的软件进行还原处理,得到最新版的软件;
最后,由车载联网终端使用软件完整性校验算法计算出最新版软件的MD5值,与从PC上位机接收到的最新版软件MD5校验码进行比对,若比对匹配成功,则车载联网终端使用内存数据擦除操作,将旧版本的软件擦除掉,之后使用内存数据写入操作将最新版本的软件写入到应用程序内存区,若写入成功,则运行最新版本的软件,完成车载联网终端软件的升级,若写入出错,则将存储于外置存储器中的旧版本软件重新写入车载网联终端内存应用程序区,并上报PC上位机,重新进行软件的升级。
与现有技术相比,本发明的有益效果是:
本发明提出一种车载联网终端软件升级方法,可实现车载联网终端软件的远程无线升级,克服有线升级时给用户以及生厂商带来的不变等问题。本发明具备完整的认证和校验机制,能确保软件升级的正确性和安全性,同时具备完善的异常处理机制,可实现断点续传和软件版本的恢复。本发明采用先进的差分算法,生成的软件差分包,可以大大降低网络流量的消耗,以及网络传输的时间。同时,本发明也具有基于CAN通讯总线的有线升级功能,能够适应更多的应用场景。
附图说明
图1为本发明无线升级过程流程框图;
图2为本发明有线升级过程流程框图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“竖直”、“上”、“下”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
请参阅图1-2,本发明提供一种技术方案:如图1所示,一种车载联网终端软件升级方法,车载联网终端与远端控制平台进行无线通讯,由车载联网终端与远端控制平台进行数据交互,实现车载联网终端中软件升级,包括以下步骤:
(1)、远端控制平台计算当前软件版本信息,基于计算结果向车载联网终端发送升级通知消息。
远端控制平台计算自身最新存储的当前软件的版本号,并与原有的软件版本号进行比较,若自身最新存储的当前软件的版本号大于原有的软件版本号,则判定存在新版本的软件,此时由远端控制平台向车载联网终端发送升级通知消息。
车载联网终端通过MQTTS协议订阅该型号设备软件升级远程控制平台的升级主题,在远程控制平台有新版本软件发布时,将会向订阅该主题的车载联网终端发送需要升级的消息。
(2)、车载联网终端接收升级通知消息后,与远端控制平台进行合法性验证,合法性验证过程为:车载联网终端接收升级通知消息后,向远端控制平台发送车载联网终端的ID号;远端控制平台预存所有合法的车载联网终端的ID号,并将接收到的车载联网终端的ID号与预存的所有ID号进行匹配,若匹配通过,则远端控制平台判断车载联网终端为合法的,完成车载联网终端的合法性验证。远端控制平台认证通过后,将向车载联网终端发送成功认证的标识。
(3)、车载联网终端合法性验证通过后,首先向远端控制平台发送车载联网终端当前软件的版本号;远端控制平台将接收的车载联网终端当前运行的软件版本号,与远端控制平台中的最新软件版本号进行比对,若车载联网终端当前软件的版本号小于远端控制平台中最新软件版本号,由远端控制平台向车载联网终端发送软件差分包下载网址、软件MD5校验码,其中软件MD5校验码包括加密软件差分包校验码、最新版软件的明文校验码。
(4)、车载联网终端在完整接收控制平台反馈的数据后,同时在手机客户端提示用户有新版本的软件可以进行升级,用户可以根据实际情况选择软件升级何时开始。
(5)、在用户选择开始软件更新后,将激活软件中的联网下载任务,访问软件差分包下载网址,由车载联网终端通过HTTPS协议的GET方式,完成加密软件差分包的下载。车载联网终端在下载差分包时,首先根据远端控制平台下发的差分包文件的大小将整包按照定长将其分成多组数据包进行下载,每下载一个分组的软件差分包后,由车载联网终端对该分组进行编号并记录,若出现下载中断,则在重新下载时根据编号确定下载中断点,并从下载中断点处继续下载。
在加密的软件差分包下载完成后,利用车载联网终端预设的文件完整性校验程序开始读取加密的软件差分包,并将其按照64字节大小分成N个数据分组,并从第一个数据分组开始使用MD5算法依次叠加计算完所有N个数据分组的MD5校验和,从而得到加密的软件差分包的MD5值。车载联网终端将该MD5值与从远端控制平台上获得的加密软件差分包MD5校验码进行比对,若比对结果为匹配成功,则判定下载的软件差分包通过完整性校验。在校验通过后,车载联网终端置位升级标志,保存升级所需的数据于外置存储器中,并启用看门狗程序,复位系统,结束应用程序的运行,使系统重新启动;开始运行引导加载程序(BootLoader);
(6)、在系统重新启动后,车载联网终端运行引导加载程序(BootLoader),首先对步骤(5)中下载并已经通过一次软件完整性校验的加密软件差分包,再一次进行软件完整性校验,在该加密软件差分包通过完整性校验后,使用解密算法,将处于加密状态的软件差分包解密为明文差分包。车载联网终端采用差分还原算法,将明文差分包和旧版本的软件作为差分还原算法的输入参数进行计算,由此还原得到最新版本的软件。
(7)、车载联网终端使用文件完整性校验程序对步骤(6)还原得到的最新版本的软件进行读取,将其按照64字节大小分成N个数据分组,并从第一个数据分组开始使用MD5算法依次叠加计算完所有N个数据分组的MD5校验和,从而得到最新版软件的MD5值。车载联网终端并与步骤(3)中获得的最新版软件MD5校验码进行比对,若比对匹配成功,则判定还原的最新版本的软件通过完整性校验。否则,判定不通过。
(8)、在步骤(7)中的到的最新版软件通过软件完整性校验后,则车载联网终端中的引导加载程序(BootLoader)通过内存数据擦除操作,擦除内存中应用程序区的旧版本软件,之后使用内存数据写入操作将最新版本的软件写入应用程序区,若写入成功,则清除系统软件升级的标识,跳转到应用程序区的起始位置,转而开始运行新版本应用程序,结束引导加载程序(BootLoader)的运行,完成车载联网终端软件的升级,同时车载联网终端通过订阅的MQTTS协议主题,告知远端控制平台升级成功。若写入出错,则将存储于外置存储器中的旧版本软件写入内存中的应用程序区,重新运行旧版本软件,并上报远端控制平台,在合适的条件下,重新进行软件的升级。
如图2所示,一种车载联网终端软件升级方法,所述车载联网终端与PC上位机通过CAN通讯总线进行通讯,由车载联网终端与PC上位机进行数据交互,实现车载联网终端中软件的升级:过程如下:
PC上位机对车载联网终端进行合法性验证,若验证通过,则由PC上位机向车载联网终端发送加密差分包、软件差分包MD5校验码和最新版软件MD5校验码;
车载联网终端接收完数据后,对接收到的加密差分包使用软件完整性校验算法计算其MD5值,并与PC上位机发送的加密软件差分包MD5校验码进行比对,若比对匹配成功,则判定加密差分包通过完整性验证,否则,判定不通过;
然后车载联网终端使用解密算法,将加密差分包解密为不加密的差分包,接着使用差分还原算法,利用解密后的差分包和旧版本的软件进行还原处理,得到最新版的软件;
最后,由车载联网终端使用软件完整性校验算法计算出最新版软件的MD5值,与从PC上位机接收到的最新版软件MD5校验码进行比对,若比对匹配成功,则车载联网终端使用内存数据擦除操作,将旧版本的软件擦除掉,之后使用内存数据写入操作将最新版本的软件写入到应用程序内存区,若写入成功,则运行最新版本的软件,完成车载联网终端软件的升级,若写入出错,则将存储于外置存储器中的旧版本软件重新写入车载网联终端内存应用程序区,并上报PC上位机,重新进行软件的升级。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (9)
1.一种车载联网终端软件升级方法,车载联网终端与远端控制平台进行无线通讯,由车载联网终端与远端控制平台进行数据交互,实现车载联网终端中软件升级,其特征在于:包括以下步骤:
(1)、远端控制平台计算当前软件版本信息,基于计算结果向车载联网终端发送升级通知消息;
(2)、车载联网终端接收升级通知消息后,与远端控制平台进行合法性验证;
(3)、车载联网终端合法性验证通过后,由远端控制平台向车载联网终端发送软件差分包下载网址、软件MD5校验码,其中软件MD5校验码包括加密的软件差分包校验码、最新版软件明文的完整性校验码两个校验码;
(4)、车载联网终端在完整接收控制平台反馈的数据后,同时在手机客户端提示用户有新版本的软件可以进行升级,用户可以根据实际情况选择软件升级何时开始,若用户选择暂不更新,每隔一段时间提示用户确认软件更新;
(5)、在步骤(4)中用户选择确定软件更新后,将激活软件中的联网下载任务,车载联网终端通过HTTPS协议访问软件差分包下载网址,下载获取加密的软件差分包,在加密的软件差分包下载完成后,利用车载联网终端预设的文件完整性校验程序开始读取加密的软件差分包,并将其按照64字节大小分成N个数据分组,并从第一个数据分组开始使用MD5算法依次叠加计算完所有N个数据分组的MD5校验和,从而得到加密的软件差分包的MD5值;车载联网终端将该MD5值与从远端控制平台上获得的加密软件差分包MD5校验码进行比对,若比对结果为匹配成功,则判定下载的软件差分包通过完整性校验;否则,判定不通过;在校验通过后,车载联网终端置位升级标志,保存升级所需的数据存储于外置存储器中,并启用看门狗程序,复位系统,结束应用程序的运行,使系统重新启动,开始运行引导加载程序(BootLoader);
(6)、在系统重新启动后,车载联网终端运行引导加载程序(BootLoader),首先对步骤(5)中下载并已经通过一次软件完整性校验的加密软件差分包再一次进行软件完整性校验,在该加密软件差分包通过完整性校验后,使用解密算法,将处于加密状态的软件差分包解密为明文差分包;之后使用差分还原算法,将明文差分包和旧版本的软件作为差分还原算法的输入参数进行计算,由此还原得到最新版本的软件;
(7)、车载联网终端采用软件完整性校验程序对步骤(6)还原得到的最新版本的软件进行计算,得到最新版本软件的MD5值,并由车载联网终端将计算得到的最新版本软件的MD5值,与从远端控制平台获得最新版软件的MD5校验码进行比对,若比对结果为匹配,则判定通过差分还原算法得到的最新版本的软件通过软件完整性校验;否则,判定不通过;
(8)、在步骤(7)中得到的最新版软件通过软件完整性校验后,车载联网终端中的引导加载程序(BootLoader)通过内存数据擦除操作,擦除内存中应用程序区的旧版本软件,之后使用内存数据写入操作将最新版本的软件写入应用程序区,若写入成功,则清除系统软件升级的标识,跳转到应用程序区的起始位置,转而开始运行新版本应用程序,结束引导加载程序(BootLoader)的运行,完成车载联网终端软件的升级,同时车载联网终端通过订阅的MQTTS协议主题,告知远端控制平台升级成功,若写入出错,则将存储于外置存储器中的旧版本软件写入内存中的应用程序区,重新运行旧版本软件,并上报远端控制平台,在合适的条件下,重新进行软件的升级。
2.根据权利要求1所述的一种车载联网终端软件升级方法,其特征在于:步骤(1)中,远端控制平台计算自身最新存储的当前软件的版本号,并与原有的软件版本号进行比较,若自身最新存储的当前软件的版本号大于原有的软件版本号,则判断存在新版本的软件,此时由远端控制平台向车载联网终端发送升级通知消息。
3.根据权利要求1或2所述的一种车载联网终端软件升级方法,其特征在于:步骤(1)中,车载联网终端通过MQTTS协议订阅该型号设备软件升级远程控制平台的升级主题,在远程控制平台有新版本软件发布时,将会向订阅该主题的车载联网终端发送需要升级的消息。
4.根据权利要求1所述的一种车载联网终端软件升级方法,其特征在于:步骤(2)中合法性验证过程为:车载联网终端接收升级通知消息后,向远端控制平台发送车载联网终端的ID号;远端控制平台预存所有合法的车载联网终端的ID号,并将接收到的车载联网终端的ID号与预存的所有ID号进行匹配,若匹配通过,则远端控制平台判断车载联网终端为合法的,完成车载联网终端的合法性验证;远端控制平台认证通过后,将向车载联网终端发送成功认证的标识。
5.根据权利要求1所述的一种车载联网终端软件升级方法,其特征在于:步骤(2)中,车载联网终端基于HTTPS协议的PSOT方式向远端控制平台发送ID号。
6.根据权利要求1所述的一种车载联网终端软件升级方法,其特征在于:步骤(3)中,车载联网终端合法性验证通过后,首先向远端控制平台发送车载联网终端当前软件的版本号;远端控制平台将接收的车载联网终端当前运行的软件版本号,与远端控制平台中的最新软件版本号进行比对,若车载联网终端当前软件的版本号小于远端控制平台中最新软件版本号,由远端控制平台向车载联网终端发送软件差分包下载网址、软件MD5校验码,其中软件MD5校验码包括加密软件差分包校验码、最新版软件的明文校验码两个校验码。
7.根据权利要求1所述的一种车载联网终端软件升级方法,其特征在于:步骤(5)中,车载联网终端在下载差分包时,首先根据远端控制平台下发的差分包文件的大小将整包按照定长将其分成多组数据包进行下载,每下载一个分组的软件差分包后,由车载联网终端对该分组进行编号并记录,若出现下载中断,则在重新下载时根据编号确定下载中断点,并从下载中断点处继续下载。
8.根据权利要求1所述的一种车载联网终端软件升级方法,其特征在于:步骤(6)中,车载联网终端采用差分还原算法,将软件差分包和旧版本的软件作为差分还原算法的输入参数进行计算,由此还原得到最新版本的软件。
9.一种车载联网终端软件升级方法,所述车载联网终端与PC上位机通过CAN通讯总线进行通讯,由车载联网终端与PC上位机进行数据交互,实现车载联网终端中软件的升级,其特征在于:过程如下:
PC上位机对车载联网终端进行合法性验证,若验证通过,则由PC上位机向车载联网终端发送加密差分包、软件差分包MD5校验码和最新版软件MD5校验码;
车载联网终端接收完数据后,对接收到的加密差分包使用软件完整性校验算法计算其MD5值,并与PC上位机发送的加密软件差分包MD5校验码进行比对,若比对匹配成功,则判定加密差分包通过完整性验证,否则,判定不通过;
然后车载联网终端使用解密算法,将加密差分包解密为不加密的差分包,接着使用差分还原算法,利用解密后的差分包和旧版本的软件进行还原处理,得到最新版的软件;
最后,由车载联网终端使用软件完整性校验算法计算出最新版软件的MD5值,与从PC上位机接收到的最新版软件MD5校验码进行比对,若比对匹配成功,则车载联网终端使用内存数据擦除操作,将旧版本的软件擦除掉,之后使用内存数据写入操作将最新版本的软件写入到应用程序内存区,若写入成功,则运行最新版本的软件,完成车载联网终端软件的升级,若写入出错,则将存储于外置存储器中的旧版本软件重新写入车载网联终端内存应用程序区,并上报PC上位机,重新进行软件的升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011383069.9A CN112486554B (zh) | 2020-12-01 | 2020-12-01 | 一种车载联网终端软件升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011383069.9A CN112486554B (zh) | 2020-12-01 | 2020-12-01 | 一种车载联网终端软件升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112486554A true CN112486554A (zh) | 2021-03-12 |
CN112486554B CN112486554B (zh) | 2022-11-08 |
Family
ID=74938312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011383069.9A Active CN112486554B (zh) | 2020-12-01 | 2020-12-01 | 一种车载联网终端软件升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112486554B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064626A (zh) * | 2021-03-22 | 2021-07-02 | 厦门市车泊易交通设备有限公司 | 一种路边停车设备远程升级检测方法 |
CN113079213A (zh) * | 2021-04-06 | 2021-07-06 | 网经科技(苏州)有限公司 | 远程升级网关安审插件的安全升级方法 |
CN113190247A (zh) * | 2021-04-27 | 2021-07-30 | 蘑菇物联技术(深圳)有限公司 | 控制器的人机界面升级方法、装置和计算机可读存储介质 |
CN113568641A (zh) * | 2021-08-02 | 2021-10-29 | 成都长城开发科技有限公司 | 无线升级系统 |
CN113791800A (zh) * | 2021-08-13 | 2021-12-14 | 江铃汽车股份有限公司 | 一种自动泊车控制模块远程升级方法、系统及汽车 |
CN114567628A (zh) * | 2022-02-28 | 2022-05-31 | 中汽创智科技有限公司 | 一种ota升级方法和装置 |
CN114756270A (zh) * | 2022-06-16 | 2022-07-15 | 中汽数据(天津)有限公司 | 自动驾驶系统固件升级方法和自动驾驶系统 |
CN115129354A (zh) * | 2022-05-27 | 2022-09-30 | 深圳市几米物联有限公司 | 车载定位器升级系统及方法 |
CN115242634A (zh) * | 2022-07-05 | 2022-10-25 | 蔚来汽车科技(安徽)有限公司 | 软件升级方法、设备和存储介质 |
CN115373721A (zh) * | 2022-08-06 | 2022-11-22 | 佛山市银河兰晶科技股份有限公司 | 一种智能led的ota升级方法及系统 |
CN115421756A (zh) * | 2022-09-16 | 2022-12-02 | 杭州云动智能汽车技术有限公司 | 一种服务型网关升级方法 |
CN116974616A (zh) * | 2023-07-14 | 2023-10-31 | 红石阳光(北京)科技股份有限公司 | 一种通过u盘升级整车所有电控单元的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495744A (zh) * | 2011-11-29 | 2012-06-13 | 湖南南车时代电动汽车股份有限公司 | 基于can总线的电动汽车电控设备控制软件升级方法 |
CN105978921A (zh) * | 2016-07-29 | 2016-09-28 | 重庆长安汽车股份有限公司 | 一种车载通信终端远程升级方法 |
CN106293793A (zh) * | 2015-06-02 | 2017-01-04 | 西安中兴新软件有限责任公司 | 一种终端的软件升级方法、装置和系统 |
CN107391143A (zh) * | 2017-07-27 | 2017-11-24 | 中通客车控股股份有限公司 | 一种T‑Box远程升级方法 |
CN111343064A (zh) * | 2020-02-29 | 2020-06-26 | 东风汽车集团有限公司 | 汽车控制系统软件升级系统及方法 |
-
2020
- 2020-12-01 CN CN202011383069.9A patent/CN112486554B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495744A (zh) * | 2011-11-29 | 2012-06-13 | 湖南南车时代电动汽车股份有限公司 | 基于can总线的电动汽车电控设备控制软件升级方法 |
CN106293793A (zh) * | 2015-06-02 | 2017-01-04 | 西安中兴新软件有限责任公司 | 一种终端的软件升级方法、装置和系统 |
CN105978921A (zh) * | 2016-07-29 | 2016-09-28 | 重庆长安汽车股份有限公司 | 一种车载通信终端远程升级方法 |
CN107391143A (zh) * | 2017-07-27 | 2017-11-24 | 中通客车控股股份有限公司 | 一种T‑Box远程升级方法 |
CN111343064A (zh) * | 2020-02-29 | 2020-06-26 | 东风汽车集团有限公司 | 汽车控制系统软件升级系统及方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064626A (zh) * | 2021-03-22 | 2021-07-02 | 厦门市车泊易交通设备有限公司 | 一种路边停车设备远程升级检测方法 |
CN113079213A (zh) * | 2021-04-06 | 2021-07-06 | 网经科技(苏州)有限公司 | 远程升级网关安审插件的安全升级方法 |
CN113190247A (zh) * | 2021-04-27 | 2021-07-30 | 蘑菇物联技术(深圳)有限公司 | 控制器的人机界面升级方法、装置和计算机可读存储介质 |
CN113568641B (zh) * | 2021-08-02 | 2024-02-23 | 成都长城开发科技股份有限公司 | 无线升级系统 |
CN113568641A (zh) * | 2021-08-02 | 2021-10-29 | 成都长城开发科技有限公司 | 无线升级系统 |
CN113791800A (zh) * | 2021-08-13 | 2021-12-14 | 江铃汽车股份有限公司 | 一种自动泊车控制模块远程升级方法、系统及汽车 |
CN114567628A (zh) * | 2022-02-28 | 2022-05-31 | 中汽创智科技有限公司 | 一种ota升级方法和装置 |
CN114567628B (zh) * | 2022-02-28 | 2024-03-08 | 中汽创智科技有限公司 | 一种ota升级方法和装置 |
CN115129354A (zh) * | 2022-05-27 | 2022-09-30 | 深圳市几米物联有限公司 | 车载定位器升级系统及方法 |
CN114756270A (zh) * | 2022-06-16 | 2022-07-15 | 中汽数据(天津)有限公司 | 自动驾驶系统固件升级方法和自动驾驶系统 |
CN115242634A (zh) * | 2022-07-05 | 2022-10-25 | 蔚来汽车科技(安徽)有限公司 | 软件升级方法、设备和存储介质 |
CN115242634B (zh) * | 2022-07-05 | 2024-03-12 | 蔚来汽车科技(安徽)有限公司 | 软件升级方法、设备和存储介质 |
CN115373721B (zh) * | 2022-08-06 | 2023-03-14 | 佛山市银河兰晶科技股份有限公司 | 一种智能led的ota升级方法及系统 |
CN115373721A (zh) * | 2022-08-06 | 2022-11-22 | 佛山市银河兰晶科技股份有限公司 | 一种智能led的ota升级方法及系统 |
CN115421756B (zh) * | 2022-09-16 | 2023-07-18 | 杭州云动智能汽车技术有限公司 | 一种服务型网关升级方法 |
CN115421756A (zh) * | 2022-09-16 | 2022-12-02 | 杭州云动智能汽车技术有限公司 | 一种服务型网关升级方法 |
CN116974616A (zh) * | 2023-07-14 | 2023-10-31 | 红石阳光(北京)科技股份有限公司 | 一种通过u盘升级整车所有电控单元的方法 |
CN116974616B (zh) * | 2023-07-14 | 2024-03-15 | 红石阳光(北京)科技股份有限公司 | 一种通过u盘升级整车所有电控单元的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112486554B (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112486554B (zh) | 一种车载联网终端软件升级方法 | |
CN107992321B (zh) | Ecu软件更新方法、装置、车载t-box及车辆 | |
CN107193612B (zh) | 一种移动终端的版本升级方法及装置 | |
CN107729757B (zh) | 软件更新之前的软件认证 | |
EP1533695B1 (en) | Updating data in a mobile terminal | |
EP2704053B1 (en) | Method and system for updating a firmware of a security module | |
CN105978921A (zh) | 一种车载通信终端远程升级方法 | |
CN104468784A (zh) | 一种通过dsrc接口实现车载单元软件升级的系统及方法 | |
CN112181455B (zh) | 微控制器的在线升级方法、微控制器及存储介质 | |
CN113190249A (zh) | 基于ota的车控指令块软件包的下载方法、装置及系统 | |
CN105118100A (zh) | 车载电子标签程序更新方法、移动终端及程序更新系统 | |
CN113885907A (zh) | 一种固件升级系统及方法 | |
CN114268614A (zh) | 一种设备固件升级方法、装置及系统 | |
KR100453504B1 (ko) | 소프트웨어 인증 방법 및 시스템 | |
CN114691174A (zh) | 一种车载软件升级方法、装置及设备 | |
CN112925538B (zh) | 设备更新方法、系统及装置 | |
CN114928602A (zh) | 加密方法、解密方法及ota升级系统 | |
CN114780122A (zh) | 嵌入式设备固件更新方法以及嵌入式设备 | |
CN112346772A (zh) | 一种增量更新的方法、装置及存储介质 | |
CN112312213A (zh) | 数字电视系统的升级方法及相关装置 | |
CN113326055B (zh) | 一种设备更新方法及相关装置 | |
CN113242276B (zh) | 车载系统在线升级方法、装置、设备及存储介质 | |
CN108710495A (zh) | 电子标签程序更新方法、电子标签及存储介质 | |
CN118283597A (zh) | 一种车辆升级方法、存储介质、电子设备及车辆 | |
CN113641379A (zh) | 一种ota的升级方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |