基于ZigBee技术的温室大棚系统的设计
2018-01-12
(西南交通大学 机械工程学院,成都610031)
随着我国经济的快速发展,作为一个传统的农业大国,提高它的经济效益是现阶段农业发展的迫切需求。基于此,发展智能温室大棚变得十分有意义。科技的进步使无线传感网络在此领域中具有广阔的应用前景,ZigBee技术作为无线网络中的一种协议标准,更是以其低功耗、低成本、高可靠性等优点[1]而广泛应用于工业、医疗、农业等领域中。在此,采用ZigBee技术实现下位机与上位机的无线通信,有效地减少了温室大棚的地理位置[2]、物理路线、复杂环境因素的影响,提高了数据的传输效率[1-2]。该系统采用上位机WinCC友好的人机交互界面,对下位机上传的数据实时监控,根据相关的数据处理分析,发送命令给工控机从而做出相应的处理措施。系统的实时性好,用户操作方便,符合温室大棚智能管理的需求[3]。
1 系统总体结构
根据温室大棚系统的要求,将该系统划分为4个模块[4],分别为数据采集模块、数据传输模块、数据处理模块、控制模块,如图1所示。
图1 温室大棚系统整体构架Fig.1 Overall framework of the greenhouse system
数据采集模块由多个温室大棚子系统构成,每个子系统由多个ZigBee的无线网络协调器以及多个传感器节点所组成。传感器节点所采集的数据以无线的方式传到ZigBee的网络协调器中,经过串口通信将数据传到ARM板上,然后实时地显示出来,最后经过嵌入式网关将数据传输到上位机,通过上位机对数据的监控与分析,发送相应的命令给工控机,从而做出相应的应对措施。
2 数据采集模块的设计
数据采集模块如图2所示,各节点上分别连有温湿度传感器、光照传感器、CO2浓度传感器、测土壤pH值传感器,分别采集温室大棚的温湿度、光照强度、CO2浓度以及土壤的酸碱性等相关数据[5],所有分布式节点的数据都汇聚在ZigBee的网络协调器上,最后将这些数据通过串口传到ARM板上。
图2 数据采集模块构架Fig.2 Frame of data acquisition module
在各节点向网络协调器传送数据的时候,网络协调器只需要输入各节点的MAC地址,将各节点加入到该协调器的网络上,无需对节点进行任何配置,节点上也不需要任何配置接口,连接非常方便。各节点的数据传送到网络协调器上,再经过串口通信传到ARM板上。
2.1 数据采集终端节点的设计
目前,市场上的无线射频发送芯片的种类很多[2],工作频段从433 MHz,968 MHz到ZigBee的2.4 GHz等有多个频段。在此采用TI公司推出的CC2530芯片。符合IEEE802.15.4标准的2.4 GHz射频发射器,用来实现ZigBee应用的单片RF收发器。该芯片的工作频率范围是2400~2483.6 MHz,支持数据传输率到250 kb/s,它集成了业界领先的RF收发器,增强工业的8051MCU,可编程FLASH存储器、8 kB RAM及其它强大功能,具有高度集成、低成本、低功耗、低电压等特点,能够进行鲁棒的无线通信。因此,采用CC2530芯片可以满足温室大棚系统的无线数据接收与发射的要求。将CC2530芯片的P0口设为优先级高的SPI串口,经SPI通信接口将各传感器所采集的信息传到CC2530的射频电路上[3,6],电路结构如图3、图4所示。
图3 DHT11温湿度传感器连接结构Fig.3 DHT11 temperature and humidity sensor connection structure
图4 BH1750光照传感器连接结构Fig.4 BH1750 light sensor connection structure
另外,pH值传感器和CO2传感器与CC2530的连接结构图与图3,图4所示的2个传感器类似,这里不再赘述。图4之所以加有1个100 nF的电容,是因为传感器上电后要保持1 s以越过其不稳定的状态,在此期间无法发送任何指令,增加1个电容可以起到去耦滤波的作用。
2.2 数据采集终端节点程序的设计
所设计的数据采集系统主要是温室大棚系统中传感器对大棚内环境信息的采集,主要的操作流程如下:对CC2530芯片进行GPIO口、时钟的初始化;设置ADC的工作模式、时钟、采样周期、触发方式、数据对齐方式。完成ADC的参数配置后就可以等待采样数据了。当有中断源触发中断时,就会进入中断服务子程序启动A/D转换,对4个传感器所连接的通道进行检测,接收传感器所采集的数据。其程序流程如图5所示。
图5 数据采集节点程序流程Fig.5 Data acquisition node program flow chart
3 数据采集汇聚节点设计
底层数据采集完毕,数据采集终端节点开始向ZigBee网络协调器发送数据。RFD节点的这个工作过程大致分为3个阶段:启动阶段、发送阶段、接收阶段。
启动阶段创建一个basicRfcfg_t的数据体结构,这个结构体中的参数包含有节点的PANID,RF通道等参数。接着调用basicRfZint()的函数进行协议的初始化。
发送阶段创建一个buffer,将要传入的数据放入playload中,最多可以放103个字节;将playload放入buffer中,调用basicRfsendPacket(u16destAddr,u8*plaiload,u8length)函数发送。等待接收端的应答,若返回的是SUCCESS,则发送成功,否则发送失败。basicRfsendPacket()函数调用起来十分方便,只需要传递3个参数,即接收端的地址、playload指向发送缓冲区的指针以及发送数据长度length,就可以将数据发送出去。
接收阶段上层通过检测函数basicRfPacketIsReady(),实时检测是否收到一个数据包。如果收到数据, 则调用 basicRfReceive(u8pRxData,u8len,u16*pRssi)将接收的数据复制到buffer中,然后读取buffer中的数据即可,接收端的函数也只需要配置3个参数:接受的数据、接收数据的长度、指向接受的缓冲区的指针。
ZigBee网络协调器[7]接收数据后,经过串口通信将数据传到ARM芯片上,ARM接收到信息后可以实时地显示出来,并设置其参数阈值,当超过预定值,则可以以短信的方式发给用户。最后将这些采集完的数据打包通过嵌入式网关发送给上位机[7]。汇聚节点程序流程如图6所示。
图6 汇聚节点程序流程Fig.6 Sink node program flow chart
4 上位机软件的设计
上位机软件采用了WinCC组态软件。WinCC是一个集成人机界面和监控管理的系统,是结合西门子公司在过程自动化领域中的先进技术和Microsoft PC软件技术的强大功能的产物。它提供了适用于工业的图形显示、消息报警、过程值归档以及报表打印等模块,具有高性能的过程耦合、快速的画面更新,以及可靠的数据管理功能。能够满足客户的复杂要求。
所采用的组态软件WinCC,通过ARM的通信模块实现连接,自动动态采集子系统的信号,对监控的参数进行实时报警,实现远程监控[8-9]。针对温室大棚系统的特点,灵活设计动画动态显示、流程控制、数据采集、网络数据传输、工程报表、数据与历史曲线和实时曲线显示等诸多功能,并能保存历史数据为系统分析使用,系统功能如图7所示。
图7 WinCC人机交互界面功能Fig.7 WinCC human-computer interactive interface function
5 结语
所研究的温室大棚系统中充分利用了ZigBee无线技术的低功耗、低成本、高可靠性的优点,解决了实际生活中温室大棚系统布线问题;采用了操作性和交互性良好的上位机软件WinCC,使得用户可以方便地随时查看各个温室大棚子系统的环境参数信息[8],WinCC根据采集到的信息能够进行实时监控[9],根据监控的信息实时地反馈给工控机,从而能够保证自动地去调节和控制温室大棚系统,使整个系统真正能够发挥其在实际生活中的作用。
[1]张伟滨.基于Zigbee温室大棚远程监控系统研究与实现[D].黑龙江:东北石油大学,2014.
[2]张胜.基于ZigBee无线传感网和模糊控制的温室番茄智能灌溉系统设计[D].浙江:浙江大学,2011.
[3]龙建明,熊刚,张争刚,等.基于STC89C52的温室大棚温湿度控制器[J].计算机与现代化,2015,31(3):88-90.
[4]张青山.段建东基于ZigBee的开关柜触头温度在线监测预警系统[J].高压电器,2015,58(4):29-35.
[5]谭成兵.基于ZigBee技术的温室大棚环境监控系统应用探究[J].电子测试,2015,33(4):110-112.
[6]王素青,吴超.基于CC2530的环境监测系统的设计与实现[J].计算机测量与控制,2015,23(8):2650-2653.
[7]张新,陈兰生,赵俊.基于物联网技术的智慧农业大棚设计与应用[J].中国农机化学报,2015,36(5):90-95.
[8]田野,徐保强,于欣欣,等.温室大棚环境远程监控及自动灌溉系统的设计[J].机械工程与自动化,2015,44(3):149-151.
[9]马海.基于ZigBee无线传感器网络的远程数据监测的设计与实现[D].湖北:武汉理工大学,2010.