#author("2019-10-29T15:48:52+08:00","default:Admin","Admin") ZigBee

※This article is based on ZigBee Stack 2.51.a

绑定表

绑定就是把设备变成灯和开关的关系。便于网络管理。

  • 绑定表存放的位置是内存中预先定义的块,如果编译选项NV_RESTORE被激活,也能保存在Flash里。
  • 绑定表放置在源节点(需要激活编译选项REFLECTOR)。
  • 绑定表的条目把需要发送的消息映射到它们的目标地址上。

在每一个节点入网的时候,都会向网络自动发出DeviceAnnce报告(这里面包含了节点的IEEE地址和新得到的短地址),告诉大家自己来了,在看到这个DeviceAnnce的时候,每个节点都会根据IEEE地址信息更新自己的绑定表的,这样你就不怕短地址变化啦。还有的时候你可能根本就不知道某些节点的具体信息,尤其是EP信息,在这种情况下,如果你没有主机来统一管理,再不用绑定,两个节点想通信是不可能的。

Z-stack有四种绑定方式:

两个节点分别通过按键机制调用ZDP_EndDeviceBindReq函数

适合于节点很方便操作,没有被装墙里或者无法接触的地方

这种绑定方式必须要有协调器设备存在,两个设备通过按键在一定时间间隔内(默认为15秒)调用ZDP_EndDeviceBindReq函数完成绑定。首先要在初始化程序中注册End_Device_Bind_rsp进程

Match方式;自动绑定 Automatic Binding

这种绑定方式无需协调器设备存在,可采用按键机制来实现。

  1. 负责发送消息的设备在网络上广播带有如下参数的“个人公告”(Personal Advertisement):
    1. 地址,配置文件标识符,簇集合列表;
    2. 描述符匹配请求- ZDP_MatchDescReq()。
  2. 匹配的设备会作出响应。
  3. 由ZDO处理和验证响应。
  4. 负责发送消息的设备建立绑定表并保存绑定记录。
  5. 这种方法有时也称“服务发现”,“自动找寻”或者“自动匹配”。

辅助绑定 ZDP_BindReq和ZDP_UnbindReq方式;

这种绑定方式需要第三方设备辅助完成,即假如A设备和B设备想进行绑定,A为源设备,B为目标设备,这时需要一个C设备来发起绑定,C设备需要知道A设备和B设备端点号、簇ID号和64位IEEE 地址。

手工管理绑定表

这种方式是最灵活的方式,不过目前我只实现了子节点对其父节点的绑定,而无法实现对非父节点的绑定,原因尚不清楚,若有朋友清楚还请告诉我,谢谢!



本当にほしかったのはこういうブログだったんだ

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:45:09 (1628d)

PCpዾyǗlgĂ܂}WŔ܂z 萔O~ył񂫁z Yahoo yV NTT-X Store

z[y[W ̃NWbgJ[h COiq ӂ邳Ɣ[ COsیI COze