I used command "hcidump -R" to get data package sent by iBeacon, however, the data rate is very slow, and sometimes no data can be received.
Thank you for your help!
As you may know, BLE was designed for low energy and as you may also know low energy sometimes makes it difficult to achieve high data rates. This limitation applies for all BLE devices not only Edison. This limitation is not present in classic Bluetooth devices (2.1-3.0) which include profiles (such as https://developer.bluetooth.org/TechnologyOverview/Pages/SPP.aspx SPP) capable of transmitting large amounts of data.
In fact BLE has half as many channels available as you would get in a classic Bluetooth device and those channels have only one modulation scheme (https://en.wikipedia.org/wiki/Gaussian_frequency-shift_keying GFSK) which allows a much smaller data transfer rate compared to classic Bluetooth.
How fast did you want to receive data? And, how fast are you currently transmitting data to your Edison?
Thank you for your answer! I want to use edison to collect data package sent by Beacon, aiming to locate with the bluetooth signal. In order to locate accurately, the Edison has to collect data as fast as possible.And do you know why sometimes "hcidump" command cannot work? Thank you again.
As I mentioned above high data rates will be hard to achieve because of the BLE limitations. So, do you know exactly how fast you want to receive data?
What exactly do you mean by "…'hcidump' command cannot work…"? Do you mean that it is not seeing any data pass, if so, then maybe that's the case, maybe no data is arriving to the Edison. How far from the Edison is your Beacon placed?
The edison is 2 or 3 meters away from the Beacons.The Beacons are sending data packages all the time. When I type the command "hcidump -R", I can receive the raw data sent by Beacons and the related messages.The time between two raw data is 2-3 seconds, which is too long for location.I need edison to get and forward the data in one second or less, is this possible? Except "hcidump" ,is there other command to receive data? Thank you very much!
Indeed there are other ways to read the data sent by a BLE device. In fact in this document: http://joost.damad.be/2013/08/experiments-with-bluetooth-low-energy.html starlight: Experiments with Bluetooth Low Energy (4.0) under Linux it is explained very well how to interact with a BLE device. I suggest you to check it out; it might be of help in your project.