SlideShare une entreprise Scribd logo
1  sur  65
Télécharger pour lire hors ligne
Indoor Location in Mobile Applications using iBeacons
-- Simon Guest, Distinguished Engineer. Neudesic, LLC
GPS IS GREAT!
WHEN YOU ARE OUTDOORS
INDOOR LOCATION IS A DIFFERENT STORY
ISSUES
▸ GPS signal rarely works indoors
▸ When it does, it's often inaccurate
▸ No concept of indoor space, such as multiple floors
MANY COMPANIES HAVE TRIED TO SOLVE THIS!
WIFI SOLUTIONS
NFC BASED SOLUTIONS
MAGNETOMETER
LESS THAN IDEAL RESULTS
▸ Expensive
▸ Custom
▸ Too heavy on power
▸ Unpredictable requirements (e.g. WiFi)
▸ Don't run in background
DEMOCRATIZATION
IBEACONS
GOAL OF THIS SESSION
▸ What are iBeacons?
▸ Developing iOS and Android applications
▸ Pushing the boundaries
Indoor location in mobile applications using iBeacons
CLASSIC
BLUETOOTH LOW ENERGY (BLE)
BLUETOOTH LE/SMART
▸ Designed for low power
consumption
▸ Secure, simple pairing
w/ multiple profiles
▸ Wide range of hardware
vendor support
HOW DOES IBEACON RELATE?
IBEACON SPECIFICATION
▸ Apple Specification and Trademark on using Bluetooth
LE/Smart for indoor proximity
▸ Similar to a Bluetooth profile, except Apple are driving it
▸ Implementing specification is free, subject to Apple
NDA
REDBEAR BEACON
▸ RedBear BLE Mini
▸ TI CC2540
▸ 5v USB or 3.4v cell
battery input
▸ Around $30 USD
HOW DO IBEACONS WORK?
IBEACONS IN USE
▸ iBeacon broadcasts
signal using a UUID
▸ UUID is unique to a
group of iBeacons, not
an individual
IBEACONS IN USE
▸ Beacon identifies itself
in the group using a
Major and Minor number
▸ For example, Major: 1,
Minor 2
IBEACONS IN USE
▸ Devices can find
iBeacons nearby that
match a particular UUID
▸ This is known as
ranging for beacons
IBEACONS IN USE
▸ Once found, device can
detemine power level of
signal from the beacon
▸ Which in turn can
approximate the
distance
IBEACONS IN USE
▸ Three enumerated
ranges supported in the
specification
▸ IMMEDIATE, NEAR, and
FAR
EXAMPLE SCENARIOS
RETAIL STORE: PRODUCT PROMOTION AND LOCATION
EDUCATION: MUSEUM INFORMATION SYSTEM
OIL & GAS: PERSONNEL SAFETY SYSTEM
REAL ESTATE: OPEN HOUSE WALKTHROUGH
REMEMBER, IBEACONS ARE NOT SMART!
REMEMBER, IBEACONS ARE NOT SMART!
▸ No network connectivity
▸ No concept of devices that have discovered them
▸ No storage or additional information beyond UUID,
Major, Minor
DEVICE COMPATIBILITY
DEVICE COMPATIBILITY
▸ iPhone 4S / iPad 3 and upwards, running iOS 7+
▸ Android 4.3 and upwards, running Linux Kernel 3.4+
▸ Macs with Bluetooth 4 hardware, running Mavericks
▸ Hardware vendors
-- Radius, Redbear, Estimote, and others
DEVELOPING APPLICATIONS THAT SUPPORT IBEACONS
IOS
▸ Support for iBeacons in CoreLocation in iOS 7.x
▸ Create new CLBeaconRegion using UUID
▸ DidRangeBeacons event used to detect nearby beacons
▸ Returns array of beacons
IOS (XAMARIN)
private CLLocationManager locationManager;
private NSUuid beaconUUID = new NSUuid ("E2C56DB5-DFFB-48D2-B060-D0F5A71096E0");
private CLBeaconRegion beaconRegion;
public void StartListeningForBeacons ()
{
beaconRegion = new CLBeaconRegion (beaconUUID, "0");
locationManager = new CLLocationManager ();
locationManager.DidRangeBeacons += (object sender, CLRegionBeaconsRangedEventArgs args) => {
// args.Beacons contains the array of found beacons
};
locationManager.StartRangingBeacons (beaconRegion);
locationManager.StartUpdatingLocation ();
}
ANDROID
▸ Apple does not provide iBeacon SDK for Android
▸ Radius Networks open sourced SDK
▸ Extend Activity with IBeaconConsumer
▸ OnIBeaconServiceConnect and RangingBeaconsInRegion
ANDROID (XAMARIN)
private readonly IBeaconManager iBeaconManager;
private readonly Region monitoringRegion;
private readonly Region rangingRegion;
private const string UUID = "e2c56db5dffb48d2b060d0f5a71096e0";
public MainActivity ()
{
iBeaconManager = IBeaconManager.GetInstanceForApplication (this);
monitorNotifier = new MonitorNotifier ();
rangeNotifier = new RangeNotifier ();
monitoringRegion = new Region ("r2MonitoringUniqueId", UUID, null, null);
rangingRegion = new Region ("r2RangingUniqueId", UUID, null, null);
}
ANDROID (XAMARIN)
public void OnIBeaconServiceConnect ()
{
iBeaconManager.SetMonitorNotifier (monitorNotifier);
iBeaconManager.SetRangeNotifier (rangeNotifier);
iBeaconManager.StartMonitoringBeaconsInRegion (monitoringRegion);
iBeaconManager.StartRangingBeaconsInRegion (rangingRegion);
}
private void RangingBeaconsInRegion (object sender, RangeEventArgs e)
{
// beacons returned in e.Beacons
}
DEMO
WHAT DID WE SEE?
▸ Simple application using CLLocationManager to range
for beacons
▸ Relatively accurate line-of-sight proximity detection
▸ Enumerated proximity levels
BEYOND THE BASICS
RUNNING IBEACONS IN THE BACKGROUND
BACKGROUND DETECTION IN IOS
▸ Made possible by iOS 7.1!
▸ Invoke ranging for beacons from AppDelegate (not
ViewController)
▸ Beacon ranging will persist background and even work
when device is locked/standby
BACKGROUND DETECTION IN ANDROID
▸ Default as Radius SDK actually runs as a service
▸ Developer chooses how to handle OnResume, OnPause
events, and invoking application/service on updates
▸ Should consider own service to handle background
notifications
BACKGROUND TIPS
▸ Keeping BLE enabled and ranging will have some effect
on battery
▸ Consider adding sleep time if running in background
▸ Don't make expensive calls (e.g. networking,
computation) on each ranging
DEMO
BETTER ACCURACY OF INDOOR LOCATION
Indoor location in mobile applications using iBeacons
Indoor location in mobile applications using iBeacons
Indoor location in mobile applications using iBeacons
TRILATERATION
TRILATERATION
▸ Similar in concept to triangulation except uses distance
vs. angles
▸ Requires minimum of three beacons
▸ Assuming accurate power signals, can calculate more
accurate position
DEMO
WHAT DID WE SEE?
▸ Position of 3+ beacons sent to NodeJS server
▸ NodeJS server uses cartersian coords to work out
position, broadcast via WebSockets
▸ HTML5 page responds to WebSockets and plots position
on canvas
NOT PERFECT...
NOT PERFECT...
▸ Walls or line-of-sight obstructions will decrease
observed power range, and lead to inaccurate results
▸ But an array of iBeacons in an open area (e.g. retail
store) should provide 1-2m accuracy
WRAPPING UP
IBEACONS
IBEACONS
▸ Apple standard, but supported well on most (latest)
mobile devices
▸ Mix of hardware and software options, easy to develop
▸ Opening up wide opportunity of indoor location
scenarios to any developer at a relatively low cost point
THANK YOU!
Q&A
▸ Simon Guest, Distinguished Engineer, Neudesic LLC
▸ simonguest.com (@simonguest)
▸ http://github.com/simonguest/gids
▸ http://slideshare.net/simonguest
-- http://
www.amazon.com/File-
New-Presentation-
Developers-Professionals/
dp/0615910459

Contenu connexe

Tendances

Zikit Review on iBeacon Technology (1st Israeli iBeacon Hackathon)
Zikit Review on iBeacon Technology (1st Israeli iBeacon Hackathon)Zikit Review on iBeacon Technology (1st Israeli iBeacon Hackathon)
Zikit Review on iBeacon Technology (1st Israeli iBeacon Hackathon)Idan Meir
 
Smart surveillance monitoring system using raspberry pi and
Smart surveillance monitoring system using raspberry pi andSmart surveillance monitoring system using raspberry pi and
Smart surveillance monitoring system using raspberry pi andJEEVA ARAVINTH
 
IRJET- Smart Mirror using Voice Interface
IRJET- Smart Mirror using Voice InterfaceIRJET- Smart Mirror using Voice Interface
IRJET- Smart Mirror using Voice InterfaceIRJET Journal
 
Building the world’s biggest iBeacon living lab with WSO2
Building the world’s biggest iBeacon living lab with WSO2Building the world’s biggest iBeacon living lab with WSO2
Building the world’s biggest iBeacon living lab with WSO2Yenlo
 
seminar presentation on Digital Jwellery
seminar presentation on Digital Jwelleryseminar presentation on Digital Jwellery
seminar presentation on Digital JwelleryJawhar Ali
 
EB IoT Device Platform
EB IoT Device PlatformEB IoT Device Platform
EB IoT Device PlatformIvaylo Tomov
 
Trifork iBeacon Demo Lunch Talk
Trifork iBeacon Demo Lunch TalkTrifork iBeacon Demo Lunch Talk
Trifork iBeacon Demo Lunch TalkChristian Melchior
 
10 industries that will be disrupted by iBeacons in 2015
10 industries that will be disrupted by iBeacons in 201510 industries that will be disrupted by iBeacons in 2015
10 industries that will be disrupted by iBeacons in 2015Lukasz Felsztukier
 
iBeacon and Bluetooth LE: An Introduction
iBeacon and Bluetooth LE: An Introduction iBeacon and Bluetooth LE: An Introduction
iBeacon and Bluetooth LE: An Introduction Doug Thompson
 
Mobile + Cloud + IoT - Case Study
Mobile + Cloud + IoT - Case StudyMobile + Cloud + IoT - Case Study
Mobile + Cloud + IoT - Case StudyAndri Yadi
 
iBeacon and IoT: Where We're At, Where We're Going
iBeacon and IoT: Where We're At, Where We're GoingiBeacon and IoT: Where We're At, Where We're Going
iBeacon and IoT: Where We're At, Where We're GoingDoug Thompson
 
TechRadar#32 ibeacon
TechRadar#32 ibeaconTechRadar#32 ibeacon
TechRadar#32 ibeaconFan Jiang
 
IoT for Agriculture in a Nutshell: Technical Perspective
IoT for Agriculture in a Nutshell: Technical PerspectiveIoT for Agriculture in a Nutshell: Technical Perspective
IoT for Agriculture in a Nutshell: Technical PerspectiveAndri Yadi
 
iBeacon security overview
iBeacon security overviewiBeacon security overview
iBeacon security overviewLocalz
 

Tendances (20)

5 pen pc technology
5 pen pc technology5 pen pc technology
5 pen pc technology
 
Ring mode2
Ring mode2Ring mode2
Ring mode2
 
Zikit Review on iBeacon Technology (1st Israeli iBeacon Hackathon)
Zikit Review on iBeacon Technology (1st Israeli iBeacon Hackathon)Zikit Review on iBeacon Technology (1st Israeli iBeacon Hackathon)
Zikit Review on iBeacon Technology (1st Israeli iBeacon Hackathon)
 
Smart surveillance monitoring system using raspberry pi and
Smart surveillance monitoring system using raspberry pi andSmart surveillance monitoring system using raspberry pi and
Smart surveillance monitoring system using raspberry pi and
 
Ibeacon
IbeaconIbeacon
Ibeacon
 
IRJET- Smart Mirror using Voice Interface
IRJET- Smart Mirror using Voice InterfaceIRJET- Smart Mirror using Voice Interface
IRJET- Smart Mirror using Voice Interface
 
Building the world’s biggest iBeacon living lab with WSO2
Building the world’s biggest iBeacon living lab with WSO2Building the world’s biggest iBeacon living lab with WSO2
Building the world’s biggest iBeacon living lab with WSO2
 
seminar presentation on Digital Jwellery
seminar presentation on Digital Jwelleryseminar presentation on Digital Jwellery
seminar presentation on Digital Jwellery
 
EB IoT Device Platform
EB IoT Device PlatformEB IoT Device Platform
EB IoT Device Platform
 
Trifork iBeacon Demo Lunch Talk
Trifork iBeacon Demo Lunch TalkTrifork iBeacon Demo Lunch Talk
Trifork iBeacon Demo Lunch Talk
 
Nfc
NfcNfc
Nfc
 
10 industries that will be disrupted by iBeacons in 2015
10 industries that will be disrupted by iBeacons in 201510 industries that will be disrupted by iBeacons in 2015
10 industries that will be disrupted by iBeacons in 2015
 
iBeacon and Bluetooth LE: An Introduction
iBeacon and Bluetooth LE: An Introduction iBeacon and Bluetooth LE: An Introduction
iBeacon and Bluetooth LE: An Introduction
 
0609 products
0609 products0609 products
0609 products
 
Mobile + Cloud + IoT - Case Study
Mobile + Cloud + IoT - Case StudyMobile + Cloud + IoT - Case Study
Mobile + Cloud + IoT - Case Study
 
iBeacon and IoT: Where We're At, Where We're Going
iBeacon and IoT: Where We're At, Where We're GoingiBeacon and IoT: Where We're At, Where We're Going
iBeacon and IoT: Where We're At, Where We're Going
 
Digital jewellery
Digital jewelleryDigital jewellery
Digital jewellery
 
TechRadar#32 ibeacon
TechRadar#32 ibeaconTechRadar#32 ibeacon
TechRadar#32 ibeacon
 
IoT for Agriculture in a Nutshell: Technical Perspective
IoT for Agriculture in a Nutshell: Technical PerspectiveIoT for Agriculture in a Nutshell: Technical Perspective
IoT for Agriculture in a Nutshell: Technical Perspective
 
iBeacon security overview
iBeacon security overviewiBeacon security overview
iBeacon security overview
 

Similaire à Indoor location in mobile applications using iBeacons

Developing context aware applications with iBeacons technology
Developing context aware applications with iBeacons technologyDeveloping context aware applications with iBeacons technology
Developing context aware applications with iBeacons technologySuresh Balla
 
AWS & Intel: A Partnership Dedicated to Cloud Innovations
AWS & Intel: A Partnership Dedicated to Cloud InnovationsAWS & Intel: A Partnership Dedicated to Cloud Innovations
AWS & Intel: A Partnership Dedicated to Cloud InnovationsAmazon Web Services
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentationDroidcon Berlin
 
High Precision GPS Positioning for Spring Developers
High Precision GPS Positioning for Spring DevelopersHigh Precision GPS Positioning for Spring Developers
High Precision GPS Positioning for Spring DevelopersGunnar Hillert
 
High-Precision GPS Positioning for Spring Developers
High-Precision GPS Positioning for Spring DevelopersHigh-Precision GPS Positioning for Spring Developers
High-Precision GPS Positioning for Spring DevelopersVMware Tanzu
 
TechWiseTV Workshop: OpenDNS and AnyConnect
TechWiseTV Workshop: OpenDNS and AnyConnectTechWiseTV Workshop: OpenDNS and AnyConnect
TechWiseTV Workshop: OpenDNS and AnyConnectRobb Boyd
 
Combining ReST and Context for Killer iPhone Apps
Combining ReST and Context for Killer iPhone AppsCombining ReST and Context for Killer iPhone Apps
Combining ReST and Context for Killer iPhone Appsjasonc411
 
Cloud level scalability - Nuxeo Tour 2014
Cloud level scalability - Nuxeo Tour 2014Cloud level scalability - Nuxeo Tour 2014
Cloud level scalability - Nuxeo Tour 2014Nuxeo
 
Using Behavior to Protect Cloud Servers
Using Behavior to Protect Cloud ServersUsing Behavior to Protect Cloud Servers
Using Behavior to Protect Cloud Serversbanerjeea
 
Droid con 2015 - experimenting monitoring and proximity techniques using andr...
Droid con 2015 - experimenting monitoring and proximity techniques using andr...Droid con 2015 - experimenting monitoring and proximity techniques using andr...
Droid con 2015 - experimenting monitoring and proximity techniques using andr...Commit University
 
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017Usersnap
 
How to Design a Backend for IoT
How to Design a Backend for IoTHow to Design a Backend for IoT
How to Design a Backend for IoTİbrahim Gürses
 
Security Practitioners guide to Micro Segmentation with VMware NSX and Log In...
Security Practitioners guide to Micro Segmentation with VMware NSX and Log In...Security Practitioners guide to Micro Segmentation with VMware NSX and Log In...
Security Practitioners guide to Micro Segmentation with VMware NSX and Log In...Anthony Burke
 
Android Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed AdamAndroid Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed AdamMohammed Adam
 
The Cloud Native Stack
The Cloud Native StackThe Cloud Native Stack
The Cloud Native StackQAware GmbH
 
Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3Damien Contreras
 

Similaire à Indoor location in mobile applications using iBeacons (20)

Developing context aware applications with iBeacons technology
Developing context aware applications with iBeacons technologyDeveloping context aware applications with iBeacons technology
Developing context aware applications with iBeacons technology
 
AWS & Intel: A Partnership Dedicated to Cloud Innovations
AWS & Intel: A Partnership Dedicated to Cloud InnovationsAWS & Intel: A Partnership Dedicated to Cloud Innovations
AWS & Intel: A Partnership Dedicated to Cloud Innovations
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentation
 
High Precision GPS Positioning for Spring Developers
High Precision GPS Positioning for Spring DevelopersHigh Precision GPS Positioning for Spring Developers
High Precision GPS Positioning for Spring Developers
 
High-Precision GPS Positioning for Spring Developers
High-Precision GPS Positioning for Spring DevelopersHigh-Precision GPS Positioning for Spring Developers
High-Precision GPS Positioning for Spring Developers
 
TechWiseTV Workshop: OpenDNS and AnyConnect
TechWiseTV Workshop: OpenDNS and AnyConnectTechWiseTV Workshop: OpenDNS and AnyConnect
TechWiseTV Workshop: OpenDNS and AnyConnect
 
Combining ReST and Context for Killer iPhone Apps
Combining ReST and Context for Killer iPhone AppsCombining ReST and Context for Killer iPhone Apps
Combining ReST and Context for Killer iPhone Apps
 
Cloud level scalability - Nuxeo Tour 2014
Cloud level scalability - Nuxeo Tour 2014Cloud level scalability - Nuxeo Tour 2014
Cloud level scalability - Nuxeo Tour 2014
 
Pentesting
PentestingPentesting
Pentesting
 
Using Behavior to Protect Cloud Servers
Using Behavior to Protect Cloud ServersUsing Behavior to Protect Cloud Servers
Using Behavior to Protect Cloud Servers
 
Droid con 2015 - experimenting monitoring and proximity techniques using andr...
Droid con 2015 - experimenting monitoring and proximity techniques using andr...Droid con 2015 - experimenting monitoring and proximity techniques using andr...
Droid con 2015 - experimenting monitoring and proximity techniques using andr...
 
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
 
How to Design a Backend for IoT
How to Design a Backend for IoTHow to Design a Backend for IoT
How to Design a Backend for IoT
 
Gns3
Gns3Gns3
Gns3
 
Security Practitioners guide to Micro Segmentation with VMware NSX and Log In...
Security Practitioners guide to Micro Segmentation with VMware NSX and Log In...Security Practitioners guide to Micro Segmentation with VMware NSX and Log In...
Security Practitioners guide to Micro Segmentation with VMware NSX and Log In...
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
Android Pentesting
Android PentestingAndroid Pentesting
Android Pentesting
 
Android Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed AdamAndroid Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed Adam
 
The Cloud Native Stack
The Cloud Native StackThe Cloud Native Stack
The Cloud Native Stack
 
Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3Iot vupico-damien-contreras-2018-05-17-light-v3
Iot vupico-damien-contreras-2018-05-17-light-v3
 

Plus de Simon Guest

10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity10 Life Hacks for Better Productivity
10 Life Hacks for Better ProductivitySimon Guest
 
Building a Great Engineering Culture
Building a Great Engineering CultureBuilding a Great Engineering Culture
Building a Great Engineering CultureSimon Guest
 
Interviewing Techniques
Interviewing TechniquesInterviewing Techniques
Interviewing TechniquesSimon Guest
 
Presentation Anti-Patterns
Presentation Anti-PatternsPresentation Anti-Patterns
Presentation Anti-PatternsSimon Guest
 
10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity10 Life Hacks for Better Productivity
10 Life Hacks for Better ProductivitySimon Guest
 
Automated Web Testing using JavaScript
Automated Web Testing using JavaScriptAutomated Web Testing using JavaScript
Automated Web Testing using JavaScriptSimon Guest
 
Advanced Tips & Tricks for using Angular JS
Advanced Tips & Tricks for using Angular JSAdvanced Tips & Tricks for using Angular JS
Advanced Tips & Tricks for using Angular JSSimon Guest
 
Creating Context-Aware Applications
Creating Context-Aware ApplicationsCreating Context-Aware Applications
Creating Context-Aware ApplicationsSimon Guest
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScriptSimon Guest
 
Enterprise Social Networking - Myth or Magic?
Enterprise Social Networking - Myth or Magic?Enterprise Social Networking - Myth or Magic?
Enterprise Social Networking - Myth or Magic?Simon Guest
 
Objective View of MEAPs
Objective View of MEAPsObjective View of MEAPs
Objective View of MEAPsSimon Guest
 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentSimon Guest
 
Windows Azure Toolkit for iOS
Windows Azure Toolkit for iOSWindows Azure Toolkit for iOS
Windows Azure Toolkit for iOSSimon Guest
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsSimon Guest
 
My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.Simon Guest
 
Developing iPhone and iPad apps that leverage Windows Azure
Developing iPhone and iPad apps that leverage Windows AzureDeveloping iPhone and iPad apps that leverage Windows Azure
Developing iPhone and iPad apps that leverage Windows AzureSimon Guest
 
iPhone and iPad Security
iPhone and iPad SecurityiPhone and iPad Security
iPhone and iPad SecuritySimon Guest
 
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...Simon Guest
 
Future of Mobility
Future of MobilityFuture of Mobility
Future of MobilitySimon Guest
 
Patterns for Cloud Computing
Patterns for Cloud ComputingPatterns for Cloud Computing
Patterns for Cloud ComputingSimon Guest
 

Plus de Simon Guest (20)

10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity
 
Building a Great Engineering Culture
Building a Great Engineering CultureBuilding a Great Engineering Culture
Building a Great Engineering Culture
 
Interviewing Techniques
Interviewing TechniquesInterviewing Techniques
Interviewing Techniques
 
Presentation Anti-Patterns
Presentation Anti-PatternsPresentation Anti-Patterns
Presentation Anti-Patterns
 
10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity10 Life Hacks for Better Productivity
10 Life Hacks for Better Productivity
 
Automated Web Testing using JavaScript
Automated Web Testing using JavaScriptAutomated Web Testing using JavaScript
Automated Web Testing using JavaScript
 
Advanced Tips & Tricks for using Angular JS
Advanced Tips & Tricks for using Angular JSAdvanced Tips & Tricks for using Angular JS
Advanced Tips & Tricks for using Angular JS
 
Creating Context-Aware Applications
Creating Context-Aware ApplicationsCreating Context-Aware Applications
Creating Context-Aware Applications
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScript
 
Enterprise Social Networking - Myth or Magic?
Enterprise Social Networking - Myth or Magic?Enterprise Social Networking - Myth or Magic?
Enterprise Social Networking - Myth or Magic?
 
Objective View of MEAPs
Objective View of MEAPsObjective View of MEAPs
Objective View of MEAPs
 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web Development
 
Windows Azure Toolkit for iOS
Windows Azure Toolkit for iOSWindows Azure Toolkit for iOS
Windows Azure Toolkit for iOS
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile Applications
 
My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.
 
Developing iPhone and iPad apps that leverage Windows Azure
Developing iPhone and iPad apps that leverage Windows AzureDeveloping iPhone and iPad apps that leverage Windows Azure
Developing iPhone and iPad apps that leverage Windows Azure
 
iPhone and iPad Security
iPhone and iPad SecurityiPhone and iPad Security
iPhone and iPad Security
 
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
 
Future of Mobility
Future of MobilityFuture of Mobility
Future of Mobility
 
Patterns for Cloud Computing
Patterns for Cloud ComputingPatterns for Cloud Computing
Patterns for Cloud Computing
 

Dernier

UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 

Dernier (20)

UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 

Indoor location in mobile applications using iBeacons

  • 1. Indoor Location in Mobile Applications using iBeacons -- Simon Guest, Distinguished Engineer. Neudesic, LLC
  • 3. WHEN YOU ARE OUTDOORS
  • 4. INDOOR LOCATION IS A DIFFERENT STORY
  • 5. ISSUES ▸ GPS signal rarely works indoors ▸ When it does, it's often inaccurate ▸ No concept of indoor space, such as multiple floors
  • 6. MANY COMPANIES HAVE TRIED TO SOLVE THIS!
  • 10. LESS THAN IDEAL RESULTS ▸ Expensive ▸ Custom ▸ Too heavy on power ▸ Unpredictable requirements (e.g. WiFi) ▸ Don't run in background
  • 13. GOAL OF THIS SESSION ▸ What are iBeacons? ▸ Developing iOS and Android applications ▸ Pushing the boundaries
  • 17. BLUETOOTH LE/SMART ▸ Designed for low power consumption ▸ Secure, simple pairing w/ multiple profiles ▸ Wide range of hardware vendor support
  • 18. HOW DOES IBEACON RELATE?
  • 19. IBEACON SPECIFICATION ▸ Apple Specification and Trademark on using Bluetooth LE/Smart for indoor proximity ▸ Similar to a Bluetooth profile, except Apple are driving it ▸ Implementing specification is free, subject to Apple NDA
  • 20. REDBEAR BEACON ▸ RedBear BLE Mini ▸ TI CC2540 ▸ 5v USB or 3.4v cell battery input ▸ Around $30 USD
  • 22. IBEACONS IN USE ▸ iBeacon broadcasts signal using a UUID ▸ UUID is unique to a group of iBeacons, not an individual
  • 23. IBEACONS IN USE ▸ Beacon identifies itself in the group using a Major and Minor number ▸ For example, Major: 1, Minor 2
  • 24. IBEACONS IN USE ▸ Devices can find iBeacons nearby that match a particular UUID ▸ This is known as ranging for beacons
  • 25. IBEACONS IN USE ▸ Once found, device can detemine power level of signal from the beacon ▸ Which in turn can approximate the distance
  • 26. IBEACONS IN USE ▸ Three enumerated ranges supported in the specification ▸ IMMEDIATE, NEAR, and FAR
  • 28. RETAIL STORE: PRODUCT PROMOTION AND LOCATION
  • 30. OIL & GAS: PERSONNEL SAFETY SYSTEM
  • 31. REAL ESTATE: OPEN HOUSE WALKTHROUGH
  • 33. REMEMBER, IBEACONS ARE NOT SMART! ▸ No network connectivity ▸ No concept of devices that have discovered them ▸ No storage or additional information beyond UUID, Major, Minor
  • 35. DEVICE COMPATIBILITY ▸ iPhone 4S / iPad 3 and upwards, running iOS 7+ ▸ Android 4.3 and upwards, running Linux Kernel 3.4+ ▸ Macs with Bluetooth 4 hardware, running Mavericks ▸ Hardware vendors -- Radius, Redbear, Estimote, and others
  • 36. DEVELOPING APPLICATIONS THAT SUPPORT IBEACONS
  • 37. IOS ▸ Support for iBeacons in CoreLocation in iOS 7.x ▸ Create new CLBeaconRegion using UUID ▸ DidRangeBeacons event used to detect nearby beacons ▸ Returns array of beacons
  • 38. IOS (XAMARIN) private CLLocationManager locationManager; private NSUuid beaconUUID = new NSUuid ("E2C56DB5-DFFB-48D2-B060-D0F5A71096E0"); private CLBeaconRegion beaconRegion; public void StartListeningForBeacons () { beaconRegion = new CLBeaconRegion (beaconUUID, "0"); locationManager = new CLLocationManager (); locationManager.DidRangeBeacons += (object sender, CLRegionBeaconsRangedEventArgs args) => { // args.Beacons contains the array of found beacons }; locationManager.StartRangingBeacons (beaconRegion); locationManager.StartUpdatingLocation (); }
  • 39. ANDROID ▸ Apple does not provide iBeacon SDK for Android ▸ Radius Networks open sourced SDK ▸ Extend Activity with IBeaconConsumer ▸ OnIBeaconServiceConnect and RangingBeaconsInRegion
  • 40. ANDROID (XAMARIN) private readonly IBeaconManager iBeaconManager; private readonly Region monitoringRegion; private readonly Region rangingRegion; private const string UUID = "e2c56db5dffb48d2b060d0f5a71096e0"; public MainActivity () { iBeaconManager = IBeaconManager.GetInstanceForApplication (this); monitorNotifier = new MonitorNotifier (); rangeNotifier = new RangeNotifier (); monitoringRegion = new Region ("r2MonitoringUniqueId", UUID, null, null); rangingRegion = new Region ("r2RangingUniqueId", UUID, null, null); }
  • 41. ANDROID (XAMARIN) public void OnIBeaconServiceConnect () { iBeaconManager.SetMonitorNotifier (monitorNotifier); iBeaconManager.SetRangeNotifier (rangeNotifier); iBeaconManager.StartMonitoringBeaconsInRegion (monitoringRegion); iBeaconManager.StartRangingBeaconsInRegion (rangingRegion); } private void RangingBeaconsInRegion (object sender, RangeEventArgs e) { // beacons returned in e.Beacons }
  • 42. DEMO
  • 43. WHAT DID WE SEE? ▸ Simple application using CLLocationManager to range for beacons ▸ Relatively accurate line-of-sight proximity detection ▸ Enumerated proximity levels
  • 45. RUNNING IBEACONS IN THE BACKGROUND
  • 46. BACKGROUND DETECTION IN IOS ▸ Made possible by iOS 7.1! ▸ Invoke ranging for beacons from AppDelegate (not ViewController) ▸ Beacon ranging will persist background and even work when device is locked/standby
  • 47. BACKGROUND DETECTION IN ANDROID ▸ Default as Radius SDK actually runs as a service ▸ Developer chooses how to handle OnResume, OnPause events, and invoking application/service on updates ▸ Should consider own service to handle background notifications
  • 48. BACKGROUND TIPS ▸ Keeping BLE enabled and ranging will have some effect on battery ▸ Consider adding sleep time if running in background ▸ Don't make expensive calls (e.g. networking, computation) on each ranging
  • 49. DEMO
  • 50. BETTER ACCURACY OF INDOOR LOCATION
  • 55. TRILATERATION ▸ Similar in concept to triangulation except uses distance vs. angles ▸ Requires minimum of three beacons ▸ Assuming accurate power signals, can calculate more accurate position
  • 56. DEMO
  • 57. WHAT DID WE SEE? ▸ Position of 3+ beacons sent to NodeJS server ▸ NodeJS server uses cartersian coords to work out position, broadcast via WebSockets ▸ HTML5 page responds to WebSockets and plots position on canvas
  • 59. NOT PERFECT... ▸ Walls or line-of-sight obstructions will decrease observed power range, and lead to inaccurate results ▸ But an array of iBeacons in an open area (e.g. retail store) should provide 1-2m accuracy
  • 62. IBEACONS ▸ Apple standard, but supported well on most (latest) mobile devices ▸ Mix of hardware and software options, easy to develop ▸ Opening up wide opportunity of indoor location scenarios to any developer at a relatively low cost point
  • 64. Q&A ▸ Simon Guest, Distinguished Engineer, Neudesic LLC ▸ simonguest.com (@simonguest) ▸ http://github.com/simonguest/gids ▸ http://slideshare.net/simonguest