ZigBee入门之基础概念3
第三讲:
zigbee术语
射频收发器型号可选包括但不限于CC2420等;单个节点可连接多台设备;每台设备通常配置有若干个端口;各端口下设有多个集群(输出集群和输入集群);每个集群至少配置一个至多配置多个参数设置。
属性Attribute是一个代表物理量或状态的数值数据类型例如开关闭合(On)或开启(Off)的状态温度的度数以及百分比形式。
Cluster被视为由一个或多个属性组成的集合体。
设备规格 Device Specifications 是指大型目标应用中的一个重要组成部分,具体来说是包含一个或多个集群,并且每个集群都有明确的输入与输出标识。其中使用的各种参数包括节点参数、电源参数、基础参数以及端点参数等。
主要涉及的两类基本概念包括:简单的标识符和端点标识符。这些具体表现形式上,在C语言中这些概念被定义为一个结构体类型,并且位于应用层的SampleApp.h文件中。
端点
该端点位于协议栈的应用层,并充当应用对象存在的入口。它是由一组群集构成的结构,用于实现设备描述的目的。该端点不仅可以表示应用对象所在的特定位置,还可以理解为连接不同功能模块的中继角色。每个ZigBee设备最多可支持240个独立的端点,并且每个设备都可以定义多达240个不同的应用场景。默认保留端点0用于与ZDO接口这一功能是所有ZigBee设备的基本配置。另外一种重要的保留设置是将默认保留端点255用于广播操作。此外,在现有架构的基础上还预留了特定的扩展用端点(241-254)供未来使用。
节点Node也可被视为一个容器,承载一组ZigBee设备并共享一个无线信道。每个节点仅占用一个无线信道。
在 zigbee 协议中被定义为一种特殊的称为'绑定'(binding)的操作。该协议通过使用 ClusterID 作为一个媒介,在不同节点之间建立逻辑上的连接。其中 Z1 节点拥有两个独立端点 EP3 和 EP21;而 Z2 节点则拥有四个独立端点 EP5、EP7、EP8 和 EPl7(注:EPl7可能是笔误应为EP17)。通过建立'绑定'操作可以在 Z1 节点上实现 EP3 和 EP5、EP7、EP8 的关联;同时也能实现 EP21 和 EPl7 的关联。这样一来开关 I 就能够同时控制电灯 1、2 和 3;而开关 II 则能够控制电灯 4。这种机制不仅简化了网络架构的设计还显著提升了系统的灵活性与可扩展性
为了实现绑定了操作, 各个设备需要向协调系统提交绑定了请求. 当协调系统在有限的时间段内接收到来自两个不同设备的绑定了请求后, 系统会在两个不同的设备间建立了基于表格的绑定了连接. 因此, 在绑定了后的两端设备间传输信息的过程被视为一种间接通信方式. 其中任何一个设备首先会将数据发送至ZigBee协调系统中, 当ZigBee协调系统接收到数据后会参考预先存储的绑定了列表, 将该数据转发给所有相关联的终端节点, 这样一来就达成了多对多的数据共享机制.
路由
路由对与应用层来说是完全透明的。应用程序只需简单的向下发送去往任何设备的数据到
栈中,栈会负责寻找路径。这种方法,应用程序不知道操作是在一个多跳的网络当中的。
路由还能够自愈 ZigBee 网络, 如果某个无线连接断开了, 路由功能又能自动寻找一条新的
路径避开那个断开的网络连接。这就极大的提高了网络的可靠性,同时也是 ZigBee 网络的一
个关键特性。
.2 路由协议 (Routing Protocol)
ZigBee 执行基于用于 AODV 专用网络的路由协议。简化后用于传感器网络。ZigBee 路由
协议有助于网络环境有能力支持移动节点,连接失败和数据包丢失。
当路由器从他自身的应用程序或者别的设备那里收到一个单点发送的数据包,则网络层
(NWK Layer)根据一下程序将它继续传递下去。如果目标节点是它相邻路由器中的一个,则数
据包直接被传送给目标设备。否则,路由器将要检索它的路由表中与所要传送的数据包的目标
地址相符合的记录。如果存在与目标地址相符合的活动路由记录,则数据包将被发送到存储在
记录中的下一级地址中去。如果没有发现任何相关的路由记录,则路由器发起路径寻找,数据
包存储在缓冲区中知道路径寻找结束。
ZigBee 终端节点不执行任何路由功能。终端节点要向任何一个设备传送数据包,它只需简
单的将数据向上发送给它的父亲设备,由它的父亲设备以它自己的名义执行路由。同样的,任
何一个设备要给终端节点发送数据, 发起路由寻找, 终端节的的父亲节点都已它的名义来回应。
该ZigBee地址分配方案使得任意的目标设备其地址都能对应一条路径。
在Z-Stack架构中,当正常的路径搜索无法启动时(常见原因在于缺乏路由表空间),系统具备自动回退机制。
此外,在Z-Stack中已优化的路由系统提升了效率,并确保每个目标设备都必须维护其路由表记录。
然而通过整合一定父节点信息与其所有子节点的数据能够实现既能在不影响功能的前提下提升效率。
ZigBee路由器及其协调器负责完成以下关键功能:
(i) 路径探测与选择;
(ii) 路径维持管理;
(iii) 路径失效处理。
Route Discovery and Selection (路径发现和选择)
该系统会维护那些已建立连接到网络上设备的数据通道记录。
当一段时间内没有新数据沿此通道传输,则该通道将被视为已过时。
过时的信息会在其占用空间被实际访问时被淘汰。
因此,在没有任何实际使用需求的情况下。
为了管理网络路由的有效性,在f8wConfig.cfg文件中设置自动生成路线保活时间参数。
定义ROUTE_EXPIRY_TIME字段用于指定保活时长(秒)。
若设置值为零,则表示禁用自动生成路线保活功能。
ZigBee 原语
ZigBee 协议依据开放系统互联模型的七层架构将协议划分为若干层级结构, 各层级间通过相应的服务访问点相互协作, 使得协议中的各层级可根据自身功能独立运行,从而使整个协议栈结构清晰明了.另一方面, 由于 ZigBee 协议栈是一个有机的整体, 任何 ZigBee 设备若要正常运转必须要求协议栈各层级之间密切配合.因此, 各层级间的事务交互显得尤为关键.为了实现层级间的关联性,ZigBee 协议采用了被称为"服务原语"的操作方式.该服务由 N 个用户与 N 层之间的信息流加以定义, 这种信息流由离散的时间片事件构成, 其目的是为了传递提供服务的关键特征.每个事件均由特定的服务原语构成, 它们将在一个用户的某一层次通过与该层次相关联的服务访问点与其对等连接的用户之间建立对等连接并传送相关信息.在层级间,"服务原语"一般可分为四类:◆ 请求: NI 用户向其所属 N 层发起请求以启动所需的服务;◆ 指令: N 层向 N2 用户发出指示, 该指示针对 N2 用户具有重要意义且可能关联远程服务请求或内部事件;◆ 响应: N2 用户将响应指令所引起的过程并将其结果返回给上一层;◆ 确认: N 层向 NI 用户发送确认信息以反馈此前一系列服务请求的相关执行成果.
