一种非干扰式测量无线传感器网络数据的方法与系统
技术领域
本发明涉及一种非干扰式测量无线传感器网络数据的方法与系统,属于无线传感器网络领域。
背景技术
无线传感器网络(Wireless Sensor Networks,WSN,简称传感器网络)是由部署在监测区域内大量的微型传感器节点组成,以无线通信的方式形成一个多跳的自组织网络。无线传感器网络是下一代网络的重要组成部分,可以极大的拓展人们感知世界的能力,被认为是将对21世纪产生重大影响的技术之一,得到了世界各国军事、工业、学术等部门的重视。
无线传感器网络的测量技术,对了解网络运行规律,判断网络故障或瓶颈,优化网络设计规划有重要的指导意义。目前,针对无线传感器网络的测量技术有多种实现手段,其中典型的方案有哈佛大学提出的MoteLab、Crossbow公司提出的MoteWorks。
哈佛大学开发的MoteLab方案如图1所示,其由中心服务器和传感器网络组成,网络中的每个传感器节点都被连接到信号采集模块上,通过串口与中心服务器相连,并连接以太网。这样使得节点的数据可以通过无线通信装置和串行接口及以太网等多种冗余渠道进行传输,从而实现了对网络状态的测试。MoteLab方案不占用传感器网络无线通信资源,但是由于测试数据通过节点模块的CPU串行接口输出,占用了一定的CPU资源,属于干扰式测试。
Crossbow公司提出的MoteWorks方案如图2所示,其采用传感器网络自身的无线通信链路进行待测数据的传输采集,即节点感知数据和测试数据均通过节点微处理器(CPU)发送相应的命令到节点的射频模块(RF),然后在传感器网络无线通信链路上进行传输,用户能够远程监视传感器网络的运行情况,最终以文本或图形方式显示测试结果。MotoWorks方案的测试目标是固定设制的,包括网络的拓扑结构、节点的剩余能量、链路质量、传输速率等等。由于测试数据占用了传感器网络无线链路资源和节点处理器资源,必然会对传感器网络节点自身的处理能力和通信能力有一定的影响;并且无线通信网络的不可靠性导致的丢包率也会影响测量的准确性,属于干扰式测试。
现有的方法中均无法获取节点传送数据之前的内部信号,并且节点内部需额外运行用于测试目的的软件模块,在不同程度上占用了节点无线通信资源和(或)消耗了微处理器的处理性能,对节点自身的工作存在干扰。
发明内容
本发明的目的在于提供一种非干扰式测量无线传感器网络数据的方法与系统,为远程服务器提供精准的无线传感器网络测量数据。本发明主要是通过测量采集板从后台侦听节点传输的内部信号,并将这些内部信号进行预处理后进行缓存,然后通过数据传输网络传送到远程服务器,从而实现在不干扰无线传感器网络节点自身工作的前提下,实现对传感器网络的测量;并且由于采集板的灵活配置性,使其几乎可以测量任意类型的无线传感器节点和采用多种数据传输网络。
本发明的技术方案为:
一种非干扰式测量无线传感器网络数据的方法,其步骤为:
1)测量采集板采集传感器节点处理器与射频芯片之间传输的内部信号和需要测量的其他数据信号;
2)将采集得到的内部信号转换为符合传输网络要求的数据帧,并且进行缓存;
3)将缓存的数据帧通过所选的数据传输网络发送到远程服务器进行网络测量。
所述方法中,将所述内部信号进行简化预处理后转化为符合所选传输网络通信的数据帧;所述内部信号通常包括模拟信号和数字信号。
所述模拟信号的预处理方法为:多次(此为3次)采集Δt时间内的当前信号,并保存上一个Δt时间段内的平均采集值(次为3次测量均值),如果当前采样平均值跟上一次缓冲队列中保存的平均值的差的绝对值超过设定的门限值范围,则将保存当前平均值到缓冲队列中,继续进行下一次采样;如果当前采样平均值跟上一次缓冲队列中保存的平均值的差的绝对值没有超过设定的门限值,则不向缓冲队列中保存当前平均采样值,并且继续进行下一次采样。如此反复进行。
所述数字信号的预处理方法为:数字信号分为同步数字信号和异步数字信号,同步数字信号采用时钟有效触发沿进行事件采集;异步数字信号采用一定的抽样概率判决采集,然后将获得的有效信号存储到一个缓冲队列中。
所述采样信号中包括记录当前采样时间,并将采样时间与对应的采样值保存到所述缓冲队列中。
所述数据传输网络可根据应用需求选择(此为Ethernte);网络传输协议可根据传输网络相应选择(此为TCP/IP协议)。
一种非干扰式测量无线传感器网络数据的方法,其包括远程服务器(PC机),至少一个待测节点和一个测量采集板;所述远程服务器通过传输网络与所述测量采集板相连;所述待测节点通过适配器与测量采集板相连。
进一步的,所述测量采集板包括核心处理单元和围处理单元。核心处理单元由软件配置形成上游与远程服务器通信接口,下游与待测节点通信接口;所述外围处理单元包括AD采样模块,LED接口模块等,通过相应的接口与核心处理单元相连。
所述核心处理单元包括:数据采集模块,用于完成对待测节点的数据采集,数据预处理模块,用于初步处理采集的数据以封装成适合数据传输网络的数据帧;数据存储模块,用于将数据帧数或时间帧存放到FIFO缓冲队列中;通信模块,用于将FIFO数据缓冲队列中存储的数据帧发送给远程传输模块也就是以太网接口控制器;时钟产生模块,用于记录数据采样时间。
本发明包括以下几个部分:
1、节点信号的采集
本文提出的测量数据方法中,核心处理模块通过适配器侦听传感器节点微处理器与射频收发芯片之间传输的内部信号和其它信号如图3所示,即微处理器与射频收发芯片之间互相通信的数字信号和电流信号等,适配器用于将侦听信号转接到测量采集板的核心处理模块。从而实现无打扰,数据真实的测量特性。同时该方法既不占用传感器网络的无线数据通信链路,也不占用节点CPU的资源,即非干扰式测试;并且由于采集接口的可配置性,使其能够测量几乎任何类型的传感器节点和多种数据传输网络。
2、节点信号的数据处理
适配器转接的节点内部信号通常包括数字信号和模拟信号,由于节点内部信号高速采样后的数据量较大,直接发送到数据传输模块会产生数据的丢失。本发明提出了针对不同内部信号采用不同的预处理方法:
数字信号预处理方法如图4所示:当内部数字信号产生一个有效沿(上升沿或下降沿)时,通过一个触发事件来通知信息采集模块进行一次有效采样,并将采样到的数据和当前时间以数据帧的格式存储到一个缓冲队列中,等待数据传输模块的处理。
模拟信号预处理办法如图5所示:3次采集当前Δt时间的待测信号活动均值,并保存上一次采集的均值,如果当前采样均值与上一次保存均值值的绝对值差值超过了设定的门限值范围,则向数据缓冲队列送入一个新的均值(同时也包括采样时间),并且将当前保存均值更新为当前采样均值,继续进行采样;如果当前采样均值与当前保存均值的绝对值差值没有超过设定的门限值,则不向缓冲队列中送入新值,并且继续进行采样,如图5所示,将模拟信号的第一个采样均值N1保存到缓冲队列中,同时设定阈值范围之后,采样点N2、N3、N4、的均值与n1的差值绝对值在设定阈值范围内,因而不被保存,而采样点N5与当前保存值N1的差值绝对值超过设定的门限值范围,因而N5的值被保存更新为当前值,同时N6、N7、N8与更新后保存的当前值N5的差值绝对值在设定范围内而不被保存,同理采样的N9的值被保存而N10的值不被保存。由于模拟信号存在一定的噪声波动,通过本方法,可以在保证一定数据精度的前提下降低数据量。
3、节点信号的数据传输
数据传输模块接收的传送命令即从数据存储FIFO中取出数据帧,将提取的数据帧转化为适合数据传输网络的数据格式,发送到远程服务器。建议采取以太网作为传输网络,采取TCP/IP协议作为数据传输协议,也可以采用其它的网络和协议进行数据传输。整个数据传输采用的是星型的传输结构,如图6所示。
4、远程服务器
远程服务器是一个多功能的数据分析中心,首先要收集数据处理模块基于传输网络发送的节点数据信息和其它相关的信息;并把所有数据信息以文本的形式储存起来;分析和统计所采集到的数据信息;从中得出相应的网络性能指标(如丢包率、延迟、网络流量、连通性等),从而实现对全网性能进行实时或者非实时的监控和测量评估。
远程服务器实时处理模块包括的功能有数据读取、数据分析、时间同步等;非实时分析模块包括的功能有远程类逻辑分析仪、远程类电流表、远程功率测量等。
本发明的积极效果为:
与现有技术相比,本发明在对节点自身工作无干扰的前提下,实现一种信号采集的方法,收集精准有效的无线传感器网络测量数据,并基于收集到的数据进行传感器网络的测试测量。
附图说明
图1、MoteWorks信号采集示意图;
图2、MoteLab信号采集示意图;
图3、本发明方法流程图;
图4、数字信号采样方法;
图5、模拟信号采样方法;
图6、星型的信息传输结构;
图7、传感器节点节点待测的信号;
图8、星型信息传输结构示意图;
图9、单节点系统结构;
图10、测试板结构示意图;
图11、数据预处理模块结构示意图;
具体实施方式
1、组建无线传感器网络
首先用待测传感器节点组建具有无线传感器网络分布式自组织特点的待测网络,传感器节点的设计结构与特点如下:
(1)通信模块采用chipcon公司支持IEEE 802.15.4协议的无线收发芯片CC1000,最大75k bps通信速率,发射功率为0db通信距离可达80-100m。
(2)采用Microchip公司的低功耗微处理器芯片PIC16F877A。
(3)提供了丰富的40引脚外部接口,可以连接编程板或传感器板。
(5)体积小(面积70mm*35mm,厚度2.2mm)
传感器节点待测信号如图7所示,信号接口中3~12是CC1000的控制信号,31~34是PIC16F877A的串口信号,35~40是PIC16F877A的JTAG信号。
2、组建无线传感器网络测试系统
无线传感器网络测试系统由以下的部分组成,各自的名称、数量和描述如表1所示:
表1、系统组成部分的名称、数量和描述
名称 |
数量 |
描述 |
适配器 |
若干 |
采集信号转接 |
测量采集板 |
若干 |
数据采集,存储,传输 |
以太网交换机 |
1 |
构建以太网网络 |
远程服务器 |
1 |
PC机 |
无线传感器网络测试系统具有星型特点的信息传输结构,系统结构如图8所示。
2.1、单节点系统结构
系统的结构框图如图9所示,适配器是信号转接模块,可以设计不同的方式结合可编程采集板适用不同的传感器节点。适配器将节点的内部信号转接出来,并传送到可编程测试板上。可编程测试板上集成了数据处理模块和数据传输模块两个部分。待测节点、适配器和可编程测试板连接在一起,构成一个测试单元。
2.2、数据处理和传输设计
该系统的数据处理模块和传输模块集成在一个可编程测试板上,用于实现对接收到的节点信号进行预处理,并将处理后的信号发送到以太网。可编程测试板主要包括一个高灵活性的FPGA芯片。采用现场可编程门阵列可以实现高度的灵活性,包括与待测节点接口的灵活性和到远程终端传输网络接口的灵活性。可编程测试板包括的功能单元如图10所示。可编程测试板主要处理部分的芯片型号如表2所示:
表2、测试板主要处理部分芯片型号
模块名称 |
芯片型号 |
基本情况描述 |
FPGA |
EP1C6 |
约6000个逻辑单元,144pin管教封装,提供98个IO口 |
SDRAM |
Hy57v168 |
为FPGA提供足够的外部存储空间 |
AD采样芯片 |
ad1408 |
用于模拟电平测量 |
FPGA时钟 |
50M晶体 |
用于节点内部信号高速采样 |
FPGA运行的环境是Quartus II 7.2,编程语言是Verilog HDL 2001。FPGA的作用主要是实现数据的采集处理功能,时钟功能和以太网接口功能,如图11所示,数据预处理模块将采集的数据打包,存放到FIFO数据缓冲队列中;同时也实现MAC层的Ethernet控制器,相应的当远程的命令帧到达时,将FIFO中的数据或当前的时钟时间传送出去。
3、远程服务器(PC)软件设计
远程服务器是一台高性能通用PC机,运行的客户端软件有:JAVA-Server、JAVA-Analyzer、等。
JAVA-Server数据收集软件,实时的显示数据测量时刻的统计信息,存储所有数据为特定格式的日志文件,并通过获得的数据信息,分析无线传感器网络的节点功耗、丢包率关系、网络状况等,并且可以依非实时的方式模拟网络的历史活动情况。
JAVA-Analyzer信号分析软件,称其为类逻辑分析仪和类电流表,可以分别模拟出无线网络数据的波形已经网络节点的功耗曲线。
同时本发明也可以通过配置FPGA进行各种节点,多种网络性能参数的非干扰式测量。