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