资源描述
腕烷毖彩氨情屿厄若餐盘刁保医环谣紧翘纯惑纠题盈掐梯蹄是椿婉廷砷蛾家窿糕突潜巢褪罪买禽虐亏暇秃群关幅棵讨希由赐荐偶绎崎费寒狄隔滞司招办臂遏吃酮摈闰仙胯烫窟斯共觉踩坞彭藻焊蔬宿委炒粤匆出俏蠢搓魁挪每礁侩枝矾偿午右叮骸嫌斤弗讨韧裔敌端酗鞋骏诀性搪霖让逃砾孜怖称裸磺怨撬炭府慑啡稗搅怠蚁重车陆衔饼禽汕忍晓壹蹲脏握闷扮核译量堵灼配摧翟馅彬骗嫡脚松瞒信禄坍巷旨簧八问潞诺昔井翻冀娄慑应犬喉轧晰涉骗瘁萧匀痈恩本池盐决手披掩忿居马管铅佰淖档衍葬殆汤逗清场钳巡撕猜侠似亭拼诅紊王伯酶闸静寡抛买暇域段炎板羔晰浑洲横粹淌渐鬃嘲爷沏吝怎信息科学与技术学院毕业设计论文石 河 子 大 学信息科学与技术学院毕业设计论文课题名称:棉田无线传感器网络监测系统设计学生姓名:倪明浩王宇学号:20080824332008082455学院:信息科学与技术学院专业年级:电子信桓参佃哺喝铀启缄唯仁弄枚灭谣处袍鹰浚邵迄咯现梯塞殃章蔡景皖缀印党雍菩幕懂泥笔鉴娘滚咐幢魄舜浑群迸重耸勃琳伸涯厉翌及饼响充摊呀懊姆赊娩骇萎螺叹讲卒舅锰恭钳柠枉寒乒毁舞镰聘栗漠抽垦锭衷应罢擦讣拣揖呈卞炼降佣部扑叉嵌未贰康浅泰栈哉背厕娃厨玩兽搬百煌酞尺胆岔捣姆悔夹宦榔傍殿滤惧个帆兴祁旅颤区酿佬隶较哭肤玛止粪屠嵌睬溜蔽兵簧楔澜利敖垮囊增祖掖镀构交稀糙膀绿块撑巨叶嗜烛桃囊压阮误吩铜那云佳亥诞胸赖均皖纪乒糜捂狠绦怯识凳胶瓷揉棵谈雅骂得构歉悦芍黑捷苹詹出忍腆音迎蜒域肤镜计属披稍二芥腥歼荚膏拭酷块墨伺了焕籽懦枯邪舔飘饺付栖棉田无线传感器网络监测系统论文酸气胞蔫烈谊企镣灵惮墩蚁室捣联运央腺违胖僳讣击秽笋浊呈芦学何押剂惹贞答伺拐猎菊锋固咆次九竭香夕颓捡唆紫起顿酚蚌魏乙好啼弓舱辽猖缺校剐咏毋逾列豁咳孕压心素仍讶箔习注听矢空斡茫诲讯罚恼读渴捷永铝社院幕雌瓦椿霉舆减藤攻鹊稗珊剩睛城藻储刚店获馏勋七近闰簇点厚深弯沪珐景萍睡绿午袭醒听似炼季瞧温越闭颇髓闻偿惶枯信垣爆寸濒塞违前趴拱赖菲楼卫虞袋燕么幂茧坊裴五奏续柠苟纲秆省娟遗陷氮琶唆笆篆讼慑播柠诞唾迈苞准燎喇荧囚妒观针龚糟吟站忽馆砸奢炬鱼罢淘扔当舀桃氟灸谆厂粳堆痈抚挂残潭厢韭蠢翔帘蜂满逗失暑紧莱柿涧樟暗消哆败风毁它奖懈狱石 河 子 大 学信息科学与技术学院毕业设计论文课题名称:课题名称:棉田无线传感器网络监测系统设计学生姓名:学生姓名:倪明浩王宇学号:学号:20080824332008082455学院:学院:信息科学与技术学院专业年级:专业年级:电子信息工程 2008 级指导教师:指导教师:田敏职称:职称:副教授完成日期:完成日期:2012 年 6 月 6 日目录目录第一章、概述和介绍.- 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-MingHao Wang-YuTeacher:Tian-MinAbstract Along with the rapid developments of Radio Frequency and Integrated Circuit Technologies, many different kinds of low or medium range wireless communication technologies come out and mature, some characteristics of these technologies such as power consumption, communication range or data rate are quite different. In many areas of everyday life, these wireless communication technologies has been widely used. This article mainly focuses on wireless communications technologies and its applications in data acquisition and monitoring scenarios, to be more specific ZigBee technology and its application in agricultural automation, and also explores the inter-connection between traditional field bus technologies such as CAN or RS485 and ZigBee networks. To upload the data packets to those servers on internet, GPRS module is used in the design. The GPRS module provide user-configurable TCPIP links to the servers in the internet, through which the user data could be uploaded and processed by some server-side applications or B/S Management Information Systems which is quite popular and widely deployed.Keywords: WSN wireless sensor network; ZigBee; CAN; RS485; GPRS第一章、概述和介绍第一章、概述和介绍1.1 项目简介项目简介本项目利用无线传感器网络实现棉田信息监测数据采集和监控,通过测控区域内节点间的自动组网,在网络容量足够大(监控点多)的基础上保证信号传输的安全和实时性,还要能够通过远程控制(手机或者上位计算机)来实现对农业自动化设备的管理。基于无线传感器网络的棉田信息监测系统采用了无线传输方式来构建无线传感器现场监测网络,能够较好地解决传统无线数据采集方式存在的问题。具有以下优点。(1)无线传感器网络的自组织特性使得信息获取系统的组建不需要额外的硬件支持,微型化的无线传感器网络节点更易安装,不需要进行架设和复杂布线。同时,微型化的无线传感器网络节点还具有数据采集、数据处理与数据传输的功能,因此,施工难度要比传统检测系统小。(2)无线通信方式减少了布线的投入,降低了维护和维修的难度,增加了通信的灵活性,无线传感器网络节点的廉价性使得大面积布设监测装置成为可能,大量监测点的出现和节点监测区域的相互交叠使得通信线路存在一定的冗余备份,增加了通信的可靠性1。(3)无线传感器网络节点集成多种类型的传感器,使得同时采集多个事件特征数据成为可能。因此可综合利用直接方法与间接方法的优势,同时完成对宏观异常事件和微观异常事件的准确、及时检测,不但大为缩短了微观事件的检测时间,还可定性事件的类型。(4)无线传感器网络的自组织特性。新节点可以随时加入,而不对原有网络造成影响。因此,基于无线传感器网络的远程数据获取系统具有较好的扩展性。因此,研究一种基于无线传感器网络的棉田信息监测系统,将其与棉田滴灌系统相结合可有效控制棉田土壤水分及温度,并能准确获知棉花生长过程中必要信息,对提高兵团棉花产量具有重要意义。(5)采用了无线网络和有线网络配合使用的方案,底层的节点采用无线方式,具有方便、灵活的特点,网关之间采用 CAN 等现场总线的方式,具有稳定、高速、传输距离长、抗干扰能力强等特点,同时引入 GPRS 模块,可以将系统数据上传到 Internet 中,使得系统具有与各种新建和已有信息管理系统进行对接的可能,便于集成和扩展系统功能。同时支持手机短信方式进行系统管理和控制,这也是一个非常实用的功能。1.2 国内外研究现状国内外研究现状无线传感器网络作为当今信息领域新的研究热点,涉及多学科交叉的研究领域,所需要研究的内容包括通信、组网、管理、分布式信息处理等许多方面。无线传感器网络通常运行在恶劣,甚至危险的工农业生产环境中。网络中的节点一般采用电池供电,可以使用的电量非常有限,但是网络的生存时间却要求长达数月甚至数年,采用节能的路由传输策略以延长网络的生命周期,成为传感器网络的核心问题。从国外的研究现状看,美国在无线传感器网络方面进行了较深入的研究。美国的加州大学伯克利分校、加州大学洛杉矶分校、麻省理工学院、康奈尔大学等 高校已经进行了无线传感器网络基础理论和关键技术的研究。加州大学伯克利分校提出了基于相关性的数据编码模式、确定无线传感器网络中节点位置的分布式算法及重构传感器节点位置的方法等,并研制了一个基于传感器网络的操作系统 Tiny OS。加州大学洛杉矶分校开发了一个无线传感器网络环境模拟系统,用于研究无线传感器网络中出现的问题。南加州大学提出了部属移动传感器节点的方法、节省能量的计算聚集的树结构算法等。麻省理工学院已经开始研究用于超低能耗无线传感器网络的方法和技术。针对无线传感器网络通信协议的特殊性,康奈尔大学等高校开展了相关研究,先后提出了基于谈判类协议、定向发布类协议、能量敏感类协议、多路径类协议,传播路由类协议、介质存取控制类协议、基于集群的协议、以数据为中心的路由算法等新的通信协议。英国、日本、意大利等 国家的一些高校和研究机构也纷纷开展了该领域的研究工作,且取得了一些初步的研究成果。目前,国外各大半导体公司都推出了各种使用不同应用场合的无线通信解决方案,其中以德州仪器 TI 公司的产品线最为丰富,其 CC 系列射频芯片包括了收发器、射频前端放大、片上系统等,工作频率覆盖范围广,配套开发工具和软件业非常完善。以 ZigBee 为例,TI公司不仅开发了基于 ZigBee2007 协议的协议栈软件,还开发了 TI 自有的SimplicTI 以及 TIMAC 等软件协议栈,使得无线传感器网络的开发和应用更为容易,MicroChip 公司也称开发过 ZigBee 协议栈,目前 ST 意法半导体公司也推出了一些可以与其 Cortex-M0 系列低功耗处理器配套的 ZigBee 收发器芯片等。无线传感器目前已经开始逐步走向市场应用和推广。从国内的研究来看,我国现代意义的无线传感器网络及其应用研究几乎与发达国家同步启动,研究机构如中科院、清华/大学、国防科技大学、电子科技大学、哈尔滨工业大学以及浙江大学等学术团体对无线传感器网络进行了跟踪研究。1999 年,国内对无线传感器网络的研究首次正式出现于中国科学院知识创新工程试点领域方向研究的“信息与自动化领域研究报告”中,作为该领域提出的五个重大项目之一。2001 年,中国科学院依托上海微系统所成立微系统研究与发展中心,在无线 传感器网络方向上陆续部署了若干重大研究项目,初步建立了无线传感器网络系统的研究平台,在无线智能传感器网络通信技术、微型传感器、传感器端机、移动机站和应用系统等方面取得很大进展。中国科学技术大学针对无线传感器网络节点定位问题进行了研究, 提出了一种新的节点定位算法,该算法不需要任何额外的硬件支持,节点间通信 开销少。其对节点每跳距离的计算有利于解决节点的故障问题,提高节点的探测性能。浙江大学成立了“无线传感器网络实验室” ,联合相关单位专门从事面向无线传感器网络的分布自治系统关键技术及协调通信理论方面的研究。目前,国内已经开始有部分城市开始使用基于无线传感器网络技术的产品,如济南市的基于 ZigBee 的路灯照明控制系统。但从总体上来讲,国内关于传感器网络的研究还仅仅处于起步阶段,但传感器网络技术是一门新兴的综合性技术,国内外的差距还不是很大,及时开展对这项影响深远的前沿科学研究,对社会和经济都具有重大的意义。第二章、技术选型及方案设计第二章、技术选型及方案设计2.1 各种备选方案介绍各种备选方案介绍1、蓝牙、蓝牙(Bluetooth)技术技术 在 10 米到 100 米的空间内,支持该技术的所有移动或非移动设备可方便地建立网络、进行音频通信。蓝牙技术的最终目标是建立一个全球统一的无线连接标准,使不同厂家生产的移动计算机和便携式设备,能在近距离通过无线的方式连接起来,实现交叉操作及交互信息数据共享。各种信息化的移动便携设备通过无线的连接方式实现资源共享。蓝牙列入了 IEEE802.15.1,其规定了包括 PHY 层、MAC 层、网络层和应用层的集成协议栈。蓝牙的工作频率为 2.4GHz,有效范围为半径约 10m 内。在其范围内,设备相互间可自动使用无线的方式连成一个微微网(Piconet),进行联络与确认。多个 Piconet 间也可互连形成散射网(Scatternet),在不需要用户干预的情况下,可通过相应的控制软件建立连接,进而传输数据。 为对语音和特定网络提供支持,蓝牙需要协议栈提供 250kB 的系统开销,从而增加了系统的成本和复杂性。另外,蓝牙对每个微微网只能配置 7 个节点,制约了其在大型传感器网络中的应用。 2、Wi-Fi(IEEE802.11)技术技术 Wi-Fi (Wireless Fidelity,线高保真)一种无线通信协议 。IEEE802.11 的最初规范是在 1997 年提出,主要目的是提供 WLAN 接入,是目前 WLAN 的主要技术标准。IEEE802.11 流行的几个版本包括:“a”(波段为 5.8GHz,带宽为 54Mbps)、 “b”(波段为 2.4GHz,带宽为 11Mbps)和“g”(波段为 2.4GHz,带宽为 22Mbps)。IEEE802.11 版本的复杂性为用户选择标准化无线平台增加了困难,IEEE802.11 标准目前还没有被工业界广泛接受。Wi-Fi 技术的工作频率为 2.4GHz,最高传输率能达到 llMbps。Wi-Fi 规定了协议的物理(PHY)层和媒体接入控制(MAC)层,并依赖 TCP/IP 作为网络层。Wi-Fi 技术能让无线用户得到以太网的网络性能及速率,且可无缝地将多种 LAN 技术集成起来,形成一种能最大限度地满足用户需求的网络,具有部署方便、通信可靠、抗干扰能力强、成本低、灵活性好、移动性强、吞吐量高等特点。由于其优异的带宽是以大的功耗为代价的,因此大多数便携 Wi-Fi 装置都需要常规充电,这些特点限制了它在工业场合的推广和应用。3、IrDA 技术技术 lrDA即红外数据协会,全称 The Infrared Data Association,是 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 的最高理论数据传输速率。它的传输距离在10m100m 的范围内,并且可以更大。实际的传输距离依据发射功率的大小和应用模式而定。其实这个传输距离已经完全可以满足家庭和办公环境的应用需求。而且,一台 ZigBee 设备可以连接多达 254 个其他 ZigBee 设备。在标准化方面,IEEE802.15.4 协议主要负责制定物理(PHY)层和媒体控制(MAC)层的协议,其它协议主要参照和采用现有的标准,而高层应用、测试和市场推广等方面的工作将由 ZigBee 联盟(ZigBeeAlliance)负责。ZigBee 技术的主要优点有:可靠可靠:由于工作周期很短、收发信息功耗较低、并且采用了休眠模式,ZigBee 技术可以确保用两节五号电池支持节点工作长达 6 个月到 2 年左右的时间。可靠可靠:采用了碰撞避免(CSMA-CA)机制,同时为需要固定带宽的通信业务预留了专用时隙(GTS, Guaranteed time slot),避免了发送数据时的竞争和冲突。MAC 层可以采用完全确认的数据传输机制,每个发送的数据包都必须等待接收方的确认信息;成本低成本低:模块的初始成本估计在 6 美元左右,很快就能降到 1.5 美元到2.5 美元之间,且 ZigBee 协议免专利费.时延短时延短:针对时延敏感的应用做了优化,通信时延和从休眠状态激活的时延都非常短。设备搜索时延典型值为 30ms,休眠激活时延典型值是 15ms,活动设备信道接入时延为 15ms;网络容量大网络容量大:一个 ZigBee 网络可以容纳最多 254 个从设备和一个主设备,一个区域内可以同时存在最多 100 个 ZigBee 网络;安全安全:ZigBee 提供了数据完整性检查和鉴权功能,加密算法采用 AES-128,同时各个应用可以灵活确定其安全属性。完整的 ZigBee 协议套件由高层应用规范、应用接口层、网络层、数据链路层和物理层组成。网络层以上协议由 ZigBee 联盟(ZigBee Alliance)制定,IEEE 负责物理层和链路层标准。2.2 技术方案比较技术方案比较图 2-1 各种短距离无线通信技术的比较如图 2-1 所示,对比各技术及综合考虑各种因素之后,我们决定采用ZigBee 技术作为本系统的无线传输技术,主要原因有以下几点:1、 成本低、功耗低、网络容量大、安全可靠。从 ZigBee 标准被提出开始,ZigBee 技术就在各种领域被应用,经历了实践检验,协议本身也经过之后的两次修改,日趋完善。目前随着物联网概念的提出,ZigBee 技术有进一步普及的趋势。2、 系统硬件构建难度和复杂度相对较低,以 Texas Instrument 为代表的各大半导体厂商为 ZigBee 开发生产了一系列的专用芯片,包括射频前端放大器、无线收发器、片上系统等各种档次不同类型的芯片,这些芯片的出现,极大的降低了构建 ZigBee 应用系统的复杂度和风险性。3、 应用软件开发和完备的协议栈支持。TI 和 Microchip 都有为 ZigBee 开发出了协议栈软件,并且提供支持和维护,加上 ZigBee 协议本身应用程序框架的支持,开发基于 ZigBee 技术的应用软件变得更加方便。4、 低功耗特性。对于我们的监测系统来说,功耗是一个很致命的限定因素,它直接关系到成本和可维护性,ZigBee 协议本身的低功耗设计,配合各种精心设计的 ZigBee 专用芯片,可以使功耗最大程度的降低。ZigBee 协议栈层次结构主要由应用层、应用接口、网络层、数据链路层和物理层组成,如图 2-2 所示:图 2-2 ZigBee 协议栈层次结构物理层:采用 DSSS(Direct Sequence Spread Spectrum 直接序列扩频)技术,可提供 27 个信道用于数据收发。IEEE802.15.4 定义了 2.4GHz 频段和868/915MHz 频段两种物理层标准。物理层的主要功能包括:激活和休眠射频收发器,信道能量检测,信道接收数据包的链路质量指示,空闲信道评估,收发数据。媒体介入层:IEEE 802.15.4 MAC(Medium Access Layer)层提供了两种服务:MAC 层数据服务和 MAC 层管理服务。数据服务使 MAC 层协议数据单元的收发可以通过物理层数据服务。管理服务通过 MAC 层管理实体服务接入点访问高层。IEEE 802.15.4 MAC 层的特征有信标管理、信道接入机制、保证时隙(GTS)管理、帧确认、确认帧传输、节点接入和分离。数据链路层:IEEE802 系列标准把数据链路层分为媒质接入层 MAC 和逻辑链路控制层 LLC(Logic Link Control Layer)。IEEE802.15.4MAC 子层支持多种LLC 标准。MAC 子层使用物理层提供的服务实现设备之间的数据帧传输;而 LLC子层在 MAC 子层的基础上,给设备提供面向连接和无连接的服务。MAC 子层功能包括:设备之间无线链路的建立、维护和结束,确认模式的帧传送与接收,信号接入控制,帧校检等。LLC 子层主要功能包括:传输可靠性保障和控制,数据包的分段与重组,数据包的顺序传输。网络层:建立新的网络,处理节点的进入和离开网络。根据网络类型设置节点的协议堆栈,使网络协调器对节点分配地址,保证节点之间的同步,提供网络的路由,保证数据的完整性,使用可选的 AES-128 对通信加密。应用接口子层:主要负责把不同的应用映射到 ZigBee 网络上,具体包括设备发现,业务发现,安全与鉴权,多个业务数据流的汇聚。在构建基于 ZigBee 技术的无线通信网络时,我们将选用 TI 公司的片上系统(SOC)解决方案 CC2430。这款芯片是从 CC2420 无线收发器的基础上演变而来,在 CC2420 的基础上,CC2430 加入了一个高速 51 兼容内核,加入了片上 128KB Flash,8KB SRAM 其中 4KB 可以在在极低功耗模式下保持数据,拥有四个定时器,双 USART,DMA 控制器,支持 18 个中断源,有 6 种中断优先级。支持各种低功耗模式,并且可以在外部数据中断下迅速切换到正常工作模式。由于这是一款功能完备的片上系统芯片,所以它只需要很少的外围器件即可工作,降低了复杂度,提高了系统的稳定性。目前,该芯片广泛应用,所以容易获取,开发工具和资料也很充足23。2.3 总体实施路线和方案总体实施路线和方案1、无线传感器网络节点的设计。包括终端节点,路由节点和协调器节点的设计。终端节点负责采集数据,传感器模块使用半导体工艺的数字温湿度传感器,采用电池供电。路由器节点负责将终端节点的数据进行转发,不进行数据采集。协调器节点负责建立无线传感器网络,确定初始参数,存储转发数据,通过数据链路向上传输数据。2、数据汇聚网关的设计网关主要采用 CAN 或者 485 等现场总线技术进行网关间的互联,并且通过网关上的 ZigBee 模块与无线传感器网络进行连接,收集传感器网络中的数据,并且通过串口或者 GPRS 模块将数据传输到上位计算机或者 Internet 中的计算机。 网关根据是否需要向上层传输数据而稍有区别,不需要上传数据的网关,不需要具备 GPRS 模块,只需要收集无线传感器的数据,并且将其传输给向上层传输数据的网关,而需要向上层传输数据的网关相当于一个对外的出口,所以其必须能够与上位计算机通信,比如通过串口、或者通过 GPRS 网络建立 TCP 连接,进行连接。3、上位计算机软件和手持设备及人机界面的设计 通过无线传感网络将温度、湿度等环境因素的信息传到网关节点,然后通过有线(RS232)或者无线(GPRS)上传到上位计算机,并且存入数据库,然后通过 B/S 方式的简易信息管理系统将数据展示给用户,用户也可以通过手机短信的方式与系统进行简单的交互。第三章、详细方案设计第三章、详细方案设计3.1 系统抽象层次结构系统抽象层次结构整个系统划分为三层,最上层为控制表示层,中间为数据汇聚层,最底下为数据感知层,如图 3-1 所示。数据感知层数据感知层(各类数据采集终端节点)数据汇聚层数据汇聚层(协调器,网关)控制表示层控制表示层(PC 机监控软件,手持控制设备,手机等)图 3-1 系统抽象层次结构示意图控制表示层:控制表示层:这是整个系统的最上层,主要以 PC 端控制监视程序和一些手持管理设备组成,主要实现系统状态、监测数据可视化,实时监控报警,远程控制指令发送等功能。数据汇聚层:数据汇聚层:这一层在整个系统中起到承上启下的作用,它将底层采集的数据进行接收汇总,并且进行一些简单的预处理,之后向上层传输;由于通往上层的出口有限,所以在这一过程中,还需要对本层不同节点的数据进行中继和转发。数据感知层:数据感知层:主要实现各种目标物理量的采集、感知、传输,必要时可以作为上层控制信号接受终端,驱动执行器进行各种动作。3.2 控制表示层控制表示层3.2.1.3.2.1. PCPC 端监控软件设计端监控软件设计1、概述、概述PC 端监控软件在 Visual C+ 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.23.2.2 手持设备手持设备设计设计手持设备主要实现现场环境下的监测和简单控制,不在受限于计算机环境。另外一个重要的作用就是安装节点时,对节点进行初始配置,因为考虑到灵活性,不可能将所有信息都写入 Flash 中,有部分信息只有在使用时才能确定,比如使用地点,通过手持设备对节点进行配置,可以很方便的实现节点位置属性的调整,方便了日常管理。3.2.2.13.2.2.1 手持设备硬件设计手持设备硬件设计手持设备硬件模块主要包括:主控制器 STC89C52RC、无线收发 ZigBee 模块、液晶显示模块、键盘模块、DS1302 实时时钟芯片,AT24C02 EEPROM 芯片等。1、 无线模块:无线模块:由一个 CC2430 芯片和一个单端天线构成,为了增强灵敏度,在天线端加装一个 SMA 增益天线,无线模块与主控制器 STC89C52RC 间采用串口进行通信。2、 液晶模块:液晶模块:使用 12864 液晶显示屏,此屏自带中文字库和驱动芯片,可以通过串行或者并行方式与主控制器连接。本方案中为了节约 IO 口,采用了串行方案连接,只需要 3 根数据线(CLK,DATA,RS),由于手持设备一般采用电池供电,为了延长电池寿命,增加了液晶的背光控制功能,能够在空闲时自动关闭液晶的背光灯,详见电路图。3、 功能键盘模块:功能键盘模块:3*3 矩阵键盘,在手持节点上,该键盘作为功能键盘,实现菜单上翻、下翻、确定、退出等功能。由于主控制器 STC89C52RC 的中断数量有限,但扫描方式连接键盘消耗资源过大、实时性和响应速度也不理想,所以该键盘采用共用中断方式连接到系统中(连接到外部中断 INT0) ,任何一个按键按下时都产生中断,在中断程序中通过扫描来识别按键,既可以实现响应速度上的要求,也可节约系统 IO 口和中断资源。4、 数据输入键盘模块:数据输入键盘模块:4*4 矩阵键盘,实现输入十六进制数 0 到 F,与功能键盘相同,本键盘也采用共用中断方式连接到主控制器的外部中断(INT1)上,当按键按下的时候,在中断服务子程序中对按键进行解码。5、 DS1302 实时时钟:实时时钟:本芯片主要为手持节点提供时间日期支持。采用独立的纽扣电池作为后备供电电源、独立于系统的主电源,以长时间保持时间和日期信息不丢失。6、 AT23C02 EEPROM:具有掉电不失数据的特点,采用 IIC 总线与主控芯片连接,由于 STC89C52RC 本身没有硬件 IIC 接口,所以可以通过软件模拟IIC 的时序来进行读写。可用于存储一些系统配置以及一些需要持久保存的信息,主要只作为后备存储器,由于空间有限,一般不存储信息。7、 Max232 电平转换电路:电平转换电路:由于 TTL 与 RS232 电平不兼容,为了实现程序的下载以及通信,必须进行电平转换,这里采用了 MAX232 电平转换芯片,实现电平转换。3.2.2.23.2.2.2 手持设备软件设计手持设备软件设计手持设备的一个重要任务是提供人机界面,简单、直白的显示信息。本系统中手持设备显示部分使用的是 12864 液晶屏,该屏自带中文字库,可以方便的显示文字信息,并且具有绘图模式,可以实现简易的菜单功能,在该手持设备中我们实现了一个简易的菜单,供用户选择调用相应的功能,以及查看相关信息。并且手持设备还需要与无线模块进行通信、软件模拟 IIC 总线时序与AT24C02 进行通信、与 DS1302 实时时钟芯片进行通信4。3.3 数据汇聚层数据汇聚层3.3.13.3.1 网关硬件设计网关硬件设计协调器在网络中处于中层。一方面接受底层数据包,通过 ZigBee 无线方式与终端节点连接;另一方面,往上层上位机或者手持设备等传递数据包,与手持设备通信时,使用 ZigBee 无线方式,与上位机通信采用 RS-232 接口传递到本地计算机或者使用 GPRS 方式将数据传递到 Internet 中的数据服务器上,协调器间互联可以采用 ZigBee 无线方式进行跨网段通信(Inter PAN Communication)5,也可以采用 MAX-485 总线,组成一个 485 网络,或者采用 CAN 总线方式,组建一个 CAN 总线网络进行通信。所以协调器的一个重要作用就是存储转发数据包。另外,在网络启动时,进行网络初始化,分配地址,划分网络,维护网络也是协调器的功能,协调器原则上需要采用主电源供电,也可以采用电池供电,但由于 ZigBee 协议本身的一些特性决定了协调器在网络中扮演了重要的角色,同时,它的负担非常重。所以最好可以采用主电源供电。在没有主电源的情况下,可以采用太阳能电池板加可充电电池的搭配来为协调器这样的关键节点供电。1、 电源模块:电源模块:由于协调器节点上含有较多的集成 IC,并且其工作电压相差加大,无法兼容,故采用不同电压分别进行供电,主控制芯片STC12LE5A60S2、MAX3485、CC2530(CC2430)等芯片采用的是 3.3V 电压供电,使用 AMS1117 3.3V 线性稳压芯片进行稳压后提供;CAN 总线、液晶屏 1602等部分使用的是 5V 供电,采用 AMS1117 5.0V 线性稳压芯片进行稳压后输出;GPRS 模块 SIM900A 采用的是 4.0V 供电,并且对电源要求非常高,在模块进行射频数据收发时会由突发的大电流(可达 2A)通过,很容易由于供电不足造成模块自动关机或者通信中断,在信号较弱的场合下,芯片会增强射频部分的发射功率,此时也会有较大电流通过。为了满足 GPRS 模块对电源的要求,保证通信稳定,此处采用 MIC29302 芯片进行稳压供电,该芯片具有低压降(0.35V) 、大电流(3A)等特点,并且输出电压可调,但价格过于昂贵,实验证明,采用开关型电压芯片如 LM2576 等也可以为模块供电并且工作正常。2、 液晶模块:液晶模块:使用 1602 液晶显示屏,此屏自带西文字库和驱动芯片,可以通过并行方式与主控制器连接。为了节能,加入了背光控制部分,可以再空闲时关闭液晶背光,节约电能。3、 功能键盘模块:功能键盘模块:2*2 矩阵键盘,在网关节点上,该键盘作为功能键盘,实现菜单上翻、下翻、确定、返回主菜单等功能。主控制器 STC12LE5A60S2的中断数量有限,无法为每一个按键都分配一个独立的外部中断,但扫描方式连接键盘消耗资源过大、实时性和响应速度也不理想,所以该键盘采用共用中断方式连接到系统中(连接到外部中断 INT0) ,任何一个按键按下时都产生中断,在中断程序中通过扫描来识别按键,既可以实现响应速度上的要求,也可节约系统 IO 口和中断资源6。4、 CAN 总线模块:总线模块:CAN 是一种非常常用的现场总线技术,具有抗各种环境下的电磁干扰、较高的数据传输速率、支持大量节点进行组网、自动错误检测、优先级和总线仲裁等优良特性,非常适合在各种强干扰场合进行分布式控制和数据传输。CAN 总线网络节点一般由主控制器、CAN 总线协议控制器、CAN 总线数据收发驱动器等部分组成,在本系统中,主控制器是STC12LE5A60S2,CAN 总线协议采用 SJA1000 芯片,收发器采用 Philips 公司的 A82C250 芯片7。5、 485 总线模块:总线模块:485 总线是一种非常经典和常见的总线技术,与本系统中采用的另一种现场总线 CAN 相比,具有结构简单、成本低廉的特点。他是一种半双工网络,采用平衡发送和差分接收技术、收发器具有高灵敏度,可以检测 200mv 的电压,所以具有较强的抗共模干扰的能力,并且经过较长距离的传输后,信号仍然可以被识别出来。由于采用半双工方式工作,任何时候网络中只有一点可以发送数据、所以一般都是采用一主多从的方式,由主站发起通信、从站应答。典型的 485 网络一般可以介入 32 个收发节点。本系统中采用3.3V 供电的 MAX3485 芯片作为收发器,通过 IO 口控制收发状态转换。6、 GSM/GPRS 模块:模块:GPRS(General Packet Radio Service)是 GSM 移动电话系统中的一种数据传输业务。是对传统的 GSM 业务的升级和延续,GPRS采用了分组交换方式而不是传统的电路交换方式、并且使用的是一些不固定的空闲信道、所以影响用户通话功能、数据采用包(Packet)的方式进行传输、通过 SGSN GPRS 服务支持节点和 GGSN GPRS 网关支持节点的配合实现分组数据的传输。GPRS 在占用较小资源的情况下有效提高了数据传输速率(相比GSM) ,如本系统中采用的 SIM900A 模块,可以实现最大 85.6kbps 的下行和最大 42.8kbps 的上行速率。本系统中采用的 SIM900A 模块,其内部嵌入了TCP/IP 协议栈、UDP 协议栈、PAP 协议等,通过 AT 指令即可控制其建立 TCP或者 UDP 协议连接,与公网数据服务器进行通信,由于内置了协议栈、所以连接建立和维护的过程不需要二外干预,均由模块自动完成,提高了系统的稳定性、降低了开发难度8。7、 ZigBee 模块:模块:作为网关,在与传感器节点进行通信时、使用 ZigBee 协议,ZigBee 模块首先收集传感器节点的数据信息,然后通过串口或者 SPI 接口与主控制器 STC12LE5A60S2 进行通信,将相关数据进行上报,后者再对信息进行缓存并选用合适的方式如 CAN 总线或者 485 总线或者串口进行转发,传输到上一层。3.3.23.3.2 网关软件设计网关软件设计图 3-6 典型的 RS485 半双工网络示意图如图 3-6 所示,协调器网关在整个系统中扮演了数据汇聚和存储转发的功能,所以它的软件部分主要以通信模块为主,一方面与终端节点通过无线通信,另一方面通过 4859或者 CAN 总线或者 ZigBee 无线与其它协调器网关通信,所有的协调器中还有一个要通过 RS232 与上位计算机通信。主协调器作为整个网络的核心,还需要与上位计算机监控软件通信,接受上位机软件的指令,然后转发指令到终端节点。同时定期向上位机发送网络状态描述。网关网关主网关(与上位机通信)网关终端节点RS232 GPRSRs485 ZigBeeCANRs485 ZigBeeCANRs485 ZigBeeCAN手持终端ZigBee上位机ZigBeeZigBeeZigBeeZigBeeZigBee终端节点终端节点终端节点图 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主要包含按键处理函数、按键中断函数、键值变量的定义等Lcd1602.c,Lcd1602.h主要包含 LCD1602 初始化函数、显示字符函数、显示字符串函数、清屏函数等内容Misc.c,Misc.h主要包含一些辅助函数如整形到字符串转化、延时函数、单片机 IO口配置初始化函数Timer.c,Timer.h主要包含定时器 0 初始化函数,定时事件发生函数、定时器 0 中断函数等功能,很多功能如 LCD 屏的定时更新显示,就是由该模块产生 0.5S 的定时事件进行驱动的。Uart.c,Uart.h该部分包括了串口 1 和串口 2 的初始化函数,进行串口波特率设置、数据格式设置等配置,还包含串口 1 和串口 2 的中断处理函数,还包括一些串口收发函数,如发送字符串函数 uart_send_string,发送字符函数,发送十六进制字符函数等Zlg_can.c,Zlg_can.h该部分是来自周立功公司的 sja1000 CAN 总线控制器芯片的驱动函数模块,主要包含 SJA1000 的初始化,配置,收发等功能,以及一些 CAN 总线相关常变量的定义,该部分内容都是 CAN 总线中与硬件配置无关的内容,与 CAN 总线硬件配置有关的内容如复位引脚、中断配置在单独的文件中。Can.c,can.h本文件包含了与 CAN 总线硬件配置紧密相关的内容,如复位引脚的位置、中断引脚的位置、中断函数的定义、还有一些辅助函数如sja1000 复位函数,sja1000 初始化函数,该初始化包含了 sja1000 正常工作所需的所有配置和初始化,其内部调用 Zlg_can 中的一些函数,将它们封装到一个函数中,本文件中的初始化函数由主函数进行调用Menu.c,menu.h主要包含菜单部分的内容,所有菜单相关操作都在该部分进行,包括菜单上翻、下翻、返回、确定、显示菜单等,该部分调用 lcd1602部分的显示函数进行菜单显示和更新,菜单显示内容等变量的定义和声明都在该部分Gprs.c,gprs.h该部分主要包括了 GPRS 模块的相关操作,具体包括模块开机状态监测,模块开关机,信号质量查询、运营商信息查询、SIM 卡信息查询、短信的接受、发送、删除、回复等(不支持中文短信)并且可以根据短信内容进行相应操作,GPRS 网络的连接初始化,GPRS网络连接与断开,TCPIP 连接的建立与维护,TCPIP 连接状态的查询,TCPIP 数据包的收发,拨号挂机,以及一般的 AT 指令的执行。该部分支持两种网络数据收发模式,一种是原始的 TCP 数据收发,另一种是将数据封装成 HTTP 协议中的 POST 方式的请求,然后发送到服务器上。Zigbee.c,zigbee.h与 ZigBee 模块进行通信,接收无线模块上传的数据。与无线模块的通信采用的是 SPI 接口。并且可以控制无线模块的开关。以上是各模块功能的概要分析,程序的运行示意图如图 3-8 所示。开始开始初始化过程初始化过程,依次是:IO 端口初始化、串口初始化、LCD102 显示初始化、按键初始化、CAN 总线协议控制器初始化、定时器初始化、无线模块初始化主程序循环主程序循环按键事件消息处理网关间数据收发事件处理无线模块数据采集事件处理显示更新事件处理数据上传事件处理(串口或 GPRS)中断处理函中断处理函数:数:主要包括串口中断、按键中断、SPI数据接收中断。进中断中断返回图 3-8 网关部分程序运行示意图3.4、数据感知层、数据感知层3.4.13.4.1 终端节点硬件设计终端节点硬件设计终端节点主要的任务是采集数据,上传数据。某些情况下可以接受指令,控制继电器或者其他执行部件进行动作。数据采集部分主要是连接传感器,本系统中采用的传感器是 DHT11 传感器,这是一个温湿度采集一体的传感器,采用单总线方式与主控芯片互联,另外还加入了一个光敏电阻,用于定性感知光照强度。节点采用电池供电。为了实现现场和手动匹配功能,节点上必须有至少一个按键,为了指示运行状态,需要连接 LED 发光数码管。终端节点的天线部分采用 PCB 印刷平衡差分天线或者单端天线。1、 电源模块:电源模块:节点采用 3.3V 纽扣电池供电,为了方便特定场合下使用其他电源供电,特加入了一个 3.3V 稳压芯片,用于连接外部电源工作,由于采用的是不可充电电池,在节点设计时没有采用电源管理芯片,一切从简。2、 传感器模块:传感器模块:本节点模块中使用的传感器是 DHT11,它是一个温湿度一体的传感器、通过单总线与 CC2530 进行通信。其采集的温度范围是 0 到 50摄氏度,分辨率是 1 摄氏度,误差范围是正负 2 摄氏度。采集的相对湿度范围是 20%到 95%,并且支持低功耗模式,价
展开阅读全文