How to switch between wifi mesh and BLE
Posted: Wed Jun 22, 2022 3:05 pm
Use case: I want to feed ESP32 chips wifi credentials using BLE and then start a wifi mesh (I presume this will require deactivating BLE mode since wifi mesh and BLE can't operate simultaneously because of a single antenna?), so the root can disseminate data to rest of the wifi mesh chips. But if user transports an already provisioned chip in the vicinity of a new router or existing router password is changed, ESP32 won't be able to connect to the router and wifi mesh will trigger the MESH_NWK_LOOK_FOR_NETWORK event. In such an event, I'd like to move the ESP32 chip back into BLE mode to re-provision it with new/correct wifi ssid/password. Any obvious way to achieve this short of a hard reset on the chip?
My approach was to let the MDF_EVENT_MWIFI_NO_PARENT_FOUND get triggered, at which point I could deactivate the wifi mesh and reactivate the BLE. The only problem I find with this approach is that it takes about 60 network scans before which MDF_EVENT_MWIFI_NO_PARENT_FOUND gets triggered, which is a very long time from an end user's perspective. Any way to reduce the number of scans after which the MDF_EVENT_MWIFI_NO_PARENT_FOUND event gets triggered? Any other suggestions on how to achieve this?
My approach was to let the MDF_EVENT_MWIFI_NO_PARENT_FOUND get triggered, at which point I could deactivate the wifi mesh and reactivate the BLE. The only problem I find with this approach is that it takes about 60 network scans before which MDF_EVENT_MWIFI_NO_PARENT_FOUND gets triggered, which is a very long time from an end user's perspective. Any way to reduce the number of scans after which the MDF_EVENT_MWIFI_NO_PARENT_FOUND event gets triggered? Any other suggestions on how to achieve this?