基于ZigBee深水网箱环境数据监测系统设计
张国民+舒伟权+吴远红
摘 ?要:设计一个基于ZigBee的海洋深水网箱养殖环境数据监测系统。利用各种传感器,监测网箱中的温度、PH值及溶解氧等水质数据,通过ZigBee无线自组网技术和GPRS网络将数据传输至智能手机终端,并在智能Android手机终端平台实现数据的图像化显示。系统采用ZigBee无线组网技术,配合高性能处理器CC2530、DS18B20等,给出了系统的硬件结构和软件设计方案。系统具有功耗低、组网灵活、可扩展性和实时性强等特点。
关键词:ZigBee ?深水网箱养殖 ?数据传输 ?Android
深水网箱养殖作为海水养殖的一种新的模式,因其高投入、高产出、高效益,逐渐成为我国鱼类养殖的重要方式。而海洋环境的多变性也增加了深水网箱养殖的风险,尤其是环境突变引起网箱周边水质(包括水温、PH值、溶解氧浓度等)的变化。水质的好坏直接或者间接影响到养殖生物的生长发育,直接影响到养殖户的经济效益。传统的有线监控网箱技术,存在着水中布线困难、费时费力、可靠性不高、成本支出高等弊端。随着信息通信技术的发展,一种新型的自组网技术ZigBee技术出现,并被广泛应用到许多场合。本文涉及一种新型的基于ZigBee技术的深水网箱水质数据监测系统,并结合ZigBee和GPRS技术,将监测数据传送到智能终端,方便养殖户了解网箱环境的实时变化和及时采取相应措施。
ZigBee无线自组网
ZigBee是一种用于对数据传输速率要求不高、低功耗、短距离,基于IEEE 802.15.4无线标准无线双线网络通信技术。工作于2.4GHz全球统一的频段,传输距离在10~75m之间,传输速率只有250KB/S一种,所以适合于传感和控制领域。ZigBee具有低功耗、时延短、高容量、可靠、安全等特点,非常适合数量多且集中的局部网络。
从网络结构上看,ZigBee网络可分为星形、树形(簇状)、网状3种模型。其中网状网络结构将ZigBee网络连接成一张网,网络非常健壮,伸缩性好,可以同时通过多条通道进行数据的传输,传输的可靠性也非常强,克服了星形和树形结构的节点之间的数据路由只有唯一的一个路径,易在协调器处造成数据堵塞缺点,将被应用在本设计中。
图1 ? 系统整体结构图
数据采集
1、温度数据采集
温度传感器采用Dallas 半导体公司的DS18B20,它可以通过简单的编程实现9至12位的数字值读取,并且DS18B20与微处理器连接时仅仅需要一条口线就能实现双向通讯。
2、PH数据采集
PH测定采用工业级四线制Ag-AgCl复合玻璃电极。玻璃电极由导电、能渗透H+离子的特殊玻璃膜制成,参比电极由Ag-AgCl制成,在被测水体中两者形成原电池。玻璃电极具有抗干扰性能好、测量精度高等特点。
溶液的温度会影响检测的结果,设计中在软件方面根据溶液实际温度值对PH值进行补偿。设计采用差动输入电路将其转换到标准电信号。差动电路有很好的抗共模干扰噪音的能力,能适应海洋等复杂的环境。
3、溶解氧数据采集
溶解氧测定的方法,相比容量法、比色法、电流法、电导率法等方法,本设计使用的极谱式薄膜电极法具有灵敏度高,响应迅速,测量方法比较简单。在实际情况下,水温和气压会对参数产生影响,设计采用有温度和气压补偿的溶解氧极谱式电极D-811。设计由-5V电源生成-0.7V的极化电压,加在溶解氧传感器的两端,使其产生0.7V的电压差。由于极谱电极的输出电流十分微弱,设计采用差动电流放大电流。
数据传输
1、ZigBee网间传输
系统采用点对点数据传输方式,ZigBee网络内的任意节点之间,都可通过点对点传输指令传输数据。数据传输格式为:0xFD(数据传输指令)+ 0x0A(数据的长度) + 0x73 0x79(目标地址)+ 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x10(数据,共0x0A Byte)。数据接收方接收到来自发送方的全部数据,并在最后增加来源地址,即发送方地址(二个字节),低位在前。例如以0x7973连接至0x1431:0x7973发送的数据为:0xFD 0x0A 0x31 0x14 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x10;则在0x1431端接收到的数据:0xFD 0x0A 0x31 0x14 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x10。
结合ZigBee和GPRS的数据传输系统,包括ZigBee网络和GPRS两部分。ZigBee网络通过网络节点将采集数据以多跳变的方式传送到ZigBee路由节点,路由节点将数据发送到网关,网关进行ZigBee数据包解析,从数据包中提取有效信息数据,进行协议转换和数据包重新封装打包成TCP/IP数据包,经过GPRS模块的数据传输功能进行远距离的传输。
2、GPRS数据传输
GPRS(General Packet Radio Service,通用分组无线服务技术)是在GSM系统基础上采用分组交换技术的数据高速处理技术,支持TCP/IP网络协议。通过在ZigBee协调器处增加GPRS传输模块,在智能手机终端(Andriod APP)同样安置GPRS模块,利用移动运营商的GPRS移动网络,实现数据的远程传输。
软件设计
1、ZigBee模块软件设计
设计采用高性能性片CC2530。CC2530芯片通过串口接收数据,对数据进行处理之后,通过串口和GPRS网络将数据发送到服务器上。程序首先对接收数据的temp寄存器进行判断,如果寄存器非空,就要对寄存器里面的数据送入缓存器中,为空则需要等待数据的再次送入。当数据从串口被送入,数据先被存放在缓存器中,当缓冲器放满之后,就会产生中断,进入中断子程序。子程序将把缓存器中数据放入临时temp寄存器中,当数据超过一定字符数或者遇到特殊字符时,则被认为是一个完整的数据流,temp寄存器将进入发送状态。关闭temp寄存器的接收位功能,将temp寄存器内数据通过串口通过GPRS网络发送至服务器。发送完毕,清空temp寄存器数据,回复接收数据状态,等待数据的传入。程序的流程图如下:
图2 发送主程序和子程序流程图
2、GPRS模块设计
DTU是GPRS数据传输单元的简称,是专门用于将串口数据通过GPRS网络进行无线传输的设备。内部集成TCP/IP协议,可实现双向全透明传输。设计采用DTU T100,在DTU T100处放入一张开通GPRS功能的SIM卡,保证GPRS功能的支持。GPRS通信是通过IP地址寻址,IP地址的变换可能导致连接中断,在设计中对服务器采用静态IP地址,以保证养殖区GPRS模块与服务器连接的畅通。
利用配置软件GPRS DTU参数设置软件V2.6对DTU T100进行参数设置。传输GPRS提供商的密码设置为0,传输接入GPRS服务的APN值设置cmnet(中国移动的APN),SIM卡号为申请的卡的号码,数据中心设置为服务器的静态IP地址。
3、智能终端显示设计
Android是基于liuux2.6以上内核的开源框架,最低层的Linux内核提供了最基本的进程调度、内存管理以及硬件驱动能力。基于Android开发的程序主要包括用户界面开发和网络功能开发两个部分。界面的开发利用Android提供的各种API。而网络开发方面则采用Android的Socket套接字。
图3 ?人机交互界面
结束语
本系统利用ZigBee组网和GPRS无线网络通信,充分考虑到GPRS的远程传输优势和ZigBee协议组网技术灵活方便的优越性。系统架构设计合理,系统功能实现较好,数据信号传输稳定、安全、可靠。利用手持智能手机终端和Android平台,对数据进行图像化显示,有较好的人机交互功能。系统能准确对深水网箱及其周边环境水质进行实时的检测,能在一定程度上减少深水网箱养殖的风险,提高养殖户的经济效益。
参考文献:
[1]王风. 基于CC2530的ZigBee无线传感器网络的设计与实现[D].西安电子科技大学,2012.
[2]吕鑫,王忠. ZigBee无线数据传输模块的设计与实现[J]. 安徽师范大学学报(自然科学版),2010,04:332-335.
[3]柯跃前,黄江福,黄姗明,曾小明. 基于ZigBee模块的海洋网箱养殖环境监测数据传输系统设计[J]. 渔业现代化,2012,05:49-52.
项目:2014年国家级大学生创新训练计划项目支持
(第一、三作者单位:浙江海洋学院数理与信息学院,第二作者单位:浙江国际海运职业技术学院)