Hardware Reference
In-Depth Information
works is MacBeacon for OS X, which allows your Mac to function as an iBeacon, saving
your iOS device for testing your iBeacon app.
Ranging
Ranging is the process whereby the iBeacon app running on a receiving device (such as
an iPhone) uses the strength of the received radio signal from a nearby beacon to esti‐
mate the distance between the receiving device and the beacon. The signal strength is
measured in RSSI (received signal strength indication), a number in dBm that is avail‐
able for every peripheral discovered by BLE apps running on iOS devices. In particular,
the RSSI is tracked for every beacon in range of the iOS device running an iBeacon app.
The measured RSSI from a particular beacon varies as the iPhone moves around a room.
In general, the RSSI gets smaller as the distance between the iPhone and the iBeacon
increases.
Beacons also broadcast an RSSI value in the advertising packet. The value of the RSSI
number in this case is fixed and programmed into the beacon during manufacturing.
The RSSI is determined by measuring the beacon's signal strength at a fixed distance of
one meter, typically using an iPhone running special-purpose software. For example,
the Locate for iBeacon app from Radius Networks can be used for this.
The RSSI value is actually stored as a signed eight-bit integer representing dBm units
in the advertising packet, but you don't have to know this or deal with the RSSI being a
logarithmic scale and varying (generally) as the inverse square of the distance from the
beacon to use it as those details are taken care of by iOS. The main purpose of this
calibration is to take care of variation in signal output from beacon to beacon, due to
individual differences in construction and performance of the radio chips.
The iBeacon app compares the measured RSSI to the expected value of the RSSI at one-
meter broadcast in the advertising packet by the beacon to estimate the distance between
the beacon and the iOS device. This method yields a fairly good estimation of the dis‐
tance to a beacon (typically, within less than one meter) if all the beacons are calibrated.
The Core Location service provides classes and methods for ranging using iBeacons, as
demonstrated in the following examples. You will want to use instances of the CLBea
conRegion class and associated methods. With calibrated beacons and LCBeaconRe
gion , you only have to think in terms of actual distance in meters and beacon regions
(circular areas surrounding a particular iBeacon with a radius you set).
For example, you can have the iBeacon app trigger some action relative to an iBeacon
region, such as an alert that tells you when you enter or leave a particular region with a
desired radius from a particular beacon. Methods are also provided to tell the app which
iBeacon is closest, again based on ranging values.
Search WWH ::




Custom Search