iBeacon for Dummies

43 %
57 %
Information about iBeacon for Dummies
Education

Published on April 26, 2014

Author: betabeers

Source: slideshare.net

Description

Julio Galarón
Betabeers Madrid - 25 Abril 2014

Julio Galarón Touriño @jgalaron

Beacon Un beacon (baliza), es cualquier dispositivo que emite una determinada señal periódica que permite a otro dispositivo recibirla y actuar en consecuencia. Una baliza no puede identificar quién ha escuchado su señal. Los clientes no se conectan a las balizas, sólo escuchan las notificaciones que estas envían.

Bluetooth Smart También conocido como Bluetooth Low Energy (o Bluetooth LE) Desarrollado por Nokia en 2006 bajo la marca Wibree. Adoptado en 2010 bajo la nueva especificación bluetooth 4. Optimizado para bajo consumo (15mA en escritura y 2uA en reposo. Entre un 10 y 20 % menos con respecto a las versiones anteriores de BT, lo que permite el empleo de pequeñas pilas de tipo CR) y transmisiones de paquetes pequeños (236.7 kbps thoughtput) Altamente resistente al ruido y a la interferencia (hay que tener en cuenta que BT trabaja en la banda abierta de 2,4GHz) Chips con un coste relativamente bajo y que abarcan muy poca superficie en pcb.

Bluetooth Smart no es retrocompatible. Para asegurar el soporte con versiones anteriores de Bluetooth, se define un modo dual denominado Bluetooth Smart Ready.

Bluetooth emplea la modulación FHSS (Frequency Hopping Spread Spectrum. Espectro ensanchado por salto de frecuencia), aportando las siguientes ventajas en las comunicaciones: 1. Altamente resistentes al ruido y a la interferencia. 2. Difíciles de interceptar. 3. Pueden compartir una banda de frecuencia con muchos tipos de transmisiones convencionales con mínima interferencia. 79 canales de 1MHz bluetooth classic 40 canales de 2MHz bluetooth BLE

Roles generales en BLE Bluetooth Smart presenta una arquitectura cliente/servidor: Cliente: Realiza peticiones e interactúa con características (GATT Profile) Servidor: Responde a peticiones, maneja características, puede enviar notificaciones de cambios Dentro del paradigma Bluetooth LE, existen 4 roles generales que puede implementar un dispositivo: • Peripheral ◦ Dispositivo de tipo servidor que provee datos a los clientes en forma de tabla GATT. • Central ◦ Dispositivo de tipo cliente que se conecta a un dispositivo de tipo Peripheral para leer/escribir. • Broadcaster ◦ Dispositivo de tipo servidor que no acepta conexiones entrantes pero que emite información. • Observer ◦ Dispositivo de tipo Cliente que escanea y analiza datos pero no inicia conexiones. Generic Attribute Profile (GATT): El perfil GATT es una especificación general para enviar y recibir pequeños trozos de información llamados atributos sobre un enlace BLE.

iBeacon iBeacon es el nombre (marca) elegido por Apple para denominar a una tecnología (abierta) que emplea Bluetooth LE como medio de transmisión y que permite a las aplicaciones móviles saber como de cercar están respecto a un dispositivo llamado beacon (baliza).

Posibles aplicaciones iBeacon El iBeacon se pensó para aportar a los usuarios nuevas experiencias en el mundo de retail (promociones, zonas de mayor demanda, hábitos de visita del cliente,...) TREND REPORT Beacons http://go.mutualmobile.com/rs/mutualmobile/images/Trend_Report_Beacons.pdf

A parte del retail, también existen numerosas situaciones donde aplicando los 2 conceptos clave de esta tecnología (micro-localización e interacción/Compromiso/Contexto) pueden resultar bastante valiosas: Museos y exhibiciones: Información de objetos, tracking de las zonas más visitadas, conferencias en una determinada zona,... Transporte de masas: Conocer en que avión, linea de tren/metro/autobús se está viajando y conocer más información acerca de ella (tiempos de llegada, rutas,...) Salud: Conocer información medica del paciente que se encuentra en determinada habitación, evitando cometer posibles errores. Eventos deportivos: Indicar la ruta más corta desde el aparcamiento hasta localidad que va a ocupar el usuario. Parking: Localizar un vehículo o plaza libre. Localización de objetos perdidos. Automatización.

iBeacon características

Identificación de un iBeacon

Un iBeacon emplea para su identificación los siguientes 3 campos personalizables: Proximity UUID (128 bit). Major (16 bit). Minor (16 bit) Dando lugar a 3 niveles para identificar una micro-localización: Sólo Proximity UUID. Proximity UUID & Major. Proximity UUID & Major & Minor. En bluetooth 4, cada servicio tiene un identificador único de 16 o 128 bit denominado service UUID. Los identificadores de 16 bits son asignados por el “Bluetooth standards committee”, mientras que los identificadores únicos de 128 bits (gratuitos) son propios de cada fabricante . Generador de UUIDs de 128 bits: http://www.itu.int/ITU-T/asn1/uuid.html https://developer.bluetooth.org/gatt/profiles/Pages/ProfilesHome.aspx

4C00 02 15 585CDE931B0142CC9A1325009BEDC65E 0000 0000 C5 <company identifier (2 bytes)> <type (1 byte)> <data length (1 byte)> <uuid (16 bytes)> <major (2 bytes)> <minor (2 bytes)> <RSSI @ 1m> • Apple Company Identifier (Little Endian), 0x004c • Data type, 0x02 => iBeacon • Data length, 0x15 = 21 • UUID: 585CDE931B0142CC9A1325009BEDC65E • Major: 0000 • Minor: 0000 • Measured power at 1 meter: 0xc5 = -59 Ejemplo de los datos que contiene el campo de datos del paquete que emite una iBeacon

Zonas y rangos

La distancia entre un iBeacon y el dispositivo receptor está categorizada dentro de 3 rangos distintos: • Inmediato: menos de 50cm. • Cerca: aproximadamente entre 50cm y 2,5m. • Lejos: más o menos entre 2,5m y 30/50m, dependiendo de parede y de la potencia de emisión y otros muchos factores. Estos rangos se definen para notificar cambios de zona a las aplicaciones cuando estas están en background. En foreground es posible obtener la distancia exacta a la baliza midiendo el nivel de señal que nos llega y comparándolo con el valor de señal a 1m que va encapsulado en el paquete que recibimos de la baliza.

APIs y soporte de iBeacon en Mobile y Desktop

Soporte software iOS7+ OS X 10.9+ Soporte hardware iPhone 4S+, iPad 3+, iPad mini, iPod touch 5+, iOS Simulator (host con bt4), ordenadores a partir del 2012 Necesidad de licencia MFI Para desarrollar hardware BLE no es necesario adquirir una licencia MFI. Aunque sí se quiere hacer uso de la marca iBeacon si es necesario. APIs Core Bluetooth Core Location Observaciones No permite escuchar cualquier UUID siendo necesario especificar los UUIDs con los que se quiere trabajar. Integración con Passbook. Advertising sólo en foreground. Background task, monitorización de cambio de zona. Para el uso de los iBeacons es necesario tener activado el bluetooth y el servicio de localización.

http://developer.radiusnetworks.com/2013/11/13/ibeacon-monitoring-in-the-background-and- foreground.html http://www.appcoda.com/ios7-programming-ibeacons-tutorial/ https://gravityjack.com/ibeacon-passbook-what-developers-need-to-know-best-practices-more http://blog.twocanoes.com/post/68861362715/10-awesome-things- you-can-do-today-with-ibeacons http://www.devfright.com/ibeacons-tutorial-ios-7-clbeaconregion-clbeacon/ https://github.com/Estimote/iOS-SDK https://itunes.apple.com/us/app/lightblue/id639944780?mt=12 https://itunes.apple.com/es/app/lightblue-bluetooth-low-energy/id557428110?mt=8 Documentación relacionada:

https://github.com/sandeepmistry/osx-ble-peripheral https://github.com/kdzwinel/phonegap-estimotebeacons https://developer.apple.com/library/ios/documentation/UserExperience/ Reference/PassKit_Bundle/Chapters/LowerLevel.html http://beekn.net/2013/11/how-to-build-ibeacon-app/ https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/ CLBeacon_class/Reference/Reference.html

Soporte software Android 4.3 (API Level 18)+ Soporte hardware Nexus 4, Nexus 7 2013, Moto G, Galaxy S3+, Galaxy Note II+, HTC One,... APIs android.bluetooth Observaciones No es necesario registrar los UUID. No permite hacer advertising. Background task. Cada fabricante implementaba sus propias APIs. Con la llegada de la API Level 18, se intenta unificar APIs para el uso de BLE. No existe una API propia para iBeacon, aunque mediante las clases existentes es posible implementar la funcionalidad propuesta por Apple.

Documentación relacionada: http://developer.radiusnetworks.com/ibeacon/android/download.html http://www.ti.com/tool/sensortag-sw https://www.youtube.com/watch?v=EC5-cEbr520#t=463 https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner https://play.google.com/store/apps/details?id=com.radiusnetworks.ibeaconlocate https://play.google.com/store/apps/details?id=no.nordicsemi.android.beacon.service

Soporte software Windows 8 / 8.1 , Windows Phone 8.1 Soporte hardware Hardware con Windows 8/8.1 + módulo bluetooth 4 Todos los dispositivos NOKIA (MS Mobile) Lumia WP 8 APIs Windows.Devices.Bluetooth.GenericAttributeProfile Observaciones No permite escuchar cualquier UUID siendo necesario especificar los UUIDs con los que se quiere trabajar. Soporte para background task.

Documentación relacionada: http://msdn.microsoft.com/en-us/library/windows/hardware/hh450825%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn264587.aspx https://channel9.msdn.com/Events/Build/2014/2-519 http://developer.nokia.com/community/wiki/Introduction_to_Bluetooth_support_on_ Windows_Phone_8 http://msdn.microsoft.com/en-us/library/windows/hardware/ff536596%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/windows/hardware/ff536585%28v=vs.85%29.aspx

Soporte software Blackberry 10 Soporte hardware Z10, Z30, Q10 APIs Bluetooth Library Observaciones Soporte Bluetooth 4 desde 2012 (Blackberry Dev Alpha)

Documentación relacionada: http://supportforums.blackberry.com/t5/Native-Development-Knowledge/ BlackBerry-10-Bluetooth-LE-primer-for-developers/ta-p/2287377 http://devblog.blackberry.com/tag/bluetooth-low-energy/ https://www.youtube.com/watch?v=dcrJZSL7dpg https://github.com/blackberry/Cascades-Community-Samples

Soporte software Linux kernel 3.5 Soporte hardware Hardware con módulo bluetooth 4 APIs BLueZ Observaciones Los kernels <= 3.4 no permite más de una conexión LE L2CAP. BlueZ: official Linux Bluetooth protocol stack

https://github.com/carsonmcdonald/bluez-ibeacon http://joost.damad.be/2013/08/experiments-with-bluetooth-low-energy.html NodeJS: https://www.npmjs.org/package/bleacon https://github.com/sandeepmistry https://code.google.com/p/pybluez/ Documentación relacionada:

iBeacon Dev KITS * Existen numerosas plataformas en el mercado. Se han elegido las más representativas o peculiares.

Fabricante Gimbal (Qualcomm) Precio $5 (Series 10) / $10 (Series 20) (precio dependiendo de volumen) Duración batería 1-3 años (reemplazable) Documentación https://www.gimbal.com/ Usado por Apple en sus Apple Stores.

Fabricante Estimote (Chip Nordic nRF51822 + Cortex M0) Precio $99 pack de 3 Duración batería 2 años (CR2450 “no reemplazable”) Documentación http://estimote.com/ https://github.com/Estimote/ Una pila CR2450 proporciona una capacidad de alrededor de unos 620mAh.

Fabricante Nordic nRF51822-Beacon Precio 23,96 € Duración batería <1 año (CR1632 reemplazable) Documentación Nordic website mouser.com Una pila CR1632 proporciona entre 120 y 140 mAh

Fabricante Sensor Tag - Texas Instruments (CC2541 + 8051 MCU) Precio $25 Duración batería 2 años (CR2032, reemplazable) Documentación http://processors.wiki.ti.com/ index.php/Bluetooth_SensorTag Buena documentación, coste relativamente bajo, coste de la licencia del compilador entre $1300 - 3400$ http://www.iar.com/Products/IAR-Embedded-Workbench/8051/

ReadBear http://redbearlab.com/ibeacon/ Radius Networks http://www.radiusnetworks.com/ibeacon/ Proximus IO http://www.proximus.io/ Texas Instruments CC2543 http://www.ti.com/tool/cc2543-broadcaster-rd JNHuaMao HM-10/ HM-11 http://www.jnhuamao.cn/bluetooth.asp?ID=1 BLE 112 / 113 https://www.bluegiga.com http://www.seeedstudio.com CSR4.0 USB Dongle http://www.ebay.com/sch/i.html? _sacat=0&_from=R40&_nkw=csr+4.0&_sop=15 * Existen numerosas plataformas en el mercado. Se han elegido las más representativas o peculiares. Otras plataformas: La opción más barata para testeo de apps consisten en la emulación de un iBeacon vía software.

http://www.ti.com/lit/an/swra347a/swra347a.pdf http://beekn.net/2014/04/will-apple-pull-plug-ibeacon-devices/ Documentación relacionada: Influencia de la frecuencia de notificación y el consumo de batería en un baliza: https://community.estimote.com/hc/en-us/articles/201538147-How-Advertising- Interval-and-TxPower-affect-Battery-Life http://developer.radiusnetworks.com/2013/11/04/how-to-make-an-ibeacon-with-the-ti-cc2540.html http://blog.bluetooth-smart.com/2011/10/05/bluetooth-low-energy-development-kits-2/ Parámetros para seleccionar un chip o plataforma de desarrollo BLE:

Seguridad y privacidad La “seguridad” (una baliza no posee lógica alguna, tan sólo hace broadcasting de cierto dato) de un iBeacon puede verse comprometida en alguno de los siguientes aspectos: Modificación de los datos de un iBeacon: El fabricante de la baliza permite personalización remota, pero no protege el sistema con una clave de acceso, permitiendo la modificación por cuenta ajena de los campos UUID, mayor y minor, inutilizando la baliza para su uso desde la app móvil o pudiendo alterar los datos para trabajar con la aplicación de un competidor. Spoofing: Un iBeacon se puede suplantar con facilidad (los campos UUID, mayor y minor, se pueden obtener mediante sniffer o descopilación de la App móvil). La aplicación móvil ha de implementar algún mecanismo que evite en la medida de lo posible un ataque mediante spoofing. Privacidad: Una posible medida para evitar que una aplicación pueda hacer tracking, consiste en deshabilitar los servicios de localización para dicha app (en el caso de iOS), pudiendo habilitarlos de nuevo cuando nos interese.

Documentación relacionada: http://makezine.com/2014/01/03/reverse-engineering-the-estimote/ http://beekn.net/2014/01/can-estimote-be-hacked/ http://makezine.com/2014/01/03/hacking-the-ces-scavenger-hunt/ https://lacklustre.net/bluetooth/ http://beekn.net/2013/10/ibeacon-android-privacy-and-bluetooth-le/

Documentación extra Bluetooth Smart: Bluetooth Low Energy: The Developer’s Handbook http://chapters.comsoc.org/vancouver/BTLER3.pdf https://www.bluetooth.org/en-us/specification/adopted-specifications http://www.bluetooth.com/Pages/Bluetooth-Smart.aspx https://developer.bluetooth.org/DevelopmentResources/Pages/default.aspx

Add a comment

Related presentations

Related pages

Planning for Dummies - pt.scribd.com

www.nera.no My father had to replace his beloved old Tandberg and I learned my first hard lesson about radio. That winter we had a huge thunderst...
Read more

Download Book: Content Marketing For Dummies ...

Content Marketing For Dummies book written by Susan Gunelius, published by John Wiley & Sons has been read 211 times which last read at 2016-08-13 07:56:27.
Read more

9781784397128_Learning_iBeacon_Sample_Chapter

Learning iBeaconCraig Gilchrist Chapter No.1 "Welcome to iBeacon" In this package, you will find: T...
Read more

دانلود کتاب آموزشی Java eLearning Kit For Dummies

بلاگ شرکت فرین - اولین و بزرگترین مرکز ارائه آموزشهای تخصصی در ایران
Read more

Excel Data Analysis For Dummies (For Dummies (Comp

Excel Data Analysis For Dummies (For Dummies (Comp [ FREE ] Personal Illuminations: Imagination (Pers; PCI Compliance: Level 1 Merchant Guide for DSS ver;
Read more

iBeacon for Dummies - YouTube

Bluetooth Smart Devices and Low Energy Support on Linux - João Paulo Rechi Vita, INdT - Duration: 34:07. The Linux Foundation 452 views
Read more

mobile - Casinos 4 Dummies

Upcoming EventsNo events in this tag ... Home; About; Contact; Casino Business Directory; Online Gaming Offers
Read more

What are iBeacons and why they might change marketing ...

Great "dummies guide", Christopher; I definitely found it both helpful and not rambling! I agree that iBeacon and similar technology has the potential to ...
Read more

What is iBeacon? A Guide to Beacons | iBeacon.com Insider

What is iBeacon? What are iBeacons? iBeacon is the name for Apple’s technology standard, which allows Mobile Apps...to listen for signals from beacons
Read more

What is iBeacon? - Beecon - Your Interface to Things

What is iBeacon? Bacons? Beacons, not bacons. iBeacon is Apple’s version of the Bluetooth-based beacon concept, which allows Bluetooth devices to ...
Read more