发布信息

一种基于LORA的断点续传控制方法及系统与流程 专利技术说明

作者:admin      2023-06-28 19:35:07     717



电子通信装置的制造及其应用技术一种基于lora的断点续传控制方法及系统技术领域1.本发明属于通信技术领域,尤其涉及一种基于lora的断点续传控制方法及系统。背景技术:2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成已经成为本领域一般技术人员所公知的现有技术。3.lora技术大约在十年前由法国和瑞士开发,到现今,lora技术已经是物联网发展应用中不可缺少的一部分。越来越多的网关和终端设备被应用到物联网的各个场景中,随着系统功能的丰富,每个场景中网关和终端的数量也在不断增多。4.目前,lora终端产品程序升级大多采用本地连接的方式,在程序升级过程中,容易出现传输断点,甚至长时间无法连接的情况,而当网络恢复时,如果按照网关已发送的数据块继续发送的话,可能会造成数据块的丢失,导致升级失败。技术实现要素:5.为了解决上述问题,本发明提供一种基于lora的断点续传控制方法及系统,通过对程序文件进行编号,并在续传时按照终端已收到的数据帧数进行续传,能够保证程序文件的完整性,从而提高升级的成功率。6.为了实现上述目的,本发明主要包括以下几个方面:7.第一方面,本发明实施例提供一种基于lora的断点续传控制方法,用于自组网系统,所述自组网系统包括网关和终端,所述网关和所述终端相互通信连接,包括:8.获取程序文件,按照所述程序文件的第一帧数进行顺序编号;9.接收所述终端发送的等待程序升级报文,按照编号发送所述程序文件,并接收所述终端反馈的第二帧数;10.检测所述网关和所述终端之间的网络状态,在所述第一帧数与第二帧数不相等且网络状态异常的情况下,向所述终端发送升级查询报文;11.根据所述终端反馈的数据帧数,确定断点位置;12.根据所述断点位置确定断点后的程序文件,并将断点后的程序文件发送给所述终端。13.在一种可能的实施方式中,所述自组网的建立方法包括:14.建立所述网关和所述终端之间的通信信道;15.所述网关每隔预设时间广播入网的查询报文;16.接收所述终端发送的入网请求报文,将所述终端加入自组网,并给所述终端分配新的通信信道;其中,所述终端在接收到所述查询报文之后,反馈入网请求报文。17.在一种可能的实施方式中,所述自组网的建立方法包括:18.建立所述网关和所述终端之间的通信信道;19.所述终端在程序初始化完成之后,若在预设时间段内没有接收到所述网关广播的查询报文,则主动向网关发送入网请求报文;20.所述网关在组网信道接收到入网请求报文,判断所述终端是否符合入网条件,若符合入网条件,则向所述终端发送入网成功的报文,并为所述终端分配通信信道。21.在一种可能的实施方式中,若所述终端入网失败,则再次发送入网请求报文;请求失败次数大于预设次数阈值时,进入休眠状态,休眠状态结束后继续发送入网请求报文。22.在一种可能的实施方式中,在按照程序文件的第一帧数进行顺序编号之后,接收终端发送的等待程序升级报文之前,还包括:发送升级查询报文,所述升级报文包括终端的身份标识和所述程序文件的升级程序版本号;23.接收所述终端反馈的终端程序版本号,若判定所述终端程序版本号和升级程序版本号不同,则向所述终端发送程序升级的配置报文,并接收所述终端反馈的等待程序升级报文。24.在一种可能的实施方式中,还包括:在所述第一帧数与第二帧数不相等且网络状态正常的情况下,接收所述终端发送的重传请求,按照编号重新发送所述程序文件。25.在一种可能的实施方式中,还包括:若所述第一帧数和第二帧数相等,则向所述终端发送升级结束报文,所述升级结束报文用于指示所述终端结束升级状态并跳转至升级后的程序运行。26.第二方面,本发明实施例还提供一种基于lora的断点续传控制系统,用于自组网系统,所述自组网系统包括网关和终端,所述网关和所述终端相互通信连接,包括:27.获取模块,用于获取程序文件,按照所述程序文件的第一帧数进行顺序编号;28.收发模块,用于接收所述终端发送的等待程序升级报文,按照编号发送所述程序文件,并接收所述终端反馈的第二帧数;29.检测模块,用于检测所述网关和所述终端之间的网络状态,在所述第一帧数与第二帧数不相等且网络状态异常的情况下,向所述终端发送升级查询报文;30.确定模块,用于根据所述终端反馈的数据帧数,确定断点位置;31.续传模块,用于根据所述断点位置确定断点后的程序文件,并将断点后的程序文件发送给所述终端。32.在一种可能的实施方式中,所述检测模块还用于在所述第一帧数与第二帧数不相等且网络状态正常的情况下,接收所述终端发送的重传请求,按照编号重新发送所述程序文件。33.在一种可能的实施方式中,所述检测模块还用于若所述第一帧数和第二帧数相等,则向所述终端发送升级结束报文,所述升级结束报文用于指示所述终端结束升级状态并跳转至升级后的程序运行。34.以上一个或多个技术方案存在以下有益效果:35.本发明提供了一种基于lora的断点续传控制方法,通过对程序文件进行顺序编号,并按照编号将程序文件发送给终端,在发送的第一帧数与终端接收的第二帧数不相等且网络状态异常的情况下,查询终端反馈的数据帧数并确定断点位置,根据断点位置向终端发送断点后的程序文件。这样,在出现传输断点时,按照终端已接收到的数据确定断点位置并开始续传,能够保证升级过程中程序文件的完整性,从而提高升级的成功率。附图说明36.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。37.图1是本发明实施例一所提供的自组网的建立方法的流程示意图之一;38.图2是本发明实施例一所提供的自组网的建立方法的流程示意图之二;39.图3是本发明实施例一所提供的在自组网系统中程序升级方法的流程示意图;40.图4是本发明实施例一所提供的基于lora的断点续传控制方法的流程示意图。具体实施方式41.下面结合附图与实施例对本发明作进一步说明。42.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。43.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。44.实施例一45.本实施例提供一种基于lora的断点续传控制方法,用于自组网系统,所述自组网系统包括网关和终端,所述网关和所述终端相互通信连接,包括:46.获取程序文件,按照所述程序文件的第一帧数进行顺序编号;47.接收所述终端发送的等待程序升级报文,按照编号发送所述程序文件,并接收所述终端反馈的第二帧数;48.检测所述网关和所述终端之间的网络状态,在所述第一帧数与第二帧数不相等且网络状态异常的情况下,向所述终端发送升级查询报文;49.根据所述终端反馈的数据帧数,确定断点位置;50.根据所述断点位置确定断点后的程序文件,并将断点后的程序文件发送给所述终端。51.在具体实施中,本实施例所提供的基于lora的断点续传控制方法可以应用于自组网系统中,该自组网系统包括网关和终端,网关和终端可以通过有线通信网络或无线通信网络进行通信连接。首先,终端需要通过自组网的入网流程加入到lora自组网的网络当中,自组网的建立方法包括以下几种方式:52.(1)建立所述网关和所述终端之间的通信信道0;所述网关每隔预设时间(如1min)广播入网的查询报文;如果有终端在通信信道0上接收到此查询报文,回复带有终端id、位置等信息的入网请求报文,网关在超时时间内接收到此回复报文后将终端加入自组网,并给终端分配新的通信信道1。终端收到入网成功的报文并将lora频段修改为信道1,其自组网的建立过程如图1所示。53.(2)在网关和终端的程序中设置专门用于组网的通信信道0,终端在程序初始化完成之后,若超过2min没有收到网关再组网信道上广播的查询入网的报文,则主动发送带有终端id、位置等信息的的入网请求报文,网关在组网信道接收到入网请求报文后判断终端是否符合入网条件,若符合条件回复入网成功的报文,并分配通信信道1;若不符合条件则回复拒绝入网的报文。终端收到入网成功的报文并将lora频段修改为信道1;若入网失败,则再次发送入网请求,请求3次失败后进入休眠,休眠半小时后继续发送入网请求,其自组网的建立过程如图2所示。54.这样,通过上述方式建立自组网可以提高终端入网的效率,并且在终端与网关断网时,能够快速地再次入网,有利于提高断网续传的效率。55.在建立好自组网系统之后,对终端进行升级,其升级流程如图3所示,在网关端通过串口发送配置命令进入终端升级状态,并发送将要升级的程序;网关接收并确认下载程序文件的第一帧数,并按第一帧数从0开始进行顺序编号;通过串口发送需要升级的终端的身份标识(如终端id)和升级程序版本号v0,网关将在通信信道广播带有终端id的升级查询报文;相应的终端收到查询报文后回复本身的终端程序版本号v1。56.网关收到vi后,将升级程序版本号v0和终端程序版本号v1进行对比,若二者相同,则返回程序相同信息到串口;若二者不同,则广播带有终端id的程序升级终端配置报文。57.终端收到程序升级终端配置报文后,进入等待程序升级状态,并回复等待程序升级报文;网关收到报文后开始从帧号0发送程序文件;终端接收完成后回复接收到的第二帧数,网关对比第一帧数和第二帧数后,在第一帧数和第二帧数相等的情况下,发送升级结束报文,终端接收到升级结束报文后自动跳转至升级后的程序并运行。58.其中,在升级过程中,检测所述网关和所述终端之间的网络状态。具体地,在正常通信的情况下,网关和终端之间通过心跳包机制来判断网络状态是否正常。59.在所述第一帧数与第二帧数不相等且网络状态异常的情况下,向所述终端发送升级查询报文;根据所述终端反馈的数据帧数,确定断点位置;根据所述断点位置确定断点后的程序文件,并将断点后的程序文件发送给所述终端。如图4所示,如果程序升级异常,网关再次发送带有终端id的升级查询报文,终端回复已接收的数据帧号,网关接收后从断点的帧号继续开始发送程序数据帧。60.作为一可选的实施方式,在所述第一帧数与第二帧数不相等且网络状态正常的情况下,接收所述终端发送的重传请求,按照编号重新发送所述程序文件。若所述第一帧数和第二帧数相等,则向所述终端发送升级结束报文,所述升级结束报文用于指示所述终端结束升级状态并跳转至升级后的程序运行。61.本实施例提供一种基于lora的断点续传控制方法,通过对程序文件进行顺序编号,并按照编号将程序文件发送给终端,在发送的第一帧数与终端接收的第二帧数不相等且网络状态异常的情况下,查询终端反馈的数据帧数并确定断点位置,根据断点位置向终端发送断点后的程序文件。这样,采用比较发送帧和接收帧的方式,可以保证网关发送和终端接收的数据的一致性,并且,在出现传输断点时,按照终端已接收到的数据确定断点位置并开始续传,能够保证升级过程中程序文件的完整性,从而提高升级的成功率。62.实施例二63.本发明实施例还提供一种基于lora的断点续传控制系统,用于自组网系统,所述自组网系统包括网关和终端,所述网关和所述终端相互通信连接,包括:64.获取模块,用于获取程序文件,按照所述程序文件的第一帧数进行顺序编号;65.收发模块,用于接收所述终端发送的等待程序升级报文,按照编号发送所述程序文件,并接收所述终端反馈的第二帧数;66.检测模块,用于检测所述网关和所述终端之间的网络状态,在所述第一帧数与第二帧数不相等且网络状态异常的情况下,向所述终端发送升级查询报文;67.确定模块,用于根据所述终端反馈的数据帧数,确定断点位置;68.续传模块,用于根据所述断点位置确定断点后的程序文件,并将断点后的程序文件发送给所述终端。69.作为一可选的实施方式,所述检测模块还用于在所述第一帧数与第二帧数不相等且网络状态正常的情况下,接收所述终端发送的重传请求,按照编号重新发送所述程序文件。70.作为一可选的实施方式,所述检测模块还用于若所述第一帧数和第二帧数相等,则向所述终端发送升级结束报文,所述升级结束报文用于指示所述终端结束升级状态并跳转至升级后的程序运行。71.本实施例提供的基于lora的断点续传控制系统用于实现前述的基于lora的断点续传控制方法,因此基于lora的断点续传控制系统中的具体实施方式可见前文中的基于lora的断点续传控制方法的实施例部分,在此不再进行赘述。72.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部