Page 1 of 1

怎么确认一个mesh网络中哪些设备需要打开relay功能

Posted: Fri Mar 25, 2022 7:19 am
by cwq1142173025
idf 版本 4.3.2 server client 均打开 relay 功能
我测试发现 当 server 和 cleient 设备均只有一台的时候 是正常的 当server 设备超过三台的时候 server非常容易打印很多错误信息 并且此时整个mesh网络感觉都有异常了 (如果关闭 relay 则不会有此问题)

我的疑问是 是不是不能整个网络中所有设备都打开relay功能 只能给某些设备打开此功能 如果是 那我应该怎么自动判断哪些设备需要打开relay功能呢 (我们现在所有的设备都有可能会随时移动 所以不能提前设置好 必须要能动态调整)

Re: 怎么确认一个mesh网络中哪些设备需要打开relay功能

Posted: Fri Mar 25, 2022 7:20 am
by cwq1142173025
这是出问题的时候打印的日志


W (455244) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afab
W (455365) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afcc
W (455477) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afd9
W (455522) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afb9
W (455616) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afce
W (455704) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afe0
E (455734) BLE_MESH: Out of relay buffers
E (455854) BLE_MESH: Out of relay buffers
W (455857) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afbf
E (455859) BLE_MESH: Out of relay buffers
E (455860) BLE_MESH: Out of network buffers
E (455875) bls: Failed to send message 0xc102e5
W (455982) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afc7
W (456221) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afd0
W (456261) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afba
W (456265) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afac
W (456446) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afd1
W (456539) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afe1
W (456547) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afdb
W (456733) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afad
W (456752) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afc0
E (456847) BLE_MESH: Out of network buffers
E (456849) bls: Failed to send message 0xc102e5
W (456852) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afc8
E (456854) BLE_MESH: Out of relay buffers
W (456866) BLE_MESH: Replay: src 0x0001 dst 0xc001 seq 0x00afae

Re: 怎么确认一个mesh网络中哪些设备需要打开relay功能

Posted: Fri Mar 25, 2022 10:19 am
by cwq1142173025
我刚刚用vendor例程试了一下 可以用以下方法复现 使用 example -> ble_mesh_vendor 复现 按如下流程复现
1.打开relay
2. 两台以上server 与 client 组网
3.server 同时向 client 设备发送任意数据 发送周期100ms

基于以上操作server很快就会异常了 异常后即使停止发送数据也很难恢复

Re: 怎么确认一个mesh网络中哪些设备需要打开relay功能

Posted: Thu Jul 20, 2023 5:24 pm
by ixtreme3
你好! 我遇到了同样的问题。 你设法解决了吗?

Hello! I faced the same issue. Did you manage to solve it?

Re: 怎么确认一个mesh网络中哪些设备需要打开relay功能

Posted: Tue Jul 25, 2023 10:40 am
by ESP_@In逍遥子
首先需要对 relay 功能有个基本了解。

是否需要 relay 功能取决于网络规模/范围,比如:是否都在一个 RF 的接收范围内。