Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

Beacon Technology

A Comparison Guide
Beacon Technology
A Comparison Guide

Beacon is an exciting technology that enables new location awareness


possibilities for apps. Leveraging Bluetooth Low Energy (BLE), a device with
beacon technology can be used to establish a region around an object. This
allows the mobile device to determine when it has entered or left the region,
along with an estimation of proximity to a beacon. This revolutionary concept
is used in numerous applications for providing messages to the user at
specific point of interest and for indoor positioning systems.

There are three major protocols involved in beacons. They are iBeacon,
Altbeacon and Eddystone.

1
Beacon Technology
A Comparison Guide

iBeacon
Apple’s iBeacon was the first BLE beacon technology to come out, so most
beacons take inspiration from the iBeacon data format. iBeacons are enabled
in several of the Apple SDKs and can be read and broadcast from any
BLE-enabled device. The iBeacon is a proprietary, closed standard. There is a
large ecosystem around iBeacons and a large pool of resources for
developers, but you have to be part of Apple’s developer community.

Protocol Format
iBeacons broadcast four pieces of information:

• A UUID that identifies the beacon.


• A Major number identifying a subset of beacons within a large group.
• A Minor number identifying a specific beacon.
• A TX power level in 2's complement, indicating the signal strength one
meter from the device. This number must be calibrated for each device
by the user or manufacturer.

A scanning application reads the UUID,


major number and minor number and
references them against a database to The TX Power must
get information about the beacon; the be calibrated on a
beacon itself carries no descriptive
beacon-by-beacon
information - it requires this external
database to be useful. The TX power basis by the user
field is used with the measured signal to be accurate.
strength to determine how far away
the beacon is from the smart phone.

2
Beacon Technology
A Comparison Guide
In iOS, the CoreLocation framework handles the discovery, and getting the
major and minor from the iBeacon. It also provides a parameter named
proximity. By checking this value we can understand whether the beacon is in
the immediate, near or far region. This is the only beacon that is handled by
the CoreLocation framework. The rest of the beacons must be handled by the
CoreBluetooth framework.

The iBeacon packet format is as follows:


iBeacon Data
31B

iBeacon Prefix UUID Major Number Minor Number TX Power


9Bytes 16Bytes 2Bytes 2Bytes 1Bytes

Adv Company iBeacon iBeacon


Adv Flags Header ID Type Length
3B 2B 2B 1B 1B
(0×020106) (0×1AFF) (0×004C) (0×02) (0×15)

The iBeacon Prefix contains the hex data : 0x0201061AFF004C0215.


This breaks down as follows:

• 0x020106 defines the advertising packet as BLE General Discoverable


and BR/EDR high-speed incompatible. Effectively it says this is only
broadcasting, not connecting.
• 0x1AFF says the following data is 26 bytes long and is Manufacturer
Specific Data
• 0x004C is Apple’s Bluetooth Sig ID and is the part of this spec that
makes it Apple-dependent.
• 0x02 is a secondary ID that denotes a proximity beacon, which is
used by all iBeacons.
• 0x15 defines the remaining length to be 21 bytes (16+2+2+1).

3
Beacon Technology
A Comparison Guide

The remaining fields are rather self explanatory. The proximity UUID is a
standard 16 byte/128 bit BLE UUID and is typically unique to a company. The
major and minor numbers are used to denote assets within that UUID;
common uses are major numbers being stores (so 65,536 stores possible)
with minor numbers being individual tags within the stores (again 65,536
possible tags per store).

4
Beacon Technology
A Comparison Guide

AltBeacon
The AltBeacon specification defines the format of the advertisement message
that Bluetooth Low Energy proximity beacons broadcast. It is intended to
create an open, competitive market for proximity beacon implementations.
The AltBeacon specification is free for all to implement, with no royalty or fees.
AltBeacon does not favor one vendor over another for any reason other than
the technical standards compliance of a vendor's implementation.

Protocol Format
The AltBeacon advertisement is made up of a 1-byte length field, 1-byte type
field and two-byte company identifier, as prescribed by the Manufacturer
Specific Advertising Data structure format, followed by 24 additional bytes
containing the beacon advertisement data.
BLE Advertising PDU
4 Byte 2 Byte
1 Byte Access 6 Byte 3 Byte 28 Byte 3 Byte
Preamble PDU AdvA AD Flags AltBeacon Advertisement CRC
Address Header

AltBeacon Advertisement
1 Byte 1 Byte 2 Byte 2 Byte 20 Byte 1 Byte 1 Byte
AD Length AD Type MFG ID Beacon Code Beacon ID Ref RSSI MFG RSVD

The advertisement length, advertisement type and beacon code accepts only
values 0x1B, 0xFF and 0xBEAC respectively. Manufacturing ID is the company
code specified by the SIG. The 20 byte beacon ID is the field used for uniquely
identifying the beacon. For interoperability purposes, the first 16+ bytes of
the beacon identifier should be unique to the advertiser's organizational unit.
Any remaining bytes of the beacon identifier may be subdivided as needed
for the use case. Reference RSSI is the average RSSI value received from the
device at 1m distance.

5
Beacon Technology
A Comparison Guide

Eddystone
Just like iBeacon™ is a Bluetooth
4.0 communication protocol Eddystone is an
designed by Apple, Eddystone™ is
open protocol, i.e.,
an open Bluetooth 4.0 protocol
from Google. While iBeacon is
its specification is
officially supported by iOS devices available for
only, Eddystone has official everyone.
support for both iOS and Android.

The advertising packet is naturally different from that of iBeacon. In fact,


Eddystone is designed to support multiple data packet types, starting with
two: Eddystone-UID and Eddystone-URL. There’s a third type of packet:
Eddystone-TLM, as in “telemetry.” This packet is broadcast alongside the
Eddystone-UID or Eddystone-URL packets and contains beacon’s “health
status” (e.g., battery life). This is mainly intended for fleet management, and
because of that, the TLM “service” packet is broadcast less frequently than the
“data” packets.

1. Eddystone-UID
Eddystone-UID contains an identifier of a beacon. It is 16 bytes long and split
into two parts: Namespace and instance.

Namespace (10 bytes) : The purpose of namespace is similar to the use of


UUID in iBeacon. It actually groups a particular set of beacons and it helps to
filter out the required beacons from the surrounding beacons.

Instance (6 bytes) : Similar in purpose to iBeacon’s major and minor numbers,


instance is used to differentiate between the individual beacons.

6
Beacon Technology
A Comparison Guide

2. Eddystone-URL
Eddystone-URL packet contains a single field: URL. The size of the field
depends on the length of the URL. The promise and purpose of the
Eddystone-URL packet ties directly into the concept of Physical Web. Whereas
with iBeacon or Eddystone-UID, there’s a need for an app to take the beacon’s
identifier and translate it into certain actions. With Eddystone-URL, the data is
encoded directly in the beacon’s advertising packet. This means that the user
can access content—usually in form of a website—without the developer
needing to build a native experience.

We can use a Physical Web–enabled browser to detect Eddystone-URL


packets. Currently, that’s Chrome on iOS, Chrome on Android, and Opera on
Android. Alternatively, we can build our own Physical Web browser, or use
Google’s Physical Web scanner app (available on iOS and Android). Also we
can build mobile applications to detect and parse the advertisement packets.

The URL could be a regular web page providing relevant information—e.g., a


beacon next to a movie poster could broadcast a link to a YouTube trailer. It
also could be a dynamic web application, with contextual parameters
embedded in the URL.

3. Eddystone-TLM
Eddystone-TLM packet is designed to be broadcast by the beacon alongside
the “data” packets (i.e., UID and/or URL) for the purposes of fleet management.
Nearby Bluetooth-capable devices can read these packets and relay them to a
fleet management service—like the Estimote Cloud. This service can then
notify the owner of the beacon that, for example., the battery is running out.

7
Beacon Technology
A Comparison Guide

The telemetry packet consists of:

i. battery voltage, which can be used to estimate the battery level of a beacon,
ii. beacon temperature,
iii. number of packets sent since the beacon was last powered-up or rebooted,
iv. beacon uptime, i.e., time since last power-up or reboot.

4. Eddystone-EID
Eddystone-EID packet is designed for security. The Ephemeral ID is seemingly
random and can be resolved by requesting cloud resolver hosted by Google.
Resolved EID will return description and attachments assigned to it using
Google Beacon Proximity API or Google Developer Console.

EID protects you against two kinds of attacks:

Hijacking/Piggybacking - attack where a third party application is using your


infrastructure to deliver content to the users. Eg. One retailer using the
beacon network of the other to deliver their own promotions.

Spoofing - attack where a third party creates a copy of the device used in your
infrastructure to place it in different locations. Eg. Copy of the beacon
originally deployed in a store is placed in a bus.

Eddystone-EID only broadcasts the random identifier, and thus secures you
against both spoofing and hijacking.

8
Beacon Technology
A Comparison Guide

There is an additional configuration mode available for Eddystone. While


Eddystone is in configuration mode, we can connect to the device and edit
some of its settings. A GATT service named Eddystone-URL Configuration
Service is available during configuration mode and this service allows setting
Eddystone-URL fields and transmission characteristics.

This information includes the following:


• Lock code
• URI
• Flags
• Transmit power
• Duty cycle

The lock code acts as a


password for the beacon. This configuration
In order to change the
mode is unique for
beacon settings, first it
must be unlocked using Eddystone. None of the
the correct password. We other beacons, iBeacon
can change the URL, or AltBeacon, has the
beacon period and
transmission power levels
option to connect
while we are in the directly to the device.
configuration mode.

9
Beacon Technology
A Comparison Guide

Make No Mistake: Choose Cabot Solutions


as Your App Development Company

About Cabot Technology Solutions

We build apps for mobility. Partnering with companies, both small and large,
we design and code custom web and mobile applications. As a premier
mobile application development company, our services and technologies are
the foundation of everything we do. We perfect our processes to make apps
you would love using. Yes, nerds, geeks, techies, technologist–that’s us.

We’re proud and passionate about what we do. With offices in the US and
offshore development centers in India, Cabot Technology Solutions serves
clients across the globe. Our expertise as a mobile app development
company spans all major platforms like iOS, Android, Windows and HTML5.

Some of our recent app development works include:


• e-Commerce
• Communications and Social Networking
• e-Publishing and Education & e-Learning
• ERP, CRM & Enterprise Solutions and Productivity
• Medical & Health, including HIPAA compliance
• Music & Audio Streaming and Lifestyle apps

10
Why Cabot
Talent – State-of-the-art software& programming skills
Industry-savvy – In-depth knowledge and command of the latest
technologies
Commitment to quality – QC’s at every stage of the development process
Commitment to service – As you succeed, we will succeed
Cost-effective – As a multinational company, we deliver premium web
development at a very competitive price

Next Steps
Get your app development process started!
Click (or paste into your browser)
http://www.cabotsolutions.com/contact

Prefer the Phone?


(216) 704-8767

Or Trusty Email
sales@cabotsolutions.com

Our website
www.cabotsolutions.com

Cabot Technology Solutions Inc.


675 Alpha Drive
Suite E, Highland Heights
OH 44143
www.cabotsolutions.com
FREE CONSULTATION: (216) 704 8767

You might also like