资源描述:
《zigbee学习之14—zstackapi解读2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#1楼主:【原创】ZigBee学习之14——ZStackAPI解读2文章发表于:2010-02-0615:50ZDO邦定API绑定机制允许一个应用服务在不知道目标地址的情况下向对方(的应用服务)发送数据包。发送时使用的目标地址将由应用支持子层从绑定表中自动获得,从而能使消息顺利被目标节点的一个或多个应用服务,乃至分组接收。由于所有邦定信息都在Zigbee协调器中,所以只有协调器才能接收邦定请求。ZDOBindingAPIZDPBindingServiceCommandZDP_EndDeviceBindReq()End_Device_Bind_reqZDP_EndDeviceB
2、indRsp()End_Device_Bind_rspZDP_BindReq()Bind_reqZDP_BindRsp()Bind_rspZDP_UnbindReq()Unbind_reqZDP_UnbindRsp()Unbind_rspafStatus_tZDP_EndDeviceBindReq(zAddrType_t*dstAddr,uint16LocalCoordinator,byteepIntf,uint16ProfileID,byteNumInClusters,byte*InClusterList,byteNumOutClusters,byte*OutCluster
3、List,byteSecuritySuite);构建并发送节点设备邦定请求(HandBingding)。LocalCoordinator-设备父协调器的16位网络地址NumInClusters-输入簇中的clusterID数目InClusterList-输入clusterIDs的数组afStatus_tZDP_EndDeviceBindRsp(byteTranSeq,zAddrType_t*dstAddr,byteStatus,byteSecurityEnable);Status-SUCCESS0NOT_SUPPORTED1TIMEOUT2NO_MATCH3afStatus_
4、tZDP_BindReq(zAddrType_t*dstAddr,byte*SourceAddr,byteSrcEPIntf,byteClusterID,byte*DestinationAddr,byteDstEPIntf,byteSecuritySuite);请求协调器利用clusterID邦定应用ClusterID–要邦定的clusterIDDestinationAddr–接收消息的设备的64位地址afStatus_tZDP_BindRsp(byteTranSeq,zAddrType_t*dstAddr,byteStatus,byteSecurityEnable);Sta
5、tus-SUCCESS0NOT_SUPPORTED1TABLE_FULL2afStatus_tZDP_UnbindReq(zAddrType_t*dstAddr,byte*SourceAddr,byteSrcEPIntf,byteClusterID,byte*DestinationAddr,byteDstEPIntf,byteSecuritySuite);请求Zigbee协调器移除邦定。afStatus_tZDP_UnbindRsp(byteTranSeq,zAddrType_t*dstAddr,byteStatus,byteSecurityEnable);Status-SU
6、CCESS0x00NOT_SUPPORTED1NO_ENTRY2ZDO管理API这些消息用来取得设备状态和更新表格ZDPManagementAPIZDPNetworkManagementServiceCommandZDP_MgmtNwkDiscReq()Mgmt_NWK_Disc_reqZDP_MgmtNwkDiscRsp()Mgmt_NWK_Disc_rspZDP_MgmtLqiReq()Mgmt_Lqi_reqZDP_MgmtLqiRsp()Mgmt_Lqi_rspZDP_MgmtRtgReq()Mgmt_Lqi_reqZDP_MgmtRtgRsp()Mgmt_Rtg_r
7、spZDP_MgmtBindReq()Mgmt_Bind_reqZDP_MgmtBindRsp()Mgmt_Bind_rspZDP_MgmtLeaveReq()Mgmt_Leave_reqZDP_MgmtLeaveRsp()Mgmt_Leave_rspZDP_MgmtDirectJoinReq()Mgmt_Direct_Join_reqZDP_MgmtDirectJoinRsp()Mgmt_Direct_Join_rspZDP_MgmtPermitJoinReq()Mgmt_Permit_Join_re