Android Question BeaconParser - Discover iBeacons ...

canalrun

Well-Known Member
Licensed User
Longtime User
Hello,
I'm playing around trying to learn about BLE Smart Tags and Beacons. I am basically using Erel's tutorial and BeaconParser.

[IoT] BeaconParser - Discover iBeacons and Eddystone beacons:
https://www.b4x.com/android/forum/t...iscover-ibeacons-and-eddystone-beacons.61127/

I un-commented the log statements that display the Advertising Keys and Values. I have a Beacon and a Smart Tag that I test with.

For my Beacon I can see the Advertising 0xFF Key and Value from which the BeaconParser extracts information.

For my Smart Tag I can also see the Advertising Keys and Values. I'm wondering how to find the meanings of the values associated with the Smart Tag GAP advertising Keys.

Log Output for the Smart Tag (a nut 2):
B4X:
DeviceFound, Name: nut, Id: D1:29:0E:CA:65:48, RSSI: -53
Keys=Value:
  0x09=6E7574
  0x01=06
  0x03=0318
  0x16=0A18D1290ECA6548
  0x00=04096E75740201060303031809160A18D1290ECA654800000000000000000000000000000000000000000000000000000000000000000000000000000000
Smart Tag: D1:29:0E:CA:65:48

Attempt to decode this information:
B4X:
GAP Type | Definition                                   | Value
0x09      «Complete Local Name»                           6E7574 - nut

0x01      «Flags»                                         06 -
  Bit
  0 LE Limited Discoverable Mode
  1 LE General Discoverable Mode
  2 BR/EDR Not Supported. Bit 37 of LMP Feature Mask Definitions (Page 0)
  3 Simultaneous LE and BR/EDR to Same Device Capable (Controller). Bit 49 of LMP Feature Mask Definitions (Page 0)
  4 Simultaneous LE and BR/EDR to Same Device Capable (Host). Bit 66 of LMP Feature Mask Definitions (Page 1)
  5..7 Reserved
 
0x03      «Complete List of 16-bit Service Class UUIDs»   0318 -

0x16      «Service Data»                                  0A18D1290ECA6548 -

0x00      (have not been able to find the meaning of this Key)

I found the two easy GAP Types, 0x09 and 0x01 :).

I cannot find how to decode the 0x03 and 0x16 GAP Types.

I cannot find mention anywhere of what the 0x00 GAP Type is.

The reason I am looking for this data is because I have used a third-party Smart Tag configuration app from Google Play and they somehow get distance and other useful information from the Smart Tag.

They are getting this information from somewhere in these Keys and Values. I would also like to be able to decode this information.

Can anyone point me in the right direction to learn how to decode the information contained in the Values for these Keys? I'm especially curious what the 0x00 record stands for since I also saw this record type from a friend's Smart Tag. The Value for this record looks like it might have some useful stuff in it.

Thanks,
Barry.
 

Erel

B4X founder
Staff member
Licensed User
Longtime User
Upvote 0
Top