Introduction: How to Create an Eddystone Beacon Using DragonBoard

About: Product Development Specialist at Das Coisas

In this tutorial you will learn how to configure DragonBoard to act as an Eddystone beacon.

DragonBoard comes with bluez installed and has bluetooth comunication embbeded , so, you dont have to download, install or buy anything to start.

The Eddystone-URL frame broadcasts a URL using a compressed encoding format in order to fit more within the limited advertisement packet.

Once decoded, the URL can be used by any client with access to the internet. For example, if an Eddystone-URL beacon were to broadcast the URL https://dascoisas.net, then any client that received this packet could choose to visit that url.

Step 1: Configure Bluetooth

Run the following commands:

  • $ sudo hciconfig hci0 up
  • $ sudo hciconfig hci0 leadv 3

Enter the Beacon Advertising Data:

  • $ sudo hcitool -i hci0 cmd 0x08 0x0008 15 02 01 06 03 03 aa fe 0d 16 aa fe 10 00 03 67 6f 6f 67 6c 65 07 00 00 00 00 00 00 00 00 00 00

The meaning of each byte is discribed bellow:

  • 15 - Number of bytes in message
  • 02 - Bytes that follow in first AD structure
  • 01 - Flags AD type
  • 06 - Flags Value
  • 03 - Bytes that follow in second AD structure
  • 03 - Complete list of 16-bit Service UUIDs data type value
  • aa - 16-bit Eddystone UUID
  • fe - 16-bit Eddystone UUID
  • 0d- Bytes that follow in third AD structure
  • 16 - Service Data data type value
  • aa - 16-bit Eddystone UUID
  • fe - 16-bit Eddystone UUID
  • 10 - Frame Type = URL
  • 00 - TX Power
  • 03 - https://
  • 67 - 'g'
  • 6f - 'o'
  • 6f - 'o'
  • 67 - 'g'
  • 6c - 'l'
  • 65 - 'e'
  • 07 - .com
  • 00
  • 00
  • 00
  • 00
  • 00
  • 00
  • 00
  • 00
  • 00
  • 00

Ok, now you can access the link transmitted by DragonBoard in Physical Web apps, like Chrome!