Intro: Turn Your Intel Edison in a Beacon
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 ;)
Step 1: 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/AndroidBeacon 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.