SlideShare a Scribd company logo
1 of 32
Download to read offline
Building a Mobile Location
Aware System with Beacons
Jonathan LeBlanc (@jcleblanc)
Head of Global Developer
Advocacy at PayPal + Braintree
twitter: @jcleblanc | hashtag: #OSCON
Purpose of a Beacon
Being Location Aware
twitter: @jcleblanc | hashtag: #OSCON
Real World Use Case
twitter: @jcleblanc | hashtag: #OSCON
Central
Device
Beacon
Hardware
IP Address
Endpoint
How it Works
twitter: @jcleblanc | hashtag: #OSCON
twitter: @jcleblanc | hashtag: #OSCON
Estimote: $99 / 3, temp + motion
Beacon Comparison
Bluecat: Trial, AA batteries
Gimbal Tag: $5, small & deployable
Kontakt.io: $81 / 3, battery life
•  UUID (16 bytes): Differentiates
Large Group
•  Major (2 bytes): Beacon Subset
•  Minor (2 bytes): Individual Beacon
•  Tx Power: Proximity from beacon
Beacon Advertisement & ID
twitter: @jcleblanc | hashtag: #OSCON
twitter: @jcleblanc | hashtag: #OSCON
Don’t be Creepy
twitter: @jcleblanc | hashtag: #OSCON
Deploy Considerations
Battery Life vs Range
twitter: @jcleblanc | hashtag: #OSCON
Battery Replacement
twitter: @jcleblanc | hashtag: #OSCON
Signal Interference
twitter: @jcleblanc | hashtag: #OSCON
•  Microwave ovens
•  Direct Satellite Service (DSS)
•  Certain external electrical sources
•  2.4 GHz or 5 GHz phones
•  Video transmitters/receivers that operate in the 2.4
GHz or 5 GHz bandwidth
•  Wireless speakers that operate in the 2.4 GHz or 5
GHz band
•  Certain external monitors and LCD displays
•  Any other wireless devices that operate in the 2.4
GHz or 5 GHz bandwidth
twitter: @jcleblanc | hashtag: #OSCON
Signal Degradation
twitter: @jcleblanc | hashtag: #OSCON
Low Interference Medium Interference
High Interference Very High Interference
Wood
Synthetic Material
Glass	
  
Water
Bricks
Marble	
  
Plaster
Concrete
Bulletproof Glass	
  
Metal	
  
twitter: @jcleblanc | hashtag: #OSCON
Attaching to a Beacon
<uses-permission android:name=
"android.permission.BLUETOOTH"/>
<uses-permission android:name=
"android.permission.BLUETOOTH_ADMIN"/>
<service android:name=
”com.estimote.sdk.service.BeaconService"
android:exported="false"/>
AndroidManifest.xml
twitter: @jcleblanc | hashtag: #OSCON
Adjusting Beacon Settings
Estimote Site and App
twitter: @jcleblanc | hashtag: #OSCON
connection = new BeaconConnection(this, beacon, new
BeaconConnection.ConnectionCallback(){
@Override public void onAuthenticated(){ ... }
@Override public void onAuthenticationError(){ ... }
@Override public void onDisconnected(){ ... }
});
connection.authenticate();
connection.close();
The Beacon Connection
twitter: @jcleblanc | hashtag: #OSCON
//update the beacon UUID and Major
connection.edit()
.set(connection.major(), newMajor)
.commit(new BeaconConnection.WriteCallback(){
@Override public void onSuccess(){}
@Override public void
onError(EstimoteDeviceException exception){}
});
Adjusting Beacon Settings
twitter: @jcleblanc | hashtag: #OSCON
•  AdvertisingInterval
•  BroadcastingPower
•  Major
•  Minor
•  ProximityUuid
Updatable Settings
twitter: @jcleblanc | hashtag: #OSCON
The Android Emulator
twitter: @jcleblanc | hashtag: #OSCON
twitter: @jcleblanc | hashtag: #OSCON
Virtual Machine Software +
USB BLE adapter
http://chrislarson.me/blog/
emulate-android-and-bluetooth-
le-hardware.html
Emulating Android & BLE
twitter: @jcleblanc | hashtag: #OSCON
Collecting Range Data
•  getProximityUUID: Proximity UUID of the
Beacon
•  getMajor: Major version of the beacon
•  getMinor: Minor version of the beacon
•  getMeasuredPower: Beacon measured power
(in dBm)
•  getMacAddress: Beacon MAC address
•  getName: Display friendly beacon name
•  getRssi: Received Signal Strength Indication
The Beacon Object
twitter: @jcleblanc | hashtag: #OSCON
private static final Region ALL_BEACONS =
new Region("regionId", null, null, null);
private BeaconManager beaconManager = new
BeaconManager(this);
Setting the Beacon Manager
twitter: @jcleblanc | hashtag: #OSCON
beaconManager.setRangingListener(new
BeaconManager.RangingListener() {
@Override public void onBeaconsDiscovered(Region
region, List<Beacon> beacons) {
for (Beacon rangedBeacon : beacons) {
double currentDistance =
Utils.computeAccuracy(rangedBeacon);
…
}
}
});
Setting the Listener
twitter: @jcleblanc | hashtag: #OSCON
beaconManager.connect(
new BeaconManager.ServiceReadyCallback(){
@Override public void onServiceReady(){
try{
beaconManager.startRanging(ALL_BEACONS);
} catch (RemoteException e) {
Log.e(TAG, "Cannot start ranging", e);
}
}
});
Getting Beacon Range
twitter: @jcleblanc | hashtag: #OSCON
iBeacon Specification
https://developer.apple.com/ibeacon/
Estimote Javadocs
http://estimote.github.io/Android-
SDK/JavaDocs/
AltBeacon
http://altbeacon.org/examples/
twitter: @jcleblanc | hashtag: #OSCON
Beacon Wrap-up
twitter: @jcleblanc | hashtag: #OSCON
Thank You!
http://slideshare.net/jcleblanc
Jonathan LeBlanc (@jcleblanc)
Head of Global Developer
Advocacy at PayPal + Braintree

More Related Content

Viewers also liked

From geek to event organiser
From geek to event organiserFrom geek to event organiser
From geek to event organiserCristiano Betta
 
Lean Agile Adoption Enterprise Challenges - XP 2012
Lean Agile Adoption Enterprise Challenges - XP 2012Lean Agile Adoption Enterprise Challenges - XP 2012
Lean Agile Adoption Enterprise Challenges - XP 2012Fabio Armani
 
Throttle and Debounce Patterns in Web Apps
Throttle and Debounce Patterns in Web AppsThrottle and Debounce Patterns in Web Apps
Throttle and Debounce Patterns in Web AppsAlmir Filho
 
Combining Context with Signals in the IoT (longer version)
Combining Context with Signals in the IoT (longer version)Combining Context with Signals in the IoT (longer version)
Combining Context with Signals in the IoT (longer version)Andy Piper
 
Gamification for participation STC NY Metro
Gamification for participation STC NY MetroGamification for participation STC NY Metro
Gamification for participation STC NY MetroJLSagan
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeWim Godden
 
HP Discover - Developing new applications for the cloud
HP Discover - Developing new applications for the cloudHP Discover - Developing new applications for the cloud
HP Discover - Developing new applications for the cloudBart Blommaerts
 
The Bronze Age of OpenStreetMap - Ilya zverik - State of the Map 2013
The Bronze Age of OpenStreetMap - Ilya zverik - State of the Map 2013The Bronze Age of OpenStreetMap - Ilya zverik - State of the Map 2013
The Bronze Age of OpenStreetMap - Ilya zverik - State of the Map 2013OSMFstateofthemap
 
Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016Clément OUDOT
 
F# for C# devs - NDC Oslo 2015
F# for C# devs - NDC Oslo 2015F# for C# devs - NDC Oslo 2015
F# for C# devs - NDC Oslo 2015Phillip Trelford
 
Beyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the codeBeyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the codeWim Godden
 
Devnest 111115
Devnest 111115Devnest 111115
Devnest 111115Angus Fox
 
Varnish in action phpuk11
Varnish in action phpuk11Varnish in action phpuk11
Varnish in action phpuk11Combell NV
 
Combining Context with Signals in the Internet of Things
Combining Context with Signals in the Internet of ThingsCombining Context with Signals in the Internet of Things
Combining Context with Signals in the Internet of ThingsAndy Piper
 
The Big Power Shift in Media
The Big Power Shift in MediaThe Big Power Shift in Media
The Big Power Shift in MediaIsabelle Quevilly
 
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor Apps
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor AppsLibrato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor Apps
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor AppsHeroku
 
Viva city open smart city platform
Viva city open smart city platformViva city open smart city platform
Viva city open smart city platformMarco Montanari
 
L’agilité pour une organisation d’entreprise saine et efficiente
L’agilité pour une organisation d’entreprise saine et efficienteL’agilité pour une organisation d’entreprise saine et efficiente
L’agilité pour une organisation d’entreprise saine et efficienteJonas Vonlanthen
 

Viewers also liked (20)

From geek to event organiser
From geek to event organiserFrom geek to event organiser
From geek to event organiser
 
Lean Agile Adoption Enterprise Challenges - XP 2012
Lean Agile Adoption Enterprise Challenges - XP 2012Lean Agile Adoption Enterprise Challenges - XP 2012
Lean Agile Adoption Enterprise Challenges - XP 2012
 
Throttle and Debounce Patterns in Web Apps
Throttle and Debounce Patterns in Web AppsThrottle and Debounce Patterns in Web Apps
Throttle and Debounce Patterns in Web Apps
 
Combining Context with Signals in the IoT (longer version)
Combining Context with Signals in the IoT (longer version)Combining Context with Signals in the IoT (longer version)
Combining Context with Signals in the IoT (longer version)
 
ChemSpider – disseminating data and enabling an abundance of chemistry platforms
ChemSpider – disseminating data and enabling an abundance of chemistry platformsChemSpider – disseminating data and enabling an abundance of chemistry platforms
ChemSpider – disseminating data and enabling an abundance of chemistry platforms
 
Gamification for participation STC NY Metro
Gamification for participation STC NY MetroGamification for participation STC NY Metro
Gamification for participation STC NY Metro
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
 
HP Discover - Developing new applications for the cloud
HP Discover - Developing new applications for the cloudHP Discover - Developing new applications for the cloud
HP Discover - Developing new applications for the cloud
 
The Bronze Age of OpenStreetMap - Ilya zverik - State of the Map 2013
The Bronze Age of OpenStreetMap - Ilya zverik - State of the Map 2013The Bronze Age of OpenStreetMap - Ilya zverik - State of the Map 2013
The Bronze Age of OpenStreetMap - Ilya zverik - State of the Map 2013
 
Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016Présentation de LemonLDAP::NG aux Journées Perl 2016
Présentation de LemonLDAP::NG aux Journées Perl 2016
 
HTTP 2
HTTP 2HTTP 2
HTTP 2
 
F# for C# devs - NDC Oslo 2015
F# for C# devs - NDC Oslo 2015F# for C# devs - NDC Oslo 2015
F# for C# devs - NDC Oslo 2015
 
Beyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the codeBeyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the code
 
Devnest 111115
Devnest 111115Devnest 111115
Devnest 111115
 
Varnish in action phpuk11
Varnish in action phpuk11Varnish in action phpuk11
Varnish in action phpuk11
 
Combining Context with Signals in the Internet of Things
Combining Context with Signals in the Internet of ThingsCombining Context with Signals in the Internet of Things
Combining Context with Signals in the Internet of Things
 
The Big Power Shift in Media
The Big Power Shift in MediaThe Big Power Shift in Media
The Big Power Shift in Media
 
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor Apps
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor AppsLibrato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor Apps
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor Apps
 
Viva city open smart city platform
Viva city open smart city platformViva city open smart city platform
Viva city open smart city platform
 
L’agilité pour une organisation d’entreprise saine et efficiente
L’agilité pour une organisation d’entreprise saine et efficienteL’agilité pour une organisation d’entreprise saine et efficiente
L’agilité pour une organisation d’entreprise saine et efficiente
 

Similar to Building a Mobile Location Aware System with Beacons

Building a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with BeaconsBuilding a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with BeaconsTim Messerschmidt
 
Solar Power for Generations to Come
Solar Power for Generations to ComeSolar Power for Generations to Come
Solar Power for Generations to ComeCrowdsourcing Week
 
Real-Time Web Apps & .NET - What are your options?
Real-Time Web Apps & .NET - What are your options?Real-Time Web Apps & .NET - What are your options?
Real-Time Web Apps & .NET - What are your options?Phil Leggetter
 
三分鐘讓你輕鬆開發 iBeacon
三分鐘讓你輕鬆開發 iBeacon三分鐘讓你輕鬆開發 iBeacon
三分鐘讓你輕鬆開發 iBeaconArtribr
 
How to Light a Beacon
How to Light a BeaconHow to Light a Beacon
How to Light a BeaconMiro Cupak
 
Dropwizard with MongoDB and Google Cloud
Dropwizard with MongoDB and Google CloudDropwizard with MongoDB and Google Cloud
Dropwizard with MongoDB and Google CloudYun Zhi Lin
 
BlockLoc: Secure Localization in the Internet of Things using Blockchain
BlockLoc: Secure Localization in the Internet of Things using BlockchainBlockLoc: Secure Localization in the Internet of Things using Blockchain
BlockLoc: Secure Localization in the Internet of Things using BlockchainAnis Koubaa
 
Walking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data FlowWalking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data FlowVMware Tanzu
 
[React Native Tutorial] Lecture 6: Component, Props, and Network
[React Native Tutorial] Lecture 6: Component, Props, and Network[React Native Tutorial] Lecture 6: Component, Props, and Network
[React Native Tutorial] Lecture 6: Component, Props, and NetworkKobkrit Viriyayudhakorn
 
Economies of Scaling Software
Economies of Scaling SoftwareEconomies of Scaling Software
Economies of Scaling SoftwareJoshua Long
 
iBeacons - the new low-powered way of location awareness
iBeacons - the new low-powered way of location awarenessiBeacons - the new low-powered way of location awareness
iBeacons - the new low-powered way of location awarenessStefano Zanetti
 
Intro to iBeacon and Bluetooth Low Energy
Intro to iBeacon and Bluetooth Low EnergyIntro to iBeacon and Bluetooth Low Energy
Intro to iBeacon and Bluetooth Low EnergyKurt McIntire
 
The Potential of Blockchain in Higher Education
The Potential of Blockchain in Higher EducationThe Potential of Blockchain in Higher Education
The Potential of Blockchain in Higher EducationJohn Domingue
 
Systems Bioinformatics Workshop Keynote
Systems Bioinformatics Workshop KeynoteSystems Bioinformatics Workshop Keynote
Systems Bioinformatics Workshop KeynoteDeepak Singh
 
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018Matt Raible
 
FIWARE Global Summit - Edge/Fog Computing in “Powered by FIWARE” Architectures
FIWARE Global Summit - Edge/Fog Computing in “Powered by FIWARE” ArchitecturesFIWARE Global Summit - Edge/Fog Computing in “Powered by FIWARE” Architectures
FIWARE Global Summit - Edge/Fog Computing in “Powered by FIWARE” ArchitecturesFIWARE
 
Spring Performance Gains
Spring Performance GainsSpring Performance Gains
Spring Performance GainsVMware Tanzu
 

Similar to Building a Mobile Location Aware System with Beacons (20)

Building a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with BeaconsBuilding a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with Beacons
 
Eddystone beacons demo
Eddystone beacons demoEddystone beacons demo
Eddystone beacons demo
 
Solar Power for Generations to Come
Solar Power for Generations to ComeSolar Power for Generations to Come
Solar Power for Generations to Come
 
Real-Time Web Apps & .NET - What are your options?
Real-Time Web Apps & .NET - What are your options?Real-Time Web Apps & .NET - What are your options?
Real-Time Web Apps & .NET - What are your options?
 
三分鐘讓你輕鬆開發 iBeacon
三分鐘讓你輕鬆開發 iBeacon三分鐘讓你輕鬆開發 iBeacon
三分鐘讓你輕鬆開發 iBeacon
 
Android & Beacons
Android & Beacons Android & Beacons
Android & Beacons
 
How to Light a Beacon
How to Light a BeaconHow to Light a Beacon
How to Light a Beacon
 
Dropwizard with MongoDB and Google Cloud
Dropwizard with MongoDB and Google CloudDropwizard with MongoDB and Google Cloud
Dropwizard with MongoDB and Google Cloud
 
BlockLoc: Secure Localization in the Internet of Things using Blockchain
BlockLoc: Secure Localization in the Internet of Things using BlockchainBlockLoc: Secure Localization in the Internet of Things using Blockchain
BlockLoc: Secure Localization in the Internet of Things using Blockchain
 
Walking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data FlowWalking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data Flow
 
[React Native Tutorial] Lecture 6: Component, Props, and Network
[React Native Tutorial] Lecture 6: Component, Props, and Network[React Native Tutorial] Lecture 6: Component, Props, and Network
[React Native Tutorial] Lecture 6: Component, Props, and Network
 
Economies of Scaling Software
Economies of Scaling SoftwareEconomies of Scaling Software
Economies of Scaling Software
 
iBeacons - the new low-powered way of location awareness
iBeacons - the new low-powered way of location awarenessiBeacons - the new low-powered way of location awareness
iBeacons - the new low-powered way of location awareness
 
Intro to iBeacon and Bluetooth Low Energy
Intro to iBeacon and Bluetooth Low EnergyIntro to iBeacon and Bluetooth Low Energy
Intro to iBeacon and Bluetooth Low Energy
 
The Potential of Blockchain in Higher Education
The Potential of Blockchain in Higher EducationThe Potential of Blockchain in Higher Education
The Potential of Blockchain in Higher Education
 
Serverless and IoT
Serverless and IoTServerless and IoT
Serverless and IoT
 
Systems Bioinformatics Workshop Keynote
Systems Bioinformatics Workshop KeynoteSystems Bioinformatics Workshop Keynote
Systems Bioinformatics Workshop Keynote
 
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
 
FIWARE Global Summit - Edge/Fog Computing in “Powered by FIWARE” Architectures
FIWARE Global Summit - Edge/Fog Computing in “Powered by FIWARE” ArchitecturesFIWARE Global Summit - Edge/Fog Computing in “Powered by FIWARE” Architectures
FIWARE Global Summit - Edge/Fog Computing in “Powered by FIWARE” Architectures
 
Spring Performance Gains
Spring Performance GainsSpring Performance Gains
Spring Performance Gains
 

More from Jonathan LeBlanc

JavaScript App Security: Auth and Identity on the Client
JavaScript App Security: Auth and Identity on the ClientJavaScript App Security: Auth and Identity on the Client
JavaScript App Security: Auth and Identity on the ClientJonathan LeBlanc
 
Improving Developer Onboarding Through Intelligent Data Insights
Improving Developer Onboarding Through Intelligent Data InsightsImproving Developer Onboarding Through Intelligent Data Insights
Improving Developer Onboarding Through Intelligent Data InsightsJonathan LeBlanc
 
Better Data with Machine Learning and Serverless
Better Data with Machine Learning and ServerlessBetter Data with Machine Learning and Serverless
Better Data with Machine Learning and ServerlessJonathan LeBlanc
 
Best Practices for Application Development with Box
Best Practices for Application Development with BoxBest Practices for Application Development with Box
Best Practices for Application Development with BoxJonathan LeBlanc
 
Box Platform Developer Workshop
Box Platform Developer WorkshopBox Platform Developer Workshop
Box Platform Developer WorkshopJonathan LeBlanc
 
Modern Cloud Data Security Practices
Modern Cloud Data Security PracticesModern Cloud Data Security Practices
Modern Cloud Data Security PracticesJonathan LeBlanc
 
Understanding Box UI Elements
Understanding Box UI ElementsUnderstanding Box UI Elements
Understanding Box UI ElementsJonathan LeBlanc
 
Understanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scopingUnderstanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scopingJonathan LeBlanc
 
The Future of Online Money: Creating Secure Payments Globally
The Future of Online Money: Creating Secure Payments GloballyThe Future of Online Money: Creating Secure Payments Globally
The Future of Online Money: Creating Secure Payments GloballyJonathan LeBlanc
 
Modern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensModern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensJonathan LeBlanc
 
Creating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from ScratchCreating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from ScratchJonathan LeBlanc
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaJonathan LeBlanc
 
Protecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsProtecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsJonathan LeBlanc
 
Node.js Authentication and Data Security
Node.js Authentication and Data SecurityNode.js Authentication and Data Security
Node.js Authentication and Data SecurityJonathan LeBlanc
 
PHP Identity and Data Security
PHP Identity and Data SecurityPHP Identity and Data Security
PHP Identity and Data SecurityJonathan LeBlanc
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaJonathan LeBlanc
 
Identity in the Future of Embeddables & Wearables
Identity in the Future of Embeddables & WearablesIdentity in the Future of Embeddables & Wearables
Identity in the Future of Embeddables & WearablesJonathan LeBlanc
 

More from Jonathan LeBlanc (20)

JavaScript App Security: Auth and Identity on the Client
JavaScript App Security: Auth and Identity on the ClientJavaScript App Security: Auth and Identity on the Client
JavaScript App Security: Auth and Identity on the Client
 
Improving Developer Onboarding Through Intelligent Data Insights
Improving Developer Onboarding Through Intelligent Data InsightsImproving Developer Onboarding Through Intelligent Data Insights
Improving Developer Onboarding Through Intelligent Data Insights
 
Better Data with Machine Learning and Serverless
Better Data with Machine Learning and ServerlessBetter Data with Machine Learning and Serverless
Better Data with Machine Learning and Serverless
 
Best Practices for Application Development with Box
Best Practices for Application Development with BoxBest Practices for Application Development with Box
Best Practices for Application Development with Box
 
Box Platform Overview
Box Platform OverviewBox Platform Overview
Box Platform Overview
 
Box Platform Developer Workshop
Box Platform Developer WorkshopBox Platform Developer Workshop
Box Platform Developer Workshop
 
Modern Cloud Data Security Practices
Modern Cloud Data Security PracticesModern Cloud Data Security Practices
Modern Cloud Data Security Practices
 
Box Authentication Types
Box Authentication TypesBox Authentication Types
Box Authentication Types
 
Understanding Box UI Elements
Understanding Box UI ElementsUnderstanding Box UI Elements
Understanding Box UI Elements
 
Understanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scopingUnderstanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scoping
 
The Future of Online Money: Creating Secure Payments Globally
The Future of Online Money: Creating Secure Payments GloballyThe Future of Online Money: Creating Secure Payments Globally
The Future of Online Money: Creating Secure Payments Globally
 
Modern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensModern API Security with JSON Web Tokens
Modern API Security with JSON Web Tokens
 
Creating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from ScratchCreating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from Scratch
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication Media
 
Protecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsProtecting the Future of Mobile Payments
Protecting the Future of Mobile Payments
 
Node.js Authentication and Data Security
Node.js Authentication and Data SecurityNode.js Authentication and Data Security
Node.js Authentication and Data Security
 
PHP Identity and Data Security
PHP Identity and Data SecurityPHP Identity and Data Security
PHP Identity and Data Security
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication Media
 
BattleHack Los Angeles
BattleHack Los Angeles BattleHack Los Angeles
BattleHack Los Angeles
 
Identity in the Future of Embeddables & Wearables
Identity in the Future of Embeddables & WearablesIdentity in the Future of Embeddables & Wearables
Identity in the Future of Embeddables & Wearables
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 

Building a Mobile Location Aware System with Beacons

Editor's Notes

  1. Connection Type: Intermittant Battery Life: ~ 1.5 years (ha) Range: ~ 75-100 meters Data Latency: 3ms
  2. UUID: 16 byte string used to differentiate a large group of related beacons Major: 2 byte string used to distinguish a smaller subset of beacons within the larger group Minor: 2 byte string meant to identify individual beacons Tx Power: determine proximity (distance) from the beacon
  3. Use multiple beacons and average the results
  4. Sources of interference Microwave ovens: Using your microwave oven near your computer, Bluetooth device, or Wi-Fi base station may cause interference. Direct Satellite Service (DSS): The coax cable and connectors used with certain types of satellite dishes may cause interference. Check the cable for damage and obtain newer cables if you suspect RF leakage issues. Certain external electrical sources such as power lines, electrical railroad tracks, and power stations. 2.4 GHz or 5 GHz phones: A cordless telephone that operates in this range may cause interference with wireless devices or networks when used. Video senders (transmitters/receivers) that operate in the 2.4 GHz or 5 GHz bandwidth. Wireless speakers that operate in the 2.4 GHz or 5 GHz band. Certain external monitors and LCD displays: Certain displays may emit harmonic interference, especially in the 2.4GHz band between channels 11 and 14. This interference may be at its worst if you have a portable computer with the lid closed and an external monitor connected to it. Try changing your access point to use 5 Ghz or a lower 2.4 GHz channel. Any other wireless devices that operate in the 2.4 GHz or 5 GHz bandwidth (microwaves, cameras, baby monitors, neighbors' wireless devices, and so on).
  5. Things that create signal degradation – 3 levels of signal degredation https://support.apple.com/en-us/HT201542 Low Wood Synthetic material Glass Medium Water Bricks Marble High Plaster Concrete Bulletproof glass Very High Metal
  6. Adjusting the settings on your beacons through the estimote website (or like beacon settings)
  7. connection.writeMinor(minor, new BeaconConnection.WriteCallback() { @Override public void onSuccess() { … } @Override public void onError() { … } });
  8. connection.writeMinor(minor, new BeaconConnection.WriteCallback() { @Override public void onSuccess() { … } @Override public void onError() { … } });
  9. Have to use a physical device instead of the emulator http://stackoverflow.com/questions/20348743/bluetooth-low-energy-on-android-emulator Can work via virtualbox http://chrislarson.me/blog/emulate-android-and-bluetooth-le-hardware.html
  10. Region("regionId", UUID, major, minor); BeaconManager(context);
  11. beaconManager.connect invoked in #onstart
  12. http://blog.shinetech.com/2014/02/17/the-beacon-experiments-low-energy-bluetooth-devices-in-action/