我现在路由发送数据到协调器的时候是指定短地址 0x0000(协调器网络短地址)
SampleApp_Periodic_DstAddr.addrMode = afAddr16Bit;
SampleApp_Periodic_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
SampleApp_Periodic_DstAddr.addr.shortAddr = 0x0000;
if ( AF_DataRequest( &SampleApp_Periodic_DstAddr, &SampleApp_epDesc,
SAMPLEAPP_PERIODIC_CLUSTERID,
len,
(uint8_t *)data,
&SampleApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
{
}
现在测试路由直连协调器的时候收发数据没问题,但是现在发现好像不能走中继,距离远了之后,中间加一个同样的路由器之后 不能实现收发数据了
想问一下大家,路由器给协调器发送数据,直接指定目的地址为0x0000不可以走中继吗?
VV:
没有这一说法,建议抓下空中的报文看下实际的数据包交互情况。
biao zhang5:
回复 VV:
首先谢谢你的回答
我现在是打开了加密,
协调器限定了zgApsUseExtendedPANID[Z_EXTADDR_LEN]
路由指定ExtendedPANID
并在预编译里面添加了 NV_RESTORE、 HOLD_AUTO_START
以上这些会影响走路由中继吗?
还有一个问题NV_INIT需要在预编译里面添加吗?
biao zhang5:
回复 biao zhang5:
补充一下 用抓包工具看了一下源地址,目的地址就是设备直接和协调器交互,距离再远就开始丢包了,中间再放一个路由也没有作用,依然是丢包严重