CN110096290B - 一种电池模拟器主控板软件升级方法 - Google Patents

一种电池模拟器主控板软件升级方法 Download PDF

Info

Publication number
CN110096290B
CN110096290B CN201910271663.XA CN201910271663A CN110096290B CN 110096290 B CN110096290 B CN 110096290B CN 201910271663 A CN201910271663 A CN 201910271663A CN 110096290 B CN110096290 B CN 110096290B
Authority
CN
China
Prior art keywords
file
battery simulator
upgrade
upgrading
software
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
Application number
CN201910271663.XA
Other languages
English (en)
Other versions
CN110096290A (zh
Inventor
周马
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Jingneng Electronic Technology Co ltd
Original Assignee
Wuhan Jingneng Electronic Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Jingneng Electronic Technology Co ltd filed Critical Wuhan Jingneng Electronic Technology Co ltd
Priority to CN201910271663.XA priority Critical patent/CN110096290B/zh
Publication of CN110096290A publication Critical patent/CN110096290A/zh
Application granted granted Critical
Publication of CN110096290B publication Critical patent/CN110096290B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02E60/10Energy storage using batteries

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

本发明属于电池模拟器软件升级技术领域,公开了一种电池模拟器主控板软件升级方法,在电池模拟器中搭建ftp服务器,上位机不需要安装ftp服务器,能保证在上位机不需要安装ftp服务器传输升级文件的条件下对电池模拟器系统软件的多个文件进行升级,此升级完成后系统自动重启或者自动跳转到应用程序进入工作状态,能更好的适应客户现场的使用环境,与现有技术中先在电池模拟器的面板控制界面配置升级标识,在电池模拟器下一次上电重启后检查升级标识、进入升级相比,本发明提供的池模拟器主控板软件升级方法方法操作流程更加简便,大大降低了设备维护的成本。

Description

一种电池模拟器主控板软件升级方法
技术领域
本发明属于电池模拟器软件升级技术领域,更具体地,涉及一种电池模拟器主控板软件升级方法。
背景技术
当前的电池模拟器升级需要在上位机安装ftp服务器,将升级程序通过ftp服务器传输给电池模拟器,然后在电池模拟器的面板控制界面配置升级标识;在电池模拟器下一次上电重启后电池模拟器会去检查升级标识。如果升级标识配置的是需要升级,则进入升级流程,如果配置的是不需要升级则直接进入应用程序,进入工作状态。以上升级流程由于操作复杂,客户生产现场不具备安装ftp服务器条件且当前的软件升级只支持单个文件的升级,无法一次性对整个系统进行软件升级导致当前电池模拟器的软件维护成本过高。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种电池模拟器主控板软件升级方法,其目的在于简化电池模拟器主控板软件升级操作,无需上位机安装ftp服务器传输升级文件即可对电池模拟器系统软件的多个文件进行升级。
为实现上述目的,按照本发明的一个方面,提供了一种电池模拟器主控板软件升级方法,包括如下步骤:
(1)建立上位机与电池模拟器之间的网络连接,在电池模拟器中搭建ftp服务器,通过上位机发送版本信息请求获取电池模拟器的当前软件版本信息;
(2)通过搭载在上位机上的升级工具选取软件升级包并解压,读取待升级的软件版本信息文件;
(3)比较当前电池模拟器的软件版本与待升级的软件版本,如存在不一致,则将版本不一致的文件名存储起来,给该文件加上预设的文件头;
(4)通过上位机向电池模拟器发送准备升级指令,依据该指令清空电池模拟器存放升级文件的目录;
(5)上位机收到电池模拟器清空上述目录后反馈的升级准备完成信息后,向电池模拟器的ftp服务器发送添加了文件头的升级文件;
(6)由上位机向电池模拟器发送开始升级指令;电池模拟器接收到升级指令后将升级文件的文件头存入结构体;将文件头之后的字节写入存放升级文件的目录下并进行校验;
(7)对镜像文件、应用层程序、库文件进行升级,具体是先解压zip压缩包,然后进入解压出来的目录下执行相应的升级脚本,脚本执行完即表示该文件的升级完成;
对中位机服务程序和界面显示程序升级,具体是直接将原来电池模拟器中的中位机服务程序和界面显示程序重命名,并将新版本的文件拷贝到电池模拟器主控板的工作程序存放目录。
优选地,上述电池模拟器主控板软件升级方法,制作软件升级包的方法为:
在预定的升级包存放目录下新建升级目录,该目录下分别存放有镜像文件目录,应用层程序目录,库文件目录和csv格式的版本信息文件,对应的镜像文件目录,应用层程序目录,库文件目录下存放相应的文件;在升级包存放路径下编写脚本文件生成软件升级包。
优选地,上述电池模拟器主控板软件升级方法,步骤(3)中所加的文件头,包括文件名、文件类型、版本信息、文件长度、生成日期、MD5和/或发布人信息。
优选地,上述电池模拟器主控板软件升级方法,步骤(6)中电池模拟器收到开始升级指令后先将应用程序中位机服务程序进行和界面显示程序进行从内存里面完全清除掉,然后启动升级界面用于提示升级进度。
优选地,上述电池模拟器主控板软件升级方法,步骤(6)中的校验方法为:求新写入的文件的MD5值,将求出的MD5值与加头文件前的MD5值进行比较,如果两个MD5值相等则表明升级文件在操作过程未丢失或错乱,校验通过。
优选地,上述电池模拟器主控板软件升级方法,通过电池模拟器的用户界面提示正在升级的是哪个文件,并将升级的文件名发送给上位机,上位机在log输出窗口提示正在升级的是哪个文件。
优选地,上述电池模拟器主控板软件升级方法,文件升级完成后向log日志记录文件写入在哪个时间升级了哪个文件,升级后的文件版本、以及升级结果是成功还是失败的信息。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
本发明提供的电池模拟器主控板软件升级方法,该方法在电池模拟器中搭建ftp服务器,上位机不需要安装ftp服务器,能保证在上位机不需要安装ftp服务器传输升级文件的条件下通过将所有软件制作为zip压缩包,上位机选择zip压缩包后自动进行版本比对,将当前版本与待升级版本不一致的文件传输给电池模拟器,实现对电池模拟器系统软件的多个文件进行升级,由于升级过程中会记录升级了哪些文件,升级完成后系统会自动判断是自动重启机器还是自动跳转到应用程序进入工作状态,能更好的适应客户现场的使用环境,与现有技术中先在电池模拟器的面板控制界面配置升级标识,在电池模拟器下一次上电重启后检查升级标识、进入升级相比,本发明提供的方法操作流程更加简便,大大降低了设备维护的成本。
附图说明
图1是本发明提供电池模拟器主控板软件升级方法的一个实施例的流程示意图;
图2是实施例中的软件升级包的目录结构示意图;
图3是实施例中pc端升级工具的界面设示意框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
参照图1,实施例提供的电池模拟器主控板软件升级的方法,包括如下步骤:
(1)在上位机的用户界面输入电池模拟器的ip地址,点击连接按钮,上位机与电池模拟器建立网络连接后,上位机发送数据包查询电池模拟器当前运行的系统各程序的版本信息;
电池模拟器收到版本查询数据包后读取各程序的版本信息文件,具体实施例中,版本信息文件包括/opt/user/app/Version,/opt/user/version,/opt/lib/qt/version三个文件。
其中,/opt/user/app/Version记录了image.zip,bs_app,bs_qt三个文件的版本。/opt/user/version记录了user.zip文件的版本。/opt/lib/qt/version记录了qt_lib的版本。
读取版本信息后电池模拟器将版本信息通过tcp网络发送到上位机,上位机收到版本信息后将当前电池模拟器中的文件版本信息显示在用户界面上。
(2)上位机通过用户界面选择制作好的名为upgrade02.002.0001.zip的软件升级包,对软件升级包进行解压处理,解压后在升级工具的当前目录得到名为upgrade的目录,进入该目录读取版本记录文件version.csv,将待升级的文件版本信息显示在上位机用户界面上,包括image.zip,user.zip,qt_lib,bs_app,bs_qt的版本信息。
在一个实施例中,制作软件升级包的方法如下:
在预定的升级包存放目录(E:\work\myword\upgrade)下新建upgradeDir目录,upgradeDir目录下分别存放有image,user,lib目录和version.csv文件,对应的image,user,lib目录下存放相应的文件;在升级包存放路径下编写mkUpgradePack.sh脚本文件生成软件升级包upgrade02.002.0001.zip;实施例中,升级包的目录结构参照图2。
(3)比较电池模拟器当前运行的文件版本信息与待升级的文件版本信息;在一个优选实施例中,如果待升级的文件版本信息与当前运行的版本信息不一致,则将该文件的文件名存储起来,待ftp传输文件的时候将该文件传输给电池模拟器。
实施例中,读取到的当前系统正在运行的文件版本信息为:image-02.001.0004,
user-02.001.0001,lib-4.8.4,bs_app-02.001.0116,bs_qt-02.001.0043;
升级包中各文件版本信息为:image-02.002.0000,user-02.002.0005,lib-4.8.4,bs_app-02.002.007,bs_qt-02.002.0034。由于bs_app和bs_qt被打包进user.zip中,因此升级user.zip就将bs_app和bs_qt一起升级了,不需要单独升级bs_app和bs_qt;image.zip和user.zip被保存起来,ftp传输文件时将image.zip和user.zip文件传输给电池模拟器。
(4)在上位机的用户界面点击“一键升级”按钮,上位机先给待传输的image.zip和user.zip文件加上311个字节的头形成升级文件,头字节中包含文件名,文件类型,版本信息,文件长度,生成日期,MD5,发布人的信息;将加头字节后的升级文件名命名为“原文件名xxxx.xx.xx-xx.xx.xx.文件类型”,其中,xxxx.xx.xx-xx.xx.xx取自加头字节时的系统时间;
实施例中,将加头字节后的文件名为image2019.02.26-17.54.03.zip,user2019.02.26-17.54.04.zip。
升级文件准备好后,上位机向电池模拟器发送准备升级指令,电池模拟器收到指令后将电池模拟器内存放升级文件的目录/var/ftp/upgrade下的所有文件都删除,然后回复上位机准备升级指令;
上位机收到回复指令后开始向电池模拟器的ftp服务器传输升级文件image2019.02.26-17.54.03.zip,user2019.02.26-17.54.04.zip,电池模拟器收到以上两个升级文件后存放在电池模拟器内存放升级文件的目录/var/ftp/upgrade下。
(5)上位机向电池模拟器发送开始升级指令,电池模拟器收到开始升级指令后先将应用层的bs_qt和bs_app进程杀死,然后启动升级进度提示界面,读取/var/ftp/upgrade目录下的文件名,将文件名image2019.02.26-17.54.03.zip,user2019.02.26-17.54.04.zip存储在全局的qvector类型容器中;
(6)读取升级文件image2019.02.26-17.54.03.zip文件中的内容,将头311个字节存储在包含有文件名、文件类型、版本信息、文件长度、生成日期、MD5、发布人这7个元素的结构体中;将头311个字节后面的内容写入名为image.ub的文件中;对新写入的image.ub文件求MD5值,将求出的MD5值与此前存放在结构体中的MD5值进行比较,若两个MD5值相等,则对image.zip文件进行升级。
在一个优选实施例中,如果MD5值不相等则表明该文件在一系列操作过程中出现了意外损坏,则不对其进行升级。
(7)解压image.zip文件得到image目录,进入image目录下执行upgrade.sh脚本进行镜像文件升级,在升级imag.zip时电池模拟器界面会提示“正在对系统镜像进行升级,这可能需要两分钟”,同时电池模拟器也会发指令告诉上位机正在对系统镜像文件进行升级,上位机收到电池模拟器指令后将当前升级的进度显示在log输出窗口。
(8)镜像文件image2019.02.26-17.54.03.zip升级完后开始升级user2019.02.26-17.54.04.zip;
读取user2019.02.26-17.54.04.zip文件中的内容,将头311字节存储在包含有文件名,文件类型,版本信息,文件长度,生成日期,MD5,发布人这7个元素的结构体中;将头311个字节后面的内容写入名为user.zip的文件中;对新写入的user.zip文件求MD5值,将求出的MD5值与此前存放在结构体中的MD5值进行比较,若两个MD5值相等,则对user.zip文件进行升级。
(9)解压user.zip文件得到user目录,进入user目录下执行upgrade.sh脚本进行升级;
在升级user.zip时升级界面提示“正在对应用层程序进行升级,请稍候……”,同时电池模拟器也发指令告诉上位机正在对应用层程序进行升级,上位机收到电池模拟器指令后将当前升级的进度显示在log输出窗口。
(10)镜像文件与应用层程序两个文件都升级完成后,电池模拟器自动进入重启状态,界面提示“系统重启中,请稍候…”;电池模拟器发指令告诉上位机升级完成以及需要重启电池模拟器;上位机log输出窗口提示“升级完成,电池模拟器即将重启,请稍后...”;上位机上升级工具的界面显示参照图3所示。
如果升级了image.zip、user.zip、lib.zip中的一个或者多个,文件升级完后电池模拟器系统进行自动重启加载升级后的程序;如果只是升级了bs_app或bs_qt,电池模拟器则不重启直接加载升级后的bs_app和bs_qt。
实施例提供的这种电池模拟器主控板软件升级方法,上位机不需要安装ftp服务器,通过操作上位机升级工具界面的连接按钮、选择文件按钮、一键升级按钮三个按钮即可对电池模拟器系统软件的多个文件进行升级,升级完成后系统自动重启或者自动跳转到应用程序进入工作状态,能更好的适应客户现场的使用环境,与现有技术中先在电池模拟器的面板控制界面配置升级标识,在电池模拟器下一次上电重启后检查升级标识、进入升级相比,本发明实施例提供的方法操作流程更加简便,大大降低了设备维护的成本。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种电池模拟器主控板软件升级方法,其特征在于,包括如下步骤:
(1)建立上位机与电池模拟器之间的网络连接,在电池模拟器中搭建ftp服务器,通过上位机发送版本信息请求获取电池模拟器的当前软件版本信息;
(2)通过搭载在上位机上的升级工具选取软件升级包并解压,读取待升级的软件版本信息文件;
(3)比较当前电池模拟器的软件版本与待升级的软件版本,如存在不一致,则将版本不一致的待升级文件的文件名存储起来,给该待升级文件加上预设的文件头;
(4)通过上位机向电池模拟器发送准备升级指令,依据准备升级指令清空电池模拟器存放升级文件的目录;
(5)上位机收到电池模拟器清空上述目录后反馈的升级准备完成信息后,向电池模拟器的ftp服务器发送添加了文件头的升级文件;
(6)由上位机向电池模拟器发送开始升级指令;电池模拟器接收到升级指令后将升级文件的文件头存入结构体;将文件头之后的字节写入存放升级文件的目录下并进行校验;
(7)校验通过后执行升级脚本对镜像文件、应用层程序、库文件进行升级;并对中位机服务程序和界面显示程序升级,直接将原来电池模拟器中的中位机服务程序和界面显示程序重命名,并将新版本的文件拷贝到电池模拟器主控板的工作程序存放目录。
2.如权利要求1所述的电池模拟器主控板软件升级方法,其特征在于,制作软件升级包的方法为:
在预定的升级包存放目录下新建升级目录,该目录下分别存放有镜像文件目录,应用层程序目录,库文件目录和csv格式的版本信息文件,对应的镜像文件目录,应用层程序目录,库文件目录下存放相应的文件;在升级包存放路径下编写脚本文件生成软件升级包。
3.如权利要求1或2所述的电池模拟器主控板软件升级方法,其特征在于,步骤(3)中所加的文件头,包括文件名、文件类型、版本信息、文件长度、生成日期、MD5和/或发布人信息。
4.如权利要求1或2所述的电池模拟器主控板软件升级方法,其特征在于,步骤(6)中,电池模拟器收到开始升级指令后先将中位机服务程序进程和界面显示程序进程从内存里面完全清除掉,然后启动升级界面提示升级进度。
5.如权利要求1或2所述的电池模拟器主控板软件升级方法,其特征在于,所述的校验具体为:求新写入的文件的MD5值,将求出的MD5值与加头文件前的MD5值进行比较,如果两个MD5值相等则表明升级文件在操作过程未丢失或错乱。
6.如权利要求1或2所述的电池模拟器主控板软件升级方法,其特征在于,通过电池模拟器的用户界面提示正在升级的是哪个文件,并将升级的文件名发送给上位机,上位机在log输出窗口提示正在升级的是哪个文件。
7.如权利要求1或2所述的电池模拟器主控板软件升级方法,其特征在于,上述电池模拟器主控板软件升级方法,文件升级完成后向log日志记录文件写入在哪个时间升级了哪个文件,升级后的文件版本、以及升级结果是成功还是失败的信息。
CN201910271663.XA 2019-04-04 2019-04-04 一种电池模拟器主控板软件升级方法 Active CN110096290B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910271663.XA CN110096290B (zh) 2019-04-04 2019-04-04 一种电池模拟器主控板软件升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910271663.XA CN110096290B (zh) 2019-04-04 2019-04-04 一种电池模拟器主控板软件升级方法

Publications (2)

Publication Number Publication Date
CN110096290A CN110096290A (zh) 2019-08-06
CN110096290B true CN110096290B (zh) 2023-07-18

Family

ID=67444365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910271663.XA Active CN110096290B (zh) 2019-04-04 2019-04-04 一种电池模拟器主控板软件升级方法

Country Status (1)

Country Link
CN (1) CN110096290B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737451B (zh) * 2019-09-25 2023-09-29 广东博力威科技股份有限公司 一种电池的前端控制软件版本更新方法
CN110737454A (zh) * 2019-10-17 2020-01-31 腾讯科技(深圳)有限公司 软件项目更新方法、装置、计算机设备及存储介质
CN111124455B (zh) * 2019-12-26 2023-08-04 上海派能能源科技股份有限公司 一种电池管理系统升级方法、装置、服务器及存储介质
CN112698855B (zh) * 2020-12-30 2023-03-14 浙江惠瀜网络科技有限公司 线上自动化部署服务器升级方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106569864A (zh) * 2016-11-14 2017-04-19 湖南小步科技有限公司 一种电池管理单元的远程在线升级方法及系统
WO2018041061A1 (zh) * 2016-08-29 2018-03-08 深圳市中兴微电子技术有限公司 车载设备的升级方法、设备、系统和计算机存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018041061A1 (zh) * 2016-08-29 2018-03-08 深圳市中兴微电子技术有限公司 车载设备的升级方法、设备、系统和计算机存储介质
CN106569864A (zh) * 2016-11-14 2017-04-19 湖南小步科技有限公司 一种电池管理单元的远程在线升级方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Mobile Agent based Secure Code Update in Wireless;M.B.Nirmala 等;《 2015 International Conference on Information Networking (ICOIN)》;20150312;全文 *
锂电池保护板测试装置的关键技术研究;陈炜钢;《全国优秀硕士学位论文全文库(信息科技辑)》;20150315;全文 *

Also Published As

Publication number Publication date
CN110096290A (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
CN110096290B (zh) 一种电池模拟器主控板软件升级方法
CN107179909B (zh) 软件升级方法、装置及计算机可读存储介质
JP5838527B2 (ja) ファームウェアを更新するための方法、装置、および通信デバイス
CN110597542B (zh) 软件自动ota升级方法及装置、电子设备
CN106406935A (zh) 一种蓝牙芯片ota升级的方法和蓝牙芯片
CN103841134A (zh) 基于api发送、接收信息的方法、装置及系统
WO2011088701A1 (zh) 一种跨平台版本在线升级的方法及装置
CN112152846A (zh) 一种基于物联网的计量仪表远程升级方法
EP3812890B1 (en) Software update agent apparatus and patch method using same
CN112882734B (zh) 升级方法及装置、计算机设备和介质
WO2017028574A1 (zh) 一种路由器测试方法和测试装置
CN110825419B (zh) 一种固件刷新方法、装置及电子设备和存储介质
CN111104147A (zh) 一种bmc升级方法、装置、终端及存储介质
CN116185460A (zh) 一种嵌入式系统软件自动升级的方法及装置
CN110580167A (zh) 一种系统升级方法、智能设备及服务器
CN113900693A (zh) 一种固件升级方法、装置、系统、电子设备及存储介质
CN114489711A (zh) 终端升级方法、装置及存储介质
CN113590169A (zh) 应用部署方法、应用部署系统和计算机可读存储介质
CN113468143A (zh) 数据迁移方法、系统、计算设备及存储介质
CN113254045A (zh) 软件初始化方法、系统及计算机可读存储介质
CN111782251A (zh) 一种软件功能模块的更新方法、装置及计算机设备
CN110795113B (zh) 一种Redis集群服务的安装方法、服务器和介质
CN112269601B (zh) 一种bmc及其部件资产信息管理方法、装置和存储介质
CN114879977A (zh) 应用部署方法、装置及存储介质
CN112527327A (zh) 一种uos操作系统恢复出厂的方法、系统、终端及存储介质

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