Hello I recently purchased an Intel Edison, and i was wondering how I would go about using this device to scan for BLE signals. I would like to see identifiers such as UUID, MAC address, and RSSI if possible. I understand how to perform a low energy scan through linux commands but I would like to do that through a C program using the Edison. Any help would be much appreciated, thank you.
As you may know, you can only retrieve a BLE device's UUID if you have already connected to it, so if what you need is general information from all devices, this will probably be hard to get. Nevertheless, the MAC address and RSSI information can be retrieved without connecting to the devices.
To get the MAC address it is as easy as to use "hcitool lescan". But in order to find the RSSI of the BLE devices you will have to use the command "btmon". Enter the commands in this order:
Now, when the Edison detects a BLE device you should be able to see both the MAC address and the RSSI strength.
In order to retrieve all this information from a script you will have to make http://www.tutorialspoint.com/c_standard_library/c_function_system.htm system calls. So my suggestion would be for you to make a system call that stores all the information you need in a file and then open that file and retrieve the information you need.
By the way if you want to retrieve the UUID from a device, you will have to install GATTTool. You can follow these steps to do so:
tar -xvf bluez-5.24.tar.xz
./configure --disable-systemd --disable-udev
That is very strange; I just tried it on a recently flashed Edison. I followed the steps above and I had no issues. Was the BlueZ package downloaded correctly?
Can you send me a screenshot of the error message?