What is iBeacons?
This technology uses transmitters and receivers to identify how far is your iOS device from a beacon. Just imagine you are walking through a big library and you get notification on your iOS device as and when yo pass across a section of books. All the details about the section and even a book list which people need to look for usually on racks of books.
This can be used in more ways than just one. An iOS device can be used both as transmitters and receivers. However, a dedicated hardware device that is Bluetooth 4.0 LE enabled can also be used as transmitter. One example of a dedicated hardware is Texas Instruments’ CC2541 sensor tag.
Such hardware is first programmed with a unique UUID. This UUID is then used in the iOS app to make the app act as receiver.
All such hardware can be identified by the appusing this UUID. However, to differentiate the transmitters, there are certain properties that the BLE transmitters have: proximityUUID, major and minor. The proximityUUID property is unique to a company. Say for example, it identifies a library. So all the beacons that are transmitters are identified using this UUID.
There can be many transmitters in a library. Now, when a user enters this library, the iOS app identifies the beacon from its proximityUUID property.
Lets say there are many racks in the library. Each rack may contain a large number of sections of books. Using the major property of the beacon then identifies each of the section. So, if the hardware near rack 10 has the major property set to say 10. So, if now the user reaches nearer to the rack 10, the app identifies the rack using this major property.
The minor property of the beacon identifies a particular beacon. So, say the app user is walking through the rack’s passage and the section of history is near him, the minor value of the beacon say 101 is identified. Thus, on the basis of the combination of these three values viz., proximityUUID, major and minor, the app displays the data.
However, there are other properties also like, accuracy, which is measured in meters. It shows the how much accurate the proximity value is. Still, it should not be used for getting the exact location of the beacon. If the accuracy is a negative value, then it means that the accuracy could not be determined. One other property is proximity, which gives the relative distance from the beacon, i.e. far or near. The rssi property gives the signal strength in decibels.
The iOS SDK has the CLBeacon and CLBeaconRegion class in the CoreLocation.framework which is used to achieve this. For an app, the iOS device should be BLE compatible. The minimum software requirement is iOS 7.0. Compatible devices includes iPhone 4S or greater, iPad3, iPad mini.