SWRA491A September   2015  – October 2016 CC2640 , CC2640R2F , CC2650 , CC2650MODA

 

  1.   Implementing Eddystone™ Bluetooth® Smart Beacons Using the TI BLE-Stack™
    1.     Trademarks
    2. 1 Introduction
    3. 2 Abbreviations
    4. 3 Objective
    5. 4 Project Overview and Prerequisites
    6. 5 Design and Implementation
      1. 5.1 Operation Modes Overview
      2. 5.2 Regular Advertising Mode
        1. 5.2.1 Setting Advertising Parameters
        2. 5.2.2 Populating the Eddystone Frame Payload
      3. 5.3 URL Configuration Mode
        1. 5.3.1 Setting Advertising Parameters
        2. 5.3.2 URL Configuration Service
    7. 6 Test
    8. 7 Summary
    9. 8 References
  2.   Revision History

Introduction

As described in the Bluetooth® low energy Beacons Application Note (SWRA475), a Bluetooth® low energy (BLE) beacon is a device broadcasting a non-connectable advertising packet carrying small pieces of information to nearby devices. Depending on the timing and the information conveyed within the packet, beacons can enable a variety of use cases, including but not limited to proximity awareness, synchronization, identification, or just informing.

Some vendors have defined a protocol or format for how the beacon is implemented in a larger ecosystem. For example, Apple has defined the iBeacon protocol, available under an MFi license, for use with iOS devices.

Eddystone™ is an open beacon protocol specification from Google aimed at improving proximity-based experiences, with support for both Android and iOS smart device platforms. These experiences are implemented by specifying various beacon payload formats, defined as frames-types, as well as a corresponding set of APIs used to access these payloads from the smart device (such as an Android smart phone).

This application note describes how to implement an example Eddystone beacon device using the TI BLE-Stack™ V2.2 SDK on the SimpleLink™ CC2640 Bluetooth Smart wireless MCU. The lower power consumption and wide operating voltage capability make the CC2640 an ideal platform for implementing battery-powered Eddystone beacons.

Although beacons are, by definition, broadcast-only devices, the concept of a connectable beacon will be described. Having the beacon enter a connectable state (technically, switching from the GAP broadcaster to the peripheral role) is desirable for the purposes of provisioning and updating the metadata of the beacon. The Eddystone protocol defines a mode that allows the beacon data to be updated by an authorized client.

The project files and the source code files created or modified for Eddystone Beacon device implementation are available as a GitHub repository, which can be found on the TI BLE Wiki.