• No se han encontrado resultados

Solución para la historia de usuario 1

4. INTERFAZ DE REALIDAD AUMENTADA PARA LA INTERNET DE LAS COSAS

4.1. INTRODUCCION Y APORTES

4.6.1. Solución para la historia de usuario 1

Como primera medida se establecieron los requerimientos prioritarios con base en el análisis de la historia de usuario 1 los cuales fueron:

 Identificar el escenario.

 Contextualizar.

 Detectar la cantidad de recursos IoT disponibles.

La identificación del escenario se realiza utilizando un dispositivo móvil y capturando la consulta al índice, las modalidades de consulta serán dos, el modo clásico de consulta mediante texto y botones, y aprovechando los sensores del dispositivo móvil, se hace la consulta de otra manera. Para la contextualización se utiliza el índice semántico asociado a una ontología específica, de tal manera que al realizar una consulta al índice con unos parámetros de contexto definidos, la ontología retorne los objetos asociados a la consulta.

A continuación, se presenta un análisis de las tecnologías actuales que se pueden utilizar para identificar elementos de contexto como la EI; para esto se realizaron pruebas en el motor de

74

desarrollo Unity 3D, en conjunto con la librería PTC Vuforia, teniendo en cuenta las características de cada tecnología se obtuvo la Tabla 5.

TECNOLOGIA DE IDENTIFICACION

VENTAJAS DESVENTAJAS

Tags NFC Y RFID -Simplicidad

-Economía -Estandarizado

-Integración compleja con el motor de desarrollo

-NFC requiere cercanía con el dispositivo móvil.

-Necesidad de un experto para programarlo o una interfaz especializada.

-Depende de la antena del dispositivo y el alcance.

Códigos QR -Economía

-Fácil creación -Desechable

-Integración media con el motor de desarrollo.

-Fácil detección en el dispositivo móvil.

-Personalizable.

-Depende de las condiciones de iluminación y posición del dispositivo de captura.

-Poco natural para el usuario. -Inseguro

-Depende de un marcador

Identificación de

entorno por visión de computadora.

-Naturalidad para el usuario. -Sin marcadores

-Hardware complejo tanto en detección como en uso.

-Alto costo

-Necesidad de un experto para

vincular el entorno a un

identificador.

GPS -Proporciona localización

-Fácil integración con el motor de desarrollo.

-Hardware integrado en la mayoría de Smartphones.

-Resolución en metros.

-No funciona bien en interiores. -Alto consumo de energía

BLE - Bluetooth 4.0 Low energy

-Permite calcular proximidad. -La señal tiene un alcance aceptable.

-Es económico

-Poco estandarizado

-Integración compleja con el motor de desarrollo.

-Tecnología emergente

Tabla 5. Características de tecnologías de identificación.

Se puede concluir que para el primer prototipo la solución más accesible y rápida para la identificación del escenario es la utilización de un código QR que asocie la palabra con la que se hace la consulta al índice semántico por economía e integración con el software de desarrollo. A continuación se describe el desarrollo de la escena 1 y 2, las cuales se asignan a la historia de usuario 1:

75

El escenario de interacción tiene asociada la palabra “Sala” de una casa para su identificación, así mismo se asocia este término al código QR respectivo en Vuforia, ya que es una de las palabras definidas en los metadatos del middleware Xively para cada OI.

El proceso de creación de las escenas en Unity 3D tiene su base fundamental en la creación e implementación de marcadores con Vuforia, descrito en el Anexo B del presente documento, la implementación del servicio web se encuentra en el Anexo C y los códigos de los scripts en C#, utilizados en este desarrollo se encuentran en el Anexo D.

El marcador utilizado para la palabra “Sala” fue generado en la web:

http://www.qrcode.es/es/generador-qr-code/

y el código o marcador QR obtenido se observa en la Figura 30.

Figura 30. Código QR “Sala”.

Esta palabra se envía a una base de datos interna de Unity 3D junto con los datos del GPS utilizando el script Tracking.cs, esto con el fin de pasarle estos datos a la siguiente escena, para la acción de contextualizar; este mismo procedimiento se sigue si el usuario realiza una consulta mediante el método clásico de ingresar texto, asistido por el HUD implementado. (ver Figura 31).

76

Figura 31. Identificación del escenario – escena 1. Fuente Propia.

Estas acciones dependen del tipo de índice con que se haga la consulta y de la ubicación del usuario al momento de consultar los datos GPS; aunque en este prototipo se utilizó un índice para domótica, se pueden cargar servicios web de diferentes dominios mediante el procedimiento descrito en el Anexo C de presente documento.

La tarea de identificación sucede cuando el usuario abandona el código QR de su campo de visión, la aplicación cambia automáticamente a la siguiente escena para realizar la consulta respectiva al servicio web asociado al índice semántico, en este caso mediante la palabra “Sala” del código QR. La localización está vinculada con la ubicación del marcador QR de la EI, que se ha establecido como una ubicación fija, sin embargo, si se cambia de sitio el marcador asociado, simplemente cambiaran las coordenadas GPS, pero el contexto sigue siendo el mismo a excepción de que se realice una consulta escrita y se cambie la palabra a consultar. Cabe notar que el hecho de poder mover el marcador de la EI o de los PI va en contravía con el concepto de AR, por lo tanto, se hace necesario vincular la identificación del escenario y de los OI de manera fija.

Escena 2. Consulta.

La aplicación instancia el servicio del índice a través de la referencia web creada en el entorno de desarrollo, utilizando el script Consulta.cs, una vez el índice obtiene la palabra almacenada (por ejemplo “sala”) se utilizan las funciones del servicio web para consulta simple y expandida (ver Figura 32.)

77

Figura 32. Servicio web índice de domótica. Fuente Propia.

La consulta al índice a través de la EI “Sala”, brinda unos resultados generales y globales, así nace la necesidad de establecer el contexto jerárquicamente, pues aunque en este prototipo no se consideran los aspectos de seguridad y personalización, la jerarquía de contexto define y delimita el dominio de trabajo, junto con la EI y el PI a través de la consulta al índice semántico utilizado y la localización, marca o huella del usuario al desplazarse (fingerprint) la cual es intrínseca para este caso.

La ontología y el índice de domótica utilizados brindan la posibilidad de realizar consultas combinadas respecto a la EI, y la localización enriqueciendo el contexto de manera transparente, haciendo uso de las coordenadas GPS, y estableciendo un radio de búsqueda en kilómetros, además del idioma de consulta, así pues la funcionalidad de contextualización en la interfaz se establece en la consulta de manera expandida.

También se pueden asociar más palabras y definirlas en cada marcador mediante la plataforma de desarrolladores de Vuforia, puede implementarse la funcionalidad para que una interfaz multimodal pueda redefinir el contexto con algún otro tipo de búsqueda o se personalice el contexto en relación al usuario final. En este sentido Vuforia brinda la posibilidad de reconocer texto, imágenes, Objetos 3D, y el S.O Android permite entradas como comandos de voz, texto y datos GPS entre otros, pudiendo aumentar o disminuir la complejidad de la búsqueda a gusto del cliente en el proceso de desarrollo.

Se hace necesario brindar todas estas alternativas al usuario a través de elementos tipo interfaz de usuario UI, para este caso desde la anterior escena se obtienen los datos referentes a identificación del escenario y localización, ambos idiomas de consulta: inglés y español, para el

78

radio de acción se implementa un deslizador o slider, para representar los recursos encontrados a la vista del usuario, siguiendo con la filosofía de la AR, las representaciones o modelos 3D deberán representar los elementos encontrados con algún dato o metadato relacionado y algún tipo de interacción con el usuario.

Los datos para instanciar las representaciones graficas necesarias se obtienen de la respuesta del servicio web, la cual es una matriz de datos que son estáticos y solo se actualizan mediante una función del mismo servicio. Unity 3D le permite al desarrollador tener una vista completa de dicha información y tomar decisiones de diseño en tiempo de ejecución como se observa en la Figura 33. Para el prototipo 1 se tiene en amarillo el número de objetos encontrados y el nombre de cada uno, en rojo el numero identificador Feed de cada recurso IoT encontrado, y en azul el número de recursos que tiene dicho objeto con su respectivo nombre si los hay.

Figura 33. Matriz de datos obtenida del servicio web. Fuente Propia.

En este punto se tiene una lista de recursos IoT ordenados por relevancia a la consulta y algunos de ellos están relacionados al contexto definido, estos son los tres OI definidos en el trabajo de Guerrero Riobamba [21], dando cumplimiento al tercer requerimiento de la historia de usuario número uno.

79