Forum Archive

BLE Beacons - Access to Manufacturer Specific Data

duaneellis

This is about BLE (bluetooth low energy) Beacons that transmit vendor specific data as part of a BEACON message

the beacon is NOT connectable, it supports a SCAN operation, but other then that it is a transmit only beacon - you cannot connect to the beacon.

The beacons depending upon "the mode they are in" - transmit a sequence of 6 to 7 different "payloads" of Manufacture specific data - this is not iBeacon and not Eddystone beacons - they are a custom (I wrote the code) beacon that contains manufacture specific data.

Other beacons interleave data types, my beacon is not special

Example (1) https://kontakt.io/blog/introducing-kontakt-ios-packet-interleaving-solution/
Example (2) https://developers.google.com/beacons/eddystone

In fact the idea of using the UUID / MAC address is from Eddystone - it is how eddystone beacons messages are "joined together"

My question: How can I get this data using Pythonista?

There's a stack overflow article here about it: https://stackoverflow.com/questions/22833198/get-advertisement-data-for-ble-in-ios

On that page, search for this sentence: "YES, iOS does not allow you to access the RAW advertisement data."

the data is in this key: CBAdvertisementDataManufacturerDataKey

Apple talks about it here:

https://developer.apple.com/documentation/corebluetooth/cbadvertisementdatamanufacturerdatakey

Where can I find this in the Pythonista API?

An important thing to know is this: The Beacon is NOT connectable,

the other part that is important on that page is this phrase:

This: "if you want that in your App receive a callback notification every advertising packet sent by peripheral to iOS, remember to change the scan option to YES."

That's exactly what I am trying to do, and in that callback - I would capture the MFG specific data as needed.

Thanks.

omz

I'm afraid that reading manufacturer data is currently not possible with the cb module, but as I have a couple of beacons as well, this is something I'll probably look into soon.