基于zigbee协议的无线测温系统的设计与实现.doc

上传人:土8路 文档编号:10116385 上传时间:2021-04-20 格式:DOC 页数:48 大小:1.21MB
返回 下载 相关 举报
基于zigbee协议的无线测温系统的设计与实现.doc_第1页
第1页 / 共48页
基于zigbee协议的无线测温系统的设计与实现.doc_第2页
第2页 / 共48页
基于zigbee协议的无线测温系统的设计与实现.doc_第3页
第3页 / 共48页
基于zigbee协议的无线测温系统的设计与实现.doc_第4页
第4页 / 共48页
基于zigbee协议的无线测温系统的设计与实现.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《基于zigbee协议的无线测温系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于zigbee协议的无线测温系统的设计与实现.doc(48页珍藏版)》请在三一文库上搜索。

1、2013第九届“博创杯”全国大学生嵌入式设计大赛作品设计报告基于zigbee协议的无线测温系统的设计与实现Design and implementation of wireless temperature measuring system based on ZigBee protocol设计报告参赛编号:参赛学校:作 者:指导教师:是否恩智浦单项:是 否 目 录摘 要1第1章绪 论31.1作品背景及意义31.2ZigBee的应用31.3研究现状41.3.1zigbee协议41.3.2温度测量51.4本文结构6第2章系统方案72.1总体方案72.2系统各部分方案72.2.1数据采集模块72.2.

2、2ZigBee通信模块82.2.3手机移动客户端模块82.2.4PC机模块8第3章功能与指标93.1系统功能93.2技术指标9第4章实现原理104.1ZigBee协议栈结构104.2Zigbee网络拓扑结构124.3IT Z-Stack协议栈介绍134.4网络的组建过程164.5消息接收函数164.6android套件开发1.0环境搭建174.7VC+ 6.0MFC库开发环境编程18第5章硬件设计205.1无线测温模块DS18B20205.2ZigBee 无线通信、微处理器模块215.3终端PC机及手机26第6章软件设计276.1总体设计276.2DS18B20数据采集模块276.3CC253

3、0无线通信模块286.4终端显示模块336.5上位机监控36第7章系统测试39第8章特 色41结 论42参考文献43 摘 要本设计是实现在工业控制中对温度的采集,传统的温度采集系统,主要方式是有线连接节点,此方法的特点是布局复杂和可扩展性差。事实上,在某些领域有线连接方式甚至不能应用。因此,最理想的方法是采用无线连接收集和传送数据。作为新兴的短距离,低功耗低成本的无线通信技术,zigbee已广泛应用于工业控制,消费性电子,家电自动化,医疗监控等领域。设计出一种基于zigbee为基础的无线温度采集系统。系统分为硬件与软件部分,首先从硬件方面设计了无线测温模块,无线通信模块。软件方面设计了上位机监

4、控模块,由VC+6.0MFC函数库编写完成,客户端实时接收模块,由android开发套件环境1.0编程实现无线测温数据的实时显示,ZigBee无线网络中的协调器通过串口将节点地址信息和当前温度值传给上位机监控模块,上位机监控模块提取出地址和温度值,并实时的显示出来传送给客户端。上位机监控模块同时绘出温度变化的折线图,反映温度变化的趋势。关键词:ZigBee;CC2530;无线传感器网络;温度采集AbstractIn the traditional temperature acquisition system, the method to connect nodes is wired, this

5、 way possesses the characteristic of complex layout and poor extensibility. In fact, the wired way even cannot be utilized in some application. Therefore, the ideal way to collect and transmit data is employing wireless connection. As a kind of emerging short-distant, low-power consumption and low-c

6、ost wireless communication technology, ZigBee has be widely introduced to industry controlling, consumer electronics, appliance automation, medical monitoring and so on.System is divided into hardware and software parts, first from the hardware aspects of the design of wireless temperature measureme

7、nt module, wireless communication module. Software aspects of the design of the PC monitoring module by VC +6.0 MFC library to prepare, the client receives real-time module development kit from the android programming environment 1.0 wireless temperature data, real-time display, ZigBee wireless netw

8、ork coordinator through serial port node address information and the current temperature value to the host computer monitoring module, the PC monitor module extracts the address and temperature values, and display real-time transfer to the client. PC monitoring module also draws a line graph tempera

9、ture changes, reflecting the trend of temperature variations.Key words: ZigBee;CC2530;Wireless sensor networks;Temperature acquisition第1章 绪 论1.1 作品背景及意义在现代工业领域中,温度是一个非常重要的一个测量参数。温度的自动监测已经成为各行业进行安全生产和减少损失的重要措施之一。传统的温度测量方式测量周期长,施工复杂,不便于管理,并且在有些特定场合如封闭,高压等环境下根本无法测量。但是往往这些场合容易引起很大的事故。因而温度的无线传输显的越来越重要,比如

10、以下两种场合就非常适合采用无线测温技术: 运行中的电气设备通常工作在高电压和大电流状态,设备中存在的某些缺陷会导致设备部件的异常温度升高。造成温度与接触电阻值的恶性循环,最终会导致设备不能正常工作,甚至烧毁,温度过高可能会引起燃烧、爆炸甚至设备损坏或质量事故。 高压电气设备,由于故障试手段有限,特别在开关箱和封闭母线内温度超限点更不易被发现。随着温升时间的延长,温度超限处将因发热而加大氧化程度,进而可能造成烧毁母线、触头、接点毁盘、停电等重大事故。当前很多无线传感器装置采用红外传输,但是红外技术用于传感器装置的缺陷显而易见,它必须在可视的范围内定向传输,中间不能有任何阻挡,同时要求设备的位置相

11、对固定。其他无线传输形式如HomeRF及802.11b也因成本过高不适合小型,便携式传感器装置。 基于zigbee的无线测温系统是一种低成本,低功耗,近距离,高安全,短时延,免执照频段的一种技术,与其他技术相比它的优势是显而易见的。1.2 ZigBee的应用ZigBee技术具有低成本、低功耗、近距离、短时延、高容量、高安全及免执照频段等优势,广泛应用于智能家庭、工业控制、自动抄表、医疗监护、传感器网络应用和电信应用等领域。具体介绍如下:智能家庭:ZigBee技术提供了家庭智能化的技术支持,在ZigBee技术的支持下,家用电器可以组成一个无线局域网,将这些电器和电子设备联系起来,组成一个网络,甚

12、至可以通过网关连接到Internet,使得用户可以方便地在任何地方监控自己家里的情况。工业控制:工厂环境当中有大量的传感器和控制器,可以利用ZigBee技术把它们连接成一个网络进行监控,加强作业管理,降低成本。自动抄表:ZigBee可以利用传感器把表的读数转化为数字信号,通过ZigBee网络把读数直接发送到提供煤气或水电的公司。使用ZigBee进行抄表还可以实现煤气或水电公司直接把某些信息发送给用户,或者和节能相结合,当发现能源使用过快的时候可以自动降低使用速度。医疗监护:医疗工作中,时常要获得病人的生理指标、环境指标,可以通过放置传感器构成传感器网络,实时监测这些数据。由于是无线技术,传感器

13、之间不需要有线连接,被监护的人也可以比较自由的行动,非常方便。传感器网络应用:传感器网络也是最近的一个研究热点,像货物跟踪、建筑物监测、环境保护等方面都有很好的应用前景。传感器网络要求节点低成本、低功耗,并且能够自动组网、易于维护、可靠性高。ZigBee在组网和低功耗方面的优势使得它成为传感器网络应用的一个很好的技术选择。此外,ZigBee技术也可以应用到汽车电子、农业生产和军事领域中。随着物联网技术的日渐兴起,ZigBee技术将会扮演更为重要的角色。虽然前景一片大好,但是我们应该清楚认识到由于各方面的制约,ZigBee技术的大规模商业应用还有待时日,基于ZigBee技术的无线网络应用还远远说

14、不上成熟,主要表现在:ZigBee市场仍处于起步探索阶段,终端产品和应用大多处于研发阶段,真正上市的少,且以家庭自动化为主;潜在应用多,但具有很大出货量的典型应用少,市场缺乏明确方向;使用点对多点星状拓扑的应用较多,体现ZigBee优势的网状网络应用少;基于IEEE 802.15.4底层协议的应用多,而基于ZigBee标准协议的应用少。1.3 研究现状1.3.1 zigbee协议Zigbee一词源自蜜蜂群在发现花粉位置时,通过跳 ZigZag 形舞蹈来告知同伴,达到交换信息的目的,是一种通过简捷方式实现“无线”沟通的方式。人们借此称呼一种专注于低功耗、低成本、低复杂度、低速率的近距离无线网络通

15、信技术,也包含了这种寓意。2001年8月,Zigbee 联盟成立。2002 年下半年,英国 Invensys 公司、日本三菱电气公司、美国摩托罗拉公司以及荷兰飞利浦半导体公司四大巨头共同宣布,它们将加盟“Zigbee 联盟”,以研发名为“Zigbee”的下一代无线通信标准,这一事件成为该项技术发展过程中的里程碑。 到目前为止,除了Invensys、三菱电子、摩托罗拉和飞利浦等国际知名的大公司外,该联盟大约已有150家成员企业,并在迅速发展壮大。其中涵盖了半导体生产商、IP 服务提供商、消费类电子厂商及 OEM 商等,例如 Honeywell、Eaton 和 Invensys Metering

16、Systems 等工业控制和家用自动化公司,甚至还有像Mattel之类的玩具公司。所有这些公司都参加了负责开发Zigbee物理和媒体控制层技术标准的IEEE 802.15.4 工作组。Zigbee 的基础是 IEEE 802.15.4,这是 IEEE 无线个人区域网(Personal Area Network,PAN)工作组的一项标准,被称作IEEE 802.15.4技术标准。Zigbee 不仅只是802.15.4 的名字。IEEE仅处理低级 MAC 层和物理层协议,因此 Zigbee 联盟对其网络层协议和 API 进行了标准化。完全协议用于一次可直接连接到一个设备的基本节点的4K字节或者作为

17、路由器的协调器的32K字节。每个协调器可连接多达255个节点,而几个协调器则可形成一个网络,对路由传输的数目则没有限制。Zigbee联盟还开发了安全层,以保证这种便携设备不会意外泄漏其标识,而且这种利用网络的远距离传输不会被其它节点获得。1.3.2 温度测量早期测温技术采用线式热电耦、热电阻、半导体温度传感、感温电缆等技术、红外线测温,之后随着技术发展有了光纤测温,到现在日趋成熟的无线测温技术。无线测温在线监测系统组网灵活,使有线达不到的环境变为可能。无线测温具有极高的安全性,等电位、单点、绝缘安装,没有任何连接导线方便安装维护不降低电气设备的绝缘性能,在事故隐患产生时提前预警,有效避免故的发

18、生并且使用该系统可以节约购置昂贵的测温仪,节省人员,提高工作效率,提高企业自动化监控水平。无线测温系统具有实时在线监测,工作环境恶劣,安装方便,预警及时等特点,可以有效的保证高压电气设备的安全。随着网络通信技术和智能终端技术的不断发展,无线测温技术正逐渐成为一种普遍的需求。随着移动互联网技术和3G业务的普及,温度监控领域的格局悄然改变,这也给各行各业带来一股新的技术变革,创造了新的发展机遇。利用温度传感器、测温通信终端设备完成温度的动态实时传输,使得人们可以在任何时间都可以进入自己的监控系统中,随时得到所需的温度监控信息。总之,在未来的温度监控领域当中,无线测温技术必将成为其重要的组成部分。表

19、1-1列出了多种测温方式的比较结果。表 11 多种测温方式的优胜比较测温方式测温蜡片红外测温光纤测温无线测温温度读取目测红外光纤无线观测局限性人工目视人工巡检无局限无局限在线监测否否是是智能报警无无有有安装难度易-难易维护难度难-较难易安全程度高高低高测量精度低中高高1.4 本文结构本文的结构和各章内容如下:第一章是绪论,包括作品的而背景和意义,ZigBee技术、无线测温技术的研究现状。第二章是系统方案,包括系统的总体方案和各模块的设计方案。第三章介绍作品的功能与指标。第四章是实现原理,包括ZigBee协议栈、IT Z-Stack协议栈、测温网络组建,模块间消息函数的定义、软件开发平台等内容。

20、第五章是硬件设计,包括DB18B20及CC2530的相关介绍和设计第六章是软件设计,包括软件的总体设计和个模块的设计。第七章对系统进行了测试。第2章 系统方案2.1 总体方案系统主要由PC机,手机端客户端,ZigBee通信模块、数据采集模块组成。无线测温模块实现温度数据的采集,由DS18B20进行温度采集,采用IAR对其进行编程。ZigBee通信模块实现下位机与上数据位机之间的数据传输,其中采用Z-Stack协议栈进行协议编程。终端模块由PC机和客户端组成,PC机由VC+ MFC库编写实现测温数据的中继传输,客户端由 android开发套件环境1.0编程实现无线测温数据的实时显示。总体方案如图

21、2-1所示。图2-1系统总体方案2.2 系统各部分方案2.2.1 数据采集模块数据采集模块采用DS18B20传感器进行温度采集。DS18B20采用T0-92三角封装。测温范围 55+125,固有测温分辨率0.5。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。DS18B20具有以下特性: 只要求一个端口即可实现通信; 在DS18B20中的每个器件都有独一无二的序列号; 实际应用中不需要外部任何器件即可实现测温; 测量温度范围 55+125; 数字温度计的分辨率可以从9位到12位选择; 内部有温度上、下限告警设置。2.2.2 ZigBee通信模块基于ZigBee协议实现上下位

22、机之间的数据传输,在应用中采用Z-Stack协议栈进行协议编程。采用节点设计的方法,节点设计基于通用性及便于开发的考虑,移植了TI公司的Z-Stack协议栈,完全支持IEEE802.15.4/ZigBee的CC2530片上系统解决方案,具有良好的兼容性。Z-Stack还支持丰富的新特性,如无线下载,可通过ZigBee网状网络(MeshNetwork)下载节点更新。2.2.3 手机移动客户端模块实现测温数据的实时显示,基于android套件开发1.0环境进行实现。Android开发套件1.0 是Android123开发站点设计的一款应用调试工具,相对于手机优化大师的手机端而言,它将同样的功能运行

23、在Windows PC上,除了常规的批量下载Android开发环境SDK、NDK、JDK、Eclipse、Cygwin等必备开发工具外,开发者可以通过它方便的查看Logcat、编辑SQLite数据库,以及Terminal终端命令执行在电脑上。2.2.4 PC机模块实现向移动客户端的数据传输的服务器,是基于VC+ 6.0MFC库开发实现的。MFC(Microsoft Foundation Classes),是一个微软公司提供的类库(class libraries),以C+类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windo

24、ws句柄封装类和很多Windows的内建控件和组件的封装类。MFC实际上是微软提供的,用于在C+环境下编写应用程序的一个框架和引擎。MFC是一个功能丰富的界面开发系统,用于系统化开发测温系统的终端显示功能以及中继传输的功能。第3章 功能与指标3.1 系统功能无线测温系统采用无线温度传感技术实现了对分布式区域,以及范围较大,(以及人员无法接近的其它危险、恶劣环境)的温度进行实时在线监测。无线测温系统前端采用无线温度传感器,可快捷方便地安装在所被测量的区域,准确地跟踪发热接点的温度变化;无线测温系统的采集终端可准确地并及时的显示温度的变化,为控制提供可靠的数据依据;当被测点温度超过预先设定的门限值

25、时,将发出报警信号及时提醒有关人员采取措施;系统通过人机界面将地理分布图、接点温度运行参数、预告警信息、历史参数等通过图形、曲线、等形式直观显示,为决策层提供最直接可靠的数据依据,尽可能消除不可控因素。本系统可以在分布式区域,比如大棚等范围较大区域的实时温度测量。还可以在特殊的地方进行采集,这样能减少人员的浪费。还可以进行实时的采集,鉴于目前基于abdroid平台手机的流行,本作品开发了abdroid手机客户端,通过上位机服务器将采集到的数据发到手机上,进行实时的监控,不管用户在哪里只要通过手机就可以知道温度的变化,可以很好的释放人力,节约成本。此系统的精确度比较高,可以进行严格的监控,当温度

26、超过设定的数值,会进行报警提示。3.2 技术指标本系统的技术指标如下: 测量温度范围:-25 +125 测量精度:0.5 温度反应时间:小于10S 采集器使用寿命:大于5年 监控区域:0100米(可扩展)第4章 实现原理4.1 ZigBee协议栈结构ZigBee协议栈定义了四层,分别是物理层、媒体访问控制层、网络层、应用层。物理层和媒体访问控制层由IEEE802.15.4-2003定义,上层的网络层和应用层由Zigbee联盟定义。应用层分别包括ZDO(Zigbee设备对象),APS(应用支持子层)和AF(应用框架)组成。Zigbee协议栈每一层负责完成所规定的任务,并且向上层提供服务,各层之间

27、的接口通过所定义的逻辑链路来提供服务。 ZigBee协议栈结构如图 4-1 ZigBee协议栈结构图所示。图 4-1 ZigBee协议栈结构图1. 物理层物理层由半双工的无线收发器及其接口组成,主要作用是激活和关闭射频收发器;检测信道的能量;显示收到数据包的链路质量;空闲信道评估;选择信道频率;数据的接受和发送。2. 媒体访问控制层媒体访问控制(MAC)层建立了一条节点和与其相邻的节点之间可靠的数据传输链路,共享传输媒体,提高通信效率。在协调器的MAC层,可以产生网络信标,同步网络信标;支持ZigBee设备的关联和取消关联;支持设备加密;在信道访问方面,采用CSMA/CA信道退避算法,减少了碰

28、撞概率;确保时隙分配(GTS);支持信标使能和非信标使能两种数据传输模式,为两个对等的MAC实体提供可靠连接。3. 网络层基于底层的可靠通信,提供路由、路由发现、多跳、转发的功能。ZigBee网络可以组成星型、簇树型或MESH型网络。对于终端节点而言,网络层的功能只是加入和离开网络;对于路由器而言,网络层的功能是信息的转发,路由发现,建立和维护路由表和邻居表,以及构造到某节点的路由任务;而协调器网络层的任务主要包括启动和维护网络正常工作,为新加入的节点分配网络地址。4. 应用层应用层包括三部分:应用支持子层(APS)、ZigBee设备对象(ZDO)和应用框架(AF)。应用支持子层的任务是提取网

29、络层的信息并将信息发送到运行在节点上的不同应用端点。应用支持子层维护了一个绑定表,可以定义、增加或移除组信息;完成64位长地址(IEEE地址)与16位短地址(网络地址)一对一映射;实现传输数据的分割与重组;应用支持子层连接网络层和应用层,是它们之间的接口。这个接口由两个服务实体提供:APS数据实体(APSDE)和APS管理实体(APSME)。APS数据实体为网络中的节点提供数据传输服务,它会拆分和重组大于最大荷载量的数据包。APS管理实体提供安全服务,节点绑定,建立和移除组地址,负责64位IEEE地址与16位网络地址的地址映射4。ZigBee设备对象负责设备的所有管理工作,包括设定该设备在网络

30、中的角色(协调器、路由器或终端设备),发现网络中的设备,确定这些设备能提供的功能,发起或响应绑定请求,完成设备之间建立安全的关联等。用户在开发ZigBee产品时,需要在ZigBee协议栈的AF上附加应用端点,调用ZDO功能以发现网络上的其他设备和服务,管理绑定、安全和其他网络设置。ZDO是一个特殊的应用对象,它驻留在每一个ZigBee节点上,其端点编号固定为0。AF应用框架是应用层与APS层的接口。它负责发送和接收数据,并为接收到的数据寻找相应的目的端点。4.2 Zigbee网络拓扑结构Zigbee的拓扑结构42所示,可以分为以下三种:星型、簇树型和MESH型。星型拓扑网络结构网络由协调器组建

31、和维护,其他的设备都是终端设备,都直接与协调器一对一通信。在簇树型和MESH型拓扑网路结构中,协调器负责组建网络并决定一些关键的网络参数,如网络ID,网络使用的信道等。网络中主要通过路由器来拓展网络覆盖范围。树型网络中,路由器发送数据是通过层次的路由方法。树型网络可以使用网络信标通信,路由器和终端节点以跟踪信标的方式与协调器通信;也可以使用非信标方式通信,终端节点定时轮询路由器或协调器来提取自己的信息。MESH型网络可以进行点对点对等交流,但是不能使用信标。Zigbee设备都有一个64位的IEEE地址,IEEE地址是唯一的绝对地址,设备可以用这个地址在PAN中进行通信,但在设备加入网络后,协调

32、器后会为它分配一个16位的网络地址,网络地址只在该网络内是唯一的,是相对地址,设备也可以用这个网络地址在PAN内进行通信。从物理功能上分,设备的类型可以分为2种。一种是具有全功能设备(Full FunctionDevice,FFD),另一种是精简功能设备(Reduced Function Device,RFD)。在PAN(PersonalArea Network)中,全功能设备可以作为PAN的协调器,路由器或作为一个终端设备。一个全功能设备可以同时和多个精简功能设备或全功能设备通信;对于一个精简功能设备来说,它只能和一个全功能进行通信5。图4-2 星型和簇树型网络拓扑结构4.3 IT Z-St

33、ack协议栈介绍TI公司的协议栈Z-Stack符合ZigBee2006规范,功能强大,协议栈底层已实现,对于简单的应用,开发者只需要在应用层开发即可。Z-Stack还可通过ZigBee网络无线下载节点更新程序,具备定位感知功能等等。以下是Z-Stack的功能。1. 网络寻址Z-Stack使用一种分布式的地址分配方式来分配网络地址,这种方式确保所有的网络地址在网络中是唯一的。网络地址是由设备的父节点分配的。通过在Z-Stack中网络层中相关位置的三个参数,包括最大深度(MAX_DEPTH)、最大子节点数(MAX_CHILDREN)和最大路由器数量(MAX_ROUTERS)按照以下地址分配算法可得

34、到相应的网络地址6。第n个终端设备的网络地址为:其中:Aparent表示第n个终端设备的父设备网络地址;n的取值范围: Rm=MAX_ROUTERS; Cm=MAX_CHILDREN;Lm=MAX_DEPTH;如果Rm=1: CsKipd=1+Cm(Lm-d-1);如果Rm1:CsKipd=1+Cm-Rm-CmRmLm-d-11-Rm;MAX_DEPTH指网络的层数。协调器在第0层的深度,它的子节点在第一层,以下就是第二层,以此类推。这个参数限定了网络结构的最大深度。MAX_CHILDREN决定了协调器或者路由器可以有几个孩子节点。孩子节点可以是路由器或者是终端设备。MAX_ROUTERS数决

35、定了协调器或者路由器下面可以有几个路由器子节点。终端设备的个数=MAX_CHILDREN-MAX_ROUTERS。在Z-Stack中网络结构和网络深度可在nwk_globals.c文件中设置,默认设置为HOME_CONTROLS。具体设置如下:#if(STACK_PROFILE_ID=HOME_CONTROLS)byte CskipRtrsMAX_NODE_DEPTH+1=6,6,6,6,6,0;byte CskipChldrnMAX_NODE_DEPTH+1=20,20,20,20,20,0;#elif(STACK_PROFILE_ID=GENERIC_STAR)byte CskipRtrs

36、MAX_NODE_DEPTH+1=5,5,5,5,5,0;byte CskipChldrnMAX_NODE_DEPTH+1=5,5,5,5,5,0;#elif(STACK_PROFILE_ID=NETWORK_SPECIFIC)byte CskipRtrsMAX_NODE_DEPTH+1=5,5,5,5,5,0;byte CskipChldrnMAX_NODE_DEPTH+1=5,5,5,5,5,0;#endif/STACK_PROFILE_ID目的地址模式有如下几种值:AddrNotPresent(地址未知模式),Addr16Bit(短地址模式),AddrBroadcast(广播模式)。这些

37、地址模式都是必要的,因为在ZigBee中,数据包可以是点对点发送(unicast),多点发送(multicast),也可以是广播式发送(broadcast)。接下来对各种传输模式进行简要的介绍7。1) 一对一模式一对一模式是在已知目的地址的情况下使用这种方式。在发送数据的时候会包含目的地址信息。在Z-Stack中的寻址方式可以这样来设置:GenericApp_DstAddr.addrMode=Addr16Bit;/以网络地址为目的地址进行寻址GenericApp_DstAddr.endPoint=10;/目的节点的端口号为10GenericApp_DstAddr.addr.shortAddr=

38、0x796f;/目的节点的网络地址2) 广播模式广播模式是将数据发送给网络中所有的节点。在程序中地址模式设定AddrBroadcast。在Z-Stack中的寻址方式可以这样来设置:GenericApp_DstAddr.addrMode=AddrBroadcast;/以广播的方式进行寻址GenericApp_DstAddr.endPoint=10;/目的节点的端口号为10GenericApp_DstAddr.addr.shortAddr=0xffff;/目的节点的网络中所有的节点GenericApp_DstAddr.addr.shortAddr=0xfffd;/目的节点为网络中非睡眠节点3) 间

39、接接模式当地址模式设置为AddrNotPresent,说明发送的信息都是发给协调器的,在协调器的绑定表中查找相应目的地址进行一对一的数据发送。GenericApp_DstAddr.addrMode=(afAddrMode_t)AddrNotPresent;GenericApp_DstAddr.endPoint=10;GenericApp_DstAddr.addr.shortAddr=0;/协调器的网络地址固定为0x0000;2. 绑定绑定是指一个节点与另外一个或几个节点间建立地址映射的一种寻址方式。在节点建立绑定之后,发送数据的时候并不需要知道目的地址是什么,应用支持子层会根据绑定ID查询它的

40、绑定表来决定目的地址,然后把信息发送给目的节点。在Z-Stack中,绑定是通过如下函数实现的:dstAddr.addrMode=Addr16Bit;/首先设置寻址模式为网络地址寻址dstAddr.addr.shortAddr=0x0000;/目的地址为协调器的网络地址ZDP_EndDeviceBindReq();/发起绑定请求3. 路由协议ZigBee的路由协议是基于Ad Hoc按需距离矢量路由协议AODV(Ad hoc On demandDistance Vector),支持在环境中移动、连接失败和包丢失的环境应用,它极大的增强了无线传感器网络的可靠性。当一个路由器收到从一个节点发往另一个节

41、点的数据包,网络层根据以下步骤来转发这个包:如果目的地是这个路由的邻居(包括是其子节点),这个包将被直接发送的目的地;否则,这个路由器将检查自己的路由表来找到相应的目的地的路由表记录。如果有一个动态路由表记录,这个包将转发到路由表记录的下一跳地址;如果没有,将执行一个路由发现过程,过程结束后这个包才会被发送。ZigBee网络路由具有自我修复的功能,如果某一路连接断掉了,将启用路由发现过程,发现一条新链路到目的节点。ZigBee的终端设备不执行任何的路由功能。如果它想发送一个包给任何的其他设备,它必须通过它的父节点来转发。同样的,当任何一个包要发送给一个终端设备时,也由其父节点来做响应8。4.

42、消息发送函数在Z-Stack中,如果给一个节点发送消息,可以用如下函数:if ( AF_DataRequest( &GenericApp_DstAddr, &GenericApp_epDesc, GENERICAPP_CLUSTERID, (byte)osal_strlen( theMessageData ) + 1, (byte *)&theMessageData, &GenericApp_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) = afStatus_SUCCESS ) / Successfully requested to be sent.

43、 else / Error occurred in request to send. 发送的是指针theMessageData中的字节,字节数为(byte)osal_strlen(theMessageData)+1。4.4 网络的组建过程协调器首先从DEFAULT_CHANLIST列表中选择使用的信道,如果ZDAPP_CONFIG_PAN_ID的值不等于0xFFFF则选取ZDAPP_CONFIG_PAN_ID为PANID,否则选取IEEE地址的最后两个字节作为PANID。如果启动模式是Auto Start,路由器或者终端设备上电之后就开始搜寻网络,如果有合适的网络并且该网络允许加入,那么就会直

44、接加入该网络。如果启动模式是HOLD_AUTO_START,路由器或者终端设备上电之后必须等待某一特定时间的发生来启动加入网络的过程,这时协议栈会调用ZDAPP_StartUpFromApp()这个函数。如果需要路由器或者终端设备在电池没电或者重启之后仍然记住以前的网络状态可以在预编译选项添加编译选项NV_RESTORE。4.5 消息接收函数节点接收到信息后会存储在pkt指针指向的结构体中,具体函数如下:GenericApp_MessageMSGCB(afIncomingMSGPacket_t*pkt)可以用*pkt-cmd.Data取出接收到的消息,以下是收到消息的格式的结构体定义。type

45、def structosal_event_hdr_t hdr;uint16 groupId; /组IDuint16 clusterId; /簇IDafAddrType_t srcAddr; /源地址byte endPoint; /源节点端口号byte wasBroadcast; /是否为广播方式byte LinkQuality; /链路质量byte SecurityUse; /是否使用安全模式uint32 timestamp; /时间戳afMSGCommandFormat_t cmd;afIncomingMSGPacket_t;typedef structbyte TransSeqNumber

46、; /序列号uint16 DataLength; /收到信息长度byte*Data; /收到信息的指针afMSGCommandFormat_t;4.6 android套件开发1.0环境搭建abdroid开发环境搭建的流程较为常见,在此只简单进行描述性说明。1. 安装所需要的工具套件Android SDKEclipse IDE for Java EE DevelopersJDK2. 安装好之后进行编程开发。1) android套件开发1.0环境套件如图4-3所示 图 4-3 Android套件开发1.0环境套件2) 手机客户端示意图如图4-4所示 图4-4 手机终端测温软件4.7 VC+ 6.0MFC库开发环境编程基于VC+ 6.0MFC库进行测温界面的开发,并实现向手机客户端传输数据的功能,如图4-5所示,具体程序见附录。 图4-5 PC中测温界面第5章 硬件设计本系统涉及的基本硬件有:zigbee通信模块CC2530、无线测温模块DS18b20、手机和电脑终端,如图5-1所示。无线测温模块-DS18b20zigbee通信模块-CC

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1