wikitude. servicios seb

30
Accesibilidad y Realidad Aumentada Vicente García Díaz – [email protected] Universidad de Oviedo, 2012 Servicios Web

Upload: vicente-garcia-diaz

Post on 26-May-2015

470 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Wikitude. Servicios Seb

Accesibilidad y Realidad Aumentada

Vicente García Díaz – [email protected]

Universidad de Oviedo, 2012

Servicios Web

Page 2: Wikitude. Servicios Seb

Tabla de contenidos

1. Conceptos básicos

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

2

Wikitude – Servicios Web

Page 3: Wikitude. Servicios Seb
Page 4: Wikitude. Servicios Seb

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

Page 5: Wikitude. Servicios Seb

Arquitectura de Wikitude

5

Conceptos básicos

http://www.wikitude.com

Page 6: Wikitude. Servicios Seb

Formas de desarrollo con Wikitude

6

Conceptos básicos

Page 7: Wikitude. Servicios Seb

Registro del servicio Web

7

Conceptos básicos

Page 8: Wikitude. Servicios Seb

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

Page 9: Wikitude. Servicios Seb

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

Page 10: Wikitude. Servicios Seb

Estructura de un documento ARML

10

Conceptos básicos

Page 11: Wikitude. Servicios Seb

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

Page 12: Wikitude. Servicios Seb

Librería para trabajar con ARML

Page 13: Wikitude. Servicios Seb

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

Page 14: Wikitude. Servicios Seb

Arquitectura de la librería

14

powerhour-wikitude-world-creator

«interface»PowerHour_Wikitude_IPOI

PowerHour_Wikitude_POIPowerHour_Wikitude_Arml PowerHour_Wikitude_Attachment

1 * 1 *

Page 15: Wikitude. Servicios Seb

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();

}

Page 16: Wikitude. Servicios Seb

Proyecto PHP con Eclipse

16

powerhour-wikitude-world-creator

1

2

3 4

Page 17: Wikitude. Servicios Seb

Ejemplo de servicio Web (I)

17

powerhour-wikitude-world-creator

servicioweb.php

Page 18: Wikitude. Servicios Seb

Ejemplo de servicio Web (II)

18

powerhour-wikitude-world-creator

Page 19: Wikitude. Servicios Seb

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

Page 20: Wikitude. Servicios Seb

Muestra de los puntos de interés

20

powerhour-wikitude-world-creator

Page 21: Wikitude. Servicios Seb

Prueba del mundo creado

21

powerhour-wikitude-world-creator

Clave a introducir en el dispositivo

Page 22: Wikitude. Servicios Seb

Visualización del mundo creado

22

powerhour-wikitude-world-creator

Page 23: Wikitude. Servicios Seb
Page 24: Wikitude. Servicios Seb

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

Page 25: Wikitude. Servicios Seb

25

Conexión a la base de datos

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

Page 26: Wikitude. Servicios Seb

26

Conexión a la base de datos

Creación de una tabla (I)

Page 27: Wikitude. Servicios Seb

27

Conexión a la base de datos

Creación de una tabla (II)

Page 28: Wikitude. Servicios Seb

28

Conexión a la base de datos

Inserción de datos en la tabla

Page 29: Wikitude. Servicios Seb

29

Conexión a la base de datos

Acceso a los datos de la tabla

Page 30: Wikitude. Servicios Seb

Bibliografía

30