CN115883360A - 一种基于物联网多层分级的远程升级方法 - Google Patents
一种基于物联网多层分级的远程升级方法 Download PDFInfo
- Publication number
- CN115883360A CN115883360A CN202211489045.0A CN202211489045A CN115883360A CN 115883360 A CN115883360 A CN 115883360A CN 202211489045 A CN202211489045 A CN 202211489045A CN 115883360 A CN115883360 A CN 115883360A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- gateway
- file
- coordinator
- module
- 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
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于物联网多层分级的远程升级方法,包括:通过FTP工具将核心模块升级文件发送至第一指定目录;由脚本文件对核心模块升级文件进行合法性验证并搬运至执行文件目录,实现网关核心模块升级;由网关配置工具发送网关无线模块升级文件至第二指定目录;由网关核心模块对网关无线模块升级文件进行合法性验证并通过数字流的方式发送至网关无线模块,实现网关无线模块升级;若升级指令为协调器升级指令,则将协调器升级固件进行拆包下发至目标协调器,采用应答和重传机制实现固件传输;若升级指令为终端节点升级指令,则通过主通信链路进行正常业务数据通信,通过副通信链路进行终端节点固件传输。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种基于物联网多层分级的远程升级方法。
背景技术
随着物联网(Internet of Things,IOT)行业的发展,对于物联网络不再是简单的物与物的连接,而是利用物联网构成了一种特殊的系统或者生态。物联网网络架构由感知层、网络层和应用层组成。感知层实现对物理世界的智能感知识别、信息采集处理和自动控制,并通过通信模块将物理实体连接到网络层和应用层。网络层主要实现信息的传递、路由和控制,包括延申网、接入网和核心网。应用层包括应用基础设施和各种物联网应用。在如今的物联网发展的过程中,空中下载技术(Over-the-Air Technology,OTA)成为了不可或缺的功能,在一个实际应用的物联网项目系统中更加是重中之重。
现今市面上对于物联网系统设备OTA的方式大多是由云端服务平台统一管理,不同设备所有版本存储在云端平台中。如果有升级某个终端节点设备的需求的话,用户通过平台端界面操作,对需要升级的设备下发升级指定版本固件的指令,平台端对固件做拆包处理,通过网关、路由、设备节点这一数据链路的顺序下发到需要升级的设备节点。平台到终端节点设备不是直接连接,需要通过业务数据链路多层多级的转发才能通信,这样的升级方式是极度的不稳定的,特别是在无线组网的物联网系统中,升级设备需要的时间长,成功率也很低。同时在设备升级的过程中,对同一路由下的其他终端节点的正常工作业务也会有所影响,比如数据响应不及时,查询无反馈等等。在一个相对简单、设备数量较少的物联网系统中采用如上的方法也是可行的,但是对于连接复杂、设备数量多,尤其是设备需要多级中继桥接的时候,这种OTA的方式就会不适用,升级数据包占用日常工作业务数据通道,影响其他设备正常工作,对于多个设备的升级更是难上加难。
发明内容
有鉴于此,本发明实施例提供了一种基于物联网多层分级的远程升级方法,以解决现有技术中针对多设备的物联网系统采用云端服务平台统一管理的OTA方式存在升级时间长、成功率较低,对同一路由下的其他终端节点的正常工作业务也会有所影响的问题。
本发明实施例提供了一种基于物联网多层分级的远程升级方法,包括:
判断物联网平台产生升级指令的类型;
若升级指令为网关核心模块升级指令,则通过FTP工具将核心模块升级文件发送至第一指定目录;
由脚本文件对核心模块升级文件进行合法性验证并搬运至执行文件目录,实现网关核心模块升级;
若升级指令为网关无线模块升级指令,则由网关配置工具发送网关无线模块升级文件至第二指定目录;
由网关核心模块对网关无线模块升级文件进行合法性验证并通过数字流的方式发送至网关无线模块,实现网关无线模块升级;
若升级指令为协调器升级指令,则将协调器升级固件进行拆包下发至目标协调器,采用应答和重传机制实现固件传输;
若升级指令为终端节点升级指令,则通过主通信链路进行正常业务数据通信,通过副通信链路进行终端节点固件传输。
可选地,网关核心模块和网关无线模块通过SPI总线或UART进行通信连接。
可选地,网关无线模块通过引导加载程序实现网关无线模块升级。
可选地,还包括:
判断无线模块升级文件的状态为存在且有效;
初始化或恢复升级参数;升级参数包括文件总大小和文件传输大小;
判断无线模块升级文件是否发送完成;
若发送成功,则反馈升级进度至物联网平台;
若发送未成功,则清除升级文件及标识位,重启网关无线模块,退出网关无线模块升级进程;
若无线模块升级文件的状态为不存在或无效,则退出网关无线模块升级进程。
可选地,还包括:
将协调器升级固件存储在协调器对应的上层网关的专用存储空间中;
网关根据协调器升级指令中的待升级设备序列号、协调器升级固件种类版本号,执行固件拆包下发与目标协调器的升级数据交互。
可选地,还包括:
将需要更新的二进制文件进行分段为若干个数据包;
将数据包头、当前数据包ID、总数据包数、数据包长度、第一数据包和CRC校验码组成一数据帧,并发送至串口接收模块;
串口接收模块进行CRC校验并向串口发送模块回复数据帧正确或数据帧错误;
若数据帧正确,则串口接收模块将第一数据包存入flash,串口发送模块发送第二数据包直至最后一个数据包,上电重启跳转到新的程序地址空间;
若数据帧错误,则判断为升级失败,停止串口发送模块和串口接收模块的升级主进程。
可选地,通过增加无线射频模块或带有无线射频功能的SOC芯片,将协调器配置为双无线通信模式。
可选地,还包括:
当终端设备接收到升级任务时,停止业务相关的数据上报和接收处理,并从当前协调器的主通信链路切换到当前协调器的副通信链路;
当前协调器对自身存储的终端节点固件包进行拆包处理和下发,采用数据流的应答和重传机制,对终端设备进行升级。
本发明实施例的有益效果:
本发明实施例提供了一种基于物联网多层分级的远程升级方法,物联网系统中所有设备所有的版本固件都由云端服务器统一管理,针对物联网的三个层级分别采用不同的升级方式,在设备众多,环境复杂的工业物联网项目系统中,多层分级OTA的方法可以有效解决设备远程升级成功率低和所需时间长的问题。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明实施例中一种基于物联网多层分级的远程升级方法中的协调器升级流程示意图;
图2示出了本发明实施例中一种基于物联网多层分级的远程升级方法中的终端节点升级流程示意图;
图3示出了本发明实施例中一种基于物联网多层分级的远程升级方法中的网关无线模块升级流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于物联网多层分级的远程升级方法,如图1~3所示,包括:
判断物联网平台产生升级指令的类型。
若升级指令为网关核心模块升级指令,则通过FTP工具将核心模块升级文件发送至第一指定目录。
由脚本文件对核心模块升级文件进行合法性验证并搬运至执行文件目录,实现网关核心模块升级。
网关主要负责对平台命令的解析下发和前端数据分析上传。根据需求,同时网关还包括对重要数据的存储、主备网关备份、同时还有一些业务逻辑的定义、存储、恢复等功能。网关大多是由性能较强的处理器构成,升级方式很多,而且多是有线网口接入网络,升级的方式多样、效率和稳定性也很高。网关包含两大块模块,网关核心模块和无线数据通信模块。其中数据通信模块主要负责命令和数据的传输,一般的使用带有无线通信功能的模块来透传数据或者使用SOC芯片自定义接收发送数据包。网关核心模块主要负责命令和数据解析,以及业务逻辑处理。负责网关所有功能的实现。网关核心模块和数据通信模块之间一般通过SPI总线或者UART进行通信。
在本实施例中,针对网关层级,对于网关核心模块的升级是通过FTP工具和脚本文件配合实现的。由FTP工具将核心模块文件发送到指定目录。由脚本文件对升级文件进行合法性判断并搬运指执行文件目录,实现网关核心模块升级。
FTP原理上是通过底层的SOCKET来实现的,FTP客户端与服务器端进行数据交换必须建立两个套接字,一个作为命令通道,一个作为数据通道。前者用于客户端向服务器发送命令,如登陆、下载/删除一个文件。后者是用于接收数据,如下载或上传文件等。两个端口一般使用命令端口和数据端口。
若升级指令为网关无线模块升级指令,则由网关配置工具发送网关无线模块升级文件至第二指定目录。
由网关核心模块对网关无线模块升级文件进行合法性验证并通过数字流的方式发送至网关无线模块,实现网关无线模块升级。
在本实施例中,网关无线模块升级时由网关配置工具发送升级文件至指定目录,由网关核心程序对升级bin文件进行合法性验证,之后通过spi或uart方式,将升级文件以数字流的方式发送至无线模块。由无线模块的bootloader实现系统升级。
若升级指令为协调器升级指令,则将协调器升级固件进行拆包下发至目标协调器,采用应答和重传机制实现固件传输。
在本实施例中,考虑到成本和实际项目应用场景,此类设备基本都是使用性能较弱的单片机作为主控加上无线射频模块或者是带有无线通信功能的SOC芯片构成。无论是什么组成结构,设备的固件升级都是对主控芯片的升级。协调器层级的固件存储在对应的上层网关,网关开辟一个专用存储空间用来存放下一层级即协调器层级固件,网关自己对这些固件进行管理,用户可以通过平台对这些固件进行更新。
若升级指令为终端节点升级指令,则通过主通信链路进行正常业务数据通信,通过副通信链路进行终端节点固件传输。
在本实施例中,主副无线通信链路相互独立;软件方面对这两个无线通信链路分别处理,由于数据带宽的增加,软件对数据的处理可以更加的灵活。
在本实施例中,物联网系统中所有设备所有的版本固件都由云端服务器统一管理,针对物联网的三个层级分别采用不同的升级方式,在设备众多,环境复杂的工业物联网项目系统中,多层分级OTA的方法可以有效解决设备远程升级成功率低和所需时间长的问题。
作为可选的实施方式,还包括:
判断无线模块升级文件的状态为存在且有效;
初始化或恢复升级参数;升级参数包括文件总大小和文件传输大小;
判断无线模块升级文件是否发送完成;
若发送成功,则反馈升级进度至物联网平台;
若发送未成功,则清除升级文件及标识位,重启网关无线模块,退出网关无线模块升级进程;
若无线模块升级文件的状态为不存在或无效,则退出网关无线模块升级进程。
作为可选的实施方式,还包括:
将协调器升级固件存储在协调器对应的上层网关的专用存储空间中;
网关根据协调器升级指令中的待升级设备序列号、协调器升级固件种类版本号,执行固件拆包下发与目标协调器的升级数据交互。
在本实施例中,当有对协调器层级的设备升级需求时候,平台升级指令到网关,网关接收到相应升级信息,如需要升级设备的序列号,下发的固件种类版本号等等。具体的对固件的拆包下发与目标设备的升级数据交互由网关自身完成,对于交互的流程采用应答和重传机制,应答方式即设备间通信的ack方式,配合数据包的重发,确保数据包的准确发送,保证升级数据的可靠性。此方法的优点是减少了一个环节的数据交互,在对协调器的升级流程中减去了平台与网关的数据交互,降低了产生错误的可能性,同时通信数据链路的减短也提升了远程升级的效率,缩短了升级需要的时间。网关的本身的性能也不会影响其他设备的正常业务数据交互,极大的利用了网关性能较好的优点。
作为可选的实施方式,还包括:
将需要更新的二进制文件进行分段为若干个数据包;
将数据包头、当前数据包ID、总数据包数、数据包长度、第一数据包和CRC校验码组成一数据帧,并发送至串口接收模块;
串口接收模块进行CRC校验并向串口发送模块回复数据帧正确或数据帧错误;
若数据帧正确,则串口接收模块将第一数据包存入flash,串口发送模块发送第二数据包直至最后一个数据包,上电重启跳转到新的程序地址空间;
若数据帧错误,则判断为升级失败,停止串口发送模块和串口接收模块的升级主进程。
在本实施例中,将需要更新的bin文件进行分段,PACK_LEN字节为一段,加上7字节段头和末尾2字节crc校验,发送数据到RX模块,数据帧结构如表1所示。
表1数据帧结构
RX端接收无线数据验证CRC校验,回复TX端数据帧正确或错误,如果错误,视为升级失败,并TX、RX模块的升级主进程停止;如果正确,RX将PACK_LEN字节存入flash,TX模块继续发送下一段数据。
RX收到最后一段数据存入flash,上电重启跳转到新的程序地址空间。
作为可选的实施方式,通过增加无线射频模块或带有无线射频功能的SOC芯片,将协调器配置为双无线通信模式。
作为可选的实施方式,还包括:
当终端设备接收到升级任务时,停止业务相关的数据上报和接收处理,并从当前协调器的主通信链路切换到当前协调器的副通信链路;
当前协调器对自身存储的终端节点固件包进行拆包处理和下发,采用数据流的应答和重传机制,对终端设备进行升级。
协调器层级的设备一般采用低成本的单片机作为主控,在一个复杂的物联网组网的环境中,一个协调器下往往挂载着好几个终端节点设备,其下层的某个终端节点接收到升级任务时,协调器对设备下发的固件升级包就占据了一大部分的数据交互带宽,此情形下势必会影响该协调器下其他终端设备的正常业务数据通信,相对的也会影响对设备的升级。
针对以上情况,对协调器这一层级进行相应改造:硬件方面采用双无线通信的方式,无论是增加无线射频模块还是带有无线射频功能的SOC芯片,两个无线通信通道相互独立;软件方面对这两个无线通信链路分别处理,由于数据带宽的增加,软件对数据的处理可以更加的灵活。
在本实施例中,终端节点的层级的固件包由其上层的协调器层级管理。
在有双通信链路的协调器组网的系统中,当有终端节点的升级任务时,使用协调器其中的一个无线通信链路来进行对终端节点设备的远程升级任务。平台存储备份终端节点固件包,协调器接收存储终端节点固件包,对于固件包的接收和发送单独使用某一无线通信链路通道,不会影响正常业务数据流程。接收到升级任务的终端设备停止业务相关的数据上报和接收处理,切换到相应上层的协调器的另一个无线通信链路通道,协调器对自身存储的终端节点固件包进行拆包处理和下发,同样采用数据流的应答和重传机制,对目标设备进行升级,这种点对点直接通信的方式大大减少了无线通信的不稳定性,相比较于传统的多级中继的方式来传输,稳定性和效率都大大提高。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (8)
1.一种基于物联网多层分级的远程升级方法,其特征在于,包括:
判断物联网平台产生升级指令的类型;
若所述升级指令为网关核心模块升级指令,则通过FTP工具将核心模块升级文件发送至第一指定目录;
由脚本文件对所述核心模块升级文件进行合法性验证并搬运至执行文件目录,实现网关核心模块升级;
若所述升级指令为网关无线模块升级指令,则由网关配置工具发送网关无线模块升级文件至第二指定目录;
由所述网关核心模块对所述网关无线模块升级文件进行合法性验证并通过数字流的方式发送至网关无线模块,实现网关无线模块升级;
若所述升级指令为协调器升级指令,则将协调器升级固件进行拆包下发至目标协调器,采用应答和重传机制实现固件传输;
若所述升级指令为终端节点升级指令,则通过主通信链路进行正常业务数据通信,通过副通信链路进行终端节点固件传输。
2.根据权利要求1所述的基于物联网多层分级的远程升级方法,其特征在于,所述网关核心模块和所述网关无线模块通过SPI总线或UART进行通信连接。
3.根据权利要求1所述的基于物联网多层分级的远程升级方法,其特征在于,所述网关无线模块通过引导加载程序实现网关无线模块升级。
4.根据权利要求3所述的基于物联网多层分级的远程升级方法,其特征在于,还包括:
判断所述无线模块升级文件的状态为存在且有效;
初始化或恢复升级参数;所述升级参数包括文件总大小和文件传输大小;
判断所述无线模块升级文件是否发送完成;
若发送成功,则反馈升级进度至所述物联网平台;
若发送未成功,则清除升级文件及标识位,重启所述网关无线模块,退出网关无线模块升级进程;
若所述无线模块升级文件的状态为不存在或无效,则退出所述网关无线模块升级进程。
5.根据权利要求1所述的基于物联网多层分级的远程升级方法,其特征在于,还包括:
将所述协调器升级固件存储在协调器对应的上层网关的专用存储空间中;
网关根据所述协调器升级指令中的待升级设备序列号、协调器升级固件种类版本号,执行固件拆包下发与目标协调器的升级数据交互。
6.根据权利要求5所述的基于物联网多层分级的远程升级方法,其特征在于,还包括:
将需要更新的二进制文件进行分段为若干个数据包;
将数据包头、当前数据包ID、总数据包数、数据包长度、第一数据包和CRC校验码组成一数据帧,并发送至串口接收模块;
所述串口接收模块进行CRC校验并向串口发送模块回复数据帧正确或数据帧错误;
若数据帧正确,则所述串口接收模块将所述第一数据包存入flash,所述串口发送模块发送第二数据包直至最后一个数据包,上电重启跳转到新的程序地址空间;
若数据帧错误,则判断为升级失败,停止所述串口发送模块和所述串口接收模块的升级主进程。
7.根据权利要求1所述的基于物联网多层分级的远程升级方法,其特征在于,通过增加无线射频模块或带有无线射频功能的SOC芯片,将协调器配置为双无线通信模式。
8.根据权利要求7所述的基于物联网多层分级的远程升级方法,其特征在于,还包括:
当终端设备接收到升级任务时,停止业务相关的数据上报和接收处理,并从当前协调器的主通信链路切换到当前所述协调器的副通信链路;
当前所述协调器对自身存储的终端节点固件包进行拆包处理和下发,采用数据流的应答和重传机制,对所述终端设备进行升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211489045.0A CN115883360A (zh) | 2022-11-25 | 2022-11-25 | 一种基于物联网多层分级的远程升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211489045.0A CN115883360A (zh) | 2022-11-25 | 2022-11-25 | 一种基于物联网多层分级的远程升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115883360A true CN115883360A (zh) | 2023-03-31 |
Family
ID=85763920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211489045.0A Pending CN115883360A (zh) | 2022-11-25 | 2022-11-25 | 一种基于物联网多层分级的远程升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115883360A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117632198A (zh) * | 2024-01-26 | 2024-03-01 | 深圳乐木骆科技有限公司 | 固件升级方法、设备、存储介质及装置 |
-
2022
- 2022-11-25 CN CN202211489045.0A patent/CN115883360A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117632198A (zh) * | 2024-01-26 | 2024-03-01 | 深圳乐木骆科技有限公司 | 固件升级方法、设备、存储介质及装置 |
CN117632198B (zh) * | 2024-01-26 | 2024-05-07 | 深圳乐木骆科技有限公司 | 固件升级方法、设备、存储介质及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021083244A1 (zh) | 一种mesh网络设备的多设备批量固件升级的方法 | |
CN100545809C (zh) | 一种软件升级方法及其系统 | |
CN1633647B (zh) | 用于管理网络中的数据传送的系统、方法 | |
US9258230B2 (en) | In flight TCP window adjustment to improve network performance | |
CN101593119B (zh) | 一种独占闪存组合设备空中固件升级方法及装置 | |
CN101909282B (zh) | 终端操作的触发方法、装置及系统 | |
CN110502364B (zh) | 一种OpenStack平台下大数据沙箱集群的跨云备份恢复方法 | |
US20130104119A1 (en) | Streaming packetized binary patching system and method | |
US10469620B2 (en) | Method for transferring a new software version to at least one electricity meter via a communication network | |
CN115883360A (zh) | 一种基于物联网多层分级的远程升级方法 | |
CN102664958A (zh) | 一种透明计算系统 | |
CN114866525B (zh) | 一种一主多从模式嵌入式设备远程在线固件升级方法及系统 | |
CN114064206A (zh) | 一种访问边缘节点的pod方法、系统、设备及存储介质 | |
CN115562699A (zh) | 一种面向多星组网的星载软件在轨批量升级方法及系统 | |
CN100571108C (zh) | 用于在计算节点之间进行数据通信的系统和方法 | |
CN110362323B (zh) | 基于分布式自组网的嵌入式终端设备程序更新方法 | |
CN109189403B (zh) | 操作系统os批量安装方法、装置和网络设备 | |
CN111800488B (zh) | 一种基于udp和ipv6协议的数据传输方法及系统 | |
CN116684468B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113138788A (zh) | 空调程序升级方法及空调系统 | |
Alenazi et al. | ANTP protocol suite software implementation architecture in python | |
WO2021103801A1 (zh) | 信息处理方法及相关设备 | |
CN115529236B (zh) | 无损网络配置方法、装置及计算机设备 | |
CN118245092B (zh) | 一种安全控制平台多模块在线升级的方法 | |
CN114650208B (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 |