毕业论文基于zigbee技术的蔬菜大棚管理系统设计说明书_第1页
毕业论文基于zigbee技术的蔬菜大棚管理系统设计说明书_第2页
毕业论文基于zigbee技术的蔬菜大棚管理系统设计说明书_第3页
毕业论文基于zigbee技术的蔬菜大棚管理系统设计说明书_第4页
毕业论文基于zigbee技术的蔬菜大棚管理系统设计说明书_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Zigbee技术的蔬菜大棚管理系统设计摘要:随着计算机技术、无线通信技术以及农业设施的不断完善,蔬菜大棚也慢慢向着无线、经济、智能化的方向发展。而温湿度是蔬菜大棚环境监控的一项重要指标,从早期的人工管理、自动控制,以及到现在要求的智能化,温湿度的监控越来越安全、经济、高效、便捷。本文以增强型工业标准的8051内核CC2430为硬件平台、IEEE 802.15.4为协议标准以及和数据库等的软件结合,设计了一个基于Zigbee网络的远程蔬菜大棚温湿度的监控系统。该系统运行可靠、功耗低、成本低达到了我们对蔬菜大棚温湿度的远程实时监控。为提高农作物的生产量、为农民增收带来了很好的经济和社会效益。关键词:Zigbee; 实时监控;无线通信; 数据库;智能化 Managing System of Greenhouses Based on Zigbee Huang XiongfengSanming University College of Mathematics and Information Engineering Grade 2008 Computer Science and Technology (Orientation: Embedded Technology)Abstract:With the continuous perfection of computer technology, wireless communication technology and agricultural facilities, the technology of greenhouses is also developing in the direction of wireless-ness, economy and intelligentization. Humiture is an important indicator in monitoring the environment of greenhouses. With the early labor control, automatic management and the present required intelligentization, the monitoring of humiture is becoming more and more safe, economical, efficient and convenient. With enhanced industry-standard 8051 kernel CC2430 as hardware platform, IEEE 802.15.4 as protocol standards and softwares combined with database, the paper designs a remote monitoring system of greenhouses based on Zigbee. The system is dependable and helps to achieve real-time remote monitoring of the humiture of greenhouses with its low power consumption and cost. It can increase the production of crops and thus bring great economic and social benefits to farmers.Key words:Zigbee; real-time remote monitoring; wireless communication; database; intelligentization目 录第一章 绪论11.1 本文研究的背景和意义11.2 相关领域国内外的研究现状21.3 本人主要工作31.4 本文组织结构3第二章 系统结构框架分析和设计42.1 无线蔬菜大棚模型结构分析42.2 系统整体框架设计6第三章 系统开发环境和软硬件选型83.1 系统开发环境83.2 系统软硬件选型8第四章 系统软硬件的设计和实现144.1 数据采集节点的设计和实现144.1.1 温湿度数据采集模块144.1.2 无线通信模块164.2 基站节点的设计和实现184.2.1 IEEE802.15.4标准和Zigbee协议介绍184.2.2 基站节点实现功能描述194.2.3温湿度数据解码224.3节点程序的烧录234.4 服务端的设计和实现274.5 远程主机端的设计和实现284.5.1 主机服务端应用软件设计分析294.5.2 主机服务端应用软件部分功能实现30第五章 系统运行和验证37第六章 结论39参考文献40致 谢41第一章 绪论随着人类社会的发展,温室大棚的出现促进了农业发展、带动了农民的增收,给人类的农业发展带来了可观的经济和社会效益。温湿度作为农作物生长的重要因素,便成为了蔬菜大棚智能化控制的主要研究部分。1.1 本文研究的背景和意义作为世界四大文明古国之一,我国也是世界上的农业大国。有着悠久的农业种植历史,但国外的温室种植,温室控制管理技术已经相对比较成熟,而我国的农业设施、控制技术、管理技术等却远远落后于欧美等一些发达国家。随着改革开放,特别是90年代以来,在过去的二十几年里先后从国外引进了许多温室种植技术,以蔬菜大棚、花卉为主的植物栽培设施在大江南北遍地开花,随着政府对城市蔬菜产业的不断投入,乡镇内蔬菜大棚产业被看作是21世纪最具活力的新产业之一。显然引进国外的先进技术是实现我国现代化农业的一条快捷路径,与此同时我们也要发展适合我国环境资源特点的有我们自主知识产权的温室控制技术1。我国地大物博,但可耕植的土地却很少,加上人口众多,人均占有耕地面积少。因此,想要提高农业生产值,只靠增加耕地面积是不现实的,所以我们要想办法来提高单位产量。温室大棚技术就是其中一个好的方法。温室大棚是一种可以改变植物生长环境、为植物生长创造最佳条件、避免外界四季变化和恶劣气候对其影响的一个场所。通过建立一个模拟适合生物生长的气候条件,创造一个人工气象环境,来消除生物生长对温湿度等环境的依赖。而且它能使传统的季节性作物不再依赖以季节气候等因素,使得在某个季节里可以长出人类所需的作物。由于温室大棚能达到调节产期,促进生长发育,防治病虫害及提高质量和产量等众多的作用,并且已成为农民增收的主要手段,所以在世界上越来越普及温室大棚技术。随着大棚技术的普及,温室大棚数量不断增多,温室大棚的温湿度控制便成为一个十分重要的课题。自18世纪工业革命以来,工业发展与是否能掌握温湿度有着密切的联系。在冶金、钢铁、石化、水泥、玻璃、医药等行业,可以说几乎80%的工业部门都不得不考虑着温湿度的因素。温湿度不但对于工业如此重要,在农业生产中温湿度的监测与控制也有着十分重要的意义。传统的温湿度控制是在温室大棚内部悬挂温度计和湿度计,通过读取温度值和湿度值了解实际温湿度,然后根据现有温湿度与额定温湿度进行比较,看温湿度是否过高或过低,然后进行相应的通风或者洒水。这些操作都是在人工情况下进行的,耗费了大量的人力物力。现在,随着国家经济的快速发展,农业产业规模的不断提高,农产品在大棚中培育的品种越来越多,对于数量较多的大棚,传统的温度控制措施就显现出很大的局限性2。温室大棚的建设对温湿度检测与控制技术也提出了越来越高的要求。现在我们生活在一个智能化的世界中,其中单片机等计算机技术是功不可没的一部分。单片机是单片微型计算机的简称,其功能强大、体积小、可靠性高、造价低和开发周期短等优点使其成为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。它比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。工业控制、尖端武器、通信设备、信息处理、家用电器等各测控领域都有其身影。采用单片机来对农业大棚中的温湿度进行监测、控制等,不仅具有简单方便、控制性强和实时性高等优点,而且可以大幅度提高被控温湿度的技术指标,从而能够大大提高产品的质量和数量,而且单片机对温湿度的控制问题是一个工农业生产中经常会遇到的问题。因此,本课题围绕基于单片机的温室大棚控制系统展开了应用研究工作。1.2 相关领域国内外的研究现状国外对温室大棚内的诸多环境进行控制的研究比我国早,大约始于20世纪70年代。最初采用的是人工的现场采集、记录、统计等手段来进行对温室大棚内的环境进行相应的控制等。大概到了80年代末则迅速的采用自动化控制。而这些都离不开人的因素参与在里面,所以目前各个国家在已有的基础上对温室大棚进行了更深入的研究,让温室大棚的管理和计算机、无线网络等实现无人值守等方面发展。从国内外温室控制技术的发展状况来看,温室环境控制技术大致经历三个发展阶段:(1)手动控制。手动控制产生于人类对温室栽培作物的前期,在这个时期,温室大棚内的环境因素都必须有人类来进行观察、测量、记录,从而进行温室大棚内环境的调整,诸如光线、温湿度等。在此基础上产生的经验将记录在文献中,从而成为人类对温室大棚技术研究及其实践的理论依据。在这个时期,由于人的因素是温室环境控制的主导,虽然温室大棚产生的经济效益比传统作物生长产生的经济效益高出了许多,但是其生产效率低下也让人类慢慢的在研究新的控制方法,从而让农业的发展更加向工业化式的生产靠近。(2)自动控制。随着人类对手动控制阶段的深入探索,加上工业化程度的渐渐成熟,人类对温湿度大棚的环境监测、控制等又进入另一个阶段:自动化控制。在这个阶段人类根据以往的经验,对温室大棚内作为生长的环境有了深入的了解,以是采用工业控制的手段对大棚内的环境进行调整。拿对大棚内光线强度的控制来举例。大棚管理员先对大棚内作物对光线需求量的上下阀值进行了预先的设置,接着根据大棚内光线传感器传来的数据与上下阀值进行对比,再根据对比的结果来决定是否对大棚内的光线强度进行调整控制等,从而实现了农业大棚的工业化式生产、农业生产效率得到了进一步的提高。我国对国外的温室大棚设备及其控制技术的引入等大多数都是停留在这个阶段。(3)智能化控制。随着计算机科学技术的不断发展,工业控制领域慢慢向着智能化方向发展,温室大棚控制技术也将面临着进一步的改革。到了智能化控制阶段人类根据祖先留下的关于温室大棚控制的文献和经验的传承,进一步总结对温室大棚内环境控制的经验等,从而研究出一种不同作物、不同环境等的控制技术,渐渐的淡化人的因素,从而更大程度的提高生产效率。让温室大棚控制技术逐渐的朝着智能化、无人值守、先进、高收益等方向发展。1.3 本人主要工作在对国内外的一些文献的阅读,以及对计算机技术在工业控制领域的研究、传感器技术的了解以及对无线网络技术的研究,利用这些现有的设备和技术,分析和总结出国内外对温室大棚环境控制技术的经验和成败教训等,再从实际的种植、生产情况出发,根据预先设计好的完整流程,用更短的时间、尽量少的资源生产出更优质的作物产物,从而提高了农业生产效率,为人类获得更多达大的经济效益。从系统的整体功能出发,本文将讨论该系统的硬件构成和软件设计,即系统的数据采集节点部分,数据转发部分(基站),服务器端部分以及远程主机部分(提供用户数据查询)。其中数据采集部分和数据转发部分是基于增强型工业标准的8051核单片机处理器构成的;服务器端主要是收集基站发来的数据、存储、并负责将数据传输到远程用户使用端;远程主机部分主要实现从服务端接收温湿度数据,并以此为基础为用户提供丰富软件功能。本系统重点将放在软件设计和实现上。1.4 本文组织结构本文总共分6章来讲述关于无线蔬菜大棚的设计和实现。第一章主要陈述了研究本系统的背景和意义、国内国外相关领域的研究现状以及本人在本系统中所作的工作;第二章主要介绍了整个系统的整体框架以及一些必要流程图来帮助理解本系统;第三章主要论述了开发本系统所用到的开发环境、工具等;第四章对本系统的软硬件实现进行了详细的描述;第五章将对本系统运行的结果进行验证;第六章对本系统及本文进行了总结。第二章 系统结构框架分析和设计2.1 无线蔬菜大棚模型结构分析经过对Zigbee无线组网技术的了解、对蔬菜大棚的自动化控制的了解、温湿度采集等环节的了解,再根据预期开始时间、成本、经济效益的方面的考虑,本系统的模型主要分为四块:温湿度的数据采集节点、负责从节点接收数据并向主机发送数据的基站节点、主机(服务器)以及最终的用户。该系统的模型框架如图2-1所示:远程主机端服务端程序基站节点数据采集节点图2-1 系统整体模型框架图温湿度采集节点是由CC2430核心板和温湿度传感器构成的。其中CC2430是用来实现Zigbee应用的片上系统,它支持2.4GHZ IEEE 802.15.4/Zigbee通信协议。该模块集成了增强型工业标准的8051单片机、Flash、SRAM和RF收发器3。数据采集节点的工作流程图如图2-2所示:开始N收集温湿度数据系统初始化定时时间到Y发送温湿度数据图2-2 数据采集节点工作流程图数据采集节点是定时的(默认设置成10S采集一次温湿度数据)采集数据,这个时间间隔是可以网络中的基站向温湿度传感器节点发送重新设置时间间隙的控制命令来完成设置的。PPP(Point-to-Point Protocol)协议是在设计和实现网络中基站节点功能所要用到的技术。PPP协议是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。传感器应用了其技术从而实现了数据的接力传送,从而提高了网络通信的效率4。温湿度采集节点也是基于Zigbee通信协议的终端设。Zigbee的基础是IEEE 802.15.4。但IEEE仅处理低级MAC层和物理层协议,因此Zigbee联盟扩展了IEEE,对其网络层协议和API进行了标准化。与其他无线标准802.11或802.16不同,Zigbee以250Kbps的最大传输速率承载有限的数据流量。它满足国际标准组织(ISO)开放系统互连(OSI)参考模型,主要包括物理层、数据链路层5。Zigbee是一种新兴的短距离、低速率、低功耗的无线可自组的网络技术。主要用于近距离无线连接。在数千个微小的传感器之间相互协调实现通信,这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以它们的通信效率非常高。Zigbee是一个最多可容纳65000个无线数值传输模块组成的一个无线网络数据传输的平台。图3-2是Zigbee的协议栈的体系结构图。图2-3 Zigbee协议栈体系结构Zigbee网络和中国移动通信的CDMA/GSM网络非常的相似,每一个Zigbee无线网络数据传输模块类似于移动网络中的一个基站,在其构成的真整个无线网络范围内,它们之间可以进行相互通信;每个网络节点间的距离可以从标准的75米,到扩展后的几百米,甚至几公里,这样子可以满足通信设备逐渐变大的今天;另外整个Zigbee网络还可以与现有的其它的各种网络连接6。2.2 系统整体框架设计本系统根据现有的农业设施、计算机软件基础上进行了设计,主要分为传感器数据采集节点部分,数据转发部分(基站),服务器端部分以及远程主机4部分。终端节点既考虑到了功耗的要求,又考虑到了数据的安全性。各个传感器节点每隔一定的时间采集一次它周围的温湿度,并将温湿度数据通过临近节点或直接传给基站核心板上;基站核心板负责收集从各个几点上传来的数据,并通过串口转传到服务器端上;远程主机将建立数据库来存储这些数据,为用户提供查询操作,主机也可以实现报警等功能。本系统的总体框架如图2-4所示。图2-4无线蔬菜大棚系统总体框架图以下是对这4部分功能的详细介绍:1、温湿度传感器数据采集节点:本系统中该环节主要是通过CC2430集成的暴露在空气中的温湿度传感器来采集菜蔬大棚里空气的温湿度,将其转化成数字信号,并通过Zigbee无线网络将这些采集到的数据发送到基站节点。数据采集节点并不是多对一的传输关系,每个节点都有路由转发功能,也可以接受来自邻近节点的数据,并将其转发给基站节点,从而扩大了测量的距离,解决了无线测量范围有限的难题7。2、基站:基站作为本系统的核心环节,它需要完成收集从自己网内各个数据采集节点发来的数据,并将这些数据通过串口发送到计算机(也可以称作服务器上)进行存储,从而为上层用户提供查询等服务提供了数据依据。基站也是一块CC2430的增强型工业标准的嵌入式核心板,它在组网中的序号必须是01号,否则将接受不到数据,此部分将在下面的章节详解介绍。3、服务器端:服务器端通过串口线将从基站收到的数据存储在数据库中,并通过GPRS网络传输给远程主机端,从而为上层软件的设计、用户的使用提供了数据依据。本系统的一个重点是在服务器端建立一个软件系统来管理这些数据。4、远程用户端:该部分主要负责从服务器端收集数据,并存储在自己的数据库中,并以此为数据基础为用户提供数据。本系统在该软件设计中实现数据接收的控制、温湿度数据的显示、历史数据的查询、删除、温湿度的自报警以及系统用户等的管理。第三章 系统开发环境和软硬件选型3.1 系统开发环境本系统的开发环境可以分为硬件环境和软件环境:(1)硬件环境主要有:1、温湿度数据采集节点:若干个基于CC2430温湿度传感器节点;2、基站节点:基于CC2430的核心板;3、服务器端:SIM300V1.5开发板。4、远程主机:个人PC机。(2)软件环境主要有:1、涉及的开发工具环境:SQL Servver 2005、Microsoft Visual Studio C+6.0、Cygwin等;2、涉及的操作系统:TinyOS、Microsoft WindowsXP Professional等。3.2 系统软硬件选型本系统选用集成了SHTxx系列的CC2430增强型8051内核的芯片作为温湿度数据采集模块和基站模块。图3-1是温湿度采集节点及其基站的实物展示。图3-1 温湿度数据采集及其基站节点数据采集节点及其基站节点是一组安放在蔬菜大棚实地内的传感器和无线通信模块的终端集合。主要是负责大棚内空气的温湿度的数据采集,并接收从基站发来的指令,定时通过无线模块将本节点采集到的温湿度数据传输给基站节点。数据采集节点主要由电源模块、处理器模块、温湿度传感器收集模块和无线通信模块4个模块构成的:1、电源:采用两节1.5V的纽扣电池组成的3V直流电为整个系统供电。2、处理器模块和无线通信模块:采用增强型工业标准的CC2430核心板,它是加强版的Zigbee模块。3、温湿度传感器收集模块:采用CC2430核心板集成温湿度传感器SHT10。数据采集节点的硬件框图如图3-2所示:图3-2 为数据采集节点硬件框架图该芯片的主要优点有以下几点8:1、功耗低:由于该节点应用了Zigbee技术,而Zigbee采用了多种节省功耗的工作模式,所以使用2节的5号电池可以确保节点工作12年。从而解决了功耗的问题。2、成本低:由于Zigbee协议是免专利费用以及其工作的频段为2.4Hz(免执照频段),所以减少了设备的成本。3、自组网、自愈能力强:网络间个个节点之间无需人为操作下,可自行感知周围其他节点,并与其建立连接关系,组成相应的网络。当删除或添加网络中的一个节点时,或则是节点故障等情况发生不会导致网络瘫痪,因为自身网络能够进行自我的修复、调整,从而使整个系统继续正常工作。4、除了以上优点外,该芯片还具有节点间通讯间距远、可靠性高、数据安全以及网络容纳量大等众多优点。本系统中负责服务端和远程主机端通信的设备采用的是SIMCOM公司(希姆)生产的一款三频段GSM/GPRS模块SIM300以及外围外接的单片机芯片组成的。由于其内嵌TCP/IP协议栈以及GPRS标准,再加上其低功耗、高传输速率以及性能优良等诸多特点,所以SIM300的应用范围很广泛,特别是在于开发一些GSM/GPRS的无线应用产品更受到业内人士的钟爱。图3-3是SIM300及其外围芯片实物图。图3-3 SIM300及其外围芯片实物图使用串口将应用系统和SIM300及其外围电路连接起来,应用系统通过GPRS模块的AT指令向SIM300核心板发送控制指令,从而对其产生控制行为。SIM300模块拥有一套完整的、标准的AT命令集,包括一般命令、(中英文)短消息控制命令、电话本控制命令、GPRS命令、网络服务命令以及呼叫控制命令等。本系统的SIM300模块主要负责从基站接收数据,并存储在数据库中,并通过GPRS网络以及对相应的AT指令的响应后发送到远程的主机上。从而实现将基站的数据存储在服务端的数据以及远程主机上。图3-4是SIM300模块反面电话卡的插槽实物图。图3-4 反面电话卡插槽本系统中数据采集节点及其基站节点程序是采用NesC编写,通过Cygwin环境平台编译的。NesC 是对C语言的扩展(也有一种说法是说NesC是集结了C、C+、java等三种语言的),它基于体现TinyOS 的结构化概念和执行模型而设计的。这是一种针对于程序工作者开发基于结构化的组件编程而产生的新语言。NesC 语言主要是用在传感器网络(特别是无线传感器网络)等嵌入式系统。与C语言的存储格式不同,用NesC语言编写的文件是以“nc”为后缀。NesC的最大特点是将组件化模块化思想和基于事件驱动的执行模型相结合。图3-5是源程序到烧录的示意图。图3-5 源码到烧录的示意图所以每个nc文件实现一个组件功能(组件化模块化)。在nesC程序中,主要定义两种功能不同的组件组件(configuration)和模块(module) 9。 组件主要是描述组件不同接口的关系,完成各个组件接口之间的相互连接和调用。一个组件必须实现它提供接口的指令和它的使用的接口事件。组件之间通过接口彼此静态地相连。组件相关执行部分主要包含提供给其他组件的接口和配件要使用的接口的组件接口列表和如何将各个组件接口连接在一起的执行连接列表。在应用程序中存在多个配置文件,并且配件之间存在一个层次关系。 模块主要用于描述组件的接口函数功能以及具体的实现过程,每个模块的具体执行都由4个相关部分组成:数据帧、一组执行线程、事件函数和命令函数。不同的模块可以实现相同的接口。一个NesC应用程序有3个部份组成:声明和定义、接口类型和组件,每一个NesC应用程序是由一个或则多个组件通过接口链接起来,并通过ncc或gcc编译生成一个完整的可执行程序。Cygwin是一个类Linux模拟仿真器,但它是运行在Windows环境下的。Cygwin是由Cygnus Solutions公司开发的自由软件。Cygwin包括了一套库,该库在Win32系统下实现了POSIX系统所要调用的应用程序接口(API);以及自己的一套GNU开发工具集(如GDB、GCC),这样我们可以在windows下进行简单的Unix软件开发;还有一些UNIX系统下的常见程序10。Cygnus Solutions公司把gas、gdb、gcc等软件开发工具进行了一些的改进,使它们能够生成并解析Win32的目标文件。接着公司的工程师们要把这些工具移植到Windows平台上去。他们写了一个cygwin库(共享库),把Win32 API中没有的Unix风格的调用等全部封装在该共享库里。那么,在开发程序的过程中,我们只要把共享库和这些工具的源代码链接起来,就可以通过Unix上的交叉编译器生成在Windows平台上运行的工具集。从而程序开发者就可以在windows平台上使用用户工具盒开发工具,并可以运行bash等工具,从而在Windows环境下使用Unix的工具。本系统采用微软的基础类库MFC作为服务端和远程主机端程序的编写。并采用SQL Server 2005作为系统后台数据库的支持。MFC是Microsoft Foundation Classes(微软基础类)的简称。它以C+的编程风格封装了Windows的API,即减少了大量在建立Windows程序时必须编写的代码,同时还为程序工作者提供了一个应用程序框架,从而大大的提高了程序工作者的工作效率。由于它是C+的风格,所以它还提供了所有一般C+编程的优点,例如继承和封装。MFC是可移植的,例如,在Windows 3.1下编写的代码可以很容易地移植到Windows NT或Windows 95上11。MFC是一个扩展了C+类层次结构的类库,而且是一个很庞大的类库,它让程序工作者在开发Windows应用程序时不再像以前晦涩难懂。MFC 可以兼容整个 Windows 家族的应用程序开发,也就是说,无论是 Windows3.x、Windows95 还是 Windows NT,所使用的 MFC 类库都是兼容的。每每有新的Windows版本出现时,MFC类库工作者都会根据新版Windows特点来修改类库,从而使得无论新旧编译器都可以兼容MFC,以便减轻程序工作者的工作量和兼容性。通过Visual c+6.0建立的MFC框架如图3-6所示12。 图3-6 MFC应用程序框架SQL Server 2005 是Microsoft公司推出的全面的关系型数据库服务器产品,是面向企业级用户的数据库应用平台。它给企业级应用数据和分析程序带来了极高的安全性与稳定性,并以其易于操作与管理的特性极大地提升了企业的运营效率13。SQL即Structured Query Language的缩写,中文译为结构化查询语言。Server中文译为服务器,而2005代表的是版本号。SQL Server 2005不同于以往的数据库服务器,它不仅是一个网络数据库服务器,实质上还是一个关系型数据库,同时还是一个数据分析平台。它为用户提供了一个安全、可靠、高效的开发平台,能够广泛的应用于企业数据管理和商业智能。通过全面的功能集、现有系统的集成性以及对日常任务的自动化管理能力,SQL Server 2005为不同规模的企业提供全面的、集成的、端到端的数据解决方案。SQL Server 2005 的组件架构如图3-7所示14。图3-7 SQL Server 2005 的组件架构第四章 系统软硬件的设计和实现早期对蔬菜大棚内温湿度的监控是采用手工控制的,通过长期的经验积累,对蔬菜大棚内农作物的生长状况的记录等形成的依据,直接对大棚的温湿度进行调节以使给大棚里的作物一个适宜生长的环境。而基于Zigbee网络的蔬菜大棚监控系统可以节省一定的人力资源,将收集到的数据和系统设置的上下限进行对比,将准确的进行报警,通知相关人员进行处理。相比于人工管理阶段,本系统一定程度上提高了生产效率15。在设计本系统的时候,充分考虑到了系统界面的友好、方便于用户操作;数据传输和接收的实时性以及整个系统的稳定、安全等因素。本系统主要致力于软件的设计上,实现了系统的启动和关闭、温湿度的实时监控、险情警示、温湿度上下阀值设置、查询历史记录、按需删除历史记录、管理用户等功能。4.1 数据采集节点的设计和实现数据采集节点按功能模块划分可分为:温湿度数据采集模块和数据发送模块(无线通信模块)。下面详细介绍这两个模块。4.1.1 温湿度数据采集模块温湿度采集模块式采用温湿度传感器SHT10。SHT10 是一款含有已校准数字信号输出的温湿度复合传感器,采用CMOSens专利技术将温度湿度传感器、A/D转换器及数字接口无缝结合。SHT10与CC2430连接电路原理图如图4-1所示:图4-1 CC2430与SHT10连接电路原理图该传感器由1个能隙式测温元件、1个电容式聚合体测湿元件、1个14位A/D转换器和1个2-wire数字接口组成,使得该产品具有体积小、精度高、功耗低、反应快、抗干扰能力强等优点。而且SHT10 数字式传感器具有类似I2C 总线数字接口的通信方式与CRC 数据传输校验。数据采集节点在上电后,经过11ms后,SHT10会从休眠状态恢复到等待状态;接着发送一组“传输启动”时序进行数据传输的初始化工作16。然后发送一组测量命令(其中相对湿度RH量的时序命令为“0000 0101”,摄氏温度T量的时序命令为“0000 0011”)开始测量周围的温湿度量,等待测量结束(大约需要20/80/320ms对应其8/12/14位的时间);最后SHT10将下拉DATA到低电平(进入空闲模式)表示测量结束了,并传入一个字节的CRC校验并开始接收数据17。该流程图如图4-2所示:开始传输启动测量命令设P1.1为输入YP1.1=1?N接收数据返回图4-2为温湿度数据采集模块流程图其中产生启动传输时序的程序片段如下:/相关其他的代码P1_1=1;P1_0=1;wait(1);P1_1=0;wait(1);P1_0=0;wait(1);P1_0=1;wait(1);P1_1=1;wait(1);P1_0=0;/其他相关代码4.1.2 无线通信模块CC2430是一块符合IEEE802.15.4标准的片上Zigbee芯片。它的无线通信模块的基础是数据采集节点之间是采用点对点的通信方式。其数据采集的流程图如图4-3所示:图4-3 数据采集节点流程图在系统启动,数据采集节点开启后,并完成初始化工作后,节点将开始搜索其无线范围内的网络信息。由于Zibgee网络内的节点具有路由转发的功能,所以节点之间也可以互发数据,直至将源数据发送到最终的基站节点。接下来介绍点对点通信的实现。表4-1 MAC层数据帧格式11111222目标地址(DA)源地址(SA)标志位(Flags)有效负载(Payload)帧校验(FCS)由上表4-1可知:1、目标地址是用1个字节表示,它是数据采集节点在同组网络中自身的编号。2、源地址也是用1个字节表示,它和目标地址是一个相对的概念。3、标志位用1个字节来表示,当第1位为1时,表示目标节点在收到该数据帧后要答复;当第2位为1时表示该帧是接收到数据帧后的答复帧;当第3位为1时,表示该帧是超时重传的数据帧;当当数据帧中Flags字节的第8位为1时,表示该帧是数据序列中的一帧。4、有效负载是用1122不等字节表示,由于IEEE802.15.4协议的规范中规定了数据在传输时的物理服务数据单元(PSDU)的最大负载量为127个字节,而由于已经被使用了5个字节,所以数据的有效负载的长度只能介于1122个字节之间。每当有超过有效负载长度(超过122个字节)的数据需要发送时,我们需要将数据进行拆解,拆解成符合IEEE802.15.4协议规定的数据长度。而负责接收数据的节点则需要将分成段得数据进行整合后才可进行使用。5、帧校验由2字节组成,它是对物理层协议的数据单元MPDU的校验。如果CC2430芯片中的RF寄存器相关的某些控制位设为高电平(即为1)的时候,帧校验FCS将由硬件自动来继续调整,燃油由多项式x16+x12+x5+1进行CRC软件校验和生成。数据采集节点发送数据的步骤可以总结为5步,具体的流程如下:1、系统初始化主要是将整个系统的工作频率(晶振频率)设置为32MHz,,为后面的RF初始化调工了必要的条件。2、RF初始化主要是设置通信频率,设置电源,并使用代码清空Rx和Tx,并开启Rx等工作。3、DMA的初始化主要是为Tx分配1个空闲的DMA通道,并为其设置相应的数据结构。4、当设置为Tx准备的DMA通道时,需将数据的源地址设为所要发送数据的起始地址,目标地址设为寄存器RFD的地址。然后,在设置所要发送数据的长度。并设置DMA数据按字节进行传输以及一些必要位的设置从而完成DMA的设置。5、等到DMA描述等的设置好后,系统将启动DMA通道上数据块的传输。而在我们启动DMA通道数据传输之前,将当前数据帧的标志字节、目标节点地址、源节点地址、数据长度通过直接写寄存器RFD的方式写入TxFIFO。通过这样的流程后,我们在启动DMA通道传输后,完整的数据帧将会被传输到TxFIFO。最后发送指令ISTXONCCA给CSP来启动Tx传输。这样子就完成发送一帧数据的整个过程。数据采集节点发送数据的流程图如图4-4所示:开始 系统初始化RF初始化DMA初始化DMA设置将帧数据写入缓存NRSSL正常?Y开启Tx并延时启动Tx返回图4-4 发送数据流程图4.2 基站节点的设计和实现4.2.1 IEEE802.15.4标准和Zigbee协议介绍IEEE(Institute of Electrical and Electronics Engineers 美国电气和电子工程师协会)无线个人区域网工作组的IEEE802.15.4技术标准是Zigbee的技术基础。IEEE802.15.4标准的制定是为低能耗的简单设备提供有效覆盖范围在10m之内的低速连接,用用于用于无线监测、工业控制等消费与商用应用领域。IEEE802.15.4支持两种的网络拓扑结构,即单跳星状或当通信线路超过10 m时的多跳对等拓扑。但是对等拓扑的逻辑结构由网络层定义。LR-WPAN中的器件既可以使用64位IEEE地址,也可以使用在关联过程中指配的16位短地址。一个IEEE802.15.4网最多可以容纳216个器件。IEEE802.15.4标准最重要的特点是低功耗。因为在现实中用电池供电的嵌入式器件,经常的更换电池所产生的费用往往比器件本身的成本还要高。所以在IEEE802.15.4标准的制定中,在数据传输过程中引入了节省功率的机制。多数机制是基于信标使能的方式,主要是限制器件或协调器之收发信机的开通时间,或者在无数据传输时使它们处于休眠状态18,从而很大程度上降低了嵌入式应用设备的功耗量。IEEE802.15.4标准里有三种不同的数据传输方式从而突出了低功耗的特点:间接数据传输、直接数据传输和有时隙保证的数据传输。Zigbee网络是一种高可靠性的无线数字传输网络,它可工作在三种流行的免费频段上(如全球流行的2.4GHz、美国流行的915 MHz 和欧洲流行的868MHz)。其传输速率分别可以达到250kbit/s、40kbit/s和20kbit/s。Zigbee是一组基于IEEE批准通过的IEEE802.15.4无线标准研制开发的组网、安全和应用软件方面的技术标准。并由Zigbee Alliance和IEEE 802.15.4小组共同制定了Zigbee技术标准。Zigbee栈体系结构由一组称为层的块儿组成。每个层为上层执行指定一套服务:数据实体提供数据传输服务,管理实体提供所有其它服务。每个服务实体通过一个服务接入点(SAP)为上层提供一个接口,每个SAP支持一些服务原语来完成必须的功能19。Zigbee网络层(NWK)支持星形、树状形和网状拓扑结构三种结构。在星状形的拓扑结构里,整个网络是由一个独立的通信设备Zigbee协调器来进行控制20。Zigbee协调器的功能主要是负责对已连入网络中的节点进行控制和维护。在树状形拓扑和网状拓扑结构里,Zigbee协调器得功能主要是对已建立的网络中的一些参数进行选择、确定和设置等。ZigBee网络的组建主要是为工业化的现场实现自动化控制时对数据的传输。它的协议规范使得设备功耗低、工作可靠、工作安全、结构简单、价格低廉、使用方便等特点。而移动通信网的CDMA网或GSM网主要是为用户的语音的通信而建立的,其单个基站的费用一般都在百万元以上,而Zigbee协议中的每个Zigbee的基站价值却不到人民币1000元。基于以上对Zigbee节点的分析,我们选择使用CC2430的基站节点。4.2.2 基站节点实现功能描述基站节点是作为整个系统的核心部分,它应用Zigbee网络从数据采集节点收集它们的温湿度数据,然后按一定的数据格式编码后,最后通过串口通信方式将数据传到上位机(服务端)上。图4-5向我们展示了基站节点的实物图:图4-5 基站节点实物图上位机是负责从基站那里收集数据,并将数据存储在上位机(或则其他上位机)的数据库里面,这样子上位机就可以为用户提供丰富的软件服务提供了数据支持。而基站向服务器端发送的数据要有一定的数据格式(数据传输协议),从而来规范和保证数据传输的正确性。基站和上位机通讯的协议如表4-2所示:表4-2 基站和上位机通讯协议表字段长度字节序内容包头包头标志1字节默认为0x37硬件类型2字节Big Endian默认值0x24 0x30包负载长度2字节Big Endian减去9字节后为传感器数据长度数据传感器类型2字节Big Endian详细定义参考表4-3下一跳节点编号2字节Big Endian若如果节点的数据经过路由转发,那么第一次转发的节点编号便是该字段值源发数据节点编号2字节Big Endian最初发送传感器数据的节点编号顺序号2字节Big Endian保留 默认为0x00 0x00跳数1字节路由转发过程中所经过的节点数传感器数据(包负载长度-9)字节Big Endian源节点传输的数据校验位校验码1字节除包头标志外所有字节的异或的结果通过串口调试可以验证我们收到的收据也是20个字节的,详细数据如图4-6所示:图4-6 从基站收到的数据由表4-2和图4-5可知基站给上位机传输的数据是由三部分组成的:包头、数据和校验码。其中1、包头段:包头段共有5个字节,其中1个字节的包头标志、2个字节的硬件类型和2个字节的包负载长度。包头标志固定是0x37。硬件类型也是固定的0x30 0x24。包负载长度指定了基站向上位机所传输的数据的字节数。2、数据段:数据段的总字节数取决于传感器数据的字节数,由如图3-9可知包负载长度为0x0E所以传感器数据的字节数是5个字节,所以数据段的总字节数是14个字节。其中包含2个字节的传感器类型,该段的定义详见表4-3;接着是2个字节的数据来表示吓一跳节点的ID,如果节点是直接和基站通表4-3 传感器类型定义图传感器名称缩写类型值温湿度TH1温度T2光LIGHT3流量FLUX4血压BLOOD_PRESSURE5海拔高度ALTITUDE6磁场HOARE7雨滴RAIN8讯的该字段应该同最初发送信息节点的ID是一致的,否则说明节点的数据是被其他节点转发到基站的,并且这个字段的值就是首发转发的节点的ID;再接着就是2个字节的字段来表示最初发送信息节点的ID;然后是用2个字节来表示节点的顺序号,该字段的值是保留值为0x00 0x00;接着用1个字节数据来表示节点的跳数;最后使用5个字节来传输节点传来的温湿度数据,关于温湿度数据的解码将在下一小节进行详解。3、校验码段:校验码字段是用1个字节来表示的。它的值是前面除包头标志外的所有字节异或的结果。4.2.3温湿度数据解码基站将温湿度数据传输给上位机后,上位机的应用软件将这些数据进行解码,让数据以更直观的形式展示给用户。这些数据包括温湿度采集节点的编号、该位置节点测到的温度和湿度:1、节点编号的解码:由图4-7可知在传输的协议中的9、10字节决定了是哪个编号的节点传来的数据,所以在上位机的应用软件中使用a = RXData9*256 + RXData10;便可以解码出节点的编号,其中RXData就是我们接收到的一次数据编码,它共有20个字节,由图4-8也可知道。2、温度数据的解码:经过多次的数据收集和计算,最后可知温度数据是由1418字节中的15、16字节决定的。再根据如图4-7公式和图4-8的系数可以得到温度数据图4-7 温度转化公式图4-8 相关系数参考图4-9中Temperature是我们所要解码的温度数据,d1和d2系数的值要参考图4-10中的值。经过多次计算对比可以得到该段的程序源码如图4-9所示:图4-9 温度解码程序3、湿度数据的解码:湿度数据的解码比温度复杂了许多,它还需要温度的数据。为了补偿湿度传感器的非线性以获得准确的数据,首先我们要进行如图4-10的公式来修正输出数值:图4-10 湿度非线性补偿公式其中c1、c2、c3系数的值如图4-11所示,SOrh的值是我们协议中17、18字节的数据决定的。图4-11 湿度转换系数接着需要对湿度传感器相对湿度的温度补偿的计算,依据图4-12的公式:图4-12 湿度传感器相对于温度的转化公式该公式中的T是我们测出的温度数据,t1、t2的系数值参照图4-13:图4-13 t1、t2系数参考经过多次的测量、比较、计算可得到如图4-14的源程序来解码湿度数据:图4-14 解码湿度数据源码

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论