BLE Beacon Bluetooth Beacons are hardware transmitters - a class of Bluetooth low energy (LE) devices that broadcast their identifier to nearby portable electronic devices. The technology enables smartphones, tablets and other devices to perform actions when in close proximity to a beacon. Bluetooth Framework includes feature that allows your application to monitor Bluetooth LE Beacons and to advertise as Bluetooth LE Beacon.

Monitoring Bluetooth LE Beacons

There is a class that allows your application to monitor Bluetooth LE devices and capture its advertisement frames. The class can decode the following Bluetooth LE Advertisement frames: iBeacon (Proximity Beacon), Eddystone UID, Eddystone URL, Eddystone TLM and Alt Beacon. Other frames are reported to an application as raw bytes array so application can handle any type of frames.

Bluetooth Framework package includes the Beacons sample application that shows how to monitor Bluetooth LE devices and capture its advertisement frames. The library supports Bluetooth LE Beacons Monitoring feature on Windows 10 and above platforms with Microsoft Bluetooth drivers and on any Windows platforms with BLED112 USB Bluetooth dongle.

Advertising As Bluetooth LE Beacons

Bluetooth Framework includes a class that can switche your application into Bluetooth LE Advertiser mode. The class allows to advertise few predefined advertisements as well as any custom advertisement (there are some restrictions described below).

Supported Advertisement Types

The following advertisement types are reserved and are not allowed:

Data TypeConstant (wclUUIDs}Description
0x00LE_GAP_AD_TYPE_NONEEmpty flags
0x01LE_GAP_AD_TYPE_FLAGSFlags
0x08LE_GAP_AD_TYPE_LOCAL_NAME_SHORTShortened Local Name
0x09LE_GAP_AD_TYPE_LOCAL_NAME_COMPLETEComplete Local Name
0x1BLE_GAP_AD_TYPE_ADDRESSLE Bluetooth Device Address
0x1CLE_GAP_AD_TYPE_ROLELE Role

The following advertisement types are system-reserved and are not allowed if the advertisement is used with Microsoft Bluetooth driver:

Data TypeConstant (wclUUIDs}Description
0x02LE_GAP_AD_TYPE_SERVICES_16_MOREIncomplete List of 16-bit Service UUIDs
0x03LE_GAP_AD_TYPE_SERVICES_16_ALLComplete List of 16-bit Service Class UUIDs
0x04LE_GAP_AD_TYPE_SERVICES_32_MOREIncomplete List of 32-bit Service UUIDs
0x05LE_GAP_AD_TYPE_SERVICES_32_ALLComplete List of 32-bit Service Class UUIDs
0x06LE_GAP_AD_TYPE_SERVICES_128_MOREIncomplete List of 128-bit Service UUIDs
0x07LE_GAP_AD_TYPE_SERVICES_128_ALLComplete List of 128-bit Service Class UUIDs
0x0ALE_GAP_AD_TYPE_TXPOWERTx Power Level
0x0DLE_GAP_AD_TYPE_CODClass of Device
0x0ELE_GAP_AD_TYPE_PAIRING_HASH_CSimple Pairing Hash C192
0x0FLE_GAP_AD_TYPE_PAIRING_RAND_RSimple Pairing Randomizer R192
0x10LE_GAP_AD_TYPE_DEVICE_IDSecurity Manager TK Values
0x11LE_GAP_AD_TYPE_SM_OOB_FLAGSSecurity Manager Out-of-Band Flags
0x12LE_GAP_AD_TYPE_CON_INTERVALSSlave Connection Interval Range
0x17LE_GAP_AD_TYPE_PUBLIC_TARGET_ADDRESSPublic Target Address
0x18LE_GAP_AD_TYPE_RANDOM_TARGET_ADDRESSRandom Target Address
0x19LE_GAP_AD_TYPE_APPEARANCEAppearance
0x1ALE_GAP_AD_TYPE_ADV_INTERVALAdvertising Interval
0x1DLE_GAP_AD_TYPE_PAIRING_HASH_C_256Simple Pairing Hash C256
0x1ELE_GAP_AD_TYPE_PAIRING_RAND_R_256Simple Pairing Randomizer R256
0x3DLE_GAP_AD_TYPE_3D_INFO3D Information Data

Extended Advertisement

If your hardware supports Bluetooth 5 and above Bluetooth Framework allows to enable the Extended Advertisement Format when used with Microsoft Bluetooth drivers on Windows 10 and above. The Extended Advertisement Format can be enabled by settings the UseExtendedAdvertisement property of the Bluetooth LE Advertiser. When this property is set to True the three additional properties are used during advertisement:

  • Anonymous
    If set to True the device address is not included in the advertisement heade.
  • IndlucdeTxRssi
    If set to True the transmit power level is included in the advertisement header.
  • PrefferedTxRssi
    If enabled (to disable set the property's value to -127 requests that the radio use the indicated transmit power level for the advertisement.

If your application enables the Extened Advertisement by setting the UseExtendedAdvertisement property to True but your hardware or OS does not support this feature the WCL_E_BLUETOOTH_LE_EXT_ADV_NOT_SUPPORTED error will be returned when an application starts the advertismeent.

Sample Application

The Bluetooth Framework package includes the Beacons sample application that shows how to enable Bluetooth LE Beacon advertising and monitoring. This feature is supported on Windows 10 and above platforms with Microsoft Bluetooth drivers and on any Windows platforms with BLED112 USB Bluetooth dongle. Should you have any questions please do not hesitate to contact us.

Additional Resources