Logo FileMaker Business Alliance Trainer & Apple Consultants Network
Foto trucos

Truco: iBeacons.

Ejemplo práctico de uso de esta tecnología con FileMaker Go.

Quizá una de las novedades más interesantes de FileMaker 15 sea la posibilidad de conectarse con iBeacons. Esta tecnología no es nueva, pero el hecho de poder empezar a usarla con FileMaker abre la puerta a un amplio número de soluciones en distintos sectores.

En este artículo vamos a repasar lo esencial del uso de iBeacons con FileMaker. Además, lo acompañamos de un archivo de ejemplo para que puedar servir de punto de partida.

Descargar archivo de ejemplo.

[Nota: para utilizar esta técnica es necesario utilizar la versión de 15 o superior de FileMaker Pro o FileMaker Pro Advanced.]

I. QUÉ SON

La palabra Beacon significa baliza, es decir, se trata de un dispositivo que está emitiendo constantemente una señal de radio con la intención de poder ser localizado fácilmente. Son muchas las empresas que están trabajando con esta tecnología. Los beacons con los que trabaja Apple (y por tanto FileMaker) se denominan iBeacons.

Un iBeacon es un dispositivo, normalmente de plástico, que lleva en su interior una pila y un pequeño circuito. Una vez activo, comienza a emitir una señal de radio. Lo hará hasta que se le acabe la batería, algo que ocurrirá aproximadamente dos años después.

Para empezar a trabajar con nuestros iBeacons, primero tenemos que configurarlos. Es una operación sencilla, ya que los fabricantes suelen facilitar un software para hacerlo.
Para este ejemplo, hemos utilizado los iBeacons de la empresa RadiusNetworks.
Como puedes ver en la foto, hay tres iBeacons iguales con forma de boón a los que se les puede colocar un complemento que los convierte en un llavero o en una pulsera o reloj. También hay un iBeacon que no se alimenta con una pila sino con una toma USB. Eso hace que mantenga la emisión de la señal mientras le llegue corriente.

iBeacons

Para cada dispositivo introduciremos 3 valores:

- identificador: se trata de un código alfanumérico del tipo UUID. Este tipo de identificador es conocido por los desarrolladores de FileMaker por utilizarse como identicador único de los registros de la tabla a través de la función Get ( UUID):

00347EFA-EABF-4030-8737-871419EC8B8F


A diferencia del uso habitual en FileMaker, sí que es posible asignar el mismo UUID a varios iBeacons.

- mayor: es un valor numérico que determina la familia a la que pertenece el dispositivo.

- menor: sería algo así como la subfamilia a la que pertenece el dispositivo.

La forma en que decidamos organizar nuestras familias y subfamilas, es cosa nuestra.

II. La función

La función que vamos a utilizar sólo está disponible en FileMaker 15:

RangeBeacons ( UUID {; tiempo de espera ; mayor ; menor} )
Como vemos, la función tiene un parámetro obligatorio (el UUID) y 3 opcionales (tiempo de espera, mayor y menor)
Al rellenar los parámetros indicaré el dispositivo que estoy buscando a través del UUID y, si quiero filtrar mi búsqueda, podré poner también los valores de mayor/menor para que mi búsqueda localice únicamente los iBeacons de esa familia o subfamilia.
El parámetro Tiempo de espera indica los segundos que FileMaker va a estar buscando iBeacons. Si no relleno el parámetro, estará buscando durante 5 segundos.

III. El resultado

Una vez tenemos preparada nuestra función, tendremos que llevar nuestro archivo .fmp12 a un dispositivo iOS (iPhone, iPad o iPodTouch), ya que la búsqueda sólo es posible hacerla a través de FileMaker Go 15. Mediante la tecnología bluetooth, encontrará los iBeacons en un área despejada de 100 metros.

some image


Al evaluar la función, nos devolverá, separando cada valor por una coma, la siguiente información:
- UUID: El identificador del iBeacon buscado.
- mayor: El valor que identifica un grupo de iBeacons.
- menor: El valor que identifica iBeacons específicos de un grupo de iBeacons.
- proximidad: un número que indica la proximidad relativa a un iBeacon. Este número deberemos interpretarlo de la siguiente forma:
• 0 (desconocido) No se pudo determinar la proximidad del iBeacon.
• 1 (inmediato) El iBeacon está muy próximo al dispositivo iOS.
• 2 (cercano) El iBeacon está relativamente próximo al dispositivo iOS.
• 3 (lejano) El iBeacon está lejos del dispositivo iOS.
- precisión: La precisión del valor de proximidad, medida en metros, desde el iBeacon. Si el valor es negativo quiere decir que no se pudo determinar la precisión.
- rssi: La intensidad de la señal recibida de los iBeacons, medida en decibelios. Es importante darse cuenta de que al final del resultado, se incluye un retorno de carro, algo muy interesante de cara a realizar lista virtuales de iBeacons.

IV. El archivo de ejemplo

En el archivo de ejemplo podemos ver la función RangeBeacon en acción. Hay una única tabla con los 4 iBeacons. En la pantalla de inicio (distinta en función de si accedemos con iPad o iPhone) podemos pulsar sobre cada uno de los botones para buscar el iBeacon correspondiente y visualizar el resultado de la búsqueda en dos campos globales.
Para facilitar la lectura del resultado por parte del usuario, una función personalizada llamada Distancia se encarga de convertir el valor de proximidad (0, 1, 2 ó 3) el un texto (desaparecido, aquí, cerca, lejos).

Encontrado


Para simplificar el código, el UUID del iBeacon se envía al guión a través de parámetro de guión.
Por último, un formato condicional basado en un PatternCount permite que el botón cambie de color tras ser pulsado.

 

Desaparecido


 

Dado que no tienes acceso a los iBeacons empleados en el ejemplo, siempre te saldrá que el iBeacon está desaparecido. Si modificas los valores del archivo y pones los de tus iBeacons, sí que obtendrás resultados válidos.

 

V. Conclusión

El código necesario para implementar los iBeacons, como has podido comprobar, es muy sencillo. Sin embargo, esta tecnología abre la puerta para ofrecer nuestras soluciones FileMaker a empresas donde la localización de objetos o personas es importante: museos, congresos, almacenes...
Además, el hecho de que se utilice en FileMaker Go, lo convierte en una herramienta muy interesante para soluciones de movilidad.

Descargar archivo de ejemplo.

 

Javier Durá
Desarrollador Certificado de FileMaker 11, 12, 13, 14 y 15
@soyjavidura