传感器节点远程升级方法技术

技术编号:15638892 阅读:155 留言:0更新日期:2017-06-15 20:05
本发明专利技术公开了一种传感器节点远程升级方法,包括:将应用程序分成多个模块并安装至传感器节点;当需要对应用程序升级时,制作每个模块的差分升级包并发送给传感器节点,并将该差分升级包写入,完成对应用程序的升级;其中,每个模块均提供接口,各模块之间通过相互调用接口实现应用程序的功能。本发明专利技术将待升级的应用程序分成多个模块,每个模块之间的耦合度小,每个模块均可以进行独立升级,这样在升级时仅仅接收需要升级模块的差分升级包,而不需要接收整个应用程序的差分升级包,这样接收的数据少,而且占用的额外FLASH小,开销小。

【技术实现步骤摘要】
传感器节点远程升级方法
本专利技术属于无线通信物联网
,更具体地说,本专利技术涉及一种传感器节点远程升级方法。
技术介绍
物联网是继计算机、互联网、移动通信网络之后又一项新的信息技术,被认为是世界信息产业的第三次浪潮。当前物联网中的很大一部分应用,如环境信息监测、楼宇监控、智慧城市等,都需要通过终端节点设备使用各种传感器采集所需要的信息,发送给上层的云服务进行处理,节点与节点,节点与云形成了一个无线传感器网络,该网络通常具有以下几点重要特征:1)节点计算资源有限。节点通常由计算资源十分有限的单片机和简单的传感器组成。单片机的计算速度较低,ROM和RAM空间有限,同时对成本十分敏感。2)节点工作环境多样,通常一旦安装很难进行回收。3)节点的网络资源有限。节点传输的数据量很少,同时对功耗极为敏感,不适合传输大量的数据。4)网络部署后,调节,修复和更新功能的需求强烈。由以上几点可知,能够使用尽量少的软硬件资源对节点进行远程更新是无线传感器网络的一个重要功能。当前无线传感网络的远程升级方案还存在以下问题:1、数据传输量较大,通常需要传输整个固件程序或较大的差分文件,降低了节点的升级速度和使用寿命,传输数据量增大也加大了升级失败的可能。2、通常需要较大的额外FLASH来进行新版本固件的重建,增加了节点的硬件成本,同时这类方法往往需要分别对额外FLASH和单片机内部的程序存储器进行读写,增加了升级过程中的功耗。3、使用差分方式进行远程升级,一旦升级失败,进行修复时通常需要更新整个固件程序,增加了节点修复时间,降低了节点的使用寿命。
技术实现思路
本专利技术的一个目的是解决上述问题,并提供至少后面将说明的优点。本专利技术还有一个目的是提供一种低功耗传感器节点远程升级方法,其具有数据传输量小,升级时占用额外FLASH小,功耗少的优点。为了实现根据本专利技术的这些目的和其它优点,提供了一种传感器节点远程升级方法,其特征在于,包括:将应用程序分成多个模块并安装至传感器节点;当需要对应用程序升级时,制作每个模块的差分升级包并发送给传感器节点,并将该差分升级包写入,完成对应用程序的升级;其中,每个模块均提供接口,各模块之间通过相互调用接口实现应用程序的功能。优选的是,所述的传感器节点远程升级方法,将传感器节点的存储空间根据每个模块大小分成多个独立区域,并指定每个区域的位置,将应用程序编译后根据指定的位置将每个模块写入对应的区域。优选的是,所述的传感器节点远程升级方法,为每个模块之间存在相互调用关系的函数或全局变量建立接口表,获取该函数或全局变量的地址,接口表中存放函数或全局变量的地址,每个模块调用函数或全局变量时先通过接口表,再执行函数的功能或访问全局变量;其中,接口表存放在对应模块的区域的起始地址处。优选的是,所述的传感器节点远程升级方法,多个模块还包括应用描述模块,所述应用描述模块对应的区域存储有其它模块对应区域的起始地址,为每个其它模块之间存在相互调用关系的函数或全局变量建立接口表,将接口表固定在对应模块的区域的起始地址处,接口表中存放函数或全局变量的地址;在调用函数时先通过应用描述模块中存放的该模块的起始地址,调用接口表,通过接口表调用函数的功能或访问全局变量。优选的是,所述的传感器节点远程升级方法,所述差分升级包的制作包括:将每个模块的目标版本文件分成多段目标版本子文件;分别计算每段目标版本子文件与每个模块的源版本文件的差分信息;根据各每段目标版本子文件的差分信息,生成相应的控制命令,按照预定格式对差分信息和优选的是,控制命令进行封装和压缩得到所述差分升级包。优选的是,所述的传感器节点远程升级方法,根据每段目标版本子文件的控制命令,依次对每个模块的源版本文件进行更新。优选的是,所述的传感器节点远程升级方法,所述差分信息用于标识每段目标版本子文件与每个模块的源版本文件之间的匹配区域或非匹配区域,当每个模块的每段目标版本子文件与每个模块的源版本文件之间为匹配区域时,生成用来指示数据复制的控制命令;当每个模块的每段目标版本子文件与每个模块的源版本文件之间为非匹配区域时,生成用来指示数据替换的控制命令。优选的是,所述的传感器节点远程升级方法,网关与网管服务器通讯连接,多个传感器节点均与网关通讯连接;升级前指定需要升级应用程序的传感器节点,并将待升级的应用程序存储至网管服务器并计算生成差分升级包以及升级命令,网管服务器将差分升级包以及升级命令发送给网关,网关先将升级命令发送给传感器节点,传感器节点接收到升级命令后向网关发送的请求升级命令,网关发送的请求升级命令后再将差分升级包发送给传感器节点;其中,升级命令包括预约升级时间。优选的是,所述的传感器节点远程升级方法,网关接收到升级请求命令后还包括检验网关是否处于空闲状态,如果处于空闲状态则网关根据升级请求命令发送差分升级包至所述传感器节点;否则传感器节点进入休眠时间,休眠时间之后再次发送升级请求命令至网关。优选的是,所述的传感器节点远程升级方法,网关采用xmodem协议将差分文件升级包发送给传感器节点。本专利技术至少包括以下效果:1、本专利技术的传感器节点远程升级方法,将待升级的应用程序分成多个模块,每个模块之间的耦合度小,每个模块均可以进行独立升级,这样在升级时仅仅接收需要升级模块的差分升级包,而不需要接收整个应用程序的差分升级包,这样接收的收据少,而且占用的额外FLASH小,开销小。2、本专利技术对在制作差分升级包时,对每块模块按照大小分成多段,再对每段对进行差分计算生成相应的控制命令,控制命令可以为数据复制的控制命令或用来指示数据替换的控制命令,传感器节点接收到差分升级包后对其进行解析,根据每组的控制命令将该组对应的目标版本的数据写入到FLASH中对应的位置区域,然后对下一组数据进行更新写入FLASH中对应的位置,这种升级的方法可以大大降低传感器节点需要的额外存储空间。3、本专利技术的传感器节点远程升级方法,在升级时还可以设置预约升级时间,这样在当前升级的传感器节点升级过程中,这样不影响待升级的传感器节点正常工作,降低功耗。附图说明图1为本明所述的传感器节点远程升级方法中各模块之间相互调用的示意图;图2为差分升级包生成过程示意图;图3为传感器节点远程系统示意图;图4本明实施例的传感器节点远程升级方法的流程图。具体实施方式下面结合附图对本专利技术做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不排除一个或多个其它元件或其组合的存在或添加。一种传感器节点远程升级方法,包括:将应用程序分成多个模块并安装至传感器节点;当需要对应用程序升级时,制作每个模块的差分升级包并发送给传感器节点,并将该差分升级包写入,完成对应用程序的升级;其中,每个模块均提供接口,各模块之间通过相互调用接口实现应用程序的功能。本技术方案将待升级的应用程序按照分成多个模块,每个模块之间通过接口相互调用,相互独立,这样每个模块均可以进行独立升级,这样在升级时仅仅接收需要升级模块的差分升级包,而不需要接收整个应用程序的差分升级包,这样接收的数据少,而且占用的额外FLASH小,开销小。在另一实施例中,所述的传感器节点远程升级方法,将传感器节点的存储空间根据每个本文档来自技高网...
传感器节点远程升级方法

【技术保护点】
一种传感器节点远程升级方法,其特征在于,包括:将应用程序分成多个模块并安装至传感器节点;当需要对应用程序升级时,制作需要升级的每个模块的差分升级包并发送给传感器节点,并将该差分升级包写入,完成对应用程序的升级;其中,每个模块均提供接口,各模块之间通过相互调用接口实现应用程序的功能。

【技术特征摘要】
1.一种传感器节点远程升级方法,其特征在于,包括:将应用程序分成多个模块并安装至传感器节点;当需要对应用程序升级时,制作需要升级的每个模块的差分升级包并发送给传感器节点,并将该差分升级包写入,完成对应用程序的升级;其中,每个模块均提供接口,各模块之间通过相互调用接口实现应用程序的功能。2.如利要求1所述的传感器节点远程升级方法,其特征在于,将传感器节点的存储空间根据每个模块大小分成多个独立区域,并指定每个区域的位置,将应用程序编译后根据指定的位置将每个模块写入对应的区域。3.如利要求2所述的传感器节点远程升级方法,其特征在于,为每个模块之间存在相互调用关系的函数或全局变量建立接口表,获取该函数或全局变量的地址,接口表中存放函数或全局变量的地址,每个模块调用函数或全局变量时先通过接口表,再执行函数的功能或访问全局变量;其中,接口表存放在对应模块的区域的起始地址处。4.如利要求3所述的传感器节点远程升级方法,其特征在于,多个模块还包括应用描述模块,所述应用描述模块对应的区域存储有其它模块对应区域的起始地址,为每个其它模块之间存在相互调用关系的函数或全局变量建立接口表,将接口表固定在对应模块的区域的起始地址处,接口表中存放函数或全局变量的地址;在调用函数时先通过应用描述模块中存放的该模块的起始地址,调用接口表,通过接口表调用函数的功能或访问全局变量。5.如利要求1所述的传感器节点远程升级方法,其特征在于,所述差分升级包的制作包括:将每个模块的目标版本文件分成多段目标版本子文件;分别计算每段目标版本子文件与每个模块的源版本文件的差分信息;根据各每段目标版本子文件的差分信...

【专利技术属性】
技术研发人员:刘传鹏杨广学
申请(专利权)人:武汉慧联无限科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1