I have an app written in mincropython sitting on an XBEE LTE/IoT radio. It scans advertisenments from iBeacon enabled devices. I am trying to find any dicumentation to allow me to parse the hex I get back from an advertisement and grab the maximum/minimum values in the package, along with the UUID. If anyone has any examples to get me started or point to a repo with some details that would be great. New to this setup
-
If you can share a sample code snippet you have now along with a log or debugger output showing hex value that you believe is coming from your iBeacon advertisement, it should be easy enough add write code to parse this out.davidgyoung– davidgyoung2025-07-07 22:42:42 +00:00Commented Jul 7 at 22:42
1 Answer
When it is iBeacon, all data is in “Manufacturer Specific Data” of the advertisement. Any library you use will be able to access these bytes. Often first two bytes for the manufacturer itself, rest for the data. You have two tasks, extracting the data and understanding it.
To understand it, monitor existing iBeacons and look at the manufacturer data with a scanner tool like github.com/RT-circuits/ble-tools.
If you “see” the mfg data in tools like that (use the advanced scanner for hex/ascii output), look at the Python code to see how it is “extracted” from the advertisement. It is all relatively straightforward (at the end).