Wikitude. Servicios Seb
-
Upload
vicente-garcia-diaz -
Category
Technology
-
view
467 -
download
1
description
Transcript of Wikitude. Servicios Seb
Accesibilidad y Realidad Aumentada
Vicente García Díaz – [email protected]
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