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.

终端无法接收数据

终端低功耗状态下,成功入网后,通过Packet Sniffer发现终端没有发送DataRequest,导致无法接收数据,但是终端可以发送数据给协调器。为什么?

  • 您现在终端节点的父节点是路由器?

    当节点开启了Power Saving功能以后,当终端节点发送完数据以后就会立刻进入休眠状态。所以当你的路由或协调器发数据的也是一样的,在应用层看来数据已经往下发了,但是还是保存在底层的buffer里面。直到终端节点发送data request的时候,再把数据发出去。

    建议你可以通过抓包看下,路由有没有把这个数据发出去?

  • 首先,父节点是协调器,就是简单的C+D。

    其次,终端是通过devStartMode = MODE_RESUME的方式入网的,即在协调器那里调用了NLME_DirectJoinRequest。

    然后,开启了Power Saving功能以后,当终端退出睡眠时并不会发送DataRequest,故无法接收数据。

    最后,只有手动发送数据请求才能收到数据。

  • POLL_RATE是不是设置成0了?