Turn Your Intel Edison in a Beacon

by lealvitor in Circuits > Wireless

2470 Views, 10 Favorites, 0 Comments

Turn Your Intel Edison in a Beacon

beacons.jpg

First we need to turn on the Bluetooth module in the Intel Edison.

If you run the command hciconfig command and you can't find the module, just restart your Bluetooth module.

Run the command:

$ rfkill unblock bluetooth

Now if you run the command hciconfig you should see something like:

root@edison:~# hciconfig
hci0:   Type: BR/EDR  Bus: UART
        BD Address: 98:4F:EE:03:FF:19  ACL MTU: 1021:8  SCO MTU: 64:1
        UP RUNNING PSCAN 
        RX bytes:661 acl:0 sco:0 events:38 errors:0
        TX bytes:1472 acl:0 sco:0 commands:38 errors:0

Then you can turn the Bluetooth device hci0 up.

$ hciconfig hci0 up

Now you are good to go to find and connect to Bluetooth and Bluetooth Low Energy devices, or act as a Beacon ;)

Let's Make the Intel Edison Act As a Beacon

I will use Node.js to accomplish that.

The best module to do so is Bleno, it's really simple to create a Beacon peripheral with it.

First you need to create a file, let's call it index.js.


$ touch index.js

Then let's install the Bleno module using NPM


npm install bleno

Now we can edit the index.js file and put the content in.

var bleno = require('bleno'),
    uuid = 'e2c56db5dffb48d2b060d0f5a71096e0',
    major = 1,
    minor = 1,
    measuredPower = -59;


bleno.startAdvertisingIBeacon(uuid, major, minor, measuredPower);

That's all the code you need to make and Intel Edison act as a Beacon. Now you can run the code and use an iPhone/Android Beacon Reader App to search for the UUID (e2c56db5dffb48d2b060d0f5a71096e0) that we gave to our Edison Beacon.

$ node index.js

If you need more information about the Beacon's protocol you can find it in iBeacon Developer Page.