IBeacon SDK en Android

ibeacon sdk

posibles casos de uso y modelos de negocio para el faro que permite la interacción del usuario en función del lugar, incluso dentro de los edificios actualmente están siendo objeto de acalorados debates. Dentro de la tienda de la publicidad y descuentos, pagos móviles, navegación, transporte público, localización en edificios y museos públicos y automatización del hogar son sólo la punta del iceberg. Y por supuesto la recogida de los datos omnipresente – Ahora nuevo y con información de ubicación precisa. Antes de aprender más sobre la tecnología IBeacon, también vamos a mencionar el SDK IBeacon en el artículo.

¿Cuál es el bombo?

El protocolo IBeacon desarrollado por Apple basado en Bluetooth Low Energy se apoya en una variedad de dispositivos. El artículo explica iBeacons y Bluetooth de baja energía y utiliza el ejemplo de desarrollo de una aplicación para Android de listas de compras dependientes de la ubicación para mostrar la interacción dependiente de la ubicación de una aplicación con iBeacons. La aplicación se basa en MOKOSmart IBeacon SDK.

IBeacon, Bluetooth 4.0, BLE, INTELIGENTE. WOT?

La tecnología básica para IBeacon es Bluetooth. Bluetooth Low Energy (BLE), que a menudo se refiere como la etiqueta inteligente de marketing Bluetooth, se ha incluido en la versión 4.0 de la norma Bluetooth. BLE no es compatible con versiones anteriores llamados clásicos Bluetooth. Bluetooth 4.0 especifica que los dispositivos compatibles con el estándar debe implementar una o ambas variantes, es decir. Baja energía o Classic.

BLE se implementa en los teléfonos inteligentes casi todos los actuales como el iPhone 4+ y el Samsung Galaxy 3+. Un iPhone puede funcionar tanto como un receptor de señales de IBeacon y – a diferencia de Android – tener una Faro sí mismo. Android incluye controladores BLE de versión de la API 18, es decir. Androide 4.3. De paso, También los ordenadores actuales son de un tipo con capacidad. en Windows, sin embargo, los conductores son solamente a bordo desde Windows 8 y desde alrededor de mediados de 2011, BLE ha estado disponible en los ordenadores de Apple.

BLE sigue apoyando una variedad de dispositivos periféricos tales como monitores de ritmo cardíaco y helicópteros de juguete, Los termómetros, aparatos de gimnasia y cepillos de dientes, sí, cepillos de dientes y zapatillas de deporte.

Interesantes en relación con iBeacons es el sensor

Etiqueta de Texas Instruments, que además de su función como un IBeacon también puede medir la temperatura, humedad, presión, y la aceleración. La etiqueta del sensor también viene con un giroscopio, un magnetómetro, y dos botones de hardware. El dispositivo ideal para presentaciones controlar de forma remota durante la transmisión y la visualización de la humedad y la temperatura de las manos del altavoz. Creo que mi próximo proyecto será arenero pánico escénico-o-mat. Puede encontrar una lista detallada de los dispositivos en la página web oficial de Bluetooth.

GATT listo

El modelo de comunicación utilizado por los dispositivos para el intercambio de datos se llama el GATT – Perfil genérico de Atributo. GATT define las funciones del cliente y el servidor. El cliente solicita datos desde el servidor a través de los servicios. A pares de grupos de servicio varias claves atómica / valor, que se denominan características. Ambos servicios y características se identifican a través de UUID y pueden también contener una descripción más detallada. Servicios y sus características son catalogadas en forma de perfiles; La especificación define toda una serie de ellos en los campos de la salud, el deporte y la forma física y – en nuestro caso interesante – detección de proximidad. Los perfiles individuales y de sus servicios y características se pueden encontrar en el portal de desarrolladores Bluetooth bajo GATT Especificaciones.

GATT SDK IBeacon

Llegar a la baliza

¿Cuáles son tan iBeacons? IBeacon es una tecnología muy simple (y una marca comercial de Apple que permite la interacción dependiente del lugar con las aplicaciones. Un faro envía una señal que puede ser recibida con dispositivos compatibles con BLE y procesada por las aplicaciones instaladas en él señal contiene la identificación de la baliza y la potencia de recepción de. iBeacons mismos son, por lo tanto – contrariamente a las declaraciones inexactas en la prensa – incapaz de entregar el contenido o la pista de comportamiento de los clientes. Esta es la responsabilidad de las aplicaciones que reciben y por lo tanto los desarrolladores.

IBeacon IRL

implementaciones más grandes de iBeacons en Alemania será probablemente mucho tiempo en llegar, pero hay algunos ejemplos de los EE.UU. y los Países Bajos. Por ejemplo, Grandes Ligas ha equipado 28 iBeacons estadios con ellos y usos, entre otras cosas, para ingresos en la aplicación MLB “En el estadio”.

Una muestra se llevó a cabo en la casa de Rubens en Amberes, que ofrece información de fondo, como los rayos X de pinturas y geocaching juegos para los visitantes.

El primer ejemplo en términos de tamaño proviene de la propia Apple. Terminado 250 Tiendas de Apple han sido equipadas con iBeacons. En combinación con la aplicación de Apple Store, mensajes dependientes de la ubicación se envían a los compradores que están en la tienda. sin embargo, Actualmente parecen las posibles interacciones a ser bastante limitado: Primeras revisiones informan sólo dos diferentes (y bastante genérica) mensajes que habrían recibido. ofertas especiales o información específica sobre los productos individuales cercano no fueron ofrecidos.

funcionalidad

IBeacon SDK no utiliza un perfil independiente BLE, sino más bien paquetes de publicidad Bluetooth, es decir. paquetes de difusión, que se utilizan para detectar dispositivos Bluetooth. Si usted está interesado en la estructura exacta del paquete, usted puede leer esto, por ejemplo, en el blog de Adam Warski.

un paquete de este tipo se envía a intervalos regulares que se pueden configurar a través del GATT. Contiene el UUID de la baliza, que típicamente está preconfigurado por el fabricante. Así que todas las balizas MOKOSmart envían el mismo UUID. Mayores y menores identificaciones también se utilizan para identificar las balizas individuales. Principales identificadores pueden representar, por ejemplo, una rama de una tienda o un restaurante en una cadena de franquicias, los ID de menor importancia un solo estante o una mesa.

además, la intensidad de la señal está incluido en el paquete de publicidad, que puede ser usado para medir la distancia del receptor de la baliza. sin embargo, no se puede esperar una alta precisión aquí, ya que la señal puede ser obstruida por obstáculos espaciales tales como los muebles o las personas.

IBeacon SDK ofrece dos conceptos para la interacción de una aplicación con esta información: que van y el seguimiento de la región. cuando van, la distancia a la baliza se determina. Debido a la inexactitud mencionado anteriormente, esto tiene lugar en sólo tres etapas. “Inmediato” está a una distancia de unos pocos centímetros, “Cerca” está a pocos metros y “Lejos” es una distancia de diez metros por encima. Que van sólo es posible si la aplicación receptora está activo.

Esto no es necesario para la supervisión región. En este modo, una aplicación inactiva también puede ser notificado al entrar o salir de una región definida por uno o más balizas. En el último momento se está haciendo evidente lo que hace que esta tecnología atractiva para la publicidad y la venta al por menor. Adicionalmente, para la mayoría de las balizas, la fuerza de transmisión y el intervalo se pueden configurar con el fin de optimizar la duración de la batería en base a las condiciones locales.

“La mayoría de las balizas” implica que hay más de un fabricante de iBeacons en el mercado. De hecho, Hay unos cuantos: MOKOSmart, Kontakt.io, hielo, Estimote, y cardán. Además del hardware, estos fabricantes también ofrecen soluciones de servicio y en la nube IBeacon SDK para la gestión de las balizas. Los aficionados entre nosotros pueden establecer IBeacon transmisores a sí mismos con relativamente poco esfuerzo usando Frambuesa Pi o Arduino.

lista de parpadear

Supongamos la siguiente situación para el ejemplo de aplicación: El desarrollador está en el supermercado en la mañana del sábado. Los niños hambrientos están esperando en casa y por la tarde hay una venta de pasteles en la escuela. Sólo entonces será el fin de semana realmente comenzar. Así buenas razones para darse prisa. Desafortunadamente, la lista de compras es largo y no adaptado a la disposición del supermercado. Si el supermercado estaban equipados con iBeacons en los diferentes departamentos, una aplicación de la lista de compras podría poner de relieve las entradas apropiadas y reducir significativamente el nivel de estrés de la (por supuesto, completamente ficticia) desarrollador.

Desde nuestra aplicación tiene que comunicarse con Bluetooth, lo primero que requerimos autorizaciones Bluetooth y BLUETOOTH_ADMIN en el manifiesto de Android. Con el fin de poder utilizar el servicio ofrecido por la API para interactuar con Estimote iBeacons, también hay que darlo a conocer y colocar el API descargado en nuestro libs / directorio.

Nuestro prototipo consiste en un simple, precargada lista y regiones predefinidas, es decir. departamentos en nuestro supermercado. Una entrada de la lista sabe qué región se asigna a. En nuestro ejemplo, que sólo un faro para asignar cada región. También es posible combinar una lista de balizas en una región. La principal actividad es responsable de reconocer la región actual y envía esta información a un adaptador, que es responsable de poner de relieve las entradas de la lista. Adicionalmente, añadimos la opción de seleccionar la región activa sin balizas para que nuestra comprobable interfaz de usuario sin necesidad de hardware adicional.

En la actividad que hay en Crear método, creamos una instancia de un administrador de Beacon MOKOSmart para nuestra aplicación. Utilizamos un detector para el monitoreo de la región, haciendo la región corriente conocida en nuestro adaptador y definir el intervalo para las exploraciones de baliza. En el ejemplo, definimos que un segundo debe ser escaneado y luego 250 MS deben esperar. Estos valores se eligen relativamente agresiva para obtener resultados rápidos en las pruebas. En realidad, el difícil equilibrio entre la capacidad de respuesta frente. Para hacer frente a la vida de la batería. En este prototipo, también llenamos nuestra lista de compras con valores ficticios. Nos iniciar o detener el seguimiento en el sobre () Inicio o onStop () método de la actividad.

el ITEMLIST

El adaptador se implementa como un derivado del adaptador y anula la android.widget.Array Obtener vista () método, que se llama para que se muestre cada línea. El título del artículo es escrito en la primera línea de la revisión se define en la disposición, en la segunda la región asignada.

Como se puede observar en el Listado 1, la región introducida se transfiere al adaptador de la región sobre Entró () devolución de llamada de la MonitoringListener, que está asignado a nuestra BeaconManager: Adaptador lista de elementos. segregación (región). Al llamar getView (), Esto comprueba si la región de la entrada en la línea coincide con la región actual. Si este es el caso, que los colores del fondo de la línea. Adicional o alternativamente, también se podría poner las entradas para la zona actual al comienzo de la lista de clasificación.

El código de la aplicación es clara; no se necesita muchos esfuerzos implementaciones para recibir señales IBeacon y manejarlos en la aplicación. Los conceptos que van IBeacon y vigilancia se mapean en el MOKOSmart IBeacon SDK para que puedan ser utilizados de forma intuitiva. El código fuente completo de la aplicación se puede encontrar en GitHub.

Conclusiones y perspectivas

Vimos que la interacción con iBeacons Utilizando el SDK IBeacon MOKOSmart es fácil de hacer. Así que no espero grandes obstáculos en la tecnología de aplicación, sino más bien en el despliegue de las balizas y la afinación de potencia de transmisión. Estos parámetros tienen un impacto directo en la capacidad de respuesta de la aplicación cuando se cambia la ubicación. En todo caso, el equilibrio debe ser difícil.

Por particularmente interesante, por ejemplo. si. en el área de la domótica, Considero que la combinación de iBeacons con sensores, al igual que en la etiqueta del sensor de Texas Instruments se mencionó anteriormente. Estimote también lanzará balizas móviles con sensores de movimiento y temperatura en el mercado con etiquetas Estimote. Los primeros avances de desarrolladores deberían haber sido entregados a finales del mes de octubre 2014, pero no hay kits fueron enviados a finales de 2014.

Queda por ver si el área de aplicación “cubierta de navegación” se puede asignar robusta con esta tecnología. Debido a la susceptibilidad de la señal Bluetooth a factores de interferencia, iluminación fuerte con las señales de IBeacon de la zona correspondiente y cálculos de posición utilizando triangulación con planes habitación sería necesario. soluciones adecuadas son ofrecidos por MOKOSmart (Navegación interior IBeacon SDK) y varios otros fabricantes como LabWerk, pero el autor no tiene conocimiento de ningún informe prácticos.

Con el desarrollo de una aplicación para interactuar con iBeacons, seguridad y protección de datos aspectos también deben tenerse en cuenta. Debido a la simplicidad de la señal, IBeacon es propenso a spoofing, que no debe ser olvidado durante el desarrollo. Los datos tales como la ubicación actual y el perfil de movimiento que se pueden recoger basa en el comportamiento del usuario también tienen una alta necesidad de protección.

MOKOSMART iBeacon SDK

solución ibeacon sdk