Indoor location in mobile applications using iBeacons

50 %
50 %
Information about Indoor location in mobile applications using iBeacons
Technology

Published on April 23, 2014

Author: simonguest

Source: slideshare.net

Description

Session from GIDS 2014, covering iBeacons, developing applications, and trilateration techniques.

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

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

MOBILE PROXIMITY LOCATION SERVICES USING IBEACONS

MOBILE PROXIMITY LOCATION SERVICES USING IBEACONS ... aware mobile application ... › Analyse several use cases for indoor and close -range location ...
Read more

Beacons, iBeacons and the Future of Indoor Location Services

Beacons, iBeacons and ... iBeacon is an indoor ... Engage Mobile is looking at developing several different applications using beacons and mobile ...
Read more

Home - indoo.rs

indoo.rs provides accurate indoor ... iBeacons Use ibeacons to unlock indoor location ... to your mobile appYour mobile ...
Read more

Indoor tracking of mobile devices using Wi-Fi and iBeacons

Navizon's indoor location system enables tracking mobile ... or iBeacons Navizon Indoors for Tracking enables applications to obtain the location ...
Read more

Indoor LBS - Location Services for Indoors

IndoorLBS is a strategy company that helps retailers, ... iBeacons, Proximity Services, ... Indoor Location Based Services;
Read more

iBeacons and the Monticello App | Bluecadet

... and experience using iBeacons for ... to help give location context to mobile applications. ... and even some indoor locations to be ...
Read more

Why Apple's 'indoor GPS' plan is brilliant | Computerworld

Why Apple's 'indoor GPS' plan is brilliant. ... iBeacons is a Bluetooth-based micro-locations system (think very accurate GPS that can be used indoors).
Read more

Estimote Indoor Location - Estimote Beacons — real world ...

Estimote Indoor Location ... How do I incorporate the location which was set up using the Estimote app into my own application? Use the Indoor Location ...
Read more