zigbee快速入门
《zigbee快速入门》

– 处理MPDU;
– 提供MAC层数据传输机制:CSMA-CA、应答机
制 ED:信道能量检测
– 三种扫描机制(ED、ACATIVCET: 检IV索E周/边P双A亲S信S息IVnEon、-beacon-enabled
ORPHAN)
PASSIVE:监听周边双亲信息 beacon-enabled ORPHAN:孤儿重新检索原关联双亲
ZigBee快速入门
主要内容:
1.ZigBee是什么? 2.ZigBee协议栈 3.ZigBee网络 4.应用规范,簇和端点 gBee安全
.
1.ZigBee是什么?
• ZigBee和IEEE802.15.4是基于标准的协议 ,它们为无线传感器网络应用提供所需要 的网络基础设施。
• 802.15.4定义了物理层(PHY)和媒体访问 控制(MAC)层,ZigBee定义了网络( NWK)层和应用层(APL)。
– 允许ZigBee设备对象处 理为网络访问和安全的来自应用的请求, 使用ZDP(ZigBee设备规范)信息。
• 应用支持(APS)子层
– 负责提供一个数据服务给应用和ZigBee设备规 范。它也提供一个管理服务以维护绑定链接和 它自己绑定表的存储。
– 数据服务负责设备间APDU传输; – 管理服务负责维护绑定表、实现绑定、设备发
– 关联与退出关联;CSMA-CA:载波检测机制和随机退避规则
2.2 IEEE 802.15.4 (PHY)
• 物理层(PHY) • 提供接口给物理传输介质,物理层由两个层组成
,它们运行在不同 的频率范围。868MHz /915MHz、2.4GHz。 • 主要功能:
– 信道选择; – 信道能量检测(energy detect, ED); – 空闲信道评估(clear channel assessment, CCA); – 无线信道收发数据(PHY Protocol Data Unit, PPDU)
ZigBee入门指导_1-4

Zigbee入门指导(一)——基于CC2430的Zigbee开发环境的建立logiclimit 写在前面的话:临近毕业,把之前做过的一些项目的内容加以整理,和大家一起分享,请高手指教,欢迎同辈间交流,希望后来者能少走一些弯路。
Zigbee入门指导源于大三时的课程设计《无线心电采集系统》中的Zigbee网络部分。
Zigbee入门指导预定为三篇,分为:1、开发环境的建立;2、运行Zigbee例程;3、基于Zigbee的一主多从的数据采集系统,大概在一个月内整理完毕。
文章版权为原创者logiclimit所有,转载时请注明出处。
Zigbee是一种近距离低功耗低速率无线网络,使用免费的2.4GHz频段,主要用于无线传感器网络、智能家居等方面。
很多公司都推出了自己的Zigbee芯片和模块,我使用的是基于Ti 公司CC2430,由无线龙公司生产的Zigbee模块,使用的Zigbee 协议栈版本为TI_ZStack-1.4.3-1.2.1(对应标准的Zigbee 2006)。
本篇主要讲述其开发环境的建立方面的内容。
使用的开发环境为:windows7、IAR 8051 7.30B。
需要指出的是,Ti目前主推的是其CC2530模块,使用IAR 8051 7.50版本,支持Zigbee 2006 pro及Zigbee 2007,由于笔者没有CC2530及IAR 8051 7.50,故无法保证本文中的内容适用于CC2530及相关的开发环境和协议栈。
之前开发时使用的操作系统是Win XP,故本文所说的内容同样适用于win XP系统。
本文已假定读者了解IAR软件和cc2430单片机功能的使用,具有一定的C语言基础和嵌入式开发经验。
由于之前只有一个学期时间,还要完成相关模拟采集电路的设计,故Zigbee部分只完成网络的建立、数据的收发及控制的内容,稍显粗鄙,请勿见笑。
一、安装IAR 8051 7.30B使用管理员权限运行安装程序EW8051-EV-730B.exe,根据提示输入相应的注册码,完成相关的安装。
zigbee基础知识笔记.docx

1. 基础知识 (1)1.1IEEE 地址 (1)1.2 簇 (2)1.3 Profile ID (4)1.4网络地址与端点号、节点 (4)1.5 PANID (5)1.6 zigbee设备 (5)2. 绑定机制 (7)2.1 描述符绑定 (7)2.2 设备绑定 (23)1.基础知识1.1IEEE 地址IEEE 地址是 64 位,在设备进入网络之前就分配好了的,应该在全球是唯一的,而网络地址是在网络建立后,设备加入网络时,它的父节点给它分配的,在设备通信时,首先由ieee地址找到设备的网络地址,然后根据网络地址实现设备之间的通信,这样可以减少帧头长度,多传有效数据通俗的说IEEE 地址相当于你的手机号(11 位的那个),短地址就相当于你们公司的小号(3 、4) 位,一个公司的互打电话就用小号噻。
假设你的手机号138xxxxx666 ,这个是唯一的,但你的小号,假设是 666,在你的公司网中是唯一的,但是在另一个网中,可能别人的小号也是666。
1.2 簇簇就是相当于端点房间里面的人,是接收最终的目标。
这东西是 2 个字节编号,在射频发送的时候,必须要指定接收模块的镞,发送模块不需要指定。
首先每一个端点可以看成是一个 1 个字节数字编号的开有一扇门的房间,数据最终的目标是进入到无线数据包指定的目标端点房间,而取无线数据这个相关的代码在任务事件处理函数里,TI 协议栈有那么多的任务事件处理函数,所以必须要指定在哪个任务事件处理函数来取这个无线数据包里面的有用数据。
端点就相当于一个房间的门牌号!!!SimonApp_epDesc.endPoint= 10;//SimonApp_ENDPOINT;此端点编号为10SimonApp_epDesc.task_id = &SimonApp_TaskID;和我们应用层任务挂钩完成了簇信息表的构建,因为簇信息封装在SimonApp_SimpleDesc 里面,这里面却只是起到一个信息表的作用!方便数据到来的时候查询相关信息表!const cId_t SimonApp_ClusterList[SimonApp_MAX_CLUSTERS] ={SimonApp_CLUSTERID};const SimpleDescriptionFormat_t SimonApp_SimpleDesc = {SimonApp_ENDPOINT,// int Endpoint;SimonApp_PROFID,//uint16 AppProfId[2];SimonApp_DEVICEID,//uint16 AppDeviceId[2];SimonApp_DEVICE_VERSION,//int AppDevVer:4;SimonApp_FLAGS,//int AppFlags:4;SimonApp_MAX_CLUSTERS,//byte AppNumInClusters;(cId_t*)SimonApp_ClusterList,//byte *pAppInClusterList;SimonApp_MAX_CLUSTERS,//byte AppNumInClusters;(cId_t*)SimonApp_ClusterList//byte *pAppInClusterList;};接收到数据以后,判断是属于哪一个端点、属于哪一个簇1.3 Profile ID这个是由Zigbee 组织来分配的应用ID 号,比如无线开关用0x0001 ,智能电表用ox0002,万用遥控器用0x0003 等等。
ZigBee编程基础入门

zigbee基本概念及协议术语1. 逻辑设备类型协调器(coordinator),路由器(router),终端设备(end-device)•ZigBee 协调者—coord为协调者节点*–每各ZigBee网络必须有一个.–初始化网络信息.协调器是一种特殊的路由器(待确认)•ZigBee 路由器—router为路由节点*–路由信息•ZigBee 终端节点—rfd为终端节点*–没有路由功能–低价格2 . 2.4GHz射频信道分为16个独立信道。
3. 绑定应用设备之间信息流的控制机制。
有直接绑定(OTA)、间接绑定、直接绑定(通过串口)4. 配置文件profile 应用程序框架5. 端点endpoint 每个ZigBee设备支持多达240个端点6. NWK寻址地址类型:ZigBee设备有一个64位IEEE长地址(MAC地址)通常用一个16位短地址表识网络地址分配由协调器完成相关参数:5 max_depth 网络的最大深度6 Max_children 路由器或协调器节点连接子节点最大个数20 Max_router 路由器或协调器处理的具有路由能力的子节点最大个数它是max_children的子集数据包传送单点unicast 多点multicast 广播broadcast路由:经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的节点。
F8wconfig.cfg配置路由看了下面就不用纠结了。
配置文件(profile):Zigbee协议的配置文件是对逻辑组件及其相关接口的描述,是面向某个应用类别的公约、准则.通常没有程序代码与配置文件相关联.属性(attribute):设备之间通信的每一种数据像开关的状态或温度计值等皆可称为属性.每个属性可得到唯一的ID值.簇(cluster):多个属性的汇集形成了簇,每个簇也拥有一个唯一的ID.虽然个体之间传输的通常是属性信息,但所谓的逻辑组件的接口指的却是簇一级的操作,而非属性一级.终端(endpoint):每个支持一个或多个簇的代码功能块称为终端.不同的设备通过它们的终端及所支持的簇来进行通信.Cluster: is a container for one or more attributes. (一个或更多属性的集合)Attribute: a data entity which represents a physical quantity or state.(反映物理特性或状态的一个数据实体)Cluster是逻辑设备之间的事务关系Cluster定性Attribute则是某种事务关系的具体特例Attribute定量Endpoint是一个逻辑设备(个人理解为入口地址)。
Zigbee入门指导经典教程

Figure . The Flow Chart of OSAL Scheduler
OSAL任务
OSAL是协议栈的核心,Z-stack的任何一个子系统都作为OSAL的一个任务,因此在开发应用层的时候,必须通过创建OSAL任务来运行应用程序。通过osalInitTasks( )函数创建OSAL任务,其中TaskID为每个任务的唯一标识号。任何OSAL任务必须分为两步:一是进行任务初始化;二是处理任务事件。任务初始化主要步骤如下:
每个Zigbee网络节点(FFD和RFD)可以可支持多到31个的传感器和受控设备,每一个传感器和受控设备终可以有8种不同的接口方式。可以采集和传输数字量和模拟量。
Zigbee技术的应用领域:
Zigbee技术的目标就是针对工业,家庭自动化,遥测遥控,汽车自动化、农业自动化和医疗护理等,例如灯光自动化控制,传感器的无线数据采集和监控,油田,电力,矿山和物流管理等应用领域。另外它还可以对局部区域内移动目标例如城市中的车辆进行定位。(成都西谷曙光数字技术公司的专利技术)。
8.使用现存移动网络进行低数据量传输的遥测遥控系统。
9.使用GPS效果差,或成本太高的局部区域移动目标的定位应用。
Zigbee技术的特点:
省电:两节五号电池支持长达6个月到2年左右的使用时间可靠:采用了碰撞避免机制,同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突;节点模块之间具有自动动态组网的功能,信息在整个Zigbee网络中通过自动路由的方式进行传输,从而保证了信息传输的可靠性、时延短:针对时延敏感的应用做了优化,通信时延和从休眠状态激活的时延都非常短。
第一步:复制GenericApp文件夹修改文件名为HawsnAppCoor。
BestU eNet -ZBP113 ZigBee 无线传感网络模块快速入门指南说明书

eNet-ZB ZigBee Module Quick Start GuideBestU eNet-ZBP113 Module-Networking Firmware VersioneNet-ZBP113 Quick Start GuideV1.0 – August 16,2014BestU/enZigBee Wireless sensor network moduleCopyright Statement:●Unless otherwise noted, the eNet-ZB Serials includes but not limit to eNet-ZBP113,eNet-ZBP111, eNet-ZBP211, eNet-ZBP213.●eNet、eNet-ZB Serials ZigBee wireless module and its related Intellectual Propertyowned by Shenzhen BestU Intelligent Technology Co.,Ltd.●Without the permission of Shenzhen BestU Intelligent Technology Co.,Ltd ,No one canmodify, distribute or copy any part of this document.Legal Disclaimer:●The source code, software, documents in company with eDuino UNO, Shenzhen BestUIntelligent Technology Co.,Ltd does not provide any guarantee; Not matter specific,connotative , including but not limited to specific purpose, all the risk should beundertook by end user; If coming out bug in the program, end user undertakes the allthe necessary fee of service, modification, amends.Version Updated:Version Updated Date Description1.0 2014-08-16 ReleasedZigBee Wireless sensor network moduleCatalogue1Overview (3)2Development Kit s (4)2.1 eDuino UNO Wireless Kit (4)2.2 Simple Wireless Kit (5)3Preparation (6)3.1 CP2102 driver Installation (6)3.2 Configuration Software Installation (7)3.3 Hardware Installation (8)3.3.1 eDuino UNO Wireless Kit (8)3.3.2 Simple Wireless Kit (10)3.3.1 Parameter Configuration (12)4Network Establishing (18)4.1 Coordinator settings (18)4.2 Router settings (19)4.3 Joining Network (20)4.4 Network Communication Test (21)5Contact Us (22)ZigBee Wireless sensor network module1OverviewThis document gives a description on how to get started with the eNet-ZBP113 development kits. This document provides a step by step guide to the installation procedure of the software and the hardware.If you buy only the eNet-ZBP113 module, the eNet-ZBP113 User Manual will be helpful when you get started with the module.Chapter 5 shows how to configure the module. Chapter 6 shows how to implement the data transmission between modules. Chapter 7 shows how to establish a network.ZigBee Wireless sensor network module2 Development Kit sThere are two available development kits for eNet-ZBP113, eDuino UNO wireless kit and Simple Wireless kit.2.1 eDuino UNO Wireless KiteNet-ZBP113 ModuleeDuino UNOeDuino UNO kitWhat ’s included in the eDuino UNO kit:Figure 2-1 eDuino UNO KitZigBee Wireless sensor network module2.2 Simple Wireless KiteNet-Test-AeNet-ZBP113 Module Simple Wireless kitWhat’s included in the Simple Wireless kit:Figure 2-2 Simple Wireless KitZigBee Wireless sensor network module3Preparation3.1CP2102 driver InstallationThe first time you connect the development kits to PC, the CP2102 driver need to be installed. Please download the driver from/Support%20Documents/Software/CP210x_VCP_Windows.zipZigBee Wireless sensor network module3.2Configuration Software InstallationBefore you install the configuration software for eNet-ZBP113, you first need to install the Microsoft .Net Framework if your PC has never installed one. The version, v4.0.30319 or later version is OK. Microsoft .Net Framework 4.5 can be downloaded from/en-us/download/details.aspx?id=30653Please download the configuration software from/uploads/soft/Document/ZigBee%20Module%20Config%20Tool.rarZigBee Wireless sensor network module3.3 Hardware Installation 3.3.1eDuino UNO Wireless Kit1) Install the antenna.2) Connect the eNet-ZBP113 module.Caution: Please take care to connect the module in the right way! See the next picture for more information.3) In order to make the USB-UART connect to eNet-ZBP113 module, jumpers should be fittedas follow figure shown.Figure 3-1 eNet-ZBP113 ModuleFigure 3-2 eDuino UNO KitZigBee Wireless sensor network module4)Plug Micro USB cable into PC and power the board.5)Check the available interface (COM) in Device Manager Window.Figure 3-3 Available Interface (COM)6)The kits start to work.Figure 3-4 eDuino UNO KitZigBee Wireless sensor network module3.3.2Simple Wireless Kit1)Install the antenna.Figure 3-5 eNet-ZBP113 Module2)Connect the eNet-ZBP113 module.Caution: Please take care to connect the module in the right way! See the next picture for more information.Figure 3-6 Simple Wireless Kit3)Connect the kit to PC with Micro USB cable and power the board.4)Check the available interface (COM) in Device Manager window.ZigBee Wireless sensor network moduleFigure 3-7 Available Interface (COM)7)The kits start to work.Figure 3-8 Simple Wireless KitZigBee Wireless sensor network module3.3.1Parameter ConfigurationThis section shows how to quickly configure module parameters with ZigBee Config Tool, a convenience, easy-to-use PC Software.1)Connect the module to PC through USB-UART.Figure 3-9 Connect the ModuleZigBee Wireless sensor network module2)Get the parameters from the Module.Click on the Get Para to get the current parameters of the module.Figure 3-10 Get the parametersZigBee Wireless sensor network module3)Set the network parameters.Set the PANID or change the Point type. Click on Setting button to finish the setting.Figure 3-11 Set the network parametersZigBee Wireless sensor network module4)Set the Radio parameters.Set the channel or TX Power and click on Setting to finish the setting.Figure 3-12 Set the Radio parametersZigBee Wireless sensor network module5)Set the UART parameters.Set the Baud Rate and click the Setting to finish the Setting.Figure 3-13 Set the UART parametersZigBee Wireless sensor network module6)Restart the module.Click the Restart to make the module work with the parameters set by steps before.Figure 3-14 Restart module7)Connect the module. The parameters have been set and shown by click Get Para.ZigBee Wireless sensor network module4Network EstablishingeNet-ZBP113 can act as Coordinator and Router. A ZigBee Network contain one Coordinator and one or more Router. All the nodes in a same network share the same PANID. The default settings of eNet-ZBP113 shown in Appendix I Default Settings of eNet-ZBP113 User Manual.Please note that more than one eNet-ZBP113 need for establish network.4.1Coordinator settingsHere is an example that shows how to configure a module as a Coordinator.Figure 4-1 Coordinator SettingsZigBee Wireless sensor network module4.2Router settingsHere is an example that shows how to configure a module as a Router.Figure 4-2 Router SettingsZigBee Wireless sensor network module4.3Joining NetworkPower the Coordinator before the Router. P0_6 of both modules will output a 1Hz pulse to indicate network establishing complete. Check the Short Add of the Router by click on Get para button. If the Short Add isn’t 0xFFFE, the Router has joined the network.Figure 4-3 Router have joined the networkZigBee Wireless sensor network module4.4Network Communication TestWhen the network is available, data can transfer between the Coordinator and Router.Open HyperTerminal on PC. S end strings “hello Router” from Coordinator and the Router received the strings. Both the Coordinator and Router can send or receive data.Figure 4-4 Network Communication TestZigBee Wireless sensor network module5Contact UsTechnical SupportTel:+86-755-22360817/130****2937Email: ******************Sale SupportTel: +86-755-22360817Email: ****************/130****2937About BestUHi, we are BestU, we believe that you will be more happy and better with our products and services.Our technology focused on IoT and open hardware.We own the“Brain”, the microcontroller module for Industry Area, like a brain to manipulate the various branches.We own the “Brick”, providing base IOT modules like WIFI/ZigBee/NFC/BLE etc. to bring down your development threshold, to quickly build your product prototypeWe own the “Low Kit”, providing the lowest hardware for you to evaluate and build your product. Better because of your good, we hope the products and services we have can make you be more excellent!More info please visit /en。
E18系列ZigBee模块快速操作方法

E18 系列ZigBee模块快速操作方法1. E18系列ZigBee模块简介E18 系列模块是成都亿佰特电子科技有限公司设计生产的一款2.4G ZigBee无线模块。
采用美国德州仪器(TI)公司原装进口的CC2530F256射频芯片。
E18 模块根据型号不同,可分为4.5dBm和20dBm最大功率输出。
内置组网固件,其固件采用TI 经典ZigBee协议栈Z-stack2.5.1a,支持串口数据传输。
该组网固件支持低功耗,角色切换,广播、组播、点播等多种功能。
并支持串口指令操作。
可轻松对模块进行配置和使用。
2. 快速入门•ZigBee自组网模块具有简单易用的特点。
通信模式分为模式1(透传模式),模式2(半透传模式),模式3(协议模式)。
在模式1、2 下还可指定输出为短地址,MAC地址,RSSI等信息。
为了让用户能快速熟悉模块,本此实验将引导用户经过简单的配置实现各种模式下的配置和通信,工作模式为模式3(协议模式),波特率为默认波特率115200。
用户可将P1.6引脚拉低,进行HEX指令设置,为方便上位机观察,本次实验用HEX指令格式,AT指令用户不在本次试验中测试。
(AT指令模式下不能用于上位机配置。
)另外,用户可以不使用底板而使用外部微控制器(MCU)直接连模块UART进行串口指令通信,实现二次开发。
•备注【建立网络】:①.通过USB转串口模块将出厂的ZigBee自组网模块连接。
②.打开上位机软件“Zigbee_Setting_V1.1”,并选择端口号,并设置串口波特率(默认115200),打开串口;③.点击读取参数,读取相应模块参数。
④.选择节点类型为协调器,并写入参数。
等待协调器开始组建网络,用户可查看模块参数。
配置网络参数:(PAN ID为FFFF时为自动PAN ID)网络组建好读取参数:⑤.选择另一个模块,按照相同步骤设置为路由器或者终端(模块出厂默认为终端,可不进行设置,本实验为终端)。
zigbee入门指导

Zigbee入门指导(二)——运行Zigbee例程在Zigbee入门指导(一)中讲解了基于CC2430的Zigbee 开发环境的搭建,安装完Ti的协议栈后,里面有多个例程,帮助用户入门及作为自己工程的基本框架。
在Zigbee入门指导(二)中,我们将通过演示执行相关的例程,了解Zigbee应用的启动流程(不是Zigbee网络的启动流程),了解运行一个自定义Zigbee工程所要作的软件方面的改动和工程选项的配置。
所用的开发套件为无线龙的套件。
一、修改HALHAL及所谓的Hardware Abstration Layer,通俗的了解即为开发板的硬件驱动,由于所用的是无线龙的开发板,与Ti的原装开发板有差异,需要对协议栈自带的HAL进行修改。
HAL文件存放在目录<Components/hal>中,里面有<common>、<include>、<target>三个目录,<common>中定义的与外设无关的硬件操作,<include>存放的是头文件,而<target>存放的是目标文件,里面根据目标板的不同分为<CC2430BB>、<CC2430DB>、<CC2430EB>。
所用的无线龙的开发板和CC2430EB最为相似,故修改<CC2430EB>中的内容。
按键操作几乎在每个例程中都会用到,故此处以按键驱动的修改为例,演示HAL的修改。
先了解下Ti和无线龙扩展板的不同之处。
Ti的CC2430EB 原理图在Ti文档SWRU133.pdf(位于SWRU133.zip中)。
Page29是按键电路的原理图,如图1图1(左上角是元件图)CC2430EB的按键其实是摇杆,上下左右四个方向和电阻网络相连,通过放大电路送到CC2430的P0.6脚,经AD采样后判断摇杆摆向哪个方向,按键编号为SW1~SW4摇杆也可像普通按键一样按下,产生一个直流电平变化,接到P0.5脚,按键编号为SW5。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择适合的PAN进行关联 6.从中选择一个网络加入,设备应用层就 向NLME发送NLME-JOIN.request原语, 原语中PANId参数设置为选定网络的PAN 标识,RejoinNetwork参数设置为FALSE, JoinAsRouter参数则根据加入网络的设备 是否是路由设备来设置。 7.一个尚未加入网络的设备NWK层收到 NLME-JOIN.request原语后,将从近邻表 中搜索合适的父设备。然后向MAC层发送 关联原语。 8. MAC通过证实原语反馈关联状态给 NLME。 NWK层将重复尝试关联设备,直到成功加 入到PAN或尝试了所有合适的父设备。 9.失败 中止加入网络的过程,设备得不到 有效的逻辑地址,不能在网络中发送数据。 成功 返回一个16位的逻辑地址,子设备以 后就可以使用该逻辑地址来通信。同时该 子设备NWK层还要设置相应近邻表记录中 的Relationship字段,指示该近邻设备是它 的父设备。
• 应用支持(APS)子层
– 负责提供一个数据服务给应用和ZigBee设备规 范。它也提供一个管理服务以维护绑定链接和 它自己绑定表的存储。 – 数据服务负责设备间APDU传输; – 管理服务负责维护绑定表、实现绑定、设备发 现等功能。
• 安全服务提供者(SSP)
– 为使用加密的层(网络层和应用支持子层)提 供安全机制。通过ZDO来初始化和配置。
ZigBee快速入门
主要内容: 1.ZigBee是什么? 2.ZigBee协议栈 3.ZigBee网络 4.应用规范,簇和端点 5.ZigBee安全
1.ZigBee是什么?
• ZigBee和IEEE802.15.4是基于标准的协议, 它们为无线传感器网络应用提供所需要的 网络基础设施。 • 802.15.4定义了物理层(PHY)和媒体访 问控制(MAC)层,ZigBee定义了网络 (NWK)层和应用层(APL)。 • 对于传感器网络应用,关键的设计要求围 绕着电池寿命长,成本低,占地面积小和 网状网络等问题,以支持在一个互操作多 应用环境中大量设备之间的通信。
1.通过 MAC层关联过程加入网络 2.由先前指定的父设备直接加入网络。
• 只有ZigBee协调器或 ZigBee路由器能允 许设备加入网络,而ZigBee终端设备则不
3.3.1MAC层关联
1.初始化请求原语中ScanChannels参数指 定要扫描的信道列表,Scanduration参数 指定扫描每个信道花费的时间。 2.NWK请求MAC层执行被动或主动扫描。 3.在扫描过程中,每接收到一个有效负载 长度非零的信标帧,扫描设备 的MAC层就 向NLME发送一个MLME-BEACONNOTIFY.indication指示原语。该指示原语中 包含的信息由信标设备地址信息、是否允 许关联以及信标有效负载等。扫描设备的 NLME将检查信标有效负载中的协议ID字 段,看它是否与自身的ZigBee协议标识匹 配。 如果不匹配,该信标就被忽略;如果 匹配,扫描设备就把接收信标中的相关信 息拷贝到近邻表中。 4.扫描完成后向NLME发送MLMESCAN.confirm原语后,NWK层就向其上层 发送NLME-NETWORK-DISCOVERY.confirm 原语,把侦听到的每个网络的描述信息传 递给应用层。每个网络描述信息包括 ZigBee版本、协议栈配置文件、PANID、 逻辑信道以及是否允许加入网络等。 5.应用层就获知了设备邻近区域内存在网 络的信息。
认证过程 10.如果设备试图加入一个安全网络中成为 路由器,那么它在发送信标之前需要等待 父设备的认证。如果设备成功加入网络, APL向NWK发送NLME-STARTROUTER.request原语。 11. 设备NWK层向MAC层发送MLMESTART.request原语,设置超帧配置并在 要求的时候开始发送信标帧。只有 BeaconOrder参数不等于15时,路由器才 发送信标帧。PANId、LogicalChannel、 BeaconOrder和SuperframeOrder参数都 应设置为其近邻表中父设备对应记录的值。 PANCoordinator和CoorRealignment参数 都应设为FALSE。 12.NWK接收到MLME-START.confirm原 语后,NWK也向上层发送一个同样状态的 NLME-START-ROUTER.confirm证实原语。 13.APL收到NLME-STARTROUTER.confirm,认证完成。
• ZigBee设备对象 ZDO
– 可以看成是一种公共的应用,提供了一个公共 的功能集,供用户自定义的应用对象调用APS 子层的服务及NWK层的服务,相关提供的功能 包括网络角色管理,绑定管理,安全管理等, 负责初始化APS子层及网络层。 – 定义一个设备在网络中的角色(协调器、路由 器或终端设备),发起和/或回应绑定和发 现请 求,并在网络设备间建立一个安全关系。 – 它也提供定义在ZigBee设备规范(用于 ZigBee 试运转)里的一套丰富的管理指令。 – ZigBee设备对象总是为端点0
MLME-ASSOCIATE.response响应原语传输到子设备的状态通过 MLME-COMM-STATUS.indication指示原语反馈给网络层。 如果响应命令传输到子设备不成功,即MLME-COMMSTATUS.indication原语的状态不是SUCCESS,则NLME将中止设备 加入网络的过程; 如果响应命令传输成功,NLME将向上层发送NLMEJOIN.indication原语,告知一个新设备已经加入到网络中。父设备接 收入网请求。
ห้องสมุดไป่ตู้
2.2 IEEE 802.15.4 (MAC)
• 媒体访问控制层(MAC) • 负责为一个节点和它的直接近邻之间提供 可靠通讯,帮助避免碰撞和提高效率。 MAC 层也负责组装和分解数据包和帧。
– 处理MPDU; – 提供MAC层数据传输机制:CSMA-CA、应答机 制 ED:信道能量检测 ACTIVE: 检索周边双亲信息 non-beacon-enabled – 三种扫描机制(ED、ACTIVE/PASSIVE、 PASSIVE:监听周边双亲信息 beacon-enabled ORPHAN) ORPHAN:孤儿重新检索原关联双亲 CSMA-CA:载波检测机制和随机退避规则 – 关联与退出关联;
1.2 ZigBee目标
• ZigBee标准被开发以解决以下需求:
– – – – – – – – 低成本 安全 可靠和自愈 灵活可扩展 低功耗 容易且不昂贵的部署 使用全球无限制无线电频段 智能化的网络建立和信息路由
1.3 关于ZigBee联盟
• ZigBee联盟是一个由285家公司一起工作 的联合体,以实现基于一个开放的全球标 准 的、可靠的、具有成本效益、低功耗、 无线网络的、检测和控制产品。其重点是 以下方面:
• 网络层(NWK)
– 通过在MAC层的调用行动来处理网络地址和 路由。它的任务包括启动网络(协调器)、 分 配网络地址、添加和删除网络设备、路由信息、 请求安全和执行路由发现。 – 处理NPDU; – 组网管理: 网络建立、地址分配、节点入网、节点离网 – 信息路由: 路径发现、路径维护、信息单播、信息广播
2.2 IEEE 802.15.4 (PHY)
• 物理层(PHY) • 提供接口给物理传输介质,物理层由两个层组成, 它们运行在不同 的频率范围。868MHz /915MHz、2.4GHz。 • 主要功能:
– – – – 信道选择; 信道能量检测(energy detect, ED); 空闲信道评估(clear channel assessment, CCA); 无线信道收发数据(PHY Protocol Data Unit, PPDU); – 接收包链路质量的检测(link quality indication, LQI);
ZigBee协调器或路由器通过MAC层关联把一个设备加入到网络的过 程是由MAC层指示原语MLME-ASSOCIATE.indication来初始化的。收 到该指示原语后,潜在父设备的NLME首先判断想加入的设备是否已 经存在于网络中,即NLME搜索近邻表看是否有有匹配的64位扩展地 址。1有获得对应的16位网络地址并向MAC层发送关联响应;2找不到 分配一个唯一的16位地址。3地址空间用尽,NLME将中止设备加入网 络原语中反映这一事实。 如果潜在的父设备接受了新设备的入网请求,NLME将在近邻表中 为新加入的子设备增加一条记录,记录设备信息,并向MAC层发送 MLME-ASSOCIATE.response响应原语,指示关联成功。
1.1典型应用
• ZigBee无线网状网络的冗余、自配置和自愈能力 对许多应用来说是非常理想的,主要 包括:
– 能源管理和提高效率—提供更多的信息和控制能源使 用,为用户提供更好的服务 和更多的选择机会,更好 地管理资源,帮助减少对环境的冲击。 – 家居自动化—提供对照明、采暖、制冷、安全和家庭 娱乐系统更灵活的管理。 – 楼宇自动化—整合并集中管理照明、采暖、制冷和安 全。 – 工业自动化—扩大现有的生产和过程控制系统可靠性。 ZigBee的互用性意味着这些应用可以一起工作,提供 更大的好处。
– – – – 定义网络、安全及应用软件层 提供互操作性和一致性测试规范 全球性地促进ZigBee品牌以建立市场意识 管理该技术的发展
1.ZigBee是什么? 2.ZigBee协议栈 3.ZigBee网络 4.应用规范,簇和端点 5.ZigBee安全
2.ZigBee协议栈
• ZigBee位于IEEE802.15.4物理层(PHY) 和媒体访问控制(MAC)层的上面: • ZigBee协议栈 :见下页图 • 每一层为它的上层提供一套特定的服务。 每一个服务实体通过一个服务访问点 (SAP)为上层提供服务。
这种多跳能力也帮助提供容错功能,如果一台设备失败或 经历冲突,该网络可以使用剩 下的设备重新路由它自己。
3.3 加入一个ZigBee网络
• 当网络中的设备允许一个新设备加入网络 时,这两个设备就构成了父子关系。新加 入的 设备是子设备,而第一个设备是父设 备。 • 一个子设备可以通过下面两种方式加入网 络: