【摘要】目前,传统的水产养殖业依然采用人工管理方式,这种模式存在着效率低下、监测周期长等种种弊端.针对这一问题,采用STC15型单片机为控制器,CC1101无线模块作为数据传输载体,设计并研发了一种水产养殖水质监测系统,从而实现了水质信息在传感器节点、路由节点以及汇聚节点之间的交换.汇聚节点通过RS232串口与上位机进行通信,并利用GPRS模块传送至云服务器,用户能够实时查询分析数据.实地测试结果表明,系统的网络平均丢包率为0.34%,pH、电导、溶解氧的平均误差分别为0.53%、1.27%和0.48%,系统具有良好的准确性和重复性,能满足水产养殖水质监测的应用要求.
【关键词】水质监测;无线通信;CC1101芯片;水产养殖
在水产养殖业中,水质情况的好坏决定了水产品的质量的高低[1].在传统的养殖模式中,水质检查采用人工结合仪表的形式开展,但这样存在着时效性和准确性等种种问题,不能实时反映水环境的动态变化.因此,每当水体环境发生突变时,管理者往往来不及采取措施,造成养殖户的巨大损失.采用现场总线方式的水质监测系统存在着布线困难、耗费量大、不易维护等众多问题.特别是在我国众多临海的养殖区域,海水的腐蚀性和恶劣天气对电缆设备和设备维护也是一种巨大的考验[2].而利用无线传感器构成的网络则恰恰避免了这些缺陷,同时还具有智能化程度高、覆盖区域广等优点[3],因此其在水质监测领域的应用日益受到关注.黄建清利用nRF905射频芯片实现了数据的无线传输,构建了对水质环境的实时监测系统[4];梁承美利用ZigBee无线传感技术实现了湖泊水质信息的多点采集,并采用本体技术实现湖泊水质的智能分析诊断[5];郭敏通过GPRSDTU技术将采集到的数据传送到服务器,完成了嵌入式终端接入网络[6].上述文献提及的无线传输频率大都工作于2.4GHz频段,虽然此频段数据传输速率较高,但是传输距离短,衰减大,绕射能力弱.但是临海养殖区域实际工作环境中天气环境恶劣、障碍物较多.而CC1101可工作于433MHz频段,具有长距离数据传输能力,绕过障碍物能力更强,数据传输速率虽然相对较慢,但已能满足使用要求.据此,本文设计了基于CC1101的水质监测系统,并为传感器节点增加了保护措施.
1系统总体方案设计
基于现场情况,系统根据数据传输的逻辑顺序划分为四个部分.如图1,整个系统主要由传感器节点、路由节点、汇聚节点以及上位机管理系统构成.传感器节点位于被测水域,每个传感器节点包含温度(水下温度)、pH、电导、溶解氧四种类型的传感器。传感器节点每隔一段时间从休眠模式中醒来,采集水质信息,传输给路由节点,然后再度进入休眠模式以节省电能.路由节点也位于监测现场,负责将传感器节点采集到的数据传送到汇聚节点.汇聚节点通过RS232串口与上位机进行通信.对于多个子节点和路由节点的通信,可以采取时分复用(TDMA)技术,避免数据同时传输时引发的数据包丢失或混乱[7].上位机软件对接收的数据进行分析、存储和显示.同时汇聚节点通过GPRS模块接入网络,将数据发送至云服务器,用户可以通过电脑等终端设备实时查询数据.
2硬件电路设计
2.1硬件组成模块
无线系统的网络节点包括传感器节点、路由节点和汇聚节点.传感器节点如图2所示,主要由电源模块、处理器模块、无线通信模块和传感器模块组成.和传感器节点相比,路由节点只是减少了传感器模块,汇聚节点增加了串口通信模块.图3则是节点的电路实物图.
2.2电源模块
由于养殖地点位于临海区域,在电源模块设计方面,除了传统的锂电池供电外,还额外增加了太阳能供电功能。当太阳能电池板的电压超过锂电池电压时,将转换为太阳能电池板供电,并同时为锂电池充电,这样将有效地延长系统运行时间.
2.3传感器模块
传感器模块使用两种方式进行数据采集:温度是模拟电压输入,通过A/D采集送至单片机.pH值、电导率和溶解氧三种传感器是通过RS-485信号进行通信,传感器的主要性能指标如表1.这三种传感器是集成化传感器,无需再设计信号调理电路.传感器工作时,数据将通过串口发送针(TXD)、串口接收针(RXD)进行传输.电路中采用SP3485芯片作为低功耗半双工RS485的收发器,与变送器相连接.变送器的接口定义如图4.
2.4无线通信模块
本系统的无线通信模块采用CC1101芯片.CC1101是一款工作频率低于1GHz的超低功耗无线收发器,工作于433MHz频段.如图5,CC1101通过SPI口与单片机相连接.其中,单片机设为主机,CC1101为从机.通过控制CC1101的CSN引脚、SCK引脚、MOSI引脚和MISO引脚来完成片选及SPI时序控制以及数据交换[8].
2.5处理器模块
处理器模块采用STC15W4K56S4系列的单片机为控制器,它采用增强型8051CPU,具有单时钟/机器周期(1T)特性,因此运行速度比普通8051快8~12倍.其片上集成了可工作于主/从模式的SPI串行口,可以便捷地与无线模块实现通信.此外,它还具有低功耗、高可靠、抗干扰等众多特点[9].
3软件设计
3.1传感器通信协议
为了保证传感器的准确性和可靠性,pH、电导、溶解氧三个传感器采用集成化方式,只需要读取测量值即可.传感器和控制器之间采用了标准ModBus-RTU协议进行数据传输.以电导传感器为例,发送命令格式如表2,正确返回格式如表3,如果发生错误响应,将返回表4所示的错误格式.
3.2CC1101通信协议
CC1101数据传输的数据包格式如表5.数据包中的前导码和同步字节由硬件自动添加和去除,数据包长度和目标地址都是可选的,数据区中还可以包含2个状态字节,分别为RSSI(信号质量)、LQI(链路质量)以及CRC标志位.CC1101接收或发送数据时,FIFO中的字节数等于或大于程序设置门限字节数时,GDO0脚的电压将会产生变化.此时,控制器可以通过查询GDO引脚的电平发送或读取FIFO存储器中数据[10].
3.3节点软件设计
根据实地传感器节点到本地监测中心上位机的距离,系统中设置了2个路由节点,称为路由节点1和路由节点2.路由节点1首先接收传感器节点数据,然后将数据发往路由节点2,节点2再将数据发往汇聚节点.汇聚节点通过串口通信将数据传送给上位机软件,此外利用GPRS模块,数据还能传输到云服务器上,用户通过APP等终端可以远程查询实时情况.为降低系统功耗,传感器节点在发送完数据后,将立即关闭传感器电源;路由节点则在每次采集完数据之后也进入休眠状态,等待下次数据采集时刻再唤醒.传感器节点数据发送流程如图6.路由节点的软件运行流程如图7.传感器节点每隔10min发送一个数据包.为防止接收不到数据包,可以将路由节点的接收时间提前20ms,每次传输完数据后,各节点均进行计时校准,防止累计偏差.当传感器节点由于某些原因丢包时,路由节点将在下次接收时自动拉长接收时间,将接收时间设置为超过一个周期.如此时仍然接收不到数据,则认为传感器节点工作失效或传输距离超过阈值,此时从接收列表中删除该终端.当存在多个传感器节点发送数据时,为防止节点同时传输数据引起数据包丢失或混乱,系统采用时分复用(TDMA)技术,如图8.通过这种技术,路由节点能够在同样的频率信道上,将提供给整个信道的传输时间划分成不同的时隙,时隙分配给每一个信号源使用.由此不同传感器节点发送出来的信号将会在时间轴上互不重叠,确保信号的有序地接收.
3.4上位机软件设计
上位机管理界面采用C#语言进行开发,实现数据的采集和显示.如图9,利用C#自带的se-rialport控件可以方便地对串口中缓存的数据进行读取.而利用ADO.net技术,可以将接收的数据写入MySQL数据库中进行保存,便于之后的数据查询和建模分析[11].
4外观结构设计
由于测试地点是在临海地区,环境的恶劣程度和海水的腐蚀性远远超过淡水区域,因此有必要对传感器节点设计一套完整的保护结构.传感器节点外观结构如图10.传感器的外形如同一个球型,风浪不会使其颠覆或者沉没.上半球为透明塑料,便于太阳能电池采光和无线信号发射.下半球采用铝材加工,以减缓海水腐蚀,中间用O型圈密封.球体内部放置电木板,电木板上固定住电池和PCB板.球体底部开孔,并采用防水插件连接传感器.在球体底部可以挂配重物以保持结构稳定.该结构移动方便,结构简单,信号传输稳定,防水密封性能好.
5系统测试
为了验证系统的稳定性和准确性,在宁波象山的梭子蟹养殖基地进行了实地测试.测试期为3个月,在海水腐蚀与台风等恶劣环境下,系统的各个节点均能在无人照看的情况下长时间正常工作.测试期间的网络平均丢包率如表6.利用OMEGA公司的PHH222型pH计、DOH-SD1型溶解氧以及CDH221型电导率测量仪,分别对系统的pH、溶解氧、电导率传感器的相对误差做了测定,结果分别如表6和表7.测试结果显示,无线数据的实际传输距离能够稳定在1000m左右,网络的平均丢包率为0.34%,pH、溶解氧、电导率传感器的相对误差分别为0.53%、1.27%和0.48%.这表明这套系统能够有效地取代人工管理模式,具有较好的推广前景.
6结语
开发了一种水产养殖水质监测系统,利用CC1101构成无线传感网络,通过STC15型单片机进行控制,其中传感器节点采集温度、pH、溶解氧等数据,通过路由节点中转,汇聚节点能够通过RS232串口将数据送至上位机进行实时显示,也能利用GPRS模块接入网络,利用云服务器储存.目前系统设计还存在不足之处,在现有研究的基础上,将对结构设计、用户终端如APP开发等方面做出进一步的扩展和改善.
作者:赵军 陈栋 孔明 郭天太 单位:中国计量大学 计量测试工程学院