STM32F7 Ethernet interface for nucleo STM32F767

Embed: (wiki syntax)

« Back to documentation index

iBeacon Class Reference

iBeacon Service. More...

#include <iBeacon.h>

Data Structures

union  Payload
 iBeacon payload builder. More...

Public Types

typedef const uint8_t LocationUUID_t [16]
 Data buffer of a location UUID.

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.

Detailed Description

iBeacon Service.

Purpose

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 subscribed to a specific region when the area is entered or left. 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.

Positioning

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 locate 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.

Proximity

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:

  • Immediate: The beacon is less than one meter away from the user.
  • Near: The beacon is one to three meters away from the user.
  • Far: The user is not near the beacon; the distance highly depends on the physical environment.

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

Usage

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 licence also grant access to the iBeacons technical specification.

Note:
More information at https://developer.apple.com/ibeacon/Getting-Started-with-iBeacon.pdf

Definition at line 85 of file iBeacon.h.


Member Typedef Documentation

typedef const uint8_t LocationUUID_t[16]

Data buffer of a location UUID.

Definition at line 91 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.

Parameters:
[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 exploitants may use this field to divide the region into subregions, their network into subnetworks.
[in]minNumIdentifier of the Beacon in its subregion.
[in]txPMeasured transmit power of the beacon at 1 meter. Scanners use this parameter to approximate the distance to the beacon.
[in]compIDID of the beacon manufacturer.

Definition at line 201 of file iBeacon.h.