Beacons are simple devices that send one-way BLE signals. These signals can be read by nearby Bluetooth-enabled devices. iBeacon proximity technology is an exciting tool already being used by retailers and developers to build location-aware apps to improve user experience and much more. Most of the discussion about beacons is focused on providing more contextual information for mobile applications. Beacons are not limited to just mobile devices, these can be great to provide context to other devices like digital signage players too.
As the name “beacon” suggests, they only advertise packets of data in regular intervals and this data can then be picked up by devices to obtain some contextual information. The type of Bluetooth connection the beacons utilize is called Bluetooth Low Energy or BLE. This is the same wireless connection you may use for your wireless headphones or a wireless speaker. BLE can have a range of 150 feet or more. Let’s discuss the anatomy of an iBeacon packet.
For an iBeacon with ProximityUUID
0, and calibrated Tx Power of
-59 RSSI, the transmitted BLE advertisement packet looks like this:
This packet can be broken down as follows:
Any BLE device with the required capabilities can be configured to read (or generate) this packet to detect (or act as) an iBeacon. We have used ConnectBlue OBS 421 to add beacon detection capabilities to our digital signage players like so (If you are using node, try out noble instead):
You can then use the RSSI to estimate distance to the beacon. We recommend using a running average of the RSSI instead of the raw RSSI values.
We have used this technique to compute the direction for events inside conference centers based on beacons installed at certain key positions inside the building. Beacons coupled with digital signage players can be used in retail for great contextual information, e.g. showing up a product details when it’s picked up by a customer.