项目硬件分为三个部分: ZigBee终端、 ZigBee协调器、上位机。
ZigBee终端有声音传感器,负责采集声音频率信号。
ZigBee协调器负责建立路由网络(这边采用的是wifi模块),它也负责连接上位机并传输采集到的声音频率信号。
上位机负责分析采集到的声音频率信号,分析的算法主要有两种,传统方法是求时间差定位算法,第二种是支持向量机方法。
时间差定位算法
当供水管道发生泄漏时,由于管道内外存在巨大压力差,喷射出来的水流与管壁摩擦产生振动以及与
周围土壤冲击产生声波,称为泄漏信号。泄漏信号沿管道向两端传播,被安放在管道两端的压电式加速
度传感器采集,经过无线通讯系统,上传至上位机。
如图1,被测管道长度 LAB,A、B两端放置传感器,O点为泄漏点,漏点距2个传感器的距离分别为LOA、LOB(设LOA>OB),假设泄漏信号在管道上传播速度为V,则漏水信号从 O点传播到 A 点所用的时间为:

漏水信号从 O点传播到 A 点所用的时间.png
漏水信号从O点传播到B点所用的时间为:

漏水信号从O点传播到B点所用的时间.png
漏水信号从O点传播到两端所用的时间为:

漏水信号从O点传播到两端所用的时间.png

总长度.png
则可得:

通过时间差得到定位.png
支持向量机方法:
ZigBee终端将用声音传感器采集的数据通过无线传感器网络传到ZigBee协调器,接着ZigBee协调器端通过串口将数据传到stm32控制器,然后stm32通过Wi-Fi模块将数据传输,最后用C#编写的上位机通过tcp协议将采集的数据显示出来,保存到本地文件和SQL当中,最后由算法调用数据,可以达到远程监测供水管道信号的功能。