Note: There is a known issue with “bluetoothd” creating it’s own GATT server automatically and blocking Bleno from doing this on Edison. The solution is to kill it or disable it permanently. Otherwise, you will see the service advertised but it will disconnect before you can read any data.
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.
Before we proceed, make sure your Edison is online via Wi-Fi.
opkg update opkg install bluez5-dev
npm install -g async npm install noble npm install bleno
The key to getting Bleno working seems to be this (see the bug linked above):
rfkill unblock bluetooth killall bluetoothd (or, more permanently)systemctl disable bluetooth
hciconfig hci0 up
Once this is done, you should be able to use Edison with Bluetooth LE.