Topic

FAQ
Login Register
802.15.4 SDK 多终端设备发送数据问题
Oct 22, 2023 20:23

/

A

/A

通过上一个帖子 https://developers.telink-semi.cn/topic/2555,我现在可以用原始的SDK从一个终端设备发送数据给一个协调器。

我的目标是多个终端设备都可以发送数据给协调器。 在第一个终端正常发送数据给协调器的基础上,如果我再给一个同样配置的终端设备(除了长地址)上电以后,协调器不再能够从第一个终端设备接收到数据 。但协调器可以从第二个终端接收到数据。重新下电然后上电第一个终端设备,此时协调器会接收到第一个终端设备而不会接收到第二个终端设备。

在以上情况下,协调器和两个终端的poll数据通讯,没有受到影响。两个终端设备都从协调器拿到不同的短地址。


继续查找coordinator的add_key_material,有两部分是由终端设备决定的。
mac_deviceDesc_set(pDevDesc, pan_id, device_addr_short, device_ext_addr, 0, 0);
tl_zbMacAttrSet(MAC_DEVICE_TABLE, (u8 *)pDevDesc, 0);
mac_keyDesc_set(pKeyDesc, &pKeyIDDesc, 1, &pKeyDevDesc, 1, pKeyUsgDesc, 2, test_key);
tl_zbMacAttrSet(MAC_KEY_TABLE, (u8 *)pKeyDesc, 0);
感觉tl_zbMacAttrSet的最后一个参数应该是当前设备的一个index。(程序里默认是0)。试图更改从0到设备的device_index, 结果相同。


同时mac_keyDesc_set(pKeyDesc, &pKeyIDDesc, 1, &pKeyDevDesc, 1, pKeyUsgDesc, 2, test_key); 里面的

keyIDLstLen, keydevLstLen, keyusageLstLen感觉也要做相应的修改。但是,因为没有相应的函数描述,不是特别确定。


麻烦请教一下如何能够实现多个终端设备都发送数据给协调器的稍详细的解释。谢谢。


TL_Soyo Oct 23, 2023 17:03
0
/A

你好,

  发送代码中的SECURITY_LEVEL_ENC_MIC_64改为SECURITY_LEVEL_NONE呢。

7 replies
TL_Soyo Oct 23, 2023 13:57
0
/A

你好,

  目前不支持加密的多对一通信,这周15.4的协议栈会有更新的,可以稍作等待。

cosame@gmail.com [Author] Oct 23, 2023 16:16
0
/A

谢谢回复。请问一下不加密情况下,应该如何配置一对多通信。好像简单的修改

#define ZB_MAC_SECURITY 0

连最简单的通讯都不能够实现。不过没有发现其他的和security相关的配置。


TL_Soyo Oct 23, 2023 17:03
0
/A

你好,

  发送代码中的SECURITY_LEVEL_ENC_MIC_64改为SECURITY_LEVEL_NONE呢。

TL_Soyo Oct 24, 2023 09:35
0
/A

可以关注下公众号呢,企业可以首页联系销售获取FAE的支持。



TL_Soyo Nov 01, 2023 10:32
0
/A

目前已经更新,可以使用加密方式多对一发送数据。

Related topics
No related topics
Author's other topics
No more topics