ZigBee温室环境监控系统设计

1 引言 html

在温室农业生产过程当中,温度与湿度等环境参数直接影响到做物的生长。所以,环境的监测与控制是保证温室生产优质高效的重要手段。而大部分的温室监控系统采用PLC温室控制和现场总线控制系统,这些系统具备布线费时、抗干扰性差和成本高的缺点,制约了其推广应用。再加上目前针对特定地区(如我国最北部地区)气候存在着温度低、昼夜温差大、光照强度大等条件研究较少,使得环境监测的可靠性、稳定性成为急需解决的问题。 编程

结合实地考察与测量,引入ZigBee数传技术到温室栽培中,创建温室环境监控系统,能够极大的节省劳动力,再加上低功耗、低成本等优点,可普遍应用于现代工农业自动控制,是信息技术在农业应用中的极佳选择。 网络

2 系统整体方案 架构

为保证在监测过程当中数据稳定,避免局部数据表明温室数据,因此在每一个温室中将安装多个ZigBee无线模块传感器节点,每一个ZigBee无线模块节点采集2种环境参数。整体系统架构如图1所示。 并发

clip_image002

l 温湿度监测系统 函数

每一个温室的不一样地方都有ZigBee数据采集终端节点,做为移动数据检测节点,每一个ZigBee数据采集节点具备采集环境数据并发送给路由的功能。且在每一个温室包括一个路由器,用来转发数据,并识别和自组网络节点。 测试

路由器将本温室的传感节点数据接收后并发送给协调器。协调器负责整个ZigBee无线网络的创建和维护,收集ZigBee网络中各个ZigBee无线模块节点发出的信息,经过RS232接口把数据传到上位机。PC主要负责处理数据并显示,同时经过发送指令控制整个系统的运行。(若是监测节点距离太远时还能够考虑增长一个Router节点用于路由转发) spa

3 系统硬件设计 .net

整个系统硬件设计主要包括ZigBee网关(协调器)和终端节点2部分。 设计

31 ZigBee网关节点

模块网关节点包括CC2530模块、电源模块、串口模块、USB接口、调试接口和3350V电源转换模块。其中电源模块经过电压转换盒给节点提供33V工做电压。采用的是可;即联科技的JL13 ZigBee2530模块,选取支持最新的ZigBee协议,移植Z-Stack协议栈较为方便的CC2530射频芯片。该温湿度监测系统的硬件构成如图2所示。

clip_image004

2 ZigBee网关硬件

32 ZigBee终端节点模块

在终端传感器节点中,除了网关节点原有模块以外,只需在CC2530I0 增长一个传感器。采用温湿度传感器SHT10。根据须要,终端传感器节点分布在监测环境中,经过SHT10实时进行环境参数的ZigBee数据采集,经CC2530处理后由射频芯片发送。电路如图3所示。

clip_image006

3 SHT10链接

P123引脚对应CC25301312引脚。为了确保芯片和电源系统工做的稳定性,采用BL8555低压差线性稳压器,在12V50V输出电压范围内给电路提供多种固定电压。

4 系统软件设计

整个监控系统软件设计由ZigBee网关软件和终端节点软件2部分组成。协议栈的设计直接关系到整个网络系统的运行。根据ZigBee星型网络,协调器与终端设备在网络中的功能、地位有所不一样。ZigBee网关软件和终端节点软件这2部分都须要向其ZigBee无线模块移植ZigBee协议栈(Z-Stack),尤为是与硬件底层密切相关的PHY层和MAC层的实现,它为上层通讯应用提供API接口函数。温湿度采集系统程序设计是基于Z-Stack协议栈的SampleApp实验进行的,在协议栈的基础上,实现无线网络的组网及通讯。在节点软件设计中,为了方便下载与调试,加入了ISP编程接口,能够对采集的数据信息进行处理。

41 网关节点程序设计

ZigBee的通讯方式主要有点播、组播和广播3种。

    在本设计中采用了周期定时广播发送的方式。其主要负责将终端节点采集到的数据发送给网关节点(协调器),再由协调器经过RS232串口上传到PC串口调试助手上。

协调器节点启动后,根据自身的IEEE地址随机肯定一个PAN ID,并自动造成网络,同时容许其余节点加入到该网络,并负责给加入网络的设备分配一个16位短地址、配置网络参数、维护网络正常运行、接收路由器和终端节点发送来的数据。协调器做为整个网络的核心,主要任务便是搭建ZigBee数传网络,实现数据的发送与接收。发送部分协调器在创建网络过程当中,须要登记事件、定义任务ID、设置事件编号和设定发送周期。接收部分须要完成2个任务:读取接收到的数据;把数据经过串口发送给PC。协调器节点工做流程如图4所示。

clip_image008

4 协调器节点工做流程

42 传感器SHT10程序设计

终端节点主要功能是加入已经存在的ZigBee数传网络,接收命令发送数据,可是不能转发数据。温湿度信息采集通常分为自动采集和手动采集。将终端定时器设定一个初值,而后启动定时器,每次到达定时设定值时触发中断,开始测量温湿度,测量结束后由CC2530将数据发送出去,此后终端进入低功耗模式,定时器从新装载,计时继续,周而复始,实现自动采集;手动采集是由PC发指令给指定终端,终端识别出该指令后启动传感器,开始温湿度采集,将数据处理后再传给PC。下面对传感器节点主要代码进行说明。

    1)传感器的启动传输程序传感器上电后,进入11 ms的“休眠”状态。首先采用一个延时命令来完成系统初始化延时,而后由CC2530SHTl0发送“启动传输”时序,唤醒芯片。随后,SHTl0接收由CC2530的微控制器发送的命令。

    数据传输初始化由一组“启动传输”时序来表示。用0表示低电平,l表示高电平时,当SCK时钟为1DATA翻转为0,紧接着SCK变为0,在下一个SCK时钟为1DATA翻转为1。这部分主要由void s_transstart(void)函数完成。

    2)SHTlO写数据时序系统采用按位写的方式改变控制线SCKDATA的状态。对于SHT10DATA在每一个SCK时钟降低沿以后写入一位数据来改变状态,并仅在SCK时钟上升沿有效。数据传输期间,在SCK时钟为高电平时,DATA必须维持稳定。不然可能出现写数据时序的错误。写数据时序主要由char s_write_byte(unsigned char value)函数来完成。

    3)SHTl0读数据时序读数据程序主要由函数char s_read_byte(unsignedchar aek)完成。ack为读数据确认控制字,初始变量i=0x80val=0。当向SHTl0传感器写入测温控制字0x03这个8位数时,系统将进行温度的测量工做,当写入0x05时,系统将进行相对湿度的测量。

    4)通讯复位程序假如与传感器SHT10的通讯发生中断,能够经过随后的信号序列将串口复位,保持DATA1,触发SCK时钟9次或更多。在下1次指令执行前,发送1组“启动传输”序列。这些程序序列只对复位串口有效,而状态寄存器内容仍然保留。该复位程序由void s_connectionreset(void)函数来完成。

    5)SHTl0温湿度信息处理该程序读取指针p_shiduzhip_wenduzhi中的湿度值和温度值。该部分由void calc_shtl0(float *p_shiduzhifloat *p_wenduzhi)函数来完成。信息处理中设置SHTl0的工做精度为14位温度和12位湿度测量,进行相对湿度计算。

    至此,ZigBee数据采集传感器节点程序设计完成。ZigBee数据采集传感器节点做为温室监测系统的基本组成单元,须要具有环境的参数采集、数据收发、数据处理、无线通讯等功能。在实际的应用中只需将CC2530模块+传感器便可组成EndDevice节点或者Router节点。这2种节点都可与Coordinator直接通讯进行数据采集,故将以上2种节点统称为传感器节点。

5 系统测试与分析

本测试阶段是在实验室环境中完成的。在实验室内部署了3ZigBee无线模块,包括1个主节点,2个子节点。

首先须要按图5所示将硬件系统链接起来,接着须要作的就是把源程序下载到无线ZigBee开发系统中并检验系统是否正常工做。

clip_image010

5 无线ZigBee开发系统下载链接示意

而后,采用星型网络拓扑结构组成一个简单的ZigBee网络。这3ZigBee数传节点(协调器与PC链接,路由器增长ZigBee数传网络的传输距离,终端节点采集温湿度信息)的短地址随机分配。节点之间的通讯距离为 10 m ,系统启动后自动造成网络。打开串口终端COM5(串口号根据硬件驱动接口的差异而有所不一样),设置波特率为38 400 bs、无奇偶校验、8位数据位、1位中止位、无硬件流模式,终端节点发送来的温湿度数据如图6所示。

clip_image012

6 终端节点温湿度数据

6是一个终端节点接入网络时的通讯状况。文中所采集的数据均为空气中的温、湿度信息,从图中能够看出,终端设备的短地址为0x 796F ,温湿度的精确度达到小数点的后4位。定时器周期为5000 ms,温湿度间隔5 S采集数据一次,该系统实现了环境温湿度数据采集功能。与系统采集数据时的实际状况相比较,其实际温度测量偏差为0 8,相对湿度测量偏差为4RH。因为在测试过程当中会有一些硬件电路的内部因素存在,因此该系统测得的温度比实际温度值高071 2。这与SHTl0温湿度传感器技术指标吻合,能够实现系统温湿度数据采集的功能。

6 结论

结合实地考察的温室环境,采用ZigBee无线模块技术应用于温室监控系统。利用无线ZigBee数据采集传感器网络对温室温湿度等信息进行采集,设计了无线传感器组网方案,完成了传感器节点软硬件设计,从而实现无线ZigBee数据数据采集与传输功能。测试试验代表:采用ZigBee数传模块进行组网和数据采集,有较好的稳定性和良好的实用性。对不一样规模的温室,该系统能够灵活改变网络规模,可以知足温室监测系统的须要。由此能够得出:将ZigBee数传技术为基础的监测和控制系统引入到现代农业温室监测系统是一个很好的解决方案。

相关文章
相关标签/搜索