Trifork iBeacon Demo Lunch Talk
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Trifork iBeacon Demo Lunch Talk

on

  • 967 views

Slides from a Trifork Mobile lunch talk about iBeacons on Android on 5/5-2014.

Slides from a Trifork Mobile lunch talk about iBeacons on Android on 5/5-2014.

Statistics

Views

Total Views
967
Views on SlideShare
964
Embed Views
3

Actions

Likes
2
Downloads
47
Comments
0

1 Embed 3

http://www.slideee.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Trifork iBeacon Demo Lunch Talk Presentation Transcript

  • 1. Trifork iBeacon Demo Mobile Lunch 05.05.2014
  • 2. Bluetooth Low Energy (BLE)
  • 3. iBeacons • iBeacon is a BLE profile specification formalised by Apple. It is not a standard. • It can work on all devices that support Bluetooth LE, not just iOS. • 2 primary use cases: Proximity and Ranging. • Works indoors.
  • 4. What is iBeacons
  • 5. Bluetooth LE Support • Requires a Bluetooth LE chip. Only newer phones/ tablets has it. • Windows: Phone 8.1 (?%), Lumia 520, 620, 625, 720 • iOS: 7.0+ (87%), iPhone 4s+, iPad 3rd generation+ • Android: 4.3 (14%), Samsung Galaxy S3+, Nexus 4+
  • 6. iBeacon protocol • Advertisement bluetooth package. • Mac-address is spoofed on iOS. • Proximity UUID: 16 byte UUID • Major: 0 - 65.535 • Minor: 0 - 65.535 • TxPower: Signal Strength at 1m from iBeacon.
  • 7. Detecting a iBeacon • Can make drive-by-detection hard. Battery matters on both ends. • Devices do not talk to each other. Phone simply listens to heartbeats from iBeacon. • Scan time and intervals should be non-regular numbers, eg. scan period of 1.1s. instead of 1s.
  • 8. Detecting proximity • Just check for existence of the right combination of <Proximity UUID, Major, Minor> • No guarantee that iBeacon is unique.
  • 9. Detecting range • Hard problem. Many scientific papers on the subject. • Water blocks bluetooth signals. Guess what humans are mostly made of? • Algorithm not known on iOS. • Thus only rough estimates -> Immediate, Near, Far. • Recommendation is to use relative range instead of absolute. • “You know if you are close to an iBeacon, otherwise you don’t know anything”.
  • 10. Code/SDK’s • Android doesn’t not provide a common API. Each app must implement it. • Androids Geofencing API doesn’t support iBeacons (yet). • SDK’s exist that make it easy: Estimote, Radius Network, Gimbal (soon?). • Demo app: https://github.com/cmelchior/trifork- ibeacon-demo
  • 11. Keynote now has animated GIF Support :)
  • 12. Lessons learned • Android Bluetooth stack is flawed. Crashes when it has seen 2000 MAC’s: https://code.google.com/p/android/ issues/detail?id=67272 • When monitoring, battery impact is small. It is still noticeable over a day however. Scan intervals matters!!! • Ranging is very unprecise. • Exit/Entry into a region can happen very frequently due to scans missing the iBeacon.
  • 13. Links • http://en.wikipedia.org/wiki/IBeacon • http://www.warski.org/blog/2014/01/how-ibeacons-work/ • http://stackoverflow.com/questions/18906988/what-is-the-ibeacon- bluetooth-profile • http://stackoverflow.com/questions/20416218/understanding- ibeacon-distancing • http://localz.co/blog/ibeacon-ble-hardware-commercial-comparison/ • https://github.com/RadiusNetworks/android-ibeacon-service • https://github.com/Estimote/Android-SDK