Search code examples
bluetooth-lowenergyeddystonebluegiga

Accessing name (short/full) of an Eddystone beacon


I am using a BLE121LR module to construct an Eddystone beacon. I am aware of the overall BLE related advertisement use cases and advertisement packet format for Eddystone as well. I know Eddystone packet does not contain device (friendly) name.

I have set up the beacon advertisement using API:

ble_cmd_gap_set_mode (gap_user_data, gap_non_connectable);

This configures the beacon to be visible to all BLE observers, but it is not connectable. I have put up a name in Device Name under GAP

This works fine. But I wish to know the device name (beacon name), obviously without connecting, since it is a beacon. (In future I may require to have ability to connect, but thats not the question here).

Questions:

  • Can I access attributes in GAP without connecting to the Eddystone beacon? If Yes, is the Active Scanning a way to do it? (I have tried it, didn't work.)
  • This question is very specific to BLE121LR from Silicon Labs (Previously, BlueGiga Technologies).
    Refer the image below, its a screenshot from the API Reference guide. There is a bit (which sits in a flag called AD Flags, AD is Advertisement Data) called 'gap_ad_type_localname_complete'. This is in the section which has references about commands, responses and events related to Generic Access Profile. Is this the bit/flag that I should be using to enable broadcasting local name of the device? There is no way I could find where to use this flag and with what function API. I have gone through a lot of example codes and the the library which extends these BGLib APIs. I do find there declarations in enum, but I don't see how these are used. The documentation is more or less useless for this matter.

enter image description here


Solution

  • It isn't possible to advertise the name of the beacon since there is no room in the advertising packet. The intent with Eddystone is that the advertised URL is the means of identification. You could try using multiple advertisements. Use a timer to control switching between the Eddystone beacon and another advertisement which does contain the device name.