基于ZigbeeCC2530的温湿度上位机监测系统设计毕业设计讲解Word文件下载.docx
《基于ZigbeeCC2530的温湿度上位机监测系统设计毕业设计讲解Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于ZigbeeCC2530的温湿度上位机监测系统设计毕业设计讲解Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
WuYan)
(collegeofelectronicengineering,HuainanNormalUniversity)
Abstract:
Accordingtothecurrentsituationoftheresearchontheintelligentremotemonitoringofgreenhousecrops,theresearchstatusofintelligentremotemonitoringisurgentlyneeded,andasetofremotemonitoringsystemfortemperatureandhumidityisdesigned.Thesystemiscomposedofapluralityofacquisitionterminalsandacoordinatedcontroller.Multipleterminalsareplacedindifferentgreenhousesforreal-timecollectionofdata,theroleofthecoordinationcontrolleristocollectmorethanonecollectionterminalthroughwirelessdatatransmissionoverthedataanalysisandPCmachineconnection.TemperatureandhumidityinformationoperationsoftwareofPCreal-timemonitoringofthegreenhouseonPC.ApluralityofterminalsandacoordinatedcontrollerareusedinanewgenerationofCC2530chipofTIcompany;
temperatureandhumiditysensorusedonthemarketmorepopularDHT11;
wirelesstransmissionbasedonZigBeeprotocol;
PCsoftwareusingLabVIEW,andconnectedwiththecommunicationthroughtheRS-232andcoordinationcontroller.ThereliabilityofZigBeewirelesstransmissionstabilitytestthroughthephysical,thepacketlossrateisintherangeoferror.Temperatureandhumidityacquisition0.5stimedelay,meetthereal-timerequirements.
Keywords:
Terminal;
coordinationcontroller;
DHT11;
CC2530;
ZigBee;
hostcomputer
1.绪论
1.1设计背景和研究意义
现如今我国已经成为世界第一粮食生产大国,据有关统计说明,我国农作物设施栽培面积已经超过210万hm2。
提高农作物的生产效率已经成为提升中国在国际社会中发展速度的重要的因素之一。
结合我国的气候环境来说,普通的传统式耕作方式受到了限制,在某个季节只能收获特定的农作物,而且外界因素的干扰性较大,突然降温或者长时间的干旱都是影响收成的关键因素。
温室大棚的出现很好的解决了这一问题,使消费者在任何时候,任何季节都可以吃到新鲜的果蔬。
温室大棚的流行,不仅仅给消费人群带来了便利,也为生产者带来了经济利益。
但大面积的种植,如何提高生产效率和更好的监管大棚内作物的生长成了关键问题。
温室作物生长的关键问题就是如何控制好温室内的环境温湿度。
只有在合适的生长环境下,农作物才能以最佳状态生长,才能提高作物的产率。
所以,设计出如何很好的控制和监测大棚内的温湿度环境成为了关键因素。
1.2国内外发展现状
如今快节奏的生活方式,使各个大城市生鲜超市的果蔬成为了热销品,而价格却居高不下。
这些因素追根溯源都归结与温室大棚的生产效率问题。
如何提高温室大棚的生产效率问题,已经成为国内外迫切需要解决的问题。
随着市场的千变万化,物联网技术的飞速发展,温室种植规模的不断扩大,对温室生产过程的监测,调控技术的需求量日益增加,不但要管理好作物的生产品种、面积。
还要时刻关注市场,使得生产、消费处于良性状态的循环下。
过去的“十一五”期间,国内不少研究机构和农业相关单位也研究出了一系列温室监控系统。
但是,这些产品过于单一化。
只能适应于小范围的。
局域性的温室环境。
而不能满足于大面积的大棚监控。
各个环境间缺少信息的交换。
而我国温室大棚恰恰是由温室群为主。
不是很完美的解决目前的问题。
20世纪70年代,国外温室大棚生产技术以飞快的速度发展。
但由于需求和生产面积的限制,温室监控系统也只是适用于小规模的温室,但在那样的环境下,小规模的温室农作物栽培已经能满足于市场的需求,因此局域性的的温湿度监测系统已经达到要求,而考虑到我国的现状,大规模温室群已经成为主流,开发出大规模的温室群温湿度监测系统已经是大势所趋。
1.3论文设计主要内容
基于ZigBee技术的远程温湿度监测系统设计主要是针对于我国目前大棚产业的现状而设计,设计的特点是利用ZigBee技术,利用其独特的组建局域网的模式,实现将各个大棚数据汇总到一起,实时动态的监测每个大棚状态,可以减少生产人员的工作量,在没有异常的情况下,人员可以节省时间,提高工作效率。
从而达到以最小的付出收获最大的利益,这也是科技是第一生产力的最终目的。
论文的第一部分为绪论部分,详细讲述了设计该系统的背景和目的,分别介绍了国内目前温室大棚技术的现状和国外发展的状况,所以设计出一种适应于我国温室大棚的远程监测系统是迫在眉睫的。
第二部分是系统设计相关理论知识介绍,分别介绍了ZigBee技术的特点和优势,以及IAR开发环境、labVIEW软件介绍
2系统设计相关知识介绍
2.1ZigBee技术
ZigBee是近几年新兴一种的短距离、低速率、稳定可靠的无线网络技术,是无线传感网络(WSN,wirelesssensornetwork)的核心技术之一。
是基于IEEE.802.15.4无线标准研发的,关于组网、应用软件和安全的技术标准。
ZigBee的特点就是可靠性高、无人工自组网和断网自恢复能力强、多工作频段工作和开发难度相对简单[1]。
ZigBee的起源却很有意思,它的命名主要是人们对蜜蜂采蜜的观察,蜜蜂在采蜜的过程中,会跳着优美的舞蹈并发出“嗡嗡”的声音,其舞蹈的轨迹很像“Z”字形状;
蜜蜂个体比较小,但是群体多,单个个体能量小,能携带花粉。
因此,我们用ZigBee技术来表示低成本,低功耗,能量小,传输速率低的无线通信技术。
在中文翻译中,通常用字面翻译来解释“紫蜂”。
在ZigBee技术中,我们学习和开发时,通常都要从层的角度去理解。
当然它也是和我们熟知的TCP/IP协议的层结构类似,但由于其本身是简单的,低功耗的,低速率的无线传输协议,所以层的结构相对TCP/IP来说要简单的多。
2.1.1协议层
蓝牙、WIFI等其他网络协议一般有7个层,分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
而ZigBee协议层相对简单,仅为3层,分别为PHY层、MAC层以及应用层。
PHY提供两种两种类型的服务:
即通过实体接口(PLMN)对PHY层数据和管理提供服务,PHY层数据服务可通过无线物理信道接受和发送物理层协议数据单元(PPDU)来实现[2]。
PHY层主要作用是负责无线数据的收发、数据能量的检测、信道的选择、清除信道选择(CCA)、及通过物理媒体对数据包进行收发[2]。
MAC主要的作用就是信道的管理、信道接入、时隙管理、发送确认帧、发送状态连接和断开状态的请求。
还提供一些合适的安全机制[2]。
图1ZigBee协议层示意图
2.1.2网络拓扑结构
ZigBee技术根据相关的应用有三种拓扑结构分别为:
星形拓扑结构、树形和网状拓扑结构。
如图2所示。
图2ZigBee网络拓扑结构图
星形结构是由一个协调器、多个路由器和终端组成,协调器能同时和路由器和终端组成网络通信。
其中路由器和终端不能直接通信,必须通过协调器进行转换操作,才能实现数据的交换。
网状结构与星形结构不同的是,它各路由器之间也能相互通信,各路由器又能和协调器进行数据的交换,路由器分别把终端采集的数据通过路由器的转换、通信反馈给协调器。
树状结构特点更明确,类似于等级似的数据交换,一个路由器只负责自己旗下的几个终端节点,不与其他路由器通信,只与协调器进行数据交换。
然后协调器要控制终端也必须经过他们的各自所归属的路由器。
2.2硬件芯片介绍
2.2.1CC2530芯片
CC2530是德州仪器(TI)公司专为适应物联网大潮而设计的一款专用于IEEE802.15.4无线局域网协议的专用片上系统芯片(SOC)。
能以非常低的功耗和成本建立强大的无线个人局域网节点。
与其他众多嵌入式芯片不同的是,它集成了业界领先的RF收发器,当开发者使用就无需再进行额外的无线模块外围电路的设计。
大大减小了硬件开发者难度开发者。
CC2530采用工业增强型的8051内核,内部系统带有可编程的FLASH存储器,8—K的RAM和其他MCU资源。
CC2530有四种不同的型号:
CC2530F32/64/128/256,主要是根据Flash大小区分:
32/64/128/256KB的Flash存储器。
目前广泛应用于物联网、智能家居行业。
图3CC2530芯片引脚图
2.2.2DHT11温湿度传感器
DHT11是一款价格低廉的、内部含有已校准数字信号输出的温湿度传感器,是市场上非常常见的复合数字传感器。
由于其价格低廉,开发使用方便,因此广泛使用于汽车、测试及检测装备、除湿器、温湿度调节器等场合。
其内部还有电阻式感湿元件、NTC测阻元件、OPT以及MCU控制电路模块;
将这些部件封装在一起,实现温湿度数据的采集处理;
通过单总线的方式输出。
湿度测量范围:
20%∼90%
湿度精度:
±
5%RH
温度精度:
2℃
分辨率:
1
封装:
4针单列直插
表1DHT11引脚功能说明
PIN
名称
注释
VCC
供电3-5.5DC
2
DATA
单总线,串行数据
3
NC
空脚,请悬空
4
GND
接地,电源负极
2.3开发环境介绍
2.3.1IAR开发环境
IAR是目前嵌入式开发工具中非常流行的一款开发软件,它集成C/C++编译器、调试器于一体的优势获得了众多嵌入式开发工程师的青睐。
它是全球领先的的嵌入式开发工具和服务的供应商IARSystems所提供,支持目前全球众多知名半导体公司的微处理器。
全球众多著名的半导体公司也在使用IAR公司的产品。
开发的嵌入式产品主要应用于消费电子、航空航天、工业控制、汽车电子、医疗电子等众多领域。
IAR公司根据市场上不同的微处理器芯片的内核,提供了不同的版本。
我们这里用到的是IAREmbeddedworkbenchIDEforIntelMCS-8051这种版本的IAR开发环境主要是为8051内核的微处理器。
其软件界面如图5。
图5IAR开发环境界面
2.3.1labVIEW2013开发环境
labVIEW是美国国家仪器(NI)公司推出的的一款程序开发开发环境,该公司还有一款非常经典电路仿真软件Multisim,也受到了广大电子工程师的喜爱。
LabVIEW也是类似于C、BASIC等程序开发环境类似,但他不同的于其他计算机开发语言的是它抛弃了传统的文本式的语言编辑,取而代之的是图形化的编程语言进行开发,也就是人们所说的G语言,G语言最大的优势就是简单、简洁明了。
这种程序开发语言对程序员的语法知识要求不是很高,所以对于非计算机类专业的人员,用到界面开发的话,labVIEWS是最好的选择。
该软件的特点就是提供了非常齐全的程序控件,开发者不用关心底层是如何实现的,软件本身就提供了各类接口控件,不管是是底层嵌入式的开发,还是上层应用的开发,labVIEW都可以满足设计者的要求。
labVIEW软件界面如图6所示。
图6labVIEW2013软件界面
3系统硬件电路设计
3.1电源电路
CC2530及外围传感器工作电压为3.3V的工作电压,所以在电源电路设计的时候将直流输入的5V电压转换成3.3V,如图7所示。
图7中,电压变换采用了LM1117电压转换芯片,该芯片的目的就是将输入的5V电压转换成微处理器需要的3.3V。
其中DCIN为直流5V输入接口,经过F1的保险丝和开关进入LM1117的3号管脚,经芯片转换过后,2号引脚输出3.3V电压。
其中在2号管脚和3号引脚都会有电解电容、普通瓷片电容接地;
瓷片电容的目的是滤除高频杂波。
在转换正常的情况下,二极管LED指示灯会接通,并发光。
图7电源电路
3.2通信电路
在本设计中,涉及到下位机和PC上位机通信的过程。
通信方式有USB通信、RS-232通信,这里我们选择开发难度相对简单的RS-232通信协议,也就是串口通信。
但是目前市场上笔记本电脑基本都取消了串口接口,所以需要将USB信号转换成串口信号。
图8为USB转串口的转换电路。
图8PL2303驱动电路
3.3传感器电路
本设计采用温度、湿度两用的传感器DHT11,DHT11采用单总线的数据读取和写入模式,操作简单,程序代码编写也较为容易。
借鉴官方数据手册提供的驱动电路,如图9所示。
图9DHT11采集电路
传感器1号引脚接电源VCC端;
3号引脚接GND端,为传感器提供正常的工作电压,2号引脚为数据端口,其中该端口在使用时需要将其接上10K的上拉电阻,目的是为了能使读取和写入数据的稳定性,单片机输出的高电平在传输过程中会受到外界或者导线的影响,到达数据口的时候可能会发生变化,所以这里需要接上上拉电阻保持其信号的稳定性。
3.4主控电路
CC2530的工作正常工作电压3.3V,因为该芯片内部自带AD转换芯片,所以这里会有模拟电压和数字电压的区别,如图10所示。
芯片引脚中标有DVDD的均为数字电源正,标有AVDD的均为模拟电源正。
32、33、22、23引脚都接上了晶振,但不同的是:
22、23接的是32M的晶振,为系统提供正常工作提供基准时序。
32、33引脚接上的晶振为32.768K,其作用就是为系统时间提供基准时序,开发者可以采用这个时序基准开发RTC实时时钟;
另外,当单片机处于休眠状态时,该晶振还可以继续提供实时时钟的时序。
.
图10CC2530系统电路
4系统软件设计
4.1系统整体框架
根据设计要求,构思出系统整体框架。
温湿度传感器采集数据;
采集节点进行数据的处理,并通过无线传输给协调器;
协调器通过点对点的通讯方式和各个节点联系,并实时的接受各节点的数据。
协调器与PC机通信,把各节点的信息发送PC端。
这里由于实际情况的限制,不可能采取N多个节点;
所以设计采用2个节点为例。
图11系统结构框架
4.2下位机程序设计
任何的程序代码编写都要事先进行程序流程图的设计,本设计的下位机程序设计是根据Z-Stack协议栈规范的,所以在程序设计时,与以往的裸板开发不一样,在理解Z-Stack协议栈的APP层的同时,加入自己的逻辑设计、应用程序部分。
程序流程图如图12所示。
图12节点发送、协调器接收程序流程图
在节点程序设计时,首先要对DHT11驱动的子程序编写,测试并通过;
然后移植到协议栈的程序代码中调试。
能在协议栈中也能实现温湿度采集,并实现数据的发送程序编写。
在协调器程序设计时,首要问题就是报文的提取。
在Z-Stack协议栈中,接收到的报文并不是单独的数据,所以必然要将需要的数据包提取出来,然后解析数据并编写协议栈环境下的串口发送程序。
具体程序代码见附录。
4.3上位机程序设计
协调器和节点都是基于C语言开发的,而上位机的界面开发则是根据labVIEW软件的特点,采用图形化的G语言开发,程序流程图如图13所示。
图13上位机程序流程图
根据设计的程序流程图,在labVIEW2013程序面板中编写相应的代码。
其代码如图14所示。
图14labVIEW程序面板
程序面板中,所有执行代码都是在一个大的循环下执行的,要让软持续运行,大循环的条件必须为真;
条件为真时系统时间控件会显示当前时间延时控件也会工作。
控制循环的是布尔变量的按键,可以选择条件的真假实现程序的终止。
大循环内有一个VISA串口配置控件,将波特率设为115200bps、设置奇偶校验位0、终止位0。
接着就是另一个内嵌小循环;
在这个小循环里,串口缓存区的数据在这里通过数组、字符的一些操作将数据分离出来,分别对应1号节点和2号节点。
解析的数据将会在前面板显示出来,所以前面板的设计也要合理美观,前面板如图15所示。
图15labVIEW前面板
5系统调试及结果分析
5.1程序调试、下载
经过系统流程的设计、代码的编写、移植、修改、调试,将协调器程序代码编译后通过JTAG下载的方式下载到CC2530芯片的Flash中;
接通电源后,此时的协调器具有组建网络的能力。
接下来把程序切换到终端模式,对程序进行编译、下载。
同上电后,终端节点会自动查找协调器,自行搜索是否有对应的协调器的存在;
若搜索到协调器的存在会主动建立网络连接。
程序编写好后,点击编译按钮,如图16所示。
图16程序调试编译界面
编译通过后,通过JTAG将CC2530的下载口与PC机相连,协调器程序下载需在左上角的工程选项复选框选择CoordinatorEB-Pro方式,点击下载;
下载终端节点的程序需要更改左上角工程选项复选框选择EndDeviceEB-Pro方式,点击下载。
下载界面结果如图17所示。
图17JTAG程序下载界面
5.2运行结果及分析
5.2.1运行结果
将程序代码编译下载到芯片内,分别给协调器和终端供电;
协调器的组网指示灯会闪烁,等到有终端节点加入其网络的时候,指示灯就会稳定的指示。
终端节点的网络指示灯也会一直指示网络连接状态。
在终端节点的设备上,DHT11温湿度传感器的电源指示灯也会亮起,说明DHT11处于正常工作状态。
协调器(左下)、终端节点(左上、右上)组网状态的实物设备如图18所示。
图18协调器、终端组网状态图
协调器和PC连接时,检查串行端口是否连接,查看我的电脑–>
设备管理–>
端口是否有端口存在,若出现无法识别USB设备,需要安装USB转串口的驱动,这里的驱动芯片为PL2303。
安装驱动后会出现COM口,再打开上位机软件,选择刚才识别的COM口,并点击开始按钮,连接状态指示灯会由红色变为绿色,说明连接成功。
此时上位机界面上会有下位机发送的数据。
如图19所示,此时协调器只与一个节点组网,另一个节点未供电。
此时上位机界面就出现一个节点的数据;
数据会每500ms更新一次,若用手握住DHT11或对其吹口气,此时上位机界面的数据会发生变化,表格温湿度的波形会慢慢的上升。
图19单个节点上位机界面
当一个节点正常工作的时候,另一个节点突然通上点,另一个节点的数据界面也会及时的更新,在更新的同时不会影响另外一个节点,两个节点的工作状态是相互独立的,也不会相互影响。
如图20所示,界面的上半部分实时显示1号节点的温湿度信息,下半部分显示2号节点的信息。
在波形表格的左侧是一个温度指示计,它的左上角有个数字显示框;
直观的反映动态变化的同时,又能时刻显示其数字大小的变化。
右边蓝色液压界面是湿度指示。
其右上角也有个数字框,也是为了能更清晰的反映数字变化。
在整个界面的会实时显示当前的时间。
图20两个节点上位机界面
5.1.2结果分析
通过多次连接、组网、通信,数据基本都能稳定的上传,上位机也能很快的识别并且稳定的显示其上传结果。
当将终端节点设备拿到很远的地方;
并且有很多建筑物阻挡的地方时,数据通信会不稳定甚至出现断网的情况。
若供电不稳定或者终端节点和协调器上电过于频繁,也会出现数据的突变为0的情况,但持续时间很短,为一个数据更新周期。
下一个更新周期的开始就会回复正常显示状态。
理论上来说,根据天线的发射功率,能达到2km的通信距离,当然是在无障碍物的前提下,解决这样的问题需要增大天线的发射功率,更换更好的接收天线。
但由于经济因素和时间情况不允许,所以这样问题在以后进行改进。
另外虽然数据突变情况出现次数很少,但是也反映出一个问题,需要解决这样的问题,需要对数据进行滤波处理,这里的滤波采用数字滤波,可以采用平滑滤波算法,平均值滤波算法等,但由于本人目前知识能力有限,对这些算法知识了解不够。
在以后的学习中会花更多的时间解决这样的问题。