还剩44页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
石河子大学信息科学与技术学院毕业设计论文课题名称棉田无线传感器网络监测系统设计学生姓名学号学院信息科学与技术学院专业年级电子信息工程2008级指导教师职称完成日期2012年6月6日目录TOC\o1-5\h\z\u第一章、概述和介绍-4-
1.1项目简介-4-
1.2国内外研究现状-6-第二章、技术选型及方案设计-8-
2.1各种备选方案介绍-8-
2.2技术方案比较-11-
2.3总体实施路线和方案-14-第三章、详细方案设计-15-
3.1系统抽象层次结构-15-
3.
2、控制表示层-16-
3.
2.
1.PC端监控软件设计-16-
3.
2.
2.手持设备设计-19-
3.
2.
2.
1.手持设备硬件设计-19-
3.
2.
2.
2.手持设备软件设计-20-
3.
3、数据汇聚层-21-
3.
3.
1.网关硬件设计-21-
3.
3.2网关软件设计-23-
3.
4、数据感知层-29-
3.
4.
1.终端节点硬件设计-29-
3.
4.2终端节点软件设计-29-第四章、总结-33-致谢-34-参考文献-35-附录-36-
1、手持节点原理图及PCB-36-
2、网关原理图及其PCB-39-
3、无线传感器网络节点原理图及PCB-43-棉田无线传感器网络监测系统设计学生:倪明浩王宇指导教师:田敏[摘要]随着射频以及集成电路技术的飞速发展,各种中短距离的无线数据传输技术大量涌现,并且日渐成熟,并且在功耗和数据传输距离和速率等方面呈现出多样化的特点,可以满足不同场合下的应用要求在实际生产生活的很多领域中,各种无线数据传输技术已经开始普及应用本设计正是在这样一种背景下,探讨和研究实现利用无线传感器网络(基于ZigBee技术)来实现对棉田等农业生产现场的数据进行采集,利用一些如CAN或者485之类的现场总线来进行集中传输,同时引入了GPRS模块,使得无线传感器网络具有了与Internet中的计算机节点进行交互通信的能力,还可以通过B/S模式的信息管理系统或者手机短信等方式与用户进行交互关键词无线传感器网络;ZigBee;GPRS;CAN总线;485总线AbstractStudent:Ni-MingHaoWang-YuTeacher Tian-Min[Abstract]AlongwiththerapiddevelopmentsofRadioFrequencyandIntegratedCircuitTechnologiesmanydifferentkindsoflowormediumrangewirelesscommunicationtechnologiescomeoutandmaturesomecharacteristicsofthesetechnologiessuchaspowerconsumptioncommunicationrangeordataratearequitedifferent.Inmanyareasofeverydaylifethesewirelesscommunicationtechnologieshasbeenwidelyused.ThisarticlemainlyfocusesonwirelesscommunicationstechnologiesanditsapplicationsindataacquisitionandmonitoringscenariostobemorespecificZigBeetechnologyanditsapplicationinagriculturalautomationandalsoexplorestheinter-connectionbetweentraditionalfieldbustechnologiessuchasCANorRS485andZigBeenetworks.TouploadthedatapacketstothoseserversoninternetGPRSmoduleisusedinthedesign.TheGPRSmoduleprovideuser-configurableTCPIPlinkstotheserversintheinternetthroughwhichtheuserdatacouldbeuploadedandprocessedbysomeserver-sideapplicationsorB/SManagementInformationSystemswhichisquitepopularandwidelydeployed.Keywords:WSNwirelesssensornetwork;ZigBee;CAN;RS485;GPRS第一章、概述和介绍
1.1项目简介本项目利用无线传感器网络实现棉田信息监测数据采集和监控通过测控区域内节点间的自动组网在网络容量足够大监控点多的基础上保证信号传输的安全和实时性还要能够通过远程控制手机或者上位计算机来实现对农业自动化设备的管理基于无线传感器网络的棉田信息监测系统采用了无线传输方式来构建无线传感器现场监测网络,能够较好地解决传统无线数据采集方式存在的问题具有以下优点1无线传感器网络的自组织特性使得信息获取系统的组建不需要额外的硬件支持,微型化的无线传感器网络节点更易安装,不需要进行架设和复杂布线同时,微型化的无线传感器网络节点还具有数据采集、数据处理与数据传输的功能,因此,施工难度要比传统检测系统小2无线通信方式减少了布线的投入,降低了维护和维修的难度,增加了通信的灵活性,无线传感器网络节点的廉价性使得大面积布设监测装置成为可能,大量监测点的出现和节点监测区域的相互交叠使得通信线路存在一定的冗余备份,增加了通信的可靠性
[1]3无线传感器网络节点集成多种类型的传感器,使得同时采集多个事件特征数据成为可能因此可综合利用直接方法与间接方法的优势,同时完成对宏观异常事件和微观异常事件的准确、及时检测,不但大为缩短了微观事件的检测时间,还可定性事件的类型4无线传感器网络的自组织特性新节点可以随时加入,而不对原有网络造成影响因此,基于无线传感器网络的远程数据获取系统具有较好的扩展性因此,研究一种基于无线传感器网络的棉田信息监测系统,将其与棉田滴灌系统相结合可有效控制棉田土壤水分及温度,并能准确获知棉花生长过程中必要信息,对提高兵团棉花产量具有重要意义5采用了无线网络和有线网络配合使用的方案,底层的节点采用无线方式,具有方便、灵活的特点,网关之间采用CAN等现场总线的方式,具有稳定、高速、传输距离长、抗干扰能力强等特点,同时引入GPRS模块,可以将系统数据上传到Internet中,使得系统具有与各种新建和已有信息管理系统进行对接的可能,便于集成和扩展系统功能同时支持手机短信方式进行系统管理和控制,这也是一个非常实用的功能
1.2国内外研究现状无线传感器网络作为当今信息领域新的研究热点,涉及多学科交叉的研究领域,所需要研究的内容包括通信、组网、管理、分布式信息处理等许多方面无线传感器网络通常运行在恶劣,甚至危险的工农业生产环境中网络中的节点一般采用电池供电,可以使用的电量非常有限,但是网络的生存时间却要求长达数月甚至数年,采用节能的路由传输策略以延长网络的生命周期,成为传感器网络的核心问题从国外的研究现状看,美国在无线传感器网络方面进行了较深入的研究美国的加州大学伯克利分校、加州大学洛杉矶分校、麻省理工学院、康奈尔大学等高校已经进行了无线传感器网络基础理论和关键技术的研究加州大学伯克利分校提出了基于相关性的数据编码模式、确定无线传感器网络中节点位置的分布式算法及重构传感器节点位置的方法等,并研制了一个基于传感器网络的操作系统TinyOS加州大学洛杉矶分校开发了一个无线传感器网络环境模拟系统,用于研究无线传感器网络中出现的问题南加州大学提出了部属移动传感器节点的方法、节省能量的计算聚集的树结构算法等麻省理工学院已经开始研究用于超低能耗无线传感器网络的方法和技术针对无线传感器网络通信协议的特殊性,康奈尔大学等高校开展了相关研究,先后提出了基于谈判类协议、定向发布类协议、能量敏感类协议、多路径类协议,传播路由类协议、介质存取控制类协议、基于集群的协议、以数据为中心的路由算法等新的通信协议英国、日本、意大利等国家的一些高校和研究机构也纷纷开展了该领域的研究工作,且取得了一些初步的研究成果目前,国外各大半导体公司都推出了各种使用不同应用场合的无线通信解决方案,其中以德州仪器TI公司的产品线最为丰富,其CC系列射频芯片包括了收发器、射频前端放大、片上系统等,工作频率覆盖范围广,配套开发工具和软件业非常完善以ZigBee为例,TI公司不仅开发了基于ZigBee2007协议的协议栈软件,还开发了TI自有的SimplicTI以及TIMAC等软件协议栈,使得无线传感器网络的开发和应用更为容易,MicroChip公司也称开发过ZigBee协议栈,目前ST意法半导体公司也推出了一些可以与其Cortex-M0系列低功耗处理器配套的ZigBee收发器芯片等无线传感器目前已经开始逐步走向市场应用和推广从国内的研究来看,我国现代意义的无线传感器网络及其应用研究几乎与发达国家同步启动研究机构如中科院、清华/大学、国防科技大学、电子科技大学、哈尔滨工业大学以及浙江大学等学术团体对无线传感器网络进行了跟踪研究1999年国内对无线传感器网络的研究首次正式出现于中国科学院《知识创新工程试点领域方向研究》的“信息与自动化领域研究报告”中,作为该领域提出的五个重大项目之一2001年中国科学院依托上海微系统所成立微系统研究与发展中心,在无线传感器网络方向上陆续部署了若干重大研究项目,初步建立了无线传感器网络系统的研究平台,在无线智能传感器网络通信技术、微型传感器、传感器端机、移动机站和应用系统等方面取得很大进展中国科学技术大学针对无线传感器网络节点定位问题进行了研究,提出了一种新的节点定位算法,该算法不需要任何额外的硬件支持,节点间通信开销少其对节点每跳距离的计算有利于解决节点的故障问题,提高节点的探测性能浙江大学成立了“无线传感器网络实验室”,联合相关单位专门从事面向无线传感器网络的分布自治系统关键技术及协调通信理论方面的研究目前,国内已经开始有部分城市开始使用基于无线传感器网络技术的产品,如济南市的基于ZigBee的路灯照明控制系统但从总体上来讲,国内关于传感器网络的研究还仅仅处于起步阶段,但传感器网络技术是一门新兴的综合性技术,国内外的差距还不是很大,及时开展对这项影响深远的前沿科学研究,对社会和经济都具有重大的意义第二章、技术选型及方案设计
2.1各种备选方案介绍
1、蓝牙Bluetooth技术在10米到100米的空间内,支持该技术的所有移动或非移动设备可方便地建立网络、进行音频通信蓝牙技术的最终目标是建立一个全球统一的无线连接标准,使不同厂家生产的移动计算机和便携式设备,能在近距离通过无线的方式连接起来,实现交叉操作及交互信息数据共享各种信息化的移动便携设备通过无线的连接方式实现资源共享蓝牙列入了IEEE
802.
15.1,其规定了包括PHY层、MAC层、网络层和应用层的集成协议栈蓝牙的工作频率为
2.4GHz,有效范围为半径约10m内在其范围内,设备相互间可自动使用无线的方式连成一个微微网Piconet,进行联络与确认多个Piconet间也可互连形成散射网Scatternet,在不需要用户干预的情况下,可通过相应的控制软件建立连接,进而传输数据为对语音和特定网络提供支持,蓝牙需要协议栈提供250kB的系统开销,从而增加了系统的成本和复杂性另外,蓝牙对每个微微网只能配置7个节点,制约了其在大型传感器网络中的应用
2、Wi-FiIEEE
802.11技术Wi-FiWirelessFidelity线高保真一种无线通信协议IEEE
802.11的最初规范是在1997年提出,主要目的是提供WLAN接入,是目前WLAN的主要技术标准IEEE
802.11流行的几个版本包括“a”波段为
5.8GHz,带宽为54Mbps、“b”波段为
2.4GHz,带宽为11Mbps和“g”波段为
2.4GHz,带宽为22MbpsIEEE
802.11版本的复杂性为用户选择标准化无线平台增加了困难,IEEE
802.11标准目前还没有被工业界广泛接受Wi-Fi技术的工作频率为
2.4GHz,最高传输率能达到llMbpsWi-Fi规定了协议的物理PHY层和媒体接入控制MAC层,并依赖TCP/IP作为网络层Wi-Fi技术能让无线用户得到以太网的网络性能及速率,且可无缝地将多种LAN技术集成起来,形成一种能最大限度地满足用户需求的网络,具有部署方便、通信可靠、抗干扰能力强、成本低、灵活性好、移动性强、吞吐量高等特点由于其优异的带宽是以大的功耗为代价的,因此大多数便携Wi-Fi装置都需要常规充电,这些特点限制了它在工业场合的推广和应用
3、IrDA技术lrDA[即红外数据协会,全称TheInfraredDataAssociation,是1993年6月成立的一个国际性非营利组织,专门制订和推进能共同使用的低成本红外数据互连的世界标准,目前在全球拥有160个会员,参与的厂商包括计算机、通信硬件、通信软件及电话公司等lrDA的宗旨是制订以合理的代价实现标准和协议,以推动红外通信技术的发展IrDA标准的无线设备传输速率已从
115.2Kbps逐步发展到4Mbps、16Mbps红外无线通信技术是一种利用红外线进行点对点通信的技术,也就是说,红外通信是利用红外光进行通信的一种空间通信方式红外无线通信技术由于其价格低廉,使用方便,解决了有线连接的许多不便,因而受到了家电设备厂商、电脑外围设备商、以及通信设备厂商的高度重视,并吸引了大量资金来进行相关的研究与开发目前,支持它的软硬件技术都很成熟,在小型移动设备如PDA、手机上被广泛使用它具有移动通信所需的体积小、功耗低、连接方便、简单易用、成本低廉、不需申请频段及技术比较成熟的特点,但IrDA用于工业网络上的最大问题在于只能在2台设备之间连接,并且存在有视距角度等问题
4、超宽频UWB技术超宽频UWB技术始于20世纪60年代,当时主要研究微波网络在面对时域脉冲时产生的瞬间行为80年代后期,UWB技术开始被称为无载波或脉冲无线电,美国国防部在1989年首次使用“超宽频”这个词UWB技术带宽相对较大,分辨率高,抗多径衰落强,抗干扰强、保密性好、定位精确、系统容量大且传输速率高根据最新的美国联邦通信委员会FCC的定义,超宽频系统的中心频率高于
2.5GHz,并具有至少500MHz的-10dB频宽UWB种类众多,因此潜在的应用也相当广泛,包括无线局域网WLAN、个人局域网络PAN、短距离雷达如汽车传感器、防撞系统、智能型高速公路感测系统及液态物体书评侦测系统、穿地雷达,以及应用在医疗监视与运动员训练等领域的人体局域网络
5、ZigBee技术ZigBee一词源自蜜蜂群在发现花粉位置时,通过跳Zigzag形舞蹈来告知同伴,达到交换信息的目的,是一种通过简捷方式实现“无线”沟通的方式人们借此称呼一种专注于低功耗、低成本、低复杂度、低速率的近距离无线网络通信技术,这也包含了这种寓意ZigBee作为一种无线连接新规格,可工作在
2.4GHz全球开放频段868MHz欧洲和915MHz美国这三个频段上,并在这三个频段上分别具有250kbps、20kbps和40kbps的最高理论数据传输速率它的传输距离在10m~100m的范围内,并且可以更大实际的传输距离依据发射功率的大小和应用模式而定其实这个传输距离已经完全可以满足家庭和办公环境的应用需求而且,一台ZigBee设备可以连接多达254个其他ZigBee设备在标准化方面,IEEE
802.
15.4协议主要负责制定物理PHY层和媒体控制MAC层的协议,其它协议主要参照和采用现有的标准,而高层应用、测试和市场推广等方面的工作将由ZigBee联盟ZigBeeAlliance负责ZigBee技术的主要优点有可靠由于工作周期很短、收发信息功耗较低、并且采用了休眠模式,ZigBee技术可以确保用两节五号电池支持节点工作长达6个月到2年左右的时间可靠采用了碰撞避免(CSMA-CA)机制,同时为需要固定带宽的通信业务预留了专用时隙GTSGuaranteedtimeslot,避免了发送数据时的竞争和冲突MAC层可以采用完全确认的数据传输机制,每个发送的数据包都必须等待接收方的确认信息;成本低模块的初始成本估计在6美元左右,很快就能降到
1.5美元到
2.5美元之间,且ZigBee协议免专利费.时延短针对时延敏感的应用做了优化,通信时延和从休眠状态激活的时延都非常短设备搜索时延典型值为30ms,休眠激活时延典型值是15ms,活动设备信道接入时延为15ms;网络容量大一个ZigBee网络可以容纳最多254个从设备和一个主设备,一个区域内可以同时存在最多100个ZigBee网络;安全ZigBee提供了数据完整性检查和鉴权功能,加密算法采用AES-128,同时各个应用可以灵活确定其安全属性完整的ZigBee协议套件由高层应用规范、应用接口层、网络层、数据链路层和物理层组成网络层以上协议由ZigBee联盟ZigBeeAlliance制定,IEEE负责物理层和链路层标准
2.2技术方案比较图2-1各种短距离无线通信技术的比较如图2-1所示,对比各技术及综合考虑各种因素之后,我们决定采用ZigBee技术作为本系统的无线传输技术,主要原因有以下几点
1、成本低、功耗低、网络容量大、安全可靠从ZigBee标准被提出开始,ZigBee技术就在各种领域被应用,经历了实践检验,协议本身也经过之后的两次修改,日趋完善目前随着物联网概念的提出,ZigBee技术有进一步普及的趋势
1、系统硬件构建难度和复杂度相对较低,以TexasInstrument为代表的各大半导体厂商为ZigBee开发生产了一系列的专用芯片,包括射频前端放大器、无线收发器、片上系统等各种档次不同类型的芯片,这些芯片的出现,极大的降低了构建ZigBee应用系统的复杂度和风险性
1、应用软件开发和完备的协议栈支持TI和Microchip都有为ZigBee开发出了协议栈软件,并且提供支持和维护,加上ZigBee协议本身应用程序框架的支持,开发基于ZigBee技术的应用软件变得更加方便
1、低功耗特性对于我们的监测系统来说,功耗是一个很致命的限定因素,它直接关系到成本和可维护性,ZigBee协议本身的低功耗设计,配合各种精心设计的ZigBee专用芯片,可以使功耗最大程度的降低ZigBee协议栈层次结构主要由应用层、应用接口、网络层、数据链路层和物理层组成,如图2-2所示图2-2ZigBee协议栈层次结构物理层采用DSSSDirectSequenceSpreadSpectrum直接序列扩频技术,可提供27个信道用于数据收发IEEE
802.
15.4定义了
2.4GHz频段和868/915MHz频段两种物理层标准物理层的主要功能包括激活和休眠射频收发器,信道能量检测,信道接收数据包的链路质量指示,空闲信道评估,收发数据媒体介入层IEEE
802.
15.4MACMediumAccessLayer层提供了两种服务MAC层数据服务和MAC层管理服务数据服务使MAC层协议数据单元的收发可以通过物理层数据服务管理服务通过MAC层管理实体服务接入点访问高层IEEE
802.
15.4MAC层的特征有信标管理、信道接入机制、保证时隙GTS管理、帧确认、确认帧传输、节点接入和分离数据链路层IEEE802系列标准把数据链路层分为媒质接入层MAC和逻辑链路控制层LLCLogicLinkControlLayerIEEE
802.
15.4MAC子层支持多种LLC标准MAC子层使用物理层提供的服务实现设备之间的数据帧传输;而LLC子层在MAC子层的基础上,给设备提供面向连接和无连接的服务MAC子层功能包括设备之间无线链路的建立、维护和结束,确认模式的帧传送与接收,信号接入控制,帧校检等LLC子层主要功能包括传输可靠性保障和控制,数据包的分段与重组,数据包的顺序传输网络层建立新的网络,处理节点的进入和离开网络根据网络类型设置节点的协议堆栈,使网络协调器对节点分配地址,保证节点之间的同步,提供网络的路由,保证数据的完整性,使用可选的AES-128对通信加密应用接口子层主要负责把不同的应用映射到ZigBee网络上,具体包括设备发现,业务发现,安全与鉴权,多个业务数据流的汇聚在构建基于ZigBee技术的无线通信网络时,我们将选用TI公司的片上系统SOC解决方案CC2430这款芯片是从CC2420无线收发器的基础上演变而来,在CC2420的基础上,CC2430加入了一个高速51兼容内核加入了片上128KBFlash,8KBSRAM其中4KB可以在在极低功耗模式下保持数据,拥有四个定时器,双USARTDMA控制器,支持18个中断源,有6种中断优先级支持各种低功耗模式,并且可以在外部数据中断下迅速切换到正常工作模式由于这是一款功能完备的片上系统芯片,所以它只需要很少的外围器件即可工作,降低了复杂度,提高了系统的稳定性目前,该芯片广泛应用,所以容易获取,开发工具和资料也很充足
[2]
[3]
2.3总体实施路线和方案
1、无线传感器网络节点的设计包括终端节点,路由节点和协调器节点的设计终端节点负责采集数据,传感器模块使用半导体工艺的数字温湿度传感器,采用电池供电路由器节点负责将终端节点的数据进行转发,不进行数据采集协调器节点负责建立无线传感器网络,确定初始参数,存储转发数据,通过数据链路向上传输数据
2、数据汇聚网关的设计网关主要采用CAN或者485等现场总线技术进行网关间的互联,并且通过网关上的ZigBee模块与无线传感器网络进行连接,收集传感器网络中的数据,并且通过串口或者GPRS模块将数据传输到上位计算机或者Internet中的计算机网关根据是否需要向上层传输数据而稍有区别,不需要上传数据的网关,不需要具备GPRS模块,只需要收集无线传感器的数据,并且将其传输给向上层传输数据的网关,而需要向上层传输数据的网关相当于一个对外的出口,所以其必须能够与上位计算机通信,比如通过串口、或者通过GPRS网络建立TCP连接,进行连接
3、上位计算机软件和手持设备及人机界面的设计通过无线传感网络将温度、湿度等环境因素的信息传到网关节点,然后通过有线(RS232)或者无线(GPRS)上传到上位计算机,并且存入数据库,然后通过B/S方式的简易信息管理系统将数据展示给用户,用户也可以通过手机短信的方式与系统进行简单的交互第三章、详细方案设计
3.1系统抽象层次结构整个系统划分为三层,最上层为控制表示层,中间为数据汇聚层,最底下为数据感知层,如图3-1所示图3-1系统抽象层次结构示意图控制表示层这是整个系统的最上层,主要以PC端控制监视程序和一些手持管理设备组成,主要实现系统状态、监测数据可视化,实时监控报警,远程控制指令发送等功能数据汇聚层这一层在整个系统中起到承上启下的作用,它将底层采集的数据进行接收汇总,并且进行一些简单的预处理,之后向上层传输;由于通往上层的出口有限,所以在这一过程中,还需要对本层不同节点的数据进行中继和转发数据感知层主要实现各种目标物理量的采集、感知、传输,必要时可以作为上层控制信号接受终端,驱动执行器进行各种动作
3.2控制表示层
3.
2.
1.PC端监控软件设计
1、概述PC端监控软件在VisualC++
6.0环境下开发,共分5个主要功能模块通过这些功能模块,实现对系统网络拓扑结构的查看、修改、温湿度的检测、预警和简易的控制功能
2、用户管理模块实现系统用户的管理功能,包括用户身份验证,增加用户,删除用户,修改密码,权限管理,用户列表查看等用户分为两个组普通用户和管理员,普通用户只能查看系统状态和监视结果,管理员可以发出修改和控制指令可以添加新用户,可以修改用户属性初步界面如图3-2所示图3-2上位机软件截图
13、网络拓扑图模块实现网络拓扑结构的可视化通过定期的更新和查询,实现整个系统无线网络拓扑结构的实时动态更新显示本模块功能尚未实现,正在构建中
4、温度、湿度检测报警模块首先,实现温湿度的实时监测功能,通过解析下层的数据包,得到温湿度监测值,记录历史最高值,最低值,平均值,然后进行保存,并通过折线图进行动态显示其次是报警功能,可以在预先设置上下限温度值的情况下,当温湿度出现在正常范围之外时,进行报警,提醒用户采取应对措施,如图3-3所示图3-3上位机软件截图
25、网络控制台模块主要实现实时网络参数的显示,网络运行状态概述系统提示信息记录和浏览主要记录有系统当前运行状态,无故障运行时间,网络总数量,节点总数量,平均信号强度,系统总用户数等信息初步界面如图3-4所示图3-4上位机软件截图
36、终端动作控制模块如图3-5所示,显示当前网络中各个执行部件的动作状态,发出驱动各部件的指令如果当前网络中节点数目超过了12个,则以分组的方式显示,可以在各组之间切换每个部件有三种状态,开启、关闭、切换中当发出指令改变某个部件当前状态时,由于指令在网络中有延迟,同时由于指令可能执行失败,最终该部件的状态需要通过查询得知,而不是直接切换,从而保证上位机软件与实际状态的一致性图3-5上位机软件截图
43.
2.2手持设备设计手持设备主要实现现场环境下的监测和简单控制,不在受限于计算机环境另外一个重要的作用就是安装节点时,对节点进行初始配置,因为考虑到灵活性,不可能将所有信息都写入Flash中,有部分信息只有在使用时才能确定,比如使用地点,通过手持设备对节点进行配置,可以很方便的实现节点位置属性的调整,方便了日常管理
3.
2.
2.1手持设备硬件设计手持设备硬件模块主要包括主控制器STC89C52RC、无线收发ZigBee模块、液晶显示模块、键盘模块、DS1302实时时钟芯片,AT24C02EEPROM芯片等
1、无线模块由一个CC2430芯片和一个单端天线构成,为了增强灵敏度,在天线端加装一个SMA增益天线,无线模块与主控制器STC89C52RC间采用串口进行通信
1、液晶模块使用12864液晶显示屏,此屏自带中文字库和驱动芯片,可以通过串行或者并行方式与主控制器连接本方案中为了节约IO口,采用了串行方案连接,只需要3根数据线CLKDATARS,由于手持设备一般采用电池供电,为了延长电池寿命,增加了液晶的背光控制功能,能够在空闲时自动关闭液晶的背光灯,详见电路图
1、功能键盘模块3*3矩阵键盘,在手持节点上,该键盘作为功能键盘,实现菜单上翻、下翻、确定、退出等功能由于主控制器STC89C52RC的中断数量有限,但扫描方式连接键盘消耗资源过大、实时性和响应速度也不理想,所以该键盘采用共用中断方式连接到系统中(连接到外部中断INT0),任何一个按键按下时都产生中断,在中断程序中通过扫描来识别按键,既可以实现响应速度上的要求,也可节约系统IO口和中断资源
1、数据输入键盘模块4*4矩阵键盘,实现输入十六进制数0到F,与功能键盘相同,本键盘也采用共用中断方式连接到主控制器的外部中断(INT1)上,当按键按下的时候,在中断服务子程序中对按键进行解码
1、DS1302实时时钟本芯片主要为手持节点提供时间日期支持采用独立的纽扣电池作为后备供电电源、独立于系统的主电源,以长时间保持时间和日期信息不丢失
1、AT23C02EEPROM具有掉电不失数据的特点,采用IIC总线与主控芯片连接,由于STC89C52RC本身没有硬件IIC接口,所以可以通过软件模拟IIC的时序来进行读写可用于存储一些系统配置以及一些需要持久保存的信息,主要只作为后备存储器,由于空间有限,一般不存储信息
1、Max232电平转换电路由于TTL与RS232电平不兼容,为了实现程序的下载以及通信,必须进行电平转换,这里采用了MAX232电平转换芯片,实现电平转换
3.
2.
2.2手持设备软件设计手持设备的一个重要任务是提供人机界面,简单、直白的显示信息本系统中手持设备显示部分使用的是12864液晶屏,该屏自带中文字库,可以方便的显示文字信息,并且具有绘图模式,可以实现简易的菜单功能,在该手持设备中我们实现了一个简易的菜单,供用户选择调用相应的功能,以及查看相关信息并且手持设备还需要与无线模块进行通信、软件模拟IIC总线时序与AT24C02进行通信、与DS1302实时时钟芯片进行通信
[4]
3.3数据汇聚层
3.
3.1网关硬件设计协调器在网络中处于中层一方面接受底层数据包,通过ZigBee无线方式与终端节点连接;另一方面,往上层上位机或者手持设备等传递数据包,与手持设备通信时,使用ZigBee无线方式,与上位机通信采用RS-232接口传递到本地计算机或者使用GPRS方式将数据传递到Internet中的数据服务器上,协调器间互联可以采用ZigBee无线方式进行跨网段通信InterPANCommunication
[5],也可以采用MAX-485总线,组成一个485网络,或者采用CAN总线方式,组建一个CAN总线网络进行通信所以协调器的一个重要作用就是存储转发数据包另外,在网络启动时,进行网络初始化,分配地址,划分网络,维护网络也是协调器的功能,协调器原则上需要采用主电源供电,也可以采用电池供电,但由于ZigBee协议本身的一些特性决定了协调器在网络中扮演了重要的角色,同时,它的负担非常重所以最好可以采用主电源供电在没有主电源的情况下,可以采用太阳能电池板加可充电电池的搭配来为协调器这样的关键节点供电
1、电源模块由于协调器节点上含有较多的集成IC,并且其工作电压相差加大,无法兼容,故采用不同电压分别进行供电,主控制芯片STC12LE5A60S
2、MAX
3485、CC2530CC2430等芯片采用的是
3.3V电压供电,使用AMS
11173.3V线性稳压芯片进行稳压后提供;CAN总线、液晶屏1602等部分使用的是5V供电,采用AMS
11175.0V线性稳压芯片进行稳压后输出;GPRS模块SIM900A采用的是
4.0V供电,并且对电源要求非常高,在模块进行射频数据收发时会由突发的大电流(可达2A)通过,很容易由于供电不足造成模块自动关机或者通信中断,在信号较弱的场合下,芯片会增强射频部分的发射功率,此时也会有较大电流通过为了满足GPRS模块对电源的要求,保证通信稳定,此处采用MIC29302芯片进行稳压供电,该芯片具有低压降(
0.35V)、大电流(3A)等特点,并且输出电压可调,但价格过于昂贵,实验证明,采用开关型电压芯片如LM2576等也可以为模块供电并且工作正常
1、液晶模块使用1602液晶显示屏,此屏自带西文字库和驱动芯片,可以通过并行方式与主控制器连接为了节能,加入了背光控制部分,可以再空闲时关闭液晶背光,节约电能
1、功能键盘模块2*2矩阵键盘,在网关节点上,该键盘作为功能键盘,实现菜单上翻、下翻、确定、返回主菜单等功能主控制器STC12LE5A60S2的中断数量有限,无法为每一个按键都分配一个独立的外部中断,但扫描方式连接键盘消耗资源过大、实时性和响应速度也不理想,所以该键盘采用共用中断方式连接到系统中(连接到外部中断INT0),任何一个按键按下时都产生中断,在中断程序中通过扫描来识别按键,既可以实现响应速度上的要求,也可节约系统IO口和中断资源
[6]
1、CAN总线模块CAN是一种非常常用的现场总线技术,具有抗各种环境下的电磁干扰、较高的数据传输速率、支持大量节点进行组网、自动错误检测、优先级和总线仲裁等优良特性,非常适合在各种强干扰场合进行分布式控制和数据传输CAN总线网络节点一般由主控制器、CAN总线协议控制器、CAN总线数据收发驱动器等部分组成,在本系统中,主控制器是STC12LE5A60S2,CAN总线协议采用SJA1000芯片,收发器采用Philips公司的A82C250芯片
[7]
1、485总线模块485总线是一种非常经典和常见的总线技术,与本系统中采用的另一种现场总线CAN相比,具有结构简单、成本低廉的特点他是一种半双工网络,采用平衡发送和差分接收技术、收发器具有高灵敏度,可以检测200mv的电压,所以具有较强的抗共模干扰的能力,并且经过较长距离的传输后,信号仍然可以被识别出来由于采用半双工方式工作,任何时候网络中只有一点可以发送数据、所以一般都是采用一主多从的方式,由主站发起通信、从站应答典型的485网络一般可以介入32个收发节点本系统中采用
3.3V供电的MAX3485芯片作为收发器,通过IO口控制收发状态转换
1、GSM/GPRS模块GPRS(GeneralPacketRadioService)是GSM移动电话系统中的一种数据传输业务是对传统的GSM业务的升级和延续,GPRS采用了分组交换方式而不是传统的电路交换方式、并且使用的是一些不固定的空闲信道、所以影响用户通话功能、数据采用包(Packet)的方式进行传输、通过SGSNGPRS服务支持节点和GGSNGPRS网关支持节点的配合实现分组数据的传输GPRS在占用较小资源的情况下有效提高了数据传输速率(相比GSM),如本系统中采用的SIM900A模块,可以实现最大
85.6kbps的下行和最大
42.8kbps的上行速率本系统中采用的SIM900A模块,其内部嵌入了TCP/IP协议栈、UDP协议栈、PAP协议等,通过AT指令即可控制其建立TCP或者UDP协议连接,与公网数据服务器进行通信,由于内置了协议栈、所以连接建立和维护的过程不需要二外干预,均由模块自动完成,提高了系统的稳定性、降低了开发难度
[8]
1、ZigBee模块作为网关,在与传感器节点进行通信时、使用ZigBee协议,ZigBee模块首先收集传感器节点的数据信息,然后通过串口或者SPI接口与主控制器STC12LE5A60S2进行通信,将相关数据进行上报,后者再对信息进行缓存并选用合适的方式如CAN总线或者485总线或者串口进行转发,传输到上一层
3.
3.2网关软件设计图3-6典型的RS485半双工网络示意图如图3-6所示,协调器网关在整个系统中扮演了数据汇聚和存储转发的功能,所以它的软件部分主要以通信模块为主,一方面与终端节点通过无线通信,另一方面通过485
[9]或者CAN总线或者ZigBee无线与其它协调器网关通信,所有的协调器中还有一个要通过RS232与上位计算机通信主协调器作为整个网络的核心,还需要与上位计算机监控软件通信,接受上位机软件的指令,然后转发指令到终端节点同时定期向上位机发送网络状态描述图3-7最终系统运行示意图如图3-7所示为一个典型ZigBee监控网络图示共有四个ZigBee网络,每个网络以对应的协调器为中心,每个ZigBee网络中采用树状拓扑结构协调器间通过
485、CAN总线或者无线连接,其中一个作为主机的协调器要与上位机通信如图所示手持终端可以通过无线与协调器连接,查看网络状态,可以与终端节点直接通过无线通信,从而配置终端节点,弥补了上位机和PC监控软件无法移动使用限制协调器部分的软件编写需要考虑以下几方面的内容首先,需要考虑通信的需求,网关是通信的枢纽,是整个网络的信息集散地,所以必须能够具备通信功能;第二,协调器需要转换各种不同的通信数据格式,提取出有效信息;第三,协调器部分需要接受用户输入,并提供信息显示界面,也就是进行人机交互网关部分作为整个网络中最为复杂的一个部分,其内部含有最多的硬件模块,在网关主控制器程序中,需要驱动所有这些外部模块协同工作,为了保证稳定性和响应速度,本系统中网关采用了基于事件驱动的模型进行编程,参考了一些RTOS(实时操作系统)的设计理念,比如,将按键输入处理、LCD界面显示、网络通信等分为多个任务,不同的任务之间通过消息来进行通信和协调,比如,当用户按下按键时,按键中断处理程序第一时间获取到按键信息,如键值,并存入全局变量中,然后,设置按键标志位,然后中断返回在主程序循环中,所有的任务被一一执行,每个任务执行的时候,首先查询其要目标事件是否发生,如果发生,则进行下一步处理,否则直接返回比如之前的按键的例子,在主程序循环中,按键任务检测到按键标志位被设置,则认为有按键按下,则进一步调用按键处理程序读取判断键值(该键值已由按键中断识别并存入变量,此处仅仅是从内存中读取并判读其逻辑功能),假设该键值为0,其对应的逻辑功能设为“返回主菜单”,则按键处理程序执行相应操作,它将菜单指针归零(即指向第一条),然后清除确认按钮状态标识位等,然后设置菜单更新标识位,即按键处理程序只执行按键处理识别任务,而菜单更新则由菜单任务去进行菜单任务是一个每
0.5S执行一次的定时任务,菜单任务根据需要判断相应的标志位,来决定是否更新显示内容,这样既可以及时更新显示信息,也不会由于频繁刷新而造成LCD显示闪烁现象发生以上是整个网关部分程序设计的主要思路,即事件消息驱动,紧急任务在中断中执行并迅速返回,其余任务在主循环中执行,各个任务只执行自己的任务,分工明确下面通过具体的代码分析来说明网关部分的程序编写首先是程序主体的框架,程序按照硬件模块和逻辑功能分为多个文件,其主要模块如表3-1所示表3-1程序模块说明表文件名功能Main.c主要包含软件执行入口函数Key.c,Key.h主要包含按键处理函数、按键中断函数、键值变量的定义等Lcd
1602.cLcd
1602.h主要包含LCD1602初始化函数、显示字符函数、显示字符串函数、清屏函数等内容Misc.cMisc.h主要包含一些辅助函数如整形到字符串转化、延时函数、单片机IO口配置初始化函数Timer.cTimer.h主要包含定时器0初始化函数,定时事件发生函数、定时器0中断函数等功能,很多功能如LCD屏的定时更新显示,就是由该模块产生
0.5S的定时事件进行驱动的Uart.cUart.h该部分包括了串口1和串口2的初始化函数,进行串口波特率设置、数据格式设置等配置,还包含串口1和串口2的中断处理函数,还包括一些串口收发函数,如发送字符串函数uart_send_string,发送字符函数,发送十六进制字符函数等Zlg_can.cZlg_can.h该部分是来自周立功公司的sja1000CAN总线控制器芯片的驱动函数模块,主要包含SJA1000的初始化,配置,收发等功能,以及一些CAN总线相关常变量的定义,该部分内容都是CAN总线中与硬件配置无关的内容,与CAN总线硬件配置有关的内容如复位引脚、中断配置在单独的文件中Can.ccan.h本文件包含了与CAN总线硬件配置紧密相关的内容,如复位引脚的位置、中断引脚的位置、中断函数的定义、还有一些辅助函数如sja1000复位函数,sja1000初始化函数,该初始化包含了sja1000正常工作所需的所有配置和初始化,其内部调用Zlg_can中的一些函数,将它们封装到一个函数中,本文件中的初始化函数由主函数进行调用Menu.cmenu.h主要包含菜单部分的内容,所有菜单相关操作都在该部分进行,包括菜单上翻、下翻、返回、确定、显示菜单等,该部分调用lcd1602部分的显示函数进行菜单显示和更新,菜单显示内容等变量的定义和声明都在该部分Gprs.cgprs.h该部分主要包括了GPRS模块的相关操作,具体包括模块开机状态监测,模块开关机,信号质量查询、运营商信息查询、SIM卡信息查询、短信的接受、发送、删除、回复等(不支持中文短信)并且可以根据短信内容进行相应操作,GPRS网络的连接初始化,GPRS网络连接与断开,TCPIP连接的建立与维护,TCPIP连接状态的查询,TCPIP数据包的收发,拨号挂机,以及一般的AT指令的执行该部分支持两种网络数据收发模式,一种是原始的TCP数据收发,另一种是将数据封装成HTTP协议中的POST方式的请求,然后发送到服务器上Zigbee.czigbee.h与ZigBee模块进行通信,接收无线模块上传的数据与无线模块的通信采用的是SPI接口并且可以控制无线模块的开关以上是各模块功能的概要分析,程序的运行示意图如图3-8所示图3-8网关部分程序运行示意图
3.
4、数据感知层
3.
4.1终端节点硬件设计终端节点主要的任务是采集数据,上传数据某些情况下可以接受指令,控制继电器或者其他执行部件进行动作数据采集部分主要是连接传感器,本系统中采用的传感器是DHT11传感器,这是一个温湿度采集一体的传感器,采用单总线方式与主控芯片互联,另外还加入了一个光敏电阻,用于定性感知光照强度节点采用电池供电为了实现现场和手动匹配功能,节点上必须有至少一个按键,为了指示运行状态,需要连接LED发光数码管终端节点的天线部分采用PCB印刷平衡差分天线或者单端天线
1、电源模块节点采用
3.3V纽扣电池供电,为了方便特定场合下使用其他电源供电,特加入了一个
3.3V稳压芯片,用于连接外部电源工作,由于采用的是不可充电电池,在节点设计时没有采用电源管理芯片,一切从简
1、传感器模块本节点模块中使用的传感器是DHT11,它是一个温湿度一体的传感器、通过单总线与CC2530进行通信其采集的温度范围是0到50摄氏度,分辨率是1摄氏度,误差范围是正负2摄氏度采集的相对湿度范围是20%到95%,并且支持低功耗模式,价格低廉
[10]另外还加入了一个光敏电阻配合CC2X30内部的ADC进行定性的光照强度的测量
1、其他部分两个按钮、两个状态指示LED、一个10脚下载和仿真接口、复位按键
3.
4.2终端节点软件设计终端节点要与传感器通信,所以要软件模拟单总线(SingleWire)的时序,收发单总线协议的命令和数据另外要与协调器通信,同时要监控网络状态,当网络发生异常时,需要尝试自动恢复另外,由于每个ZigBee网络中采用树状网络,所以部分节点需要转发数据包,扮演路由器的角色终端节点需要在通过软件在空闲时进入低功耗状态以实现功耗的降低终端节点的程序编写是基于Z-STACK协议栈的,Z-STACK本身就是基于RTOS构建的,其内部包含了消息处理、消息队列、消息发送等完整的消息驱动编程模型
[11]编程时,需要通过协议栈的接口建立用户任务,然后为目标消息注册处理函数,对消息进行捕获处理一般消息有三个来源网络协议栈消息,如网络状态改变、收到数据、加入网络等;外部消息,如按键消息、AD转换完成消息等;定时事件消息,由用户事先开启的定时器触发的事件消息,比如要每隔2秒周期性的采集数据,则可以定义一个定时器事件,其触发间隔为2秒,并同时指定其事件处理函数,捕获处理事件消息以上是一个大致的流程,在协议栈中具体编程时,通常需要事先建立一个任务,因为协议栈以任务为单位维护消息队列,即每个任务有一个消息队列所以事先要建立一个任务,所有注册的消息都会投递到该任务的消息队列中,等到该任务执行时,会调用该任务的消息处理函数对消息队列中的未处理消息进行处理下面通过对代码的分析具体说明协议栈的工作原理和流程
1、入口函数ZMain,调用各部分初始化函数
1、创建任务队列,进行任务初始化上图代码是协议栈任务创建函数,其首先定义了一个任务ID号变量,其值从0开始,依次分配给各任务,每次非配后自加1,这样所有的任务都得到了初始化,并且都有一个任务IDTaskID与之相关联,这个TaskID是全局范围类分辨各任务的唯一标示各个任务的初始化函数由用户创建任务之前定义好,其内部一般进行任务相关的初始化操作从上面的代码中我们可以看到,协议栈本身创建了多个任务,用于处理网络macTasknwkapsapsf、硬件hal、监测与控制mt_task最后是用户自定义任务GenericApp的初始化其内容如下可以看到,该任务初始化函数首先进行了任务ID的设置,然后进行了一些初始化操作和设置,然后最后四行都是注册函数首先向应用程序框架注册了一个端点endpoint,这里端点endpoint的概念类似于其他地方所说的端口的含义,然后向系统注册了所有的按键消息,此处注册时传入了当前任务的任务IDTaskID,按键触发后首先是有hal任务硬件抽象层任务进行处理的,硬件抽象层任务根据TaskID将按键消息投递到注册了按键消息的任务的消息队列中最后两行注册了两个网络消息,分别处理收到的End_Device_Bind_rsp和Match_Desc_rsp消息
1、在任务中注册消息,指定消息处理函数,进行消息处理如上图所示,各消息在任务的消息处理函数中得到处理第四章、总结我们通过长达几个月的制作和学习,初步完成了系统的硬件和部分软件的编写,在这个过程中,我们收获非常大首先在硬件制作上,我们从头至尾制作了将近五六十块电路板,最终的成品硬件电路共有近20块,所有的电路板都是使用热转印方式手工制作完成通过完成这些硬件电路的设计和制作,我们对于电路及其工作原理的理解进一步加深了,很多问题原先只是一个概念上的理解,而现在,有了切身的体会和认识,比如,上拉电阻,通过解决几次电路故障,使得我们对于什么时候该用上拉电阻、以及它的作用这些问题的认识有了很大的提升,类似的问题还有很多,所以,虽然制作电路的过程繁杂甚至有些枯燥,但其中的乐趣和收获还是值得我们的付出而软件的编写也是类似的,第一次尝试将那么多的硬件集成到一起然后让它们协调工作并不是一件很容易的事情,然而我们最终还是做到了至少是一些,并且学习到了该如何编写规范的软件,尤其是这次试用Z-STACK来进行开发,研究Z-STACK的使用和工作原理对我们的启发很大,我们很多单片机部分的程序编写都参考了Z-STACK很很多类似的开发框架的设计思路同时,通过阅读这样一个实际项目的代码,我们也学习到了在一个比较大的项目中怎样去划分模块组织代码致谢在本次毕业设计的实施过程中,很多老师和同学给了我们很多帮助,以及我们的指导老师田敏副教授,在此一并表示感谢在本次毕业设计的实施过程中,也使用到了许多开源软件,参考了许多来自网络的资料,在此向这些软件以及资料的作者们表示谢意参考文献
[1]孙利民.无线传感器网络[M].上海.
2005.
[2]CC253xSystem-on-ChipSolutionfor
2.4-GHzIEEE
802.
15.4andZigBee®ApplicationsUser’sGuide[S].TexasInstrument.
2012.
01.
[3]Z-StackUsersGuide[S].TexasInstrument.
2011.
05.
[4]DS1302Datasheet[S].DallasSemiconductor.
2016.
06.
[5]Z-StackDevelopersGuide[S].TexasInstrument.
2011.
05.
[6]STC12C5A60S2系列单片机器件手册[S].南通国芯微电子科技有限公司.
2011.
09.
[7]PCA82C250Datasheet[M].PhilipsSemiconductor.
2000.
01.
[8]SIM900A硬件设计手册[S].上海SIMCOM公司.
2010.
06.
[9]MAX485Datasheet[S].MaximSemiconductor.
2010.
03.
[10]DHT11数据手册.广东奥松公司.
2009.
01.
[11]Z-StackAPI[S].TexasInstrument.
2010.
03.
[12]崔逊学左从菊.无线传感器网络简明教程[M].北京:清华大学出版社
2009.
[13]肖俊芳.无线传感器网络的若干关键技术研究.上海交通大学工学博士学位论文
2009.
[14]马建庆.无线传感器网络安全的关键技术研究.上海:复旦大学计算机信息与技术系
2007.
[15]邓安远于林峰.无线传感器网络传输协议研究进展.科技传播
2010.
[16]杨卓静孙宏志任晨虹.无线传感器网络应用技术综述中国科技信息
2010.
[17]陈海光.无线传感器网络中若干安全问题研究.复旦大学博士学位论文,
2008.
[18]刘涛,赵计生.基于ZigBee技术的农田自动节水灌溉系统.测控技术.2008,27295—
99.
[19]张杰,黎耀贵,杨冬升.现代农业节水灌溉自动控制系统设计方案分析与选择[J].中国水运.200883145-
146.
[20]回楠木,乔晓军,王成.ZigBee无线农田采集控制系统的实现方案[J].农机化研究.2008,263-
66.附录
1、手持节点原理图及PCB
2、网关原理图及其PCB
3、无线传感器网络节点原理图及PCB数据感知层各类数据采集终端节点)数据汇聚层(协调器,网关)控制表示层PC机监控软件,手持控制设备,手机等……网关网关主网关与上位机通信网关终端节点RS232GPRSRs485ZigBeeCANRs485ZigBeeCANRs485ZigBeeCAN手持终端ZigBee上位机ZigBeeZigBeeZigBeeZigBeeZigBee终端节点终端节点终端节点开始初始化过程,依次是IO端口初始化、串口初始化、LCD102显示初始化、按键初始化、CAN总线协议控制器初始化、定时器初始化、无线模块初始化主程序循环按键事件消息处理网关间数据收发事件处理无线模块数据采集事件处理显示更新事件处理数据上传事件处理串口或GPRS中断处理函数主要包括串口中断、按键中断、SPI数据接收中断进中断中断返回voidosalInitTasksvoid{uint8taskID=0;tasksEvents=uint16*osal_mem_allocsizeofuint16*tasksCnt;osal_memsettasksEvents0sizeofuint16*tasksCnt;macTaskInittaskID++;nwk_inittaskID++;Hal_InittaskID++;#ifdefinedMT_TASKMT_TaskInittaskID++;#endifAPS_InittaskID++;#ifdefinedZIGBEE_FRAGMENTATIONAPSF_InittaskID++;#endifZDApp_InittaskID++;#ifdefinedZIGBEE_FREQ_AGILITY||definedZIGBEE_PANID_CONFLICTZDNwkMgr_InittaskID++;#endifGenericApp_InittaskID;}voidGenericApp_Inituint8task_id{GenericApp_TaskID=task_id;GenericApp_NwkState=DEV_INIT;GenericApp_TransID=0;GenericApp_DstAddr.addrMode=afAddrMode_tAddrNotPresent;GenericApp_DstAddr.endPoint=0;GenericApp_DstAddr.addr.shortAddr=0;GenericApp_epDesc.endPoint=GENERICAPP_ENDPOINT;GenericApp_epDesc.task_id=GenericApp_TaskID;GenericApp_epDesc.simpleDesc=SimpleDescriptionFormat_t*GenericApp_SimpleDesc;GenericApp_epDesc.latencyReq=noLatencyReqs;afRegisterGenericApp_epDesc;//注册所有的按键消息RegisterForKeysGenericApp_TaskID;ZDO_RegisterForZDOMsgGenericApp_TaskIDEnd_Device_Bind_rsp;ZDO_RegisterForZDOMsgGenericApp_TaskIDMatch_Desc_rsp;}uint16GenericApp_ProcessEventuint8task_iduint16events{afIncomingMSGPacket_t*MSGpkt;afDataConfirm_t*afDataConfirm;//DataConfirmationmessagefieldsbytesentEP;ZStatus_tsentStatus;bytesentTransID;//Thisshouldmatchthevaluesentvoidtask_id;//IntentionallyunreferencedparameterifeventsSYS_EVENT_MSG{MSGpkt=afIncomingMSGPacket_t*osal_msg_receiveGenericApp_TaskID;whileMSGpkt{switchMSGpkt-hdr.event{caseZDO_CB_MSG://处理网络消息GenericApp_ProcessZDOMsgszdoIncomingMsg_t*MSGpkt;break;caseKEY_CHANGE://按键消息处理GenericApp_HandleKeyskeyChange_t*MSGpkt-statekeyChange_t*MSGpkt-keys;break;//返回未处理的消息returnevents^SYS_EVENT_MSG;}………………//丢弃位置消息return0;}。