Transcript
Page 1: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

J Carter / Glimworm IT BVand.. Glimworm Beacons

12th Feb 2014Appsterdam Lunchtime Lecture

integrating iBeaconsinto yourproject

Friday, 14 February 14

Page 2: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Concepts

•Monitoring

•Ranging

•Advertising

Friday, 14 February 14

Page 3: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Monitoring

Friday, 14 February 14

Page 4: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

MonitoringInside

Inside

InsideInside

InsideInsideInside

Friday, 14 February 14

Page 5: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Monitoring

Friday, 14 February 14

Page 6: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Friday, 14 February 14

Page 7: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

#import <UIKit/UIKit.h>#import <CoreLocation/CoreLocation.h>

@interface glimbeaconViewController : UIViewController <CLLocationManagerDelegate>

@end

Friday, 14 February 14

Page 8: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

@implementation glimbeaconViewController{ NSMutableDictionary *_beacons; CLLocationManager *_locationManager; NSMutableArray *_rangedRegions; CLBeaconRegion *_region;

}...

- (void)viewDidLoad{ [super viewDidLoad]; _locationManager = [[CLLocationManager alloc] init]; _locationManager.delegate = self;}

- (void) locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region{

if ([beacons count] > 0) {

// Handle your found beacons here CLBeacon *beacon = [beacons objectAtIndex:0]; NSString *_cnt = [[NSString alloc] initWithFormat:@"Number of beacons is : %lu and the first one is %f away from you",(unsigned long)[beacons count],beacon.accuracy]; NSLog(_cnt); } else { NSLog(@"there are no beacons in range"); }}

-(void)viewDidAppear:(BOOL)animated{ NSUUID *proximityUUID = [[NSUUID alloc] initWithUUIDString:@"74278bda-b644-4520-8f0c-720eaf059935"]; _region = [[CLBeaconRegion alloc] initWithProximityUUID:proximityUUID identifier:@"Glimworm iBeacon"]; [_locationManager startRangingBeaconsInRegion:_region];

}-(void) viewDidDisappear:(BOOL)animated{ [_locationManager stopRangingBeaconsInRegion:_region];

}

Friday, 14 February 14

Page 9: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

-(void)viewDidAppear:(BOOL)animated{ NSUUID *proximityUUID = [[NSUUID alloc] initWithUUIDString:@"74278bda-b644-4520-8f0c-720eaf059935"]; _region = [[CLBeaconRegion alloc] initWithProximityUUID:proximityUUID identifier:@"Glimworm iBeacon"]; [_locationManager startMonitoringForRegion:_region];}

- (void) locationManager:(CLLocationManager *)manager didStartMonitoringForRegion:(CLRegion *)region{ [_locationManager requestStateForRegion:region];}

- (void) locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region{ switch (state) { case CLRegionStateInside: /* it would be smart to start ranging beacons here */ break; case CLRegionStateOutside: case CLRegionStateUnknown: default: /* beacons will typically be on a low refresh */ /* so they will probably flip flop a bit when you are in range */ /* I would advise to stop ranging on a timer */ NSLog(@"Region unknown"); }}

Friday, 14 February 14

Page 10: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Inside

Inside

InsideInside

InsideInsideInside

Outside

Friday, 14 February 14

Page 11: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Ranging

Friday, 14 February 14

Page 12: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Hyper Local ContentFriday, 14 February 14

Page 13: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Near

Far

low = 5m , default = 50m, high = 100mFriday, 14 February 14

Page 14: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Friday, 14 February 14

Page 15: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Friday, 14 February 14

Page 16: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

From Monitoring{

identifier : “......”,regionState : “inside”

}

From Ranging

{beacons : [ {

UUID : “0000-0000-0000-0000”,major : 1,minor : 1,accuracy : 20.4,proximity : ‘near’

},{ ...}]}

Friday, 14 February 14

Page 17: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Topology

Friday, 14 February 14

Page 18: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

UUID : “A”major : 1minor : 1

UUID : “A”major : 1minor : 2

UUID : “A”major : 1minor : 3

UUID : “B”major : 1minor : 1UUID : “A”

major : 2minor : 1

UUID : “A”major : 2minor : 2

Friday, 14 February 14

Page 19: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

UUID : “A”major : 1minor : 1

UUID : “A”major : 1minor : 2

UUID : “A”major : 1minor : 3

UUID : “B”major : 1minor : 1UUID : “A”

major : 2minor : 1

UUID : “A”major : 2minor : 2

Friday, 14 February 14

Page 20: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

On a Glimworm Beacon you can set:

UUID: “0000-0000-000-0000”major : 0 - 63335minor : 0 - 65535power : 5m / 50m / 100mInterval : 100ms, 1.2s , 2.4sPincode : 000000

Friday, 14 February 14

Page 21: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Over the air configuration

Friday, 14 February 14

Page 22: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

USP

Friday, 14 February 14

Page 23: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

USP

Friday, 14 February 14

Page 24: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Android

Friday, 14 February 14

Page 25: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Radius Networks

Friday, 14 February 14

Page 26: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Friday, 14 February 14

Page 27: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Friday, 14 February 14

Page 28: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Friday, 14 February 14

Page 29: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Friday, 14 February 14

Page 30: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

Radius Networks

Friday, 14 February 14

Page 31: Integrating i beacons into your project appsterdam lunchtime lecture 12 feb 2014

It’s the endof the worldas we know it

Friday, 14 February 14


Top Related