Welcome!
This is the community forum for my apps Pythonista and Editorial.
For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.
BLE Beacons - Access to Manufacturer Specific Data
-
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/eddystoneIn 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.
-
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.