热门搜索 :
考研考公
您的当前位置:首页正文

基于ZigBee的大棚环境监测系统设计

来源:伴沃教育
龙源期刊网 http://www.qikan.com.cn

基于ZigBee的大棚环境监测系统设计

作者:陈国绍 丁莉 王中生 来源:《物联网技术》2013年第10期

摘 要:针对当前农业发展的需要,通过采用ZigBee与串口通信技术将温室信息实时传输到监测系统,使种植者可以及时了解大棚环境,并根据接收到的数据对大棚环境进行控制。以VB.NET开发上位机程序,用传感器接收温湿度数据,并通过ZigBee无线通信模块将信息通过串口传送给上位机,再由上位机监测软件完成数据的存储。对大棚中每一个节点的温湿度进行实时显示,当超出系统预先设定的温湿度期望值区间时,发出报警声音。实验说明,基于ZigBee的无线传感网络监测系统有着低功耗、小体积、使用简单方便等特点,更加适合现代化的农业发展。

关键词:ZigBee;串口通信;无线传感网络;实时监测

中图分类号:TP277 文献标识码:A 文章编号:2095-1302(2013)10-0016-03 0 引 言

大棚环境监测系统实时地对大棚的温度、湿度等环境因素进行检测,减少了种植人员的工作量;及时地对不利环境进行报警,减少了因为人工疏忽而造成的农作物减产的情况;记录大棚各个时段的环境数据,方便农民对农作物的生长情况作出更全面的了解,方便农民控制大棚环境,使之利于农作物的生长。对大棚温室的控制与管理是农业自动化生产的重要领域。目前,绝大多数的温室控制系统的信号传播方式都是有线传输,大量的布线不可避免。有线传输布线复杂,布线成本高,大棚内的环境温湿度都比较高,使得系统的抗干扰性和可靠性降低,后期的维护难度比较大。而采用无线传输方式可以有效地解决以上问题。

本文设计的大棚环境监测系统,使用单片机和温湿度传感器组成数据采集节点,采用无线射频CC2530(ZigBee)技术进行数据传输,上位机开发则采用Visual Basic.NET和Access数据库系统,将无线节点所采集到的温湿度信息实时地显示到系统界面,从而达到对温度监测的目的。

1 ZigBee技术简介

ZigBee是一种便宜的、低功耗的近距离无线组网通信技术[1],它有可能运用于几乎所有行业的低速率、短距离的无线通信,近些年多应用于智能家居、工业应用、智能交通、智能建筑和医院应用等。ZigBee的显著特点就是低速率、低功耗、低成本、自配置和灵活的网络拓扑结构。由于ZigBee技术的传输速率低,传输数据量很小,因此信号的收发时间短;而在非工作模式中,ZigBee节点又处于休眠状态,所以ZigBee节点非常省电。由于ZigBee协议栈相对于其他无线传输技术要简单得多,降低了对控制器的要求,因此可以采用8位单片机和规模

龙源期刊网 http://www.qikan.com.cn

很小的存储器,很大程度上减小了系统开发的成本。在可通信的距离内,ZigBee通过网络协调器自动建立网络,采用CSMA-CA方式进行信道接入;节点设备可以随意地加入和退出,是一种自组织、自配置的组网方式。ZigBee有多重网络拓扑结构,可以根据不同的需求使用相应的拓扑结构,具有较强的灵活性[2]。 2 系统结构设计

本系统由终端节点、协调器(也称为ZigBee网关)和数据库管理系统组成。终端节点对温湿度实时采集,经过C51单片机处理后上传到ZigBee无线网络。其中,每个ZigBee模块还具有中继功能,以免因距离过远无法传输。数据库管理系统采用VB.NET开发人机界面。如图1所示,ZigBee模块负责收集大棚温度数据、湿度数据并进行无线发送,避免了布线的麻烦,与其配套的上位机软件是一个拥有良好界面的数据监控和存储中心。下位机主要完成数据的采集与发送,上位机完成数据的分析和存储。本系统中ZigBee终端节点上装有温湿度传感器,负责采集大棚温湿度数据,而ZigBee模块负责通过无线网络传输数据信息,ZigBee网关节点负责收集终端节点的信息并通过RS232传输给上位机,上位机系统需要实现温湿度数据的实时显示以及数据的存储、查询、删除等功能。 图1 系统总体结构图 3 系统硬件结构组成

环境监测系统硬件装置由终端节点和协调器两大部分组成,系统结构图如图2所示。通常一套装置只有一个协调器,其主要包括微控制器、射频收发单元、无线节点和电源模块以及接口单元。在系统的硬件选择上,主要从温湿度的精确度、检测范围和经济适用度方面进行考虑。笔者主要采用集成的温湿度传感器以及CC2530作为ZigBee模块。

本系统下位机终端节点包括温湿度传感器、单片机和ZigBee模块。将终端节点按用户要求放置到大棚中,温湿度传感器将大棚环境信息收集上来,通过IIC总线将数据传输到STC12LE5204AD单片机进行数据处理。因为STC12LE5204AD没有IIC接口,所以本系统采用IO接口进行模拟[3]。单片机将处理过的数据信息传输给ZigBee模块,该模块将数据在无线网络中按照ZigBee网络协议传输到作为ZigBee网关的协调器,再通过RS232串口传输到上位机,进行数据处理等操作。当终端节点距离协调器过远,无法将信息直接传送到协调器时,可以自主地转送到其他终端节点进行数据中继,进而传输到协调器中[4]。 图2 系统结构图 4 系统软件设计

计算机上位机监测软件在Microsoft Visual Studio 2008环境下开发,系统将下位机收集到的温湿度信息交给Access数据库进行标准化管理。种植者可以通过计算机监测软件查询大棚

龙源期刊网 http://www.qikan.com.cn

环境历史信息,通过监测界面监测到大棚温湿度的实时变化,能够设置大棚环境的报警阈值和下位机匹配的硬件参数等。 4.1 数据接收模块

为了使下位机采集到的数据可以传输到上位机,需要编写串口通信程序进行串口通信。在Microsoft Visual Studio 2008中编写串口通信程序,一般都使用Microsoft Communication Control(简称MSComm)的通信控件,只要通过对此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通信。但是,Visual Studio.Net没有将此控件加入控件库,所以人们采用了其他方法在Visual Studio.Net来编写串口通信程序,本系统利用SerialPort类进行串口编程。本系统需要实现下位机参数可以灵活匹配的功能,可以通过编写相应程序得以实现。 设计时,应首先打开串口连接;判断下位机参数是否已正确选择,下位机参数有五个,都需要进行判断;之后便可与下位机参数进行匹配,设置串口参数;再建立串口通信事件;最后接收数据信息。下面是其部分代码:

Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived '引入SerialPort类,接收数据HOneData(第一个节点的湿度)等三组六个数据 Dim byteToRead As Int16 = SerialPort1.BytesToRead() If byteToRead = 21 Then Dim ch(byteToRead) As Byte Dim bytesRead As Int16 = 0

bytesRead = SerialPort1.Read(ch, 0, byteToRead) '用来存放接收到的数据 If ch(0) = 170 And ch(1) = 85 Then ' 判断读取下位机数据的长度是否为有效的 HOneData = CLng(\"&H\" & Hex(ch(2) & ch(3))) / 10

………'十六进制转成十进制(前面的),并且小数点向左进一位(除以10) 图3 所示是其数据接收模块流程图。

图3 数据接收模块流程图 图4 数据处理模块流程图 4.2 数据处理模块

龙源期刊网 http://www.qikan.com.cn

环境数据信息从下位机通过RS232串口传输到上位机系统,需要进行分析、转换等操作。数据按照规定的帧格式传输,每帧包含3个数据,分别为节点编号、温度数据、湿度数据,均以十六进制形式表示。上位机接收到数据后,分离其中的数据位,依次取出节点编号、温度数据、湿度数据中的值,进行十六进制数据转换成十进制数据的操作后,保存到数据库中。数据处理模块的流程图如图4所示。下面是其部分代码: Imports System.Data.OleDb '引用access控件

Public LHGconn As New OleDb.OleDbConnection(\"provider=microsoft.jet.oledb.4.0;\" & \"data source=\" & My.Application.Info.DirectoryPath & \"\NewData.mdb;\") '打开数据库,路径为相对路径

Public Sub LHconnopen() Try

If LHGconn.State ConnectionState.Closed Then LHGconn.Close() LHGconn.Open()

Call RAlarm()'数据库连接,错误则报警 4.3 数据显示模块

数据显示模块是整个监测系统中最重要的模块,需要将接收到的下位机数据以实时波动曲线的形式展示给种植者,该模块使用.NET Framweork构架中提供的GDI+类库进行绘图。系统界面中设计两个坐标轴,分别用来显示温度数据和湿度数据。系统获取从下位机接收到的数据在坐标轴中进行绘图,获取到的十六进制数据信息通过分析处理转化为十进制数据,再通过数学计算,确定该数据信息在坐标轴上的坐标值。将相邻两个坐标点用画线的方法连接起来,则形成了实时显示的曲线。使用Bitmap类,用来封装 GDI+ 位图,此位图由图形图像及其属性的像素数据组成。Bitmap 是用于处理由像素数据定义的图像的对象,相当于定义画布。使用Graphics对象所提供的Graphics.FromImage方法从指定的Image创建新的Graphics,相当于定义了一个画笔,使用picturebox控件来显示所绘制的图形和图像。 5 结 语

基于ZigBee的大棚环境监测系统实现的是温度和湿度数据的无线检测,具有数据传输可靠、组网简单灵活、设备成本低等特点。本系统能够实时采集环境数据,将大棚环境信息及时地传递给用户,用户可以及时地掌握大棚环境,从而对环境进行调节与控制,避免因为人为疏忽造成的农作物减产等不良影响,符合农业现代化发展的需求,具有一定的应用价值。

龙源期刊网 http://www.qikan.com.cn

参 考 文 献

[1]瞿雷,刘盛德,胡咸斌. ZigBee技术及应用[M]. 北京:北京航天航空大学出版社,2007. [2]高守玮,吴灿阳. ZigBee技术实践教程[M].北京:北京航天航空大学出版社,2009. [3]张毅刚. 单片机原理及接口技术(C51编程)[M]. 北京:人民邮电出版社,2011. [4]徐世武,王平,黄晞,等.基于ZigBee节点的自组织网络设计[J].电子测量技术,2011,21(12):250-253.

[5]黄震坤,曹伟.ZigBee技术在温控系统中的应用[J]. 现代电子技术,2009,32(17): 203-205.

因篇幅问题不能全部显示,请点此查看更多更全内容

Top