ZigBee收到重复包
大家好:
我在ZigBee调试中遇到几个问题 (基于协议栈:ZStack-CC2530-2.3.0-1.4.0):
1.协调器收到来自终端的重复包(sequence number 相同的包),sequence number 就是从transID这个参数得到的吗?为什么会两次收到同一包?sniffer抓包文件在附件里,重复包为sequence number = 0x33,0x3b,0x5c的包。
2.为什么协调器收到来自终端的数据包后,有时候回复ACK包,有时候没回复ACK包? 见psd文件。
3.ZigBee发送间隔最小取多少合适,我尝试取10ms,发送失败;尝试取20ms,发送成功;
4.我遇到丢包的情况,既然底层有重发机制,是否还有必要在应用层做重发操作?这样会很耗时吗?
5.在传输较大量传感器数据时,单次发送(调用AF_DataRequest)数据量超过97就会死机,为什么?
谢谢帮助!
1,你看到的sequence num是mac层的sequence number,mac层自动添加的。
2,说明协调器没有收到数据,所以终端设备重发,你的抓包设备是一个第三方设备,所以收到有可能是距离的缘故
3,至少做到几百毫秒
4,一般不需要做
5,你的协议栈版本太老,使用新版本的会有分包的机制
你好,VV
2.我直接用协调器接收来自终端的数据包,比如终端发送100包,协调器可能接收到的包数大于100;
4.丢包是原理性的吗?即使做应用层重发,也不能彻底解决丢包的情况?
5.协议栈移植:如从ZStack-CC2530-2.3.0-1.4.0移植到ZStack-CC2530-2.5.1a,除了工程文件的替换外,还需要改变什么配置吗?
谢谢!