基于ZigBee技术的塑料大棚温湿度控制系统研究
2017-04-23江煜杨忠许飞云
江煜+杨忠+许飞云
【摘要】农业物联网是物联网技术在农业领域的综合应用。ZigBee技术作为一种新兴的短距离、低速率、低功耗、低成本的无线通信技术是农业物联网发展中不可或缺的关键技术之一。本文采用ZigBee技术,结合农业塑料大棚温湿度控制系统设计的特点,通过系统组网、温湿度采集和上位机可视化显示,实现了点对点通信,并通过试验测试,该系统可以很好地实现農业塑料大棚的温湿度控制。
引言
物联网是新一代信息技术的高度集中和综合运用,被称为继计算机、互联网之后信息产业发展的第3次浪潮[1]。农业物联网是物联网技术在农业领域的综合应用,推动粗放型、分散式的传统农业向规模化、集约化、智能化的现代农业转变。随着智慧农业的发展,基于物联网技术的塑料大棚控制系统是其研究的最新热点之一[2]。本文结合塑料大棚实际控制的需求,采用ZigBee通信技术实现传感器的组网和对塑料大棚内环境参数进行数据采集和传输,并结合组态技术实现数据界面的可视化,实现对塑料大棚采集的数据进行实时监控。该技术代替了传统塑料大棚采用的有线设备,不仅降低了系统成本和维护难度,也极大提高了塑料大棚系统和用户的工作效率。
ZigBee技术
ZigBee又称IEEE802.15.4标准,是一种无线通信技术,其目标是实现低功耗、低复杂度、低传输速率、自组织能力强的短距离无线通信网络,为短距离低速通信提供统一的标准[3]。ZigBee有3个工作频段,分别为2.4 GHz(全球范围内通用)、868 MHz(欧洲地区使用)和915 MHz(美国地区使用),分别具有最高250、20、40 Kbps的传输速率,传输距离在10~180 m。
ZigBee协议栈结构
ZigBee协议栈(图1)是由物理层(PHY)、媒体访问控制子层(MAC)、网络层(NWK)和应用层(APL)四层模块构成,每一层为它的上一层执行一组特定服务,即数据实体提供数据传输服务,管理实体提供的服务。
物理层(PHY)运行在2个不同的频率范围:868/915 MHz和2.4 GHz,前者在欧美等国家使用,后者全球通用。媒体访问控制层(MAC)负责相邻节点间的可靠通信,防止碰撞和提高工作效率,同时也负责解析和打包数据。应用层(APL)是由用户自定义功能程序、ZigBee设备对象(ZDO)和应用支持子层(APS)组成;网络层(NWK)是由NWK负责启动网络,由连接设备、存储路由信息、执行路由选择、分配IEEE地址等组成。
ZigBee网络拓扑结构
ZigBee网络层(NWK)有星型、树型和网状网络3种拓扑结构[4](图2)。
星型网络拓扑结构是一个单跳网络,有若干终端节点和唯一一个协调器。如果2个节点想要互相通信,必须将数据转发到协调器,协调器可以充当路由器使用。
树型网络拓扑结构是一个多跳网络,有唯一一个协调器、若干路由器和终端节点。节点之间相互通信时,必须沿着树型网络在建立时形成的路由路径进行消息传递,子节点必须通过父节点才能同其他节点进行通信。如果有一个路由器节点功能失效,那么以它为父节点的子节点使命也就终结。由此可见,这种拓扑结构耗资大、安全性低。
网状型网络拓扑结构与树形拓扑结构相似,属于多跳网络,有一个协调器、多个路由器和多个终端节点。只要在节点的覆盖范围内,路由器与路由器之间、路由器与协调器之间就可以通信,与节点加入网络时形成的网络结构无关。进行数据转发时,如果其中一个路由器不能继续工作,那么发出消息的节点会重新搜索覆盖范围内的其他路由器进行数据转发,该拓扑结构具有一定的容错性。这种拓扑结构以降低数据的传输速率为代价,提高了数据可靠性。
系统总体设计
塑料大棚温湿度控制系统设计包含硬件部分和软件部分(图3)。硬件部分主要包含温度传感器、湿度传感器、协调器、终端节点的整体方案设计。软件部分包括Z-Stack协议栈的设计、ZigBee设备间的通信、温湿度数据采集、上位机软件串口读写和塑料大棚温湿度监控系统界面的设计。
硬件系统设计
塑料大棚控制系统的硬件设计主要采用基于TI公司提出的SoC解决方案,核心芯片选用CC2530[9]。CC2530是增强型的8051CPU内核,有18个中断源且分为4组;有4个不同的存储空间用于程序存储和数据存储;有4组寄存器;有21个I/O口,可配置为通用I/O或外部设备,输入口具有上拉或下拉能力,同时还有外部中断能力;有2个串行通信接口,能运行于异步UART模式或同步SPI模式。同时,CC2530具有良好的数据收发功能,其内部集成RF收发器,继承了RF的优良性能,能够兼容ZigBee2007协议栈,是一个真正的片上系统解决方案[6-9]。
◆ 协调器节点设备
硬件设计包含协调器和终端节点设备。协调器功能主要是建立网络,当网络建立好,终端节点发出入网请求,识别后就能进入网络,此时终端节点都会被赋予一个唯一16位短地址,作为该网络节点的唯一标识(ID号)。考虑塑料大棚温湿度系统主要有ZigBee协调器和ZigBee终端节点2个设备,本系统采用星型拓扑结构完成网络组网。ZigBee协调器负责控制网络,且由它进行维护网络中的设备通信,终端设备只有拥有与协调器相同的ID号,才能入网直接与ZigBee协调器互相通信。
◆ 终端节点电路
在温湿度监控系统中,终端节点负责数据采集、处理,分布在塑料大棚中,把采集到的温湿度数据通过无线的方式发送给协调器节点。
本系统采用DHT11数字式温湿度传感器(图4)作为采集单元,传感器是由电阻式感湿元件和NTC测温元件组成的,并连接了一个高性能8位单片机。DHT11响应快、抗干扰强、性价比高、体积小、信号传输距离长。相对于基于模拟信号测量的模拟式温湿度传感器,DHT11具有更好的稳定性,不易受外界环境影响,误差小。
软件系统设计
本系统软件主要采用2006Z-Stack协议栈进行设计[10-11]。软件主要包含3个模块:温湿度采集模块、ZigBee无线通信模块、上位机显示模块。温湿度采集模块DHT11主要负责实时采集温湿度数据;ZigBee无线通信是由Z-Stack实现,其中通信单元中网络层、物理层是由协议栈程序封装,应用层的软件是通过用户自定义完成;上位机显示模块主要采用java程序编写界面和读写串口程序。
◆ 温湿度控制系统软件设计
DHT11溫湿度传感器的DATA引脚是用于与CC2530单片机进行通信和同步,采用单总线数据格式,单次通信时间大约为4 ms,数据有小数和整数2个部分,该系统没有读取小数部分即为零。当用户发送1次开始信号后,DHT11从低速模式转换到高速模式,在主机发送开始信号后,DHT11返回响应信号,并发送40 bit的数据,进行1次信号采集,读取整数部分。当总线空闲时为高电平,主机需把总线拉低直到DHT11来响应,必须保证拉低时间长于18 ms,从而保证DHT11检测到主机发来的起始信号。DHT11接收到开始信号后,延时等待20~40 μs左右,读到DHT11的80 μs低电平响应信号。DHT11这时可变到输入模式或由上拉电阻把总线拉高。DHT11发送的数据中,数据位是由高电平的时间长短来决定是数字0信号还是数字1信号(图5)。
◆ Z-Stack协议栈
ZigBee协议栈的每一层都是一个任务,每个任务又划分为多个事件,它们之间有可能同时操作。当有多个事件同时被触发,通过进程调度程序来判断各个事件的优先级,然后根据优先级通知相应层的事件处理函数来处理优先级[5-6]。
Z-Stack协议栈封装了物理层和网络层,其应用程序在Z-Stack中的调用过程如下:
main()--->osal_init_system()--->osalInitTasks()---> SerialApp_Init()。main函数初始化所有硬件设备和检验设备是否运行正常,为初始化操作系统和启动操作系统做准备,完成ZigBee设备通信工作。应用层(SerialApp_Init)实现了温湿度数据收发、事件处理、按键处理等功能。
◆ 上位机软件设计
本系统的上位机显示界面和串口通信是使用Eclipse进行设计,属于java语言编程环境。协调器根据从终端接收到的数据通过串口上传给PC机。步骤如下:①进行系统调试之前,先进行串口配置,设置波特率为38400,数据位为8位。②使用开源java类库RXTX串口通信,其兼容windows,Linux等操作系统。上位机程序设计包含串口程序(主程序)和界面程序。
主程序 该类实现了线程Runnable接口以及串口事件监听接口,用于监听系统中可用端口的收发数据。程序首先初始化串口,然后实现接口SerialPortEventListener中的方法,该方法可以读取由协调器通过串口发送给上位机的字节数据。同时outputStream流可以发送信息给协调器。
界面程序 界面采用swing编程。该类实现了线程Runnable接口以及事件监听接口。界面可以显示温湿度的大小并实时刷新(图6)。
系统测试
为了验证该系统设计的可行性,对该系统进行可靠性和稳定性检测。首先对网络的组网能力进行测试。该网络包括1个协调器和1个终端节点,它们之间通过PC机USB转串口线供电,测试距离室外50 m、室内10 m。协调器结点端口为COM1,波特率为38400 bps,8位数据位,1位停止位,无奇偶校验和流量控制。首先使用IRA分别将生成好的Coordinator.hex和EndDevice.hex下载到协调器和终端设备;其次,通过串口线将协调器和终端连接到PC机USB接口,再打开协调器开关上电,接着启动Eclipse环境,运行serialport工程。上电后协调器D3灯常亮,终端D1灯不停的闪烁,则表示终端入网成功(图7)。此时,在设备管理器中配置好串口,按下终端S1按键就能够上传传感器数据,同时上位机显示界面能够实时监测到终端传输的温湿度数据。如果想停止数据上传,再次按下S1按键。上位机监测图如图8所示,当前温度为24℃,湿度为44%。
经测试,在有效传输距离范围内移动终端节点,终端节点有时会暂时脱离网络,不能上传数据,但很快又能重新加入网络。此外,随着节点间障碍物的增加,信号穿透能力逐渐减弱,节点在数据传输中可能出现短暂的中断,但网络中的节点能够自组织并自我修复重新加入网络。所以系统稳定性测试存在2种情况:①在无障碍环境中将协调器位置固定,终端节点在有效传输范围内移动,丢包率随着距离的增加而增大。在50 m之内,协调器能准确收到终端数据,数据传输可靠,但超过50 m,丢包率呈上升趋势,数据传输变得不可靠。②在有障碍环境下测试,传输可靠距离较之无障碍有所缩短,超过40 m就开始出现严重丢包。
结论
本文以塑料大棚温湿度参数为监控目标,通过以CC2530为核心的单片机和ZigBee无线通信技术实现塑料大棚温湿度监控。当该系统运行时,DHT11数字温湿度传感器负责采集大棚内温湿度参数;ZigBee终端节点将温湿度传感器采集的数据进行处理后传给协调器;ZigBee协调器接收终端节点上传的数据并通过串口通信将数据发送给上位机显示并存储。同时,上位机可以判断温湿度范围,当超出预设范围,将通过协调器向终端发送指令,开启水泵或加热器等设备,来实施温湿度实时控制。最后通过运行测试,证实系统具有良好的可靠性和稳定性。
致谢
感谢金陵科技学院于进月同学的硬件支持!
参考文献
[1] 蔡长安.基于物联网技术的大棚温湿度监控系统的设计[J].长沙大学学报,2016(02):70-72.
[2] 邹世鹏,郭盼盼,秦乐,等.基于ZigBee技术的大棚温湿度无线监控系统研究[J].电子设计工程,2015(4):92-95.
[3] 郭东平.基于单片机的大棚温湿度监测报警装置的研究与开发[D].杨凌:西北农林科技大学,2015.
[4] 杨浩,朱立才,蔡长安,等.计算机网络在物联网工程专业中的教学改革与教学资源平台建设[J].计算机教育,2015(02):56-59.
[5] 张震宇,王洁伟,华群辉,等.基于物联网技术的设备温湿度远程监测系统研究[J].浙江科技学院学报,2013,25(03):194-199.
[6] 周红伟.基于ZigBee技术的葡萄大棚远程监测系统的研究[D].上海:东华大学,2014.
[7] 沈建明.基于ZigBee的温室大棚的温湿度检测系统[D].西安:西安工业大学,2013.
[8] 张健,杜佳星.基于ZigBee无线传感网络的温湿度监控系统设计[J].科技信息,2013(20):48.
[9] 张涛.基于CC2530的温度监测模块设计与应用[D].南昌:南昌大学,2012.
[10] Yuan Z Q.The design of greenhouse cultivation wireless monitoring system based on ZigBee technology[J].Jiangsu AgriculturalSciences,2012,40(11):396-397.
[11] Gao S W,Wu C Y.ZigBee Technology Practice Tutorials[M]. Beijing:Beijing University Press,2009.
*项目支持:金陵科技学院高层次人才引进基金(JIT-6-201623,JITFHXN201608);国家自然科学基金(51575101,51305176)。
作者简介:江煜(1975-),博士,研究方向:物联网工程、农业物联网、声发射结构健康监测。