Mistake on this page?
Report an issue in GitHub or email us
Public Member Functions
iBeacon Class Reference

iBeacon Service. More...

#include <iBeacon.h>

Public Member Functions

 iBeacon (BLE &_ble, LocationUUID_t uuid, uint16_t majNum, uint16_t minNum, uint8_t txP=0xC8, uint16_t compID=0x004C)
 Construct an iBeacon::Payload and register it into Gap. More...

Detailed Description

iBeacon Service.


iBeacons are Bluetooth Low Energy (BLE) devices advertising an identification number generally used to determine the location of devices or physical objects near a mobile phone user.

iOS scans for iBeacon devices in a background task and notifies apps that subscribe to a specific region when a device enters or leaves an area. Apps may use this information to display context-aware content to users.

As an example, a museum can deploy an app that informs the user when one of its exhibitions is entered and then displays specific information about exposed pieces of art when the user is sufficiently close to them.


Location information is hierarchically structured. A UUID specific to the application and its deployment is used to identify a region. That region usually identifies an organization. The region is divided into subregions identified by a major ID. The subregion contains related points of interest which a minor ID distinguishes.

As an example, a city willing to improve tourist's experience can deploy a fleet of iBeacons in relevant touristic locations it operates. The UUID may identify a place managed by the city. The major ID would identify the place; it can be a museum, a historic monument, a metro station and so on. The minor ID would identify a specific spot within a specific city place. It can be a piece of art, a ticket dispenser or a relevant point of interest.

Each iBeacon device is physically attached to the spot it locates and advertises the triplet UUID, major ID and minor ID.


The beacon advertises the signal strength measured by an iOS device at a distance of one meter. iOS uses this information to approximate the proximity to a given beacon:

Ideally, beacons should be calibrated at their deployment location because the surrounding environment affects the strength of the advertised signal.


Mbed OS applications can use this class to configure a device to broadcast advertising packets mimicking an iBeacon. The construction automatically creates the payload identifying the beacon and registers it as part of the advertising payload of the device.

Beacon configuration and advertising commencement is left to the user.

If you are interested in manufacturing iBeacons, you must obtain a license from Apple. More information at https://developer.apple.com/ibeacon/. The license also grant access to the iBeacons technical specification.
More information at https://developer.apple.com/ibeacon/Getting-Started-with-iBeacon.pdf
This service is deprecated, and no replacement is currently available.

Definition at line 93 of file iBeacon.h.

Constructor & Destructor Documentation

iBeacon ( BLE _ble,
LocationUUID_t  uuid,
uint16_t  majNum,
uint16_t  minNum,
uint8_t  txP = 0xC8,
uint16_t  compID = 0x004C 

Construct an iBeacon::Payload and register it into Gap.

[in]_bleThe BLE interface to configure with the iBeacon payload.
[in]uuidBeacon network ID. iBeacon operators use this value to group their iBeacons into a single network, a single region, and identify their organization among others.
[in]majNumBeacon major group ID. iBeacon fleet operators may use this field to divide the region into subregions, and their network into subnetworks.
[in]minNumIdentifier of the Beacon in its subregion.
[in]txPMeasured transmit power of the beacon at distance of one meter. Scanners use this parameter to approximate the distance to the beacon.
[in]compIDID of the beacon manufacturer.
This service is deprecated, and no replacement is currently available.

Definition at line 215 of file iBeacon.h.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.