Official Blog of Azilen

The Techie Explorations

iBeacon Basics and Implementation

iBeacon is a low energy Bluetooth device, introduced by Apple with iOS 7. iBeacon is like GPS navigation for indoor locations. It is a wireless sensor device that you can use for location-aware or context-aware into your store. It can also use to send notification of offers or promotions on a mobile device (Ex. You could be walking past a store and receive a discount coupon on your mobile).

Apple introduced iBeacon, a low energy Bluetooth device. iBeacon acts as a transmitter with low-powered devices, which notifies nearby iOS 7 devices of its existence. It is like GPS navigation for indoor locations and wireless sensor devices that can use as location and context aware into the store or shopping malls.

iBeacon can also be used for promotional activities with its Push Notification and send promotional adverts to nearby iOS devices. Currently iBeacon is used in 245 numbers of retail stores & restaurants and which helps to derive more footfalls to their stores.

Another giant venture PayPal recently announced Beacon, which will allow people to make payment on purchase via PayPal. iBeacon is more affordable, and it’s incredible battery efficient with price range from $5 to $33.

As of now iBeacons are not available in many countries including India. But we as a team curious to experiment & test this new technology and to implement with our BOYD food ordering application for broadcasting and receiving purpose.

To do the same we have converted iOS devices to iBeacon and tested with our application and yes we have an achievement. I know you are curious to know how we did this. Below is detailed explanation and code which can help you to create your iBeacon.

First you need to create a dummy UUID for making communication between broadcaster and receiver. You can get it from terminal, just run uuidgen to generate a UUID.

Let’s get started with Beacon broadcaster. Create one single view application into Xcode; name it “Beacon Broadcaster”.

Add “CoreBluetooth” and “CoreLocation” frameworks into project.

Now into “ViewController.h” file, import “CoreBluetooth” and “CoreLocation” frameworks, declare “CLBeaconRegion” and “CBPeripheralManager” objects, add one UILabel outlet to display status, and one NSDictionary to get beacon data. Your “ViewController.h” file will be look like this:

 

Implement delegate method of CBPeripheralManager:

Add one button action for starting broadcasting:

Open storyboard, drag one UIButton and one UILabel, and set label outlet and button action to respective control. Your Beacon broadcaster is ready now.

ibeacon-broadcasting-azilen-technologies

Let’s start implementation of Beacon receiver. Create new single view application into Xcode; name it “Beacon Receiver”. Add “CoreLocation” framework into project.

Into “ViewController.h” file, import “CoreLocation” framework, add one UILbel outlet to display status, add CLBeaconRegion and CLLocationManager objects:

 

Into “ViewController.m” file, initialize CLLocationManager, NSUUID and CLBeaconRegion objects into ViewDidLoad method:

 

Implement CLLocationManager delegates to receive Beacons data:

Open storyboard, drag one label control and set UILabel outlet. Your Beacon receiver is ready now.

First run “Beacon Broadcaster” into one iOS device, turn on Bluetooth and start broadcasting. Then run “Beacon Receiver” into another iOS device. Your receiver device will start receiving data when you put broadcaster device near to it.

ibeacon-azilen-technologies

And yes, that’s work. This is bit easy procedure to convert your iOS devices to iBeacons.

Do share your comments with us.

Leave a reply