Is there a way to generate a very low-energy Bluetooth signal from the iPhone so that another device could only detect the signal if it was very close to the emitting device? Perhaps using the iBeacon technology? What is the iBeacon Bluetooth Profile
Asked
Active
Viewed 182 times
1 Answers
1
You can do this using CoreLocation
iBeacons. See this tutorial on how to setup your device as a broadcasting iBeacon. In the devices searching for it you can monitor the RSSI
value to determine how close you are.
As you can see in the tutorial that CoreLocation
gives you CLBeacon
objects of broadcasting devices in the vicity. You can then access their proximity
property if you want Apple defined distances:
typedef {
CLProximityUnknown,
CLProximityImmediate,
CLProximityNear,
CLProximityFar
} CLProximity;

random
- 8,568
- 12
- 50
- 85
-
wow this is a much more informative answer then I was expecting. is there a way to get the exact distance/do you know how close CLProximityImmediate is in meters? – Apollo Jul 08 '14 at 17:38
-
It's based off `RSSI` which is simply signal strength. It can be affected by walls, people, glass, etc. To answer your question there is no way to get the exact distance. – random Jul 08 '14 at 18:01
-
Also, you can't transmit iBeacon packets unless your transmitting app is in the foreground. The receiving app can be triggered from the background though. – Chris Stratton Jul 10 '14 at 15:32