CN109491688A - 对无人船的控制设备进行固件升级的方法、装置及系统 - Google Patents
对无人船的控制设备进行固件升级的方法、装置及系统 Download PDFInfo
- Publication number
- CN109491688A CN109491688A CN201811373525.4A CN201811373525A CN109491688A CN 109491688 A CN109491688 A CN 109491688A CN 201811373525 A CN201811373525 A CN 201811373525A CN 109491688 A CN109491688 A CN 109491688A
- Authority
- CN
- China
- Prior art keywords
- firmware
- firmware updating
- upgrade
- mobile terminal
- controller
- 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.)
- Pending
Links
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
本发明公开了一种对无人船的控制设备进行固件升级的方法,其中,控制设备包括主控制器以及一个或多个执行机构控制器,控制设备与移动终端通信连接。该方法包括:接收移动终端发送的升级固件包,其中,升级固件包由移动终端从服务器中获取;解析升级固件包,获得升级固件的文件格式;根据升级固件的文件格式,确定升级固件类型;如果升级固件是主控制器固件,则将主控制器固件存储在指定的文件系统中,如果升级固件是执行机构控制器固件,则基于固件升级协议,向指定的执行机构控制器发送升级指令。该方案能够方便快捷地对远程控制设备的固件进行在线升级,从而降低设备的维护成本。
Description
技术领域
本发明涉及嵌入式技术领域,尤其涉及一种对无人船的控制设备进行固件升级的方法、装置及系统。
背景技术
固件是具有软件功能的硬件,一般担任着一个系统最基础、最底层的工作。固件升级是为了修复现有固件中存在的bug以及优化相关性能。
目前固件升级主要利用网线,通过安全拷贝协议SCP、双向文件传输协议FTP、超文本传输协议HTTP等方式,将文件拷贝到文件系统的指定目录。升级过程中需要用户名登陆、输入密码等操作,不利于程序升级和开发。对于单片机控制芯片的固件升级,传统升级方法需要计算机接入JLINK、USART、JTAG等接口进行固件升级。如需要升级多个模块还需要频繁接线。而对于像无人船这样的远程控制设备,在户外环境恶劣的情况下,现有的固件升级方案无法对其进行远程在线升级。
因此需要一种对无人船的控制设备进行固件升级方法,能够通过无线方式实现对无人船内部控制器进行远程固件升级的便捷性和安全性。
发明内容
为此,本发明提供了一种对无人船的控制设备进行固件升级的方法、装置及系统,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种对无人船的控制设备进行固件升级的方法,该控制设备包括主控制器以及一个或多个执行机构控制器,控制设备与移动终端通信连接。在该方法中,可以首先接收移动终端发送的升级固件包,其中,升级固件包由移动终端从服务器中获取。然后,解析升级固件包,获得升级固件的文件格式。接着,根据升级固件的文件格式,确定升级固件类型。如果升级固件是主控制器固件,则将主控制器固件存储在指定的文件系统,如果升级固件是执行机构控制器固件,则基于固件升级协议,向指定的执行机构控制器发送升级指令。
可选地,在上述方法中,可以先将移动终端发送的升级固件包存储在缓存中。然后,对接收到的升级固件包进行校验,如果校验成功,则向移动终端返回接收成功信号,如果未校验成功,则将缓存删除并向移动终端返回接收失败信号。
可选地,升级固件包至少包括升级数据帧、结束帧和校验帧。
可选地,在上述方法中,可以将升级数据帧与结束帧的每一位进行异或运算,得到校验数据。然后,将校验数据与校验帧进行对比,如果相同则校验成功,如果不同则未校验成功。
可选地,在上述方法中,如果升级固件的文件名中包含hex扩展名,则升级固件为执行机构控制器固件,否则为主控制器固件。
可选地,在上述方法中,固件升级协议为基于CAN控制器局域网络的NMEA2000协议,包括优先级位、消息类型、原地址以及目的地址,消息类型包括升级数据帧、结束帧和校验帧。
可选地,在上述方法中,可以通过CAN总线向指定的执行机构控制器发送恢复至引导程序状态的指令。然后在接收到成功进入引导程序状态的反馈信息后,基于反馈信息修改固件升级协议中的目的地址。最后,将执行机构控制器固件发送到目的地址对应的执行机构控制器。
可选地,在上述方法中,执行机构控制器可以先将升级固件中的升级数据帧存入RAM缓存。然后,对升级数据帧进行校验,校验通过后将升级数据帧写入FLASH闪存中。最后,将所述引导程序跳转至用户程序,以便重新启动执行机构控制器。
可选地,在上述方法中,当升级程序运行正常,执行机构控制器通过CAN总线广播升级成功消息,当升级升序运行失败,通过CAN总线广播升级失败消息,以便主控制器重新发送升级固件。
可选地,在上述方法中,移动终端与所述设备之间的通信连接为4G网路、mesh无线网格网络、WiFi网络、卫星通信网络中任意一种。
根据本发明另一个方面,提供了一种对无人船的控制设备进行固件升级的装置,该装置包括接收模块、解析模块、确定模块和处理模块。其中,接收模块可以接收移动终端发送的升级固件包,其中,升级固件包由移动终端从服务器中获取。解析模块可以解析升级固件包,获得升级固件的文件格式。确定模块可以根据升级固件的文件格式,确定升级固件类型。如果升级固件是主控制器固件,处理模块可以将主控制器固件存储在指定的文件系统,如果升级固件是执行机构控制器固件,处理模块可以基于固件升级协议,向指定的执行机构控制器发送升级指令。
可选地,在上述装置中,接收模块可以包括第一存储单元和第一校验单元。其中,第一存储单元可以将移动终端发送的升级固件包存储在缓存中。第一校验单元可以对接收到的升级固件包进行校验,如果校验成功,则向移动终端返回接收成功信号,如果未校验成功,则将缓存删除并向移动终端返回接收失败信号。
可选地,在上述装置中,处理模块可以包括命令单元、修改单元和发送单元。其中,命令单元可以通过CAN总线向指定的执行机构控制器发送恢复至引导程序状态的指令。修改单元可以在接收到成功进入引导程序状态的反馈信息后,基于反馈信息修改固件升级协议的目的地址。发送单元可以将执行机构控制器固件发送到目的地址对应的执行机构控制器。
可选地,在上述装置中,处理模块还包括第二存储单元、第二校验单元、跳转单元和反馈单元。其中,第二存储单元可以将升级固件中的升级数据帧存入RAM缓存。第二校验单元可以对升级数据帧进行校验,校验通过后将升级数据帧写入FLASH闪存中。跳转单元,适于将引导程序跳转至用户程序,以便重启。反馈单元,当升级程序运行正常,可以通过CAN总线广播升级成功消息,当升级升序运行失败,通过CAN总线广播升级失败消息,以便主控制器重新发送升级固件。
根据本发明另一个方面,提供一种对无人船的控制设备进行固件升级的系统。该系统包括移动终端、服务器、控制设备以及对无人船的控制设备进行固件升级的装置。其中,移动终端可以向服务器发送固件升级请求,其中,固件升级请求包括控制设备的设备标识和固件版本号。服务器可以响应于移动终端发送的固件升级请求,将控制设备的升级固件包发送给移动终端。控制设备包括主控制器和一个或多个执行机构控制器。
可选地,在上述系统中,移动终端与控制设备通信连接,移动终端可以接收服务器发送的升级固件包,并将升级固件包发送给控制设备的主控制器。
本方案能够方便地对无人船等远程控制设备的控制单元进行固件更新,以一键式系统升级管理的方式对控制单元进行远程在线升级,大大减少了升级维护的时间。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的对无人船的控制设备进行固件升级的系统100的结构示意图;
图2示出了根据本发明一个实施例的对无人船的控制设备进行固件升级的装置200的结构示意图;
图3示出了根据本发明一个实施例的对无人船的控制设备进行固件升级的装置200的结构示意图;
图4示出了根据本发明一个实施例的对无人船的控制设备进行固件升级的方法的示意性流程图;
图5示出了根据本发明一个实施例的对无人船的控制设备进行固件升级的方法的示意性流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
随着物联网、卫星通信、云计算、人工智能等技术的快速发展,船舶自动化水平不断提高,为无人船执行海上探测、环境监测、安防等特殊海上任务提供了科技支撑。无人船可以搭载多种测量仪器,采用模块化设计,包含丰富的功能接口和应用软件。对于无人船的固件更新,现有技术一般是通过有线连接的方式下载升级固件到不同的控制模块,当多个模块需要同时固件更新时,需要频繁接线。且在户外环境恶劣的情况下无法进行升级。本方案提供一种对无人船的控制设备进行固件升级的方法,能够以无线方式实现远程在线升级,提高远程控制设备固件升级的便捷性和安全性。
图1示出了根据本发明一个实施例的对无人船的控制设备进行固件升级的系统100的结构示意图。如图1所示,固件升级系统包括移动终端、服务器、控制设备的主控制器和多个执行机构控制器。移动终端可以作为无人船的远程控制设备,能够接收无人船实时传输的测量数据。移动终端可以与控制设备通信连接,例如通过4G网络、mesh(无线网格网络,是一个动态的可以不断扩展的网络架构,任意两个设备均可以保持无线互联)网络、WiFi网络、卫星通信网络等进行超视距远距离通信。服务器可以是任意一种提供计算服务的设备,能够响应服务请求并进行处理,例如可以是数据库服务器、云服务器,能够为客户端提供数据服务。可以将升级固件预先存放在服务器的文件系统中指定的目录中,管理员可以为每个使用者在服务器后台对应一个用户名,根据使用者的级别分配使用者的操作权限。远程使用者可以根据拥有的权限,对升级固件进行下载、更新等操作。
例如,当一艘无人船在距离陆地30公里的海上进行测试,测试人员发现舵角控制器不够精准,需要对主控制器和舵角控制器同时进行固件更新。这时,可以使用卫星通信设备通过微波信号向服务器发送待升级设备的固件升级请求,其中包括待升级设备的设备标识和固件版本号。利用卫星通信覆盖范围广、通信质量高等诸多优点可以实现对无人船等海上设备的远距离信息传输和控制。无人船控制设备固件升级包包含对应的设备名称、设备号等、固件版本号和升级包的个数等信息,可以根据固件版本号来判断设备中的固件是否需要升级。固件升级包可以包括主控制器升级包和一个或多个执行机构控制器升级包。服务器接收到固件升级请求后,将对应版本的固件打包,并可以按照任意一种数据通信协议进行封装。打包后的固件升级包中可以包括固件升级请求的时间、移动终端的地址端口号、控制设备的地址端口号等,然后将控制设备的升级固件包发送给移动终端。
移动终端接收到升级固件包之后,可以通过4G网络、mesh无线网格网络、WiFi网络、卫星通信网络等无线网络,将升级固件包发送到无人船控制设备的主控制器。其中,控制设备可以包括一个主控制器和一个或多个执行机构控制器。控制设备的主控制器可以是ARM主控芯片,是联系各执行机构控制器的桥梁,提供多种通信接口,负责管理总线以及内存之间的数据交流。执行机构控制器可以是基于ARM Cortex-M内核的STM32微控制器,能够提供多种通信接口,尤其是提供很好的CAN总线外设,能够控制舵角、温度、距离等多种传感器采集数据。主控制器和执行机构控制器可以通过CAN总线进行通信。其中,CAN总线是控制器局域网络,支持分布式控制或实时控制的串行通信网络。任何在总线上的节点都可以监听到总线上传输的数据。
图2示出了根据本发明的一个实施例的对无人船的控制设备进行固件升级的装置200。如图2所示,该装置200可以包括接收模块210、解析模块220、确定模块230和处理模块240。其中,接收模块可以接收移动终端发送的升级固件包,其中,升级固件包由移动终端从服务器中获取。例如移动终端以20hz的频率向控制设备的主控制器发送ping包信号,检查网络是否连通。通过实时监测包数来确定发送数据包的大小。
解析模块220可以解析升级固件包,获得升级固件的文件格式。文件名是为区分不同的文件格式为每个文件指定的名称。文件名可以由文件主名和扩展名组成,主名和扩展名之间用小数点隔开。例如,如果升级固件的文件名中包含.hex后缀,证明该文件格式是hex文件格式,可以烧写到单片机中被执行。Hex文件中包含了地址信息。如果升级固件的文件名中不包含.hex后缀,其中只包含数据本身,而不包括地址信息。
确定模块230可以根据升级固件的文件格式,确定升级固件类型。例如,主控制器的升级固件是以文件名形式命名的,而执行机构控制器的升级固件是以文件名加hex后缀形式命名的。进行固件升级时,对文件名进行区分,可以避免错误升级,提高固件升级的准确性。
如果升级固件是主控制器固件,处理模块240可以将主控制器固件存储在指定的文件系统。如果升级固件是执行机构控制器固件,处理模块240可以基于固件升级协议,向指定的执行机构控制器发送升级指令。可以将升级固件基于NMEA2000协议进行封装。其中,NMEA2000是国家海洋电子协会提出的船载设备中控制单元之间进行数据交换的通信协议,是CAN总线在航海信息化中的扩展。NMEA2000协议的分层结构包括物理层、数据链路层、网络层和应用层。其中,数据链路层是协议的核心内容,其功能是将物理层收到的信号组织成消息帧,并提供仲裁、应答、错误的检测或报告。根据本发明的一个实施例,基于NMEA2000协议封装的升级固件包可以包括优先级位、消息类型以及消息数据、原地址以及目的地址。
图3示出了根据本发明一个实施例的对无人船的控制设备进行固件升级的装置200的结构示意图。如图3所示,接收模块210可以包括第一存储单元211和第一校验单元212。其中,第一存储单元211可以将移动终端发送的升级固件包存储在缓存中。为了防止接收数据出错,可以先将接收到的数据包保存为临时文件,待接收到结束帧后,确认远程文件传输结束,再对临时文件进行校验。文件特别是网络传输的文件,出于各种原因,数据可能在传输中丢失bit位从而导致文件损坏。为了保证数据完整和正确,需要进行完整性测试和校验。第一校验单元212可以对接收到的升级固件包进行校验,如果校验成功,则向移动终端返回接收成功信号,如果未校验成功,则将缓存删除并向移动终端返回接收失败信号,并提醒移动终端重新发送升级固件包,直到校验成功。例如,可以对接收数据进行CRC(循环冗余校验码)校验,以保证数据传输的正确性和完整性。可以将升级帧所有数据与结束帧数据的每一位进行异或运算,当得到的校验数据与校验帧一致时,则加收升级固件成功。临时文件校验成功后可以对文件进行重命名,根据接收数据的文件格式进行重命名。如果升级固件的文件格式是hex文件格式,则在文件名中增加.hex后缀名。
处理模块240可以包括命令单元241、修改单元242和发送单元243。其中,命令单元241可以通过CAN总线向指定的执行机构控制器发送恢复至引导程序状态的指令。由于在嵌入式操作系统中,BootLoader引导加载程序是在操作系统内核运行之前运行。当各种初始化程序完成后才能将系统运行到可用状态。主控制器可以发送固定频率和大小的查询命令,查询在CAN总线上面的执行机构控制器,通过反馈信息,协议中包含目的ID,即是升级协议中的Destination位。修改单元242可以在接收到成功进入引导程序状态的反馈信息后,基于反馈信息修改固件升级协议的目的地址。例如,当主控制器接收到进入引导程序状态的反馈信息后,可以以20Hz的频率对升级固件每次读取8个字节,并根据不同执行机构控制器反馈的地址信息,修改NMEA2000协议中的目的地址,以便发送单元243可以将执行机构控制器固件发送到目的地址对应的执行机构控制器。
处理模块240可以包括第二存储单元244和第二校验单元245、跳转单元246和反馈单元247。其中,第二存储单元244可以将升级固件中的升级数据帧存入RAM缓存。升级固件包包括升级数据帧、结束帧和校验帧。升级数据帧为有效数据,可以每次存取8个字节,直到接收到结束帧。第二校验单元245可以对升级数据帧进行校验,校验通过后将RAM中的升级数据帧写入flash闪存中,可以防止错误数据写入flash导致系统崩溃等情况。其中,flash可以用作存储Bootloader以及操作系统或者程序代码等。跳转单元246可以将所述引导程序跳转至用户程序,重新启动执行机构控制器,以便完成固件升级后广播升级成功CAN消息。主控制器接收到升级成功消息后结束升级过程,并向移动终端反馈升级成功指令,完成远程固件升级。当升级程序运行正常,反馈单元247可以通过CAN总线广播升级成功消息,当升级升序运行失败,通过CAN总线广播升级失败消息,以便主控制器重新发送升级固件。
图4示出了根据本发明的一个实施例的对无人船的控制设备进行固件升级的方法的示意性流程图。其中,控制设备可以包括主控制器以及一个或多个执行机构控制器,控制设备与移动终端通信连接。如图4所示,在步骤S410中,主控制器可以接收移动终端发送的升级固件包,其中,升级固件包由移动终端从服务器中获取。移动终端可以向服务器发送升级固件请求,其中包括升级设备标识、升级固件类型和固件版本号等。服务器接收到升级固件请求,遍历数据库找到相应的升级固件,并反馈固件升级申请成功的消息,将升级固件打包后发送给移动终端。移动终端接收升级固件包。
随后在步骤420中,可以解析升级固件包,获得升级固件的文件格式。根据本发明的一个实施例,升级固件包协议可以是基于CAN控制器局域网络的NMEA2000协议,包括优先级位、消息类型、原地址以及目的地址,消息类型包括升级数据帧、结束帧和校验帧。协议格式如下:
其中,Priority位表示优先级位,数字越小代表优先级越高,系统优先响应。PGN位表示消息类型0x FE15,代表升级数据帧,0xFE16代表结束帧,0x FE17代表校验帧。Source位代表原地址。0代表主控制器。Destination代表目的地址,即为待升级执行机构控制器的地址。固件升级时,通过检测该目的地址判断是否是自己的升级数据包。
为了防止数据接收错误,主控制器可以先将移动终端发送的升级固件包存储在缓存中。然后对接收到的升级固件包进行校验,如果校验成功,则向所述移动终端返回接收成功信号,将升级数据打包成正确的升级固件包。如果未校验成功,则将所述缓存删除并向所述移动终端返回接收失败信号。对升级固件进行校验时,可以将升级数据帧与结束帧的每一位进行异或校验,将得到的校验数据与校验帧对比,如果相同则校验成功,如果不同则校验未成功,可以提示移动终端重新发送升级固件包。
随后在步骤S430中,可以根据升级固件的文件格式,确定升级固件类型。由于主控制器升级固件的文件格式与执行机构控制器的文件格式不同,例如执行机构控制器升级固件的文件格式为hex格式,在接收到完整的升级数据后,可以按照文件格式,对升级固件进行重命名,以文件名区分主控制器升级固件和执行机构升级固件。例如当文件名中包含.hex的后缀名时,判断该升级固件为执行机构控制器固件。
最后在步骤S440中,如果升级固件是主控制器固件,则将主控制器固件存储在指定的文件系统,例如可以存储在主控文件协同的用户目录下。如果升级固件是执行机构控制器固件,则基于固件升级协议,向指定的执行机构控制器发送升级指令。
根据本发明的一个实施例,主控制器可以通过CAN总线向指定的执行机构控制器发送恢复至引导程序状态的指令。在接收到成功进入引导程序状态的反馈信息后,基于反馈信息修改固件升级协议中的目的地址。将执行机构控制器固件发送到所述目的地址对应的执行机构控制器。
执行机构控制器恢复至引导程序状态后,可以将“成功进入boot”的信息通过CAN总线反馈给主控制器。为了防止数据包接收错误,可以先将升级固件中的升级数据帧存入RAM缓存。然后,对升级数据帧进行校验,校验通过后再将升级数据帧写入flash闪存中。最后,重新启动所述执行机构控制器。
其中,在嵌入式操作系统中,BootLoader是嵌入式系统上电后执行的第一段代码。在一个基于ARM内核的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。Bootloader完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在内存中然后跳转到操作系统所在的空间,启动操作系统运行。
固件升级成功后,执行机构控制器可以通过CAN总线广播升级成功的消息,主控制器接收到该消息后向移动终端反馈升级成功的消息,从而完成远程在线固件升级。
图5示出了根据本发明一个实施例的对无人船的控制设备进行固件升级的方法的示意性流程图。如图5所示,A9主控制器接收升级固件包,该升级固件包可以基于TCP/IP通信协议进行封装。TCP/IP协议的分层结构分别是应用层、传输层、网络层和链路层,每层分别负责不同的通信功能。接收到结束帧之后,对接收到的数据进行校验,校验成功后,则进一步判断升级固件的类型。如果是A9主控升级固件,则将升级固件存储在指定的文件系统。如果是STM32执行机构控制器固件,则由主控通过CAN总线,基于NMEA2000协议,向指定的执行机构控制器发布升级固件指令。其中,首先使执行机构控制器进行引导程序状态,然后再向执行机构控制器发送对应的升级固件。执行机构控制器检验升级固件接收完成后,重启以完成固件升级。
通过上述方案能够方便地、以一键式系统升级管理的方式对无人船等远程控制设备的控制单元进行远程在线升级,大大减少了升级维护的时间,降低了设备的维护成本。
B11、一种对无人船的控制设备进行固件升级的装置,其中,所述装置包括:接收模块,适于接收所述移动终端发送的升级固件包,其中,所述升级固件包由所述移动终端从服务器中获取;解析模块,适于解析所述升级固件包,获得升级固件的文件格式;确定模块,适于根据所述升级固件的文件格式,确定升级固件类型;以及处理模块,如果所述升级固件是主控制器固件,适于将主控制器固件存储在指定的文件系统,如果所述升级固件是执行机构控制器固件,适于基于固件升级协议,向指定的执行机构控制器发送升级指令。
B12、如B11所述的装置,其中,所述接收模块包括:第一存储单元,适于将所述移动终端发送的升级固件包存储在缓存中;第一校验单元,适于对接收到的升级固件包进行校验,如果校验成功,则向所述移动终端返回接收成功信号,如果未校验成功,则将所述缓存删除并向所述移动终端返回接收失败信号。
B13、如B11所述的装置,其中,所述处理模块包括:命令单元,适于通过CAN总线向指定的执行机构控制器发送恢复至引导程序状态的指令;修改单元,适于在接收到成功进入引导程序状态的反馈信息后,基于反馈信息修改固件升级协议的目的地址;以及发送单元,适于将执行机构控制器固件发送到所述目的地址对应的执行机构控制器。
B14、如B13所述的装置,其中,所述处理模块包括:第二存储单元,适于将升级固件中的升级数据帧存入RAM缓存;第二校验单元,适于对所述升级数据帧进行校验,校验通过后将所述升级数据帧写入FLASH闪存中;以及跳转单元,适于将所述引导程序跳转至用户程序,以便重启。
B15、如B14所述的装置,其中,所述处理模块还包括:反馈单元,适于当升级程序运行正常,通过CAN总线广播升级成功消息,当升级升序运行失败,通过CAN总线广播升级失败消息,以便所述主控制器重新发送升级固件。
C16、一种对无人船的控制设备进行固件升级的系统,其中,包括:移动终端,适于向服务器发送固件升级请求,其中,所述固件升级请求包括控制设备的设备标识和固件版本号;服务器,适于响应于移动终端发送的固件升级请求,将控制设备的升级固件包发送给所述移动终端;控制设备,包括主控制器和一个或多个执行机构控制器;以及B11-15任一项中所述的对无人船的控制设备进行固件升级的装置。
C17、如C16所述的系统,其中,所述移动终端与所述控制设备通信连接,所述移动终端还适于接收所述服务器发送的升级固件包,并将所述升级固件包发送给控制设备的主控制器。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明所述的方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种对无人船的控制设备进行固件升级的方法,所述控制设备包括主控制器以及一个或多个执行机构控制器,所述控制设备与移动终端通信连接,所述方法包括:
接收所述移动终端发送的升级固件包,其中,所述升级固件包由所述移动终端从服务器中获取;
解析所述升级固件包,获得升级固件的文件格式;
根据所述升级固件的文件格式,确定升级固件类型;
如果所述升级固件是主控制器固件,则将主控制器固件存储在指定的文件系统,如果所述升级固件是执行机构控制器固件,则基于固件升级协议,向指定的执行机构控制器发送升级指令。
2.如权利要求1所述的方法,其中,所述接收所述移动终端发送的升级固件包的步骤包括:
将所述移动终端发送的升级固件包存储在缓存中;
对接收到的升级固件包进行校验,如果校验成功,则向所述移动终端返回接收成功信号,如果未校验成功,则将所述缓存删除并向所述移动终端返回接收失败信号。
3.如权利要求2所述的方法,其中,所述升级固件包至少包括升级数据帧、结束帧和校验帧。
4.如权利要求3所述的方法,其中,所述对接收到的升级固件包进行校验的步骤包括:
将所述升级数据帧与结束帧的每一位进行异或运算,得到校验数据;
将所述校验数据与所述校验帧进行对比,如果相同则校验成功,如果不同则未校验成功。
5.如权利要求1所述的方法,其中,所述根据所述升级固件的文件格式,确定升级固件类型的步骤包括:
基于升级固件的文件格式,对升级固件的文件名进行重命名;
如果所述升级固件的文件名中包含.hex扩展名,则所述升级固件为执行机构控制器固件,否则为主控制器固件。
6.如权利要求1所述的方法,其中,所述固件升级协议为基于CAN控制器局域网络的NMEA2000协议,包括优先级位、消息类型、原地址以及目的地址,所述消息类型包括升级数据帧、结束帧和校验帧。
7.如权利要求6所述的方法,其中,所述基于固件升级协议,向指定的执行机构控制器发送升级指令的步骤包括:
通过CAN总线向指定的执行机构控制器发送恢复至引导程序状态的指令;
在接收到成功进入引导程序状态的反馈信息后,基于反馈信息修改固件升级协议中的目的地址;以及
将执行机构控制器固件发送到所述目的地址对应的执行机构控制器。
8.如权利要求7所述的方法,其中,所述基于固件升级协议,向指定的执行机构控制器发送升级指令的步骤包括:
所述执行机构控制器将升级数据帧存入RAM缓存;
对所述升级数据帧进行校验,校验通过后将所述升级数据帧写入FLASH闪存中;以及
将所述引导程序跳转至用户程序,以便重启。
9.如权利要求8所述的方法,其中,所述基于固件升级协议,向指定的执行机构控制器发送升级指令的步骤包括:
当升级程序运行正常,所述执行机构控制器通过CAN总线广播升级成功消息,当升级升序运行失败,通过CAN总线广播升级失败消息,以便所述主控制器重新发送升级固件。
10.如权利要求1-9任一项中所述的方法,其中,所述移动终端与所述设备之间的通信连接为4G网路、mesh无线网格网络、WiFi网络、卫星通信网络中任意一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811373525.4A CN109491688A (zh) | 2018-11-16 | 2018-11-16 | 对无人船的控制设备进行固件升级的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811373525.4A CN109491688A (zh) | 2018-11-16 | 2018-11-16 | 对无人船的控制设备进行固件升级的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109491688A true CN109491688A (zh) | 2019-03-19 |
Family
ID=65696587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811373525.4A Pending CN109491688A (zh) | 2018-11-16 | 2018-11-16 | 对无人船的控制设备进行固件升级的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109491688A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124448A (zh) * | 2019-12-03 | 2020-05-08 | 紫光云(南京)数字技术有限公司 | 一种可快速维护固件的物联网嵌入式系统及升级方法 |
CN112015452A (zh) * | 2020-09-10 | 2020-12-01 | 深圳市嘉昱机电有限公司 | 一种闸机系统的固件升级方法、装置及闸机系统 |
CN112148340A (zh) * | 2020-10-13 | 2020-12-29 | 江苏科技大学 | 一种无人船用实时无线程序烧录器及实现方法 |
CN112286561A (zh) * | 2020-10-22 | 2021-01-29 | 广州华欣电子科技有限公司 | 触摸设备的固件升级方法及装置 |
CN112379908A (zh) * | 2020-12-01 | 2021-02-19 | 牧星智能工业科技(上海)有限公司 | 一种基于阿里云平台的农机定位终端远程固件升级系统 |
CN112988172A (zh) * | 2021-02-20 | 2021-06-18 | 浙江禾川科技股份有限公司 | 一种编码器的程序更新方法、装置、系统 |
CN113238789A (zh) * | 2021-05-27 | 2021-08-10 | 闻泰通讯股份有限公司 | 电子设备及其固件升级方法、装置和计算机可读存储介质 |
CN113342385A (zh) * | 2021-04-29 | 2021-09-03 | 博格思众(常州)空调系统有限公司 | 软件升级方法及装置、空调控制面板 |
CN113535216A (zh) * | 2020-04-22 | 2021-10-22 | 深圳市大富科技股份有限公司 | 设备的内置程序快速更新方法、设备、服务器及存储装置 |
CN113626057A (zh) * | 2021-08-30 | 2021-11-09 | 南京邮电大学 | 一种基于GigE Vision接口的相机远程固件升级系统和方法 |
CN114115928A (zh) * | 2020-08-31 | 2022-03-01 | 中强光电股份有限公司 | 无人载具、无人载具软韧件更新方法及系统 |
CN114866525A (zh) * | 2022-05-19 | 2022-08-05 | 深圳市艾迪思特信息技术有限公司 | 一种一主多从模式嵌入式设备远程在线固件升级方法及系统 |
CN115051919A (zh) * | 2022-06-30 | 2022-09-13 | 深圳市云洲创新科技有限公司 | 一种ota升级系统及ota升级方法 |
CN116319751A (zh) * | 2023-03-13 | 2023-06-23 | 武汉理工大学 | 一种船舶设备的远程升级系统和方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876910A (zh) * | 2009-10-28 | 2010-11-03 | 创新科存储技术有限公司 | 双控制器磁盘存储阵列,及其升级固件方法和控制器 |
US20140310698A1 (en) * | 2013-04-10 | 2014-10-16 | Pantech Co., Ltd. | Apparatus and method for upgrading firmware of mobile terminal |
CN104503796A (zh) * | 2014-12-25 | 2015-04-08 | 浙江中控研究院有限公司 | 一种基于iap的可配置全网络远程节点固件升级方法 |
CN105242949A (zh) * | 2015-10-30 | 2016-01-13 | 广东美的制冷设备有限公司 | 家用电器的数据更新系统、方法以及家用电器 |
CN105700924A (zh) * | 2016-01-13 | 2016-06-22 | 深圳市盛弘电气股份有限公司 | 一种为多个模块烧录程序的方法及装置 |
CN106126211A (zh) * | 2016-06-17 | 2016-11-16 | 山东超越数控电子有限公司 | 一种支持调试接口的mcu在线编程系统 |
CN107239302A (zh) * | 2017-05-10 | 2017-10-10 | 努比亚技术有限公司 | 一种固件升级方法、终端和服务器 |
CN107979480A (zh) * | 2016-10-25 | 2018-05-01 | 郑州云海信息技术有限公司 | 一种通过RMC更新Jbod固件的方法 |
CN108462740A (zh) * | 2018-02-27 | 2018-08-28 | 成都四海万联科技有限公司 | 一种车联网监控系统 |
-
2018
- 2018-11-16 CN CN201811373525.4A patent/CN109491688A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876910A (zh) * | 2009-10-28 | 2010-11-03 | 创新科存储技术有限公司 | 双控制器磁盘存储阵列,及其升级固件方法和控制器 |
US20140310698A1 (en) * | 2013-04-10 | 2014-10-16 | Pantech Co., Ltd. | Apparatus and method for upgrading firmware of mobile terminal |
CN104503796A (zh) * | 2014-12-25 | 2015-04-08 | 浙江中控研究院有限公司 | 一种基于iap的可配置全网络远程节点固件升级方法 |
CN105242949A (zh) * | 2015-10-30 | 2016-01-13 | 广东美的制冷设备有限公司 | 家用电器的数据更新系统、方法以及家用电器 |
CN105700924A (zh) * | 2016-01-13 | 2016-06-22 | 深圳市盛弘电气股份有限公司 | 一种为多个模块烧录程序的方法及装置 |
CN106126211A (zh) * | 2016-06-17 | 2016-11-16 | 山东超越数控电子有限公司 | 一种支持调试接口的mcu在线编程系统 |
CN107979480A (zh) * | 2016-10-25 | 2018-05-01 | 郑州云海信息技术有限公司 | 一种通过RMC更新Jbod固件的方法 |
CN107239302A (zh) * | 2017-05-10 | 2017-10-10 | 努比亚技术有限公司 | 一种固件升级方法、终端和服务器 |
CN108462740A (zh) * | 2018-02-27 | 2018-08-28 | 成都四海万联科技有限公司 | 一种车联网监控系统 |
Non-Patent Citations (4)
Title |
---|
POONAM PINGALE 等: "Design aspects for Upgrading Firmware of a Resource Constrained Device in the Field", 《IEEE INTERNATIONAL CONFERENCE ON RECENT TRENDS IN ELECTRONICS INFORMATION COMMUNICATION TECHNOLOGY》 * |
付超: "嵌入式无线移动设备的开放式远程现场升级", 《计算机工程与应用》 * |
武八一: "交换机的MBUS管理模块的设计与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
陈荔: "基于串口自定义协议传输文件的设计", 《计算机技术与发展》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124448A (zh) * | 2019-12-03 | 2020-05-08 | 紫光云(南京)数字技术有限公司 | 一种可快速维护固件的物联网嵌入式系统及升级方法 |
CN113535216A (zh) * | 2020-04-22 | 2021-10-22 | 深圳市大富科技股份有限公司 | 设备的内置程序快速更新方法、设备、服务器及存储装置 |
CN114115928A (zh) * | 2020-08-31 | 2022-03-01 | 中强光电股份有限公司 | 无人载具、无人载具软韧件更新方法及系统 |
CN112015452A (zh) * | 2020-09-10 | 2020-12-01 | 深圳市嘉昱机电有限公司 | 一种闸机系统的固件升级方法、装置及闸机系统 |
CN112015452B (zh) * | 2020-09-10 | 2024-04-12 | 深圳市嘉昱机电有限公司 | 一种闸机系统的固件升级方法、装置及闸机系统 |
CN112148340A (zh) * | 2020-10-13 | 2020-12-29 | 江苏科技大学 | 一种无人船用实时无线程序烧录器及实现方法 |
CN112286561A (zh) * | 2020-10-22 | 2021-01-29 | 广州华欣电子科技有限公司 | 触摸设备的固件升级方法及装置 |
CN112379908A (zh) * | 2020-12-01 | 2021-02-19 | 牧星智能工业科技(上海)有限公司 | 一种基于阿里云平台的农机定位终端远程固件升级系统 |
CN112988172A (zh) * | 2021-02-20 | 2021-06-18 | 浙江禾川科技股份有限公司 | 一种编码器的程序更新方法、装置、系统 |
CN113342385A (zh) * | 2021-04-29 | 2021-09-03 | 博格思众(常州)空调系统有限公司 | 软件升级方法及装置、空调控制面板 |
CN113238789A (zh) * | 2021-05-27 | 2021-08-10 | 闻泰通讯股份有限公司 | 电子设备及其固件升级方法、装置和计算机可读存储介质 |
CN113238789B (zh) * | 2021-05-27 | 2023-06-27 | 闻泰通讯股份有限公司 | 电子设备及其固件升级方法、装置和计算机可读存储介质 |
CN113626057A (zh) * | 2021-08-30 | 2021-11-09 | 南京邮电大学 | 一种基于GigE Vision接口的相机远程固件升级系统和方法 |
CN114866525A (zh) * | 2022-05-19 | 2022-08-05 | 深圳市艾迪思特信息技术有限公司 | 一种一主多从模式嵌入式设备远程在线固件升级方法及系统 |
CN114866525B (zh) * | 2022-05-19 | 2024-04-12 | 深圳市艾迪思特信息技术有限公司 | 一种一主多从模式嵌入式设备远程在线固件升级方法及系统 |
CN115051919A (zh) * | 2022-06-30 | 2022-09-13 | 深圳市云洲创新科技有限公司 | 一种ota升级系统及ota升级方法 |
CN116319751A (zh) * | 2023-03-13 | 2023-06-23 | 武汉理工大学 | 一种船舶设备的远程升级系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109491688A (zh) | 对无人船的控制设备进行固件升级的方法、装置及系统 | |
CN106104467B (zh) | 一种自动化部署方法和终端 | |
CN106506587B (zh) | 一种基于分布式存储的Docker镜像下载方法 | |
US10929275B2 (en) | Automatic test stack creation via production system replication | |
US8615588B2 (en) | Accelerate copying of virtual machine images | |
CN109117168A (zh) | 无人机固件更新方法、装置、无人机及存储介质 | |
US9354864B2 (en) | Package header system and method to facilitate streaming a single firmware file upgrade | |
CN105389191A (zh) | 一种基于局域网的软件升级方法、装置和系统 | |
US8910145B2 (en) | Method and device for installing/uninstalling software modules, with centralized resolution of constraints, in aircraft equipment items | |
CN112395039B (zh) | 一种Kubernetes集群的管理方法和装置 | |
US9753750B2 (en) | Global feature library useable with continuous delivery | |
CN107038519B (zh) | 用于系统之间的双向数据同步的方法和系统 | |
CN104468655A (zh) | 对反向代理软件进行测试的方法及系统 | |
CN102541604A (zh) | 一种远程升级方法、远程升级的终端设备以及远程升级系统 | |
CN110275725A (zh) | 卫星软件管理方法及装置 | |
CN111459506B (zh) | 深度学习平台集群的部署方法、装置、介质及电子设备 | |
CN115562690A (zh) | 基于Docker容器的算法服务处理方法、装置及介质 | |
US7467234B2 (en) | Computer system | |
CN112162770A (zh) | 基于区块链实现完整性验证的固件版本升级方法及装置 | |
US10983764B2 (en) | Method of providing application-oriented software and computer system | |
CN104954450A (zh) | 一种文件处理方法和装置 | |
CN111552494B (zh) | 一种容器组的管理方法、设备、系统及介质 | |
CN115098301B (zh) | 一种云原生场景下有状态应用的快照生成方法和系统 | |
CN103347059B (zh) | 实现用户配置参数传递的方法、客户端和系统 | |
CN107766386B (zh) | 一种solr数据迁移方法和装置 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 519080 rooms 311 and 312A, 3 / F, Xiangshan ocean science and technology port, 3888 North Lovers Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province Applicant after: Zhuhai Yunzhou Intelligent Technology Co.,Ltd. Address before: Room 2 214, teaching area, No.1, software garden road, Tangjiawan Town, Zhuhai City, Guangdong Province Applicant before: ZHUHAI YUNZHOU INTELLIGENCE TECHNOLOGY Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190319 |