¡Atención! Este sitio utiliza cookies.
Si no cambias la configuración de tu navegador, aceptas su uso.

iBeacons, qué son y por qué pueden ser tan útiles.

¿Qué es un iBeacon?

No, Apple no ha patentado una nueva marca de jamón ahumado.

Solo 10€ más caro

Solo 10€ más caro. Only on the AppStore

La primera aproximación que podemos tener de un ‘beacon’ es su traducción en español de ‘baliza’ o más técnicamente un ‘radiofaro’. Pero vamos a quedarnos con el de ‘baliza‘ mejor. Las balizas son señales que se envían a barcos y aviones para orientarles. Un ejemplo sencillo es el de las señales lumínicas de los faros. Los faros en sí solo transmiten una única información: “Estoy aquí”, “estoy aquí”, “estoy aquí”… Es su propósito, el contexto y  los responsables de manejar las embarcaciones son los que determinan la acción en consecuencia. El faro, la baliza, solo avisa de su presencia.

Con los beacons ocurre exactamente lo mismo.

¡No te olvides la leche hipster!

¡No te olvides la leche hipster!

Un beacon no tiene aplicación por sí mismo, es un periférico que solo emite ondas de baja frecuencia de forma continua. Pero eso es lo mágico de la idea, porque hace que cualquier otro objeto que esté a su lado pueda ser localizado de forma sencilla. Por poner un ejemplo, un beacon en tu nevera crearía un contexto alrededor de ella, notificando a su app pertinente solamente cuando estás cerca de ella, cuando es relevante. Cualquier software capaz de entender esa señal podrá actuar en función de estar o no cerca del frigorífico, de su contexto. Hasta ahora los móviles entendían de ubicación. Ahora además de su contexto.

¿Pero cómo funcionan estos iBeacons?

Cada beacon tiene asociada una información inequívoca, que es:

  • Su identificador ( proximity UUID ).
  • Un major (entero de 16bits).
  • Un minor (entero de 16bits).

Pongámonos en el caso de que tenemos una cadena de comida rápida, llamémosla “Star Wars Coffee”. Nuestros clientes pueden pedir un café y doughnuts por la mañana a través de starwarscoffee.com, previo registro, salir hacia su trabajo y pasar por nuestra tienda, con el pedido esperándole sobre la mesa. Nuestro compromiso con el cliente nos obliga a cobrarle cuando recoge el pedido y no antes, de modo que simplemente esperamos a que se acerque a caja. Si lleva la app de nuestra tienda en el bolsillo, el pago se realiza automáticamente cuando esta detecta el iBeacon pertinente (el que dice “soy la caja de cobrar”, “soy la caja de cobrar”, “soy la caja de cobrar”…). Se comprueban usuario, tienda en la que se ha hecho el pedido, etc, etc. Una implementación trivial.

star_wars_caffee

No es una perturbación en la Fuerza, son iBeacons

Pero Star Wars Caffee es una cadena, ¿no? Si el proximity UUID identifica nuestros beacons (lo que no quita que no haya alguien con la misma ID en otra parte del mundo), ¿qué nos identifica como tienda física? Tenemos 2 en la Gran vía de Madrid además, y no queremos crear confusión. Para eso usamos los major y los minor. De esa forma tenemos un identificador para nuestra cadena junto al de las tiendas, y otro para un área concreta dentro de ellas (por ejemplo, uno para recibir a los clientes cuando se sienten en la mesa, otro para la caja, y otro en la puerta de nuestro establecimiento). Y como no se basan en un punto geográfico sino en la intensidad de la señal, podríamos mover los beacons de sitio a placer siempre y cuando no les cambiemos su función.

Cómo utiliza una app esta información.

iBeacons se sirve de la tecnología BLE (Bluetooth Low Energy) para funcionar. Pese a lo que pueda parecer en un primer momento, no necesitamos tener conocimientos sobre Bluetooth para crear una app con ellos. Es decir, no necesitamos CoreBluetooth para una función esencial, solo CoreLocation. Y es que lo que ha hecho Apple ha sido refactorizar el código de este framework para añadir iBeacons.

iBeacon de Estimote

El concepto de Regiones es igualmente válido, solo que en iOS 7 deberemos tener en cuenta que los iBeacons no tienen un centro geográfico (ni un radio como tal). Esto realmente no nos afecta hayamos tocado CoreLocation antes o seamos pececillos nuevos en el estanque, pero es importante saberlo.

Aquí las regiones las definen los beacons. Nuestro trabajo consiste en registrar nuestra id de región y el UUID del que hemos hablado antes, que iOS 7 hace el resto. Cuando el sistema detecte un iBeacon le preguntará por el nombre de su región (la establecemos nosotros) y si resulta que estamos dentro de la nuestra nos limitaremos a escuchar/monitorizar las balizas que detectemos (normalmente nos quedaremos con la más cercana) y a procesarlas según las variables que hemos visto antes: el proximity UUID, el major y el minor.

ibeacons_esquema_regiones

¿Cómo podríamos utilizarlos en el día a día?

Aquí va una lista de usos que podríamos darles a estos beacons. Las ideas son gratis. El esfuerzo por llevarlas a cabo es cosa de cada uno.

  • Comercios > Ofertas, stock, pagos… Convertir nuestro iPhone en un Beacon para determinar que tenemos un pedido pendiente…
  • Llegada de autobuses.
  • Juegos de ‘pilla-pilla’, ‘marco-polo’, ‘polis-cacos’.
  • Visitas guiadas en museos.
  • Abrir el coche cuando pasemos muy cerca.
  • Activar eventos al llegar a casa: encender la calefacción, apagar la alarma, poner música, etc (podríamos poner el Ave María de Schubert al visitar el Trono y crear The Ultimate Letrina Experience™, lo dejo ahí).
  • En eventos, conocer gente emitiendo ubicación de una persona en concreto.
  • Gymkanas.
  • Usar el iBeacon como llavero para encontrar las llaves.
  • Controlar la gente que entra en una lugar actualizando un contador a través de una API remota.
  • Peajes o acceso con barrera para ciclistas o peatones. Con la app abierta validaríamos el acceso a un ordenador cercano y pasaríamos sin detenernos.
  • Guías turísticos. Cuando el turista se despista el teléfono vibra para avisarle de que su guía se está alejando.
  • Los Drones de Amazon podrían avisarnos de que han llegado (si es que llegamos a ver alguno, que en España hay mucho ‘morador de las arenas’ suelto).

¡Quiero código, pérfido vendehumos!

En la próxima entrada desarrollaré el código más esencial para ponerse a trabajar con los iBeacons y colgaré un mini proyecto con el que podréis utilizar vuestro iPad (a partir del 3) y vuestro iPhone (4S o superior) para empezar a jugar y ahorraros copiar código de la documentación, que al fin y al cabo es de donde lo he sacado yo.

¿Más?

Para quien no la haya visto todavía, el crac de Pedro Muñoz realizó una charla muy interesante sobre los iBeacons hace poco. Está disponible en la página de Miguel Díaz Rubio.

Podría haberos avisado antes, pero es que entonces vaya negocio que hago escribiendo todo esto. Si hay peli, ¿para qué leerse el libro?

Si tenéis alguna sugerencia o corrección (especialmente esta última) podéis escribirla en los comentarios.

¡Nos vemos en la siguiente entrada de ‘iOS para Dummies™’!

Escrito por Miguel Hernández Jaso

Autor del blog. Desarrollador especializado en iOS.

4 respuestas a “iBeacons, qué son y por qué pueden ser tan útiles.”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Mi Gobierno me obliga a decirle que utilizo 'cookies' en mi página. Si continúa navegando, quiere decir que está conforme con ello.