乐鑫技术交流
直播中

golabs

8年用户 882经验值
擅长:可编程逻辑 电源/新能源 MEMS/传感技术 测量仪表
私信 关注
[问答]

请问ESP-mesh如何禁止设备入网?

我尝试用esp_mesh_set_self_organized(flase, false)实现基于mesh/internal_communication例程下的禁止设备入网功能,但发现根节点调用esp_mesh_set_self_organized(flase, false)后,设备仍然能够连接至根节点,如果要在网络建立后禁止新上电的设备入网应该怎么实现呢。
另,我尝试对所有设备设置esp_mesh_set_ap_connections(1),以希望形成链式的网络,但是上电了三个设备会全部连接到根节点,这个是怎么回事呢,这个api是控制下行连接数量的吧。同样设置esp_mesh_set_topology(MESH_TOPO_CHAIN)后,也依然全部连接到根节点,请问怎么设置才能实现链式的网络结构。
                              

回帖(1)

h1654155275.5669

2024-6-21 17:01:00
要禁止新上电的设备入网,您可以采取以下步骤:

1. 在根节点上调用`esp_mesh_set_self_organized(false, false)`,这将禁止根节点自动组织网络。

2. 在根节点上设置最大连接数为1,使用`esp_mesh_set_ap_connections(1)`。这将限制根节点只能连接一个设备。

3. 为每个设备分配一个唯一的标识符,例如设备ID。在设备上电时,设备将尝试连接到根节点。

4. 在根节点上实现一个自定义的认证机制。当新设备尝试连接时,根节点将检查设备的标识符。如果设备已在网络中,则拒绝连接请求。

5. 如果新设备未在网络中,根节点将允许其连接,并更新网络中的设备列表。

关于您提到的三个设备全部连接到根节点的问题,这可能是因为设备之间的连接没有正确地建立。请确保您已经正确设置了设备的连接参数,例如信道、加密方式等。

对于`esp_mesh_set_topology(MESH_TOPO_CHAIN)`,这个API确实是用来设置网络拓扑的。但是,您可能需要在每个设备上都设置这个参数,以确保整个网络遵循链式拓扑。此外,您还需要确保设备之间的连接参数一致,以便它们能够正确地建立连接。

总之,要实现禁止新上电的设备入网,您需要在根节点上实现一个自定义的认证机制,并确保设备之间的连接参数一致。同时,您还需要在每个设备上设置网络拓扑,以确保整个网络遵循链式拓扑。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分