基于ZigBee的智能温室远程监控系统设计

2018-09-07 08:54刘忠超范伟强常有周
江苏农业科学 2018年16期
关键词:光照度网关上位

刘忠超, 范伟强, 常有周

(1.南阳理工学院电子与电气工程学院,河南南阳 473004; 2.西北农林科技大学机械与电子工程学院,陕西杨凌 712100; 3.中国矿业大学(北京)机电与信息工程学院,北京 100083)

我国是人口大国,人均耕地占有率排名较靠后,占有世界近22%人口的国家,却依靠着占世界近7%的耕地来生存着[1]。此外,我国耕地质量呈下滑的趋势,这对粮食产量有着较大的影响,提高单位面积粮食产量和扩大粮食种植面积是农业发展迫在眉睫的要求。温室栽培改变了传统农业生产模式。打破了植物生长的地域和时空界限,推动了农业生产和社会文明的发展。现代温室越来越广泛地应用于设施农业生产中,温室生产成为现代农业的标志。随着现代农业的发展,特别是随着农业人口向城市转移,对农业自动化的要求越来越高,温室技术也逐步向智能化方向发展[2]。

智能温室能将温度、湿度、光照度等环境量自动调节到农作物生长所需要的范围内,从而可以不受自然环境的影响,实现全年任何季节都能生产的需求。传统的温室大多采用人工方式进行环境数据的测量,费时费力,在温室面积较大时更是增加了劳动量[3]。当采用有线的方式进行监控时,需要布设较多的线缆,出现故障的可能性较大,并且成本较高,降低了温室的效益[4]。针对传统温室存在的问题,课题借助ZigBee无线传感网络和以太网通信技术的优势,设计了一种智能温室无线监控系统,利用传感器自动采集温室环境参数,实现对温室环境的智能化监控。

1 系统总体设计

为了实现温室环境参数的远程自动监控,系统主要由温室终端环境因子采集系统和远程网络传输系统组成。终端通过温湿度传感器、光照度传感器采集环境因子,并通过ZigBee组建的网络将温室环境量上传至协调器,协调器和STM32控制器之间采用串口直连的方式进行数据间的双向传递,单片机在收到数据后会在液晶屏上进行环境数据的就地显示及动态曲线的绘制,同时通过网络模块将数据上传到基于WEB的上位机上,上位机会对温室内的环境量进行实时显示。同时上位机开启自动控制功能,如果温室内温湿度、光照度高于或低于设定值,则会自动发送相应的命令给下位机,终端会对收到的命令进行解析,控制风扇、加热器、除湿器、风机的开和关,以此来实现温室的智能调节。系统总体架构如图1所示。

2 系统硬件设计

2.1 微控制器选择

STM32系列单片机是意法半导体公司推出的高性能、低成本、低功耗的嵌入式微处理器,该芯片的配置非常强大,片上资源十分丰富。结合系统的功能需求,系统选用STM32F103ZET6作为ZigBee网关的微控制器,通过2路串口与协调器和电脑进行数据传输,并借助1路SPI接口和网络模块相连,实现与上位机之间的以太网通信[5]。

2.2 温湿度传感器电路设计

系统选用DHT11传感器来测量温湿度,该传感器已经对输出的数字信号进行了校准,可靠性与稳定性极高。传感器采用单总线的串行通信方式,使硬件连线变得简单,使用起来较为方便[6]。DHT11传感器电路如图2所示。

2.3 光照度传感器电路设计

光照度的测量通常简便的方法是采用光敏电阻。它是一种光照度与其阻值成反比的元器件,在强光条件下,光敏电阻的阻值仅有数百欧姆,在暗光条件下,它的阻值最大可达 10 MΩ。BH1750FVI是一种采用I2C总线来进行通信的数字式光照度传感器,这种传感器具有很高的分辨率,能够检测的光照度变化范围较大,并且受红外线、温度的影响很小[7]。光照度检测电路如图3所示。

2.4 液晶显示电路设计

为了在现场实时监控温室里的温湿度、光照度等环境量,显示界面必不可少。常用的显示方式有数码管、液晶屏和点阵等。本系统要显示的数据比较多,数码管只能显示单一数字,不能显示出数据的变化趋势,而TFT LCD液晶屏不仅能显示不同颜色的汉字和数字,而且还能绘制出温湿度、光照度的变化曲线,作为温室监控的显示界面较为合适[8]。系统采用尺寸为3.2英寸、分辨率为240×320像素的液晶屏,液晶显示电路如图4所示。

2.5 继电器输出电路设计

智能温室不仅需要实时监视温湿度、光照度等环境量,而且还需要对风扇、加热器、除湿器、风机等进行控制。终端节点带负载能力有限,输出信号不足以驱动这些大功率器件,因此采用继电器的方式来控制[9]。选用松乐直流5 V继电器,最大承受10 A/30 V的直流电,能满足系统设计要求。考虑到风机等大功率器件启动时电流的影响,加入光耦来对信号进行隔离。继电器输出电路如图5所示。

2.6 ZigBee网关硬件设计

ZigBee网关数据传输的核心就是网络模块。STM32单片机一般有2种方式接入以太网:即软件TCP/IP协议栈和硬件TCP/IP协议栈的方式。系统采用W5500以太网芯片来实现硬件协议栈方案,采用硬件协议栈能减轻单片机处理的数据量。W5500是Wiznet公司设计的全硬件协议栈芯片,具有超高的性价比。在使用过程中,不需要再植入软件协议栈,大大降低了代码量,同时具有较高的安全性[10]。用STM32控制W5500网络模块,用TCP Client的方式来接入互联网。

W5500硬件电路如图6所示。

2.7 直流稳压电源电路设计

系统中ZigBee芯片、传感器、STM32单片机工作电压均为3.3 V,而单片机对电压要求较高,因此单独采用稳压芯片为其供电。选择2节锂电池串联来为系统提供电能, 由于系统正常工作的电流不是太大,选择常用的AMS1117-3.3 V线性稳压芯片来转换成需要的电压[11]。AMS1117-3.3 V电源电路如图7所示。

3 系统软件设计

软件系统包括两大部分:第一部分是由ZigBee无线传感网络构成的温室数据采集软件系统,第二部分是以ZigBee网关为核心的数据监控软件系统。数据采集软件系统主要有ZigBee组网、 无线通信、传感器采集、 I/O输出控制4个模块组成。数据监控软件系统主要有MCU、以太网通信、LCD显示、上位机监控4个模块组成[12]。软件系统总体框架如图8所示。

3.1 温湿度程序设计

终端节点上的DHT11温湿度传感器与ZigBee进行通信的方式为串行单总线,通信1次的时间需要约4 ms,开始时主机发送1个下降沿启动信号,传感器响应该信号并从低功耗模式变为高速模式。DHT11将在启动信号结束后输出一个响应脉冲信号同时发送包含需要的5个字节的温湿度数据,完成一次信号采样过程[13]。读出完整的一帧数据格式为1个字节的湿度整数,1个字节的湿度小数,1个字节的温度整数,1个字节的温度小数,最后1个字节是校验和。温湿度程序流程如图9所示。

3.2 光照度程序设计

光照度程序流程如图10所示。

3.3 网关主程序设计

网关与协调器之间以串行方式进行数据传输,单片机每收到1字节的数据都会进入中断进行判断、读取,直至完成1帧数据的接收并将其放在数据缓冲区。单片机通过W5500模块将收到的1帧完整数据转换成TCP/IP协议的数据格式并发送到WEB上,并在LCD上实时显示数据及曲线,实现了本地和远程可以同时监控温室环境因子的功能。网关主程序流程如图11所示。

3.4 上位机监控设计

根据系统需求,温室环境因子在上位机上以WEB的形式实时显示数据和曲线。PHP是一种适合WEB开发的开源脚本语言,因此采用PHP作为上位机的编程语言。ZigBee网关与上位机之间使用TCP协议进行通信,网关TCP通信用C语言进行编程,上位机TCP通信用PHP语言进行编程,两者编程语言不同,网关设备作为TCP Client,调用Connect函数接口,上位机作为TCP Server,调用Listen函数接口,通过调用Socket提供的函数接口来实现两者间的通信。上位机登录界面如图12所示。

4 系统功能测试

系统软硬件测试完成后在南阳某温室大棚放置2个终端节点对系统整体功能进行测试。终端液晶屏就地显示结果如图13所示,红线代表温度,绿线代表湿度,蓝线代表光照度,在液晶屏上实时显示了终端采集节点1、2的温湿度和光照度,并且改变温湿度和光照度时曲线有相应的变化,能反映出变化的趋势。从系统整体测试结果来看,液晶屏能准确反映出温室内环境参数的变化趋势。

通过远端WEB页面登录上位机成功后可以查看不同时间的温度、湿度和光照度的变化趋势,温度、湿度曲线、光照度曲线分别如图14至图16所示。

5 结论

借助于ZigBee技术,网关作为数据转换中心,把温室内的环境因子无线发送到上位机,实现了温室的智能远程监控功能,系统具有布线简单、结构合理、使用方便的特点。

利用DHT11温湿度传感器和BH1750FVI光照传感器采集终端所在温室的环境因子,并实现了温室环境因子的无线远距离传送。

基于PHP和以太网开发了温室环境人机交互界面,实现了能通过Web远程监控温室环境参数。

猜你喜欢
光照度网关上位
光照度传感器在智能家居照明系统中的应用
特斯拉 风云之老阿姨上位
“农地种电”型光伏电站可种植区域光温环境参数研究
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
以新思路促推现代农业上位
应对气候变化需要打通“网关”
一种实时高效的伺服控制网关设计
基于Zigbee与TCP的物联网网关设计