CN109725921B - 一种vci设备固件更新的方法、装置及汽车故障诊断仪 - Google Patents
一种vci设备固件更新的方法、装置及汽车故障诊断仪 Download PDFInfo
- Publication number
- CN109725921B CN109725921B CN201910012440.1A CN201910012440A CN109725921B CN 109725921 B CN109725921 B CN 109725921B CN 201910012440 A CN201910012440 A CN 201910012440A CN 109725921 B CN109725921 B CN 109725921B
- Authority
- CN
- China
- Prior art keywords
- firmware
- vci
- updated
- current
- version
- 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.)
- Active
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例涉及汽车和软件技术领域,特别是涉及一种VCI设备固件更新的方法、装置及汽车故障诊断仪。所述VCI设备固件更新的方法包括:与VCI设备建立连接;其中,所述VCI设备包括固件、操作系统以及启动管理,所述固件用于实现所述VCI设备所支持的通信协议和/或通信标准,所述操作系统用于管理所述VCI设备的产品型号以及当前固件的版本信息;获取所述VCI设备的产品型号和当前固件的版本信息;根据所述产品型号和所述当前固件的版本信息确定目标更新固件,以使所述VCI设备将所述当前固件更新为所述目标更新固件。通过上述方式,本发明实施例能够实时对VCI设备中的固件进行更新,使VCI设备满足汽车故障诊断仪的诊断需求,提高汽车故障诊断仪的安全性。
Description
技术领域
本发明实施例涉及汽车和软件技术领域,特别是涉及一种VCI设备固件更新的方法、装置及汽车故障诊断仪。
背景技术
随着汽车技术的迅猛发展,越来越多汽车通信标准和通信协议的出现,使得已售出的VCI设备中的汽车通信标准和通信协议无法满足汽车故障诊断仪的诊断需求,若汽车故障诊断仪继续通过VCI设备与汽车通信进行诊断,则容易出现安全隐患,于是,如何使VCI设备中的汽车通信标准和通信协议随着汽车发展逐渐丰富成为亟待解决的技术问题。
发明内容
本发明实施例旨在提供一种VCI设备固件更新的方法、装置及汽车故障诊断仪,能够实时对VCI设备中的固件进行更新,使VCI设备满足汽车故障诊断仪的诊断需求,提高汽车故障诊断仪的安全性。
为解决上述技术问题,本发明实施例采用的一个技术方案是:提供一种VCI设备固件更新的方法,应用于汽车故障诊断仪,所述方法包括:
与VCI设备建立连接;其中,所述VCI设备包括固件、操作系统以及启动管理,所述固件用于实现所述VCI设备所支持的通信协议和/或通信标准,所述操作系统用于管理所述VCI设备的产品型号以及当前固件的版本信息;
获取所述VCI设备的产品型号和当前固件的版本信息;
根据所述产品型号和所述当前固件的版本信息确定目标更新固件,以使所述VCI设备将所述当前固件更新为所述目标更新固件。
可选地,所述与VCI设备建立连接之前,所述方法还包括:
与服务器连接,所述服务器存储有第一固件;
根据预设时间间隔从所述第一固件中确定与预设VCI型号对应的可更新固件,并将所述可更新固件存储为第二固件。
可选地,所述根据所述产品型号和所述当前固件的版本信息确定目标更新固件之前,所述方法还包括:
当与所述服务器连接时,从所述服务器获取与所述产品型号适配的第一固件的版本信息;
若根据所获取的所述第一固件的版本信息确定所述第一固件是所述产品型号适配的第二固件的更新版本、所述产品型号适配的第二固件不存在、所述产品型号适配的第二固件完整性校验不通过至少一项成立,则下载所述第一固件替换所述第二固件。
可选地,所述根据所述产品型号和所述当前固件的版本信息确定目标更新固件,包括:
根据所述产品型号确定与所述VCI设备适配的第二固件为待更新固件;
根据所述当前固件的版本信息确定所述待更新固件是否是所述当前固件的更新版本;
若是,则对所述待更新固件进行完整性校验,将校验通过的待更新固件确定为目标更新固件。
可选地,所述版本信息包括版本号,所述根据所述当前固件的版本信息确定所述待更新固件是否是所述当前固件的更新版本,包括:
根据预设版本号编号顺序比较所述当前固件的版本号和所述待更新固件的版本号;
若所述待更新固件的版本号的编号顺序大于所述当前固件的版本号的编号顺序,则确定所述待更新固件是所述当前固件的更新版本。
可选地,所述方法还包括:
向所述VCI设备发送固件更新命令,以使所述VCI设备切换到更新模式;
将所述目标更新固件发送至所述VCI设备,以使所述VCI设备对所述目标更新固件进行数据校验,校验通过则将所述当前固件更新为所述目标更新固件。
可选地,若所述VCI设备对所述目标更新固件数据校验不通过,所述方法还包括:
控制所述VCI设备中断更新,并提示中断原因。
可选地,所述方法还包括:
根据所述当前固件的版本信息对所述当前固件进行安全检查,若所述安全检查不通过,则根据所述产品型号和所述当前固件的版本信息确定目标更新固件。
可选地,所述根据所述当前固件的版本信息对所述当前固件进行安全检查,包括:
接收触发操作,所述触发操作包括待诊断功能;
根据所述当前固件的版本信息确定所述当前固件是否能够满足所述待诊断功能,若否,则安全检查不通过。
可选地,通过WiFi、USB或者蓝牙与所述VCI设备建立连接。
为解决上述技术问题,本发明实施例采用的另一个技术方案是:提供一种VCI设备固件更新的装置,应用于汽车故障诊断仪,所述装置包括:
连接模块,所述连接模块用于与VCI设备建立连接;其中,所述VCI设备包括固件、操作系统以及启动管理,所述固件用于实现所述VCI设备所支持的通信协议和/或通信标准,所述操作系统用于管理所述VCI设备的产品型号以及当前固件的版本信息;
获取模块,所述获取模块用于获取所述VCI设备的产品型号和当前固件的版本信息;
确定模块,所述确定模块用于根据所述产品型号和所述当前固件的版本信息确定目标更新固件,以使所述VCI设备将所述当前固件更新为所述目标更新固件。
可选地,所述连接模块还用于:
在与VCI设备建立连接之前,与服务器连接,所述服务器存储有第一固件;
根据预设时间间隔从所述第一固件中确定与预设VCI型号对应的可更新固件,并将所述可更新固件存储为第二固件。
可选地,所述连接模块还用于:
在根据所述产品型号和所述当前固件的版本信息确定目标更新固件之前,当与所述服务器连接时,从所述服务器获取与所述产品型号适配的第一固件的版本信息;
若根据所获取的所述第一固件的版本信息确定所述第一固件是所述产品型号适配的第二固件的更新版本、所述产品型号适配的第二固件不存在、所述产品型号适配的第二固件完整性校验不通过至少一项成立,则下载所述第一固件替换所述第二固件。
可选地,所述确定模块用于:
根据所述产品型号确定与所述VCI设备适配的第二固件为待更新固件;
根据所述当前固件的版本信息确定所述待更新固件是否是所述当前固件的更新版本;
若是,则对所述待更新固件进行完整性校验,将校验通过的待更新固件确定为目标更新固件。
可选地,所述版本信息包括版本号,所述确定模块还用于:
根据预设版本号编号顺序比较所述当前固件的版本号和所述待更新固件的版本号;
若所述待更新固件的版本号的编号顺序大于所述当前固件的版本号的编号顺序,则确定所述待更新固件是所述当前固件的更新版本。
可选地,所述装置还包括:
发送模块,所述发送模块用于向所述VCI设备发送固件更新命令,以使所述VCI设备切换到更新模式;以及,
用于将所述目标更新固件发送至所述VCI设备,以使所述VCI设备对所述目标更新固件进行数据校验,校验通过则将所述当前固件更新为所述目标更新固件。
可选地,所述连接模块还用于:
若所述VCI设备对所述目标更新固件数据校验不通过,则控制所述VCI设备中断更新,并提示中断原因。
可选地,所述装置还包括:
安全检查模块,所述安全检查模块用于根据所述当前固件的版本信息对所述当前固件进行安全检查,若所述安全检查不通过,则根据所述产品型号和所述当前固件的版本信息确定目标更新固件。
可选地,所述安全检查模块具体用于:
接收触发操作,所述触发操作包括待诊断功能;
根据所述当前固件的版本信息确定所述当前固件是否能够满足所述待诊断功能,若否,则安全检查不通过。
可选地,所述连接模块通过WiFi、USB或者蓝牙与所述VCI设备建立连接。
为解决上述技术问题,本发明实施例采用的另一个技术方案是:提供一种汽车故障诊断仪,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行以上所述的VCI设备固件更新的方法。
为解决上述技术问题,本发明实施例采用的另一个技术方案是:提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使汽车故障诊断仪执行以上所述的VCI设备固件更新的方法。
本发明实施例的有益效果是:区别于现有技术的情况下,本发明实施例提供一种VCI设备固件更新的方法、装置及汽车故障诊断仪,在VCI设备固件更新的方法中,汽车故障诊断仪与VCI设备建立连接后,获取VCI设备的产品型号和当前固件的版本信息,并根据所获取的产品型号和当前固件的版本信息确定目标更新固件,使得汽车故障诊断仪能够实时确定比VCI设备中的当前固件更新的固件;当汽车故障诊断仪确定目标更新固件后,汽车故障诊断仪控制VCI设备将当前固件更新为目标更新固件,使得VCI设备中的固件能够实时进行更新,并且由于VCI设备中的固件用于实现VCI设备所支持的通信协议和/或通信标准,故将VCI设备中的固件实时进行更新时,VCI设备中的通信协议和/或通信标准也实时进行更新,使得VCI设备能够满足汽车故障诊断仪的诊断需求,提高汽车故障诊断仪的安全性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明一实施例提供的VCI设备固件更新方法的实施环境的结构示意图;
图2是本发明一实施例提供的VCI设备固件更新的方法的流程示意图;
图3是图2所示的VCI设备固件更新的方法步骤S800的流程示意图;
图4是本发明又一实施例提供的VCI设备固件更新的方法的流程示意图;
图5是本发明又一实施例提供的VCI设备固件更新的方法的流程示意图;
图6是本发明一实施例提供的VCI设备固件更新的装置的结构示意图;
图7是本发明又一实施例提供的VCI设备固件更新的装置的结构示意图;
图8是本发明又一实施例提供的VCI设备固件更新的装置的结构示意图;
图9是本发明一实施例提供的一种汽车故障诊断仪的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,当元件被表述“固定于”另一个元件,它可以直接在另一个元件上、或者其间可以存在一个或多个居中的元件。当一个元件被表述“连接”另一个元件,它可以是直接连接到另一个元件、或者其间可以存在一个或多个居中的元件。本说明书所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
此外,下面所描述的本发明各个实施例中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提供了一种VCI设备固件更新的方法及装置,该方法及装置应用于汽车故障诊断仪,从而使得该汽车故障诊断仪在与VCI设备连接时,能够根据VCI设备的产品型号和当前固件的版本信息对VCI设备中的固件进行实时更新,以避免VCI设备中的固件所支持的通信协议和/或通信标准不满足汽车故障诊断仪的诊断需求而导致安全问题。其中,VCI设备即汽车通信接口(Vehicle Communication Interface)设备,其用于连接汽车故障诊断仪和汽车,完成汽车故障诊断仪和汽车之间的通信。
下面,将通过具体实施例对本发明进行具体阐述。
实施例一
请参阅图1,是本发明其中一实施例提供的VCI设备固件更新方法的实施环境的结构示意图,该实施环境包括:服务器10、VCI设备20以及汽车故障诊断仪30。
其中,服务器10存储有第一固件,该第一固件为可以运行于VCI设备20的固件,其包括VCI设备20能够运行的所有版本的固件,并且每个版本的固件均对应存储有版本信息。
在本发明实施例中,第一固件的版本信息包括:版本号和适配的VCI设备型号等。其中,版本号由数字组成,其按照预设版本号编号顺序进行编排,版本号的编号顺序越大,则固件越新。比如:当预设版本号编号顺序为按照数字大小正序排列时,则数字越大的版本号的编号顺序越大,固件越新;当预设版本号编号顺序为按照数字大小倒序排列时,则数字越小的版本号的编号顺序越大,固件越新。
该服务器10可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者,也可以是一个云计算服务中心。
VCI设备20则包括启动管理21、固件22以及操作系统23。
其中,启动管理21用于完成VCI设备20的启动管理工作。
固件22则用于实现VCI设备20所支持的通信协议和/或通信标准,通过对固件22进行更新,实现对通信协议和/或通信标准的更新。
操作系统23则用于管理VCI设备20的产品型号以及当前固件的版本信息。其中,当前固件的版本信息即VCI设备20正在运行的固件22的版本信息,该当前固件的版本信息包括版本号以及适配的VCI设备型号等。当固件22进行更新时,当前固件的版本信息也随着固件22的更新进行适应性更新。
汽车故障诊断仪30则为用于汽车故障检查的工具,通过VCI设备与汽车进行连接,能够实现多种汽车诊断功能。
该汽车故障诊断仪30位于用户一侧,用于与用户进行交互。在该汽车故障诊断仪30中,设置有一个或者多个输入/输出设备,例如:显示屏、按钮、触控屏幕等,其通过输入/输出设备向用户显示能够提供的诊断功能,用户通过在输入/输出设备上对待诊断功能进行触发操作,就能使得汽车故障诊断仪30接收到包括待诊断功能的触发操作。其中,触发操作可以为点击、双击、按压、滑动、长按等动作指令。
在汽车故障诊断仪30中存储有诊断功能与固件版本号的关系对照表。由于所有版本的固件都是向前兼容的,只要某一版本的固件能够支持某一诊断功能,则后续版本的固件均能够支持该诊断功能,故诊断功能与固件版本号的关系对照表中,诊断功能对应的固件版本号为能够实现该诊断功能的最小版本号。此时,汽车故障诊断仪30通过接收到的待诊断功能和VCI设备20中的当前固件的版本信息就能确定VCI设备20中的当前固件能否满足待诊断功能。
在汽车故障诊断仪30中存储有第二固件,该第二固件为可以运行于VCI设备20的固件,其包括每种型号的VCI设备20能够运行的最新版本的固件,每种型号的VCI设备20能够运行的最新版本的固件有且只有一个,即有多少种型号的VCI设备20,就有多少个固件。
其中,汽车故障诊断仪30通过与服务器10连接,将服务器10中每种型号的VCI设备20能够运行的最新版本的第一固件下载后存储为第二固件。
而汽车故障诊断仪30若要对VCI设备20中的固件进行更新,则需要与VCI设备20连接。
基于此,在汽车故障诊断仪30执行的VCI设备固件更新的方法中,为了防止在对VCI设备20中的固件进行更新的过程中,还要花费时间临时联网从服务器10中获取可更新固件,汽车故障诊断仪30在与VCI设备20连接之前,先联网与服务器10连接,根据预设时间间隔从服务器10存储的第一固件中确定与预设VCI型号对应的可更新固件,并将所确定的可更新固件存储为第二固件,使得汽车故障诊断仪30在对VCI设备20中的固件进行更新时,能够从第二固件中确定用于对VCI设备20中的固件进行更新的固件,缩短更新时间,提高效率。
其中,预设时间间隔为预先设置的查询间隔,表征汽车故障诊断仪30查询服务器10的频率。根据预设时间间隔查询服务器10中是否存在可更新固件,能够防止汽车故障诊断仪30出现漏检的情况。
预设VCI型号则为预先设置的所有VCI设备的产品型号。基于此,确定与预设VCI型号对应的可更新固件,即确定每个型号的VCI设备对应的可更新固件。比如:预设VCI型号包括A型、B型,则确定与预设VCI型号对应的可更新固件时,需要分别确定A型VCI设备对应的可更新固件以及B型VCI设备对应的可更新固件。
其中,从服务器10存储的第一固件中确定与预设VCI型号对应的可更新固件时,汽车故障诊断仪30根据每个预设VCI型号分别确定适配的第一固件后,将每个预设VCI型号所确定的第一固件中版本号的编号顺序最大的第一固件确定为每个预设VCI型号的可更新固件。比如:汽车故障诊断仪30确定适配A型VCI设备的第一固件为固件1和固件2,确定适配B型VCI设备的第一固件为固件1,其中,固件1的版本号为1,固件2的版本号为2,而版本号的编号顺序为按照数字大小正序排列,则在A型VCI设备中,固件2的版本号的编号顺序最大,将固件2确定为A型VCI设备的可更新固件;在B型VCI设备中,固件1的版本号的编号顺序最大,将固件1确定为B型VCI设备的可更新固件。
进一步地,汽车故障诊断仪30在将可更新固件存储为第二固件后,若与VCI设备20建立连接,则汽车故障诊断仪30获取VCI设备20的产品型号和当前固件的版本信息。
其中,汽车故障诊断仪30通过WiFi、USB或者蓝牙与VCI设备20建立连接,汽车故障诊断仪30只能通过一种方式与VCI设备20连接。
当通过蓝牙或者WiFi与VCI设备20连接时,VCI设备20的蓝牙名称或者WiFi的SSID具有与其他无线设备区分开来的特征,故汽车故障诊断仪30获取蓝牙名称或者WiFi的SSID后,根据蓝牙名称或者WiFi的SSID确定VCI设备20,并自动与所确定的VCI设备20进行密码校验,建立连接。
汽车故障诊断仪30在与VCI设备20连接成功后,对所连接的VCI设备20的蓝牙名称或者WiFi的SSID进行存储,使得汽车故障诊断仪30再次识别到存储的蓝牙名称或者WiFi的SSID后,与蓝牙名称或者WiFi的SSID对应的VCI设备20自动恢复连接,提高汽车故障诊断仪30与VCI设备20的连接速度。
当通过USB与VCI设备20连接时,汽车故障诊断仪30检测VCI设备20的PID和VID,并根据PID和VID运行USB驱动程序,建立连接。
在一些实施例中,能够对汽车故障诊断仪30与VCI设备20的连接方式设置优先级,优选地,基于传输速率和稳定性,将USB连接设置最高优先级,WiFi和蓝牙连接设置相同优先级。
进一步地,汽车故障诊断仪30获取VCI设备20的产品型号和当前固件的版本信息后,若再次与服务器10连接,则汽车故障诊断仪30从服务器10获取与产品型号适配的第一固件的版本信息。
其中,若第一固件中适配的VCI设备型号包括汽车故障诊断仪30从VCI设备20所获取的产品型号时,则确定该第一固件为与产品型号适配的第一固件。比如:汽车故障诊断仪30获取的VCI设备20的产品型号为C型,而固件1适配的VCI设备型号为B型和C型,此时,固件1适配的VCI设备型号包括产品型号C型,则确定固件1为与产品型号适配的第一固件。
当确定与产品型号适配的第一固件为多个时,汽车故障诊断仪30获取版本号的编号顺序最大的第一固件的版本信息。
进一步地,汽车故障诊断仪30获取所确定的第一固件的版本信息后,若根据所获取的第一固件的版本信息确定第一固件是产品型号适配的第二固件的更新版本、产品型号适配的第二固件不存在、产品型号适配的第二固件完整性校验不通过至少一项成立,则下载该第一固件替换与产品型号适配的第二固件,使得汽车故障诊断仪30中的第二固件能保持最新版本。
其中,若第二固件中适配的VCI设备型号包括汽车故障诊断仪30从VCI设备20所获取的产品型号时,则确定该第二固件为与产品型号适配的第二固件,该确定的与产品型号适配的第二固件能够通过校验码来校验其完整性。
此时,将所获取的第一固件的版本号与产品型号适配的第二固件的版本号进行比较,若第一固件的版本号的编号顺序大于第二固件的版本号的编号顺序,则确定第一固件是第二固件的更新版本。
若第二固件中适配的VCI设备型号不包括汽车故障诊断仪30从VCI设备20所获取的产品型号时,则确定产品型号适配的第二固件不存在。
进一步地,汽车故障诊断仪30下载第一固件替换第二固件后,根据产品型号和当前固件的版本信息确定目标更新固件。
具体地,汽车故障诊断仪30根据产品型号确定与VCI设备20适配的第二固件为待更新固件,然后根据当前固件的版本信息确定待更新固件是否是当前固件的更新版本。
其中,汽车故障诊断仪30根据产品型号确定与VCI设备20适配的第二固件为待更新固件时,将适配的VCI设备型号包括产品型号的第二固件确定为与VCI设备适配的待更新固件。在汽车故障诊断仪30中,每种产品型号的VCI设备20适配的第二固件有且只有一个。
其中,根据当前固件的版本信息确定待更新固件是否是当前固件的更新版本,包括:根据预设版本编号顺序比较当前固件的版本号和待更新固件的版本号;确定待更新固件的版本号的编号顺序是否大于当前固件的版本号的编号顺序。
若待更新固件的版本号的编号顺序大于当前固件的版本号的编号顺序,则确定待更新固件是当前固件的更新版本,此时,汽车故障诊断仪30对待更新固件进行完整性校验,将校验通过的待更新固件确定为目标更新固件。
进一步地,汽车故障诊断仪30确定目标更新固件后,使VCI设备将当前固件更新为目标更新固件。
具体地,汽车故障诊断仪30向VCI设备20发送固件更新命令,以使VCI设备20切换到更新模式;然后将确定的目标更新固件发送至VCI设备,以使VCI设备对目标更新固件进行数据校验,校验通过则将当前固件更新为目标更新固件;若校验不通过,则控制VCI设备中断更新,并提示中断原因,以使用户根据中断原因对汽车故障诊断仪30进行调整,以重新更新VCI设备中的固件。
其中,VCI设备20切换到更新模式时,停止所有与汽车通信相关的业务。
VCI设备20通过校验码对目标更新固件进行数据校验。
进一步地,在其他一些实施例中,汽车故障诊断仪30还能够根据所获取的当前固件的版本信息对VCI设备20中的当前固件进行安全检查。
其中,汽车故障诊断仪30根据所获取的当前固件的版本信息对VCI设备20中的当前固件进行安全检查,具体包括:汽车故障诊断仪30接收包括待诊断功能的触发操作后,根据所获取的当前固件的版本信息确定VCI设备20中的当前固件是否能够满足待诊断功能。
其中,根据所获取的当前固件的版本信息确定VCI设备20中的当前固件是否能够满足待诊断功能包括:汽车故障诊断仪30根据诊断功能与固件版本号的关系对照表确定接收到的待诊断功能对应的固件版本号;比较当前固件的版本号与根据待诊断功能确定的固件版本号,若当前固件的版本号的编号顺序不小于根据待诊断功能确定的固件版本号,则确定VCI设备20中的当前固件能够满足待诊断功能;否则,则确定VCI设备20中的当前固件不能满足待诊断功能。
若VCI设备20中的当前固件不能满足待诊断功能,则确定安全检查不通过,此时,汽车故障诊断仪30根据产品型号和当前固件的版本信息确定目标更新固件。
在该实施例中,汽车故障诊断仪30根据产品型号和当前固件的版本信息确定目标更新固件时,汽车故障诊断仪30根据产品型号确定与VCI设备20适配的第二固件为待更新固件,然后根据当前固件的版本信息确定待更新固件是否是当前固件的更新版本;若确定待更新固件是当前固件的更新版本,则确定待更新固件的版本号的编号顺序是否不小于根据待诊断功能确定的固件版本号,若是,则对待更新固件进行完整性校验,并将校验通过的待更新固件确定为目标更新固件;若否,则与服务器10连接,根据固件版本号和产品型号在服务器10的第一固件中确定目标更新固件。
在本发明实施例中,汽车故障诊断仪在与VCI设备连接时,能够根据VCI设备的产品型号和当前固件的版本信息对VCI设备中的固件进行实时更新,进而对VCI设备中的通信协议和/或通信标准也实时进行更新,使得VCI设备能够满足汽车故障诊断仪的诊断需求,提高汽车故障诊断仪的安全性。
实施例二
请参阅图2,是本发明其中一实施例提供的一种VCI设备固件更新的方法的流程示意图,应用于汽车故障诊断仪,该汽车故障诊断仪为上述实施例中所述的汽车故障诊断仪30,该VCI设备固件更新方法包括:
S100:与服务器连接。
在本发明实施例中,服务器存储有第一固件,该第一固件为可以运行于VCI设备的固件,其包括VCI设备能够运行的所有版本的固件,并且每个版本的固件均对应存储有版本信息。
第一固件的版本信息包括:版本号和适配的VCI设备型号等。其中,版本号由数字组成,其按照预设版本号编号顺序进行编排,版本号的编号顺序越大,则固件越新。比如:当预设版本号编号顺序为按照数字大小正序排列时,则数字越大的版本号的编号顺序越大,固件越新;当预设版本号编号顺序为按照数字大小倒序排列时,则数字越小的版本号的编号顺序越大,固件越新。
为了防止在对VCI设备中的固件进行更新的过程中,还要花费时间临时联网从服务器中获取可更新固件,汽车故障诊断仪在与VCI设备连接之前,先通过无线局域网与服务器连接,以将服务器中的可更新固件事先存储于本地,缩短对VCI设备进行更新的时间,提高效率。
S200:根据预设时间间隔从所述第一固件中确定与预设VCI型号对应的可更新固件,并将所述可更新固件存储为第二固件。
其中,预设时间间隔为预先设置的查询间隔,表征汽车故障诊断仪查询服务器的频率。根据预设时间间隔查询服务器中是否存在可更新固件,能够防止汽车故障诊断仪出现漏检的情况。
预设VCI型号则为预先设置的所有VCI设备的产品型号。基于此,确定与预设VCI型号对应的可更新固件,即确定每个型号的VCI设备对应的可更新固件。比如:预设VCI型号包括A型、B型,则确定与预设VCI型号对应的可更新固件时,需要分别确定A型VCI设备对应的可更新固件以及B型VCI设备对应的可更新固件。
其中,从服务器存储的第一固件中确定与预设VCI型号对应的可更新固件时,汽车故障诊断仪根据每个预设VCI型号分别确定适配的第一固件后,将每个预设VCI型号所确定的第一固件中版本号的编号顺序最大的第一固件确定为每个预设VCI型号的可更新固件。比如:汽车故障诊断仪确定适配A型VCI设备的第一固件为固件1和固件2,确定适配B型VCI设备的第一固件为固件1,其中,固件1的版本号为1,固件2的版本号为2,而版本号的编号顺序为按照数字大小正序排列,则在A型VCI设备中,固件2的版本号的编号顺序最大,将固件2确定为A型VCI设备的可更新固件;在B型VCI设备中,固件1的版本号的编号顺序最大,将固件1确定为B型VCI设备的可更新固件。
汽车故障诊断仪确定可更新固件后,将所确定的可更新固件存储为第二固件,该第二固件为可以运行于VCI设备的固件,其包括每种型号的VCI设备能够运行的最新版本的固件。在汽车故障诊断仪中,每种型号的VCI设备能够运行的最新版本的固件有且只有一个,即有多少种型号的VCI设备就有多少个第二固件。
汽车故障诊断仪在对VCI设备中的固件进行更新时,能够从第二固件中确定用于对VCI设备进行更新的固件,缩短更新时间,提高效率。
S300:与VCI设备建立连接。
在本发明实施例中,VCI设备包括固件、操作系统以及启动管理。
启动管理用于完成VCI设备的启动管理工作。
固件用于实现VCI设备所支持的通信协议和/或通信标准,通过对固件进行更新,实现对通信协议和/或通信标准的更新。
操作系统用于管理VCI设备的产品型号以及当前固件的版本信息。其中,当前固件的版本信息即VCI设备正在运行的固件的版本信息,该当前固件的版本信息包括版本号以及适配的VCI设备型号等。当固件进行更新时,当前固件的版本信息也随着固件的更新进行适应性更新。
汽车故障诊断仪通过与VCI设备连接对VCI设备中的固件进行更新。其中,汽车故障诊断仪能够通过WiFi、USB或者蓝牙与VCI设备建立连接,其只能通过其中一种方式与VCI设备连接。
当通过蓝牙或者WiFi与VCI设备连接时,VCI设备的蓝牙名称或者WiFi的SSID具有与其他无线设备区分开来的特征,故汽车故障诊断仪获取蓝牙名称或者WiFi的SSID后,根据蓝牙名称或者WiFi的SSID确定VCI设备,并自动与所确定的VCI设备进行密码校验,建立连接。
汽车故障诊断仪在与VCI设备连接成功后,对所连接的VCI设备的蓝牙名称或者WiFi的SSID进行存储,使得汽车故障诊断仪再次识别到存储的蓝牙名称或者WiFi的SSID后,与蓝牙名称或者WiFi的SSID对应的VCI设备自动恢复连接,提高汽车故障诊断仪与VCI设备的连接速度。
当通过USB与VCI设备连接时,汽车故障诊断仪检测VCI设备的PID和VID,并根据PID和VID运行USB驱动程序,建立连接。
在一些实施例中,能够对汽车故障诊断仪与VCI设备的连接方式设置优先级,优选地,基于传输速率和稳定性,将USB连接设置最高优先级,WiFi和蓝牙连接设置相同优先级。
S400:获取所述VCI设备的产品型号和当前固件的版本信息。
汽车故障诊断仪从VCI设备的操作系统中获取VCI设备的产品型号和VCI设备当前运行的固件的版本信息。
S800:根据所述产品型号和所述当前固件的版本信息确定目标更新固件,以使所述VCI设备将所述当前固件更新为所述目标更新固件。
请参阅图3,根据产品型号和当前固件的版本信息确定目标更新固件具体包括:
S810:根据所述产品型号确定与所述VCI设备适配的第二固件为待更新固件。
将适配的VCI设备型号包括产品型号的第二固件确定为与VCI设备适配的待更新固件。比如:VCI设备的产品型号为C型,而固件1适配的VCI设备型号为B型和C型,此时,固件1适配的VCI设备型号包括产品型号C型,则确定固件1为与VCI设备适配的待更新固件。
S820:根据所述当前固件的版本信息确定所述待更新固件是否是所述当前固件的更新版本,若是,则转步骤S830。
具体地,根据预设版本号编号顺序比较当前固件的版本号和待更新固件的版本号;若待更新固件的版本号的编号顺序大于当前固件的版本号的编号顺序,则确定待更新固件是当前固件的更新版本。
S830:对所述待更新固件进行完整性校验,将校验通过的待更新固件确定为目标更新固件。
通过校验码来校验待更新固件的完整性。
进一步地,使VCI设备将当前固件更新为目标更新固件则具体包括:向VCI设备发送固件更新命令,以使VCI设备切换到更新模式;将目标更新固件发送至VCI设备,以使VCI设备对目标更新固件进行数据校验,校验通过则将当前固件更新为目标更新固件;若VCI设备对目标更新固件数据校验不通过,控制VCI设备中断更新,并提示中断原因。
其中,VCI设备切换到更新模式时,停止所有与汽车通信相关的业务。
VCI设备通过校验码对目标更新固件进行数据校验。
请参阅图4,在其他一些实施例中,为了使汽车故障诊断仪中的第二固件能够保持最新版本,步骤S800之前还包括:
S500:当与所述服务器连接时,从所述服务器获取与所述产品型号适配的第一固件的版本信息。
其中,若第一固件中适配的VCI设备型号包括汽车故障诊断仪从VCI设备所获取的产品型号时,则确定该第一固件为与产品型号适配的第一固件。比如:汽车故障诊断仪获取的VCI设备的产品型号为C型,而固件1适配的VCI设备型号为B型和C型,此时,固件1适配的VCI设备型号包括产品型号C型,则确定固件1为与产品型号适配的第一固件。
当确定与产品型号适配的第一固件为多个时,汽车故障诊断仪获取版本号的编号顺序最大的第一固件的版本信息。
S600:若根据所获取的所述第一固件的版本信息确定所述第一固件是所述产品型号适配的第二固件的更新版本、所述产品型号适配的第二固件不存在、所述产品型号适配的第二固件完整性校验不通过至少一项成立,则下载所述第一固件替换所述第二固件。
其中,若第二固件中适配的VCI设备型号包括汽车故障诊断仪从VCI设备所获取的产品型号时,则确定该第二固件为与产品型号适配的第二固件,该确定的与产品型号适配的第二固件能够通过校验码来校验其完整性。
此时,将所获取的第一固件的版本号与产品型号适配的第二固件的版本号进行比较,若第一固件的版本号的编号顺序大于第二固件的版本号的编号顺序,则确定第一固件是第二固件的更新版本。
若第二固件中适配的VCI设备型号不包括汽车故障诊断仪从VCI设备所获取的产品型号时,则确定产品型号适配的第二固件不存在。
请参阅图5,在其他一些实施例中,步骤S800之前还包括:
S700:根据所述当前固件的版本信息对所述当前固件进行安全检查,若所述安全检查不通过,则根据所述产品型号和所述当前固件的版本信息确定目标更新固件。
其中,汽车故障诊断仪根据所获取的当前固件的版本信息对VCI设备中的当前固件进行安全检查,具体包括:汽车故障诊断仪接收包括待诊断功能的触发操作后,根据所获取的当前固件的版本信息确定VCI设备中的当前固件是否能够满足待诊断功能。
汽车故障诊断仪通过输入/输出设备向用户显示能够提供的诊断功能,用户通过在输入/输出设备上对待诊断功能进行触发操作,就能使得汽车故障诊断仪接收到包括待诊断功能的触发操作。其中,触发操作可以为点击、双击、按压、滑动、长按等动作指令。
其中,根据所获取的当前固件的版本信息确定VCI设备中的当前固件是否能够满足待诊断功能包括:汽车故障诊断仪根据诊断功能与固件版本号的关系对照表确定接收到的待诊断功能对应的固件版本号;比较当前固件的版本号与根据待诊断功能确定的固件版本号,若当前固件的版本号的编号顺序不小于根据待诊断功能确定的固件版本号,则确定VCI设备中的当前固件能够满足待诊断功能;否则,则确定VCI设备中的当前固件不能满足待诊断功能。
其中,诊断功能与固件版本号的关系对照表为预先存储于汽车故障诊断仪中的诊断功能与固件版本号的对应关系。由于所有版本的固件都是向前兼容的,只要某一版本的固件能够支持某一诊断功能,后续版本的固件均能够支持该诊断功能,故在诊断功能与固件版本号的关系对照表中,诊断功能对应的固件版本号为能够实现该诊断功能的最小固件的版本号。
若VCI设备中的当前固件不能满足待诊断功能,则确定安全检查不通过,此时,汽车故障诊断仪根据产品型号和当前固件的版本信息确定目标更新固件。
在该实施例中,汽车故障诊断仪根据产品型号和当前固件的版本信息确定目标更新固件时,汽车故障诊断仪根据产品型号确定与VCI设备适配的第二固件为待更新固件,然后根据当前固件的版本信息确定待更新固件是否是当前固件的更新版本;若确定待更新固件是当前固件的更新版本,则确定待更新固件的版本号的编号顺序是否不小于根据待诊断功能确定的固件版本号,若是,则对待更新固件进行完整性校验,并将校验通过的待更新固件确定为目标更新固件;若否,则与服务器连接,根据固件版本号和产品型号在服务器的第一固件中确定目标更新固件。
在本发明实施例中,汽车故障诊断仪在与VCI设备连接时,能够根据VCI设备的产品型号和当前固件的版本信息对VCI设备中的固件进行实时更新,进而对VCI设备中的通信协议和/或通信标准也实时进行更新,使得VCI设备能够满足汽车故障诊断仪的诊断需求,提高汽车故障诊断仪的安全性。
实施例三
以下所使用的术语“模块”为可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置可以以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能被构想的。
请参阅图6,是本发明其中一实施例提供的一种VCI设备固件更新的装置的结构示意图,应用于汽车故障诊断仪,该汽车故障诊断仪为上述实施例中所述的汽车故障诊断仪30,该VCI设备固件更新装置包括:
连接模块100,所述连接模块100用于与VCI设备建立连接;其中,所述VCI设备包括固件、操作系统以及启动管理,所述固件用于实现所述VCI设备所支持的通信协议和/或通信标准,所述操作系统用于管理所述VCI设备的产品型号以及当前固件的版本信息;
获取模块200,所述获取模块200用于获取所述VCI设备的产品型号和当前固件的版本信息;
确定模块300,所述确定模块300用于根据所述产品型号和所述当前固件的版本信息确定目标更新固件,以使所述VCI设备将所述当前固件更新为所述目标更新固件。
其中,连接模块100通过WiFi、USB或者蓝牙与所述VCI设备建立连接。
进一步地,连接模块100还用于:
在与VCI设备建立连接之前,与服务器连接,所述服务器存储有第一固件;
根据预设时间间隔从所述第一固件中确定与预设VCI型号对应的可更新固件,并将所述可更新固件存储为第二固件。
进一步地,连接模块100还用于:
在根据所述产品型号和所述当前固件的版本信息确定目标更新固件之前,当与所述服务器连接时,从所述服务器获取与所述产品型号适配的第一固件的版本信息;
若根据所获取的所述第一固件的版本信息确定所述第一固件是所述产品型号适配的第二固件的更新版本、所述产品型号适配的第二固件不存在、所述产品型号适配的第二固件完整性校验不通过至少一项成立,则下载所述第一固件替换所述第二固件。
进一步地,确定模块300具体用于:
根据所述产品型号确定与所述VCI设备适配的第二固件为待更新固件;
根据所述当前固件的版本信息确定所述待更新固件是否是所述当前固件的更新版本;
若是,则对所述待更新固件进行完整性校验,将校验通过的待更新固件确定为目标更新固件。
进一步地,版本信息包括版本号时,确定模块300还用于:
根据预设版本号编号顺序比较所述当前固件的版本号和所述待更新固件的版本号;
若所述待更新固件的版本号的编号顺序大于所述当前固件的版本号的编号顺序,则确定所述待更新固件是所述当前固件的更新版本。
进一步地,请参阅图7,该VCI设备固件更新装置还包括:
发送模块400,所述发送模块400用于向所述VCI设备发送固件更新命令,以使所述VCI设备切换到更新模式;以及,
用于将所述目标更新固件发送至所述VCI设备,以使所述VCI设备对所述目标更新固件进行数据校验,校验通过则将所述当前固件更新为所述目标更新固件。
进一步地,连接模块400还用于:
若所述VCI设备对所述目标更新固件数据校验不通过,则控制所述VCI设备中断更新,并提示中断原因。
进一步地,请参阅图8,该VCI设备固件更新装置还包括:
安全检查模块500,所述安全检查模块500用于根据所述当前固件的版本信息对所述当前固件进行安全检查,若所述安全检查不通过,则根据所述产品型号和所述当前固件的版本信息确定目标更新固件。
进一步地,安全检查模块500具体用于:
接收触发操作,所述触发操作包括待诊断功能;
根据所述当前固件的版本信息确定所述当前固件是否能够满足所述待诊断功能,若否,则安全检查不通过。
由于装置实施例和方法实施例是基于同一构思,在内容不互相冲突的前提下,装置实施例的内容可以引用方法实施例的,在此不再一一赘述。
在本发明实施例中,汽车故障诊断仪在与VCI设备连接时,能够根据VCI设备的产品型号和当前固件的版本信息对VCI设备中的固件进行实时更新,进而对VCI设备中的通信协议和/或通信标准也实时进行更新,使得VCI设备能够满足汽车故障诊断仪的诊断需求,提高汽车故障诊断仪的安全性。
实施例四
请参阅图9,是本发明其中一实施例提供的一种汽车故障诊断仪的硬件结构示意图,该汽车故障诊断仪30能够执行以上实施例所述的一种VCI设备固件更新的方法,还能实现以上实施例所述的一种VCI设备固件更新的装置的各个模块的功能。该汽车故障诊断仪30包括:
一个或多个处理器31以及存储器32。其中,图9中以一个处理器31为例。
处理器31和存储器32可以通过总线或者其他方式连接,图9中以通过总线连接为例。
存储器32作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明上述实施例中的一种VCI设备固件更新的方法对应的程序指令以及一种VCI设备固件更新的装置对应的模块(例如,连接模块100、获取模块200和确定模块300等)。处理器31通过运行存储在存储器32中的非易失性软件程序、指令以及模块,从而执行一种VCI设备固件更新的方法的各种功能应用以及数据处理,即实现上述方法实施例中的一种VCI设备固件更新的方法以及上述装置实施例的各个模块的功能。
存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种VCI设备固件更新的装置的使用所创建的数据等。
所述存储数据区还存储有预设的数据,包括预设时间间隔、预设VCI型号、预设版本号编号顺序、诊断功能与固件版本号的关系对照表等。
此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至处理器31。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令以及一个或多个模块存储在所述存储器32中,当被所述一个或者多个处理器31执行时,执行上述任意方法实施例中的一种VCI设备固件更新的方法的各个步骤,或者,实现上述任意装置实施例中的一种VCI设备固件更新的装置的各个模块的功能。
上述产品可执行本发明上述实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明上述实施例所提供的方法。
本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图9中的一个处理器31,可使得计算机执行上述任意方法实施例中的一种VCI设备固件更新的方法的各个步骤,或者,实现上述任意装置实施例中的一种VCI设备固件更新的装置的各个模块的功能。
本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被一个或多个处理器执行,例如图9中的一个处理器31,可使得计算机执行上述任意方法实施例中的一种VCI设备固件更新的方法的各个步骤,或者,实现上述任意装置实施例中的一种VCI设备固件更新的装置的各个模块的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施例的描述,本领域普通技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施方法的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (18)
1.一种VCI设备固件更新的方法,应用于汽车故障诊断仪,其特征在于,所述方法包括:
与VCI设备建立连接;其中,所述VCI设备包括固件、操作系统以及启动管理,所述固件用于实现所述VCI设备所支持的通信协议和/或通信标准,所述操作系统用于管理所述VCI设备的产品型号以及当前固件的版本信息;
获取所述VCI设备的产品型号和当前固件的版本信息,其中,所述版本信息包括版本号;
接收触发操作,所述触发操作包括待诊断功能,根据所述当前固件的版本信息确定所述当前固件是否能够满足所述待诊断功能,若否,则根据所述产品型号和所述当前固件的版本信息确定目标更新固件,以使所述VCI设备将所述当前固件更新为所述目标更新固件;
其中,所述汽车故障诊断仪可与服务器连接,所述服务器存储有第一固件,所述汽车故障诊断仪中存储有第二固件,所述第二固件为从所述第一固件中确定的与预设VCI型号对应的可更新固件,所述根据所述产品型号和所述当前固件的版本信息确定目标更新固件的步骤,包括根据所述产品型号确定与所述VCI设备适配的第二固件为待更新固件,判断所述待更新固件的版本号的编号顺序是否不小于根据所述待诊断功能确定的固件版本号,若是,则将所述待更新固件确定为所述目标更新固件,若否,则根据所述固件版本号和产品型号在所述服务器的第一固件中确定所述目标更新固件。
2.根据权利要求1所述的方法,其特征在于,所述与VCI设备建立连接之前,所述方法还包括:
与服务器连接;
根据预设时间间隔从所述第一固件中确定与预设VCI型号对应的可更新固件,并将所述可更新固件存储为第二固件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述产品型号和所述当前固件的版本信息确定目标更新固件之前,所述方法还包括:
当与所述服务器连接时,从所述服务器获取与所述产品型号适配的第一固件的版本信息;
若根据所获取的所述第一固件的版本信息确定所述第一固件是所述产品型号适配的第二固件的更新版本、所述产品型号适配的第二固件不存在、所述产品型号适配的第二固件完整性校验不通过至少一项成立,则下载所述第一固件替换所述第二固件。
4.根据权利要求2所述的方法,其特征在于,所述根据所述产品型号和所述当前固件的版本信息确定目标更新固件,包括:
根据所述产品型号确定与所述VCI设备适配的第二固件为待更新固件;
根据所述当前固件的版本信息确定所述待更新固件是否是所述当前固件的更新版本;
若是,则对所述待更新固件进行完整性校验,将校验通过的待更新固件确定为目标更新固件。
5.根据权利要求4所述的方法,其特征在于,所述根据所述当前固件的版本信息确定所述待更新固件是否是所述当前固件的更新版本,包括:
根据预设版本号编号顺序比较所述当前固件的版本号和所述待更新固件的版本号;
若所述待更新固件的版本号的编号顺序大于所述当前固件的版本号的编号顺序,则确定所述待更新固件是所述当前固件的更新版本。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
向所述VCI设备发送固件更新命令,以使所述VCI设备切换到更新模式;
将所述目标更新固件发送至所述VCI设备,以使所述VCI设备对所述目标更新固件进行数据校验,校验通过则将所述当前固件更新为所述目标更新固件。
7.根据权利要求6所述的方法,其特征在于,若所述VCI设备对所述目标更新固件数据校验不通过,所述方法还包括:
控制所述VCI设备中断更新,并提示中断原因。
8.根据权利要求1所述的方法,其特征在于,通过WiFi、USB或者蓝牙与所述VCI设备建立连接。
9.一种VCI设备固件更新的装置,应用于汽车故障诊断仪,其特征在于,所述装置包括:
连接模块,所述连接模块用于与VCI设备建立连接;其中,所述VCI设备包括固件、操作系统以及启动管理,所述固件用于实现所述VCI设备所支持的通信协议和/或通信标准,所述操作系统用于管理所述VCI设备的产品型号以及当前固件的版本信息;
获取模块,所述获取模块用于获取所述VCI设备的产品型号和当前固件的版本信息,其中,所述版本信息包括版本号;
确定模块,所述确定模块用于接收触发操作,所述触发操作包括待诊断功能,根据所述当前固件的版本信息确定所述当前固件是否能够满足所述待诊断功能,若否,则根据所述产品型号和所述当前固件的版本信息确定目标更新固件,以使所述VCI设备将所述当前固件更新为所述目标更新固件;
其中,所述汽车故障诊断仪可与服务器连接,所述服务器存储有第一固件,所述汽车故障诊断仪中存储有第二固件,所述第二固件为从所述第一固件中确定的与预设VCI型号对应的可更新固件,所述确定模块具体用于根据所述产品型号确定与所述VCI设备适配的第二固件为待更新固件,判断所述待更新固件的版本号的编号顺序是否不小于根据所述待诊断功能确定的固件版本号,若是,则将所述待更新固件确定为所述目标更新固件,若否,则根据所述固件版本号和产品型号在所述服务器的第一固件中确定所述目标更新固件。
10.根据权利要求9所述的装置,其特征在于,所述连接模块还用于:
在与VCI设备建立连接之前,与服务器连接;
根据预设时间间隔从所述第一固件中确定与预设VCI型号对应的可更新固件,并将所述可更新固件存储为第二固件。
11.根据权利要求10所述的装置,其特征在于,所述连接模块还用于:
在根据所述产品型号和所述当前固件的版本信息确定目标更新固件之前,当与所述服务器连接时,从所述服务器获取与所述产品型号适配的第一固件的版本信息;
若根据所获取的所述第一固件的版本信息确定所述第一固件是所述产品型号适配的第二固件的更新版本、所述产品型号适配的第二固件不存在、所述产品型号适配的第二固件完整性校验不通过至少一项成立,则下载所述第一固件替换所述第二固件。
12.根据权利要求10所述的装置,其特征在于,所述确定模块用于:
根据所述产品型号确定与所述VCI设备适配的第二固件为待更新固件;
根据所述当前固件的版本信息确定所述待更新固件是否是所述当前固件的更新版本;
若是,则对所述待更新固件进行完整性校验,将校验通过的待更新固件确定为目标更新固件。
13.根据权利要求12所述的装置,其特征在于,所述确定模块还用于:
根据预设版本号编号顺序比较所述当前固件的版本号和所述待更新固件的版本号;
若所述待更新固件的版本号的编号顺序大于所述当前固件的版本号的编号顺序,则确定所述待更新固件是所述当前固件的更新版本。
14.根据权利要求9-13中任一项所述的装置,其特征在于,所述装置还包括:
发送模块,所述发送模块用于向所述VCI设备发送固件更新命令,以使所述VCI设备切换到更新模式;以及,
用于将所述目标更新固件发送至所述VCI设备,以使所述VCI设备对所述目标更新固件进行数据校验,校验通过则将所述当前固件更新为所述目标更新固件。
15.根据权利要求14所述的装置,其特征在于,所述连接模块还用于:
若所述VCI设备对所述目标更新固件数据校验不通过,则控制所述VCI设备中断更新,并提示中断原因。
16.根据权利要求9所述的装置,其特征在于,所述连接模块通过WiFi、USB或者蓝牙与所述VCI设备建立连接。
17.一种汽车故障诊断仪,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行如权利要求1-8中任一项所述的VCI设备固件更新的方法。
18.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使汽车故障诊断仪执行如权利要求1-8中任一项所述的VCI设备固件更新的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910012440.1A CN109725921B (zh) | 2019-01-07 | 2019-01-07 | 一种vci设备固件更新的方法、装置及汽车故障诊断仪 |
PCT/CN2020/070472 WO2020143574A1 (zh) | 2019-01-07 | 2020-01-06 | 一种vci设备固件更新的方法、装置及汽车故障诊断仪 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910012440.1A CN109725921B (zh) | 2019-01-07 | 2019-01-07 | 一种vci设备固件更新的方法、装置及汽车故障诊断仪 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109725921A CN109725921A (zh) | 2019-05-07 |
CN109725921B true CN109725921B (zh) | 2021-06-08 |
Family
ID=66298132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910012440.1A Active CN109725921B (zh) | 2019-01-07 | 2019-01-07 | 一种vci设备固件更新的方法、装置及汽车故障诊断仪 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109725921B (zh) |
WO (1) | WO2020143574A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109725921B (zh) * | 2019-01-07 | 2021-06-08 | 深圳市道通科技股份有限公司 | 一种vci设备固件更新的方法、装置及汽车故障诊断仪 |
CN111190621A (zh) * | 2019-12-23 | 2020-05-22 | 深圳优地科技有限公司 | 固件烧录方法、装置、系统、终端设备及存储介质 |
CN112104708B (zh) * | 2020-08-27 | 2023-08-08 | 深圳市元征科技股份有限公司 | 一种诊断设备的通讯方法、装置、电子设备及存储介质 |
CN112162765A (zh) * | 2020-08-28 | 2021-01-01 | 深圳市元征科技股份有限公司 | 固件升级方法、上位机及存储介质 |
CN112199238B (zh) * | 2020-10-16 | 2024-05-28 | 深圳佰维存储科技股份有限公司 | 存储器固件更新方法、装置、存储介质及电子设备 |
CN112527343A (zh) * | 2020-11-09 | 2021-03-19 | 西安广和通无线软件有限公司 | 固件更新方法、装置、计算机设备和存储介质 |
CN113835729B (zh) * | 2021-09-23 | 2024-01-05 | 深圳市元征科技股份有限公司 | 升级方法、装置、终端设备及计算机可读存储介质 |
CN113986288A (zh) * | 2021-10-25 | 2022-01-28 | 康佳集团股份有限公司 | 一种固件切换方法、装置、通信模组、终端及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536121A (zh) * | 2018-03-16 | 2018-09-14 | 深圳市道通科技股份有限公司 | 逻辑通道的建立方法、装置和交通工具通信接口vci |
CN109144537A (zh) * | 2018-07-17 | 2019-01-04 | 奇酷互联网络科技(深圳)有限公司 | 移动终端和穿戴设备自动升级的方法、装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073319B (zh) * | 2011-01-25 | 2013-02-27 | 武汉理工大学 | 一种多功能综合型电控汽车故障诊断系统 |
CN103744707B (zh) * | 2014-01-20 | 2017-01-04 | 深圳市道通科技股份有限公司 | 一种vci设备程序升级方法、装置和系统 |
CN105045611B (zh) * | 2015-06-24 | 2018-08-07 | 深圳市海蕴新能源有限公司 | 一种升级方法及装置 |
CN107168296A (zh) * | 2017-06-30 | 2017-09-15 | 东南(福建)汽车工业有限公司 | 一种汽车诊断设备软件系统 |
CN108062228A (zh) * | 2017-12-11 | 2018-05-22 | 深圳市买买提信息科技有限公司 | 一种文件处理方法及其装置 |
CN108984200A (zh) * | 2018-07-17 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种定时更新固件的方法及装置 |
CN109725921B (zh) * | 2019-01-07 | 2021-06-08 | 深圳市道通科技股份有限公司 | 一种vci设备固件更新的方法、装置及汽车故障诊断仪 |
-
2019
- 2019-01-07 CN CN201910012440.1A patent/CN109725921B/zh active Active
-
2020
- 2020-01-06 WO PCT/CN2020/070472 patent/WO2020143574A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536121A (zh) * | 2018-03-16 | 2018-09-14 | 深圳市道通科技股份有限公司 | 逻辑通道的建立方法、装置和交通工具通信接口vci |
CN109144537A (zh) * | 2018-07-17 | 2019-01-04 | 奇酷互联网络科技(深圳)有限公司 | 移动终端和穿戴设备自动升级的方法、装置 |
Non-Patent Citations (1)
Title |
---|
The Development of Vehicle Diagnostic System Based on Android Platform;Hu Jie 等;《2015 International Conference on Connected Vehicles and Expo》;20151231;参见第42-47页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109725921A (zh) | 2019-05-07 |
WO2020143574A1 (zh) | 2020-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109725921B (zh) | 一种vci设备固件更新的方法、装置及汽车故障诊断仪 | |
CN109413134B (zh) | 车载应用升级方法、装置、系统及存储介质 | |
US11003599B2 (en) | Method, apparatus and system of managing external devices, memory and unmanned aerial vehicle | |
US9557981B2 (en) | Method and apparatus for automatic module upgrade | |
CN107608701A (zh) | 一种升级固件的方法和装置 | |
CN106648781B (zh) | 通信设备远程固件升级方法及系统 | |
CN111356149A (zh) | 一种无线网络配置方法及装置 | |
CN108182077B (zh) | 设备、设备的固件升级方法、装置和存储介质 | |
CN110913015A (zh) | 一种云手机app的分布式快捷安装方法、系统及介质 | |
CN112118318B (zh) | 车辆升级方法、终端设备、车辆和计算机存储介质 | |
CN111901142A (zh) | 一种用于嵌入式设备集群的固件静默升级方法及装置 | |
CN111414183A (zh) | 车辆组件的升级检测方法、装置、计算机设备及存储介质 | |
CN112492052A (zh) | 智能网联车辆数据的远程调试方法及装置 | |
CN114675855A (zh) | 整车软件远程升级方法、装置及平台设备 | |
CN110913416B (zh) | 终端及其联网方法和计算机可读存储介质 | |
CN113050960A (zh) | Ota升级方法、装置、车载终端及存储介质 | |
CN105872106A (zh) | 空中下载升级方法、空中下载服务器及终端 | |
CN115934130A (zh) | 一种ecu升级方法、装置、设备及介质 | |
CN117261924A (zh) | 一种车辆控制方法、装置、设备及存储介质 | |
CN107872493B (zh) | 一种信息处理方法、终端和服务器 | |
CN112667255B (zh) | 更新方法、装置、电子设备及存储介质 | |
CN113568770B (zh) | 实时操作系统的应急救援方法、电子设备及计算机存储介质 | |
CN112770277B (zh) | 前转号码验证方法、装置、移动终端及计算设备 | |
WO2021051370A1 (zh) | 设备控制方法、系统及控制终端 | |
CN113282321A (zh) | 一种智能设备的固件更新方法及系统 |
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 |