Page 1 of 1

esp_mesh_set_parent 重新连接问题

Posted: Sun Sep 08, 2019 1:47 am
by flyfly20000
esp_mesh_set_parent 函数成功连接后,断开AP,该函数会不断发起重新连接 ,如何设置重新连接次数?

Re: esp_mesh_set_parent 重新连接问题

Posted: Tue Sep 10, 2019 3:39 am
by ESP_Bond
如果你使用自组网方案, ESP-MESH 默认不会重连, 当断开时你需要调用 esp_wifi_scan_start ,获取可以连接的设备重新设置父节点.参见: https://github.com/espressif/esp-idf/tr ... networking
我们推荐你使用自组网的方案进行开发

Re: esp_mesh_set_parent 重新连接问题

Posted: Thu Sep 12, 2019 6:43 am
by flyfly20000
case MESH_EVENT_PARENT_DISCONNECTED:
ESP_LOGI(MESH_TAG,
"<MESH_EVENT_PARENT_DISCONNECTED>reason:%d",
event.info.disconnected.reason);
mesh_disconnected_indicator();
mesh_layer = esp_mesh_get_layer();
if (event.info.disconnected.reason == WIFI_REASON_ASSOC_TOOMANY) {
esp_wifi_scan_stop();
scan_config.show_hidden = 1;
scan_config.scan_type = WIFI_SCAN_TYPE_PASSIVE;
ESP_ERROR_CHECK(esp_wifi_scan_start(&scan_config, 0));
}
break; -----但是我测试 发现 父节点 断开后, 本节点一直重复不断收到这个事件 ,原因是 201 ,这个时候 启动重新扫描要失败,而且实例里面只有event.info.disconnected.reason == WIFI_REASON_ASSOC_TOOMANY 才能 重新扫描?

Re: esp_mesh_set_parent 重新连接问题

Posted: Fri Oct 11, 2019 2:16 pm
by ESP_Bond
1. 201 对应的错误码是 WIFI_REASON_NO_AP_FOUND, 你需要自行加上

Code: Select all

|| event.info.disconnected.reason == WIFI_REASON_NO_AP_FOUND
2. 由于手动组网的方案,组网的过程需要你自己跟据需要来添加, example 中并不包含所有的场景. 我们还是推荐你使用自组网的方案,如果自组网方案不能满足你的需要请提出? 自组网方案参见: https://github.com/espressif/esp-mdf