I’ve been working with the BLE extension off and on for a while now. Last week I started working with beacons, Eddystone TLM and iBeacons. I set up an ESP32 as an iBeacon and was able to detect it’s address using the ScanAdvertisements method in the BLE extension. I then moved on to the Eddystone TLM beacon using the same ESP32 with different code. I was able to detect advertising addresses and then retrieve the advertisement data using the service UUID and device address. This was all working well until yesterday. I tried to add a couple more beacons using additional ESP32 boards and I couldn’t get them to show up in the BLE AdvertiserAddresses list. This was using the same code that was working on the first ESP32. I could consistently continue to retrieve the first ESP32’s address along with a couple of random blue tooth devices nearby, but not the new ones. After trying everything I could think of, I finally powered down the phone, started it back up, and reconnected. After doing that, I can no longer get any addresses to populate in the AdvertiserAddresses list. I’ve since tried with multiple phones and creating new simple apps but the the AdvertiserAddresses list is always empty.
Other apps on the phone, such as NRFConnect, BLE Scanner, and Beacon scanner have no trouble locating the beacons and beacon scanner code running on an ESP32 has no trouble seeing the beacons. The StartScanning method will find the devices addresses. I also tried calling the AdvertisementData method with the service UUID and device address, but that doesn’t work either.
I’m at a loss as to where to go from here.
At it’s simplest, I tried to create an app with the code blocks: