integrating iBeacons
into your
project
J Carter / Glimworm IT BV
and.. Glimworm Beacons
12th Feb 2014
Appsterdam Lunchtime Lecture
Friday, 14 February 14
Concepts
•Monitoring
•Ranging
•Advertising

Friday, 14 February 14
Monitoring

Friday, 14 February 14
Monitoring
Inside
Inside

Inside
Inside

Friday, 14 February 14

Inside

Inside

Inside
Monitoring

Friday, 14 February 14
Friday, 14 February 14
#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
@interface glimbeaconViewController : UIViewController
<CLLocationManagerDelegate>
@end

Friday, 14 February 14
@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:@"74278bdab644-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
-(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
Inside
Inside

Outside

Inside
Inside

Friday, 14 February 14

Inside

Inside

Inside
Ranging

Friday, 14 February 14
Hyper Local Content
Friday, 14 February 14
Near

Far

low = 5m , default = 50m, high = 100m
Friday, 14 February 14
Friday, 14 February 14
Friday, 14 February 14
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
Topology

Friday, 14 February 14
UUID : “A”
major : 1
minor : 1

UUID : “A”
major : 1
minor : 2

UUID : “A”
major : 2
minor : 1
Friday, 14 February 14

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

UUID : “A”
major : 1
minor : 2

UUID : “A”
major : 2
minor : 1
Friday, 14 February 14

UUID : “A”
major : 1
minor : 3
UUID : “B”
major : 1
UUID : “A”
minor : 1
major : 2
minor : 2
On a Glimworm Beacon you
can set:
UUID: “0000-0000-000-0000”
major : 0 - 63335
minor : 0 - 65535
power : 5m / 50m / 100m
Interval : 100ms, 1.2s , 2.4s
Pincode : 000000

Friday, 14 February 14
Over the air configuration

Friday, 14 February 14
USP

Friday, 14 February 14
USP

Friday, 14 February 14
Android

Friday, 14 February 14
Radius Networks

Friday, 14 February 14
Friday, 14 February 14
Friday, 14 February 14
Friday, 14 February 14
Friday, 14 February 14
Radius Networks

Friday, 14 February 14
It’s the end
of the world
as we know it

Friday, 14 February 14

More Related Content

PPTX
Atmh 3313 electrical technology & circuit
PDF
Node red for sensemakers meetup
PDF
Talk at the Landelijk Architecure Congress (NL)
DOC
Dong dat + gio trong sap9.3,excel
PDF
Ke toan.org giao-trinh-excel-danh-cho-ke-toan
PDF
All about sensing at sensemakers march 2017
PDF
Iot austin june 14th
PDF
J carter presentation follow up event of the Amsterdam iBeacon Living Lab - 2...
Atmh 3313 electrical technology & circuit
Node red for sensemakers meetup
Talk at the Landelijk Architecure Congress (NL)
Dong dat + gio trong sap9.3,excel
Ke toan.org giao-trinh-excel-danh-cho-ke-toan
All about sensing at sensemakers march 2017
Iot austin june 14th
J carter presentation follow up event of the Amsterdam iBeacon Living Lab - 2...

More from Jonathan Carter (8)

PDF
J Carter presentation at Amsterdam Ibeacon Living Lab launch event
PDF
Beacon platforms for appcelerator meetup
PDF
Glimworm beacos i beacon workshop ticonf amsterdam j carter.pdf
PDF
Integrating iBeacons into your appcelerator project using Glimworm Beacons
PDF
The Internet of Things, the Maker movement and a call for a Makers telecom ne...
PDF
Apps 4-antwerp-dec-2012-j-carter-parkshark-and-parkshark-api-antwerp
PDF
Parkshark end of year report 2012
PDF
Presentation appsterdam-lunch-april-2012-beyond-the-competition
J Carter presentation at Amsterdam Ibeacon Living Lab launch event
Beacon platforms for appcelerator meetup
Glimworm beacos i beacon workshop ticonf amsterdam j carter.pdf
Integrating iBeacons into your appcelerator project using Glimworm Beacons
The Internet of Things, the Maker movement and a call for a Makers telecom ne...
Apps 4-antwerp-dec-2012-j-carter-parkshark-and-parkshark-api-antwerp
Parkshark end of year report 2012
Presentation appsterdam-lunch-april-2012-beyond-the-competition
Ad

Recently uploaded (20)

PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
STKI Israel Market Study 2025 version august
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Architecture types and enterprise applications.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
DOCX
search engine optimization ppt fir known well about this
PPTX
Chapter 5: Probability Theory and Statistics
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
Getting Started with Data Integration: FME Form 101
PDF
Five Habits of High-Impact Board Members
Web Crawler for Trend Tracking Gen Z Insights.pptx
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
STKI Israel Market Study 2025 version august
Zenith AI: Advanced Artificial Intelligence
WOOl fibre morphology and structure.pdf for textiles
Architecture types and enterprise applications.pdf
Hindi spoken digit analysis for native and non-native speakers
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Taming the Chaos: How to Turn Unstructured Data into Decisions
Enhancing emotion recognition model for a student engagement use case through...
A contest of sentiment analysis: k-nearest neighbor versus neural network
Developing a website for English-speaking practice to English as a foreign la...
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
search engine optimization ppt fir known well about this
Chapter 5: Probability Theory and Statistics
A novel scalable deep ensemble learning framework for big data classification...
Getting Started with Data Integration: FME Form 101
Five Habits of High-Impact Board Members
Ad

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