基于无线传感器网络的管道漏水信号监测系统及方法与流程

文档序号:13131971阅读:414来源:国知局
基于无线传感器网络的管道漏水信号监测系统及方法与流程

本发明属于管道管理技术领域,具体涉及一种基于无线传感器网络的管道漏水信号监测系统及方法。



背景技术:

中国水资源短缺十分严重,为调水解困国家耗费大量的财力物力。然而,我国水资源利用率特别低、跑水漏水等现象普遍存在。如果能及时检测出泄漏发生,采取必要措施,可以节约大量水资源。因此,深入研究供水管道泄漏检测与定位方法,不仅具有重要的理论意义,而且也具有巨大的实际应用价值。我国供水管网情况复杂,泄漏信号在传播的过程中受到管材、管径、接口及管内压力等的影响,使得检测与定位难度增大。为此,本文提出了基于多特征和自适应时延估计的漏水泄漏检测与定位方法,并设计与实现了基于无线传感器网络和gprs的管道泄漏监测系统。



技术实现要素:

为了解决上述问题,本发明提供一种所述系统包括数据采集终端、zigbee协调器网关,以及上位机,所述数据采集终端通过zigbee协调器网关连接上位机;

数据采集终端,所述数据采集终端通过zigbee无线传感器网络采集并发送数据;

zigbee协调器网关,所述zigbee协调器网关将接收到的数据通过协调器进行处理,并以gprs模块连接到外网的形式发送给上位机;

上位机,所述上位机通过zigbee协调器网关传输的数据信息控制数据采集和数据存储;

进一步地,所述zigbee协调器网关包括zigbee协调器、中心控制模块和gprs模块,所述zigbee协调器一端连接数据采集终端,另一端通过中心控制模块连接gprs模块,所述gprs模块连接上位机;

进一步地,所述中心控制模块包括第一串口和第二串口,所述第一串口和第二串口分别连接gprs模块和zigbee协调器,实现控制命令和采集数据的双向传输;

进一步地,所述数据采集终端包括zigbee模块、信号调理电路和声音传感器,所述声音传感器通过信号调理电路连接zigbee模块,所述zigbee模块包括多个zigbee终端节点,所述多个zigbee终端节点均连接zigbee协调器;

进一步地,所述zigbee终端节点包括核心板和测试底板,所述核心板包括cc2530单片机、天线接口、晶振以及i/o扩展接口;

进一步地,所述上位机包括上位机接收模块、命令控制模块、数据显示模块和数据发送模块,所述命令控制模块分别连接上位机接收模块、数据显示模块和数据发送模块;

进一步地,一种基于无线传感器网络的管道漏水信号监测方法,所述方法将分布在不同位置的zigbee终端节点采集到的数据统一发送到zigbee协调器,zigbee协调器将所有接收到的数据通过gprs模块连接到外网的形式发送给上位机;

进一步地,所述方法包括:

s1:将声音传感器与cc2530单片机连接,将声音传感器引脚接入zigbee终端节点的adc端口进行信号采集;

s2:声音传感器将采集到的漏水声音信号通过信号调理电路转换成0-3.3v范围的电压信号,通过cc2530将采样的数据通过射频模块发送给zigbee协调器;

s3:zigbee协调器接收所有zigbee终端节点的数据,发送给中心控制模块,中心控制模块利用第二串口接收zigbee协调器发送的数据,然后将数据通过第一串口发送给gprs模块,gprs模块利用移动通信网络发送给上位机;

s4:上位机与stm32建立tcp连接,并向选择的特定zigbee终端节点发送控制命令,然后等待数据采集完成后传回上位机,上位机将接收的数据存储到数据库中,并利用这些数据进行泄漏检测和漏点定位;

进一步地,所述s2具体为zigbee协调器首先组建无线传感器网络,等待zigbee终端节点加入无线传感器网络,网络组建成功后,zigbee协调器将接收得到的zigbee终端节点发送过来的数据通过其第一串口发送给中心控制模块的第二串口;

进一步地,所述s3中中心控制模块首先配置gprs模块、建立tcp连接,当tcp连接成功建立后,中心控制模块给上位机发送准备就绪命令,成功发送以后,中心控制模块进入无限循环,等待串口接收中断的产生,在中断发生时,调用相应的串口接收中断服务函数,实现数据的接收,通过判断接收数据的数据头和数据尾,确定是否接收完毕,确定接收完毕后将数据经相应串口发送出去;

本发明的有益效果如下:

1)监测节点都是同时工作,有多路数据并行发送,各路数据不产生干扰,传输过程中不丢包,保证数据传输的准确性;

2)加上相应的标记符,对各路节点的数据加以辨别,以进行区分;

3)将现场采集的数据即时显示在上位机界面,并且存放在数据库中,方便历史查询、分析;

4)在上位机端控制节点是否采集数据,并实现终端节点与上位机的双向通信,减少能源的耗费;

5)监测节点在相对封闭的环境中,系统的供电情况稳定,能够较长周期的工作,避免频繁更换电源,在系统运行过程中,如果出现网络连接故障的状况,能够自动重新连接继续正常工作。

附图说明

图1为本发明中所述系统总体结构图;

图2为本发明中所述zigbee终端节点的总体框图;

图3为本发明中所述声音传感器与cc2530的连接方式图;

图4为本发明中所述zigbee协调器节点的组成;

图5为本发明中所述zigbee协调器网关的结构图;

图6为本发明中所述zigbee网络、stm32以及gprs模块构成具体工作流程图;

图7为本发明中所述上位机的工作流程图;

图8为本发明中所述zigbee终端节点的程序流程图;

图9为本发明中所述数据采集程序流程图;

图10为本发明中所述zigbee协调器节点程序流程;

图11为本发明中所述控制命令的数据格式;

图12为本发明中所述中心控制模块工作原理;

图13为本发明中所述中心控制模块程序流程;

图14为本发明中所述上位机程序流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。

下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。下面为本发明的举出最佳实施例:

如图所示,本发明提供一种基于无线传感器网络的管道漏水信号监测系统和方法,将覆盖在不同区域的终端节点采集的数据通过无线通信网络实时、准确的上传到上位机服务器上,并将数据保存到数据库中以便历史查询和后续研究分析,所述系统总体结构如图1所示,所述系统包括基于zigbee无线传感器网络的数据采集终端、基于gprs模块的zigbee协调器网关,以及上位机。因为漏水管道覆盖面积广泛,所以需要对分布在各地理位置不同的终端节点数据进行采集,为此选用了cc2530系统芯片,基于高速低功耗的8051内核,具有射频性能、抗噪声及抗干扰能力。

分布在不同位置的zigbee终端节点将采集到的数据统一发送到zigbee协调器汇聚到一起,zigbee协调器将所有接收到的数据通过gprs模块连接到外网的形式发送给上位机。所以zigbee协调器具备较强的功能以及稳定性,选择了cc25030芯片和基于cortex-m3内核的微处理器结合使用。gprs模块则选用了尺寸小、功耗低、而性能较高的sim800芯片,该模块如果连接了运营商的sim卡,则具备了打电话、发短信、无线上网的功能,也即gprs/gsm功能。管道漏水时水流与管道口摩擦产生声音信号,声音的频率与水压、管道材料等很多因素有关,本发明选择高灵敏度声音传感器,检测范围从几十赫兹到几千赫兹不等。声音传感器连接在zigbee终端节点上,zigbee终端节点由核心板和测试底板构成,核心板主要包括cc2530单片机、天线接口、晶振以及i/o扩展接口。zigbee终端节点的总体框图如图2所示。声音传感器与cc2530的连接如图3所示。ao端输出为模拟信号,将该引脚接入zigbee终端节点的adc端口(p0口)进行信号采集。当cc2530使用adc端口接入信号时,输入电压不能超过其工作电压3.3v,且不能输入负电压。故需要在输出端加下拉和上拉电阻(1k~10k之间),保证输入信号在允许的工作范围内。对声音信号达到更好的还原效果。将声音传感器的输出端连接在引出的p0_4引脚上,工作电压选择5v。声音传感器将采集到的漏水声音信号通过信号调理电路转换成0-3.3v范围的电压信号,通过cc2530将采样的数据通过射频模块发送给协调器。

zigbee协调器作为无线数据的接收端,它是一个汇聚节点,需要将所有终端节点的数据全部接收过来。zigbee协调器节点的组成如图4所示。由于zigbee协调器不需要数据采集,所以与数据采集模块相比协调器不需要传感器,但是为了实现数据传输设置第一串口和第二串口。zigbee协调器先组网与各终端节点构造出一个无线传感器网络。通过指示灯的亮灭情况可以判断组网是否成功,上电后观察指示灯d3的状态,如果在3秒之后熄灭则表示组网成功,然后就可以等待zigbee终端节点加入网络了,zigbee协调器也一样分别配置了数据发送与接收的指示灯,如果有数据传输发生相应的指示灯也会快速的闪烁。

考虑到供水管道的覆盖范围广泛,仅用zigbee技术来实现数据的无线传输是不能满足要求。即使在通信链路比较好、没有障碍物或电磁干扰情况下,zigbee的传输距离也不过几百米,所以需要选用能够进行远程传输的模块来完成数据远距离传输任务。对于漏水管道的数据传输速率要求不高,一般来说10kbps的传输速率即可满足要求。

zigbee协调器网关是系统的控制中心,zigbee协调器不仅要接收分布在各个不同位置的终端节点发送过来的数据,还需要将这些数据统一打包并发送给上位机,以便进行后续分析。zigbee协调器网关包括zigbee协调器、stm32处理器和gprs模块三部分,其总体结构如图5所示。

在zigbee协调器网关中,zigbee协调器首先组建无线传感器网络,等待终端节点加入网络。网络组建成功后,zigbee协调器将接收得到的zigbee终端发送过来的数据通过其第一串口,也即图中所示p0_2引脚和p0_3引脚,发送给stm32处理器的第二串口。stm32处理器利用第二串口接收zigbee协调器发送的数据,然后将数据通过第一串口发送给gprs模块。gprs模块通过sim卡连接到移动通信网络,然后将收到的数据通过移动通信网络发送给上位机。上位机与移动通信网络建立连接后可以接收gprs远程发送过来的数据。由于本设计的系统中实现了双向通信,故每个串口都具有数据发送与接收功能。

为了能够观察漏水监测系统的工作状态以及控制终端节点数据采集,本发明在通用计算机上进行了上位机的开发。开发过程中使用到了vs2012和sqlserver2008两种设计软件,要求计算机系统能够支持该开发软件的正常运行。在协调器网关与上位机建立tcp连接以后,上位机与数据发送端之间可以通过gprs网络和internet网络进行数据的双向传输。系统的软件设计总体分为两个部分:终端设备程序设计和上位机程序设计。终端设备由zigbee网络、stm32以及gprs模块构成,具体工作流程如图6所示。首先,stm32通过串口向gprs模块发送at指令,控制gprs模块进行tcp连接,可以实现与上位机通信。tcp连接成功建立后,接收来自上位机的控制命令(选择进行数据采集节点的命令),并且将接收到的控制命令用另外一个串口发送给zigbee协调器节点。zigbee协调器节点在接收到来自串口的控制命令后,以广播的方式向网络内部发送控制命令,各个节点依据自身的“身份”来决定是否进行数据采集。然后,需要进行数据采集的zigbee终端节点将采集得到的数据以点播的方式传至zigbee协调器节点。zigbee协调器节点在接收到数据后经串口传递数据到中心控制模块(stm32),stm32也将数据通过gprs模块发送到gprs网络。最后,通过建立的tcp连接将数据发送到固定ip地址的上位机中。

上位机的工作流程如图7所示。上位机程序执行首先启动网络服务,等待客户端(stm32)建立tcp连接请求。当上位机接收到请求后,建立tcp连接。在成功建立连接后,上位机向选择的特定zigbee终端节点发送控制命令,然后等待数据采集完成后传回上位机。上位机将接收的数据存储到数据库中,并利用这些数据进行泄漏检测和漏点定位。

zigbee终端节点的程序流程图如图8所示。终端节点在加入网络后,一直处于轮询的状态,查看是否有来自协调器的控制命令,如果接收到协调器的广播命令,终端节点就开始进行数据采集。数据采集程序流程图如图9所示。为了便于后续的设备对数据的识别和分类,本设计对数据进行封装,数据头和数据尾分别用一个字节表示,用于后续设备判断何时接收数据和何时结束接收,节点标识用两个字节(如果节点多,长度可能增加)表示,用来区分数据的“出处”。中间是采集的声音信号,每次发送200个字节。

zigbee协调器节点程序流程如图10所示。zigbee协调器节点在上电后,先进行设备的初始化,然后开始建立网络、监听信道,判断是否有入网请求,如果有入网请求就给相应zigbee终端节点发送入网请求确认。在网络建立成功后,等待串口来自sttm32的控制命令,在接收到命令后,将其以广播的方式发送到网络的所有节点,等待终端节点传回的数据,并将数据通过串口发送到stm32。

实际应用中,只有在用户需要了解某个特定区域是否存在漏水情况时,才启动zigbee终端节点进行数据采集。因此,本系统实现了上位机远程控制zigbee终端节点是否进行数据采集和发送。在没有接收到控制命令的情况下,节点不进行数据采集,有效地减少了终端节点的能耗。上位机的控制命令是一个字符串,其中的每一段都对应唯一的节点,字符串的格式可见图11。

stm32中心控制模块的主要功能包括接收pc机的控制命令并发送到协调器节点,以及接收协调器节点的数据并发送到pc机两个部分。本系统stm32的两个串口分别与协调器节点和gprs模块连接,实现控制命令和采集数据的双向传输。中心控制模块工作原理如图12所示,其程序流程如图13所示。中心控制模块首先配置gprs模块、建立tcp连接。当tcp连接成功建立后,中心控制模块就可以实现与pc机之间的通信。中心控制模块给pc机发送准备就绪命令,pc机接收到准备就绪后开始发送控制命令到终端设备。中心控制模块的准备就绪命令发送到pc机后,就进入无限循环,等待串口接收中断的产生。在中断发生时,调用相应的串口接收中断服务函数,实现数据的接收。通过判断接收数据的数据头和数据尾,确定是否接收完毕,确定接收完毕后将数据经相应串口发送出去。

本系统中上位机的windows窗体应用程序是使用c#编译语言,在visualstudio.net2012编译环境下实现的。应用程序的设计,主要内容包括:发送控制命令、接收数据显示以及数据库的访问等。所以界面的设计主要包含以下几个内容:主窗口、发送控制命令、显示接收数据窗口以及用户管理窗口。此外,为了体现应用程序的完整,又加入了登陆窗口和主窗口的设计。启动应用程序后首先显示的是登陆窗口,在用户输入正确的用户名和密码后显示主窗口,同时关闭登陆窗口的显示。主窗口只有若干菜单选项,点击不同的菜单按键,可以显示不同的窗口。

图14为上位机程序流程图。主窗口通过菜单栏选项可以选择具体进行何种操作。在该窗口中,实现了数据的接收、存储以及数据波形显示等功能。在请求模式窗体程序中,首先读入用户在窗口输入的端口号,并以此端口号和本地ip地址启动服务,等待客户端的连接请求。成功建立连接后,窗口会显示客户端的ip地址和端口号信息,表示连接成功,随后终端设备会发送准备就绪命令。当窗口显示出准备就绪命令时,用户可以在窗口选择需要采集数据的节点,并开始启动一次数据采集。完成上述操作后控制命令就发送到终端设备了,上位机等待传回来的数据。如果接收到数据时,根据数据的节点编号决定后续的操作,主要就是依据节点编号,对不同节点的数据进行数据库存储,并画出其信号波形图并在窗口显示。完成一次数据采集后,可以重新选择节点,再启动一次数据采集,从而控制不同节点组合进行数据采集工作。

netframework的system.net命名空间提供了许多用于网络通信的类,这些类能够迅速实现具有网络功能的应用程序编写,从而可以不必考虑具体协议的细节。在网络中,tcp/ip标识设备和服务的唯一方式是通过使用一个ip地址和端口号,两者的组合成为端点,又称套接字。套接字之间的连接过程可以分为三步:服务器监听、客户端请求以及连接确认。服务器端的套接字一直处于监听状态,等待连接;客户端的套接字必须先描述要连接的服务器的套接字,也就是其地址和端口号,然后提出连接请求;在监听到客户端套接字的连接请求时,服务的响应请求,把服务端套接字的信息发送给客户端,从而建立连接。

在连接建立后,服务器和客户端之间就可以使用receive()和send()两个方法进行数据通信。首先,服务端等待接收客户端的准备就绪命令,在接收到该命令后,服务端(即pc机应用程序)会读入用户的节点选择,并通过之前的客户端套接字发送出去。发送完毕后,程序会产生一个新的线程,去等待终端设备的数据。关于数据库存储,主要是使用一些vs2012定义的类进行数据库的建立、链接和访问等操作。数据库是使用sqlserver建立的简单数据库,包含两张表,内容分别为用户信息和采集的数据。

以上所述的实施例,只是本发明较优选的具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1