ZigBee自组织网络在大棚环境监测中的应用
2018-08-21胡伟伟赵文龙程若发陈园
胡伟伟 赵文龙 程若发 陈园
摘 要: 为了提高大棚种植效率,设计一种大棚环境监测系统。设计基于ZigBee协议,以TI公司Z?Stack协议栈及CC2530为核心芯片,结合温湿度传感器DHT11,LabVIEW软件编写的上位机程序。分别组成协调器和多个终端节点。协调器是整个ZigBee网络核心,负责组建整个系统网络,能解析当前ZigBee网络中终端节点数据包,通过RS 232协议发送给上位机。终端节点采集环境温湿度信息,通过ZigBee网络发送给协调器,若有新的节点或者旧节点加入、离开网络,协调器能立刻反映当前网络状态。经实验测试验证,系统设计简洁、运行稳定、网络安全性可靠,有很好的应用前景。
关键词: ZigBee; 协调器; 传感器; CC2530; LabVIEW; 大棚种植; 环境监测
中图分类号: TN99?34 文献标识码: A 文章编号: 1004?373X(2018)16?0035?04
Abstract: An environment monitoring system for greenhouse is designed to improve the efficiency of greenhouse planting, which is designed on the basis of the ZigBee protocol, taking the Z?Stack protocol stack and CC2530 of TI as the core, and combining with the temperature?humidity sensor DHT11 and host computer program compiled by using the LabVIEW software. The system is composed of a coordinator and multiple terminal nodes. The coordinator, as the core of the entire ZigBee network, is responsible for the formation of the entire system network, can parse data packets for terminal nodes of the current ZigBee network, and send them to the host computer by means of the RS 232 protocol. The terminal nodes collect the environment temperature?humidity information, and send it to the coordinator via the ZigBee network. If any new node or old node joins or leaves the network, the coordinator can immediately present the status of the current network. The results of the experimental test show that the system is simple in design, runs stably, has reliable network security and a good application prospect.
Keywords: ZigBee; coordinator; sensor; CC2530; LabVIEW; greenhouse planting; environment monitoring
0 引 言
我国是世界上人口最多的国家之一,如何提高粮食产量和种植水平是非常关键的问题。近些年来,大面积大棚种植技术得到广泛应用,然而提高大棚管理技术,提高大棚产量需要科学的方法来实现。其中,及时检测大棚内空气温度和湿度,合理控制温湿度是提高农作物生长的重要方法。针对这样的问题,本文提出一种基于ZigBee技术的无线温湿度监测系统设计方案。利用ZigBee协议的特点,以TI公司的CC2530低功耗无线专用芯片为核心。结合DHT11温湿度传感器以及外围电路,编写监控上位机软件,设计了一套能够实时监测大棚温湿度的软硬件系统。
1 系统整体结构
1.1 ZigBee及CC2530
ZigBee技术是近年来新兴的一种低速率、低功耗、短距离的无线网络技术,是IEEE无线个人区域网工作组的一个简称。国际标准协议IEEE 802.15.4,工作频段在2.4 GHz,属于免费公用频段[1?2]。目前主要应用于智能家居、物联网、安全监视、环境监视中。ZigBee有三种网络拓扑结构:星形网络结构、树形网络结构和Mesh网络结构[3?5]。
CC2530是TI公司为ZigBee技术量身打造的一款MCU[6],具有低功耗的特点,另外还加入强大的无线前端,集成RF无线收发机,射频调制模式为直接序列扩频模式(DSSS),发射功率可以程控,CC2530有专用寄存器配置其发射功率;可编程输出功率可达4.5 dB;在Z?Stack协议栈中接收数据包中就包含接收信号强度指示器(RSSI),接收可以通过读取数据包中RSSI值判断出当前信号连接质量[7?9]。仅需要很少的外围电路就可构成ZigBee协调器和节点。
1.2 系统结构设计
系统采用星形网络拓扑结构,即以一个协调器为网络核心,多个终端节点连接网络且网络节点之间互不通信。采用星形结构的好处是省去路由节点的中继,简化系统设计。在网状网络拓扑和树状网络拓扑中,都需要路由节点作为中继,会增加系统开销,增加了系统能耗,使整个系统变得复杂化。系统结构如图1所示。
系统由上位机、协调器和多个终端节点组成。理论上ZigBee网络节点最大支持数为65 000个,系统只设计两个终端节点和一个协调器。可在大棚管理中心的PC机上运行上位机软件,操作人员坐在办公室内就可以实时观测大棚内温湿度状况。协调器是基于CC2530芯片,与PC机通过RS 232通信线连接,可将ZigBee网络中终端节点发送的数据包信息解析出来,然后通过RS 232传送给上位机。终端节点同样也是采用CC2530芯片为核心,通过芯片I/O口与DHT11传感器进行单总线数据通信,将采集的数据根据总线协议读取出来,处理加入ZigBee协议报文中,节点加入网络成功后进行报文传送。
2 硬件系統设计
2.1 电路结构
为节省系统能耗,硬件设计尽量精简。如图2所示,协调器硬件结构包含电源模块、通信模块、天线模块;CC2530标准输入电压3.3 V,需要外围电源转换电路,采用AMS1117?3.3 稳压芯片将USB接口5 V电压转换为3.3 V;通信模块为MAX232电平转换电路,将CC2530输出的TTL电平转换为RS 232电平与PC机串口通信;天线模块为阻抗匹配网络,采用π型电路设计。终端节点外设电路包含DHT11传感器采集模块、天线和电池供电电路。
2.2 核心电路
协调器和终端节点电路核心模块采用相同设计,都采用主核心板PA和地板分离的方式,图3为PA板上主要是芯片和射频电路部分。
3 系统软件设计
3.1 协调器程序设计
协调器即无线自组织网络的网关,负责网络中节点数据搜集、数据包解析和数据处理转发。程序流程图如图4所示。利用IAR集成开发工具,移植TI官方Z?Stack协议栈。在协议栈的硬件层初始化系统需要使用到硬件设备。硬件初始化主要是对CC2530芯片外设时钟、串口、RF射频的初始化;初始化完成,程序就进入协议栈任务函数,首先建立ZigBee网络。有节点加入到网络,在协议栈内部注册SYS_EVENT_MSG系统消息事件,通过注册的事件类型来调用应用层事件处理函数Coordinator_ProcessEvent(),在处理函数中调用Osal_msg_receive()消息处理函数来判断具体触发的事件类型,若为AF_INCOMING_MSG_CMD数据接收事件类型,则为ZigBee节点发来数据包[10]。在afIncomingMSGPacket_t包中解析出数据内容,并调用Uart_send()函数,将数据按照自定义数据帧格式(在一帧数据前加上本次节点的帧头数据,上位机根据帧头数据可以解析判断出是哪个终端节点的数据)发送到上位机。除了解析出需要的有效信息外,还需要关注的就是当前网络连接质量。此时就需要在Z?Stack协议栈程序中找到接收报文的位置,提取在数据包函数afIncomingMSGPacket_t结构体中的LinkQuality成员。计算出LinkQuality能够反映当前网络中此数据包节点的连接质量。根据公式(1)可在程序中计算出RSSI值[10?13]。
3.2 终端节点程序设计
终端节点主要功能是加入协调器自组织的ZigBee网络中,将实时采集到的数据发送给网络中的协调器。程序流程图如图5所示。
硬件初始化后程序就进入协议栈的任务轮询[13],判断是否存在相应的ZigBee网络,加入网络成功后,协议栈的ZDO层会向应用层发送SYS_EVENT_MSG的消息事件;协议栈会根据相应的事件ID类型来调用事件处理函数,并根据当前网络状态通知应用层。应用层接收到状态改变后开始调用时间管理函数Osal_start_timerEx( )来周期性地调用DHT11_data_event()读取DHT11数据转换结果,并调用Send_data_event()发送数据。在网络没有加入成功之前,ZDO设备对象层向应用层传递的状态是未连接状态,应用层就调用LED_ulink_task()函数,节点的网络状态指示灯会一直处于闪烁状态,加入网络成功后,LED_link_task()函数就会被调用。指示灯为常亮状态,表示此时网络连接正常。
3.3 上位机程序设计
上位机采用NI公司的LabVIEW软件,需安装NI公司的VISA驱动使用串口通信[9]。设计包括两部分,前面板的界面设计和后面板的程序设计。前面板主要是界面布局和控件摆放。前面板界面如图6所示。
后面板主要实现逻辑代码功能。代码包含初始化串口资源配置,循环查询串口缓冲区字节数。满足条件读取串口缓冲区数据,按照协调器发送的数据帧格式进行数据解包,如图7所示。协调器发送数据协议帧格式第一个字节为0X0A,0X0B,…,后两个字节为实际数据。上位机在串口缓冲区提取到数据帧后,规定帧格式解析出相对应的节点信息。将相应节点数据进行ASCII码和数值转换,送到显示控件显示数值,将数值绑定到波形图表控件显示相应的温湿度波形。
4 实验测试与分析
为了测试数据的准确性,分别对某一天不同时间点的测试数据与实际标准数据对比分析,如表1所示。温度测量值和实际值平均误差为4.2%;湿度测量值与实际平均误差为2.9%。在实际大棚管理中,能满足实际要求。此外需要测试可靠性问题:距离和数据丢包率之间的关系。为了测试设备是否能满足实际环境的要求,在空旷无任何障碍物阻挡的情况下,进行不同距离传输对丢包率[10]和RSSI值的影响,实验采用2.4 GHz高增益、阻抗匹配50 Ω的RF射频天线,每个数据进行50次测量取平均值。数据分析如表2所示。
通过实验数据可以分析得出:在一般正常情况下,协调器和终端节点距离500 m左右,数据丢包率在1.5%左右,实际中小规模的大棚距大棚管理中心半径距离也是500 m左右。若要用在大规模大棚种植中,可以在程序里修改发射功率寄存器的值,提高终端节点的发射功率至3 dB;有效距离就会相应增加,但增加功率的同时也会增加终端节点的功耗,这样终端节点的电池寿命就会随之减少。所以根据实际情况可以做出适中的选择。
5 结 语
本系统采用ZigBee星形拓扑网络结构,以CC2530芯片为核心,设计协调器和多个终端节点。经实验测试,协调器能够自组织网络;终端节点能够稳定地加入网络中并进行数据采集和数据发送;上位机能够实时监测到各个网络节点温湿度信息,能够准确地判断出各节点数据链路连接情况。与传统人工监测相比,可大大减少人工作业时间,减少看管人员,很好地提高了大棚管理的效率。
参考文献
[1] 胡庆新,程阵.基于ZigBee的无线传感器网络定位系统的设计[J].电子技术应用,2009,35(11):26?29.
HU Qingxin, CHENG Zhen. The design of wireless sensor network platform positioning system based on ZigBee [J]. Application of electronic technique, 2009, 35(11): 26?29.
[2] 王鑫,潘贺,杨简.基于CC2530的ZigBee无线温湿度监测系统设计[J].中国农机化学报,2014,35(3):217?220.
WANG Xin, PAN He, YANG Jian. Design of ZigBee wireless temperature and humidity monitoring system based on CC2530 [J]. Journal of Chinese agricultural mechanization, 2014, 35(3): 217?220.
[3] 任志健,莫伟健,万智萍.基于CC2530的ZigBee2007/PRO协议的无线温湿度系统设计[J].电子设计工程,2012,20(10):40?43.
REN Zhijian, MO Weijian, WAN Zhiping. A wireless temperature and humidity monitoring system based on CC2530 ZigBee2007/PRO protocol stack [J]. Electronic design engineering, 2012, 20(10): 40?43.
[4] ZHANG Qian, YANG Xianglong, ZHOU Yiming, et al. A wireless solution for greenhouse monitoring and control system based on ZigBee technology [J]. Journal of Zhejiang University?Science A (Applied physics & engineering), 2007, 8(10): 1584?1587.
[5] 章伟聪,俞新武,李忠成.基于CC2530及ZigBee协议栈设计无线网络传感器节点[J].计算机系统应用,2011,20(7):184?187.
ZHANG Weicong, YU Xinwu, LI Zhongcheng. Wireless network sensor node design based on CC2530 and ZigBee protocol stack [J]. Computer systems & applications, 2011, 20(7): 184?187.
[6] 衣翠平,柏逢明.基于ZigBee技术的CC2530粮库温湿度检测系统研究[J].长春理工大学学报(自然科学版),2011,34(4):53?57.
YI Cuiping, BAI Fengming. ZigBee?based CC2530 granary temperature and humidity monitoring System [J]. Journal of Changchun University of Science and Technology (Natural science edition), 2011, 34(4): 53?57.
[7] 倪敬飞.ZigBee?2006协议栈的实现及其应用[D].苏州:苏州大学,2009.
NI Jingfei. Implementation and application of ZigBee?2006 protocol stack [D]. Suzhou: Soochow University, 2009.
[8] 焦尚彬,宋丹,张青,等.基于ZigBee无线传感器网络的煤矿监测系统[J].电子测量与仪器学报,2013,27(5):436?442.
JIAO Shangbin, SONG Dan, ZHANG Qing, et al. Coal mine monitoring system based on ZigBee wireless sensor networks [J]. Journal of electronic measurement and instrument, 2013, 27(5): 436?442.
[9] 朱斌,谭勇,黄江波.基于ZigBee无线定位技术的安全监测系统设计[J].计算机测量与控制,2010,18(6):1247?1249.
ZHU Bin, TAN Yong, HUANG Jiangbo. Design of safety monitoring system based on ZigBee wireless position technology [J]. Computer measurement & control, 2010, 18(6): 1247?1249.
[10] 周贤伟,覃伯平,徐福华.无线传感器网络与安全[M].北京:国防工业出版社,2007.
ZHOU Xianwei, QIN Boping, XU Fuhua. Wireless sensor network and safety [M]. Beijing: National Defense Industry Press, 2007.
[11] 张堃,栾卉,蒋明杰,等.具有环境监测功能的智能路灯控制系统设计[J].实验室研究与探索,2015,34(12):61?64.
ZHANG Kun, LUAN Hui, JIANG Mingjie, et al. The design of intelligent street lamp control system with the function of environment monitoring [J]. Research and exploration in laboratory, 2015, 34(12): 61?64.
[12] 周岭松,余春暄.基于ZigBee技術的温湿度控制系统[J].电子测量技术,2011,34(6):47?50.
ZHOU Lingsong, YU Chunxuan. Temperature and humidity controlling system based on ZigBee [J]. Electronic measurement technology, 2011, 34(6): 47?50.
[13] 叶杨婷.基于ZigBee和GPRS的地铁环境监控系统设计[J].实验室研究与探索,2015,34(12):65?68.
YE Yangting. Design of subway environment monitoring system based on ZigBee and GPRS [J]. Research and exploration in laboratory, 2015, 34(12): 65?68.