首页 理论教育 物联网实验教程:ZigBee协议介绍

物联网实验教程:ZigBee协议介绍

时间:2023-10-21 理论教育 版权反馈
【摘要】:ZigBee协议栈是在IEEE 802.15.4标准基础上建立的,IEEE 802.15.4标准定义了协议的MAC层和物理层,ZigBee协议栈定义了网络层、应用层和安全服务层的标准。ZigBee联盟规定端点地址的取值范围为0~255。端点0用于ZigBee设备对象配置和管理设备,应用程序可以通过端点0与其他层通信。在ZigBee网络中两个设备之间通信的关键是统一一个Profile。上述3种节点在ZigBee网络中担当了不同的角色。

物联网实验教程:ZigBee协议介绍

ZigBee协议栈是在IEEE 802.15.4标准基础上建立的,IEEE 802.15.4标准定义了协议的MAC层和物理层,ZigBee协议栈定义了网络层、应用层和安全服务层的标准。

ZigBee应用层由应用支持(APS)、应用框架(AF)、ZigBee设备对象(ZDO,包含ZDO管理平台)和制造商定义的应用对象组成。APS子层连接应用层和网络层,负责维护设备间的绑定表(Binding Table),两个服务和需求相互匹配的设备,彼此绑定后根据绑定表进行通信。AF是应用对象的环境,应用对象在AF里,通过APS接收和发送数据。控制和管理应用对象由ZDO负责,其负责定义设备在网络中的角色,比如是作为协调器(Coordinator)、路由器(Router)或者终端设备(End Device),同时负责初始化APS、网络层(NWK)、安全服务规范(SSS)。另外,在网络中AF还负责设备发现(Device Discovery)、服务发现(Service Discovery)等。当一个ZigBee设备加入网络后,ZDO将发起一系列初始化动作,通过APS进行设备发现和服务发现,然后根据事先定义的描述信息(Description)来接收和发送数据。如果应用层发起了绑定请求,则根据描述信息将与自己相关的服务和要求绑定的设备对象记录在APS中的绑定表,然后这个设备的所有通信,都将通过这个绑定表来查询。一旦两个设备绑定了,APS将可以把从一个绑定设备接收的信息传送给另一个设备。

ZigBee网络层负责设备到设备的通信,并负责网络拓扑的搭建、设备寻址、消息路由和网络发现,属于通用的网络层功能范畴

ZigBee设备以应用对象(Application Objects)的形式实现,一个设备可以包含多个应用对象。例如,在环境监测实验中,监测温度和湿度的应用就是一个应用对象。端点是应用对象的事例,每个端点就是一个应用对象,每个应用对象根据端点地址的不同得到区分。ZigBee联盟规定端点地址的取值范围为0~255。但端点0和端点255是两个特殊端点。端点0用于ZigBee设备对象配置和管理设备,应用程序可以通过端点0与其他层通信。端点255用于向所有端点广播。另外,端点241~254是保留端点,不能被用户使用。因此在ZigBee网络中,应用对象的地址由设备的网络地址和应用对象端点地址决定,每个应用对象通过一个端点连接到ZigBee协议栈的其他部分。

设备间的通信就是端点和端点之间的通信。在通信之前必须指定设备应用Profile,应用Profile是为了多个设备、各个厂家的设备能互连、互通而制定的约束。它是一组统一的消息格式和处理方法。在ZigBee网络中两个设备之间通信的关键是统一一个Profile。Profile可以是公有的,也可以是私人制定的。Profile由Profile标识符指定,每一个Profile标识符定义了设备描述和簇(Cluster)标识符。端点之间的通信是通过数据结构Cluster实现的,设备的数据输入输出和它有直接的联系。Cluster是应用对象之间共享信息所需的全部属性的容器,端点间根据Cluster进行通信,具体传输的数据就是属性值。每个端点都有用于输入或输出的Cluster,发送数据时根据指定的Cluster的属性发送数据,接收数据时的Cluster必须与发送方相对应。

ZigBee网络节点包含3种类型:Coordinator、Router和Enddevice。

所有ZigBee网络中都必须有一个并且只能有一个Coordinator节点。在网络层上,Coordinator通常只用来进行系统初始化。在一些应用中,网络初始化完成后,即便是关闭了Coordinator节点,网络仍然可以正常工作。但是如果Coordinator还负责提供路由路径等工作,比如在星形网络拓扑中,Coordinator转发消息的功能就不能被关闭,而必须持续的处于工作状态。同样,如果Coordiantor在应用层提供一些服务,也必须持续地处于工作状态。

Coordinator在网络层应完成如下任务。

● 选择网络所使用的频率通道,通常是最安静的频率通道。

● 启动网络。

● 将其他节点加入网络。

● Coordinator通常还会提供信息路由、安全管理和其他的服务。

如果ZigBee网络采用了树形和Mesh拓扑结构就需要用到Router这种类型的节点。

Router类型节点具有以下主要功能。

● 在节点之间转发信息。

● 容许子节点通过它加入网络。

● 需要注意的是,通常Router节点不能休眠。(www.xing528.com)

EndDevice节点的主要任务就是发送和接收信息。通常,EndDevice节点是由电池供电的,并且当它不在数据收发状态时它通常都处于休眠状态以节省电能。EndDevice节点不能转发信息,也不能让其他节点加入网络。

上述3种节点在ZigBee网络中担当了不同的角色。协调器节点负责启动网络,它首先搜寻一个合适的频率通道(通常是最安静的通道),然后启动网络,并且设定网络的PAN ID,最后准备相应其他节点加入网络的请求。PANID为该个域网的一个唯一的标识。

网络启动之后,路由器(Router)和终端(End Device)节点加入到由协调器节点启动的网络。路由器和协调器节点都能允许其他节点加入网络。加入的过程如下:

● 新的要加入网络的节点首先扫描所有可用的通道找到正在运行的网络并识别要加入的网络。一个通道可能有多个网络运行,各个网络以其他PANID区分。

● 新节点可以选择连接到哪个节点。一个个域网中或有一个协调器同时还可能存在多个路由器,新节点可以自由选择,选择的标准通常是根据信号强度。

● 新节点向选择的节点发送加入网络的信息。

● 被选择的节点检测新节点是否是合法的,同时是否允许新节点加入(由该节点当前是否允许其他节点连接和它是否有足够的地址空间决定)。如果条件满足,被选择的节点将允许新节点加入并给新节点分配一个地址。

一般的,可以配置路由器或协调器节点在哪一段时间内允许其他节点的加入,当然也可以设置成一个无限期的时间,这样在任何时刻都能允许其他节点的加入。

ZigBee标准支持3种主要的网络拓扑结构:星形结构、树形结构和网状结构。星形结构是最简单的拓扑结构,由协调器和终端节点组成。每个终端节点只能和协调器通信,如果终端节点间相互通信,必须通过协调器作为中转节点。树形结构由协调器、路由器和终端节点组成。树的根节点为协调器节点,它可以有多个路由器和终端节点作为它的孩子,每个路由器也可以有多个路由器和终端节点作为它的孩子。每个孩子节点只能直接与它的父节点通信;每个中间节点只能与它的孩子节点和它的父节点直接通信;两个不能直接通信的节点要想通信,消息必须从源节点传到两个节点最近的祖先节点,然后由祖先节点传递到目的节点。网状结构由协调器、路由器和终端节点组成。网络结构和树形结构一样,但通信更灵活,路由器可以和它相邻的所有节点直接通信。所以当有一条通信路由拥塞或不可用时,能灵活地寻找替代的路由。

ZigBee具有如下技术特点。

1)设备功耗低。ZigBee技术采用了很多省电的模式,设备在使用电池供电情况下,可以使用最短数月最长数年。

2)可靠度高。ZigBee采用了CSMA/CA防碰撞机制,大幅提高信息传输的可靠度。

3)网络自组织、自愈能力强。ZigBee网络节点能感知其他节点的存在,自动确定相互关系,自组织成网络。而当网络部分节点出现故障,网络能够自我修复,重新调整网络拓扑结构。

4)网络可扩充性高。一个ZigBee网络最多可以有254个从设备和一个主设备,而通过使用网络协调器,一个区域内可以同时存在65000多个网络节点。

5)成本低。ZigBee设备使用标准的普通电池,不需要重换电池,而且ZigBee协议是免专利费的,这也有效地降低了成本。

6)数据安全。ZigBee提供了一套基于128位高级加密标准的安全类软件,并集成了IEEE 802.15.4的安全元素,同时可以为各应用提供灵活的安全属性。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈