0 引 言
我国作为一个水资源缺乏的国家,水资源应该得到充分合理的利用,水文参数监测是水资源合理利用的基础,水域水文参数资料涉及到我国的核心经济利 益。相比于国外的水文监测工作而言,国内水文监测还处于起步阶段。目前的水文监测工作还是采用比较原始的工作方式,即人工采样, 采用手持便携式监测仪或实验室分析。这种工作方式存在采样频率低、无法实时监控、不能反映水体水质参数的连续动态变化等缺点。同时,由于水文参数监测( 如溶解氧、PH 值等) 往往存在分布范围广、不易到达、取样时间不固定、取样困难等特点[1],采用现有人工取样、有线或者无线组网等方式组成测试系统通常都会存在施工困难,维 护保障不容易,以及升级困难等弱点。
随着网络技术和通信技术的快速发展,物联网技术由于其短距离传输、低复杂度、低功耗、自组网等特点,被广泛应用在工业控制环境检测与预报、建筑 物状态监控、医疗护理、智能家居、空间探索以及军事等领域。物联网终端节点成本低廉,可以很方便地实现不同水域部署,并能保证数据采集的广度和精度,可为 大范围水文资料监测提供数据基础[2]。为此,针对水文参数总体及局部监测的需求,本文提出了以水文参数检测传感器作为终端测试节点,以物联网技术作为通 信平台,并以Linux 系统作为软件基础平台来构建水文参数监测系统,从而实现对区域水文参数的远程实时检测。
1 硬件监测平台构建
基于物联网技术的水文参数监测系统的硬件架构主要包括水文参数终端节点( 水温测试、溶解氧测试等)、网关路由节点( 中心网关、边缘网关)、远程中心监控节点等三个主要部分, 每种节点完成不同的功能。基于物联网技术的水文参数监测系统与传统水文参数监测系统的不同,主要表现在新的水文监测系统的终端节点的电源管理、网络路由算 法、网络通信协议以及中心监控软件系统的不同。基于物联网技术的水文监测系统结合了最新网络技术和水文参数监测技术,通信工作频段兼顾了中国和国际标准, 主要包括780
图1 水文监测物联网系统拓扑图
在基于物联网的水文监测系统中,终端节点由许多功能相同或不同的水文监测传感器节点组成,水文监测传感器是整个监测系统的硬件基础,可用于实现多种水文参数的检测。目前的系统设计中包括水温(Campbell 公司的109 温度传感器)、水位( 压力式水位传感器)、PH 值(CS525)、溶解氧(Hamilton公司的243111-OXYGOLD G ARC 225 溶解氧传感器),并预留了其它水文参数测试的软硬件终端接口,如流速、浑浊度等参数。终端节点通过传感器可将水文参数转变为数据调制信号,然后对射频信号进行调制,并产生已调信号,然后将已调信号通过终端节点的天线发送到网关节点进行数据的融合和汇聚。
每一个水文监测终端节点都包含数据采集模块( 传感器,在本系统设计中主要指水温、水位、PH 值、溶解氧传感器)、数据处理和控制模块( 微处理器、存储器)、通信模块( 无线收发器) 和供电模块,主要设计要求是低功耗,高可靠性,具有自组网功能。由于终端节点体积小,因而电源容量也非常有限,从而在设计中必须充分考虑到节点的节能优化 技术,提高单位节点的工作时间,节省节点的能耗以及采用合理的网络协议。在设计中综合考量终端节点的可靠性、经济成本等多方面因素,终端节点可采用 Chipcon 公司的CC2430 芯片作为控制核心,该芯片以IEEE 802. 15. 4 协议为基础,整合了射频(RF) 前端、内存和微控制器[5], 在本系统中可分别对水温、水位、PH 值、溶解氧等水文参数传感器进行控制,并最终实现参数测试。同时,也可以根据需要进行其他参数测试,所需要的工作只是加入不同的水文参数测试终端节点而 已。
网关路由节点用于实现整个水文监测物联网区域子网段的自协调组网以及信息处理。在水文监测物联网建立过程中,因具体应用环境不同,其工作测试的 重点也不同,故对不同的子网段,需要单独进行设置。首先应由各个网关节点初始化该段子网,以避免各个终端节点之间的相互干扰,以及与其他工作相同频道设备 间的信号干扰。网关节点通过给每个终端节点网络指定不同的物理地址来区分不同节点,当整个网络应用后,网关节点会定时发送查询命令,在发现新的网络节点 后,系统会自动加入网络节点列表,同时发送新的路由表。
除具有自组网特点外,网关节点还负责第一步的信息分析及处理,并将处理后的数据存储到嵌入式数据库以备查询。网关节点通常个数有限,一般对功耗要求不严格,可以采用多种通信方式与其他网络节点进行通信( 如Internet、卫星或移动通信网络等)。在水文监测物联网系统中采用星型拓扑设计,可以在一个较大的水域范围内设置中心网关路由节点,以分别实现对边缘网关节点的水文数据包信号的中继和转发[6]。
远程中心监控节点是整个系统的管理中枢,用于汇集并处理各区域的水文参数,并根据分析结果提出不同的合理化建议,主要完成数据的存储与处理、数据的可视化、物联网的管理功能。其硬件组成主要是大规模的磁盘阵列以及高性能的工作站服务器。
在整个水文监测系统硬件部署、软件参数设置完成后,就可以对部署了终端传感器节点的水区域进行水文参数的主动监测。其具体流程如下:
(1) 远程监控中心发出控制指令,通过网关节点,启动激活终端传感器节点进行水文参数检测。
(2) 终端节点处理器收到指令后,由主处理器对命令进行解码。若节点地址与控制指令中的地址一致,则启动传感器进行水文参数采集,并将最终采集到的数据传送给节 点处理器。节点主处理器捕获到测量数据后,再进行相关数据的分析、融合,并将水文数据打包成符合6LoWPAN协议标准的数据帧,然后加入包头、节点编号 等信息后送到射频模块进行数据的发射,同时也可在该节点实现其他节点的路由转发。
(3) 中心节点汇聚各个终端节点参数,发出相应控制指令。
2 软件系统集成及设计
水文监测系统的管理功能比较复杂,任务多样,需要监测的水文参数种类多,仅目前就包括水温、水位、PH 值等参数测试,而且为了今后的拓展,还必须为今后其他水文参数测试预留软件接口。同时,水文参数测试结果的通信方式的种类差异也较大,软件设计涉及大量的 网络通信程序设计以及数据库设计管理工作。为便于不同模块的接口,软件设计整体应采用一致性、模块化设计。所有节点开发和应用平台可选用Linux 操作系统,因为Linux 系统成熟稳定、源代码开放,尤其在网络通信方面有其独到的优势。终端节点由于其节电性方面的要求,可采用裁剪后的最小嵌入式Linux 操作系统,网关节点采用普通嵌入式Linux 操作系统,而中心节点则采用完整的Linux 系统,这种软件平台架构保证了整个系统的软件一致性,以便于以后的保障和维护。
2.1 终端节点的软件设计
终端节点的硬件平台主要包括核心控制器、I/O 接口、存储模块及射频收发模块等,其硬件构成决定了终端节点采用裁剪后的最小嵌入式Linux 操作系统比较符合终端节点特性。同时,由于终端节点以及物联网组网的特殊性,其通信协议不可能采用完整的IP 协议栈,而必须采用修改后能适用本系统的网络协议栈来实现报文的分片和重组、报头压缩和地址自动配置、组播和安全。协议栈数据帧格式符合 IEEE802.15.4,其水文参数测试协议帧格式如图2 所示,其中MAC 负载部分包括上层协议帧控制信息、水文参数、传感器节点号等信息。
图2 水文参数测试协议帧格式
作为终端节点,软件节能设计是其中的一个重要考虑。为了避免节点频繁进入暂停工作等待充电的工作模式,减少无用数据的采集和传输,传感器节点采 用基于阈值的工作方式:当监测数据的大小在报告阈值以内时,不予发送,当监测数据的大小超过报告阈值而在告警阈值以内时,以较长的周期循环报告实时数据; 当监测数据的大小超过告警阈值时,以较短的周期循环报告实时数据。这样的工作方式既保证了关键实时数据的可靠获取,又减少了频繁发送无用数据的能量消耗。
2.2 水文监控中心软件设计
水文监控中心应用软件的设计目标是尽可能地使得系统友好,使用户操作简单直观,对险情或者异常情况表示及告警明显。在方案设计中,上层部分不但 需要提供给用户与系统交互能力相适应的界面,还需要提供对水文参数进行归纳、综合分析等功能的实现模块以及与底层交互的通讯模块。
基于设计目标的要求,其监控中心的软件平台设计采用B/S 架构,应用界面程序部分和核心平台之间采用多种耦合方式。核心平台可以作为界面的一个功能模块DLL 嵌入上层直接调用底层库函数,也可以把核心平台单独作为一个独立的进程,二者之间通过操作系统提供的进程间的管道机制实现通信。监控中心应用程序通过核心 平台实现对水文监测网络的管理,并启动终端水文监测节点来采样区域水文资料。监控中心在收集到由路由节点转发来的水文采样数据之后,可将数据存储于后台数 据库中,同时提供用户界面对水文参数进行分析处理,并采用图形方式进行显示,最终根据分析结果进行视觉或声响告警。系统应用程序主要包括文件处理模块、系 统配置模块、分析处理模块以及告警模块等4 个功能模块。监控中心软件系统平台采用Linux 系统, 存储数据库则采用ORACLE 大型关系数据库[7-8]。
通过文件功能模块可以实现对数据的存储、调取以及打印等功能,也可以保存设置应用程序工作环境参数等功能,同时可实现对数据的永久性存储,以便于后期数据的综合化处理。
配置功能模块采用图形化的方式实现对系统节点、整个系统的网络路由以及终端传感器的参数设置,从而达到对整个水文监测系统的硬件和软件配置,包括应用程序启动时对硬件的检测以及检测通过后初始化测试所需要的软硬件环境。
分析处理模块是整个监控中心的核心模块,主要包括水文数据的分析、归类、比较、模型建立、数据归一化处理以及对数据曲线进行描绘和显示等功能。大致的功能包括下列4 个方面:
(1) 结合地理信息系统,将所有终端节点的位置及其实时数据显示在地图上,这样可实现监测者快速定位水文终端节点地理坐标,全局监测整个水域的水文信息情况;
(2) 以时间坐标为基轴,将所有终端节点的历史或实时数据显示在以时间为横轴的曲线图上,以便于监测者分析一段时间内水文参数的变化情况,进而结合其他监测信息分析发生的原因,完善预警机制;
(3) 基于节点标识的展示,对所有节点按网络内的标识大小进行整体的实时数据和节点状态显示,以便监测者抽取导出监测数据,同时观察节点异常状态,对整个网络系统进行及时有效地维护;
(4) 建立水文参数模型,构建参数预测模型,建立专家系统,提供领导决策科学依据。告警功能模块可实现对水文参数的异常情况的报警,主要实现异常节点的快速定 位、进行声光报警提示以及按照设定策略进行异常处理。报警的方式主要包括在图形界面上快速闪烁红色告警提示信息,通过扬声器发出告警提示声音[9]。其软 件整体结构如图3 所示。
图3 水文监控中心软件整体框
3 系统评估
在基于物联网技术的水文监测系统中,由于大量水文采样终端节点被部署于不同的水文区域,各个终端节点间以无线自组织方式构成网络,通信方式采用 的是无线通信。由于无线信号传输存在由反射、衍射所引起的多径效应,加上节点所处环境复杂,因而导致网络通信质量受到严重影响,网络节点间通信存在较大的 不稳定性。这种情况有可能导致整个水文监测系统无法稳定的工作,采集到的水文数据不能及时、准确地传输给监控中心进行分析决策[10]。
因此,在系统成功组建后,为了保证整个系统高效、稳定地运行,还需要对整个监测系统进行评估,主要包括对终端水文采样模块物理性能的评估、网络物理层参数的评估、数据链路层参数评估、网络层参数评估、监控中心分析软件的性能评估等,并依据评估的结果采取相关策略。
国内外对基于物联网系统的项目在评估方面进行了大量研究,并取得了很好的应用效果。评估方法主要包括基于通信链路特性的评估方法、基于测试参数 的评估方法、结合多因素的综合评估方法等,这些评估测量手段都值得进行借鉴和参考。具体到本项目的系统评估,则包括对终端节点的射频参数测试评估、采样水 文参数精度和可靠性评估以及整个网络的通信质量和网络生命周期的评估。只有整个网络都达到了设计的预期目标,系统所测试的水文参数才是真实和可靠的,才能 用于实际的工程中。
4 结 语
基于物联网技术的水文监测系统组网灵活, 物理限制条件宽松,能够很容易地实现水文参数测试布网,在本项目中可以很方便地实现对水温、PH 值、水位、溶解氧等参数的测试,也可以很方便地通过增加网络终端节点而不用改变系统总体结构来满足对某一宽广水域( 如河流的河段、湖泊、水库海水养殖水域等) 的水文进行在线实时监测。通过航空布网,也可以实现对某些人员不易到达的区域进行物联网构建,从而达到对水文情况进行实行远程监测。这一点对于减灾监测方面,尤其具有重要的作用。