Zigbee组网流程——理论
- 格式:doc
- 大小:176.00 KB
- 文档页数:7
ZigBee协议协议名称:ZigBee协议一、引言ZigBee协议是一种低功耗、低数据速率的无线通信协议,旨在为物联网设备提供可靠的通信和互操作性。
本协议旨在规范ZigBee网络的结构、通信机制、安全性和设备互操作性等方面的要求,以促进物联网应用的发展和智能化的实现。
本协议适用于各种物联网设备,如传感器、智能家居设备、工业自动化设备等。
二、范围本协议适用于使用ZigBee技术的无线物联网设备,包括但不限于以下方面:1. ZigBee网络的组网结构和拓扑结构;2. ZigBee设备之间的通信机制和数据传输方式;3. ZigBee网络的安全性和加密机制;4. ZigBee设备的互操作性和兼容性。
三、术语和定义在本协议中,除非另有明确规定,以下术语和定义适用于整个文档:1. ZigBee:一种基于IEEE 802.15.4标准的无线通信技术,用于短距离、低功耗的物联网应用。
2. ZigBee设备:采用ZigBee技术的物联网设备,包括协调器、路由器和终端设备。
3. 协调器:ZigBee网络中的主设备,负责组网、路由和网络管理等功能。
4. 路由器:ZigBee网络中的中间设备,负责数据包的转发和路由选择等功能。
5. 终端设备:ZigBee网络中的终端设备,负责与传感器、执行器等设备进行通信。
6. PAN:个人局域网(Personal Area Network)的缩写,指由一个协调器和一组终端设备组成的ZigBee网络。
7. 网络拓扑:ZigBee网络中设备之间的连接方式和结构,包括星型、网状、树状等拓扑结构。
8. 数据传输:ZigBee设备之间进行数据交换和通信的过程,可以是单播、广播或多播方式。
四、ZigBee网络结构1. ZigBee网络拓扑结构应根据实际需求选择,可以采用星型、网状、树状等结构。
2. 每个ZigBee网络应包括一个协调器和至少一个终端设备。
3. ZigBee网络中的路由器数量应根据网络规模和通信距离确定,以保证网络的稳定性和可靠性。
ZigBee协议协议名称:ZigBee协议一、引言ZigBee协议是一种低功耗、低速率的无线通信协议,旨在为物联网设备提供可靠、安全的无线通信能力。
本协议旨在规范ZigBee网络的组网方式、通信协议、安全机制等内容,以确保设备之间的互操作性和数据传输的可靠性。
二、范围本协议适用于基于ZigBee技术的物联网设备,包括但不限于传感器、执行器、智能家居设备等。
三、术语定义1. ZigBee:一种基于IEEE 802.15.4标准的无线通信技术,用于低功耗、低速率的短距离通信。
2. ZigBee设备:采用ZigBee技术的物联网设备,包括终端设备和协调器设备。
3. 终端设备:指无线传感器节点或执行器节点,可以通过协调器设备进行通信。
4. 协调器设备:指ZigBee网络中的主节点,负责网络的管理和协调。
四、ZigBee网络组网方式1. 网络拓扑结构:ZigBee网络采用星型、树型或网状拓扑结构,由一个协调器设备和若干终端设备组成。
2. 网络组网方式:ZigBee网络可以通过协调器设备进行主动组网,也可以通过设备之间的自组织方式进行动态组网。
3. 网络扩展性:ZigBee网络支持网络的扩展,可以通过添加更多的终端设备或协调器设备来扩大网络规模。
五、ZigBee通信协议1. ZigBee帧格式:ZigBee通信采用帧格式进行数据传输,包括帧起始符、帧控制字段、目标地址字段、源地址字段、帧有效载荷和帧校验字段等。
2. 数据传输方式:ZigBee通信支持广播传输、单播传输和多播传输三种方式,根据实际应用需求选择合适的传输方式。
3. 数据传输速率:ZigBee通信的数据传输速率根据设备所采用的射频通信频段和通信距离进行调整,一般在10-250 kbps之间。
4. 网络协议栈:ZigBee通信采用分层的网络协议栈,包括物理层、介质访问控制层、网络层和应用层,以实现数据的可靠传输和网络的管理。
六、ZigBee安全机制1. 密钥管理:ZigBee网络使用密钥管理机制来确保通信的安全性,包括密钥生成、密钥分发和密钥更新等操作。
Zig bee技术及其应用2013-09-21 21:37:38|分类:Zigbee技术|标签:ziqbee通信组网应川|字号订阅ZigBee是一种低速短距离传输的无线网络协议。
ZigBee协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)等。
其中物理层和媒体访问控制层遵循IEEE 802.15.4标准的规定。
乙gBee网络主要特点是低功耗、低成本、低速率、支持大量节点、支持多种网络拓扑、低复朵度、快速、可靠、安全。
ZigBee网络中设备的可分为协调器(Coordinator)>汇聚节点(Router)、传感器节点(EndDevice)等三种角色。
⑴与此同时,中国物联网校企联盟认为:zigbee作为一种短距离无线通信技术,山于其网络可以便捷的为用户提供无线数抓传输功能,因此在迦阳领域具有非常强的可应用性。
起源ZigBee译为”紫蜂”,它与蓝牙相类似。
是一种新兴的短距离无线通信技术,用于传感控制应用(Sensor and Control)o由IEEE 802.15工作组中提出,并由其TG4工作组制定规范。
2001 年8 月,ZigBee Alliance 成立。
2004年,ZigBee V1.0诞生。
它是Zigbee规范的第一个版本。
由于推出仓促,存在一些错误。
2006年,推出ZigBee 2006,比较完善。
2007年底,ZigBee PRO推出。
2009年3月,Zigbee RF4CE推出,具备更强的灵活性和远程控制能力。
2009年开始,Zigbee釆用了IETF的IPv6 6Lowpan标准作为新一代智能电网Smart Energy(SEP 2.0)的标准,致力于形成全球统一的易于与互联网集成的网络,实现端到端的网络通信。
随着美国及全球智能电网的建设,Zigbee将逐渐被IPv6/6Lowpan标准所取代。
ZigBee的底层技术基于IEEE 802.15.4,即其眇理屋和媒体访问控制层直接使用了IEEE 802.15.4的定义。
什么是ZigBee?Zigbee是IEEE 802.15.4协议的代名词。
根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。
这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。
其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。
主要适合用于自动控制和远程控制领域,可以嵌入各种设备。
简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。
Zigbee的起源Zigbee, 在中国被译为"紫蜂",它与蓝牙相类似.是一种新兴的短距离无线技术.用于传感控制应用(sensor and control).此想法在IEEE 802.15工作组中提出,于是成立了TG4工作组,并制定规范IEEE 802.15.4.2002年,zigbee Alliance成立.2004年,zigbee V1.0诞生.它是zigbee的第一个规范.但由于推出仓促,存在一些错误.2006年,推出zigbee 2006,比较完善.2007年底,zigbee PRO推出zigbee的底层技术基于IEEE 802.15.4.物理层和MAC层直接引用了IEEE 802.15.4在蓝牙技术的使用过程中,人们发现蓝牙技术尽管有许多优点,但仍存在许多缺陷。
对工业,家庭自动化控制和工业遥测遥控领域而言,蓝牙技术显得太复杂,功耗大,距离近,组网规模太小等,而工业自动化,对无线数据通信的需求越来越强烈,而且,对于工业现场,这种无线数据传输必须是高可靠的,并能抵抗工业现场的各种电磁干扰。
因此,经过人们长期努力,Zigbee协议在2003年正式问世。
另外,Zigbee使用了在它之前所研究过的面向家庭网络的通信协议Home RF Lite。
长期以来,低价、低传输率、短距离、低功率的无线通讯市场一直存在着。
ZigBee技术介绍精简功能设备(RFD):RFD只能传送信息给FFD或从FFD接收信息。
附带有限的功能来控制成本和复杂性,在⽹络中通常⽤作终端设备。
ZigBee⽹络定义了三种节点类型:协调器和路由器必须是全功能器件(FFD: Full function device),终端设备可以是全功能器件,也可以是简约器件(RFD: reduce function device)。
协调点是⼀个特殊的FFD,它具有较强的功能,是整个⽹络的主要控制者,它根据⽹络的最⼤深度(nwkMaxDepth),每个路由器能最多连接⼦设备的数⽬(nwkMaxChildren),每个路由器能最多连接⼦路由器的数⽬(nwkMaxRouters)等参数建⽴新的⽹络、収送⽹络信标、管理⽹络中的节点以及存储⽹络信息等。
RFD的应⽤相对简单,例如在传感器⽹络中,它们只负责将采集的数据信息収送给它的协调点,不具备数据转収、路由収现和路由维护等功能。
RFD占⽤资源少,需要的存储容量也⼩,在不収射和接收数据时处于休眠状态,因此成本⽐较低,功耗低。
FFD除具有RFD功能外,还需要具有路由功能,可以实现路由収现、路由选择,并转収数据分组。
⼀个FFD可以和另⼀个FFD或RFD通信,⽽RFD只能和FFD通信,RFD之间是⽆法通信的。
⼀旦⽹络启动,新的路由器和终端设备可以通过路由収现、设备収现等功能加⼊⽹络。
当路由器或终端设备加⼊ZigBee ⽹络时,设备间的⽗⼦关系(或说从属关系)即形成,新加⼊的设备为⼦,允许加⼊的设备为⽗。
⼀个简单的ZigBee⽹络⽗⼦关系如图3-a中的A、B。
ZigBee中每个协调点最多可连接255个节点,⼀个ZigBee⽹络最多可容纳65535个节点。
3.2 ⽹络拓扑ZigBee⽹络的拓扑结构主要有三种,星型⽹、⽹状(mesh)⽹和混合⽹,见图3。
星型⽹(图3-c)是由⼀个协调点和⼀个或多个终端节点组成的。
协调点必须是FFD,它负责収起建⽴和管理整个⽹络,其它的节点(终端节点)⼀般为RFD,分布在协调点的覆盖范围内,直接与协调点迚⾏通信。
星形网络和树型网络可以看成是网状网络的一个特殊子集,所以接下来分析如何组建一个Zigbee网状网络。
组建一个完整的Zigbee网络分为两步:第一步是协调器初始化一个网络;第二步是路由器或终端加入网络。
加入网络又有两种方法,一种是子设备通过使用MAC层的连接进程加入网络,另一种是子设备通过与一个先前指定的父设备直接加入网络。
一、协调器初始化网络协调器建立一个新网络的流程如图1所示。
图1 协调器建立一个新网络1、检测协调器建立一个新的网络是通过原语NLME_NETWORK_FORMATION.request发起的,但发起NLME_NETWORK_FORMATION.request原语的节点必须具备两个条件,一是这个节点具有ZigBee协调器功能,二是这个节点没有加入到其它网络中。
任何不满足这两个条件的节点发起建立一个新网络的进程都会被网络层管理实体终止,网络层管理实体将通过参数值为INVALID_REQUEST的NLME_NETWORK_FORMATION.confirm的原语来通知上层这是一个非法请求。
2、信道扫描协调器发起建立一个新网络的进程后,网络层管理实体将请求MAC子层对信道进行扫描。
信道扫描包括能量扫描和主动扫描两个过程。
首先对用户指定的信道或物理层所有默认的信道进行一个能量扫描,以排除干扰。
网络层管理实体将根据信道能量测量值对信道进行一个递增排序,并且抛弃能量值超过了可允许能量值的信道,保留可允许能量值内的信道等待进一步处理。
接着在可允许能量值内的信道执行主动扫描,网络层管理实体通过审查返回的PAN描述符列表,确定一个用于建立新网络的信道,该信道中现有的网络数目是最少的,网络层管理实体将优先选择没有网络的信道。
如果没有扫描到一个合适的信道,进程将被终止,网络层管理实体通过参数仠为STARTUP_FAILURE的NLME_NETWORK_FORMATION.confirm的原语来通知上层初始化启动网络失败。
3、配置网络参数如果扫描到一个合适的信道,网络层管理实体将为新网络选择一个PAN描述符,该PAN 描述符可以是由设备随机选择的,也可以是在NLME_NETWORK_FORMATION.request里指定的,但必须满足PAN描述符小于或等于0x3fff,不等于0xffff,并且在所选信道内是唯一的PAN描述符,没有任何其它PAN描述符与之是重复的。
如果没有符合条件的PAN 描述符可选择,进程将被终止,网络层管理实体通过参数值为STARTUP_FAILURE的NLME_NETWORK_FORMATION.confirm的原语来通知上层初始化启动网络失败。
确定好PAN 描述符后,网络层管理实体为协调器选择16位网络地址0x0000,MAC子层的macPANID 参数将被设置为PAN描述符的值,macShortAddress PIB参数设置为协调器的网络地址。
4、运行新网络网络参数配置好后,网络层管理实体通过MLME_START.request原语通知MAC层启动并运行新网络,启动状态通过MLME_START.confirm原语通知网络层,网络层管理实体再通过NLME_NETWORK_FORMATION.confirm原语通知上层协调器初始化的状态。
5、允许设备加入网络只有ZigBee协调器或路由器才能通过NLME_PERMIT_JOINING.request原语来设置节点处于允许设备加入网络的状态。
当发起这个进程时,如果PermitDuration参数值为0x00,网络层管理实体将通过MLME_SET.request原语把MAC层的macAssociationPermit PIB 属性设置为FALSE,禁止节点处于允许设备加入网络的状态;如果PermitDuration参数值介于0x01和0xfe之间,网络层管理实体将通过MLME_SET.request原语把macAssociationPermit PIB属性设置为TRUE,并开启一个定时器,定时时间为PermitDuration,在这段时间内节点处于允许设备加入网络的状态,定时时间结束,网络层管理实体把MAC层的macAssociationPermit PIB属性设置为FALSE;如果PermitDuration参数的值为0xff,网络层管理实体将通过MLME_SET.request原语把macAssociationPermit PIB属性设置为TRUE,表示节点无限期处于允许设备加入网络的状态,除非有另外一个NLME_PERMIT_JOINING.request原语被发出。
允许设备加入网络的流程如图2所示。
图2 允许设备加入网络通过以上流程协调器就建立了一个网络并处于允许设备加入网络的状态,然后等待其它节点加入网络。
二、节点加入网络一个节点加入网络有两种方法,一种是通过使用MAC层关联进程加入网络,另一种是通过与先前指定父节点连接而加入网络。
1)通过MAC层关联加入网络子节点请求通过MAC关联加入网络进程如图3所示。
父节点响应通过MAC关联加入网络进程如图2-6所示。
1、子节点发起信道扫描子节点通过NLME_NETWORK_DISCOVERY.request原语发起加入网络的进程,网络层接收到这个原语后通过发起MLME_SCAN.request原语请求MAC层执行一个主动扫描或被动扫描以接收包含了PAN标志符的信标帧,扫描的信道以及每个信道的扫描时间分别由NLME_NETWORK_DISCOVERY.request原语的参数ScanChannels和ScanDuration决定。
2、子节点存储各PAN信息MAC层通过MLME_BEACONNOTIFY.indication原语将扫描中接收到的信标帧信息发送到网络层管理实体,信标帧信息包括信标设备的地址、是否允许连接以及信标净载荷。
如果信标净载荷域里的协议ID域与自己的协议ID相同,子设备就将每个匹配的信标帧相关信息保存在邻居表中。
信道扫描完成后,MAC层通过MLME_SCAN.confirm原语通知网络层管理实体,网络层再通过NLME_NETWORK_DISCOVERY.confirm原语通知上层,该原语包含了每个扫描到的网络的描述符,以便上层选择一个网络加入。
3、子节点选择PAN如果上层需要发现更多网络,则可以重新执行网络发现,如果不需要,则通过NLME_JOIN.request原语从被扫描到的网络中选择一个网络加入。
参数PANID设置为被选择网络的PAN标识符。
4、子节点选择父节点一个合适的父节点需要满足三个条件:匹配的PAN标志符、链路成本最大为3、允许连接,为了寻找合适的父节点,NLME_JOIN.request原语请求网络层搜索它的邻居表,如果邻居表中不存在这样的父节点则通知上层,如果存在多个合适的父节点则选择具有最小深度的父节点,如果存在多个具有最小深度的合适的父节点则随机选择一个父节点。
5、子节点请求MAC关联确定好合适的父节点后,网络层管理实体发送一个MLME_ASSOCIATE.request原语到MAC 层,地址参数设置为已选择的父节点的地址,尝试通过父节点加入网络。
6、父节点响应MAC关联父节点通过MLME_ASSOCIATE.indication原语通知网络层管理实体一个节点正尝试加入网络,网络层管理实体将搜索它的邻居表查看是否有一个与尝试加入节点相匹配的64位扩展地址,以便确定该节点是否已经存在于它的网络中了。
如果有匹配的扩展地址,网络层管理实体获取相应的16位网络地址并发送一个连接响应到MAC层。
如果没有匹配的扩展地址,在父节点的地址分配空间还没耗尽的条件下网络层管理实体将为尝试加入的节点分配一个16位网络地址。
如果父节点地址分配空间耗尽,将拒绝节点加入请求。
当同意节点加入网络的请求后,父节点网络层管理实体将使用加入节点的信息在邻居表中产生一个新的项,并通过MLME_ASSOCIATE.request原语通知MAC层连接成功。
7、子节点响应连接成功如果子节点接收到父节点发送的连接成功信息,发送一个传输成功响应信息以确认接收,然后子节点MAC层将通过MLME_ASSOCIATE.confirm原语通知网络层,原语包含了父节点为子节点分配的网内唯一的16位网络地址,然后网络层管理实体设置邻居表相应邻居设备为它的父设备,并通过NLME_JOIN.confirm原语通知上层节点成功加入网络。
8、父节点响应连接成功父节点接收到子节点的传输成功响应信息后,将通过MLME_COMM_STATUS.indication原语将传输成功的响应状态发送给网络层,网络层管理实体通过NLME_JOIN.indication 原语通知上层一个节点已经加入了网络。
图3 子节点请求加入网络进程图4 父节点响应加入网络进程2)通过与先前指定父节点连接加入网络子节点通过与指定的父节点直接连接加入网络,这个时候父节点预先配置了子节点的64位扩展地址。
父节点处理一个直接加入网络的进程如图5所示。
子节点通过孤立方式加入网络进程如图6所示。
1、父节点处理子设备直接加入网络父节点通过NLME_DIRECT_JOIN.request原语开始处理一个设备直接加入网络的进程。
父节点网络层管理实体将首先搜索它的邻居表查看是否存在一个与子节点相匹配的64位扩展地址,以便确定该节点是否已经存在于它的网络中了。
如果存在匹配的扩展地址,网络层管理实体将终止这个进程并告诉上层该设备已经存在于设备列表中了。
如果不存在匹配的扩展地址,在父节点的地址分配空间还没耗尽的条件下网络层管理实体将为子节点分配一个16位网络地址,并使用子节点的信息在邻居表中产生一个新的项。
然后通过NLME_DIRECT_JOIN.confirm原语上层设备已经加入网络。
2、子节点连接父节点确认父子关系子节点通过NLME_JOIN.request原语发起孤立扫描来建立它与父节点之间的关系。
这时网络层管理实体将通过MLME_SCAN.request请求MAC层对物理层所默认的所有信道进行孤立扫描,如果扫描到父设备,MAC层通过MLME_SCAN.confirm原语通知网络层,网络层管理实体再通过NLME_JOIN.confirm原语通知上层节点请求加入成功,即与父节点建立了父子关系,可以互相通信。
图5 父节点处理一个直接加入网络进程图6 子节点通过孤立方式加入网络进程。