基于NODE.JS/GPRS/ZigBee的水产养殖远程测控系统的设计∗
2017-10-23张继飞
张继飞 林 超
(1厦门市海洋职业技术学院 厦门 361005)(2厦门理工学院 厦门 361005)
基于NODE.JS/GPRS/ZigBee的水产养殖远程测控系统的设计∗
张继飞1林 超2
(1厦门市海洋职业技术学院 厦门 361005)(2厦门理工学院 厦门 361005)
为了满足水产养殖智能化的要求[1],设计了水产养殖水质参数的远程实时监控系统。该系统由水质参数无线监测部件RTU、远程数据管理服务器和客户终端APP组成。RTU采用STM32微处理器方案,实现水质数据的采集和GPRS无线远程数据的传输;远程数据管理服务器,可以接收所有RTU传输过来的数据,进行智能判断并且保存,供APP客户随时访问。利用ZigBee和NODE.JS[2~3]技术,此系统不仅满足了无线数据采集和数据传输的相关指标要求,而且有效地解决了水产养殖系统中布线困难,通信费用过高、连接并发数不高和实时性不强等问题。
水产养殖;智能化;GPRS网络;RTU;ZigBee;NODE.JS;数据传输
C lassNum ber TP391
1 引言
在水产养殖中,水质的监测重点是水温、PH值、溶解氧和氧化还原四个参数。目前市场上出现很多水产远程测控系统,但是这种监测方法,一个RTU要配一个SIM卡,一个养殖场需要很多RTU和SIM卡,通信费用很高。也有部分系统加入ZigBee技术,但是ZigBee通信受到的干扰很大,通信效果不好;另外市面上出现的很多监控系统,服务器部分都是采用Windows系统加上位机模式,实时性和连接并发数不高,一般几千台。利用NODE.JS技术,结合ZigBee无线传感网和GPRS无线数据传输技术,设计的多参数实时水产养殖监控系统,实现了对池塘养殖数据的实时采集和对增氧机等大功率设备的远程遥控,同时节省了大量的SIM卡通信费用,一台服务器连接并发数也非常高,达到上万台,可以把大量的数据保存备份[4],节省了服务器宽带的费用。
2 远程测控系统的整体设计方案
整个远程测控系统由客户APP、RTU水产养殖终端数据采集系统(包含ZigBee)和服务器组成,如图1所示。
图1 水产养殖远程测控系统总体结构原理框图
在每个池塘里装上一道RTU,其中RTU包括各种传感器、继电器、GPRS模块、ZigBee模块和控制器。如果水产养殖户的规模比较小,只需要一台或者两台RTU,传感器的各种监测数据可以直接通过GPRS网络上传到服务器数据测控中心;如果水产养殖户规模较大,池塘很多,需要很多台RTU,就可以在合适的节点布上使用GPRS网络的RTU,别的节点都用ZigBee无线网络的RTU,可以节省很多SIM卡通信费用;由ZigBee无线网络的RTU将采集到的池塘传感器数据,发送给GPRS网络的RTU,再通过其上的GPRS无线远程网络将传感器数据发给服务器的数据测控中心。水产养殖户终端,有两种方式可以远程查看和控制自己池塘RTU数据。第一种方式,通过安装特定开发的手机APP,用分配好的账户密码登录,就可以实现;第二种方式,用分配好的账户密码,通过WEB网页来登录到服务器实现。另外,如果某一路采集到的水质参数超出预警值,RTU通过GPRS网络向服务器发送报警信息,服务器再推送到用户手机上去,提醒用户对采取相应的措施进行处理。服务器测控中心,接收来自各个区域现场监测系统的水质信息,有报表、打印、存档、报警、控制等功能,同时还有数据库查询分析、管理用户等多项功能。
3 整个系统的硬件设计和实现
由于水产养殖终端需要完成数据的通信、处理、存储,因此需要MCU的控制板,STM32系列的单片机可以满足。同时,与远程服务器测控中心交互,需要支持网络通信协议,目前主要使用GPRS通信模块。池塘之间的近距离通信,采用ZigBee数据传输,简单,好用,节省开发周期。
系统的硬件设计总体框图如下图(图2)所示。
图2 水产养殖终端RTU整体电路框图
硬件系统主要由GPRS通信模块、微控制器、ZigBee数传模块等外部接口电路组成。
GPRS通信模块选用SIM800C模块。SIM800C模块是SIMCOM公司推出的新一代全球移动通信系统四频通信模块。GPRS通信模块的串行接口是全双工的,用户可以通过这个串口发送AT命令与SIM800C交互,进行数据的收发和信息交互。
STM32系列单片机是意法半导体基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M内核,本RTU采用STM32F103VC型号的单片机,其运算速度高达72MHz,且其可使用库进行编程,能够大大缩短开发时间。
ZigBee模块[5]采用北京深联智达科技有限公司的DL-LN3X系列无线数据透传通信模块,该模块最大可支持130个模块组成网络,单个包长可达63字节,可视距离通信单跳70m~500m左右。
4 系统软件设计
整个系统软件包括三个部分:RTU软件、服务器远程测控中心软件和终端用户软件。
4.1 RTU软件结构
图3是RTU无线远程数据传输与处理模块的程序流程图。
RTU上电后进行GPRS通信模块的初始化,主要是通过AT命令设置SIM800C的各种通信参数并与远程监控中心建立—个Socket连接,然后侦听监控中心是否有参数传输或命令数据如果侦听到远程数据传输,进行相应的处理,远程数据的侦听使用SIM800C的一种数据主动传输方式,当SIM800C接收到远程数据时,自动接收远程数据。
图3 RTU软件的程序流程图
如果RTU通过侦听没有发现远程数据传输,则判断是否进入定时数据传输状态,RTU每个48秒将向远程监控中心传输一次RTU信息,包括水质传感器数据(溶解氧、水温、PH值、氧化还原等)、时间信息、连接信息(RTU的ID、端口号)。
RTU在处理远程数据和定时数据时,同时监听本地通信接口是否有来自别的池塘的ZigBee的水质数据传输请求[6~8],如果检测到有本地数据传输请求,则进行相应的处理,如果没有数据请求则RTU无线传输处理模块重新进入侦听状态。
4.2 服务器远程测控中心软件
远程测控中心软件主要接收通过GPRS传输的信息并做出处理和显示。该服务器采用NODE.JS实现,利用WEBSOCKET和HTTP网络通信协议分别实现手机APP和WEB网页远程登陆来进行网络连接、传递数据,并运行在远程测控中心的服务器PC机上,包括监测曲线、监测数据。其主要功能是与RTU交互信息、监测及异常处理等[9~11]。
5 结语
基于NODE.JS/GPRS/ZigBee的水产养殖远程测控系统的设计采用GPRS/ZigBee网络作为数据通信平台,NODE.JS技术搭建的服务器作为水质参数等信息存储和转发平台,客户APP和WEB网页作为最终客户收发信息平台。可以实现无线数据采集、现场监控、远程监控相结合的多参数水质测控的系统方案。利用GPRS网络实现数据传输,有着永远在线、费用低廉、传输率高的特点。以ZigBee技术实现布线更加容易,节省GPRS通信。利用NODE.JS技术[12~13],服务器的实时性更好,在线并发数更高。
[1]刘玉飞,黄敏,朱启兵.基于ARM/GPRS/ZigBee水产养殖远程监控系统设计[J].计算机技术与发展,2012,22(9):181-184
[2] 朴灵.深入浅出Node.js[M].北京:人民邮电出版社,2015,12.
[3]黄丹华.Node.js开发实战详解[M].北京:清华大学出版社,2014.
[4]郭远威.大数据存储MongoDB实战指南[M].北京:人民邮电出版社,2015.
[5]李文琛,王志明.基于ZigBee和GPRS的环境监测系统设计[J].工业控制计算机,2007,26(6):29-30.
[6]瞿雷.一种新的无线网络通信技术ZigBee[J].单片机与嵌入式应用,2006,5(1):20-21.
[7]施汝杰,高佩君,田佳音,等.ZigBee网络节点基带处理器的设计与实现[J].计算机工程,2008,34(9):219-221.
[8]张金薇,张冰.ZigBee的新型矿用无线瓦斯传感器研究[J].单片机与嵌入式应用,2012,12(9):6-7.
[9]刘彤,谢永超,汪科.ARM和ZigBee的远程温湿度监控系统设计[J].单片机与嵌入式应用,2012,12(9):49-52.
[10]刘瑞霞,李春杰,郭强,等.基于ZigBee网状网络的分簇路由协议[J].计算机工程,2009,35(2):161-163.
[11]张相田,王益祥.基于GPRS和ZigBee的远程油阀控制系统[J].单片机与嵌入式应用,2012,12(1):56-58.
[12]周敏.超实用的Node.js代码段[M].北京:电子工业出版社,2015.
[13]陆凌牛.Node.js权威指南[M].北京:机械工业出版社,2014.
Design of Aquacu lture RemoteMonitoring System Based on NODE.JS/GPRS/ZigBee
ZHANG Jifei1LIN Chao2
(1.Xiamen Ocean VocationalCollege,Xiamen 361005)(2.Xiamen University of Technology,Xiamen 361005)
In order to satisfy the requirements of the aquatics breeding intelligetntialize,we design the long distancemonitoring system forwaterquality parameter in the aquaticsbreeding.This system was composed of thewater parameterwirelessmonitoring assembly unitRTU,long distance data administration serverand the clientserver terminal APP three parts.RTU adoptSTM32micro programming projectwhich can realize thewater quality data gathering and the GPRSwireless communication and the long distance data transmission.Long distance administration server can receive all the data RTU transferred and intelligently judge and save them that can help the APP client to visit at anymoment.The ZigBee and NODE.JS technology system notonly satisfy the index requirements of the wireless data gathering and transmismission,but also solve the problems ofwiring difficulties,excessive communication costand the low connecting concurrence and weak instantaneity.
aquaculture,intelligent,GPRSnetwork,RTU,ZigBee,NODE.JS,data transmission
TP391
10.3969/j.issn.1672-9730.2017.09.027
2017年3月9日,
2017年4月27日
福建省自然科学基金项目(编号:E0510023)资助。
张继飞,男,硕士研究生,讲师,研究方向:物联网系统应用的研究和教学。林超,男,硕士研究生,工程师,研究方向:软件工程,大数据。