TI中文支持网
TI专业的中文技术问题搜集分享网站

为什么endpoint会不断的去请求data request,这个请求的作用是什么呢? 关闭了NWK_AUTO_POLL,为什么还是有data request?

为什么endpoint会不断的去请求data request,这个请求的作用是什么呢? 我现在endpoint节点是温度采集的,每5s发送一次温度数据,打开了POWER_SAVING功能,进入了PM2模式,通过定时器唤醒。那这个data request发出去之后,会等待多久,然后节点再次进入休眠模式呢?

猜想1: 是不是去父节点查询有没有属于自己的信息?如果有,父节点收到data request请求,就会主动返回给它?

关闭了NWK_AUTO_POLL,为什么还是有data request?

VV:

Xiaobo,

Endpoint在ZigBee 协议里面还有其他的意思,你的提问应该是End Device吧?

End device的通信都是通过父节点来做,包括广播,转发数据等都是有父节点完成的。那么当父节点有数据需要发给子设备End device的时候,数据是buffer在父节点底层的,因为父节点有可能认为节点处于休眠状态,或者节点的RX没有打开,所以每次需要节点Data request去向父节点请求数据,当父节点收到Data request以后,再把数据发给子设备。

如果在开启了PM2模式下,节点在发送完成Data request大概会有几时ms的时间RX打开的。

你的猜想是正确的。

修改下面这个poll rate在f8wconfig.cfg文件里面

/* The number of milliseconds to wait between data request polls to the coordinator. */-DPOLL_RATE=1000

JIM GREEN8:

回复 VV:

VV您好

      我实际测试时候有点问题,我测试的环境是一个协调器和一个休眠的终端,在休眠的时候我发送点播数据,等终端发送datarequest的时候,协调器并没有给终端发送目标信息,似乎只有在终端开始发送datarequest前比较短的时间内发送数据终端才能接受到,这是什么原因呢

JIM GREEN8:

回复 VV:

协议栈中是否提供了父节点响应终端的datarequest的代码给我们

caigang lan:

回复 JIM GREEN8:

我也是遇到這个问题,有啥好办法

chunquan lin:

回复 VV:

End device如何取消data request

chunquan lin:

回复 VV:

End device如何取消data request

VV:

回复 chunquan lin:

可以通过NLME_SetPollRate( uint32 newRate );把poll rate设置成0,节点不会发送data request。
不发送data request意味着,父设备的数据没办法下发了,因为父设备给子设备的数据都是通过子设备的data request查询来接收的。

chunquan lin:

回复 VV:

你好,谢谢你的回复。再问你一个问题,是不是把这个设置成真(-DRFD_RCVC_ALWAYS_ON=TRUE),就算不发送data request,也可以正常接收父设备的数据

赞(0)
未经允许不得转载:TI中文支持网 » 为什么endpoint会不断的去请求data request,这个请求的作用是什么呢? 关闭了NWK_AUTO_POLL,为什么还是有data request?
分享到: 更多 (0)