之前发了个帖子“使用Z-stact 3.0.1 的GenericApp做透传应用,数据在空中发出了但接收节点都没有接收到数据”,没有得到明确的答案,自己努力了一周还是没有通。目前状态 1、组网是成功的:end-devic的_NIB.nwkState状态为NWK_ENDDEVICE,coodinator的_NIB.nwkState状态为NWK_ROUTER。2、双方使用的端点号是相同的,都为GENERICAPP_ENDPOINT (8)。 双方的组网成功后end-devic和coodinator之间用AF_DataRequest()分别向对方短地址发数据,都能在sniffer上抓到有数据包发出,但对方都没有任何事件产生(除了没有开源的mac、nwk等,我在所有的xxx_event_loop()中都加入了打印出event值的语句)。
这里问几个问题希望大神给解答一下:
1,目前是没有进行绑定操作直接通过短地址(给coodinator发用0,给end-devic发用分配到的)调用AF_DataRequest()发数据,是否必须进行绑定操作后才能收发数据?
2,在定义端点时使用zcl_genericapp_data.c中定义好的zclGenericApp_SimpleDesc,其中的zclGenericApp_InClusterList[]和zclGenericApp_OutClusterList[]内容是否必须要修改? 我的理解是关于Cluster的处理都是进入ZDApp_event_loop()之后进行的,而我在发送端调用AF_DataRequest()之后接收端并没有进入ZDApp_event_loop(),所以收发双方关于Cluster的匹配不是影响成功接收的因素,对不对?
3,在已组网成功情况下,除了正确的接收方短地址、正确的地址模式、端点号一致,还有哪些因素会影响接收端成功接收AF_DataRequest()发出的数据包?