This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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就会死机,为什么?

谢谢帮助!

收到重复包0x33,3b,5c.psd
  • 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,除了工程文件的替换外,还需要改变什么配置吗?

    谢谢!