Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EddyStone Beacons at DevFest 15

3a7c04e082380dc5d76182aefb1e244a?s=47 Selim
November 14, 2015

EddyStone Beacons at DevFest 15

A workshop about Google EddyStone open protocol workshop at DevFest 15 Berlin



November 14, 2015

More Decks by Selim

Other Decks in Programming


  1. Beacons MicroLocation, Context and The PhysicalWeb A Selim Salman plus.google.com/+ASelimSalman

    aselims.github.io twitter.com/A_SelimS
  2. Diversified Android Engineer Technology Evangelist Interested about Ubiquitous Computing selim.2k@gmail.com

    aselims.github.io @a_selims
  3. Agenda - Intro to Beacons - Use Cases - Workshop

    Coding - Get the extra mile!
  4. What is a Beacon? - Beacons are simple devices that

    send one-way BLE signals. - Estimote Beacon is a small computer. Its 32-bit ARM® Cortex M0 CPU is accompanied by accelerometer, temperature sensor, and what is most important—2.4 GHz radio using Bluetooth 4.0 Smart, also known as BLE or Bluetooth low energy. - Google's beacon platform enables contextual experiences for your users through interactions with BLE
  5. EcoSystem QR code RFID / NFC Beacon GPS ... Location

  6. A Beacon Bluetooth Smart (BLE) 40-50m Pairing Distance: - Transmit

    power (TX) - Signal strength (RSSi) Blinking attitude ;) 70m
  7. Use Case Scenarios Estimote Image

  8. Just imagine! Google Image

  9. Markup the world! Google Image

  10. Eddystone specification • Open • FrameType: a. Eddystone-UID: An opaque

    unique ID. 0x00 b. Eddystone-URL: A compressed URL that, once parsed and decompressed, is directly usable by the client. 0x10 c. Eddystone-TLM: A block of telemetry information containing beacon status and runtime values. 0x20
  11. Eddystone specification

  12. Eddystone Beacons Manufacturer And more… Estimote

  13. The Physical Web Every device has a url • a

    wirelessly broadcasted URL • software on a device that detects and displays the URL when requested Analogy:IPv6 Any BLE-enabled device can receive it! https://play.google.com/store/apps/details?id=physical_web.org.physicalweb
  14. Demo Time

  15. Before we start Minimum: Android 4.3 (Jelly Bean, API Level18)

    Better: Android 5.0 (Lollipop, API Level 21) “LEScanner” Be Aware: Android 6.0 (Marshmallow, API Level 23) “Permissions!”
  16. Permissions <!– Allow any Bluetooth communication --> <uses-permission android:name="android.permission.BLUETOOTH"/> <!–

    Allow device discovery --> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <!– Allow location access for Android 6.0 Marshmallow (API Level 23) --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> Limit to BLE-capable devices (or check inside App instead): <uses-feature android:name="android.hardware.bluetooth_le" android:required="true“/>
  17. Let us get it started! Show me the Code

  18. Links https://developers.google.com/beacons/proximity/attachments https://developers.google.com/nearby/ https://developers.google.com/beacons/proximity/ https://google.github.io/physical-web/ https://github.com/google/beacon-platform https://github.com/google/beacon-platform/tree/master/samples/android https://github.com/google/eddystone http://developer.estimote.com/