我使用ZStack-CC2530-2.3.0-1.4.0 做工程应用。各节点间的通信用的是短地址,网络短地址是随机分配的。也就是说短地址是无法事先知道的,而且系统重启也是会变化的。
现在遇到的问题就是
1:如果协调器下面的节点不主动上报数据就不知道节点的短地址,就无法与这个节点通信! 除非协调器广播一个查询短地址的信息,小面的节点收到后报上来, 或 , 用节点的IEEE地址查询对应的短地址,还有没有其他的办法?
2:这个短地址可不可以由用户配置? 因为之前用过别的厂家生产的zigbee模块,“节点地址”是可以配置的,他们用的也是zstack,但不知道这个“节点地址”是不是 zstack 中的短地址?。 这样就方便用户使用了,不然在使用的过程中因为通信是用的短地址,而这个短地址是会变化的,用户系统中的节点设备必须有 一个 唯一的 标示码来绑定这个会变化的短地址才可以区分是哪个设备。
短地址可以预先配置吗? 或者其他的实现预先固定设备通信地址的方案?
James Chu:
To use device announce to collect what you need info or using binding is another solution.
http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/81385.aspx
jinghuan hao:
网络中加入NV_RESTOE,选项,除非擦出flash,组网成功后短地址是不会变化的。
问题1:目前我也就知道这两种方法。
2:短地址可以修改的。如果加入NV_RESTOE选项短地址是不会变化的。
miffy:
一般都是注册回调,等消息,搜一下MT_ZdoEndDevAnnceCB基本上就搞明白了