0

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

Community
  • 1
  • 1
Apollo
  • 8,874
  • 32
  • 104
  • 192

1 Answers1

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