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

请问Zstack 3.0 默认协调器的网络地址是多少?

协调器发送消息给终端,正常。

终端发送消息给协调器,发送一次后,就再也接收不到消息了

YiKai Chen:

有沒有抓包看看狀況

user4711142:

回复 YiKai Chen:

我做的串口透传,协调器和终端

串口透传.psd

user4711142:

回复 user4711142:

0x0000(协调器)给0xD6C7(终端)发送数据正常,
终端给协调器发送数据,显示发送出去了,但是协调器接收不到。程序和都是类似的,为什么不行?

user4711142:

回复 YiKai Chen:

查看了一下,正确时 源端口号 为0 目的端口号为0x30
不能接受数据时,源端口号为30 ,目的端口号为30。
请问这个有什么影响么?需要我把工程文件上传么?

user4711142:

回复 YiKai Chen:

这个程序完全按照zstack 2.5.1写的,没有用3.0的zcl,太麻烦了。而且documents中也没有关于新建和使用自己ID的说明,genericApp的应用更是少之又少。

user4711142:

回复 user4711142:

const cId_t MyApp_ClusterList[MYAPP_MAX_CLUSTERS] =
{MYAPP_SENDADDR_CLUSTERID,MYAPP_DTU_CLUSTERID,
};

const SimpleDescriptionFormat_t MyApp_SimpleDesc =
{MYAPP_ENDPOINT_ADDR,//int Endpoint;MYAPP_PROFID,//uint16 AppProfId[2];MYAPP_DEVICEID,//uint16 AppDeviceId[2];MYAPP_DEVICE_VERSION,//intAppDevVer:4;MYAPP_FLAGS,//intAppFlags:4;MYAPP_MAX_CLUSTERS,//byteAppNumInClusters;(cId_t *)MyApp_ClusterList,//byte *pAppInClusterList;MYAPP_MAX_CLUSTERS,//byteAppNumInClusters;(cId_t *)MyApp_ClusterList//byte *pAppInClusterList;
};
endPointDesc_t MyApp_epDesc;

经调试发现:只发送MYAPP_SENDADDR_CLUSTERID或者只发送MYAPP_DTU_CLUSTERID消息,时没问题。发送其中一个后,另外一个就接受不到了。

Alvin Chen:

回复 user4711142:

 你自己的发送的地址的端口号不对发出不了。请看你的自己包,只有一个。

 GenericApp_DstAddr.addrMode =(afAddrMode_t)Addr16Bit;

 GenericApp_DstAddr.addr.shortAddr = 0x0000;

 GenericApp_DstAddr.endPoint = 0;

YiKai Chen:

回复 user4711142:

正确时 源端口号 为0 目的端口号为0x30

endpoint 0是ZDO層用的,應用程序不應該用端口号 为0

不能接受数据时,源端口号为30 ,目的端口号为30

我看這一類数据發出來除了有mac ack,連aps ack都有,代表你的協調器收到了

user4711142:

回复 Alvin Chen:

嗯,发送的目的地址
//设置发送目的地址是这样设置MyApp_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;MyApp_DstAddr.addr.shortAddr = 0x0000;MyApp_DstAddr.endPoint = 0x30;发送的源地址为什么是0x0000?

Alvin Chen:

回复 user4711142:

发送的源地址为什么是0x0000?
这个仅仅是个举例,具体你自己去填写。

赞(0)
未经允许不得转载:TI中文支持网 » 请问Zstack 3.0 默认协调器的网络地址是多少?
分享到: 更多 (0)