查看: 4766|回复: 4

关于FBee Zigbee模块的采集模式下,短地址会发生变化的问题

[复制链接]
dingdinghaoxin 发表于 2011-12-19 14:24:30 | 显示全部楼层 |阅读模式
应用过程中,发现zigbee模块组网成功后,断电再上电,终端节点短地址会发生变化。
我们项目需要一种方式,在组网成功一次后,所有的节点模块的地址不再变化(不用长地址的情况下)。
我们采用了飞比的采集模式和透传模式。
现在关键问题是采集节点需要低功耗(不能用路由节点),而飞比的采集模式只上传了短地址,但是短地址再断电后可能会发生变化。
寻求飞比帮助,有什么办法可以解决该问题。
 楼主| dingdinghaoxin 发表于 2011-12-19 14:46:47 | 显示全部楼层
本帖最后由 dingdinghaoxin 于 2011-12-19 17:15 编辑

针对短地址变动,我们也采取了一种解决方案,就是协调器控制端上电后扫描网络中的节点的长地址,然后做个长短地址映射,但是同样存在问题:
协调器发ATSC扫描长地址的时候,终端节点的长地址不是每次都能返回。
我们没有使用路由,用1个协调器,2个终端节点组网。
协调器发ATSC后(发过很多次),偶尔2个都回来;通常都是只有一个终端节点(先醒来)返回地址,另外一个(后醒来)没有响应;有时2个都不返回。
 楼主| dingdinghaoxin 发表于 2011-12-19 15:47:53 | 显示全部楼层
本帖最后由 dingdinghaoxin 于 2011-12-19 16:50 编辑

补充一下:
终端节点用出厂默认配置好像是可以返回的(没有全部测试),不知道配置过什么信息后就不能返回了。
我修改过波特率,现在是9600。
outman 发表于 2011-12-19 22:09:54 | 显示全部楼层
FBee模块用的是zigbee-pro的协议,在Zigbee pro中,理论上说如果协调器与路由器的网络状态不动时,如果只是终端节点放在不同的位置开、关电,终端节点的地址是可以保持不变的,这也是与zigbee 2007的不同之一。

但在实际的应用中:如果无自组网和低功耗需求时,建议用协调器+路由器的组合,网络短地址不会变化;但楼主的应用中,是有低功耗需求的,只能用终端节点了,FBee模块的终端节点目前是采用自组网的方式,也就是说网络关系随时都有可能变化。

为保证这种可能存在的不确定性,实际上我们是考虑了另外一种方式,就是通过“硬件地址”来寻址。楼主手上的模块已经具备了这个功能,但由于各方面原因,暂时没有公开。既然楼主的应用中需要这种方式,那就把这个功能做个“揭秘”吧:

1、串口协议中的“硬件地址”位置:
 产品手册中“7.5.2.2 协调器的数据输出格式”的第19位为保留位,实际上就是传感节点“硬件地址”的位置。

2、硬件地址的产生:由传感节点的P1.4/1.5/1.6/1.7四个IO口的电平状态,来分别作为硬件地址的D0-D3。这样一共有2^4=16个地址,可以支持16个传感器。当然有另外一种方法可以扩展至8位,256个地址,这里卖个关子,等下一步再进行公开。

3、操作方法:
一、进入AT模式
二、发送ATHF 01指令,开启硬件地址功能
三、发送ATHE 0F指令,使能四路硬件地址输入
四、此时在终端节点的P1.4/1.5/1.6/1.7四个IO口给出不同的电平状态时,对应的此节点的“硬件地址”数据将相应变化。
outman 发表于 2011-12-22 22:16:11 | 显示全部楼层
ATSC指令在FBee V1.10前的版本只能保证非睡眠节点的设备信息返回,但最新的V1.10版,考虑了部分客户对睡眠节点的设备扫描需求,可以保证所有入网节点的信息返回,如需升级模块软件,请联系模块客服:QQ 2403872505
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表