BLE and Wifi interference?
-
Hi to everyone!
I noticeed a possible issue using, at the same time, BLE and wifi.
Once created a bluetooth object, if services are exposed, i can't make a socket connection, and also the ftp server has communication problem.
Instead if a bluetooth object is created without services no issue is arised.
In the following code i try to create 3 bluetooth services and after that, i try to make a mqtt broker connection.wlan = WLAN() wlan.init(mode = WLAN.STA, antenna = WLAN.EXT_ANT, channel = 11) bt = Bluetooth() id = str(ubinascii.hexlify(machine.unique_id(), ':'), 'utf-8') bt.set_advertisement(name = 'X-DOM - '+id[9:17].upper()) bt.advertise(True) bt.callback(trigger=Bluetooth.CLIENT_CONNECTED | Bluetooth.CLIENT_DISCONNECTED, handler=conn_cb) srv_reset = bt.service(uuid=0x77777777, isprimary=True, nbr_chars=2, start=True) reset = srv_reset.characteristic(uuid = 0x11111111, properties = Bluetooth.PROP_WRITE, value = 0) password = srv_reset.characteristic(uuid = 0x22222222, properties = Bluetooth.PROP_WRITE, value = 0) password.callback(trigger=Bluetooth.CHAR_WRITE_EVENT,handler= func_password) reset.callback(trigger=Bluetooth.CHAR_WRITE_EVENT,handler= func_reset) srv_refresh = bt.service(uuid=0x88888888, isprimary=True, nbr_chars=1, start=True) refresh = srv_refresh.characteristic(uuid = 0x33333333, properties = Bluetooth.PROP_WRITE, value = 0) refresh.callback(trigger=Bluetooth.CHAR_WRITE_EVENT,handler= func_refresh) srv_config = bt.service(uuid=0x99999999, isprimary=True, nbr_chars=4, start=True) ch_nets = srv_config.characteristic(uuid=0x44444444, properties = Bluetooth.PROP_READ, value = 0) ch_nets.callback(trigger=Bluetooth.CHAR_READ_EVENT, handler=func_scanning) net_config = srv_config.characteristic(uuid=0x55555555, properties = Bluetooth.PROP_WRITE, value = 0) net_config.callback(trigger=Bluetooth.CHAR_WRITE_EVENT, handler=func_net_cf) mqtt_config = srv_config.characteristic(uuid=0x66666666, properties = Bluetooth.PROP_WRITE, value = 0) mqtt_config.callback(trigger=Bluetooth.CHAR_WRITE_EVENT, handler=func_mqtt_cf) notify_config = srv_config.characteristic(uuid=0x12345678, properties = Bluetooth.PROP_WRITE, value = 0) notify_config.callback(trigger=Bluetooth.CHAR_WRITE_EVENT, handler=func_notify_cf) client = MQTTClient(CLIENT_ID,server="projectxdom.co.uk",user=uid,password=pwd_mqtt) client.set_callback(sub_cb) if not client.connect(clean_session = True): client.subscribe('/rgbled/color') client.subscribe('PippoBaudo')In the client.connect() the wipy return the error code
OSError: -76Instead the following code works fine
wlan = WLAN() wlan.init(mode = WLAN.STA, antenna = WLAN.EXT_ANT, channel = 11) bt = Bluetooth() id = str(ubinascii.hexlify(machine.unique_id(), ':'), 'utf-8') bt.set_advertisement(name = 'X-DOM - '+id[9:17].upper()) bt.advertise(True) bt.callback(trigger=Bluetooth.CLIENT_CONNECTED | Bluetooth.CLIENT_DISCONNECTED, handler=conn_cb) client = MQTTClient(CLIENT_ID,server="projectxdom.co.uk",user=uid,password=pwd_mqtt) client.set_callback(sub_cb) if not client.connect(clean_session = True): client.subscribe('/rgbled/color') client.subscribe('PippoBaudo')Is it a bug, or my mistake?
Tnx -
@Paco88 I think that the INTERNAL ANTENNA and the EXTERNAL ANTENNA are too close and this can cause an interference.
-
This may be a real problem...
-
@Paco88 Someone like @robert-hh, @jmarcelino or @bucknall maybe know some other motivation
-
Hi @Paco88
WiFi and BLE are on the same antenna and ESP32 controls access via coexistence (hardware or software).
I see that you are explicitly enabling external antenna. What happens if you try with the onboard antenna ?Claudio
-
@duffo64
Hi!
No difference with internal or external antenna. -
Even with an External Antenna the BLE seems to have quite some problems. Sometimes it doesnt find anyhting at all.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login