乐鑫技术交流
直播中

周必镜

8年用户 989经验值
私信 关注
[问答]

使用“espconn_mesh_get_node_info”获取节点父节点或子节点时,它无法正常工作怎么解决?

当我使用 espconn_mesh_get_node_info(MESH_NODE_CHILD) 或 espconn_mesh_get_node_info(MESH_NODE_PARENT) 获取节点父节点或子节点时,它无法正常工作。

我使用 1.3.1 版演示。

有人可以提供一些帮助吗?

多谢。

回帖(1)

发财树

2024-7-12 14:23:10
要解决使用 `espconn_mesh_get_node_info` 获取节点父节点或子节点时无法正常工作的问题,请按照以下步骤操作:

1. 确保您使用的是最新版本的 ESP-MESH 库。您提到的 1.3.1 版本可能存在一些已知问题。请尝试升级到最新版本,例如 1.4.1。

2. 检查您的代码,确保您已经正确初始化了 ESP-MESH 并设置了正确的回调函数。例如:

```c
esp_err_t ret;
esp_mesh_init();
esp_mesh_set_max_layer(2);
esp_mesh_set_node_info(&mesh_node_info);
ret = espconn_mesh_register_sendcb(mesh_send_cb);
```

3. 确保您已经正确地设置了父节点和子节点。在父节点上,您需要调用 `espconn_mesh_add_child` 来添加子节点。在子节点上,您需要调用 `espconn_mesh_set_parent` 来设置父节点。

4. 在调用 `espconn_mesh_get_node_info` 之前,请确保网络已经稳定。您可以使用 `espconn_mesh_get_status` 函数来检查网络状态。

5. 检查您的回调函数 `mesh_send_cb` 是否正确处理了发送和接收的数据。确保您正确地处理了父节点和子节点之间的通信。

6. 如果问题仍然存在,请尝试在调用 `espconn_mesh_get_node_info` 之前添加一些延时,以便给网络一些时间来稳定。例如:

```c
vTaskDelay(1000 / portTICK_PERIOD_MS);
```

7. 如果以上步骤都无法解决问题,请考虑在 ESP-MESH 的 GitHub 仓库提交一个 issue,描述您的问题和相关代码。开发团队可能会提供进一步的帮助。

希望这些建议能帮助您解决问题。祝您好运!
举报

更多回帖

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