Wikitude. Servicios Seb

Preview:

DESCRIPTION

Iniciación a la realidad aumentada con Wikitude y Servicios Web

Citation preview

Accesibilidad y Realidad Aumentada

Vicente García Díaz – garciavicente@uniovi.es

Universidad de Oviedo, 2012

Servicios Web

Tabla de contenidos

1. Conceptos básicos

2. Librería powerhour-wikitude-world-creator

2

Wikitude – Servicios Web

Almacenamiento externo de datos

• Lo más sencillo subir archivos KML o ARML a los servidores de Wikitude

• Lo más potente gestionar en nuestro servidor los datos

▫ Cada vez que Wikitude los necesite, los solicitará

▫ Después del procesamiento, hay que enviar los datos en formato ARML

▫ Pueden ser creados dinámicamente

4

Conceptos básicos

Arquitectura de Wikitude

5

Conceptos básicos

http://www.wikitude.com

Formas de desarrollo con Wikitude

6

Conceptos básicos

Registro del servicio Web

7

Conceptos básicos

Solicitud de datos desde Wikitude

8

Conceptos básicos

Parámetro HTTP GET Descripción Ejemplo

latitude La latitud actual del usuario en grados [-90, 90] 34.122429

longitude La longitud actual del usuario en grados [-180, 180]

120.198221

maxNumberOfPois Número máximo de POIs que quiere el usuario 30

searchterm Posible término buscado por el usuario Coches

language El idioma configurado en el teléfono (ISO 639) es

Por ejemplo: http://www.myweb.com/myservice.php?longitude=13.037597&latitude=47.826197

Respuesta del servicio ante la solicitud

• El servicio Web debe responder utilizando el formato ARML ▫ Si el servicio Web ofrece resultados de más de un mundo, hay

que devolver todos los ar:provider, aunque en esa ocasión no haya ningún POI en la respuesta

▫ Si la respuesta tarda más de 3-5 segundos, se ignorará

▫ Si el usuario pide por ejemplo 50 POIs, no hace falta devolver 50

▫ Hay que tener en cuenta que si Wikitude detecta que un mundo no tiene resultados para una zona concreta en un determinado momento, tardará un tiempo en volver a analizar dicho mundo para esa misma zona Sirve para evitar saturar los servidores

9

Conceptos básicos

Estructura de un documento ARML

10

Conceptos básicos

Estructura de un documento ARML

11

Conceptos básicos

Identificador único para el mundo Nombre del mundo para mostrarse en el cliente

Para entrar en detalle sobre para qué sirve

URL de los creadores

Lista de palabras clave, separadas por comas

URL del logo del mundo o compañía (96x96 PNG) URL del icono para indicar POIs en la vista de la cámara (32x32 PNG)

Cada POI tiene un identificar único obligatoriamente

Identificador del mundo asociado al POI Nombre del POI

Descripción del POI

Icono mostrado (64x64 PNG)

Teléfono asociado al POI URL asociada al POI

Correo electrónico

Dirección física MIME type para adjunto (p.e., MPEG, PDF, JPEG, PNG, GIF, TXT, ….)

LONGIDUD, LATITUD, ALTITUD

esqueleto.arml

http://www.openarml.org/wikitude4.html

Librería para trabajar con ARML

Librería para trabajar con ARML

• Cuando se trabaja en Wikitude con Servicios Web, es necesario devolver un documento ARML ante cada solicitud

• Para facilitar el trabajo con ARML se ha creado una librería llamada powerhour-wikitude-world-creator

▫ http://code.google.com/p/powerhour-wikitude-world-creator/

• Es una librería escrita en el lenguaje PHP

13

powerhour-wikitude-world-creator

Arquitectura de la librería

14

powerhour-wikitude-world-creator

«interface»PowerHour_Wikitude_IPOI

PowerHour_Wikitude_POIPowerHour_Wikitude_Arml PowerHour_Wikitude_Attachment

1 * 1 *

IPOI.php

15

powerhour-wikitude-world-creator

/** * Describes a contract for a Wikitude-ARML-Placemark * @author Thomas Krammer - www.powerhour.at * */

interface PowerHour_Wikitude_IPOI {

public function getId();

public function getProvider();

public function getName();

public function getDescription();

public function getThumbnail();

public function getPhone();

public function getUrl();

public function getEmail();

public function getAddress();

public function getAttachment();

public function getCoordinates();

}

Proyecto PHP con Eclipse

16

powerhour-wikitude-world-creator

1

2

3 4

Ejemplo de servicio Web (I)

17

powerhour-wikitude-world-creator

servicioweb.php

Ejemplo de servicio Web (II)

18

powerhour-wikitude-world-creator

Información necesaria para crear el mundo

• Estado Testing/Published

• URL del servicio Dirección en la que se encuentra el servicio Web publicado

• Categoría Categoría/s a las que pertenece el mundo

19

powerhour-wikitude-world-creator

Muestra de los puntos de interés

20

powerhour-wikitude-world-creator

Prueba del mundo creado

21

powerhour-wikitude-world-creator

Clave a introducir en el dispositivo

Visualización del mundo creado

22

powerhour-wikitude-world-creator

Creación de la base de datos

• El servidor 000webhost.com ofrece la posibilidad de crear bases de datos MySQL de forma gratuita

24

Conexión a la base de datos

25

Conexión a la base de datos

Información para acceder a la base de datos desde PHP

26

Conexión a la base de datos

Creación de una tabla (I)

27

Conexión a la base de datos

Creación de una tabla (II)

28

Conexión a la base de datos

Inserción de datos en la tabla

29

Conexión a la base de datos

Acceso a los datos de la tabla

Bibliografía

30

Recommended