Intro to iBeacon and Bluetooth Low Energy

Preview:

DESCRIPTION

FULL VIDEO ON YOUTUBE - https://www.youtube.com/watch?v=wpl1f8f4Vis Speaker: Kurt McIntire, Co-Founder, Vektor Digital @kurtmcintire, @vektordigital iBeacons are small devices that transmit data via Bluetooth Low Energy. iOS devices can detect these signals as well as transmit data as iBeacons. When within range of an iBeacon, events like push notifications and server calls can be triggered inside apps. As mobile marketers and developers, iBeacon technology presents us an incredible opportunity to build sophisticated, proximity based apps for clients and for distribution on the App Store. In this talk, we’ll explore: 1. What are iBeacons and BLE? 2. How to detect iBeacons inside your apps 3. How to make your iOS device act as an iBeacon 4. Potential applications / Apps using iBeacon

Citation preview

Introduction to iBeacon and BLE @KurtMcIntire

#iBeacon @VektorDigital @KurtMcIntire

Source: aim.org

Source: aim.org

Source: starhooks.blogspot.com

Source: starhooks.blogspot.com

Source: starhooks.blogspot.com

three minutes elapse

Source: starhooks.blogspot.com

Overview 1.  What is BLE? 2.  What is iBeacon? 3.  How to detect iBeacons 4.  How make your iOS device an iBeacon 5.  Demos & Real-world Applications

Bluetooth Low Energy Optimized for small bursts of data Impressive battery life  Ideal for sensors

Sensors & Wearables

Photo Sources: ewf.sm, macrumors.com,

cdn.macrumors.com

Joke and Photo Source: Punch Through Design

#iBacon  

Photo Source: Beekn.net

#iBeacon  

UUID B9407F30-

F5F8- 466E- AFF9-

25556B57FE6D

34956

58549 Major

Minor

Photo Sources: QualCom, Estimote, PunchThrough, Roximity

manufacturers  

manufacturers  

Battery Life 2 mo - 2 yr  

Cost ~0 - $99  

Dashboards and Beacon Management Tools  

iBeacon

BLUETOOTH LE SIGNAL

Phones and tablets As iBeacons

250,000,000 Bluetooth low energy

Phones and tablets

1.  User needs your app 2.  User must have app-on (does not need to

be “open”) 3.  User needs Bluetooth BLE compatible

device 4.  User needs Bluetooth on 5.  User must allow you to push messages

Requirements  

You’re not wrong You’re just an asshole

Photo Source: blog.estately.com

The dude says,

Photo Source: blog.estately.com

1.  Don’t spam the s**t out of people 2.  Don’t send repeat messages 3.  Provide value

Photo Source: blog.estately.com

Detect Beacons

Framework #import <CoreLocation/CoreLocation.h>!

Delegate <CLLocationManagerDelegate>!

Set up a

Region

Set up a Region

- (id)initWithProximityUUID:(NSUUID *)proximityUUID major:(CLBeaconMajorValue)major minor:(CLBeaconMinorValue)minor identifier:(NSString *)identifier;!

- (id)initWithProximityUUID:(NSUUID *)proximityUUID identifier:(NSString *)identifier;!

OR

!CLBeaconRegion *beaconRegion!

Set up a Region

static NSString *const kUUID = @"B9407F30-F5F8-466E-AFF9-25556B57FE6D";!!static NSString *const kIdentifier = @"EstimoteBeacon”;!

Location manager CLLocationManager *locationManager!

1. Monitoring 2. Ranging

Monitoring

Inside or Outside Works when phone asleep

Monitoring - (void)locationManager:(CLLocationManager *)manager!

!didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region!

if (state == CLRegionStateInside) {!! !// do something !!}!

else if (state == CLRegionStateOutside) {!! !// do something!!}!

Monitoring

- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region!

- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region!!

Monitoring

App State Distance (ft) Active 50 Asleep 18

Ranging 1 / second Proximity Works when app active

Ranging - (void)locationManager:(CLLocationManager *)manager!!didRangeBeacons:(NSArray *)beacons

inRegion:(CLBeaconRegion *)region!

Ranging

NSArray *detectedBeacons!CLBeacon *closestBeacon!

Closest Beacon _closestBeacon = [_detectedBeacons firstObject];!

Ranging typedef {! CLProximityUnknown,! CLProximityImmediate,! CLProximityNear,! CLProximityFar!} CLProximity;!

Ranging

2014-01-16 14:51:33.611 BeaconDemo[591:60b] (! "CLBeacon (uuid:<__NSConcreteUUID 0x17003c800> B9407F30-F5F8-466E-AFF9-25556B57FE6D, major:34956, minor:46961, proximity:2 +/- 1.20m, rssi:-73)",! "CLBeacon (uuid:<__NSConcreteUUID 0x17003c340> B9407F30-F5F8-466E-AFF9-25556B57FE6D, major:43680, minor:8490, proximity:3 +/- 6.49m, rssi:-86)",! "CLBeacon (uuid:<__NSConcreteUUID 0x17003d360> B9407F30-F5F8-466E-AFF9-25556B57FE6D, major:22222, minor:58549, proximity:3 +/- 8.61m, rssi:-85)"!)!

Ranging

Beacon Proximity RSSI Beacon 1 2 +/- 1.20m -73 Beacon 2 3 +/- 6.49m -86 Beacon 3 3 +/- 8.61m -85

Do Something! - (void)checkProximity {! switch (_closestBeacon.proximity) {!

! ! case CLProximityImmediate:! self.view.backgroundColor = [UIColor redColor];! [self beaconIsImmediate];! break;! case CLProximityNear:! self.view.backgroundColor = [UIColor yellowColor];! break;! case CLProximityFar:! self.view.backgroundColor = [UIColor blueColor];! break;! default:! break;! }!}!

Make your device an iBeacon

Frameworks #import <CoreBluetooth/CoreBluetooth.h>!

Delegate <CBPeripheralManagerDelegate>!

The PlayerS CBPeripheralManager *peripheralManager!

NSDictionary *beaconPeripheralData!

Set up a Region

- (id)initWithProximityUUID:(NSUUID *)proximityUUID major:(CLBeaconMajorValue)major minor:(CLBeaconMinorValue)minor identifier:(NSString *)identifier;!

- (id)initWithProximityUUID:(NSUUID *)proximityUUID identifier:(NSString *)identifier;!

OR

Set up a Region

static NSString *const kUUID = @"DE8F8D67-4914-4B25-A9F2-EE0C624117CE";!!static NSString *const kIdentifier = @”MyiPhone”;!

Advertising

[self.peripheralManager stopAdvertising];!

[self.peripheralManager startAdvertising:beaconPeripheralData];!

Advertising

- (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheralManager!

BEEKN.net Raywenderlich.com HiBeacons App – Github Radius Networks – iBeacon Monitoring in the Background and Foreground

resources

Beer demo

Coupon Redeem with Parse demo

PKPKT

PKPKT

h#p://pkpkt.com/  

Photo Source: insidemobileapps.com

Apple Store ALL 254 Retail Locations

Photo Source: insidemobileapps.com

MLB At the Ballpark

Photo Source: CNET News : MLB tests Apple's iBeacon at Citi Field

NFL Mobile app

Photo Source: nytimes.com

Safeway Stores

Photo Source: idownloadblog.com

What will you make? iBeacon  

@VektorDigital @KurtMcIntire

Recommended