iBeacon SDK en Android

Tabla de contenido
ibeacon sdk

Los posibles casos de uso y modelos de negocio para la baliza que permite la interacción del usuario dependiente de la ubicación, incluso dentro de los edificios, se están debatiendo actualmente.. Publicidad en la tienda y descuentos, pagos móviles, navegación, transporte público, la localización en edificios públicos y museos y la automatización del hogar son solo los consejos del iceberg. Y, por supuesto, la omnipresente recopilación de datos. – ahora nuevo y con información precisa de ubicación. Antes de aprender más sobre la tecnología iBeacon, También mencionaremos el SDK de iBeacon en el artículo.

¿Qué es el bombo??

El protocolo iBeacon desarrollado por Apple basado en Bluetooth Low Energy es compatible con una variedad de dispositivos. El artículo explica iBeacons y Bluetooth Low Energy y utiliza el ejemplo de desarrollar una aplicación de Android para 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 implementación se basa en MOKOSmart iBeacon SDK.

iBeacon, Bluetooth 4.0, CONVIRTIÓ, INTELIGENTE. Wot?

La tecnología básica para iBeacon es Bluetooth. Bluetooth de baja energía (CONVIRTIÓ), que a menudo se conoce como la etiqueta de marketing Bluetooth Smart, ha sido incluido en la versión 4.0 del estándar Bluetooth. BLE no es compatible con versiones anteriores llamadas Bluetooth Classic. Bluetooth 4.0 especifica que los dispositivos que cumplen con los estándares deben implementar una o ambas variantes, es decir. Baja energía o clásico.

BLE se implementa en casi todos los teléfonos inteligentes actuales, como el iPhone 4+ y el Samsung Galaxy 3+. Un iPhone puede funcionar como receptor de señales iBeacon y – a diferencia de Android – como un Faro sí mismo. Android incluye controladores BLE de la versión API 18, es decir. Androide 4.3. De paso, Las computadoras actuales también son compatibles con BLE. En Windows, sin embargo, los controladores solo están a bordo desde Windows 8 y desde mediados de 2011, BLE ha estado disponible en computadoras Apple.

BLE continúa admitiendo una variedad de dispositivos periféricos, como monitores de ritmo cardíaco y helicópteros de juguete., termómetros, aparatos de gimnasia y cepillos de dientes, si, cepillos de dientes y zapatillas de deporte.

Interesante en conexión con iBeacons es el Sensor

Etiqueta de Texas Instruments, que además de su función como iBeacon también puede medir la temperatura, humedad, presión, y aceleración. La etiqueta del sensor también viene con un giroscopio, un magnetómetro, y dos botones de hardware. El dispositivo ideal para controlar de forma remota las presentaciones mientras transmite y muestra la humedad y la temperatura de las manos del orador.. Creo que mi próximo proyecto de arenero será el miedo al escenario. Puede encontrar una lista detallada de dispositivos en el sitio web oficial de Bluetooth.

GATT listo

El modelo de comunicación utilizado por los dispositivos para intercambiar datos se llama GATT – Perfil de atributo genérico. GATT define los roles del cliente y el servidor. El cliente solicita datos del servidor a través de los servicios.. Un servicio agrupa varios pares clave / valor atómicos, que se llaman características. Tanto los servicios como las características se identifican a través de UUID y también pueden contener descripciones adicionales. Los servicios y sus características están catalogados en forma de perfiles.; La especificación define una gama completa de ellos desde el campo de la salud, deporte y fitness y – en nuestro caso interesante – detección de proximidad. Los perfiles individuales y sus servicios y características se pueden encontrar en el portal para desarrolladores de Bluetooth en las especificaciones GATT.

gatt ibeacon sdk

Llegar a la baliza

Entonces, ¿qué son los iBeacons? iBeacon es una tecnología muy simple (y una marca comercial de Apple que permite la interacción dependiente de la ubicación con las aplicaciones. Una baliza envía una señal que puede recibirse con dispositivos compatibles con BLE y procesarse por las aplicaciones instaladas en ella. La señal contiene la identificación de la baliza y la intensidad de recepción. iBeacons son, por lo tanto – contrario a declaraciones inexactas en la prensa – incapaz de entregar contenido o rastrear el comportamiento del cliente. Esto es responsabilidad de las aplicaciones receptoras y, por lo tanto, de los desarrolladores..

iBeacon IRL

Las implementaciones más grandes de iBeacons en Alemania probablemente tardarán mucho en llegar, pero hay algunos ejemplos de los EE. UU. y los Países Bajos. Por ejemplo, Major League Baseball ha equipado 28 estadios con iBeacons y los usa, entre otras cosas, para registrarse en la aplicación MLB “En el estadio”.

Se implementó un escaparate en la Casa Rubens en Amberes, que ofrece información de fondo como rayos X de pinturas y juegos de geocaching para visitantes.

El primer ejemplo en términos de tamaño proviene de la propia Apple. Encima 250 Las tiendas Apple han sido equipadas con iBeacons. En combinación con la aplicación Apple Store, los mensajes dependientes de la ubicación se envían a los compradores que están en la tienda. sin embargo, las posibles interacciones actualmente parecen ser bastante limitadas: Las primeras revisiones informan solo dos diferentes (y bastante genérico) mensajes que habrían recibido. No se ofrecieron ofertas especiales o información específica sobre productos individuales cercanos.

Funcionalidad

iBeacon SDK no usa un perfil BLE separado, sino paquetes de publicidad Bluetooth, es decir. paquetes de difusión, que se utilizan para descubrir dispositivos Bluetooth. Si está interesado en la estructura exacta del paquete, puedes leer esto, por ejemplo, en el blog de Adam Warski.

Dicho paquete se envía a intervalos regulares que se pueden configurar a través de GATT. Contiene el UUID de la baliza, que normalmente está preconfigurado por el fabricante. Entonces todas las balizas MOKOSmart envían el mismo UUID. Las identificaciones mayores y menores también se utilizan para identificar las balizas individuales. Las ID principales pueden representar, por ejemplo, una sucursal de una tienda o un restaurante en una cadena de franquicias, las identificaciones menores de un solo estante o una mesa.

además, la intensidad de la señal se incluye en el paquete publicitario, que se puede usar para medir la distancia del receptor de la baliza. sin embargo, no puedes esperar alta precisión aquí, ya que la señal puede ser obstruida por obstáculos espaciales como muebles o personas.

IBeacon SDK ofrece dos conceptos para la interacción de una aplicación con esta información: monitoreo de alcance y región. Cuando van, se determina la distancia a la baliza. Debido a la inexactitud mencionada anteriormente, esto tiene lugar en solo tres etapas. “Inmediato” es una distancia de unos pocos centímetros, “Cerca” es unos pocos metros y “Lejos” es una distancia de más de diez metros. La clasificación solo es posible si la aplicación receptora está activa.

Esto no es necesario para el monitoreo de la región.. En este modo, una aplicación inactiva también puede ser notificada al entrar o salir de una región definida por una o más balizas. A más tardar ahora queda claro qué hace que esta tecnología sea atractiva para la publicidad y el comercio minorista.. Adicionalmente, para la mayoría de las balizas, La potencia de transmisión y el intervalo se pueden configurar para optimizar la duración de la batería en función de 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 el servicio iBeacon SDK y soluciones en la nube para la gestión de balizas. Los aficionados entre nosotros pueden configurar los transmisores iBeacon con relativamente poco esfuerzo usando Raspberry Pi o Arduino.

Lista intermitente

Supongamos la siguiente situación para el ejemplo de implementación: El desarrollador está en el supermercado el sábado por la mañana.. Niños hambrientos esperan en casa y por la tarde hay una venta de pasteles en la escuela. Solo entonces comenzará realmente el fin de semana. Tan buenas razones para apurarse. Desafortunadamente, la lista de compras es larga y no está adaptada al diseño del supermercado. Si el supermercado estuviera equipado con iBeacons en los diferentes departamentos, una aplicación de lista de compras podría resaltar las entradas apropiadas y reducir significativamente el nivel de estrés del (por supuesto completamente ficticio) desarrollador.

Dado que nuestra aplicación tiene que comunicarse con Bluetooth, primero requerimos las autorizaciones BLUETOOTH y BLUETOOTH_ADMIN en el manifiesto de Android. Para poder utilizar el servicio ofrecido por la API de Estimote para interactuar con iBeacons, también debemos darlo a conocer y colocar la API descargada en nuestro directorio libs /.

Nuestro prototipo consiste en un simple, lista precargada y regiones predefinidas, es decir. departamentos en nuestro supermercado. Una entrada de lista sabe a qué región está asignada. En nuestro ejemplo, solo asignamos una baliza a cada región. También es posible combinar una lista de balizas en una región. La actividad principal es responsable de reconocer la región actual y reenvía esta información a un adaptador, que es responsable de resaltar las entradas de la lista. Adicionalmente, agregamos la opción de seleccionar la región activa sin balizas para que nuestra interfaz de usuario sea comprobable sin hardware adicional.

En la actividad del método Crear, Instanciamos un Beacon Manager de MOKOSmart para nuestra aplicación. Usamos un oyente para el monitoreo de la región al dar a conocer la región actual a nuestro adaptador y definir el intervalo para los escaneos de baliza. En el ejemplo, definimos que un segundo debe ser escaneado y luego 250 ms debería esperar. Estos valores se eligen de forma relativamente agresiva para obtener resultados rápidos en las pruebas.. En realidad, El difícil equilibrio entre la capacidad de respuesta frente a. Para cumplir con la duración de la batería. En este prototipo, también llenamos nuestra lista de compras con valores ficticios. Comenzamos o dejamos de monitorear en el () Inicio o parada () método de la actividad principal.

La lista de artículos

El adaptador se implementa como un derivado de android.widget.Array Adapter y anula la vista get () método, que se llama para que se muestre cada línea. El título del artículo está escrito en la primera línea de la revisión definida en el diseño., en el segundo la región asignada.

Como se puede ver en el Listado 1, la región ingresada se transfiere al adaptador en la Región ingresada () devolución de llamada de MonitoringListener, que se asigna a nuestro BeaconManager: Lista de artículos Adaptador. segregación (región). Al llamar a 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, colorea el fondo de la línea. Adicional o alternativamente, también se pueden poner las entradas para la zona actual al principio ordenando la lista.

El código de la aplicación es claro.; no requiere muchos esfuerzos de implementación recibir señales de iBeacon y manejarlas en la aplicación. Los conceptos de iBeacon, rango y monitoreo, están mapeados en el SDK de MOKOSmart iBeacon para que puedan usarse intuitivamente. El código fuente completo de la aplicación se puede encontrar en GitHub.

Conclusión y perspectiva

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

Por particularmente interesante, p.ej. si. en el área de domótica, Considero la combinación de iBeacons con sensores, como en la etiqueta del sensor de Texas Instruments mencionada anteriormente. Estimote también lanzará balizas móviles con sensores de movimiento y temperatura en el mercado con Estimote Stickers. Las primeras vistas previas para desarrolladores deberían haberse entregado a finales de octubre 2014, pero no se enviaron kits al final de 2014.

Queda por ver si el área de aplicación "Navegación interior" se puede mapear de manera sólida con esta tecnología. Debido a la susceptibilidad de la señal Bluetooth a factores de interferencia, sería necesaria una fuerte iluminación con señales de iBeacon del área correspondiente y cálculos de posición usando triangulación con planos de habitación. MOKOSmart ofrece soluciones apropiadas (Navegación interior iBeacon SDK) y varios otros fabricantes como LabWerk, pero el autor no tiene conocimiento de ningún informe práctico.

Con el desarrollo de una aplicación que interactúa con iBeacons, los aspectos de seguridad y protección de datos también deben tenerse en cuenta. Debido a la simplicidad de la señal., iBeacon es propenso a la suplantación de identidad, que no debe olvidarse durante el desarrollo. Los datos como la ubicación actual y el perfil de movimiento que se pueden recopilar en función del comportamiento del usuario también tienen una gran necesidad de protección.

MOKOSMART iBeacon SDK

solución ibeacon sdk

 

Escrito por --
Nick él
Nick él
Mella, un gerente de proyectos experimentado en nuestro R&Departamento D, aporta una gran experiencia a MOKOSMART, habiendo trabajado anteriormente como ingeniero de proyectos en BYD. Su experiencia en R&D aporta una habilidad integral a la gestión de proyectos de IoT. Con una sólida trayectoria que abarca 6 años en gestión de proyectos y obtener certificaciones como PMP y CSPM-2, Nick se destaca en la coordinación de esfuerzos en todas las ventas., Ingenieria, pruebas, y equipos de marketing. Entre los proyectos de dispositivos IoT en los que ha participado se encuentran Beacons, Dispositivos LoRa, pasarelas, y enchufes inteligentes.
Nick él
Nick él
Mella, un gerente de proyectos experimentado en nuestro R&Departamento D, aporta una gran experiencia a MOKOSMART, habiendo trabajado anteriormente como ingeniero de proyectos en BYD. Su experiencia en R&D aporta una habilidad integral a la gestión de proyectos de IoT. Con una sólida trayectoria que abarca 6 años en gestión de proyectos y obtener certificaciones como PMP y CSPM-2, Nick se destaca en la coordinación de esfuerzos en todas las ventas., Ingenieria, pruebas, y equipos de marketing. Entre los proyectos de dispositivos IoT en los que ha participado se encuentran Beacons, Dispositivos LoRa, pasarelas, y enchufes inteligentes.
Compartir esta publicacion
Potencia a tus conectados Necesidad con MOKOSmart Soluciones de dispositivos de lotes!