首页 > 技术知识 > 正文

2.2.4.3.2.2 产生

该原语由APSME产生作为APSME-BIND.request原语的响应发送给NHLE。如果请求成功,那么状态参数将表明一个成功的绑定请求。否则,状态参数则为错误码ILLEGAL_DEVICE、 ILLEGAL_REQUEST 或TABLE_FULL。

2.2.4.3.2.3 接收

接收到该原语,上层就被通知其绑定请求的结果。如果绑定请求成功,状态参数设置为SUCCESS。否则,状态参数表明错误。

2.2.4.3.3 APSME-UNBIND.request

该原语允许支持绑定的设备上层通过在本地绑定表中移除一个入口请求将两个设备解除绑定。

2.2.4.3.3.1 服务原语的语法:

APSME-UNBIND.request { SrcAddr SrcEndpoint Clusterld DstAddrMode DstAddr DstEndpoint } 表2.8详细描述了APSME-UNBIND.request原语的参数。

Zigbee协议栈中文说明(四)

Zigbee协议栈中文说明(四)1

2.2.4.3.3.2 产生

该原语有上层产生发送给APS子层,在支持绑定表的设备上发起解除绑定操作。

2.2.4.3.3.3 接收

一旦被当前没有加入到网络或不支持绑定表的设备接收到该原语,那么APSME将发送状态参数为ILLEGAL_REQUEST的APSME-UNBIND.confirm原语。

如果支持绑定表的设备的APS子层从NHLE接收该原语,APSME将在绑定表中查找指定的入口。如果入口存在,APSME将移除这个入口并发送状态参数为SUCCESS的APSME-UNBIND.confirm原语(见2.2.4.3.4小节)。如果没有找到入口,APSME将发送状态参数为INVALID_BINDING的APSME-UNBIND.confirm原语。如果该设备不在网络中,APSME将发送状态参数为ILLEGAL_DEVICE的APSME-BIND.confirm原语。

2.2.4.3.4 APSME-UNBIND.confirm

该原语使设备得到其上层请求解除两个设备绑定的结果。

该原语的语法如下: APSME-UNBIND.confirm { Status SrcAddr SrcEndpoint Clusterld DstAddrMode DstAddr DstEndpoint } 表2.9详细描述了APSME-UNBIND.confirm原语的语法。

Zigbee协议栈中文说明(四)2

Zigbee协议栈中文说明(四)3

2.2.4.3.4.2 产生

该原语由APSME产生作为APSME-UNBIND.request原语的响应发送给NHLE。如果请求成功,那么状态参数将表明一个成功的解除绑定请求。否则,状态参数则为错误码ILLEGAL_DEVICE、 ILLEGAL_REQUEST 或INVALID_BINDING。

2.2.4.3.4.3 接收

接收到该原语,上层就被通知其解除绑定请求的结果。如果解除绑定请求成功,状态参数设置为SUCCESS。否则,状态参数表明错误。

2.2.4.4 信息库的维护

这组原语定义了设备上层如何读取和写入AIB中的属性。

2.2.4.4.1 APSME-GET.request

该原语允许设备上层从AIB中读取属性值。

2.2.4.4.1.1 服务原语的语法

该原语的语法如下:

APSME-GET.request {

AIBAttribute

}

表2.10描述了该原语的参数。

Zigbee协议栈中文说明(四)4

2.2.4.4.1.2 产生

该原语由上层产生并发送给APSME来读取AIB中的属性。

2.2.4.4.1.3 接收

接收到该原语,APSME试图从数据库中得到AIB属性。如果在数据库中没有相应的AIB属性表标识符,APSME将发送状态参数为UNSUPPORTED_ATTRIBUTE的APSME-GET.confirm原语。

如果成功得到了AIB属性,APSME将发送状态参数为SUCCESS,包含AIB属性标识符和属性值的APSME-GET.confirm原语。

2.2.4.4.2 APSME-GET.confirm

该原语向上层报告从AIB中读取属性值的结果。

2.2.4.4.2.1 服务原语的语法

该原语的语法如下:

APSME-GET.confirm {

Status

AIBAttribute

AIBAttributeLength

AIBAttributeValue

}

表2.11描述了该原语的参数。

Zigbee协议栈中文说明(四)5

猜你喜欢