请教大家个问题:zigbee网络拓扑是mesh结构,协调器下面跟个路由器,路由器下面跟5个End Device,协调器通过广播模式与End Device能通信的上,但通过
点对点单播模式则通信不上,请教大侠们看看可能是什么原因?
Susan Yang:
有没有进行绑定? 单播的代码能贴出来吗?
Harris Ren:
回复 Susan Yang:
谢谢您的回复!没有进行绑定,单播是通过串口发的数据,
通信设置如下:SampleApp_Periodic_DstAddr.addrMode = (afAddrMode_t)Addr64Bit; //点播
SampleApp_Periodic_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
osal_memcpy(SampleApp_Periodic_DstAddr.addr.extAddr,DestMacAddrs,8);
通过下面的函数发送if ( AF_DataRequest( &SampleApp_Periodic_DstAddr, &SampleApp_epDesc,
SAMPLEAPP_COM_CLUSTERID,//自己定义一个
len+1, // 数据长度
str, //数据内容
&SampleApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
{
}另外,如果把5个End Device 都烧成路由,同样的方式单播也能通信的上
Harris Ren:
回复 jianqiao chen:
谢谢!哪里有相应的文档可以查看?
jianqiao chen:
回复 Harris Ren:
我用长地址做过好多次试验得出的结论,不能保证正确。
你可以通过长地址获取短地址,然后再发数据
Harris Ren:
回复 jianqiao chen:
路由不是用来转发的吗?长地址模式下不能实现这个功能?
Harris Ren:
回复 jianqiao chen:
谢谢!长地址是固定的,短地址是随机的,怎么通过长地址获取短地址?
Harris Ren:
回复 jianqiao chen:
非常谢谢!我自己好好看看