SlideShare uma empresa Scribd logo
1 de 18
A little less conversation,
a little more iBeacons
Estimote iBeacons mini-hack
Jim Bennett
@JimBobBennett
http://JimBobBennett.io
What are we going to do
tonight?
• A quick overview of iBeacons
• The cool things you can do with them
• Hands on with the Estimote Xamarin component
• Lets play! Team up and build a treasure hunt app,
and win some beacons
What are iBeacons?
• Bluetooth LE devices
• Broadcast a fixed format
message defined by Apple on a
periodic basis
• Message has an Id, version
(major, minor), measured power
• Multiple iBeacons can have the
same Id, versions can be use to
distinguish different iBeacons
How do they interact with
your app?
• Apple defines an API to interact
with iBeacons as part of
CoreLocation
• Apps can register to monitor a
region - all beacons with a given Id
• Monitoring notifies when an
iBeacon moves in or out of range
• Monitoring can happen in the
background and will launch your
app
• Once your app is in the foreground,
you can range the iBeacons to get
their proximity/distance as it
changes
What does this mean for
your app?
• Indoor location awareness
• Context awareness
What apps can you build to
take advantage of this?
• Museum guide - app knows which exhibit you are
standing next to and plays the correct audio
• Theatre location - app can pinpoint your location and
direct you to your seat
• Shopping - notifications of special offers when you are
next to the items on offer
• Respond to indoor location - turn your lights off when
you put your phone down on your bedside table, notify
friends when you are home safe
Problems!
• Security - anyone can read your beacon by scanning
for Bluetooth devices and spoof your id
• Power - some iBeacons run off the mains so need
socket, battery powered ones will die and need
replacing
• Accuracy - not very, for example in a busy location
people can decrease signal strength
• No simulator support - need an actual device for
debugging
Estimote iBeacons
• Estimote have extended the
capabilities of their iBeacons
• Distance measurements, flip to
power off
• Indoor location SDK
• Android support
• Xamarin component
• Nearables
• Strong developer community support
• Other iBeacon providers are
available
Best of all!
Free beacons!
2 dev kits to be given away, everyone gets 10% off their first Estimote
order and Stickers for everyone
Code
Examples at:
https://github.com/jimbobbennett/iBeaconsMiniHack
https://gist.github.com/jimbobbennett
Step 1 - add the component
• Install the Estimote SDK for iOS component
Step 2 - add the permissions
• Need either NSLocationWhenInUseUsageDescription or
NSLocationAlwaysUsageDescription set
Step 3 - Setup the
BeaconManager and
authorise
• Create a BeaconManager - this wraps CLLocationManager
• Listen for changes to the authorisation status
• Request permission
Step 4 - Start ranging
beacons
• To range you need to specify a region
• Each region is based on a UUID and optionally a major and minor
version
• Each region must have a name and you can use this in the event
handler to correctly handle the ranging of beacons from multiple
regions
• By default all brand new Estimote iBeacons have a UUID of
B9407F30-F5F8-466E-AFF9-25556B57FE6D
Step 5 - Handle the ranged
beacons
• The Ranged event provides a list of beacons
• Contains just the one that was ranged, or all of them depending on the
setup
Gotcha’s
• Distance of -1
• Means not enough signal or advertising packets - ramp up the
broadcast rate
• Checking for equality
• Beacons are equal if the UUID/version matches. Beacons in the event
args are new instances.
• Not working - check authorization!
• Make sure your code requests authorization and handles the denied
case.
Lets find some treasure!
Your challenge:
Form small teams - ideally 3 to a team
There will be 3 beacons hidden in another room
Write an app to find the beacons and record the
letters written on each
Each team will enter the room one at a time - the
fastest team to locate them all wins some booty - an
Estimote iBeacons dev kit with 3 iBeacons - worth
$100
Afterwards each team will show off their results. The
team with the best app wins another Estimote dev kit
Useful links
• http://estimote.com
• https://gist.github.com/jimbobbennett/07fb701789abce7bdc8b
• https://github.com/jimbobbennett/iBeaconsMiniHack
• https://developer.apple.com/library/ios/documentation/UserExperience/
Conceptual/LocationAwarenessPG/RegionMonitoring/RegionMonitoring
.html#//apple_ref/doc/uid/TP40009497-CH9-SW1
• http://motzcod.es/post/105283789517/ios-ibeacon-background-region-
monitoring
• http://motzcod.es/post/97662738237/scanning-for-ibeacons-in-ios-8
• https://www.brooklynmuseum.org/community/blogosphere/2015/02/04/t
he-realities-of-installing-ibeacon-to-scale/

Mais conteúdo relacionado

Mais procurados

Workshop: Building location-aware mobile apps with iBeacons
Workshop: Building location-aware mobile apps with iBeaconsWorkshop: Building location-aware mobile apps with iBeacons
Workshop: Building location-aware mobile apps with iBeaconsHeather Downing
 
iBeacon Indoor Proximity System
iBeacon Indoor Proximity SystemiBeacon Indoor Proximity System
iBeacon Indoor Proximity SystemEnnio Masi
 
Eddystone beacons: Everything you need to know
Eddystone beacons: Everything you need to knowEddystone beacons: Everything you need to know
Eddystone beacons: Everything you need to knowBeaconstac
 
Building Mobile Proximity Apps with iBeacon
Building Mobile Proximity Apps with iBeaconBuilding Mobile Proximity Apps with iBeacon
Building Mobile Proximity Apps with iBeaconDavid Helms
 
Telerik AppBuilder, Estimote Beacons, and the IoT - Presentation for TelerikNEXT
Telerik AppBuilder, Estimote Beacons, and the IoT - Presentation for TelerikNEXTTelerik AppBuilder, Estimote Beacons, and the IoT - Presentation for TelerikNEXT
Telerik AppBuilder, Estimote Beacons, and the IoT - Presentation for TelerikNEXTJen Looper
 
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
 
NewAer Beacon Summit Dusseldorf 2015
NewAer Beacon Summit Dusseldorf 2015NewAer Beacon Summit Dusseldorf 2015
NewAer Beacon Summit Dusseldorf 2015Dave Mathews
 
Factors effecting positional accuracy of iBeacons
Factors effecting positional accuracy of iBeacons Factors effecting positional accuracy of iBeacons
Factors effecting positional accuracy of iBeacons Chris Thomson
 
Estimote q3-demo-betaworks ja00044-dosada
Estimote q3-demo-betaworks ja00044-dosadaEstimote q3-demo-betaworks ja00044-dosada
Estimote q3-demo-betaworks ja00044-dosadaDaisuke Osada
 
Location-Aware Salesforce1 Development with Beacons
Location-Aware Salesforce1 Development with BeaconsLocation-Aware Salesforce1 Development with Beacons
Location-Aware Salesforce1 Development with BeaconsSalesforce Developers
 
Geo tech masterclass_beacons_oct
Geo tech masterclass_beacons_octGeo tech masterclass_beacons_oct
Geo tech masterclass_beacons_octLuke Hampson
 
Beacon The Google Way
Beacon The Google WayBeacon The Google Way
Beacon The Google WayKetan Raval
 
Health Care Clipboard iPad Application
Health Care Clipboard iPad ApplicationHealth Care Clipboard iPad Application
Health Care Clipboard iPad ApplicationJose Ortega
 
Development of a mobile app for Android
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for AndroidAlexJReid
 
Why Streethawk re-wrote ibeacon handling on Android
Why Streethawk re-wrote ibeacon handling on AndroidWhy Streethawk re-wrote ibeacon handling on Android
Why Streethawk re-wrote ibeacon handling on AndroidDavid Jones
 
My home iot for dev connect korea
My home iot for dev connect koreaMy home iot for dev connect korea
My home iot for dev connect koreaYoonseok Hur
 

Mais procurados (20)

Workshop: Building location-aware mobile apps with iBeacons
Workshop: Building location-aware mobile apps with iBeaconsWorkshop: Building location-aware mobile apps with iBeacons
Workshop: Building location-aware mobile apps with iBeacons
 
iBeacon introduction and overview
iBeacon introduction and overviewiBeacon introduction and overview
iBeacon introduction and overview
 
iBeacon Indoor Proximity System
iBeacon Indoor Proximity SystemiBeacon Indoor Proximity System
iBeacon Indoor Proximity System
 
Eddystone beacons: Everything you need to know
Eddystone beacons: Everything you need to knowEddystone beacons: Everything you need to know
Eddystone beacons: Everything you need to know
 
Building Mobile Proximity Apps with iBeacon
Building Mobile Proximity Apps with iBeaconBuilding Mobile Proximity Apps with iBeacon
Building Mobile Proximity Apps with iBeacon
 
Telerik AppBuilder, Estimote Beacons, and the IoT - Presentation for TelerikNEXT
Telerik AppBuilder, Estimote Beacons, and the IoT - Presentation for TelerikNEXTTelerik AppBuilder, Estimote Beacons, and the IoT - Presentation for TelerikNEXT
Telerik AppBuilder, Estimote Beacons, and the IoT - Presentation for TelerikNEXT
 
iBeacon and Bluetooth LE: An Introduction
iBeacon and Bluetooth LE: An Introduction iBeacon and Bluetooth LE: An Introduction
iBeacon and Bluetooth LE: An Introduction
 
NewAer Beacon Summit Dusseldorf 2015
NewAer Beacon Summit Dusseldorf 2015NewAer Beacon Summit Dusseldorf 2015
NewAer Beacon Summit Dusseldorf 2015
 
Factors effecting positional accuracy of iBeacons
Factors effecting positional accuracy of iBeacons Factors effecting positional accuracy of iBeacons
Factors effecting positional accuracy of iBeacons
 
Estimote q3-demo-betaworks ja00044-dosada
Estimote q3-demo-betaworks ja00044-dosadaEstimote q3-demo-betaworks ja00044-dosada
Estimote q3-demo-betaworks ja00044-dosada
 
I beacons 101
I beacons 101I beacons 101
I beacons 101
 
Location-Aware Salesforce1 Development with Beacons
Location-Aware Salesforce1 Development with BeaconsLocation-Aware Salesforce1 Development with Beacons
Location-Aware Salesforce1 Development with Beacons
 
Geo tech masterclass_beacons_oct
Geo tech masterclass_beacons_octGeo tech masterclass_beacons_oct
Geo tech masterclass_beacons_oct
 
Beacon The Google Way
Beacon The Google WayBeacon The Google Way
Beacon The Google Way
 
What is iBeacon in iOS?
What is iBeacon in iOS?What is iBeacon in iOS?
What is iBeacon in iOS?
 
Health Care Clipboard iPad Application
Health Care Clipboard iPad ApplicationHealth Care Clipboard iPad Application
Health Care Clipboard iPad Application
 
Development of a mobile app for Android
Development of a mobile app for AndroidDevelopment of a mobile app for Android
Development of a mobile app for Android
 
Why Streethawk re-wrote ibeacon handling on Android
Why Streethawk re-wrote ibeacon handling on AndroidWhy Streethawk re-wrote ibeacon handling on Android
Why Streethawk re-wrote ibeacon handling on Android
 
My home iot for dev connect korea
My home iot for dev connect koreaMy home iot for dev connect korea
My home iot for dev connect korea
 
WWDC 2017
WWDC 2017WWDC 2017
WWDC 2017
 

Destaque

Using iBeacon with Xamarin.iOS and Xamarin.Android
Using iBeacon with Xamarin.iOS and Xamarin.AndroidUsing iBeacon with Xamarin.iOS and Xamarin.Android
Using iBeacon with Xamarin.iOS and Xamarin.AndroidGlenn Stephens
 
What can I do with Estimote Beacons?
What can I do with Estimote Beacons?What can I do with Estimote Beacons?
What can I do with Estimote Beacons?Estimote
 
Jakub Krzych - Estimote - Poland - Stanford Engineering - Jan 26 2015
Jakub Krzych - Estimote - Poland - Stanford Engineering - Jan 26 2015Jakub Krzych - Estimote - Poland - Stanford Engineering - Jan 26 2015
Jakub Krzych - Estimote - Poland - Stanford Engineering - Jan 26 2015Burton Lee
 
How to start with Estimote Beacons?
How to start with Estimote Beacons?How to start with Estimote Beacons?
How to start with Estimote Beacons?Estimote
 
Estimote Beacons
Estimote BeaconsEstimote Beacons
Estimote BeaconsEstimote
 

Destaque (6)

Using iBeacon with Xamarin.iOS and Xamarin.Android
Using iBeacon with Xamarin.iOS and Xamarin.AndroidUsing iBeacon with Xamarin.iOS and Xamarin.Android
Using iBeacon with Xamarin.iOS and Xamarin.Android
 
GSU Beacon
GSU BeaconGSU Beacon
GSU Beacon
 
What can I do with Estimote Beacons?
What can I do with Estimote Beacons?What can I do with Estimote Beacons?
What can I do with Estimote Beacons?
 
Jakub Krzych - Estimote - Poland - Stanford Engineering - Jan 26 2015
Jakub Krzych - Estimote - Poland - Stanford Engineering - Jan 26 2015Jakub Krzych - Estimote - Poland - Stanford Engineering - Jan 26 2015
Jakub Krzych - Estimote - Poland - Stanford Engineering - Jan 26 2015
 
How to start with Estimote Beacons?
How to start with Estimote Beacons?How to start with Estimote Beacons?
How to start with Estimote Beacons?
 
Estimote Beacons
Estimote BeaconsEstimote Beacons
Estimote Beacons
 

Semelhante a Xamarin iBeacon Mini-hack using Estimote iBeacons

Using Beacons in a Mobile App - IoT Nearables
Using Beacons in a Mobile App - IoT NearablesUsing Beacons in a Mobile App - IoT Nearables
Using Beacons in a Mobile App - IoT NearablesJen Looper
 
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7Rapid7
 
ibeacons, Privacy & Customer Segmentation - StreetHawk
ibeacons, Privacy & Customer Segmentation - StreetHawkibeacons, Privacy & Customer Segmentation - StreetHawk
ibeacons, Privacy & Customer Segmentation - StreetHawkDavid Jones
 
Resisting App Pirates
Resisting App PiratesResisting App Pirates
Resisting App Piratesripeapps
 
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
 
[CB19] I KNOW WHAT YOU DID LAST NIGHT : Pwning The State-Of-The-Art the IoT H...
[CB19] I KNOW WHAT YOU DID LAST NIGHT : Pwning The State-Of-The-Art the IoT H...[CB19] I KNOW WHAT YOU DID LAST NIGHT : Pwning The State-Of-The-Art the IoT H...
[CB19] I KNOW WHAT YOU DID LAST NIGHT : Pwning The State-Of-The-Art the IoT H...CODE BLUE
 
Estimote beacons and simple Android application (full)
Estimote beacons and simple Android application (full)Estimote beacons and simple Android application (full)
Estimote beacons and simple Android application (full)davidepiccardi
 
iBeacons Tech talk
iBeacons Tech talk iBeacons Tech talk
iBeacons Tech talk Howard Huang
 
iBeacon™ FAQ White Paper
iBeacon™ FAQ White PaperiBeacon™ FAQ White Paper
iBeacon™ FAQ White PaperRed Fox Insights
 
Smart Phones for Real Estate (property of HAR)
Smart Phones for Real Estate (property of HAR)Smart Phones for Real Estate (property of HAR)
Smart Phones for Real Estate (property of HAR)Marilyn M. Maxwell
 
[CB16] BLE authentication design challenges on smartphone controlled IoT devi...
[CB16] BLE authentication design challenges on smartphone controlled IoT devi...[CB16] BLE authentication design challenges on smartphone controlled IoT devi...
[CB16] BLE authentication design challenges on smartphone controlled IoT devi...CODE BLUE
 
voice recognition security system ppt
voice recognition security system pptvoice recognition security system ppt
voice recognition security system pptNitesh Dubey
 
Foo Café 20160407 - Beacons and PhoneGap in practice
Foo Café 20160407 - Beacons and PhoneGap in practiceFoo Café 20160407 - Beacons and PhoneGap in practice
Foo Café 20160407 - Beacons and PhoneGap in practiceAbiro AB
 
BLE Beacons4classrooms - iBeacons
BLE Beacons4classrooms - iBeaconsBLE Beacons4classrooms - iBeacons
BLE Beacons4classrooms - iBeaconsgarybau
 
PayPal Beacon and Apple iBeacon
PayPal Beacon and Apple iBeaconPayPal Beacon and Apple iBeacon
PayPal Beacon and Apple iBeaconChitpong Wuttanan
 
Location Based Development Using Xamarin
Location Based Development Using XamarinLocation Based Development Using Xamarin
Location Based Development Using XamarinKym Phillpotts
 
A crash course in iBeacon technology
A crash course in iBeacon technologyA crash course in iBeacon technology
A crash course in iBeacon technologyKlyp
 

Semelhante a Xamarin iBeacon Mini-hack using Estimote iBeacons (20)

Using Beacons in a Mobile App - IoT Nearables
Using Beacons in a Mobile App - IoT NearablesUsing Beacons in a Mobile App - IoT Nearables
Using Beacons in a Mobile App - IoT Nearables
 
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
 
ibeacons, Privacy & Customer Segmentation - StreetHawk
ibeacons, Privacy & Customer Segmentation - StreetHawkibeacons, Privacy & Customer Segmentation - StreetHawk
ibeacons, Privacy & Customer Segmentation - StreetHawk
 
Resisting App Pirates
Resisting App PiratesResisting App Pirates
Resisting App Pirates
 
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
 
[CB19] I KNOW WHAT YOU DID LAST NIGHT : Pwning The State-Of-The-Art the IoT H...
[CB19] I KNOW WHAT YOU DID LAST NIGHT : Pwning The State-Of-The-Art the IoT H...[CB19] I KNOW WHAT YOU DID LAST NIGHT : Pwning The State-Of-The-Art the IoT H...
[CB19] I KNOW WHAT YOU DID LAST NIGHT : Pwning The State-Of-The-Art the IoT H...
 
Estimote beacons and simple Android application (full)
Estimote beacons and simple Android application (full)Estimote beacons and simple Android application (full)
Estimote beacons and simple Android application (full)
 
Webapi
WebapiWebapi
Webapi
 
Ibeacon
IbeaconIbeacon
Ibeacon
 
JAM805 - Beyond the Device
JAM805 -  Beyond the DeviceJAM805 -  Beyond the Device
JAM805 - Beyond the Device
 
iBeacons Tech talk
iBeacons Tech talk iBeacons Tech talk
iBeacons Tech talk
 
iBeacon™ FAQ White Paper
iBeacon™ FAQ White PaperiBeacon™ FAQ White Paper
iBeacon™ FAQ White Paper
 
Smart Phones for Real Estate (property of HAR)
Smart Phones for Real Estate (property of HAR)Smart Phones for Real Estate (property of HAR)
Smart Phones for Real Estate (property of HAR)
 
[CB16] BLE authentication design challenges on smartphone controlled IoT devi...
[CB16] BLE authentication design challenges on smartphone controlled IoT devi...[CB16] BLE authentication design challenges on smartphone controlled IoT devi...
[CB16] BLE authentication design challenges on smartphone controlled IoT devi...
 
voice recognition security system ppt
voice recognition security system pptvoice recognition security system ppt
voice recognition security system ppt
 
Foo Café 20160407 - Beacons and PhoneGap in practice
Foo Café 20160407 - Beacons and PhoneGap in practiceFoo Café 20160407 - Beacons and PhoneGap in practice
Foo Café 20160407 - Beacons and PhoneGap in practice
 
BLE Beacons4classrooms - iBeacons
BLE Beacons4classrooms - iBeaconsBLE Beacons4classrooms - iBeacons
BLE Beacons4classrooms - iBeacons
 
PayPal Beacon and Apple iBeacon
PayPal Beacon and Apple iBeaconPayPal Beacon and Apple iBeacon
PayPal Beacon and Apple iBeacon
 
Location Based Development Using Xamarin
Location Based Development Using XamarinLocation Based Development Using Xamarin
Location Based Development Using Xamarin
 
A crash course in iBeacon technology
A crash course in iBeacon technologyA crash course in iBeacon technology
A crash course in iBeacon technology
 

Mais de Jim Bennett

Intro to the Cloud from TeenHacks LI
Intro to the Cloud from TeenHacks LIIntro to the Cloud from TeenHacks LI
Intro to the Cloud from TeenHacks LIJim Bennett
 
WooHoo my app is on the store! Now what?
WooHoo my app is on the store! Now what?WooHoo my app is on the store! Now what?
WooHoo my app is on the store! Now what?Jim Bennett
 
Building Fabulous mobile apps with F#
Building Fabulous mobile apps with F#Building Fabulous mobile apps with F#
Building Fabulous mobile apps with F#Jim Bennett
 
Adding platform specific magic to cross-platform Xamarin Forms apps
Adding platform specific magic to cross-platform Xamarin Forms appsAdding platform specific magic to cross-platform Xamarin Forms apps
Adding platform specific magic to cross-platform Xamarin Forms appsJim Bennett
 
Learning to love f#
Learning to love f#Learning to love f#
Learning to love f#Jim Bennett
 
App center - the gateway drug to mobile devops
App center -  the gateway drug to mobile devopsApp center -  the gateway drug to mobile devops
App center - the gateway drug to mobile devopsJim Bennett
 
Adding platform specific magic to cross-platform Xamarin Forms apps
Adding platform specific magic to cross-platform Xamarin Forms appsAdding platform specific magic to cross-platform Xamarin Forms apps
Adding platform specific magic to cross-platform Xamarin Forms appsJim Bennett
 
Cross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMCross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMJim Bennett
 
Clicking on the real world with iBeacon and eddystone
Clicking on the real world with iBeacon and eddystoneClicking on the real world with iBeacon and eddystone
Clicking on the real world with iBeacon and eddystoneJim Bennett
 

Mais de Jim Bennett (9)

Intro to the Cloud from TeenHacks LI
Intro to the Cloud from TeenHacks LIIntro to the Cloud from TeenHacks LI
Intro to the Cloud from TeenHacks LI
 
WooHoo my app is on the store! Now what?
WooHoo my app is on the store! Now what?WooHoo my app is on the store! Now what?
WooHoo my app is on the store! Now what?
 
Building Fabulous mobile apps with F#
Building Fabulous mobile apps with F#Building Fabulous mobile apps with F#
Building Fabulous mobile apps with F#
 
Adding platform specific magic to cross-platform Xamarin Forms apps
Adding platform specific magic to cross-platform Xamarin Forms appsAdding platform specific magic to cross-platform Xamarin Forms apps
Adding platform specific magic to cross-platform Xamarin Forms apps
 
Learning to love f#
Learning to love f#Learning to love f#
Learning to love f#
 
App center - the gateway drug to mobile devops
App center -  the gateway drug to mobile devopsApp center -  the gateway drug to mobile devops
App center - the gateway drug to mobile devops
 
Adding platform specific magic to cross-platform Xamarin Forms apps
Adding platform specific magic to cross-platform Xamarin Forms appsAdding platform specific magic to cross-platform Xamarin Forms apps
Adding platform specific magic to cross-platform Xamarin Forms apps
 
Cross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVMCross platform Xamarin Apps With MVVM
Cross platform Xamarin Apps With MVVM
 
Clicking on the real world with iBeacon and eddystone
Clicking on the real world with iBeacon and eddystoneClicking on the real world with iBeacon and eddystone
Clicking on the real world with iBeacon and eddystone
 

Último

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
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
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
🐬 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
 
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
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
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
 

Último (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
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...
 

Xamarin iBeacon Mini-hack using Estimote iBeacons

  • 1. A little less conversation, a little more iBeacons Estimote iBeacons mini-hack Jim Bennett @JimBobBennett http://JimBobBennett.io
  • 2. What are we going to do tonight? • A quick overview of iBeacons • The cool things you can do with them • Hands on with the Estimote Xamarin component • Lets play! Team up and build a treasure hunt app, and win some beacons
  • 3. What are iBeacons? • Bluetooth LE devices • Broadcast a fixed format message defined by Apple on a periodic basis • Message has an Id, version (major, minor), measured power • Multiple iBeacons can have the same Id, versions can be use to distinguish different iBeacons
  • 4. How do they interact with your app? • Apple defines an API to interact with iBeacons as part of CoreLocation • Apps can register to monitor a region - all beacons with a given Id • Monitoring notifies when an iBeacon moves in or out of range • Monitoring can happen in the background and will launch your app • Once your app is in the foreground, you can range the iBeacons to get their proximity/distance as it changes
  • 5. What does this mean for your app? • Indoor location awareness • Context awareness
  • 6. What apps can you build to take advantage of this? • Museum guide - app knows which exhibit you are standing next to and plays the correct audio • Theatre location - app can pinpoint your location and direct you to your seat • Shopping - notifications of special offers when you are next to the items on offer • Respond to indoor location - turn your lights off when you put your phone down on your bedside table, notify friends when you are home safe
  • 7. Problems! • Security - anyone can read your beacon by scanning for Bluetooth devices and spoof your id • Power - some iBeacons run off the mains so need socket, battery powered ones will die and need replacing • Accuracy - not very, for example in a busy location people can decrease signal strength • No simulator support - need an actual device for debugging
  • 8. Estimote iBeacons • Estimote have extended the capabilities of their iBeacons • Distance measurements, flip to power off • Indoor location SDK • Android support • Xamarin component • Nearables • Strong developer community support • Other iBeacon providers are available
  • 9. Best of all! Free beacons! 2 dev kits to be given away, everyone gets 10% off their first Estimote order and Stickers for everyone
  • 11. Step 1 - add the component • Install the Estimote SDK for iOS component
  • 12. Step 2 - add the permissions • Need either NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription set
  • 13. Step 3 - Setup the BeaconManager and authorise • Create a BeaconManager - this wraps CLLocationManager • Listen for changes to the authorisation status • Request permission
  • 14. Step 4 - Start ranging beacons • To range you need to specify a region • Each region is based on a UUID and optionally a major and minor version • Each region must have a name and you can use this in the event handler to correctly handle the ranging of beacons from multiple regions • By default all brand new Estimote iBeacons have a UUID of B9407F30-F5F8-466E-AFF9-25556B57FE6D
  • 15. Step 5 - Handle the ranged beacons • The Ranged event provides a list of beacons • Contains just the one that was ranged, or all of them depending on the setup
  • 16. Gotcha’s • Distance of -1 • Means not enough signal or advertising packets - ramp up the broadcast rate • Checking for equality • Beacons are equal if the UUID/version matches. Beacons in the event args are new instances. • Not working - check authorization! • Make sure your code requests authorization and handles the denied case.
  • 17. Lets find some treasure! Your challenge: Form small teams - ideally 3 to a team There will be 3 beacons hidden in another room Write an app to find the beacons and record the letters written on each Each team will enter the room one at a time - the fastest team to locate them all wins some booty - an Estimote iBeacons dev kit with 3 iBeacons - worth $100 Afterwards each team will show off their results. The team with the best app wins another Estimote dev kit
  • 18. Useful links • http://estimote.com • https://gist.github.com/jimbobbennett/07fb701789abce7bdc8b • https://github.com/jimbobbennett/iBeaconsMiniHack • https://developer.apple.com/library/ios/documentation/UserExperience/ Conceptual/LocationAwarenessPG/RegionMonitoring/RegionMonitoring .html#//apple_ref/doc/uid/TP40009497-CH9-SW1 • http://motzcod.es/post/105283789517/ios-ibeacon-background-region- monitoring • http://motzcod.es/post/97662738237/scanning-for-ibeacons-in-ios-8 • https://www.brooklynmuseum.org/community/blogosphere/2015/02/04/t he-realities-of-installing-ibeacon-to-scale/

Notas do Editor

  1. At the end of this slide - organise everyone into teams, minimum 1 iOS dev per team, ideally max 3 to a team
  2. iBeacons use Bluetooth 4.0 LE. Very low power so can run for a long time. Estimote reckon 2 years for their battery powered iBeacons. The frequency of the broadcast can vary - less time to save battery life. Apple recommends 100ms. The Id is a 128bit UUID, version is 2 16-bit integers for major and minor Multiple beacons with the same Id can be used to indicate the same thing to allow discovery over a wider area than the broadcast power of a single iBeacon.
  3. Monitoring detects iBeacons moving into an our of fixed ranges. Once your app is in the foreground you can range the iBeacons to get notifications of distance changes. The iBeacon message contains the measured power. The API provides a value for the RSSI - relative signal strength indicator. This is the power detected by the iOS device and can be used to calculate the approximate distance. Distance is only approximate and is based on assuming empty air - things in the way can reduce the detected signal - furniture, people etc. Ranging will call a method regularly when your app is in the foreground to provide the updated distance.
  4. Indoor location - an app can know where it is without accurate GPS. Useful for finding your seat in a stadium, directing you around a hospital etc. Context aware - it can resolve the id to a context, such as a painting in a gallery.
  5. Security can be a problem for payments - another beacon can broadcast the same id and the wrong person pays. Battery is an issue with large installations - imaging having to replace them regularly in an art gallery where they would be hidden behind pictures. Not accurate with people in the way - a problem in busy areas like shops, museums and art galleries. Brooklyn Museum has a great article on this.
  6. I don’t work for Estimote, just like their products. Custom SDK on top of iOS CoreLocation, cloud offering to provide CMS for beacon ids Indoor location to easily plot location in a room Android support similar to iOS support and getting closer all the time Strong Xamarin support, strong dev community. Nearables provide temperature, movement triggers
  7. Estimote have provided 2 iBeacon developer kits with $100 each to be given away at this talk. They will also provide 10% off on your first order with them, just email them at contact@estimote.com Also - free stickers!
  8. New single page iOS app. Need correct identifier so it can run on a device
  9. Install the component and it shows a nice getting started guide
  10. Set the relevant item in the info.plist. It’s not a default option so needs to be added as a new property The contents of the string is shown in the alert when the app asks for permission Visual studio users - you will need to edit the plist source directly.
  11. If the app has never requested authorisation then the request will pop up an alert to the user. RequesWhenInUseAuthorization or RequestAlwaysAuthorization - and the relevant info.plist item should be there. Default authorization state is NotDetermined. Event will fire with a status of AuthorizedAlways, AuthorizedWhenInUse, Denied. Denied means the user has to turn it on in settings - this happens when they reject the alert - you need to handle this case!
  12. You can range up to 20 regions. Every beacon that matches the region will be detected on every beacon signal - this rate is set on the beacon. Faster means better ranging but lower battery life. As each signal is detected the event is fired. It can be fired once per detected signal or the event can include all ranged beacons in one bundle. The UUID of a beacon can be configured using the Estimote SDK or app. Default UUID is on a gist - https://gist.github.com/jimbobbennett/9d815bafe4dd432f7e09
  13. Broadcast rates can be set in code or from the Estimote app but needs authorisation. Each iBeacon is assigned to an account and you need to log into that account to change beacon settings. This stops malicious changes. When storing beacons in a list beware the comparison - the event provides new instances so although they are equal by ID, the properties are different.