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.
使用场景:
协调器C, 路由R。
正常情况下:R通过短地址0x0000,AF_DataRequest发送消息给协调器,显示返回状态0,为成功;
抓包文件看到C有mac层的ack确认帧;
出现问题的情况:将C断电后,R通过短地址0x0000,AF_DataRequest发送消息给协调器,仍旧显示发送成功。
抓包文件发现有重发三次,并且C没有返回ACK(C都断电了,让然没有ack了)。
分析:AF_DataRequest的返回状态应该只表明了发送成功,但是没有处理接收成功;
问题:
我应用层如何知道C没有接收到,因为消息不可以丢失,我可以怎么处理?
是否可行的方案:
1. 通过协调器收到消息后,应用层再返回数据帧;
2. 是否有应用层可以处理mac层的ack超时事件,用于择机重发。
另外一个问题: 我只有一个R和一个C,但是看整个空中报文很多。不知道红框内的报文是干嘛的?
因为我一个C下面挂60-80个R,每个R会根据状态随时汇报数据给C,只是一个R就这么多报文,我怕到时候那么多的R,整个网络都拥挤不堪。
已经启用了MTO。
附件里的是:一个R,大概7-8秒发送一个报文给C。这样的报文密度是否正常,我是否可以优化一些网络参数?