Páginas

viernes, 30 de abril de 2021

Geoposicionamiento indoor con EddyStone


Tecnología BLE, protocolo de Google soportado por Apple. Alcance 50 metros.

Los beacon se colocan estratégicamente en distintas ubicaciones y se ajusta para emitir con cierta frecuencia una señal de baliza que contiene una mezcla de 3 bloques de datos:

  • Eddystone-UID. Emite un identificador único universal del beacon, que es equivalente a la funcionalidad de iBeacon (UUID 10 bytes + MajorMinor 6 bytes + TX), ver entrada anterior.
  • Eddystone-EID. Es equivalente a Eddystone-UID pero los identificadores se cifran con una clave AES rotatoria que sólo conocen el beacon y la App. De este modo nadie puede copiar el UUID para ponerlo en sus propios beacons y falsificar los datos de posicionamiento.
  • Eddystone-URL. Emite una URL, que es la URL del sitio de internet donde se ofrece la audioguía, eliminamos por tanto la necesidad de que el usuario tenga instalada la App turística, dado que el SO del móvil (Android >=4.4) genera directamente la notificación PUSH con el mensaje de aviso y la URL
  • Eddystone-TLM. Contiene datos sobre el estado del propio beacon: nivel de batería, temperatura dispositivo, tiempo desde el reseteo, número de veces que se ha emitido el anuncio.

En la configuración del beacon se decide qué tipo de mensajes se envían (UID + TLM, EID + TLM, URL + TLM) y con qué frecuencia de modo que se mantenga la calidad del servicio ahorrando batería.

Es esencial destacar que los mensajes TLM no tienen UUID ni URL por lo que se depende de que en el cliente se asocien con los mensajes anteriores, presuponiéndose que el UUID es el mismo. Aquí veo un mar de complicaciones derivado de la posible existencia de beacons próximos de NN marcas o con frecuencias de envío suficientemente bajas como para que el dueño del móvil se mueva de una zona a otra...

Para que el sistema funcione es indispensable que el usuario tenga:

  •     Un teléfono inteligente
  •     Activado el Bluetooth
  •     App instalada y activa (sólo si manejamos mensajes Eddystone-UID)

El SO recibe los mensajes:

  • Si es un mensaje Eddystone-UID, identifica el UUID, se lo pasa a la App asociada a ese UUID. La App envía en ese momento a cierto servidor propio el mensaje. El servidor analiza el ID de la zona (Major), el ID de la ubicación exanca (Minor) y la potencia (TX) y genera un mensaje de respuestqa con, por ejemplo, la URL de cierto portal donde hay una audioguía que explica algo sobre el cuadro que sabemos que está a menos de 1 metro (TX era por ejemplo 1)
  • Si es un mensaje Eddystone-URL, el SO genera la notificación PUSH para mostrar esa URL al usuario (sin necesidad de una App)
  • Si es un mensaje Eddystone-TLM, si hubo mensaje UID se le pasa la telemetría al App asociado, si hubo mensaje URL entiendo que se envía la telemetría a esa URL (tampoco he visto aclaraciones sobre este punto)

Importante, en 2018 Google dejo de dar soporte a Eddystone y a las Eddystone-URL...

Alernativas:
    NFC. La pega es que su alcance es de 20 cm
    Seeketing. Es una alternativa muy seria dado que no precisamos de App instalada
    EddyStone. Es un protocolo impulsado por Google con ciertas diferencias y mejoras

Enlaces:
    https://en.wikipedia.org/wiki/Eddystone_(Google)
    https://www.mokosmart.com/es/eddystone-protocol-and-specifications/
    https://os.mbed.com/teams/Bluetooth-Low-Energy/code/BLE_EddystoneBeacon_Service/file/dfb7fb5a971b/Eddystone.h/
    https://www.novelbits.io/eddystone-beacons-zephyr-nrf52/#eddystonetlm-eddystoneeid-aaa85f04-9e47-4eb4-bc6c-6832e289639c
    https://github.com/google/eddystone/tree/master/eddystone-tlm

No hay comentarios:

Publicar un comentario