两个设备:一个协调器、一个终端,终端每隔10秒给协调器发送一个数据,协调器收到后,给终端一个应答,采用单播通信方式,并且开启NV_RESTORE编译选项;移动某个设备,直到它们失联,又逐渐靠近,测试自愈性,发现终端只能发送数据给协调器,但是协调器收到数据后只会广播一条数据。由于部分代码不开源,跟踪不到协调器单播变成广播的原因,哪位帮忙看看?附近是抓包文件。
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.
两个设备:一个协调器、一个终端,终端每隔10秒给协调器发送一个数据,协调器收到后,给终端一个应答,采用单播通信方式,并且开启NV_RESTORE编译选项;移动某个设备,直到它们失联,又逐渐靠近,测试自愈性,发现终端只能发送数据给协调器,但是协调器收到数据后只会广播一条数据。由于部分代码不开源,跟踪不到协调器单播变成广播的原因,哪位帮忙看看?附近是抓包文件。
我具体描述一下:
1、设备是两个设备:协调器,终端
2、协议栈是:ti最新协议栈z-stack ha 1.2.2
3、终端设置是POLL_RATE=0,定时器每隔10s终端向父节点发送数据,然后定时500ms,时间到后使用函数NLME_SetPollRate(1)向父节点申请数据,在这500ms里,协调器应该有足够的时间收到终端的数据并做出反应,等待终端的数据申请data request,然后把数据发回给终端。
正常情况下通信时没有问题的,但是只要移动它们超出通信距离,以后即使移动到通信距离内,通信就有问题了,体现在终端发数据给协调器没问题,协调器可以收到数据,但是协调器给终端发送数据本来是点播的,却变成了广播,而且这个广播终端是接收不到的