1 系统结构及组成
系统采用两级结构:数据采集层和数据汇聚层。数据采集层具有采集和传输功能,负责采集监测区域内数据并选择有效的路由将数据传输到汇聚层;数据汇聚层具有数据汇集、封装、传输功能,汇聚不同通道的数据,根据通信协议封装原始数据并发送出去。
基于无线传感器网络的河流自动监测站由无线传感器网络和自动监测站组成,分别实现数据采集和数据汇聚功能。系统组成如图1所示。
无线传感器节点具有可扩展、易部署的特点。可以根据监测方案的需求,携带不同的水文、水质传感器,部署在河流监测断面及沿岸。这些节点以自组织的方式形成多跳网络,监测信息以逐跳传递到自动监测站的汇聚节点。自动监测站由汇聚节点和RTU组成,是整个河流监测系统的通信枢纽。自动监测站接收无线传感器网络发送的河流信息,并传输到各级主控中心;接收控制中心命令,启动无线传感器网络并监测网络运行状况。
2 无线传感器网络
无线传感器网络作为原有自动监测站的一路扩充信号,可以根据需求调整节点部署位置和密度,提高原有监测站的监测范围和灵活度。无线传感器网络设计包括节点硬件设计、软件设计以及路由协议三个方面。
2.1 节点硬件
传感器节点是无线传感器网络的基本组成单元,并且实现网络终端和路由器双重功能。节点一般具备信息采集、数据存储和简单处理、无线通信功能,并且可以与其他无线传感器节点协作,完成指定的任务。传感器节点通常由处理器模块、传感器模块、无线通信模块和电源模块组成。
处理器是硬件平台的核心,负责节点各个模块的控制,数据处理和传输等重要任务。无线传感器节点的处理器应具有功耗低、集成度高、性能良好、成本低的特点。ATmega公司开发的ATmega128L是一款低功耗、高性能的AVR 8位芯片。内部有128 KB的系统内可编程FLASH,适合反复烧写程序。该芯片提供电源管理及睡眠模式,可以通过寄存器设置关闭MUC不使用的模块,方便实现节点在休眠和工作状态的切换,
降低能耗。可提供8个通道的10位ADC转换功能以及外部中断功能,便于外部扩展。
传感器模块的选择依据水文、水质常规监测项,主要包括水位、雨量、流速、含氧量、pH值等。由于节点部署在户外,要考虑到能量供应、寿命等因素选择低功耗,稳定性好的传感器。设计中使用了雨量传感器与水位传感器。
Delta-T Devices生产的RG2翻斗式雨量传感器的工作原理是,在计量翻斗承受的降水量到一定量(0.2 mm)时,计量翻斗会把降水倾倒至计数翻斗,计数翻斗翻转一次送出一个开关信号。雨量计提供两根连接线,一根线和电源相连,另一根是信号线。传感器的信号线与处理器的INT1引脚连接。
雨量传感器提供数字量输出,因此使用处理器提供的外部中断方式采集信号。ATmega128L的中断可以由下降沿、上升沿,或者是低电平触发,设置外部中断寄存器EICRA的ISC11位和ISC10位均为1,即开启INT1引脚的上升沿异步中断请求。SREG寄存器的1标志位以及外部中断屏蔽寄存器EMISK的INT1置1,当INT1引脚产生电平跳变时,雨量计产生一个量程式触发中断。
水位传感器采用GIobal Water的WL400水位传感器。它适合用于严酷外部环境,具有极好的线性和较弱的滞后效应,能够及时监测到微小的水位变化,提供4~20 mA电流输出,温度与电压自动补偿。该传感器接口简单,总共有两个引脚,分别是电源和信号输出。由于ATmega128 L的ADC端口是对电压信号采样,因此先使用转换电路将传感器的输出信号转换为0.5~2.5 V的平稳电压信号。将转化后的电压信号与芯片的ADC引脚相连,通过软件编程对相应引脚采样读取水位值。
无线传感器网络工作时,能量消耗主要由节点间通信产生。因此通信芯片的性能、功耗对整体能量消耗、网络寿命至关重要。TIChipeon公司生产的CC2420芯片具有低电压、低功耗的特点,使用IEEE 802.15.4协议能确保短距离通信的可靠性。CC2420芯片通过SPI针脚与处理器连接,处理器工作在主机模式,CC2420则是从设备。
2.2 节点软件设计
考虑到传感器网络本身特性和应用需求,传感器网络部分软件开发采用专门研发的TinyOS操作系统。其模块化设计降低了程序规模,适用于存储资源少和处理能力有限的传感器。TinyOS采用事件驱动模式,任务队列为空时,节点处于休眠状态,有效降低能量消耗。TinyOS支持的nesC语言是对C语言的扩展,实现了组件化/模块化思想与事件驱动执行模型的结合,开发方便。
采集节点的软件流程如图2所示。
系统上电后首先完成各个模块的初始化及对通信模块、外围电路、电源的检测等。因要采集节点的数字信号和模拟信号,因此分别采用中断和轮询两种方式采集感知信号。节点启动后,设置外部中断寄存器开启外部中断,设置INT1引脚的中断为上升沿触发,以中断方式记录数字传感器的感知事件。连接模拟传感器的节点启动后开启Timer,当时间Timer.fire()触发抛出Datdtask()任务,进行ADC采样、封装数据并将数据包发送到簇头节点。
2.3 路由协议
河流监测属于数据聚集应用,是无线传感器网络的一类重要应用模式。网络的惟一目的节点是汇聚节点,所有监测节点的数据都要发送到汇聚节点。因此设计中选用LEPS(Link Estimation and Parent Select)协议,适用于数据聚集应用的TinyOS多跳路由协议。
LEPS路由协议建立以汇聚节点为根节点的树形拓扑,每个节点维护自己与邻居节点间的双向链路质量评估,并以此为依据选择链路质量最好、跳数最小的邻居节点作为父节点。数据转发时网路层应用程序根据LEPS路由协议完成路由决策,选择有效路径将数据传输到汇聚节点。
3 自动监测站设计
自动监测站在原有河流监测系统中只负责数据采集,而基于无线传感器网络的河流监测系统中的自动监测站既要实现原有的数据采集功能,还要充当无线传感器网络的网关实现协议转换和通信功能。
3.1 自动监测站硬件设计
自动监测站位于整个监测系统的中部,是信息传递的枢纽。负责启动、配置监测网络,协调无线传感器网络和原有自动监测,实现Zig-Bee无线协议与RTU通信协议之间的转换。
自动监测站处理大量监测数据和命令,因此设计中考虑到稳定性、可靠性等因素,自动监测站的汇聚节点使用Micaz节点。其51针扩展接口能够连接I2C,SPI,UART等接口,易与其他设备连接,射频模块还具有高速传输速率和加密功能。将Micaz节点与Mib510板连接即可以构成一个提供RS 232接口的基站。
RTU是自动监测站的核心设备,既要作为原有系统的数据采集器,还要承担无限传感器网络的网管功能。SIXNET的IPm2m RTU嵌入Linux系统,具有高级编程能力,并具有数据记录功能。接口丰富,不仅提供数字模拟混合I/O,还有RS 232,RS 485,以太网接口各一个。设计中RS 232接口用于和上层的PC机连接。RTU则通过RS 485接口与汇聚节点连接,RTU工作在主机状态,整个无线传感器网络则可看作从设备。
3.2 自动监测站软件设计
自动监测站的主要功能就是实现协议间的转换,将无线传感器网络的数据包格式解析成RTU数据格式并进行存储。
无线传感器网络中传输的主动消息包内容包括地址(Destination Address)、句柄ID(Handler ID)、组ID(group ID)、消息长度(Message Length)和有效数据载荷(Payload)。其中最大长度(29 B)的有效数据载荷中保存监测数据及源节点号这些重要信息。RTU通信消息格式包括包长、源地址、CRC校验位等固定部分,其中数据域内容包括消息类型、寄存器起始地址、占用寄存器的大小。数据域的大小可以根据需要进行调整。
自动监测站接收来自无线传感器网的所有主动消息包,剔除冗余信息提取有效数据,判断数据是否有效,无效则抛弃该数据包,有效则存储到RTU消息包的数据域,完成数据的二次封装,并将数据包发送到主控中心。软件流程如图3所示。
4 结论
无线传感器网络具有低成本、低功耗、与应用相关、便于部署等特点。适于在恶劣、复杂环境下完成目标监测、跟踪等功能,因此在环境监测,战场目标跟踪方面具有广泛前景。将无线传感器网络与原有河流监测系统结合能够扩大监测范围和精度。在下一步工作中将优化网络,提高网络的监测效率。