首页> 中国专利> 基于中间件思想实现节点软件的传感器网络及通信方法

基于中间件思想实现节点软件的传感器网络及通信方法

摘要

本发明涉及多类型探头具有路由组网能力的多信息融合无线传感器网络及通信方法,属于无线传感器网络领域。其传感器节点的硬件由处理器、射频模块、存储器、传感器探头和电源模块组成;传感器节点的软件包括网络协议栈、标准接口驱动模块、信息交换处理模块及上层应用相关逻辑模块,其中,由标准接口驱动模块构成的标准接口驱动程序层在网络协议栈之上,每一个标准接口对应一个驱动程序模块;由信息交换处理模块构成的信息交换处理层负责从各个标准接口读取数据,对数据进行格式转化,对多个传感器传来的数据进行数据融合处理,并且在一定时间间隔之后对传感器节点进行时间同步,之后将处理好的数据上传给应用层进行进一步处理;底层硬件同上层应用之间以中间件层进行隔离;传感器节点之间以及传感器节点与汇聚节点之间以多跳形式构成网络。本发明可提升传感器网络系统扩展便捷性,以及降低多种类型数据检测的处理复杂度。

著录项

  • 公开/公告号CN101146129A

    专利类型发明专利

  • 公开/公告日2008-03-19

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN200710176635.7

  • 发明设计人 吴威;曹靖;高健;周忠;赵沁平;

    申请日2007-10-31

  • 分类号H04L29/08(20060101);G05B19/418(20060101);H04L12/56(20060101);

  • 代理机构11100 北京北新智诚知识产权代理有限公司;

  • 代理人张卫华

  • 地址 100083 北京市海淀区学院路37号北京航空航天大学6863信箱

  • 入库时间 2023-12-17 19:54:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-12-24

    未缴年费专利权终止 IPC(主分类):H04L29/08 授权公告日:20101103 终止日期:20131031 申请日:20071031

    专利权的终止

  • 2010-11-03

    授权

    授权

  • 2008-08-06

    实质审查的生效

    实质审查的生效

  • 2008-03-19

    公开

    公开

说明书

技术领域

本发明涉及基于中间件思想实现节点软件的传感器网络及通信方法,属于无线传感器网络领域。

背景技术

无线传感器网络(Wireless Sensor Network-WSN)是由大量密集部署在检测区域的自治节点构成的自组织网络及无线通信系统。它综合了大量复杂的技术和学科,如传感器技术、嵌入式计算技术、网络及通信技术、分布式系统及分布式计算技术。它既是多学科高度交叉的具有高度挑战性的前沿研究领域,也是国内外公认的具有广阔发展前景的高技术产业。

近年来,随着传感器技术、嵌入式技术以及低功耗无线通信技术的发展,无线传感器网络在环境监测、建筑物结构监测、工业智能控制、战场监视以及交通流量监测等诸多方面的应用广泛地使用了无线传感器网络技术。传感器网络具有可靠、准确、灵活、低廉、易于部署等优良特性,使其具有广阔的应用前景,因此,传感器网络得到越来越多的关注。

但是,目前的无线传感器网络仍存在下列问题需要解决:

1.传统的传感器网络节点,将微处理器同传感器探头集成在一块电路板上,这样虽然增加了节点的可靠性,但是降低了系统功能的灵活性。当需要检测的数据类型发生改变,或者传感器节点部署环境发生改变时必须重新制作电路版,将新的探头和微处理器整合到一起,并需要重写相应的传感器节点软件。

2.当前的传感器节点,有些直接在嵌入式系统中实现相应接口的驱动程序,并按照探头所提供的通信协议进行数据采集和解析,还有一些节点在嵌入式系统中移植了已有的一些嵌入式操作系统如:μC/OS,TinyOS等等,之后利用操作系统提供的一些API对接口进行操作,并实现相应探头的通信协议完成数据采集工作。这两种方式下,上层应用程序都需要随着传感器探头的改变而修改代码,从而为系统的扩展带来了极大的麻烦。

3.传感器网络的重要应用是监测应用,比如农田作物监测、建筑物监测、湖泊水质监测等。在这些应用中,节点需要每隔一定时间间隔对被监测对象进行感知,并将所采集的数据以多跳的方式发送到汇聚节点上去。在同一无线广播区域,可能会导致严重的包碰撞、网络拥塞、包丢失,在最严重的情况下甚至发生拥塞崩溃。而节点间负载的不平衡会进一步加重这种不良效应的程度,造成能量消耗热点。负载过高的节点会因迅速消耗完它们的电能而过早死亡,而且可能使整个网络过早死亡或陷于瘫痪。为了解决这个问题,必须要从网络的底层加以解决。

4.目前国内已有的传感器网络,例如中科院计算技术研究所开发的EZ210节点,在组网过程中传感器节点同汇聚节点直接相连,整个网络是一个图7所示的星型结构,其网络层过于简单,不能适合大规模的无线传感器节点组网,不适用于复杂环境下的实时检测目标。

发明内容

本发明的发明目的是解决大规模传感器网络下的传感器节点多跳路由组网问题,提升传感器网络系统扩展便捷性,以及降低多种类型数据检测的处理复杂度。

本发明采用的技术方案为:

一种基于中间件思想实现节点软件的传感器网络,是由汇聚节点和多个传感器节点组成的网络,其中:

传感器节点的硬件由处理器、射频模块、存储器、传感器探头和电源模块组成,射频模块、存储器、传感器探头和处理器相连,电源模块为各模块提供电源;

传感器节点的软件包括网络协议栈、标准接口驱动模块、信息交换处理模块及上层应用相关逻辑模块,其中,由标准接口驱动模块构成的标准接口驱动程序层在网络协议栈之上,每一个标准接口对应一个驱动程序模块;由信息交换处理模块构成的信息交换处理层负责从各个标准接口读取数据,对数据进行格式转化,对多个传感器传来的数据进行数据融合处理,并且在一定时间间隔之后对传感器节点进行时间同步,之后将处理好的数据上传给应用层进行进一步处理;

底层硬件同上层应用之间以中间件层进行隔离;

传感器节点之间以及传感器节点与汇聚节点之间以多跳形式构成网络。

一种在上述无线传感器网络中的通信方法,包括如下步骤:

当传感器节点通过探头采集环境数据后,首先由处理器将数据读入存储器中,将数据划分成帧,附加帧头信息,传递给无线射频模块,由该模块以无线的形式发送出去;

在汇聚节点或其他负责转发的传感器节点处,通过无线射频模块将数据接收进来,并生成中断,通知该节点上的处理器读数据,处理器读取无线射频模块的接收缓存;

如果是转发的传感器节点接收数据,则按照自己本地的路由表将报文转发出去;

如果是汇聚节点接收到数据,则将数据读入并去掉帧头,进行解析,最后将数据通过RS232  接口提供给上位机处理,完成整个通信过程。

在本发明的实施措施中:

所述中间件层包括Comm Mapping层、Sensor Mapping层、socket模块、Local模块、  Remote模块、Routing Module模块,其中:

不同的硬件接口协议通过CommMapping层进行屏蔽,使得不同接口的操作可以以统一的  方式进行操作;

socket模块向上层应用提供统一的操作接口,向下则调用Comm Mapping层提供的针对  不同接口屏蔽后使用的统一的一套操作接口;

对于不同传感器探头所使用的通信协议通过Sensor Mapping层进行映射,使之映射到标准socket的操作上;

Local模块负责处理socket模块接收的针对本地资源的相应操作;

Remote模块负责处理socket模块接收到的对远程资源的使用请求;

Routing Module模块根据路由算法生成路由表,负责将远程资源使用请求路由转发到指定节点。

所述网络协议栈由物理层、媒体接入控制层、负责报文路由转发的网络层、传输控制层组成,其中:

物理层负责完成无线链路的连接,确保原始的数据可在物理媒体上完成传输;

媒体接入层负责判断当前是否可以向物理层发送数据,如果可以发送,则向数据报文添加控制信息,将数据和控制信息以规定的格式发送到物理层,在接收数据时首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息再发送至上层;

网络层根据获取到的无线传感器网络拓扑信息生成路由表,在接收到报文后,根据目的地址和本地路由表对报文进行转发,完成点到点可靠传输;

传输控制层的作用是将数据报文加上必要的报文头部,包括源地址、目的地址、报文序列号、确认报文序号等传输控制信息,保证端到端的可靠传输。

与现有技术相比,本发明的有益效果为:

1.对于上层应用来说,底层硬件接口以及传感器探头相关的实现全都不用关心,只需要在中间件middle ware和应用Application之间定义用于交互的数据结构即可完成对传感器数据的使用,极大地提高了无线传感器网络节点的扩展能力。

2.传感器节点的探头可以以即插即用的方式进行更换,根据要检测的数据类型不同,可以调整传感器节点上连接的传感器探头。

附图说明

图1是传感器节点的硬件体系结构框架;

图2是基于中间件思想的传感器网络节点软件结构图;

图3是传感器节点软件总体结构图;

图4是传感器节点网络协议栈;

图5是本发明传感器节点同汇聚节点形成的网络拓扑;

图6是传感器节点同汇聚节点通信过程。

具体实施方式

本发明的基于中间件思想实现节点软件的传感器网络,是一种由汇聚节点和多个传感器节点组成的网络。

其硬件的总体结构图如图1所示,传感器节点由图中所示的以nRF905为核心芯片实现的射频模块、以ARM7为内核的处理器芯片、片载存储器ROM和RAM、多类型的传感器探头、以及电源模块组成。射频模块、存储器、传感器探头和处理器相连,电源模块为各模块提供电源。传感器节点的处理器芯片选用由Philip公司生产的ARM7内核的微处理器LPC2290,无线通信部分的核心芯片选用Nordic公司生产的nRF905芯片,具体的制版及编程方法见这两款芯片的用户手册。其中利用ARM7芯片提供的I/O管脚可以实现RS232、SPI、UART以及RS485等标准接口。无线通信方面,nRF905芯片带有C_Sense管脚,可以利用这个管脚实现载波侦听;并且nRF905芯片还可以灵活地设置通信频点、发送功率等参数,为传感器节点的良好通信提供了可能。本发明将传感器探头同处理器电路版作为两个独立的部分进行处理,两部分通过标准接口进行连接。这样可克服现有技术中的第一个问题。

为克服现有技术中的第二个问题,我们将中间件思想用到无线传感器网络领域,将上层应用同底层的传感器操作以及接口协议隔离开,使得传感器的改变不影响应用程序代码的修改,为整个系统的扩展提供极大的便捷。因此在其软件方面引入了中间件思想,设计middleware层用来隔离底层的硬件同上层的应用,使得上层应用能够以透明的方式对底层的数据进行访问。本节点中间件层结构图如图2所示。

硬件接口协议的不同通过Comm Mapping层(通信映射层)进行屏蔽,使得不同接口的操作如打开、关闭、读、写、查询状态等操作可以以统一的方式进行操作。例如RS232串口,根据其通信协议以及ARM7的指令系统、接口涉及到的寄存器、编码规则,实现RS232接口的通信协议。数据接收以中断方式实现。当有使用RS232接口与处理器通信的传感探头接入节点时,当中断产生后,在中断处理函数中可以接收到数据,并且能够感知有一个探头通过RS232接口连接进入节点。中断处理函数将数据封装并调用Sensor Mapping(传感映射层)模块的Receive接口通知Sensor Mapping模块有数据从底层RS232接口传入Sensor Mapping模块。

对于不同传感器探头所使用的通信协议则通过Sensor Mapping进行映射,使之映射到标准socket的操作上。首先,在Sensor Mapping初始化时读取传感器探头的数据格式描述文件,该文件需要包含所有在该应用中可能连接到传感器节点的传感探头。其次,当SensorMapping模块接收到Comm Mapping模块发送来的数据后,对数据进行解析,识别出接入节点的探头类型。再次,第一次通过某个硬件接口接收到特定探头的数据时需要在模块内记录如表1所示的Sensor Mapping模块探头信息,并分配节点内部唯一的标识,32位IP地址。

  IP  Physical Interface  Sensor Type  192.168.0.1  RS232n  ultraSonic………………

表1

在模块内完成信息注册后,通过调用socket模块(套接字模块)的register接口向socket模块(套接字模块)注册资源信息,只需要向socket模块注册该资源的IP和资源类型。资源信息表格式如表2所示。

 Source IP Source Type 192.168.0.1 Di stance…………

表2

socket模块提供跟注册资源相关的打开指定IP上的连接,通过IP查询资源类型,通过资源类型查询IP,接收指定IP上的资源,通过IP向指定资源发送信息等接口。

节点对外的公网IP暂时采用静态分配方法,该IP也是middle ware的唯一标识。当应用通过一个socket向middle ware请求某个资源时,middle ware判断该资源的物理位置是在本地还是远程。Local模块(本地请求模块)负责处理socket模块接收针对本地资源(传感器、CPU、各种接口,RF模块)的相应操作,Remote模块(远程请求模块)负责处理socket模块接收到的对远程资源的使用请求。socket模块向上层应用提供统一的操作接口,向下则调用Comm Mapping层提供的针对不同接口屏蔽后使用的统一的一套操作接口。RoutingModule(路由模块)根据路由算法生成路由表,负责将远程资源使用请求路由转发到指定节点。

传感器节点的软件总体结构如图3所示,主要由网络协议栈、标准接口驱动、信息处理以及上层应用相关逻辑几个模块组成,这些模块均对应到中间件中相应模块的具体实现。

以上图2和图3均说明了本发明的软件结构,其中,图2重点从中间件思想角度阐述软件结构,突出中间件思想,屏蔽应用和底层硬件的差异性。针对本节点所采用的芯片,传感器探头,硬件接口来阐述各个模块的设计,将图3中阐述的通用传感器节点软件结构具体化,在中间件层还提出将对各种资源的访问操作统一的socket上的思想。这些都需要将中间件层的软件结构进行细化阐述。图3则重点从功能角度阐述软件结构,突出一个传感器节点软件所需要具备的必要的功能,图3为传感器节点的通用结构,通用结构中的各个模块所具有的功能都可以在中间件层中找到相应的对应模块

网络协议栈由图4所示的物理层(在nRF905芯片中已经包含了物理层协议的相关功能)、媒体接入控制层、负责报文路由转发的网络层、传输控制等协议组成。其中:

物理层负责完成无线链路能够连接,确保原始的数据可在物理媒体上完成传输;媒体接入层的主要功能是判断当前是否可以向物理层发送数据,如果可以发送需要向数据报文添加控制信息,最终将数据以及控制信息以规定的格式发送到物理层,在接收数据时MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至上层;网络层的主要功能是,根据获取到的无线传感器网络拓扑信息,生成路由表,在接收到报文后根据目的地址和本地路由表对报文进行转发,完成点到点可靠传输;传输控制层,将数据报文加上必要的报文头部,包括源地址、目的地址、报文序列号、确认报文序号等传输控制信息,保证端到端的可靠传输。

在网络协议栈之上是标准接口驱动程序层,每一个标准接口对应一个驱动程序模块,完成对该接口的读写等操作,以便从相应的接口连接的传感器探头读取数据。

信息交换处理层,负责从各个标准接口读取数据,对数据进行格式转化,对多个传感器传来的数据进行数据融合处理。并且在一定时间间隔之后对传感器节点进行时间同步,还可以根据应用的需要对传感器的物理位置进行定位。之后将处理好的数据上传给应用层进行进一步处理。

本发明采用图5所示传感器网络的拓扑结构,传感器节点之间以及传感器节点同汇聚节点以多跳形式构成复杂的网络拓扑。在这种拓扑结构下,传感器节点不仅要负责检测环境数据,向外发送,而且还要接收其他传感器节点传来的数据,并负责路由转发,在每个传感器节点中都要保存一份整个传感器网络的拓扑信息或路由表。也就是说,在本发明中传感器节点除了承担传统传感器网络中节点所要承担的感知数据的职责外,还要承担路由器的职责。本发明采用多跳路由的方式进行组网,不仅扩大了传感器节点同汇聚节点之间的距离,而且使得传感器网络节点在部署时受到的限制更少,扩大了整个传感器网络能够覆盖的区域。

图6为传感器节点同汇聚节点之间的通信过程。当传感器节点通过探头采集环境数据后,首先由处理器将数据读入片载ROM、RAM中,将数据划分成帧,附加帧头信息,传递给无线射频模块,由该模块以无线的形式发送出去。在汇聚节点或其他负责转发的传感器节点处,通过无线射频模块将数据接收进来,并生成中断,通知该节点上的处理器读数据,处理器读取无线射频模块接收缓存。如果是转发的传感器节点接收数据,需要按照自己本地的路由表将报文转发出去,如果是汇聚节点接收到数据则将数据读入并去掉帧头,进行解析,最后将数据通过RS232接口提供给PC或其他上位机处理。完成整个通信过程。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号