Lets turn Intel Edison into an iBeacon! You will need a Mac, an Intel Edison and an iPhone or iPad with the latest iOS to run through this example.
Note: There is a known bug with BlueZ and Bleno, keep an eye on this bug. I have better expanded coverage of a working solution in my other post linked here.
Before we start, we must first thank Fab-Lab.eu for compiling this awesome reference in the Intel community forum. Thanks Fab-Lab.eu for being the best!
Step 1: Install all the things
Assuming you have a current Intel Edison (this guide may be subject to change if new updates are released), perform the following steps:
- Plug both your Micro-USB cables into Edison (which has been snapped into a large Arduino break-out board)
- Open terminal and type: “screen /dev/cu.(TAB to autocomplete your Edison port name) 115200 -L” as per the Intel guides
Now lets turn on BLE (again, quoted from Fab-Lab.eu’s guide linked above):
rfkill unblock bluetooth hciconfig hci0 up vi /etc/opkg/base-feeds.conf (insert only following lines) src/gz all http://repo.opkg.net/edison/repo/all src/gz edison http://repo.opkg.net/edison/repo/edison src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32
Note: “vi” is a barebones text editor which has some confusing syntax. Copy and paste (e.g. vi’s insert mode) the above three lines into the .conf file indicated and then close vi by hitting “Shift + :” (to leave Insert mode) after making the above edit and then typing “wq” and hitting enter to write the change and then quit.
opkg update opkg install bluez5-dev
npm install -g async npm install noble npm install bleno
Once this is done, you should be able to turn Edison into an iBeacon.
Step 2: Set our iBeacon UUID
Print out the contents of “node_modules/bleno/test-ibeacon.js” by running the following command in the terminal:
Look at the following line:
bleno.startAdvertisingIBeacon('e2c56db5dffb48d2b060d0f5a71096e0', 0, 0, -59);
This effectively instructs Bleno to act as a beacon with the included line of numbers and letters as it’s identifier. Now run the following command to start the iBeacon behavior:
You should see this:
Detecting our “Edison” iBeacon
Lets prove to ourselves that our Edison is indeed an iBeacon now by detecting it with our iPhone or iPad. Take a moment and go to the AppStore on your iOS device and download the following app: Locate Beacons.
Note: Make sure you have Bluetooth enabled, the button is located on the “pull up” menu in iOS 8.
When you run “Locate Beacons,” tap the button “Locate iBeacons.” Now you should see an iBeacon with a suspiciously similar UUID (with all caps and “-” characters now) string of numbers and letters as below: