Building apps using Eddystone : Part 2

This is the 2nd part in a 3 part series. In this part we will use an existing demo app to understand how things should look. We see how to emulate an Eddystone beacon using a node package.
You can find the first part here.


Get the hardware

There are quite a lot of getting started hardware development kits out there. Each one has it's pros and cons, and in the long run you'll end up owning multiple such devices. But for the sake of this blog post I am going to focus on using the cheapest or most easily available hardware to try out actual beacons.

If you own one of the recent MacBooks you are in luck as you don't need to buy anything. Go to About this Mac -> System Report -> Hardware -> Bluetooth.
If it says "Bluetooth Low Energy Supported: Yes", you are in luck. 

If your Mac doesn't have support for BLE or you own a Linux machine, I suggest you get a cheap USB dongle. I have used the one from Adafruit and it's great value for money.

Get the software

App

Install the Physical web app from Google for your smartphone.


Node module

Next we will install Don Colemans node-eddystone-beacon package to get started with emulating eddystone beacons from our laptop.

Prerequisites :

  • node/npm : follow the instructions from their official site depending on your platform. 
  • git (optional) : not really required as you can directly download

Getting up and running :

  1. Git clone or download the package zip from GitHub : https://github.com/don/node-eddystone-beacon

    git clone https://github.com/don/node-eddystone-beacon

  2. cd to the directory and install all the dependencies

    cd node-eddystone-beacon; npm install

  3. Once all the dependencies are installed, cd to the url examples directory.

    cd examples/url

  4. We are going to run the simple.js example which will broadcast the url google.com. Make sure that Bluetooth is enabled and run the example as follows

    node simple.js

  5. Open the Physical Web app on your BLE enabled smartphone and you should see Google's url

    This is how it looks on my iOS device : (check the second image in the gallery below)
    This is how it looks like on my BLE enabled Android device : (check the second image in the gallery below)

    In the next post we'll see what are the resources offered by Google and others to build apps around Eddystone