I recently acquired a couple of Raspberry Pis and the CSR Bluetooth 4.0 USB dongles. I've tried all the blogs and tutorials (the best of which are from Radius Networks and Adafruit) but I'm either missing an important behavior behavior or a configuration step.
I'm using Bluez 5.17 compiled from source. My CSR 4.0 BLE dongle also appears to work fine:
$ sudo hciconfig
hci0: Type: BR/EDR Bus: USB
BD Address: 00:1A:7D:DA:71:0F ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:12649 acl:0 sco:0 events:464 errors:0
TX bytes:2658 acl:0 sco:0 commands:124 errors
When I start an lescan I don't see anything. My iPhone 5s has bluetooth enabled.
$ sudo hcitool lescan
LE Scan ...
From my iPhone 5s I launch the "Beacon Toolkit", create a new iBeacon with a random UUID and Activate it. Lots of lescan activity getting picked up.
$ sudo hcitool lescan
LE Scan ...
5E:EE:91:0C:BE:2E (unknown)
5E:EE:91:0C:BE:2E (unknown)
5E:EE:91:0C:BE:2E (unknown)
...
So I decided to try advertising:
$ sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 00 00 00 00 C8 00
< HCI Command: ogf 0x08, ocf 0x0008, plen 32
1E 02 01 1A 1A FF 4C 00 02 15 E2 0A 39 F4 73 F5 4B C4 A1 2F
17 D1 AD 07 A9 61 00 00 00 00 C8 00
> HCI Event: 0x0e plen 4
01 08 20 00
$ sudo hciconfig hci0 leadv 3
I have no clue what I'm supposed to expect at this point. The "Locate iBeacon" app just sits there at the Locate iBeacons view with "Looking for iBeacons...". Nothing happens.
Either way, the entire point of this testing is to see if I can get a RaspberryPi/Linux to detect the proximity of my iPhone 5s to it via BLE.
Is this even possible? All the iBeacon and BLE blogs and tutorials are completely unclear regarding what is actually possible with this technology or the tools they cover. For one, it's not very practical having to run an app constantly in order for proximity to be measured.
How can I get my iPhone 5s to advertise itself without having an app running?
Thanks in advance for any tips. I think there are a couple of us stumbling around, trying to understand how this functionality can be used beyond an in-app scenario.