I recently purchased 6 UWB beacons for a small project and I’m having problems with identifying them on iOS.
I am using Flutter and I’ve been using the MAC address so far to identify the beacons and it was working fine, except on iOS.
Now, I would to configure these beacons to be used with iBeacon packet advertisement. I have an older Estimote beacon that can be configured with the Estimote application but these new UWB beacons are not shown in my iPhone 12 Pro.
The Estimote UWB application only serves as a way to “find” the beacons, but not configure them.
How can I configure these new beacons? Would hate if this meant that I wasted 200 dollars.
So I found a solution.
Turns out the beacons emit a packet with a UUID
fe9a. After that, just extract the bytes from the service packet, except for the first and last byte, transform each byte into a padded hex string and join them.
I couldn’t find any information regarding the specification of this packet anywhere for the new UWB beacons. Shouldn’t this be written up somewhere?
if you use them for UWB direction finding, then the estimote sdk will provide a persistent unique ID for each beacon, which matches the ID on the estimote cloud for these beacons.
there is no configuration support. you can use the estimote cloud to add ‘tags’ for additional info , but of course you have to be cloud attached to extract that data.
I didn’t intend on using anything related to UWB because I need to support various types of devices, some amongst that do not support UWB at all.
I was using this for an approximation of device positioning based on triangulation from the signal received from multiple beacons. The MAC address approach was working fine for Android but obviously this doesn’t work on iOS.
I didn’t want to use the SDK because:
- From what I’ve seen, the current SDK does not support the UWB beacons, you need to request the SDK through email.
- I need to support devices without UWB.
- The SDK is for native only, and I have this applicaiton written in Flutter.
The telemetry service packet approach is working fine to identify the newer beacons.
Nonetheless, thanks for your input.
approximation of device positioning based on triangulation from the signal received from multiple beacons.
good luck with that, it is SO sensitive to environmental attributes, signal reflection, radio interference,
multiple radio signal collision,
never could make it work.
you probably wanted the proximity beacons, not UWB.
but that is a whole ecosystem to make it work too…
my app is written in Ionic, and I built plugins to talk to the sdk functions.