




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
无线传感器网络结课论文 课程名称: Zigbee技术的概述与应用 专 业: 班 级: 学 号: 姓 名: 指导教师: 成 绩: 完成日期: 2013 年 5 月 15 日摘要: Zigbee是一种新兴的短距离,低速率无线网络技术。它是一种介于无线标记与蓝牙之间的技术提案,此前被称作HomeRF Lite或firefly无线技术,主要用于近距离无线连接。它有自己的无线标准,是通过数千个微小的传感器之间相互协调来实现通信的。这些传感器只需要很少的能量,以接力的方式通过无线电波将数从一传感器传到另一个传感器,所以通信效率非常高。Zigbee技术应用广泛,包括智能家居,建筑自动化,自动仪表读取,工业自动化,冷冻管理和货柜防护。这些应用让企业节省能源,带来经济和环保效益;智能家居提升家居安全,舒适度和娱乐享受;监测如道路及桥梁等公用基建的损耗,避免设施损坏甚至人员伤亡。Zigbee协议栈由一组特定的服务;一个数据实体提供数据传输服务;一个管理实体提供全部其他服务。每个服务实体通过一个服务接入点为上层提供服务接口,并且每个SAP提供一系列的基本服务指令完成相应的功能。关键字:短距离; 智能家居; 协议栈;1. zigbee的相关介绍1.1 zigbee无线网络的研究背景无线传感网络技术是典型的具有交叉学科性质的军民两用的高科技技术,可以广范应用于军事,国家安全,交通管理,灾害预测,医疗卫生,制造业和城市信息化建设等领域。无线传感网络由许许多多功能相同或不同的的无线传感节点组成,每一个传感节点又由数据采集模块(传感器,A/D转换器),数据处理和控制模块(微处理器,存储器),通信模块(无线收发器)和供电模块(电池,DC/AC能量转换器)等组成,近期微机电系统(MEMS)技术的发展为传感器的微型化提供可能,微处理技术的发展促进了传感器的智能化,通过MEMS技术和射频(RF)通信技术的融合促进了无线传感器及其网络的诞生。传统的传感器正逐步实现微型化,智能化,信息化,网络化,正经历着一个从传统传感器到智能传感器再到嵌入式web的内涵不断丰富的发展过程。1.2 zigbee无线网络的研究现状无线传感器网络是新一代的传感网络,具有非常广泛的应用前景,其发展和应用。将会给人们的生活和生产的各个领域带来深远的影响。各国都非常重视无线传感网络的发展,IEEE正在努力推进无线传感网络的应用和发展,波士顿大学还于最近创办了传感器网络协会,期望能促进传感器联网技术开发。美国技术评论杂志在论述未来新兴十大技术时,更是将无线传感器网络也加入其中。在“中国未来20年技术遇见研究”中总共157个技术课题,其中有7项是直接论述传感网络的。2006年初发布的国家长期科学与技术发展规划纲要为信息技术确定了三个前沿方向,其中两个与无线传感器网络的研究直接相关,即智能感知技术和自组织网络技术。可以预计。无线传感网络的广泛应用是一种趋势,它的出现将会给人类社会带来极大的变革。 国际上比较有代表性和影响力的无线传感器网络使用和研发项目有遥控战场传感器系统,网络中心战及灵巧传感器网络,智能尘埃,行为习性监控项目和美国皇家网络等,尤其是最新试验成功的低成本美军“狼群”地面无线传感器网络标识着电子战领域技术的最新突破。俄亥俄州正在开发“沙地直线”无线传感网络系统。这个系统能够散射电子绊网到任何地方,以侦测运动的高金属含量目标。民用方面,美国,日本等国家在对该技术不断研发的基础上在多领域也进行了应用。1.3 zigbee无线网络的研究前景微电子技术,计算机技术和无线通信技术的进步,推动了低功耗多功能传感器的快速发展,使其在微笑体积内能够集成信息采集,数据处理,和无线通信等多种功能。无线传感器网络就是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信等多种方式组成的一个多跳的自组织的网络系统,其目的是协作和感知,采集和处理网络覆盖区域中感知对象的信息,并发送给观察者。传感器,感知对象和观察者构成了传感网络的三个要素,。如果说Internet构成了逻辑上的信息世界,改变了人与人之间的沟通方式,那么,无线传感网络就是将逻辑上的信息世界与客观上的物理世界融合在一起,改变人类与自然界的交互方式。人们可以通过传感器网络世界直接感知客观世界,从而极大地扩展现有网络的功能和人类认识世界的能力。 未来移动通信网络除了以低成本实现数据的传输外,还要求在无专用通信基础设施的场景下,网络具有适应性和生存能力,因此无线传感器网络和自组织网络将因器灵活性而在未来移动通信网络中起重要作用。 无线传感器网络是由分布在给定局部区域内足够多的无线传感器节点构成的一种新型信息获取系统。并且具有一定的计算能力,。各节点之间通过专用的网络协议实现信息的交流,汇集和处理,从而实现给定局部区域内目标的探测,识别,定位和跟踪,随着通信技术,嵌入式计算技术和传感器技术的飞速发展和日益成熟,具有感知能力,计算能力和通信能力的微型传感器开始在世界范围内出现,由这些微型传感器构成的传感器网络引起了人们的极大关注。2. zigbee的设备及开发平台介绍2.1 认识zigbee协议栈Zigbee协议栈由一组子层构成。每层为其上层提供一组特定的服务:一个数据实体提供数据传输服务;一个管理实体提供全部其他服务。每个服务实体通过一个服务接入点(SAP)为其上层提供服务接口,并且每个SAP提供一系列电额基本服务指令来完成相应的功能。Zigbee协议栈的体系结构包括zigbee应用层,IEEE802.15.4MAC层和IEEE802.15.4 PHY层。它虽然是基于标准的7层开放式系统互联(OSI)模型,但仅对那些涉及zigbee层予以定义。IEEE802.15.4 2003标准定义了最下面的两层:物理层(PHY)和戒指介入控制子层。Zigbee联盟提供了网络层和应用层(APL)框架的设计。其中应用层的框架包括了应用支持子层(APS),zigbee设备对象(ZDO)和由制造商制定的应用对象。 相对于常见的无线通信标准,zigbee协议套件紧凑而简单,具体实现要求很低,zigbee协议套件的最低需求估计:硬件需要8为处理器,如80C51;软件需要32kb的rom,最小软件需要4kb的rom,如CC2530芯片是具有8051内核的,内存为32-128kb的zigbee无线单片机;网络主节点需要更多sdram,以容纳网络中所有节点的设备信息,数据包转发表,设备关联表,与安全有关的密钥存储等。 Zigbee联盟希望建立一种可连接每个电子设备的无线网。它预言zigbee将很快成为全球高端的无线技术,到2007年zigbee节点可达到30亿个。具有几十亿个节点的网络将很快耗尽已不足的IPV4的地址空间,因此IPV6与IEEE802.15.4 结合是传感器网络的发展趋势。IPV6采用128位地址长度,几乎可以不受限制地提供地址。使用IAR for c8051 7.5 在工程中打开zigbee协议栈,可以看到如图2.1 的整个协议栈的框架。App :应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈中一般是以操作系统的任务实现的。HAL:硬件抽象层,包含有与硬件相关的配置和驱动及操作函数。MAC:MAC层目录,包含了mac层的参数配置文件及其mac的LIB 库的函数接口文件。MT:实现通过串口可控制各层,并与各层进行直接交付。NWK:网络层目录,包含网络层配置参数文件和网络层库的函数接口文件及aps层库的函数接口。OSAL:协议栈的操作系统。PROFILE:AF层的目录,包含af层处理函数文件。Security:安全层目录,包含安全层处理函数,比如加密函数等。Tools:工程配置目录,包含空间划分,及z-stack相关配置及信息。Zdo:zdo目录。Zmac:mac目录,包括mac层参数配置及mac层lib库函数回调处理函数。Zmain:主函数目录,包含入口函数及硬件配置文件。Output:输出文件目录,这是IAR ew8051 IDE自动生成的。综上所示,真个协议栈中对于zigbee功能已经全部体现,在此基础上建立一个项目的方法主要是改动应用层。图2.1 zigbee协议栈2.2 设备类型在ZigBee网络中存在三种逻辑设备类型:Coordinator(协调器),Router(路由器)和End-Device(终端设备)。ZigBee网络由一个Coordinator以及多个Router和多个End_Device组成。 2.2.1 协调器协调器负责启动整个网络。它也是网络的第一个设备。协调器选择一个信道和一个网络ID(也称之为PAN ID,即Personal Area Network ID),随后启动整个网络。协调器也可以用来协助建立网络中安全层和应用层的绑定(bindings)。注意,协调器的角色主要涉及网络的启动和配置。一旦这些都完成后,协调器的工作就像一个路由器(或者消失)。由于ZigBee网络本身的分布特性,因此接下来整个网络的操作就不在依赖协调器是否存在。2.2.2 路由器路由器的功能主要是:允许其他设备加入网络,多跳路由和协助它自己的由电池供电的儿子终端设备的通讯。通常,路由器希望是一直处于活动状态,因此它必须使用主电源供电。但是当使用树群这种网络模式时,允许路由间隔一定的周期操作一次,这样就可以使用电池给其供电。2.2.3 终端设备终端设备没有特定的维持网络结构的责任,它可以睡眠或者唤醒,因此可以可以是一个电池供电设备。通常,终端设备对存储空间(特别是RAM的需要)比较小。2.3.1 地址类型ZigBee设备有两种类型的地址。一种是64位IEEE地址,即MAC地址,另一种是16位网络地址。64位地址使全球唯一的地址,设备将在它的生命周期中一直拥有它。它通常由制造商或者被安装时设置。这些地址由IEEE来维护和分配。16为网络地址是当设备加入网络后分配的。它在网络中是唯一的,用来在网络中鉴别设备和发送数据。3. zigbee的应用介绍3.1 zigbee软件开发平台 IAR Embedded workbench 是一套开发工具,用于对汇编,c或c+编写的而嵌入式应用程序进行编译和调试。IAR Embedded workbench 是一套高度精密且使用方便的嵌入式应用开发工具。该集成开发环境包含了Iar的c/c+编译器。通过其内置的针对不同芯片的的代码优化器,Iar embeddedworkbench可以为arm芯片生成高效和可靠的flash/prommable 代码。图3.1就是Iar开发环境的打开界面。图3.1 Iar 开发环境初始界面3.2 zigbee硬件开发平台3.2.1 CC2530芯片介绍CC2530 整合了业界领先的2.4GHZ IEEE802.15.4/ zigee RF收发机CC2520以及工业标准的增强性8051 mcu的卓越性能,还包括了8kB的sram,大容量flash以及许多其他的强大特性。CC2530芯片上系统(soc)是高度集成的解决方案,仅需要很少的外置元件,且所选用元件均为低成本型,可支持快速,廉价的zigbee节点的构建。 CC2530芯片系统保持了CC2520所包含的作射频性能,包括了超低功耗、高灵敏度,出众的抗噪声及抗干扰性能,所集成的mcu为强大的8位,单周期8051微控制器核心(其典型性能可达到标准的8倍)。另外,CC2530还包括了许多强大的外设资源,如dma、定时/计数器、看门狗定时器(watchdog timer),aes-128协处理器,8-14位adc,usart,睡眠定时器,上电复位电路,掉电检测电路以及21个可编程I/O引脚2。CC2530芯片上系统功能模块结构如图3.2所示。CC2530芯片具有如下特性:高性能和低功耗的8051微控制器核集成符合IEEE 802.15.4标准的2.4GHZ的RF无线电收发机优良的无线接收灵敏度和强大的抗干扰性在休眠模式时仅0.9UA的流耗,外部的中断或RTC能唤醒系统,在待机模式时少于0.6UA的流耗,外部中断能唤醒系统。硬件支持CSMA/CA功能较宽的电压范围(2.0-3.6v)数字化RSSI/LQI支持和强大的DMA功能具有电池检测和温度感测功能集成了14位的模 /数转换的adc集成AES安全协处理器带有2个强大支持机组协议的USART,以及一个符合IEEE802.15.4规范的MAC 计时器,一个常规的16位计时器和2个8位计时器;强大和灵活的开发工具3.2.2 开发板原理Zigbee开发板有两块板组成,射频板和应用板,下面我们分别介绍:(1) 射频板原理射频板主要包含了CC2530芯片,射频天线,和与应用板的接口。原理图如图3.3。(2) 用户板原理用户板包含了许多模块,有led显示,JTAG 调试,键盘电路等。led显示电路如图3.4,led显示电路包含了4个发光二极管。用于板级应用。图3.2 CC2530片上系统的功能模块图3.3 CC2530射频板部分原理图3.4 LED显示电路原理3.3 zigbee的实例应用传感器实验3.3.1 实验原理 在工程序里simple collector或simple collector-pro做协调器或路由程序,选择simple sensor或simple sensor-pro做节点程序时,可以做无线传感器实验。首先把程序下载到模块里,然后把模块复位,复位后LED2不停闪烁。 按下液晶扩展板S5后,则模块的属性定义为路由器,然后模块重启同理完成终端节点,当模块加入网络成功后,按下S1,模块则允许其他模块绑定,此时需要等待一段时间,大约5秒后协调者LED上现实“MATCH DESC REQ”和“RSP SENT”。此后终端模块会自动绑定到协调器上,终端模块和协调模块绑定成功后,终端模块会定时向网络协调器发送自己的温度值和电池电压值。3.3.2 实验代码#include ZComDef.h#include OSAL.h#include sapi.h#include hal_key.h#include hal_led.h#include DebugTrace.h#include SimpleApp.h* TYPEDEFS* GLOBAL VARIABLES/ Inputs and Outputs for Collector device#define NUM_OUT_CMD_COLLECTOR 0#define NUM_IN_CMD_COLLECTOR 1/ List of output and input commands for Collector deviceconst cId_t zb_InCmdListNUM_IN_CMD_COLLECTOR = SENSOR_REPORT_CMD_ID;/ Define SimpleDescriptor for Collector deviceconst SimpleDescriptionFormat_t zb_SimpleDesc = MY_ENDPOINT_ID, / Endpoint MY_PROFILE_ID, / Profile ID DEV_ID_COLLECTOR, / Device ID DEVICE_VERSION_COLLECTOR, / Device Version 0, / Reserved NUM_IN_CMD_COLLECTOR, / Number of Input Commands (cId_t *) zb_InCmdList, / Input Command List NUM_OUT_CMD_COLLECTOR, / Number of Output Commands (cId_t *) NULL / Output Command List;* fn zb_HandleKeys* brief Handles all key events for this device. * param shift - true if in shift/alt, * param keys - bit field for key events. Valid entries: * EVAL_SW4 * EVAL_SW3 * EVAL_SW2 * EVAL_SW1 * return nonevoid zb_HandleKeys( uint8 shift, uint8 keys ) uint8 startOptions; uint8 logicalType; / Shift is used to make each button/switch dual purpose. if ( shift ) if ( keys & HAL_KEY_SW_1 ) if ( keys & HAL_KEY_SW_2 ) if ( keys & HAL_KEY_SW_3 ) if ( keys & HAL_KEY_SW_4 ) else if ( keys & HAL_KEY_SW_1 ) if ( myAppState = APP_INIT ) / In the init state, keys are used to indicate the logical mode. / Key 1 starts device as a coordinator zb_ReadConfiguration( ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType ); if ( logicalType != ZG_DEVICETYPE_ENDDEVICE ) /不是节点 logicalType = ZG_DEVICETYPE_COORDINATOR; zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType); / Do more configuration if necessary and then restart device with auto-start bit set / write endpoint to simple desc.dont pass it in start req.then reset zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions ); startOptions = ZCD_STARTOPT_AUTO_START; zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions ); zb_SystemReset(); else / Turn ON Allow Bind mode indefinitely zb_AllowBind( 0xFF ); HalLedSet( HAL_LED_1, HAL_LED_MODE_ON ); if ( keys & HAL_KEY_SW_2 ) if ( myAppState = APP_INIT ) / In the init state, keys are used to indicate the logical mode. / Key 2 starts device as a router zb_ReadConfiguration( ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType ); if ( logicalType != ZG_DEVICETYPE_ENDDEVICE ) logicalType = ZG_DEVICETYPE_ROUTER; zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType); zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions ); startOptions = ZCD_STARTOPT_AUTO_START; zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions ); zb_SystemReset(); else / Turn OFF Allow Bind mode indefinitely zb_AllowBind( 0x00 ); HalLedSet( HAL_LED_1, HAL_LED_MODE_OFF ); if ( keys & HAL_KEY_SW_3 ) if ( keys & HAL_KEY_SW_4 ) * fn zb_SendDataConfirm * * brief The zb_SendDataConfirm callback function is called by the * ZigBee after a send data operation completes * * param handle - The handle identifying the data transmission. * status - The status of the operation. * return nonevoid zb_SendDataConfirm( uint8 handle, uint8 status )* fn zb_AllowBindConfirm* brief Indicates when another device attempted to bind to this device* param* return nonevoid zb_AllowBindConfirm( uint16 source )* fn zb_ReceiveDataIndication* brief The zb_ReceiveDataIndication callback function is called * asynchronously by the ZigBee stack to notify the application * when data is received from a peer device.* param source - The short address of the peer device that sent the data * command - The commandId associated with the data * len - The number of bytes in the pData parameter * pData - The data sent by the peer device* return noneCONST uint8 strDevice = Device:0x;CONST uint8 strTemp = Temp: ;CONST uint8 strBattery = Battery: ;void zb_ReceiveDataIndication( uint16 source, uint16 command, uint16 len, uint8 *pData ) uint8 buf32; uint8 *pBuf; uint8 tmpLen; uint8 sensorReading; if (command = SENSOR_REPORT_CMD_ID) / Received report from a sensor sensorReading = pData1; / If tool available, write to serial port tmpLen = (uint8)osal_strlen( (char*)strDevice ); pBuf = osal_memcpy( buf, strDevice, tmpLen ); _ltoa( source, pBuf, 16 ); pBuf += 4; *pBuf+ =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部编二下语文第七单元教学反思计划
- 文具办公用品供货实施方案及保障措施
- 信用数据服务产业链产业链生态建设分析考核试卷
- 建筑工地电气安全规范:配置标准与检测技术
- 2025年8月小学教师述职报告
- 体育技能的队列训练
- 5G时代电视内容创新研究
- 餐饮服务配餐流程及原材料加工管理优化方案
- 四川艺术职业学院《机器人生产技术》2023-2024学年第一学期期末试卷
- 新一代信息技术在智能制造中的应用研究
- 2025年高中政治学业水平考试知识点归纳总结(复习必背)
- 信用卡消费者保护培训
- 青蓝工程工作总结师傅
- 石油化工生产与操作作业指导书
- 2025年中国汽车配件出口分析及各国进口政策影响白皮书-特易资讯
- 广场项目基坑监测工程技术投标书
- 卫生间卫浴知识培训课件
- 设备点检培训试题及答案
- 面部损伤护理查房
- 【初中数学】第六章 变量之间的关系同步练习 2024-2025学年北师大版七年级数学下册
- 电子废弃物回收利用-深度研究
评论
0/150
提交评论