SlideShare una empresa de Scribd logo
1 de 65
Descargar para leer sin conexión
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
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
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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Similar a 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
 
2024_hackersuli_mobil_ios_android ______
2024_hackersuli_mobil_ios_android ______2024_hackersuli_mobil_ios_android ______
2024_hackersuli_mobil_ios_android ______hackersuli
 
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
 

Similar a 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
 
2024_hackersuli_mobil_ios_android ______
2024_hackersuli_mobil_ios_android ______2024_hackersuli_mobil_ios_android ______
2024_hackersuli_mobil_ios_android ______
 
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 Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed AdamAndroid Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed Adam
 
Android Pentesting
Android PentestingAndroid Pentesting
Android Pentesting
 
The Cloud Native Stack
The Cloud Native StackThe Cloud Native Stack
The Cloud Native Stack
 

Más 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
 

Más 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
 

Último

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

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
  • 14.
  • 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
  • 51.
  • 52.
  • 53.
  • 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