BLE unreliable while WiFi is active
Posted: Thu Jun 07, 2018 2:30 pm
Hi
We are currently working on a project that uses a custom BLE protocol to configure out device, including wifi configuration. What I have discovered is that while the BLE protocol works well, it isn't reliable while the wifi driver is enabled. My phone fails to connect about 3/5 times, and disconnects randomly. While the wifi driver is disabled, the BLE works flawlessly.
When the wifi is enabled and connected, there is a single socket connected to an MQTT broker. Very little communication happens over this socket.
Does anyone have any ideas about the potential issue? I have found similar questions, but they seem to suggest that the latest esp-idf (v3.0 I believe) should be capable of this.
Notes:
I stopped the sockets from being opened, so that the Wifi connection is simply idle. The BLE is still unreliable.
The BLE connection is currently not doing anything complicated. There is a single service, with a single characteristic that returns a pre-defined byte when read. Most of it is copied as per the example at https://github.com/espressif/esp-idf/tr ... vice_table
We are currently working on a project that uses a custom BLE protocol to configure out device, including wifi configuration. What I have discovered is that while the BLE protocol works well, it isn't reliable while the wifi driver is enabled. My phone fails to connect about 3/5 times, and disconnects randomly. While the wifi driver is disabled, the BLE works flawlessly.
When the wifi is enabled and connected, there is a single socket connected to an MQTT broker. Very little communication happens over this socket.
Does anyone have any ideas about the potential issue? I have found similar questions, but they seem to suggest that the latest esp-idf (v3.0 I believe) should be capable of this.
Notes:
I stopped the sockets from being opened, so that the Wifi connection is simply idle. The BLE is still unreliable.
The BLE connection is currently not doing anything complicated. There is a single service, with a single characteristic that returns a pre-defined byte when read. Most of it is copied as per the example at https://github.com/espressif/esp-idf/tr ... vice_table