水产养殖远程监测系统的设计
2018-01-02易先军桑青松
易先军,桑青松,聂 童,彭 萌
武汉工程大学电气信息学院,湖北 武汉 430205
水产养殖远程监测系统的设计
易先军,桑青松,聂 童,彭 萌
武汉工程大学电气信息学院,湖北 武汉 430205
设计了一种可以在手机或PC端实时监测的水产养殖远程监测系统.该系统由数据集采中心、检测节点、云端服务器和监测端Android App或PC浏览器构成.检测节点负责采集数据和接受命令,通过ZigBee无线网络与数据集采中心交换信息;数据集采中心一方面从ZigBee网络中读取数据并在现场显示,另一方面通过GPRS与云端服务器进行通信;云端服务器能够存储安装在便携式设备上的App或PC浏览器显示的数据.相比于传统的水产养殖,这个系统不受时间、地域、环境、距离等因数的限制,可全天候不间断地稳定地远程监测多个水产养殖场.
水产养殖;远程监测;App;ZigBee;GPRS
随着科学技术的高速发展,远程监测技术已成为重要的监测技术之一,并且对促进经济发展具有重要的现实意义[1-2].目前的水产养殖大多处于人工采样、现场显示、化学分析监测阶段,操作耗时费力、实时性不强[3-5].鉴于此,设计了一种基于物联网的水产养殖远程监测系统,以ZigBee无线局域网内各节点采集各养殖池的水质参数,以STM32F103为主处理器结合GPRS(general packet radio service,GPRS)技术将ZigBee网络收集的数据上传云端,通过监测端Android App(application,App)或 PC(personal computer,PC)浏览器进行远程监测,可以为养殖业提供方便、快捷、智能的服务.
1 系统结构及工作原理
水产养殖远程监测系统包括数据集采中心、多个检测节点、云端服务器、监测端App或PC浏览器,水产养殖远程监测系统的结构如图1所示.
图1 水产养殖远程监测系统Fig.1 Rmote monitoring system of aquaculture
数据集采中心是由单片机模块、ZigBee模块(协调器节点)、GPRS模块、显示模块组成.数据集采中心主要完成的功能是云端服务器与检测节点之间的数据转发、信息显示、报警提醒以及采集周期修改命令.检测节点是由单片机模块、ZigBee模块(终端节点)、温度传感器、溶解氧传感器、pH值传感器和相关硬件电路组成,主要的功能是将采集的养殖水池内水温、含氧量和pH值通过ZigBee传输到数据集采中心,并接受数据集采中心下发的(采样周期修改)命令;另一方面,多个检测节点和数据集采中心的ZigBee协调器一起构建ZigBee无线局域网.云端服务器选择移动物联网开放平台OneNet存储数据.通过Android App或PC端浏览器,查看水质数据.
2 硬件设计
2.1 数据集采中心硬件
数据集采中心硬件电路图如图2所示,结构包括STM32F103ZET6单片机、ZigBee模块、显示模块、GPRS模块组成.数据集采中心在整个系统中,负责无线局域网与云端服务器的数据转发、报警与显示,以及组建ZigBee无线局域网.
1)ZigBee模块在数据集采中心起到数据收发和组建ZigBee无线局域网的作用.在ZigBee网络中有三类基本节点模式:协调器、路由、终端[6].协调器节点在整个网络中起到启动网络、分配网络地址,接收数据和允许终端节点或路由节点加入网络等功能.终端节点在整个网络中起到收发数据和加入网络的功能[7-8].系统中采用的ZigBee模块为TI公司的CC2530芯片方案.ZigBee网络结构采用星型网络,将数据集采中心的ZigBee模块设置为协调器节点,检测节点的ZigBee模块设置为终端节点[9].
图2 数据集采中心硬件电路图Fig.2 Hardware circuit diagram of data collection center
2)显示模块在数据集采中心起到显示检测节点数据的作用.STM32单片机将接收到的数据显示在显示模块上.显示模块使用LCD12864,下设两级菜单.一级菜单为养殖水池的选择,用于选择一个养殖池;二级菜单将会显示所选养殖池的温度、pH值、含氧量的信息.
3)GPRS模块在数据集采中心起到与云端数据传输的作用.GPRS模块通过AT指令与云端服务器建立连接,然后与云端服务器进行数据传输.GPRS模块使用SIMCOM有限公司提供的SIM900A,其内嵌TCP/IP协议[10].
2.2 检测节点硬件
检测节点硬件电路图如图3所示,结构包括STM32F103单片机、ZigBee模块、温度传感器、pH值传感器、溶解氧传感器、pH值检测电路、溶解氧检测电路;主要完成数据的采集、数据收发和协助组建无线局域网.微处理器采用了与数据集采中心相同的芯片STM32ZET6.ZigBee模块工作在终端模式.养殖水池水温检测使用DALLAS半导体公司生产的DS18B20温度传感器,pH值检测使用上海雷磁公司生产的E-201-C型pH复合电极,含氧量检测使用RY952溶解氧传感器[11-14].
图3 检测节点硬件电路图Fig.3 Hardware circuit diagram of detection node
3 软件设计
3.1 检测节点软件
检测节点流程图如图4所示,检测节点上电,系统初始化,ZigBee模块作为终端加入ZigBee网络,单片机判断有无来自数据集采中心的修改数据采集周期命令,如果没有接到命令,则按照预设的数据采集时间,进行温度、含氧量和pH值的采集,然后将数据通过ZigBee网络发送到数据集采中心.如果有收到修改数据采集周期命令,调用SetTime()函数修改数据采集周期.
3.2 云端数据接入
本文的云端服务器使用中移动物联网开放平台OneNet.OneNet是中移物联网有限公司基于物联网技术和产业特点打造的开放平台和生态环境,适配各种网络环境和协议类型,支持各类传感器和智能硬件的快速接入和大数据服务,提供丰富的API和应用模板以支持各类行业应用和智能硬件的开发,推进个性化应用系统构建[15-16].接入OneNet之前,需要在OneNet平台注册账户,设计中注册的设备ID为“3168916”,设备ID下面申请的 api-key为“tRR1w9I44g2FeHWFvYMwRZ8SQKA=”.
图4 检测节点流程图Fig.4 Schematic diagram of detection node
3.2.1 数据集采中心接入云端 数据集采中心接入云端采用GPRS模块(型号为SIM900A),GPRS模块通过AT指令连接云端服务器.STM32单片机通过UART串口通信读取ZigBee模块接收到的数据,一方面判断采集的温度、含氧量和pH值是否在预设值范围内,如果在预设值范围内就调用LCD_ShowString()函数将数据显示出来,如果有一种数据(温度、含氧量或pH值)不在预设值范围内,就调用jingbao()函数进行报警提醒LED灯闪烁3s,同时将数据显示在显示模块上,当有按键按下时,STM32单片机会通过Key_Scan()函数来判断是什么按键功能按下,再进行不同的功能执行;另一方面STM32单片机将数据按照RestFul的封装结构进行上传至云端服务器,RestFul的封装格式如下:
POST/devices/3168916/datapoints?type=3 HTTP/1.1
api-key:tRR1w9l44g2FeHWFvYMwRZ8SQKA=
Host:api.heclouds.com
Conneltion:close
Content-Length:49
{"temprature":22.3,"oxygen content":6.1,"pH":7.3}
3.2.2 App接入云端 App使用开发环境为Android SDK+Eclipse+JDK.App与云端服务器之间采用HTTP(hyperText transfer protocol,HTTP)通 信 方法,通过HTTP的协议向云端服务器发送GET和POST请求.服务器接收请求,将请求的相关数据回传给Android App.获取的数据包格式是JSON(javaScript object notation,JSON),它是一种轻量级的数据交换格式,通过此格式可以更加有效地进行数据交互.然后将数据显示到App监测界面上,实现水产养殖水池水质的远程查看.
4 数据传输测试
将水产养殖远程监测系统的检测节点传感器放入水池中采集数据.数据集采中心的ZigBee模块组建ZigBee网络.网络组建成功后,检测节点采集数据,然后通过ZigBee网络将数据传输到数据集采中心;数据集采中心将数据显示在显示模块,当数据(温度、含氧量或pH值)超过预设的警戒值时,将进行报警提醒;同时将数据上传到云端服务器,云端服务器存储数据.通过Android App或PC端浏览器来显示云端服务器中数据,PC端浏览器打开的监测界面(由OneNet提供的应用孵化器创建)如图5所示(温度为实测值,含氧量和pH值为模拟数据),App监测界面如图6所示.
由图5和图6可知,本系统可以对水产养殖水池里的水质进行连续采集数据,同时可以在浏览器或App上显示实时采集的数据,实现了水产养殖的实时远程监测.
图5 PC端浏览器打开的界面Fig.5 Interface of PC browser
图6 App监测界面Fig.6 Interface of App monitoring
5 结 语
上述水产养殖远程监测系统,能够实时的进行远程监测养殖场水池里的水质.所设计的检测节点和数据集采中心硬件模块电路和相应的软件控制流程,实现了检测节点、数据集采中心、云端以及Android App之间的无线数据传输,开发了Android App应用软件.最后对此系统进行测试.经测试,此系统能够实时远程监测养殖场水池里的水质.但还可在如何提高水产养殖检测的灵敏度以及丰富App软件的数据分析功能上作进一步的改进.
[1] 刘丹.小型多参数海洋环境监测浮标系统研究[D].上海:上海海洋大学,2012.
[2] 王德玉.基于物联网的电梯状态远程监测与控制系统设计与实现[D].哈尔滨:哈尔滨工业大学,2016.
[3] 孔蕊.基于物联网的温室环境监测系统研究[D].保定:河北农业大学,2013.
[4] 蔡加豪.基于物联网的水产养殖监控系统的设计与研究[D].长沙:湖南师范大学,2016.
[5] MAYA I,MICHIHISA I,MASAHIKO S,et al.Remote monitoring of agricultural robot using web application[J].IFAC Proceedings Volumes,2013,46(18):138-142.
[6] 李敏.基于安卓与ZigBee技术的室内智能家居系统设计[D].广州:广东工业大学,2016.
[7] 王子维.基于zigbee技术的智能温室大棚监控系统设计与实现[D].武汉:华中师范大学,2016.
[8] 高礼.基于ARM和ZigBee技术的智能家居系统的设计与研究[D].淮南:安徽理工大学,2016.
[9] ZHANG Y,LIU X,GENG X,etal.IotForest environmentalfactors collection platform based on zigbee[J].Cybernetics and Information Technologies,2015,14(5):51-62.
[10] 霍涛,贾振堂.基于STM32和SIM900A的无线通信模块设计与实现[J].电子设计工程,2014,23(7):106-110.HUO T,JIA Z T.Design and implementation of wireless communication module is based on STM32 and SIM900A[J].Electronic Design Engineering,2014,23(7):106-110.
[11] 刘璋.STM32单片机在室内环境监测系统中的运用研究[J].数字技术与应用,2016,(2):20.LIU Z. The research of STM32 single chip microcomputer in indoor environmentmonitoring system[J].Digital Technology and Applications,2016(2):20.
[12] 王莹.水温检测控制系统研制[D].西安:西安石油大学,2010.
[13] 蔡晓炜.智能在线pH检测记录仪的研究和设计[D].杭州:浙江工业大学,2009.
[14] 李慧,刘星桥,李景,等.基于物联网Android平台的水产养殖远程监控系统[J].农业工程学报,2013,29(13):175-181.LI H,LIU X Q,LI J,et al.Remote monitoring system foraquaculture based on Internetofthings and Android platform [J]. Journal of Agricultural Engineering,2013,29(13):175-181.
[15] 侯杰林,张青春,符骏.基于OneNet平台的水质远程监测系统设计[J].淮阴工学院学报,2016,25(3):10-13.HOU J L,ZHANG Q C,FU J.Design of water quality remote monitoring system based on OneNet platform[J].Journal of Huaiyin Engineering Institute,2016,25(3):10-13.
[16] 刘晓剑.基于Onenet的物联网监控系统[D].郑州:郑州大学,2016.
Design of Remote Monitoring System of Aquaculture
YI Xianjun,SANG Qingsong,NIE Tong,PENG Meng
School of Electrical and Information Engineering,Wuhan Institute of Technology,Wuhan 430205,China
This work designs a remote monitoring system of aquaculture,which can be monitored in real time by mobile phone or personal computer(PC).The system consists of a detection node,a data collection center,a cloud server and a Android App of monitoring terminal or a PC browser.The detection node is responsible for collecting data,receiving instructions and exchanging information with the data collection center and the wireless network of ZigBee.The data collection center reads data from the network of ZigBee and shows them at the scene.Meanwhile,it communicates with the cloud server by general packet radio service.The cloud server stores the data which display on the App installed in the portable device or browser.Compared with traditional aquaculture,this system is not limited by time,region,environment,distance and other factors,and it can continuously and remotely monitor the breeding ponds with stable operation.
aquaculture;remote monitoring;App;ZigBee;GPRS
S965.1
A
10.3969/j.issn.1674-2869.2017.05.019
1674-2869(2017)05-0514-05
2017-05-08
易先军,硕士,副教授.E-mail:xjuny_wit@163.com
易先军,桑青松,聂童,等.水产养殖远程监测系统的设计[J].武汉工程大学学报,2017,39(5):514-518.
YI X J,SANG Q S,NIE T,et al.Design of remote monitoring system of aquaculture[J].Journal of Wuhan Institute of Technology,2017,39(5):514-518.
陈小平