请教:zigbee coordinator重启之后,能不能不重启end device就可以重新关联?
- UID
- 147629
- 性别
- 男
|
请教:zigbee coordinator重启之后,能不能不重启end device就可以重新关联?
zigbee coordinator重启之后,能不能不重启end device就可以重新关联?有什么办法实现啊?
我现在用一个方法:让end device 每隔一段时间就向coordinator发送一个数据包,如果end device收到的confirm消息的status 参数是noAck,end device就重新发起关联。
但是现在一个问题就是:不知道怎么处理时间,怎么能实现“每隔一段时间”呢? |
|
|
|
|
|
- UID
- 104631
- 性别
- 男
|
如果你的coordinator在重启以后还是使用原来的channel和PANId,理论上是可以不重启end device的,实际中我也遇到过,但是这样是很不可靠的。
关于时间的处理可以使用OSAL中的定时器用法,可以参考其他程序在这方面的使用 |
|
|
|
|
|
- UID
- 147629
- 性别
- 男
|
谢谢seuafu2005
我也试过不重启end device,结果是:end device可以向coordinator发数据,coordiantor也可以收到,但是corrdinator不能向end device发数据了
我找找osal,试试看!
[em23][em23] |
|
|
|
|
|
- UID
- 147629
- 性别
- 男
|
我这没有osal啊,并且我在调试的过程中memTimer.c文件还找不到,难道我的协议栈不完整?有人知道怎么回事吗?我用的是freescale zigbee 802.15.4_1.063版本 |
|
|
|
|
|
- UID
- 104631
- 性别
- 男
|
哦,你用的并不是freescale的z-stack协议栈,只是802。15。4MAC/PHY软件,这个软件只是符合802。15。4标准,zigbee协议是建立在其基础上的。这样的话,你需要自己配置定时器 |
|
|
|
|
|
- UID
- 147629
- 性别
- 男
|
啊?这样啊,配置?还是需要我自己写定时器的程序了?呜呜~~,都不知道从哪下手写呢!本来想自己写呢,但是实在是对底层不熟悉,不知道怎么写啊!
|
|
|
|
|
|
- UID
- 147629
- 性别
- 男
|
多谢seuafu2005及各位的耐心解答,困惑几天的问题终于知道在哪了!
但是新的问题又出现了,不懂怎么去配置定时器啊?有没有相关的源码和资料?谢谢大家了
|
|
|
|
|
|
- UID
- 104631
- 性别
- 男
|
|
|
|
|
|
- UID
- 147629
- 性别
- 男
|
我这里有smac的资料了
请问seuafu2005:我这个只是802。15。4MAC/PHY软件,那会不会对实现zigbee的某些功能有影响啊?
|
|
|
|
|
|
- UID
- 104631
- 性别
- 男
|
zigbee协议标准的底层MAC和PHY用的是802.15.4的标准,要实现zigbee协议的功能需要用z-stack协议栈
SMAC是simple MAC,不符合任何协议,简单的说就是一个13192的驱动加上一些简单的应用 |
|
|
|
|
|
- UID
- 147629
- 性别
- 男
|
哦,原来这样啊,刚开始接触,领导给的就这些,我还以为是完整的协议栈呢,不好意思,让您见笑了!
|
|
|
|
|
|