发明内容
针对上述问题,本发明利用了WSAN技术,设计了一个道路积水实时监控系统。本系统首先对各道路水位进行实时监测,再将感知到的信息发送到本地服务器,服务器收集到的实时水位信息后,通过后台数据处理分析,控制执行器节点水泵工作状态,并提供一个web展示页面。最后实现信息交互并对水情进行控制。
本发明的技术方案如下:
一种基于WSAN的道路监控系统,所述监控系统包括了数据采集模块、数据传输模块以及数据处理模块;所述数据采集模块通过数据传输模块将采集到的信息传递给数据处理模块进行处理;
所述数据采集模块,包括传感器节点以及汇聚节点,所述传感器节点通过ZigBee无线通信协议组成一个树形网络,通过节点去感知被测点的信息,并将感知到的信息发送至汇聚节点,实现对规定区域内信息的采集;
所述数据传输模块,将汇聚节点通过GSM模块将区域内信息传送至服务器,从而构成城市道路积水数据的采集;
所述数据处理模块,包括服务器端以及执行器节点,所述服务器收集到的实时水位信息后,通过后台数据处理分析,控制执行器节点的水泵工作状况。
上述传感器节点包括超声波传感器和微处理器,
所述超声波测距传感器为HC-SR04+传感器,用于采集传感器节点传感器至水面的距离。
所述超声波传感器安装在道路防护栏上,结合温度补偿模块精确测量积水液位,利用多个节点协作的无线传感器/执行器网络共同完成数据采集;
所述微处理器用于为传感器节点提供一个组建ZigBee网络的片上系统。
上述传感器节点还包括温度传感器,
所述温度传感器为DS18B20传感器,用于环境温度的测量,并根据该温度对超声波在空气中的传播速度进行修正。
上述汇聚节点包括MCU和GSM模块;
所述MCU用于ZigBee网络和GPRS网络之间的转换以及数据的融合及储存;
所述GSM模块,用于借助GPRS网络与远端服务器通信,将MCU的数据传至服务器,同时将服务器的执行命令下传给MCU。
上述服务器端包括数据预处理模块、预测模型模块、数据可视化模块以及数据仓库模块;
所述数据预处理模块包括数据清洗、数据转换、数据规约以及临时存储到数据库;
所述预测模型为基于BP神经网络模型建模,包括初始化训练、增量训练以及预测文件管理;
所述数据可视化模块包括百度热力图、监测点经纬度管理、水深等级划分管理、实时数据可视化以及水位预测可视化;
所述数据仓库模块包括历史数据以及增量数据。
上述预测模型的运算过程如下:
(1)、初始权值及阈值初始化;
(2)、学习模式;
(3)、计算隐藏层各单元的输入、输出;
(4)、计算输出层各单元的输入、输出;
(5)、计算隐藏层各单元的一般化误差;
(6)、调整隐藏层至输出层之间的连接权值及输出层各单元的阈值;
(7)、调整输入层至隐藏层之间的连接权值及隐藏层各单元的阈值;
(8)、更新学习模式;
(9)、全部模式训练完,若是未训练完回复至步骤(2);若是训练完,转至步骤(10);
(10)、更新学习次数,若是大于指定误差并指定学习次数,回复至步骤(2);若是小于指定误差或大于指定学习次数则结束。
上述执行节点包括MCU、电池、水泵、水泵驱动模块、紧急按钮;所述紧急按钮用于当监控系统出现故障时,紧急启动水泵驱动模块进行水泵抽水。
本发明相对现有技术能够实现:车辆行人打开电子地图能查看及时更新的道路积水状况,同时后台结合当前降水量、历史降水情况、天气变化,计算出估量积水值,并对于易积水的路段地图预警提示,建议车辆绕道行驶,避免险情的发生;市政人员根据网页端实时降水的具体量并结合未来估量值对已经积水的路况和未来有可能积水的道路进行疏通,保障道路的畅通和市民的财产安全;以及执行器能够根据服务器指示,自动开启。当道路积水量达到阈值或未来降水量大于排水量,后台服务器执行计算,并下达指令给执行器,控制执行器的开启,辅助排水,尽快疏通道路。
具体实施方式
为了使本发明实现的技术手段、达成的目的与功效易于明白了解,下面结合图示进一步阐述本发明。
如图1所示,一种基于WSAN的道路监控系统,所述监控系统包括了数据采集模块、数据传输模块以及数据处理模块;所述数据采集模块通过数据传输模块将采集到的信息传递给数据处理模块进行处理;
所述数据采集模块,包括传感器节点以及汇聚节点,所述传感器节点通过ZigBee无线通信协议组成一个树形网络,通过节点去感知被测点的信息,并将感知到的信息发送至汇聚节点,实现对规定区域内信息的采集;
所述数据传输模块,将汇聚节点通过GSM模块将区域内信息传送至服务器,从而构成城市道路积水数据的采集;
所述数据处理模块,包括服务器端以及执行器节点,所述服务器收集到的实时水位信息后,通过后台数据处理分析,控制执行器节点的水泵工作状况。
上述传感器节点包括超声波传感器和微处理器,
所述超声波测距传感器为HC-SR04+传感器,用于采集传感器节点传感器至水面的距离。
所述超声波传感器安装在道路防护栏上,结合温度补偿模块精确测量积水液位,利用多个节点协作的无线传感器/执行器网络共同完成数据采集;
所述微处理器用于为传感器节点提供一个组建ZigBee网络的片上系统。
上述传感器节点还包括温度传感器,
所述温度传感器为DS18B20传感器,用于环境温度的测量,并根据该温度对超声波在空气中的传播速度进行修正。
如图3所示为传感器节点数据采集流程图,在传感器节点我们通过温度补偿来精确地计算出水位高度,具体步骤如下:
步骤一:初始化:加入汇聚节点创建的ZigBee网络,创建一个事务,实现传感器节点的数据采样频率为1分钟,数据发送频率为5分钟。
步骤二:采集温度,先向DS18B20发送44H命令,使其进行温度转换,然后向其发送BEH命令,读取温度寄存器中前两个寄存器数据,使用这两个数据计算出当前温度。
步骤三:计算声速,使用公式1计算出超声波在空气中的声速,其中θ为温度传感器采集的温度,单位为摄氏度,v为超声波在空气中的声速,单位为m/s。
步骤四:测量水面至传感器距离:给超声波传感器Trig引脚提供20us 的脉冲,然后记录Echo回波引脚高电平的持续时间t,由公式2计算出超声波模块到水面的距离,其中t的单位为s,S为超声波模块到水面的距离,单位为m。
S=vt (2)
步骤五:计算积水深度:由公式3计算出积水深度高度,其中L为超声波测距模块距路面的高度,单位为m,由安装设备时测量所得,H为积水深度,单位为m。
H=L-S (3)
步骤六:判断采样次数是否达5次:若采样达5次,则转入步骤七;否则转入步骤二。
步骤七:数据处理及发送:将五次采样数据排序,然后将排序后的中位值发送出去。
步骤八:采样次数清零:将采样次数清零,转入步骤二。
汇聚节点包括MCU和GSM模块;
所述MCU用于ZigBee网络和GPRS网络之间的转换以及数据的融合及储存;
所述GSM模块,用于借助GPRS网络与远端服务器通信,将MCU的数据传至服务器,同时将服务器的执行命令下传给MCU。
如图2为汇聚节点数据采集流程图,具体过程如下:
步骤一:初始化,即创建一个ZigBee网络,等待传感器节点和执行器节点加入,创建一个GPRS场景,初始化http服务,并设置http会话参数。
步骤二:接收各传感器节点数据。
步骤三:判断是否接收完毕,若该循环周期内所以传感器节点的数据均接收完毕,则转入步骤四;否则转入步骤二。
步骤四:去除异常数据,将该循环周期内各传感器发来的数据排序,并将与排序后中位值相差10的数据认定为异常数据,将所有异常数据舍弃后,转入步骤五。
步骤五:发送数据包至服务器。
步骤六:接收并转发服务器命令,,控制执行器节点水泵的流速。
步骤七:现场显示,将该区域最大积水深度及采集时间显示到显示屏上,转入步骤二。
上述执行节点包括MCU、电池、水泵、水泵驱动模块、紧急按钮;所述紧急按钮用于当监控系统出现故障时,紧急启动水泵驱动模块进行水泵抽水。
如图4为执行器节点命令执行流程图,在执行器节点我们通过改变 PWM输出的占空比,实现了水泵流速的控制,具体步骤如下:
步骤一:初始化,加入汇聚节点创建的ZigBee网络,在定时器3通道 1比较引脚即P1_4输出占空比为0的PWM波。
步骤二:判断紧急按钮是否按下:若紧急按钮按下,则转入步骤三;否则转入步骤四。
步骤三:水泵全速启动命令:将PWM输出的占空比改为1,使水泵工作并全速抽水,转入步骤二。
步骤四:判断是否接收到命令:若接收到命令,则转入步骤五;否则转入步骤二。
步骤五:改变水泵流速,转入步骤二。
如图5所示,服务器端包括数据预处理模块、预测模型模块、数据可视化模块以及数据仓库模块;
所述数据预处理模块包括数据清洗、数据转换、数据规约以及临时存储到数据库;
所述预测模型为基于BP神经网络模型建模,包括初始化训练、增量训练以及预测文件管理;
所述数据可视化模块包括百度热力图、监测点经纬度管理、水深等级划分管理、实时数据可视化以及水位预测可视化;
所述数据仓库模块包括历史数据以及增量数据。
如图7所示,上述预测模型的运算过程如下:
(1)、初始权值及阈值初始化;
(2)、学习模式;
(3)、计算隐藏层各单元的输入、输出;
(4)、计算输出层各单元的输入、输出;
(5)、计算隐藏层各单元的一般化误差;
(6)、调整隐藏层至输出层之间的连接权值及输出层各单元的阈值;
(7)、调整输入层至隐藏层之间的连接权值及隐藏层各单元的阈值;
(8)、更新学习模式;
(9)、全部模式训练完,若是未训练完回复至步骤(2);若是训练完,转至步骤(10);
(10)、更新学习次数,若是大于指定误差并小于指定学习次数,回复至步骤(2);若是小于指定误差或大于指定学习次数则结束。
在预测模型模块中,系统在未正式工作之前会通过数据仓库模块管理的历史数据进行BP神经网络建模,用以后面的预测工作。其中BP神经网络模型通过多次迭代达到稳定,将训练好的模型数据存入数据库。实时的数据副本会被作为预测模型的输入,预测后的预测文件一方面被可视化,另一方面可以被用来作为硬件系统工作的指导文件。清洗后的数据又会被作为历史数据添加到数据仓库中,用以增量训练模型,保持预测模型良好的准确率。通过不断的机器训练,让预测模型良性循环,维持模型的高准确率,使之更持久地为用户提供服务。系统正式运行时,服务器首先接收到由硬件传输过来的水位等数据。经过数据预处理模块得到干净的数据。该数据会产生一份副本,数据原件结合经纬度等信息用来实时可视化当前水位情况。副本被用做预测输入,通过预测模块进行水位数据的预测,预测结果通过可视化模块显示在用户界面上。其中,预测数据也会进一步指导硬件控制系统进行相应的工作。
在预处理过程中,Apache服务器对接收到的由于硬件异常、网络传输或服务器异常而产生的缺失、噪声数据进行统一的处理,并继续进行数据的规约和转换,并将其临时存储到MySQL数据库,保证系统下一步处理的数据是安全合法的。对基本实时数据的显示时,采用Weka数据可视化工具,并结合系统给定的水深等级表和百度经纬度逆解析API进行颜色深度的选取和描点绘图,在地图上构建实时水位数据麻点图。
如图6所示,数据存储过程利用Apache服务器将接收到的数据存储到 MySQL数据库,然后进行经纬度解析,利用百度经纬度逆解析API,进一步进行水位预测,该过程由RapidMiner JAVA开源库运行BP神经网络训练模型,实现监测点A水位预测,进一步初始化设备麻点图,再次添加节点设备时才会触发麻点图更新,否则基准地图一直使用初始化地图,进一步进行数据更新,数据更新过程中的批次数据采集频率范围是从一分钟到十分钟,具体数值不定,根据实际需求可以进行调整,也可以手动请求更新,程序默认为五分钟,最后进行图像处理,以颜色情况描述水深程度,R分量越高,则水深越严重。
以上显示和描述了本发明的基本原理、主要特征及优势,本行业技术人员应该了解,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。