Home

Sistema de Guiado para Peatones, Ciclistas y

image

Contents

1. Para establecer la comunicaci n bluetooth entre el cliente y los servidores Android Wear se utiliz el servicio de paso de mensajes ofrecido por los Play Services en la clase MessageApi Esta clase permite centrarse en el env o y recepci n de mensajes sin preocuparse de la conexi n En la aplicaci n cliente desarrollada en iteraciones anteriores y en el apartado anterior se a adi a la lista de dispositivos de las opciones todos los wearables sincronizados por los Play Services Para hacer m s intuitiva la selecci n se a adi un subt tulo debajo de los nombres de los dispositivos indicando si se trataba de un elemento local bluetooth o wear Gracias a utilizar los Play Services para comunicarnos con un dispositivo vinculado s lo hay que encargarse de sobrescribir los m todos onConnected y onConnection Suspended inicializar la clase GoogleApiClient y conectarse a los servicios con el m todo connect de dicha clase A partir de entonces se pueden enviar mensajes a un nodo conectado indicando su identificador y el tipo de mensaje En el listado 5 20 se muestran los m todos utilizados para el env o de mensajes a un wearable aunque no se incluye la inicializaci n de las variables mWearLeft y mWearRight con los identi ficadores de los nodos correspondientes Esta parte se realiza tras la selecci n de los dispositivos en las opciones 53 ni private String mWearLeft private String mWearRight Mi EN priva
2. lite 2 2 2 on nn 3 2 1 Coordenadas geogr ficas 2 222mm 3 2 2 Tecnolog as actuales 2a te gered ig lad nn ne 3 2 3 Aplicaciones de navegaci n para smartphone 3 3 Plataformas smartphone sae E Sow a RS a er 33de Android ied ee de rue ka ae Seale OS oss opted exer weak er hse atROL IE Be ee er o Windows Phone zu ethic hake eS A gg OE a EE 3 3 4 Blackberry 3 4 Wearables 3 4 1 Wearables vibratorios para smartphone 3 5 Proveedores de mapas rutas y geocoding 2 222mm 4 M todo de trabajo y herramientas 4 1 Metodolog a de trabajo a A A ARA GEI 4 1 1 Prototipado evolutivo 2 bs be ral te wy ee Ba eS 4 2 Herramientas 4 2 1 Hardware 4 2 2 Software 5 Desarrollo del proyecto 5 1 Especificaci n de requisitos A A A A en 5 2 Pruebas 5 3 Proceso de desarrollo 5 3 1 Iteraci n 1 5 3 2 Iteraci n 2 5 3 3 Iteraci n 3 5 3 4 Iteracion 4 5 3 5 Iteraci n 5 5 3 6 Iteraci n 6 5 3 7 Iteraci n 7 5 3 8 Iteraci n 8 5 3 9 Iteraci n 9 6 Resultados 6 1 Recursos y costes Mostrar mapa 424624 224644 a hr bined Mostrar posici n actual enel mapa Orientar mapa a das a a ee Crear y Mostrat TULA grets g en A IO Navegar por ruta Fr eee as Selector de destino 2 2 Cm o Avisos por pantalla gt 2 2 2 22 u 2 2 8 Es AVISOS SODOTOS a 24 702 ae BEL FRE BER aK Dyes
3. n culmin ndolo en 1990 para el Acura Legend Desde entonces se democratiz el uso de los SGNS hasta el punto de encontrar en el mercado un elevado n mero de Personal Digital Assistant PDA equipados con sistemas de navegaci n a finales de la primera d cada del 2000 Con la reciente popularizaci n de los smartphones se ha extendido a n m s el uso de la navegaci n v a sat lite y es com n encontrar personas utiliz ndola por medio de aplicaciones como Google Maps OS Maps o Nokia HERE Como se ver posteriormente estas aplica ciones disponen de un gran n mero de opciones y resultan muy tiles permitiendo llegar a cualquier sitio sin necesidad de conocer el camino previamente pero implican un requisito importante es necesario ver la pantalla u o r las instrucciones para llevarlas a cabo Eso no es un gran inconveniente en un coche pero para los peatones ciclistas y motoristas el hecho de mirar a la pantalla o intentar o r el smartphone supone una distracci n que potencialmente puede provocar un accidente Val12 y por tanto para hacer uso de la navegaci n v a sat lite necesitan otro tipo de interacci n con el dispositivo Las distracciones del conductor son una de las principales causas de accidentabilidad a nivel mundial La National Highway Traffic Safety Administration NHTSA se al en 2003 que la distracci n de los conductores es la causa de 1 5 millones de accidentes producidos anualmente en todo el planeta dFCd
4. Dado Diferentes dispositivos con distintas versiones de Android ver sec ci n 4 2 1 Cuando Se introducen diferentes nombres de lugares de diferentes ciudades Entonces La nueva actividad muestra las direcciones de los lugares buscados Para comprobar el correcto funcionamiento del paso de informaci n entre actividades Dado Diferentes nombres introducidos en la nueva actividad Diferentes dispositivos con distintas versiones de Android ver sec ci n 4 2 1 Cuando Se selecciona alg n resultado de la b squeda Entonces La aplicaci n gu a desde la ubicaci n actual hasta el lugar seleccio nado 5 3 7 Iteraci n 7 Avisos por pantalla Una vez evaluado el prototipo de la iteraci n 6 se introdujo una nueva funcionalidad mostrar los avisos de la pantalla de forma que estuvieran integrados dentro de la aplicaci n y no como hasta ahora que se muestran por medio de mensajes Toast 45 Diseno Puesto que se conocen las acciones que el usuario debe realizar y cu ndo ver listado 5 12 s lo hay que modificar la apariencia de la aplicaci n y a adir el c digo necesario para reali zar los cambios visuales en el m todo startAction Para modificar la apariencia de la aplicaci n se a adi un panel en la parte inferior de la pantalla La parte izquierda del panel muestra una imagen de la pr xima acci n a realizar y la distancia que falta para realizarla La parte derecha del panel muestra textualmente la acci n
5. b squeda y el c lculo de la navegaci n es necesario disponer de conexi n a Inter net y para la navegaci n por la ruta solamente es necesario tener activado el GPS De todos modos se recomienda disponer de conexi n a Internet durante todo el desplazamiento por la ruta para poder activar los avisos sonoros y para recalcular la ruta en el caso de que nos desviemos de la misma 84 Il Explorar mapa Moto o coche camino m s r pido y BUSCAR si lo yo o q w a o to y T i er p ams td tan eke on 4 zx cvbnm 2 5 i Peat n Y plaza mayor criptana BUSCAR Plaza Mayor 13610 Campo de Criptana Ciudad Real Espa a Siga recto 85 Navegaci n S re Gire a la derecha Ha llegado a su destino 6m 86 Anexo C GNU Free Documentation License Version 1 3 3 November 2008 Copyright 2000 2001 2002 2007 2008 Free Software Foundation Inc lt http fsf org gt Everyone is permitted to copy and distribute verbatim copies of this license document but changing it is not allowed 0 PREAMBLE The purpose of this License is to make a manual textbook or other functional and useful document free in the sense of freedom to assure everyone the effective freedom to copy and redistribute it with or without modifying it either commercially or noncommercially Secondarily this License preserves for the author and publisher a way to get credit for their work while not being consi
6. con los complementos vibratorios y activarlos Naviganto Bluetooth Encargado de implementar el complemento vibratorio en An droid Naviganto Wear Encargado de implementar el complemento vibratorio en Android Wear Para el funcionamiento del sistema basta con instalar la aplicaci n Naviganto en nuestro dispositivo pero s lo con esta aplicaci n no podremos hacer uso de la vibraci n para que nos gu e en nuestra navegaci n Por tanto para el funcionamiento completo del sistema necesita remos dos dispositivos como m nimo uno colocado en la parte izquierda de nuestro cuerpo y otro que colocaremos en la parte derecha En el cuadro B 1 se resumen todas las posibles combinaciones v lidas entre las aplicaciones del sistema para hacer uso del funcionamiento completo Naviganto Naviganto Bluetooth Naviganto Wear 1 izquierda 1 derecha 0 1 derecha 1 izquierda 0 1 2 izquierda y derecha 0 1 izquierda 0 1 derecha 1 derecha 0 1 izquierda 1 0 2 izquierda y derecha 1 1 izquierda 1 derecha 1 1 derecha 1 izquierda Cuadro B 1 Resumen de combinaciones entre las aplicaciones del sistema 77 B 2 Instalaci n En los siguientes apartados se exponen los requisitos m nimos para instalar cada una de las aplicaciones del sistema y los m todos de instalaci n B 2 1 Naviganto Requisitos m nimos Los requisitos m nimos que debe cumplir un smartphone para instalar
7. de cuando se conduce un veh culo ocasionar una distracci n y en numerosas ocasiones un accidente Para solucionarlo se plantea una nueva forma de interacci n en la que el sistema se encargue de avisar al usuario en el momento que tenga que realizar alguna acci n por medio de wearables De este modo se evita que el usuario tenga que mirar la pantalla y se previenen ese tipo de accidentes La aplicaci n desarrollada a lo largo del proyecto se llama Naviganto y ofrece al usuario la posibilidad de navegar por sat lite guiado por las vibraciones de dos dispositivos uno colocado en la parte izquierda del cuerpo y el otro situado en la parte derecha Adem s Na viganto proporciona al usuario las interacciones comunes de las aplicaciones de navegaci n como la pantalla o el sonido Abstract Not too long ago it was incredible to carry a tool in your pocket that would allow us to know our exact location It was much less credible to imagine that this tool would give us the ability to be always connected to the Internet However today that tool exists and it is the smartphone With the recent popularity of smartphones have emerged a long series of wearables acces sories that communicate with smartphones and provide us a new form of interaction with the device In this project it is shown one of the most important problems related to the use of smartp hones for satellite navigation ease of cause a distraction and many times an accident To
8. descubrir mi capacidad de adaptaci n a nuevas tecnolo g as ver la repercusi n de realizar desarrollos eficientes en entornos con recursos reducidos y comprender la importancia de ejecutar en diferentes threads la interfaz gr fica y las peti ciones a Internet Como pienso que el mercado de aplicaciones m viles Android y Android Wear se encuen tra en plena expansi n considero que este proyecto me ha permitido conseguir conocimien tos que me ser n tiles en un futuro no muy lejano Por otro lado con el desarrollo de este proyecto he podido comprobar que los desarrollos en Inform tica permiten ver resultados muy r pidamente a costes muy bajos o pr cticamente nulos Adem s me ha permitido tomar en consideraci n lo aprendido durante la carrera para verificar que es s lo una nfima parte de lo que hay fuera Estos hechos han reforzado mis ganas de continuar aprendiendo m s sobre el mbito de la Inform tica Por todo ello considero que este proyecto se ha ajustado a lo que yo buscaba y es el trabajo que m s he disfrutado haciendo en toda la carrera 75 Anexo B Manual de usuario El presente anexo se presenta un manual de usuario destinado a explicar todas las funcio nalidades desarrolladas del sistema desarrollado en este proyecto B 1 Introducci n El sistema consta de tres aplicaciones diferentes Naviganto Encargado de implementar todas las funciones de navegaci n por sat lite y de comunicarse
9. en el sistema se seleccion la segunda opci n porque se consider que era la forma correcta de hacerlo y se a adieron algunas animaciones no incluidas en el listado 5 10 para la espera en la recepci n de la ruta Pruebas Al finalizar la implementaci n del cuarto prototipo se realiz la siguiente prueba Para comprobar el correcto c lculo de rutas para diferentes usuarios y destinos 39 Dado Diferentes perfiles de usuarios peatones ciclistas y motoristas Diferentes coordenadas de destinos Diferentes dispositivos con distintas versiones de Android ver sec ci n 4 2 1 Cuando Se llama al m todo gotoGeoPoint Entonces Se observa en el mapa la ruta desde nuestra localizaci n hasta las coordenadas elegidas teniendo en cuenta el m todo de desplazamien to 5 3 5 Iteraci n 5 Navegar por ruta Una vez evaluado el prototipo de la iteraci n 4 se procedi a a adir una nueva funcionali dad navegar por la ruta creada en la iteraci n anterior observando los mensajes suministra dos por el smartphone Dise o Para dise ar esta nueva funcionalidad se tuvieron en cuenta tres factores La velocidad a la que se desplaza el usuario Hay que tener en cuenta que cuando se hace uso de la aplicaci n el tiempo con el que hay que avisar para realizar una acci n variar en funci n de la velocidad que se lleve Aprovechando este punto tambi n se incorpora una mejora visual que tienen la mayor a de aplicaci
10. la vibraci n en el cliente y en el servidor Para codificar el cuadro 5 1 se hizo uso de la clase Vibrator que tras inicializarla permite manipular el vibrador a voluntad con el m todo vibrate De este modo se desarrollaron los m todos startLocalVibration y stopLocalVibration ver listado 5 17 Por desgracia para establecer la comunicaci n por bluetooth entre el cliente y los servido res no se puede utilizar el mismo m todo en Android y Android Wear Android no se puede vincular a otro dispositivo como un wearable por medio de los Play Services de Android y Android Wear da muchos problemas para acceder a la interfaz bluetooth y comunicarse por otro m todo diferente a los Play Services Por ello hay que distinguir los dos tipos de comunicaci n Android Android y Android Android Wear 51 Implementaci n de la comunicaci n con Android Para establecer una comunicaci n por bluetooth entre el cliente y los servidores An droid se utiliz la clase BluetoothChatService distribuida en los ejemplos de An droid Esta clase permite abstraerse de la implementaci n realizada con Bluetooth Socket y centrarse en qu hacer cuando cambia de estado escuchando conectando etc o recibe un mensaje Adem s permite iniciar el chat y enviar mensajes de forma sencilla En la aplicaci n cliente que es la que se desarroll en las iteraciones anteriores se a a di un nuevo men en opciones Este men permite activar o desactivar la util
11. navegaci n 41 private Boolean mNewAction true private int mStep 0 private float mMetersToGoal Float MAX_VALUE public void onLocationChanged Location loc GeoPoint myLocation new GeoPoint loc if mRoad null float distance getDistance myLocation mRoad mNodes get mStep mLocation if distance lt metersToFirstWarning if distance lt mMetersToGoal if mNewAction mMetersToGoal Float MAX_VALUE mNewAction false startAction getAction mRoad mNodes get mStep mManeuverType distance mMetersToGoal distance else mNewAction true mMetersToGoal Float MAX_VALUE if mStep mRoad mNodes size 1 cleanMap Finished else mStep else if mNewAction mNewAction false startAction STRAIGHT distance Listado 5 12 Ejemplo de implementaci n de LocationListener utilizado para seguir una ruta almacenada en mRoad Para detectar cu ndo se desv a de la ruta establecida se ha utilizado una funci n de la clase RoadOverlay que indica en p xeles a cuanta distancia se encuentra un punto de una ruta ver listado 5 13 Puesto que la ruta va a tener siempre la misma anchura en p xeles tanto acerc ndose como alej ndose de ella con el zoom y el LocationOverlay tambi n 24 p xeles con ste m todo se puede determinar cu ndo se abandona la ruta establecida y coincidir con lo expresado en la pantalla Adem s para preve
12. of it either copied verbatim or with modifications and or translated into another language A Secondary Section is a named appendix or a front matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document s overall subject or to related matters and contains nothing that could fall directly within that overall subject Thus if the Document is in part a textbook of mathe matics a Secondary Section may not explain any mathematics The relationship could be a matter of historical connection with the subject or with related matters or of legal commer cial philosophical ethical or political position regarding them The Invariant Sections are certain Secondary Sections whose titles are designated as being those of Invariant Sections in the notice that says that the Document is released under this License If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant The Document may contain zero Invariant Sections If the Document does not identify any Invariant Sections then there are none The Cover Texts are certain short passages of text that are listed as Front Cover Texts or Back Cover Texts in the notice that says that the Document is released under this License A Front Cover Text may be at most 5 words and a Back Cover Text may be at most 25 words A Transparent copy of
13. pantalla Estudiando el problema se descubri que se trataba de un bug documentado de Osmdroid y que se resolver a en la pr xima versi n de la librer a Para paliar dicho problema y siguiendo con las instrucciones detalladas en el bug se procedi a implementar un m todo que lo resolviera ver listado 5 3 Pruebas Al finalizar la implementaci n del primer prototipo se realiz la siguiente prueba Para determinar la correcta carga de los mapas en diferentes localizaciones https github com osmdroid osmdroid issues 22 issuecomment 430923 13 33 private void centerMap final GeoPoint loc mMap getViewTree bserver addOnGlobalLayoutListener new ViewTree bserver OnGlobalLayoutListener Override public void onGlobalLayout mMap getViewTree bserver removeGlobalOnLayoutListener this mMap getController setCenter loc DE Listado 5 3 M todo utilizado para centrar el mapa en cualquier posici n Dado Diferentes coordenadas geogr ficas Diferentes dispositivos con distintas versiones de Android ver sec ci n 4 2 1 Cuando Se ejecuta la aplicaci n Entonces Se muestra dicha ubicaci n centrada en un mapa 5 3 2 Iteraci n 2 Mostrar posici n actual en el mapa Una vez evaluado el prototipo de la iteraci n 1 se procedi a a adir una nueva funciona lidad mostrar la posici n actual en la aplicaci n Dise o Para poder mostrar la ubicaci n actual es necesario primero
14. puede traducir como llevable o vestible haciendo referencia a computadoras corporales o llevables por el usuario Bajo esta visi n el ordenador deja de ser un elemento externo al usuario que usa en determinados espacios para convertirse en un elemento con el que interact a continuamente y lo lleva a todos si tios Dentro de esta definici n no se considera wearable a otros elementos de uso diario como la televisi n la cafetera o el lector de ebooks pese a llevar procesadores Esto es as porque no forman parte de las personas es decir no son llevables o vestibles Se estima que los or genes de la tecnolog a wearable data de la d cada de 1970 pero no ha sido hasta la d cada del 2010 cuando la tecnolog a ha evolucionado lo suficiente para atraer a los consumidores 20 Las grandes compa as est n apostando por la tecnolog as wearables En la Consumer Electronics Show CES de enero de 2014 grandes empresas como Intel Adidas Sony o Rebook han presentado diferentes complementos wearables M s tarde en abril Google pre sent sus Google Glass y se espera la llegada del AppleWatch de Apple para la primavera de 2015 Todo ello hace pensar que los wearables han llegado para quedarse y que los pr ximos a os sufrir n una gran expansi n En este proyecto se pretende aprovechar la creciente popularidad de los wearables utili zando alguno del mercado como complemento vibratorio De esta forma se conseg
15. rotar el mapa en funci n de la orientaci n del dispositivo Si por ejemplo se camina por una calle recta en direcci n Oeste en la pantalla se ver a una recta vertical De igual manera si por ejemplo se camina por una calle en direcci n Sur y se gira hacia el Este en la pantalla se ver a un giro a la izquierda Dise o Para poder rotar el mapa en funci n de la orientaci n es necesario conocer d nde se en cuentran cualquiera de los puntos cardinales Norte Sur Este u Oeste Pr cticamente todos los smartphones actuales disponen de un componente llamado sensor de orientaci n que permite determinar la orientaci n espacial del tel fono por medio de tres valores expresados en grados Roll Mide la inclinaci n del m vil en ralaci n a los laterales Desde 90 con el lateral izquierdo levantado hasta 90 con el lateral derecho levantado Pitch Mide la inclinaci n del m vil en relaci n a la parte anterior y posterior Desde 90 que corresponde a la posici n vertical hasta los 90 que corresponde con la parte anterior del m vil pasando por 0 cuando el tel fono se encuentra a nivel Azimuth Mide el punto cardinal Norte en sentido horario de 0 a 360 Implementaci n Para hacer uso del sensor de orientaci n del smartphone Android basta con registrar el uso del Sensor de orientaci n por medio de un SensorManager ver listado 5 6 indicando que clase implementa los m todos necesarios para manejar el
16. sensor de orientaci n En este caso la propia this mSensorManager SensorManager getSystemService Context SENSOR_SERVICE mOrientation mSensorManager getDefaultSensor Sensor TYPE_ORIENTATION mSensorManager registerListener this mOrientation SensorManager SENSOR_DELAY_NORMAL Listado 5 6 Ejemplo de registro de un Sensor de orientaci n con SensorManager El sensor de orientaci n en Android obliga a implementar en una clase dos m todos onSensorChanged Para definir qu hacer cuando cambie alg n valor en el sensor En el caso del sensor de orientaci n proporcionar dichos valores en un array con tres posiciones 36 e Posici n 0 Para los grados azimuth e Posici n 1 Para los grados pitch e Posici n 2 Para los grados roll onAccuracyChanged Para definir qu hacer cuando cambien la precisi n del sensor Para implementar la rotaci n de mapa bast con implementar el m todo onSensorChan ged y pasar al mapa dicha rotaci n ver listado 5 7 public void onSensorChanged SensorEvent event float azimuth event values 0 mMap setMapOrientation azimuth Listado 5 7 Ejemplo de rotaci n de mapa en funci n del sensor de orientaci n Pruebas Al finalizar la implementaci n del tercer prototipo se realizaron las siguiente pruebas Para comprobar la correcta orientaci n del mapa Dado Aplicaci n ejecut ndose mientras se camina en direcci n Norte Diferentes dispositivos c
17. su AppStore Si queremos desarrollar aplicaciones hay que pagar una licencia anual de 99 Por otro lado los dispositivos de Apple son en general bastante caros y no est n al alcance de todo el mundo 3 3 3 Windows Phone Es el SO desarrollado por Microsoft sucesor de Microsoft Mobile y llamado originalmente Pocket PC Fue presentado en 2010 y en la actualidad cuenta con el 3 7 RL13 de la cuota de mercado La ltima versi n del SO es la 8 1 y soporta los lenguajes programaci n C y Visual Basic NET En 2011 se anunci una alianza con Nokia por la cual se convertir en el principal SO de la compa a finlandesa Por ello a partir de 2016 los tel fonos que anta o utilizaban Symbian utilizar n Windows Phone Ventajas Microsoft provee de un entorno de trabajo como Visual Studio con una gran cantidad de librer as que permite que la programaci n resulte lo m s sencilla posible Desventajas La mayor desventaja de Windows Phone viene dada por su tard a llegada al merca do que le ha hecho dif cil competir con los otros SO Estos ya tienen bastante cuota de mercado y al no ofrecer grandes saltos de calidad no ha podido convencer a los usuarios Por otro lado para publicar aplicaciones en la tienda oficial es necesario pagar una licencia de 75 19 3 3 4 Blackberry Blackberry es un SO desarrollado por la empresa canadiense Research In Motion Tuvo sus inicios en 1999 incorporando funciones t picas hoy e
18. vehiculo motorizado coches camiones etc podrian usar el sistema desarrollado en este trabajo para realizar sus rutas Naviganto su pone una alternativa real a las aplicaciones de navegaci n para smpartphones actuales siendo la nica que puede comunicarse por vibraciones ademas de por la pantalla y el sonido Por otro lado las personas que sufran algtin tipo de discapacidad visual que provoque una disminuci n de su visi n podr utilizar Naviganto para sus desplazamientos especialmente los discapacitados con la visi n de largo alcance Puesto que el sistema no se ha desarrollado espec ficamente para ellos s lo podr an tener dificultad en la configuraci n inicial de los dispositivos vibratorios y en la selecci n del destino Estas tareas pueden hacerlas terceras personas ya que s lo deben ejecutarse al comienzo de la ruta 7 3 L neas de trabajo futuro A pesar de haber terminado el proyecto cumpliendo los objetivos propuestos inicialmente hay aspectos del sistema que podr an ser pulidos para mejorarlo en general o para ampliar la cuota de usuarios finales del mismo Estas futuras l neas de trabajo podr an ser Integraci n para discapacitados visuales Tal y como se mencion en la secci n anterior el sistema desarrollado en este proyecto podr a usarse por discapacitados visuales para sus desplazamientos Para que no sea necesaria una tercera persona que configure los vibradores y seleccione el destino de la ruta se pod
19. y hacer funcionar Naviganto se describen a continuaci n Android 2 3 3 Gingerbread o superior 2 9 MB de espacio disponible como m nimo Hardware GPS Acceso a Internet De igual forma aunque no se consideran requisitos m nimos para la aplicaci n Naviganto son necesarios los siguientes elementos para hacer uso del funcionamiento completo del sistema Hardware Bluetooth Hardware Vibrador Proceso de instalaci n Para instalar autom ticamente la aplicaci n desde el Play Store dir jase la direcci n que le mostramos a continuaci n pulse sobre el bot n Instalar y acepte las condiciones que se le muestran https play google com store apps details id es uclm esi tfg naviganto Si desea hacer una instalaci n manual deber activar los origenes desconocidos de su Android y descargar el apk del repositorio del proyecto https bitbucket org cr4mos tfg sgpcmii downloads main release apk B 2 2 Naviganto Bluetooth Requisitos minimos Los requisitos minimos que debe cumplir un smartphone para instalar y hacer funcionar Naviganto Bluetooth se describen a continuaci n http www elandroidelibre com 2013 06 como instalar aplicaciones fuera de google play con seguridad html 78 Android 2 3 3 Gingerbread o superior 911 KB de espacio disponible como m nimo Hardware Bluetooth Hardware Vibrador Proceso de instalaci n Para instalar autom ticamente la aplicaci n desde el Play Store dir j
20. 2 Gracias a utilizar la clase BluetoothChatServide para iniciar el intercambio de mensajes s lo es necesario iniciar el servicio con el m todo start y hacer uso del m todo connect proporcion ndole el n mero Media Access Control MAC del dis positivo al que se quiere conectar Para definir c mo se comporta la interfaz gr fica de la aplicaci n durante el proceso de conexi n hubo que definir un Handler y sobres cribir el m todo handleMesage indicando qu hacer mientras se conecta cuando se desconecte o cuando falle el intento de conexi n Una vez existe conexi n se pueden enviar mensajes a los dispositivos conectados por bluetooth utilizando los m todos del listado 5 18 Para el caso del servidor Android se desarroll una aplicaci n que inicia el servicio BluetoothChatService al ejecutarse quedando a la escucha de conexiones blue tooth Adem s se defini un Handler para especificar qu hacer en los diferentes es tados de la conexi n con la interfaz gr fica y determinar qu hacer en caso de recibir un mensaje ver listado 5 19 Como se puede apreciar en los listados 5 18 y 5 19 a la hora de intercambiar mensajes se incluy un separador SPLIT Esto se debe a que durante el desarrollo del intercam bio de mensajes se detectaron errores se sincronizaci n entre los buffers del cliente y de los servidores Este es el modo de asegurarse de no malinterpretar los mensajes Implementaci n de la comunicaci n con Android Wear
21. 6 10 NavigantoWear esperando instrucciones 2 2 22m o e 65 6 11 B sc dor de estinos u nd a De DET EB Ee 66 6 12 B squeda de destino co e ar 66 6 13 Imciede ul a tue ae eier ee e ee Se ee E S 66 6 14 Primer giro de la ruta oe da e ta 66 6 19 Segundo giro de La TIGA s ur ne N Be eae Bo SR fe 67 6 16 Llegada al destino fin de la ruta o 67 XX Indice de listados 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 5 10 5 11 3 12 5 13 5 14 5 16 5 18 5 20 521 3 22 5 15 5 17 Ejemplo de layout usando org osmdroid views MapView Ejemplo de activity mostrando un punto de un mapa en espec fico M todo utilizado para centrar el mapa en cualquier posici n Ejemplo de uso de LocationManager utilizando la propia clase como Lo cationListener y 1 segundo de intervalo entre actualizaciones Ejemplo de implementaci n de LocationListener utilizando para mostrar la localizaci n un LocationOverlay o Ejemplo de registro de un Sensor de orientaci n con SensorManager Ejemplo de rotaci n de mapa en funci n del sensor de orientaci n Ejemplo de creaci n y superposici n de una ruta en el mapa Eliminaci n de pol ticas de threads o o Ejemplo de creaci n y superposici n de una ruta en el mapa utilizando una ASyncTask 2 A teed A A AAA A its Ejemplo de impleme
22. ACTIVITY_NEW_TASK startActivity intent else super onMessageReceived messageEvent Listado 5 21 Servicio que inicia la aplicaci n en el wearable 54 private GoogleApiClient mApiClient private Vibrator mVibrator Be Override public void onMessageReceived final MessageEvent messageEvent run0nUiThread new Runnable Override public void run if messageEvent getPath equalsIgnoreCase WEAR_MESSAGE_PATH startAction new String messageEvent getData if messageEvent getPath equalsIgnoreCase END_ACTIVITY et if mVibrator null mVibrator cancel finish P Override public void onConnected Bundle bundle Wearable MessageApi addListener mApiClient this de Override public void onConnectionSuspended int i if mVibrator null mVibrator cancel ir Listado 5 22 M todos utilizados en los servidores para leer los mensajes recibidos por medio de los Play Services Pruebas Al finalizar la implementaci n del noveno prototipo se realiz la siguiente prueba Para determinar el correcto funcionamiento de la vibraci n y del paso de mensajes Dado Diferentes dispositivos con distintas versiones de Android Todas las formas descritas de conectar los dispositivos Todas las posibles acciones de guiado Cuando Hay que realizar alguna acci n Entonces Vibra el dispositivo adecuando con la frecuencia correspondiente 55 lt
23. Avisos vibratorios 2 2 om mn XIV 13 14 14 15 17 18 18 19 20 20 21 22 25 25 26 27 27 27 31 31 31 32 32 34 36 37 40 44 45 46 48 59 6 1 1 Estad sticas 22 24 24 2 224 24 3 284 ae m Seele 61 2 Coste ECON MICO sa 2 4 a eis 4 alee Se SSS SS SSS 6 1 3 ME yasni nal er ee 625 Caso 0eUsO CONTEO art ee Sako gh BE BEd BED Bs 6 2 1 Preregiusitos Ya 4 045 boy arc tx A Wwe ae ee G22 mip taliZacion 4 wer II St rl teil ee adh ae 6 2 3 Configuraci n de la vibraci n 6 24 Latta semok E A A AAA e e eat 6 3 REDOSIORO ur gee A Pine A A Ge A ae Conclusiones Tel Objetivos cumplidos 2 2 2 ada E A E A E AT 7 2 Otros usos del sistema nn 19 Lmeasde trabaj litten ers Conclusi n personal Manual de usuario B1 Hitrodueeisn 24 2 4 A A her B2 Instalaci n le 10 KEEP Nr Fran B22 Navieantor Wu cis cun e Sa art un a ee B22 Naviganto Bluetooth epa ram Der B23 Naviganto Wear ad an Eher B 3 Uso de Naviganto ana A rar A AA rt B 3 1 Configuraci n osas ae OE ae a Be ee a B 3 2 Navegacion cios CIA ala ie ae GNU Free Documentation License C0 PREAMBLE iia a E AA AA C 1 APPLICABILITY AND DEFINITIONS EL VERBATIM COPYING gt 2 500 is Gale ola ew AA 23 COPYING IN QUANTIE Y DA A C 4 MODIFICATIONS dl a ta C 5 COLLECTIONS OF DOCUMENTS C 6 AGGREGATION WITH INDEPENDENT WORKS C 7
24. C03 Y seg n un estudio de la aseguradora Allianz de 2014 Pul14 el 26 de los accidentes producidos por distracciones se deben a mirar la pantalla del navegador Esto hace un total de 390 000 accidentes que se podr an evitar anual mente cambiando la interacci n con el sistema Las autoridades de todo el mundo conocen la relaci n entre distracciones y accidentes e intentan evitar que se produzcan por medio de su legislaci n A dia de hoy en Espa a el uso de dispositivos como navegadores cascos y auriculares por parte del conductor est considerado como una infracci n grave y acarrea una multa de 200 euros y una p rdida de 3 puntos en el carn de conducir Ser14 Para hacer frente al problema de las distracciones a la hora de utilizar los sistemas de navegaci n en este trabajo se estudiar n las formas de interacci n con el sistema que no supongan una distracci n del usuario Adem s se har un repaso por las diferentes tecno log as plataformas y dispositivos sobre los que se puede cimentar un nuevo sistema para conocer las limitaciones t cnicas a las que hay que enfrentarse Puesto que se trata de un sistema que cambia de estado continuamente las limitaciones que resultar n significativas est n relacionadas con la rapidez y la exactitud de las tecnolog as y dispositivos Finalmente se desarrollar un sistema de guiado en el que el usuario obtendr realimen taci n sin necesidad de ver la pantalla es decir por
25. De este modo cuando haya que girar a la izquierda vibrar uno cuando haya que girar a la derecha vibrar el otro y cuando haya que dar media vuelta vibrar n ambos De esta manera si es colocado el smart watch o smartband en la mano izquierda y el tel fono en el bolsillo derecho cuando haya que realizar un giro a la izquierda solamente vibrar el complemento dejando evidente la acci n a realizar ver Figura 1 1 Smartwatch Smartband Figura 1 1 Ejemplo del sistema indicando un giro a la izquierda 1 1 Estructura del documento A continuaci n se detalla la estructura de este documento para facilitar la lectura del mis mo y se describe brevemente el contenido de cada uno de los capitulos que lo componen Capitulo 2 Objetivos El principal objetivo de este proyecto es el dise o e implementaci n de un sistema de navegaci n por sat lite que se comunique con el usuario por medio de la vibraci n de alguno de sus componentes En este cap tulo se detallan los objetivos espec ficos que se pretenden alcanzar a lo largo del desarrollo del proyecto y las limitaciones asociadas Cap tulo 3 Antecedentes En este cap tulo se hace una introducci n al concepto de interacci n y sus paradigmas Tambi n se hace un repaso de los diferentes sistemas de navegaci n v a sat lite y las aplicaciones para smartphone Se pondr especial inter s en la forma que tienen para comunicarse con sus usuarios Adem s se realizar n es
26. HI Curricula for Human Computer Interaction ACM 1992 Josefa Valcarcel Las principales cifras de la Siniestralidad Vial 2012 Wikipedia Satellite navigation https en wikipedia org wiki Satellite _navigation History_and_theory Diciembre 2014 Wikipedia Sistemas de Posicionamiento por Sat lites actuales https es wikipedia org wiki Sistema_global_de_navegaci C3 B3n_por_sat C3 A91lite Diciembre 2014 98 Este documento fue editado y tipografiado con BIEX empleando la clase esi tfg que se puede encontrar en https bitbucket org arco_group esi tfg 99
27. LinearLayout android id id navPanel android layout_width fill_parent android layout_height wrap_content android layout_alignParentBottom true android background 222222 android orientation horizontal android padding 10dp gt lt LinearLayout android id id navPanelLeft android layout_width wrap_content android layout_height wrap_content android orientation vertical android paddingLeft 10dp tools ignore UseCompoundDrawables gt lt ImageView android id id navPanellmage android layout_width wrap_content android layout_height wrap_content android contentDescription string empy gt lt TextView android id id navPanelKm android layout_width fill_parent android layout_height wrap_content android gravity center android textColor e6e6e6 android text string empy android textAppearance android attr textAppearanceSmall gt lt LinearLayout gt lt TextView android id id navPanelText android layout_width fill_parent android layout_height fill_parent android gravity center android paddingLeft 10dp android paddingRight 10dp android text string alert_waiting_for_gps android textAppearance android attr textAppearanceLarge android textColor e6e6e6 gt lt LinearLayout gt Listado 5 15 Panel inferior de la pantalla de navegaci n 56 private void startLocalVibration int action if mIsInVibration mIsInVibration true switch
28. TATE_LISTEN case BluetoothChatService STATE_NONE el break case BluetoothChatService STATE_DISCONNECTING Bel break break case BluetoothChatService MESSAGE READ byte readBuf byte msg obj String readMessages new String readBuf 0 msg argl String readMessage for int i 0 i lt readMessages length i if readMessages charAt i SPLIT startAction readMessage readMessage else readMessage readMessage readMessages charAt i I I break private void startAction String readMessage if readMessage equals STOP stopLocalVibration else if readMessage length gt 1 stopLocalVibration int action Integer parselnt readMessage substring 1 startLocalVibration action Listado 5 19 M todos utilizados en los servidores para leer los mensajes recibidos por medio de la clase BluetoothChatServide 58 Capitulo 6 Resultados N el siguiente capitulo se presentan los resultados obtenidos tras desarrollar el siste ma Para ello se hace un an lisis de los recursos que consume y el coste econ mico de desarrollarlo Adem s se especifica paso a paso un caso de uso concreto Finalmente se proporciona la direcci n del repositorio donde est n contenidos todos los archivos del pro yecto 6 1 Recursos y costes En esta secci n se desglosar n los recursos y los costes empleados en el sistema Por un lado se presentan las estad sticas del pro
29. TRANSLATION cca 44 B44 SG wa SERS ORGS RAE EGER HS E TERMINACION Ar 2 2 a Ga ee aa eg A XV 69 69 70 70 75 77 77 78 78 78 79 80 80 83 C 9 FUTURE REVISIONS OF THIS LICENSE 2 2 2 2 0 C 10 RELICENSING Referencias XVI Indice de cuadros 5 1 6 1 6 2 6 3 6 4 B 1 Codificaci n de instrucciones ios wu na nor nu ran 49 N mero de l neas de c digo fuente de Naviganto por lenguajes 59 Desglose de costes del desarrollo de Naviganto 60 Estimaci n de los costes del desarrollo de Naviganto seg n sloccount 60 Desglose de tiempos de ejecuci n de Naviganto 61 Resumen de combinaciones entre las aplicaciones del sistema 77 XVII Indice de figuras 1 1 3 1 32 3 3 3 4 32 4 1 4 2 5 1 2 2 5 3 5 4 5 5 6 1 6 2 6 3 6 4 6 5 6 6 6 7 Ejemplo del sistema indicando un giro a la izquierda 3 Paradigma del ordenador de sobremesa o o 10 Paradigma de la computaci n ubicua 2 2 2 Cum rennen 11 Paradigma de la realidad virtual non 12 Paradigma de la realidad aumentada o o 13 Ejemplo de trilateraci n 2 5 2 0 2 22 2 0 o o ah a 14 Diagrama de flujo del modelo de desarrollo evolutivo 25 Paradigma de construcci n de prototipos 22 2 2 nn rennen 26 Frecuencia de vibraci n para un giro El eje vertical indic
30. UCLM me Escuela Superior de Inform tica UNIVERSIDAD DE CASTILLA LA MANCHA ESCUELA SUPERIOR DE INFORM TICA GRADO EN INGENIER A INFORM TICA TRABAJO FIN DE GRADO Sistema de Guiado para Peatones Ciclistas y Motoristas con Interacci n Impl cita Carlos Ramos Mellado Febrero 2015 SISTEMA DE GUIADO PARA PEATONES CICLISTAS Y MOTORISTAS CON INTERACCI N IMPL CITA UCLM Au Escuela Superior de Inform tica UNIVERSIDAD DE CASTILLA LA MANCHA ESCUELA SUPERIOR DE INFORM TICA Tecnolog as y Sistemas de Informaci n TECNOLOG A ESPEC FICA DE TECNOLOG AS DE LA INFORMACI N TRABAJO FIN DE GRADO Sistema de Guiado para Peatones Ciclistas y Motoristas con Interacci n Impl cita Autor Carlos Ramos Mellado Director Dr David Villa Alises Febrero 2015 Carlos Ramos Mellado Ciudad Real Spain E mail universidad Carlos Ramos1 alu uclm es E mail personal CarlosRamosCriptana gmail com 2015 Carlos Ramos Mellado Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 3 or any later version published by the Free Software Foundation with no Invariant Sections no Front Cover Texts and no Back Cover Texts A copy of the license is included in the section entitled GNU Free Documentation License Se permite la copia distribuci n y o modificaci n de este documento bajo los t rminos de la Licencia de Document
31. Version to whoever possesses a copy of it In addition you must do these things in the Modified Version A Use in the Title Page and on the covers if any a title distinct from that of the Document and from those of previous versions which should if there were any be listed in the History section of the Document You may use the same title as a previous version if the original publisher of that version gives permission a B List on the Title Page as authors one or more persons or entities responsible for authorship of the modifications in the Modified Version together with at least five of the principal authors of the Document all of its principal authors if it has fewer than five unless they release you from this requirement C State on the Title page the name of the publisher of the Modified Version as the 90 publisher D Preserve all the copyright notices of the Document E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices F Include immediately after the copyright notices a license notice giving the public permission to use the Modified Version under the terms of this License in the form shown in the Addendum below G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document s license notice H Include an unaltered copy of this License I Preserve the section Entitled His
32. a informaci n almacenada en el dispositivo Este tipo de conexi n es bastante com n en los cuantificadores personales pero al tratarse de software propietario es necesaria una API para poder realizar aplicaciones para ellos Sorprendentemente s lo la empresa Fitbit proporciona una API pero no permiten manipular el vibrador de su dispositivo Bluetooth con Google Play services Este tipo de conexi n es la que realizan los wearables que utilizan como SO Android http www cesweb org http dev fitbit com 21 3 5 Wear para comunicarse con el smartphone Android Esto permite que las notificacio nes del smartphone lleguen al wearable de forma transparente al desarrollador y se instalen aplicaciones en el complemento por medio del smartphone A pesar de que Android Wear fue lanzado por Google en marzo de 2014 se trata de una plataforma de desarrollo muy potente porque incorpora la mayor a de la API de Android Gool4a Gracias a ello se puede controlar el vibrador del wearable a voluntad Proveedores de mapas rutas y geocoding Para la realizaci n en este TFG del sistema de guiado por sat lite ser necesario utilizar alguno de los proveedores de mapas rutas y geocoding A continuaci n se muestran prin cipales proveedores de estos servicios Sobra decir que salvo restricciones de licencia es posible utilizar los servicios de forma combinada Google Bing Google es el proveedor de mapas rutas y g
33. a si est 1 o no 0 activo el vibrador y el eje horizontal indica el tiempo en milisegundos 48 Frecuencia de vibraci n que determina si ha llegado al destino El eje vertical indica si est 1 o no 0 activo el vibrador y el eje horizontal indica el tiempo en milisegundos 000002 eee eee 49 Frecuencia de vibraci n para tomar la primera salida de la rotonda El eje vertical indica si est 1 o no 0 activo el vibrador y el eje horizontal indica el tiempo en milisegundos 2 22 2 u nn rn 50 Frecuencia de vibraci n para tomar la segunda salida de la rotonda EI eje vertical indica si est 1 o no 0 activo el vibrador y el eje horizontal indica el tiempo en milisegundos e e Sloe Age A te A RE 8 50 Frecuencia de vibraci n para tomar la tercera salida de la rotonda El eje vertical indica si est 1 o no 0 activo el vibrador y el eje horizontal indica el tiempo en milisegundos y epee oe tod Bud za eee ee 50 Hardware utilizado para el caso de uso concreto 2 2 22222000 62 Naviganto tras iniciarse CA Ad NS ds 62 Barra lateral de Navigator ota ea a See ee 62 Opciones de Navieante aaa a pea er De 63 Vibraci n activada 40 2 2 an ar Re aa 63 Selecci n de dispositivos 2 none en 64 Opciones del caso de uso lar ra A I eS 64 XIX 6 8 NavigantoBluetooth tras iniciarse es decir esperando conexi n 64 6 9 NavigantoBluetooth esperando instrucciones 2 2 22 nme 65
34. aci n Libre GNU versi n 1 3 o cualquier versi n posterior publicada por la Free Software Foundation sin secciones invariantes Una copia de esta licencia esta incluida en el ap ndice titulado GNU Free Documentation License Muchos de los nombres usados por las compa as para diferenciar sus productos y servicios son reclamados como marcas registradas All donde estos nombres aparezcan en este documento y cuando el autor haya sido informado de esas marcas registradas los nombres estar n escritos en may sculas o como nombres propios TRIBUNAL Presidente Vocal Secretario FECHA DE DEFENSA CALIFICACI N PRESIDENTE VOCAL SECRETARIO Fdo Fdo Fdo Ill Resumen No hace demasiado tiempo resultaba increible llevar en el bolsillo una herramienta que permitiera conocer la localizaci n geogr fica exacta del usuario Mucho menos creible re sultaba imaginar que esa herramienta otorgar a la capacidad de estar siempre conectado a Internet No obstante hoy en d a esa herramienta existe y se llama smartphone Con la reciente popularizaci n de los smartphones han surgido una larga serie de comple mentos wearables o llevables que se comunican con los smartphones y proporcionan una nueva forma de interacci n con el dispositivo En el presente proyecto se pone de manifiesto uno de los problemas m s importantes relacionados con el uso de los smartphones para la navegaci n por sat lite la facilidad
35. aci n y el sonido para comunicarse con el usuario en los momentos necesarios y decirle qu acci n ha de reali zar Algunos proyectos universitarios como Boe12 y Mat13 ya han utilizado la vibraci n para el guiado de personas invidentes y recientemente han surgido grandes proyectos como Nike Training Foo15 y Lechal Eng14 que hacen uso de la vibraci n en las zapatillas deportivas para el guiado de personas mientras corren 3 1 1 Paradigmas de interacci n Los paradigmas de interacci n representan los ejemplos o modelos de los que se derivan todos los sistemas de interacci n Es una abstracci n de los posibles modelos de interacci n organizados en grupos con caracteristicas similares En los siguientes apartados se tratar n los paradigmas interactivos actuales el ordenador de sobremesa la realidad virtual la realidad aumentada y la computaci n ubicua Ordenador de sobremesa Es el paradigma dominante en la actualidad en el que la interacci n se realiza por medio de interfaces gr ficas Aunque los smartphones tablets y port tiles aportan movilidad utilizan el mismo paradigma de interacci n con el usuario En la figura 3 1 se muestra un diagrama explicativo de las interacciones entre el usuario el ordenador y el mundo real Ordenador Hombre Ordenador Mundo Real Hombre Mundo Real Figura 3 1 Paradigma del ordenador de sobremesa Computaci n ubicua La computaci n ubicua o computaci n pervas
36. action case LEFT case RIGHT long turn 0 900 1000 mVibrator vibrate turn 0 break case WRONG mVibrator vibrate 5000 break case UTURN long uturn 0 100 mVibrator vibrate uturn 0 break case DESTINATION long destination new long 19 for int i 0 i lt 3 i destination i 6 1 500 destination ix6 2 200 destination ix6 3 700 destination ix6 4 200 destination ix6 5 900 destination ix6 6 200 mVibrator vibrate destination 1 break case ROUNDABOUT1 case ROUNDABOUT2 case ROUNDABOUT3 case ROUNDABOUT4 case ROUNDABOUTS case ROUNDABOUT6 case ROUNDABOUT7 case ROUNDABOUTS int exit action 20 roundabout 2X gt x exit number long roundabout new longlexitx2 1 for int i 0 i lt exit i if i 0 roundabout i 2 200 roundabout ix2 1 500 roundabout exit 2 1000 mVibrator vibrate roundabout 0 break else stopLocalVibration startLocalVibration action private void stopLocalVibration if mIsInVibration mVibrator cancel mIsInVibration false Listado 5 17 M todos usados para hacer vibrar el dispositivo con la clase Vibrator 57 private Handler mHandler new Handler public void handleMessage Message msg switch msg what case BluetoothChatService MESSAGE_STATE_CHANGE switch msg arg1 case BluetoothChatService STATE_CONNECTING case BluetoothChatService S
37. adas en Naviganto c mo configurarlas y los dos casos de uso de la aplicaci n B 3 1 Configuraci n Para acceder a las diferentes opciones de configuraci n de Naviganto acceda a la barra lateral de la aplicaci n y pulse sobre Opciones Explorar mapa Avisos Sonoros O Activa o desactiva los avisos sonoros Vibratorios o Activa o desactiva los avisos vibratorios Visualizaci n Rotar mapa Activa o desactiva la rotaci n autom tica O del mapa Gasta m s bater a Aqu podr configurar las opciones descritas en los siguientes apartados Avisos sonoros Los avisos sonoros hacen referencia a la posibilidad de escuchar cada una de las posibles instrucciones que tengamos que realizar Para activar o desactivar dichos avisos basta con marcar o desmarcar la casilla del me 2 nu http forum xda developers com smartwatch other smartwatches tool android wear apk tools sideload 2929177 80 Avisos Avisos Sonoros Sonoros Activa o desactiva los avisos sonoros Activa o desactiva los avisos sonoros Vibratorios Vibratorios D Activa o desactiva los avisos vibratorios Activa o desactiva los avisos vibratorios Visualizaci n Visualizaci n Rotar mapa Rotar mapa Activa o desactiva la rotaci n autom tica Activa o desactiva la rotaci n autom tica O del mapa Gasta m s bater a del mapa Gasta m s bater a Esta configuraci n se almacena en el smartphone de forma que al cerrar y volver a abrir la apl
38. ancia con la que avisa varia en funci n de la velocidad Para comprobar el correcto funcionamiento del guiado entre etapas 43 Dado Diferentes rutas Diferentes dispositivos con distintas versiones de Android ver sec ci n 4 2 1 Cuando Se navega por una ruta Entonces Muestra cada una de las etapas hasta el final Para comprobar el correcto funcionamiento del sistema cuando el usuario se pierde Dado Diferentes rutas Diferentes dispositivos con distintas versiones de Android ver sec ci n 4 2 1 Cuando Se desv a de una ruta y pasan 3 segundos Entonces Avisa del desv o y recalcula la ruta a seguir desde la posici n actual hasta la meta fijada en un inicio 5 3 6 Iteraci n 6 Selector de destino Una vez evaluado el prototipo del a iteraci n 5 se procedi a a adir una nueva funcio nalidad seleccionar el destino de nuestra ruta especificando la direcci n deseada y no sus coordenadas geogr ficas Dise o Para determinar las coordenadas geogr ficas de un sitio introduciendo su nombre hay que hacer uso de alguno de los proveedores de geocoding estudiados en la secci n 3 5 Como se est desarrollando todo el proyecto con OSM lo m s normal ser a hacer uso de Nominatim por medio de la librer a Osmbonuspack pero existe una opci n mejor usar la API de Google que ofrece gratuitamente 2 500 peticiones Y adem s permite realizar b squedas no s lo por ciudades y calles como Nominatim sino que tam
39. ase la direcci n que le mostramos a continuaci n pulse sobre el bot n Instalar y acepte las condiciones que se le muestran https play google com store apps details id es uclm esi tfg navigantobluetooth Si desea hacer una instalaci n manual deber activar los or genes desconocidos de su Android al igual que para Naviganto y descargar el apk del repositorio del proyecto https bitbucket org cr4mos tfg sgpcmii downloads bluetooth release apk B 2 3 Naviganto Wear Requisitos minimos Los requisitos minimos que debe cumplir un wearable para instalar y hacer funcionar Naviganto Wear se describen a continuaci n Android Wear 1 0 o superior 1 8 MB de espacio disponible como m nimo Hardware Bluetooth a Hardware Vibrador Conexi n con un smartphone Android 4 4 2 KitKat o superior Proceso de instalaci n Para instalar autom ticamente la aplicaci n desde el Play Store dir jase la direcci n que le mostramos a continuaci n pulse sobre el bot n Instalar y acepte las condiciones que se le muestran https play google com store apps details id es uclm esi tfg navigantoWear 79 Si desea hacer una instalaci n manual puede utilizar la herramienta Android Wear APK Tools y descargar el apk del repositorio del proyecto https bitbucket org cr4mos tfg sgpcmii downloads wear release apk B 3 Uso de Naviganto En los siguientes apartados se explican detalladamente las opciones implement
40. ateral el apartado de Opciones y se muestra la figura 6 4 para configurar entre otras alternativas la vibraci n Tras activar los avisos vibratorios ver figura 6 5 se puede seleccionar el Vibrador izquierdo y el Vibrador derecho Al tocar sobre cualquiera de ellos se muestra un listado de los posibles dispositivos ver figura 6 6 y se puede proceder a dejar la configuraci n deseada ver figura 6 7 Avisos Avisos Sonoros Sonoros O Activa o desactiva los avisos sonoros Activa o desactiva los avisos sonoros Vibratorios Vibratorios Activa o desactiva los avisos vibratorios Activa o desactiva los avisos vibratorios Vibrador izquierdo Este dispositivo Vibrador derecho Este dispositivo Visualizaci n Visualizaci n Rotar mapa Rotar mapa Activa o desactiva la rotaci n autom tica Activa o desactiva la rotaci n autom tica O del mapa Gasta m s bater a del mapa Gasta m s bater a Figura 6 4 Opciones de Naviganto Figura 6 5 Vibraci n activada Este es el momento oportuno para ejecutar la aplicaci n NavigantoBluetooth del otro smartphone y que se quede a la espera ver figura 6 8 Tambi n se puede ejecutar la aplica ci n NavigantoWear del smartwatch aunque no es necesario esta aplicaci n puede iniciarse sola Ahora es el momento de pulsar la tecla de retroceso dentro de la opciones de Naviganto para que instantes despu s figuren los dos dispositivos como conectados ver figuras 6 2 3 y 6 2 3 Para comprobar que la co
41. atones transporte p blico y veh culos motorizados Las interacciones que utiliza Google Maps para comunicarse con el usuario se realizan por medio de la pantalla el sonido y la vibraci n La pantalla muestra continuamente las pr ximas acciones a realizar y cuando se estima oportuno el smartphone vibra y se escucha por los altavoces la instrucci n a realizar La vibraci n que se utiliza es la misma para todos los tipos de instrucciones iOS maps iOS Maps es la aplicaci n de Apple lanzada en Septiembre de 2012 para sus dispositi vos iPhone iPad y iPod Touch Esta aplicaci n es multilenguaje Entre sus caracteris ticas se pueden destacar Visualizaci n de la posici n en el mapa mostrando el posible error cometido en la trilateraci n Visualizaci n de la cantidad de tr fico de las carreteras Visualizaci n de edificios en 3D en algunas ciudades Rotaci n autom tica del mapa en funci n de la orientaci n del dispositivo C lculo de rutas para peatones y veh culos motorizados Con respecto a la interacci n con el usuario iOS maps utiliza la pantalla y el sonido La pantalla mostrando continuamente las instrucciones a seguir y el sonido a la hora de realizar las instrucciones Nokia HERE Nokia HERE antes conocido como Ovi Maps 2007 2011 y como Nokia Maps 2011 2012 es la aplicaci n de navegaci n desarrollada por Nokia Est disponible para Windows Phone Symbian y Android y se encuentra disponibl
42. basta con a adir una vista del tipo org osmdroid views MapView al layout de nuestra aplicaci n ver lis tado 5 1 y seleccionar el punto del mapa que se desea centrar en la pantalla ver listado 5 2 por medio de sus coordenadas geogr ficas 32 lt xml version 1 0 encoding utf 8 gt lt LinearLayout xmlns android http schemas android com apk res android xmlns tools http schemas android com tools android orientation vertical android layout_width fill_parent android layout_height fill_parent gt lt org osmdroid views MapView android id id map android layout_width fill_parent android layout_height fill_parent gt lt LinearLayout gt Listado 5 1 Ejemplo de layout usando org osmdroid views MapView public class MainActivity extends Activity Override public void onCreate Bundle savedInstanceState super onCreate savedInstanceState setContentView R layout main MapView map MapView findViewByld R id map map setMultiTouchControls true map getController setZoom 18 GeoPoint startPoint new GeoPoint 39 40540171 3 12204771 map getController setCenter startPoint Listado 5 2 Ejemplo de activity mostrando un punto de un mapa en especifico Por muy sencillo que pueda parecer durante la implementaci n se detect un problema el mapa no se centraba en la posici n seleccionada Dejaba dicha posici n en la esquina superior izquierda y no en el centro de la
43. bi n es posible buscar a nivel de n meros de casa Implementaci n Para implementar esta nueva funcionalidad hay que desarrollar una nueva Activity sta ser la encargada de preguntar al servicio de geocoding por la direcci n introducida permitir seleccionar al usuario entre las diferentes respuestas del servicio y devolver al Activity principal las coordenadas geogr ficas y el tipo de transporte seleccionado Para hacer uso en Android del geocoding de Google s lo es necesario declarar un objeto del tipo Geocoder pero al igual que en la cuarta iteraci n hay que declararlo dentro de una AsyncTask porque hace uso de Internet Ver listado 5 14 44 private List lt Address gt foundAdresses private class GetAddresses extends AsyncTask lt Void Float Boolean gt protected Boolean doInBackground Void params Geocoder geocoder new Geocoder getApplicationContext new Locale getString R string locale String text search_text getText toString try foundAdresses geocoder getFromLocationName text 20 return true catch IOException e return false protected void onPostExecute Boolean result if result getAddressesPost Listado 5 14 Ejemplo de implementaci n de Geocoder dentro de una AsyncTask Pruebas Al finalizar la implementaci n del sexto prototipo se realizaron las siguientes pruebas Para comprobar el correcto funcionamiento del servicio de geocoding
44. cense from a particular 93 copyright holder is reinstated a provisionally unless and until the copyright holder expli citly and finally terminates your license and b permanently if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation Moreover your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means this is the first time you have received notice of violation of this License for any work from that copyright holder and you cure the violation prior to 30 days after your receipt of the notice Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License If your rights have been terminated and not permanently reinstated receipt of a copy of some or all of the same material does not give you any rights to use it 9 FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new revised versions of the GNU Free Do cumentation License from time to time Such new versions will be similar in spirit to the present version but may differ in detail to address new problems or concerns See http www gnu org copyleft Each version of the License is given a distinguishing version number If the Document specifies that a particular numbered version of this License
45. cer llegar la apli caci n desarrollada al mayor n mero de usuarios Para ello habr que decidir cu l ser la plataforma sobre la que se desarrollar el proyecto Android iOs Windows Phone o Black berry A pesar de que Symbian de Nokia ten a bastante popularidad hace no demasiados a os queda completamente descartado del estudio porque en la actualidad posee menos del 0 5 de cuota de mercado y est previsto dejar de implantarlo en nuevos terminales a partir de 2016 Lit13 3 3 1 Android Andorid es un SO basado en Linux desarrollado por la Open Handset Alliance liderada por Google Su lanzamiento tuvo lugar en Octubre de 2008 y desde entonces se ha hecho con el 81 RL13 de la cuota de mercado de los smartphones La ltima versi n de este so es la 5 0 1 o Lollipop y el lenguaje de programaci n de aplicaciones es Java Uno de las principales causas de su xito es ser un sistema abierto Esto ha permitido que salgan al mercado una gran multitud de terminales con caracter sticas y precios muy distintos que han conseguido que llegue a la mayor a de los usuarios de smartphone Ventajas Android cuenta con la mayor cuota de mercado y facilidad a la hora de empezar a desarrollar y posteriormente probar la aplicaci n Adem s para distribuir la aplicaci n por medio de la tienda oficial la Play Store s lo hay que pagar previamente 25 Por otro lado gracias a la variedad de fabricantes Android posee una gran var
46. conocerla Para ello se ana lizaron en la secci n 3 2 2 los diferentes sistemas con los que obtener las coordenadas geo gr ficas del dispositivo en la actualidad Puesto que GLONASS no estuvo operativo para uso civil hasta 2012 no todos los smartphones disponen en la actualidad de esta tecnolog a y deja una nica opci n razonable NAVSTAR GPS Implementaci n Para hacer uso del GPS del smartphone en Android s lo es necesario definir un Loca tionListener e indicar por medio de un LocationManager qu clase lo implementa y cada cu nto tiempo se tiene que ejecutar ver listado 5 4 if mLocationManager isProviderEnabled LocationManager GPS_PROVIDER mLocationManager requestLocationUpdates LocationManager GPS_PROVIDER 1000 1 this t Listado 5 4 Ejemplo de uso de LocationManager utilizando la propia clase como LocationListener y 1 segundo de intervalo entre actualizaciones 34 Para que una clase implemente un LocationListener debe contener cuatro funciones onLocationChanged Para indicar qu hacer cuando nuestra ubicaci n cambia onProviderDisabled Para indicar qu hacer cuando se desactiva el GPS onProviderEnabled Para indicar qu hacer cuando se activa el GPS onStatusChanged Para indicar qu hacer cuando cambia el estado del proveedor del servicio GPS Los posibles estados son fuera de servicio temporalmente no disponible y disponible Resulta obvio que s lo se necesita rellenar el m todo onLoca
47. ction consisting of the Document and other documents released under this License and replace the individual copies of this License in the various documents with a single copy that is included in the collection provided that you follow the rules of this 92 License for verbatim copying of each of the documents in all other respects You may extract a single document from such a collection and distribute it individually under this License provided you insert a copy of this License into the extracted document and follow this License in all other respects regarding verbatim copying of that document 6 AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works in or on a volume of a storage or distribution medium is called an aggregate if the copyright resulting from the compilation is not used to limit the legal rights of the compilation s users beyond what the individual works permit When the Document is included in an aggregate this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document If the Cover Text requirement of section 3 is applicable to these copies of the Document then if the Document is less than one half of the entire aggregate the Document s Cover Texts may be placed on covers that bracket the Document within the aggregate or the electronic equivalent of covers 1f the D
48. das las opciones en las interfaces gr ficas el resto de interacciones que se llevar n a cabo ser n transparentes al usuario desapareciendo la computadora y centr ndose en el guiado Realidad virtual La realidad virtual tambi n llamada por algunos investigadores como ciberespacio reali dad artificial ambientes sint ticos o ambientes virtuales es una simulaci n por computador tridimensional e interactiva en la que el usuario se siente introducido en un ambiente arti ficial El usuario percibe dicho ambiente como real provocando la percepci n de inmersi n dentro del mucho virtual Entre las ventajas del uso de la realidad virtual se pueden destacar Lo usuarios pueden ver y manipulan objetos en tres dimensiones Ofrece una visi n del mundo en primera persona Permite familiarizarse con realidades antes de que sean construidas No ocupa espacio f sico 11 De igual forma la realidad virtual conlleva algunos problemas como Alto coste de desarrollo tanto de tiempo como de dinero Desarrollos muy espec ficos que no permiten mucha reutilizaci n Gran inversi n inicial en equipos En la figura 3 3 se muestra un diagrama explicativo de las interacciones entre el usuario el ordenador y el mundo real Ordenador Hombre Ordenador Mundo Real Hombre Mundo Real Figura 3 3 Paradigma de la realidad virtual Realidad aumentada La realidad aumentada consiste en representar un ent
49. dered responsible for modifications made by others This License is a kind of copyleft which means that derivative works of the document must themselves be free in the same sense It complements the GNU General Public License which is a copyleft license designed for free software We have designed this License in order to use it for manuals for free software because free software needs free documentation a free program should come with manuals providing the same freedoms that the software does But this License is not limited to software manuals it can be used for any textual work regardless of subject matter or whether it is published as a printed book We recommend this License principally for works whose purpose is instruction or reference 1 APPLICABILITY AND DEFINITIONS This License applies to any manual or other work in any medium that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License Such a notice grants a world wide royalty free license unlimited in duration to use that 87 work under the conditions stated herein The Document below refers to any such manual or work Any member of the public is a licensee and is addressed as you You accept the license if you copy modify or distribute the work in a way requiring permission under copyright law A Modified Version of the Document means any work containing the Document or a portion
50. e en m ltiples lengua jes Entre sus caracter sticas es importante destacar Visualizaci n de la posici n en el mapa mostrando el posible error cometido en la trilateraci n 16 Visualizaci n de mapas offline previamente descargados Visualizaci n de la cantidad e tr fico de las carreteras Visualizaci n de edificios en 3D en algunas ciudades Rotaci n autom tica del mapa en funci n de la orientaci n del dispositivo C lculo de rutas para peatones transporte p blico y veh culos motorizados Con respecto a la interacci n con el usuario HERE utiliza la pantalla y el sonido La pantalla mostrando continuamente las instrucciones a desarrollar y a la hora de realizar las instrucciones se reproducen sonoramente OsmAnd OsmAnd es la aplicaci n de navegaci n de c digo abierto GPL v3 para Android basada en los mapas de Open Street Map OSM Existe una versi n gratuita y otra de pago que permite desbloquear el limite de descargas de mapas offline y ayudar al desarrollo de la aplicaci n Entre las caracter sticas m s importantes se pueden destacar Visualizaci n de la posici n en el mapa mostrando el posible error cometido en la trilateraci n Visualizaci n de mapas offline previamente descargados Rotaci n autom tica del mapa en funci n de la orientaci n del dispositivo C lculo de rutas para peatones y veh culos motorizados La interacci n con el usuario se realiza visua
51. e han ofrecido su ayuda a lo largo de este tiempo En segundo lugar debo dar las gracias todos los compa eros de clase compa eros de piso y amigos en general que han estado conmigo estos a os Gracias por compartir todas esas alegr as preocupaciones y pasiones diarias Vosotros hicisteis el camino m s divertido Por ltimo agradezco a David Villa el tiempo invertido en este proyecto y los nuevos conocimientos que me ha permitido adquirir con su dedicaci n Carlos Ramos IX XI A mis padres Indice general Resumen v Abstract VII Agradecimientos IX ndice general XIII ndice de cuadros XVII ndice de figuras XIX ndice de listados XXI Listado de acr nimos XXIII 1 Introducci n 1 1 1 Estructura del documento we DH a amp 3 2 Objetivos 5 2 1 Objetivo general s cursaba pai a pay aaa 5 2 2 Objetivos espec ficos 4 208 ooa a 6 2 2 1 Desarrollo del sistema de posicionamiento 6 2 2 2 Desarrollo del sistema de navegaci n 6 2 2 3 Desarrollo del sistema de reproducci n de audio 6 2 2 4 Desarrollo del sistema de comunicaci n con otros dispositivos 6 2 2 5 Desarrollo del sistema vibratorio o 6 2 Der JAMMIGACIONGR Sp oe Da ras di 7 3 Antecedentes 9 3 1 Interacci n persona ordenador o e e 3 1 1 Paradigmas de interacci n 29d led ee ed AA 10 XII 3 2 Sistemas de navegaci n por sat
52. eccionar qu complementos se utilizar n En este punto surgi un conflicto de intereses Tal y se vi en la secci n 3 4 1 los nicos complementos que permiten controlar su vibrador a voluntad son los que llevan Android Wear como SO pero estos dispo sitivos son muy caros y pr cticamente nadie dispone de uno Por ello se propuso desarrollar el proyecto para poder utilizar tanto wearables con Android Wear como otros dispositivos con Android De este modo podr n utilizar el sistema 49 200 400 600 800 1000 1200 1400 Figura 5 3 Frecuencia de vibraci n para tomar la primera salida de la rotonda El eje ver tical indica si est 1 o no 0 activo el vibrador y el eje horizontal indica el tiempo en milisegundos 500 1000 1500 2000 Figura 5 4 Frecuencia de vibraci n para tomar la segunda salida de la rotonda El eje ver tical indica si est 1 o no 0 activo el vibrador y el eje horizontal indica el tiempo en milisegundos 500 1000 1500 2000 2500 Figura 5 5 Frecuencia de vibraci n para tomar la tercera salida de la rotonda El eje ver tical indica si est 1 o no 0 activo el vibrador y el eje horizontal indica el tiempo en milisegundos Los usuarios de Android Wear por medio de su smartphone y su wearable En el tel fono funcionar la aplicaci n de navegaci n y se comunicar con el complemento para que vibre en los momentos apropiados 50 Los usuarios que dispongan de dos dispositi
53. ed Endorsements or to conflict in title with any Invariant Section O Preserve any Warranty Disclaimers If the Modified Version includes new front matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document you may at your 91 option designate some or all of these sections as invariant To do this add their titles to the list of Invariant Sections in the Modified Version s license notice These titles must be distinct from any other section titles You may add a section Entitled Endorsements provided it contains nothing but endorse ments of your Modified Version by various parties for example statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard You may add a passage of up to five words as a Front Cover Text and a passage of up to 25 words as a Back Cover Text to the end of the list of Cover Texts in the Modified Version Only one passage of Front Cover Text and one of Back Cover Text may be added by or through arrangements made by any one entity If the Document already includes a cover text for the same cover previously added by you or by arrangement made by the same entity you are acting on behalf of you may not add another but you may replace the old one on explicit permission from the previous publisher that added the old one The author s and publisher s of the Documen
54. entada en un mapa El desarrollo del sistema de navegaci n se abord en las iteraciones 4 5 6 y 7 ver secci n 5 3 4 secci n 5 3 5 secci n 5 3 6 y secci nS 3 7 Tras su implementaci n el sistema fue capaz de navegar desde la posici n actual de usuario hasta la localizaci n deseada El desarrollo del sistema de reproducci n de audio se abord en la iteraci n 8 ver secci n 5 3 8 Tras su implementaci n fue posible navegar por una ruta siguiendo las indicaciones sonoras del sistema El desarrollo del sistema de comunicaci n con otros dispositivos se abord en la iteraci n 9 ver secci n 5 3 9 Tras su implementaci n fue posible intercambiar men sajes entre los diferentes dispositivos del sistema El desarrollo del sistema vibratorio se abord en la iteraci n 9 ver secci n 5 3 9 Tras su implementaci n fue posible hacer vibrar todos los componentes del sistema a las frecuencias oportunas Por ello se puede concluir que se ha culminado el objetivo general del proyecto desa rrollo de un sistema de navegaci n por sat lite que se comunique con el usuario por medio de la vibraci n de alguno de sus componentes 69 7 2 Otros usos del sistema Al tratarse de un trabajo dirigido a un p blico espec fico peatones ciclistas y motoristas podr a suponerse que son los nicos que podr an verse beneficiados del mismo pero no es z asl Por un lado los conductores de cualquier tipo de
55. ente en su versi n 2 8 14 IShttps code google com p osmbonuspack Shttps code google com p google gson http www s1f4j org Shttps www gnu org software emacs http www latex project org nttps www tug org texlive 2 http www bibtex org https www draw io http www gimp org 29 Capitulo 5 Desarrollo del proyecto E N este cap tulo se describe el proceso de desarrollo del sistema de navegaci n por sat lite Se empieza enumerando los requisitos originales del sistema y se explica c mo se realizar n las pruebas M s tarde se explica iteraci n a iteraci n las decisiones tomadas los prototipos desarrollados y las pruebas realizadas sobre ellos 5 1 Especificaci n de requisitos Como se coment anteriormente ver secci n 4 1 los requisitos del sistema se han ido detallando a lo largo del desarrollo del proyecto ya que originalmente s lo ten a una idea muy general del sistema a desarrollar A continuaci n se muestran estos requisitos generales sobre los que se parti 5 2 El sistema debe poder guiar a peatones ciclistas y motoristas El sistema debe desplegarse sobre alguna plataforma de smartphone El sistema debe ser compatible con la mayor a de versiones de la plataforma La interacci n con el sistema debe desarrollarse de forma impl cita y ser v lida para peatones ciclistas y motoristas Los complementos necesarios para la interacci n deben estar disp
56. eocoding m s conocido de la actualidad Aunque ofrece los tres servicios como servicios web accesibles por medio de API y est n disponibles para todas las plataformas poseen una gran integraci n con Android Por un lado la API de mapas permite insertar mapas de todas las partes del mundo con el logotipo de Google en cualquier aplicaci n De forma gratuita es posible realizar hasta 2 500 Goo14b solicitudes de mapas con 25 000 muestras y con una resoluci n de 640 x 640 Por otro el servicio de rutas deja calcular hasta 2 500 rutas diferentes con hasta 10 hitos por solicitud Este servicio permite diferenciar entre rutas para peatones ciclistas veh culos motorizados o transporte p blico Finalmente el servicio de geocoding de Google permite realizar gratuitamente hasta 2 500 peticiones al d a Adem s se pueden realizar b squedas por n meros de casa Es el proveedor de mapas de Microsoft que proporciona una API con interface Repre sentational State Transfer REST para integrar los servicios de mapas geocoding y rutas en cualquier aplicaci n Tanto si la aplicaci n que se desarrolle est disponible para la descarga gratuita como si es de pago Bing permite un m ximo de 125 000 Mic14 transacciones por a o gratuitamente En estas peticiones van incluidos todos los servicios HERE Es un proveedor de mapas rutas y geocoding de Nokia que dispone de Software De velopment Kit SDK para el desarrollo de aplicac
57. eza presentando el concepto de interacci n y sus paradigmas Des pu s se ponen en contexto los sistemas de navegaci n por sat lite y sus actuales aplicaciones para smartphone M s tarde se hace un estudio por las principales plataformas de desarrollo Luego se indaga en el concepto de wearable y se describen los diferentes tipos de wearables en funci n de la forma de conectarse con el tel fono Finalmente se hace un repaso por los principales proveedores de servicios relacionados con el sistema 3 1 Interacci n persona ordenador La Interacci n Persona Ordenador IPO es la disciplina relacionada con el dise o imple mentaci n y evaluaci n de sistemas inform ticos interactivos para el uso de seres humanos y con el estudio de los fen menos m s importantes con los que est n relacionados TTH92 Esta disciplina se basa en la interacci n con el ordenador y establece una serie de paradigmas de interacci n Baecker y Buxton en 1987 definieron interacci n como todos los intercambios que suce den entre la persona y el ordenador En el modelo cl sico de IPO es la persona la encargada de interactuar con el ordenador y decirle qu hacer es decir interacci n expl cita Pero hay otra forma de proceder que sea el ordenador el encargado de interactuar con la persona sin intenci n expl cita o conocimiento del usuario es decir interacci n impl cita En este TFG se har uso de la interacci n impl cita por medio de la vibr
58. fit legibly you should put the first ones listed as many as fit reasonably on the actual cover and continue the rest onto adjacent pages If you publish or distribute Opaque copies of the Document numbering more than 100 you must either include a machine readable Transparent copy along with each Opaque copy or state in or with each Opaque copy a computer network location from which the gene ral network using public has access to download using public standard network protocols a complete Transparent copy of the Document free of added material If you use the latter option you must take reasonably prudent steps when you begin distribution of Opaque co pies in quantity to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy directly or through your agents or retailers of that edition to the public It is requested but not required that you contact the authors of the Document well before redistributing any large number of copies to give them a chance to provide you with an updated version of the Document 4 MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above provided that you release the Modified Version under precisely this License with the Modified Version filling the role of the Document thus licensing distribu tion and modification of the Modified
59. guir usando el mismo c digo Utilizar un thread diferente al de la GUI para realizar la petici n a Internet ver lista do 5 10 http wiki openstreetmap org wiki MapQuest Shttps code google com p osmbonuspack issues detail id 9 38 StrictMode ThreadPolicy policy new StrictMode ThreadPolicy Builder permitAll build StrictMode setThreadPolicy policy Listado 5 9 Eliminaci n de politicas de threads private void gotoGeoPoint GeoPoint endPoint ArrayList lt GeoPoint gt waypoints new ArrayList lt GeoPoint gt waypoints add getLastLocation waypoints add endPoint new GetRoad execute waypoints private class GetRoad extends AsyncTask lt ArrayList lt GeoPoint gt Float Boolean gt protected Boolean doInBackground ArrayList lt GeoPoint gt params RoadManager roadManager new MapQuestRoadManager MAPQUESTAPIKEY roadManager addRequestOption units k roadManager addRequestOption routeType mTransport mRoad roadManager getRoad params 0 return true y protected void onPostExecute Boolean result if result gotoGeoPointPosThread private void gotoGeoPointPosThread mRoadOverlay RoadManager buildRoadOverlay mRoad getBaseContext mRoadOverlay setWidth 10 mMap getOverlays add mRoadOverlay mMap invalidate Listado 5 10 Ejemplo de creaci n y superposici n de una ruta en el mapa utilizando una AsyncTask Para implementarlo
60. icaci n se mantenga presente Avisos vibratorios Los avisos vibratorios hacen referencia a la posibilidad de que el smartphone junto con otro complemento vibratorio nos avisen de las instrucciones que tengamos que realizar Para activar o desactivar dichos avisos hay que activar la casilla del men y despu s selec cionar qu dispositivo colocaremos en la parte izquierda de nuestro cuerpo y cu l en la parte derecha Para que aparezcan dichos dispositivos en la lista debemos tener En caso de utilizar Naviganto Bluetooth como complemento pareados los dos dispo sitivos por medio de bluetooth En caso de utilizar Naviganto Wear como complemento sincronizado nuestro wea rable con el smartphone por medio de los Play Services Una vez seleccionados los dispositivos cuando pulsemos sobre la tecla de retroceso se proceder a la conexi n con dichos dispositivos En este punto deber n estar activas las aplicaciones en los complementos que dispongan de Naviganto Bluetooth y es opcional que se encuentre ejecut ndose la aplicaci n Naviganto Wear en los wearables 81 Avisos Sonoros D Activa o desactiva los avisos sonoros Vibrador izquierdo Este dispositivo Vibratorios p E a a A 2 Local Activa o desactiva los avisos vibratorios P311 EN Bluetooth Vibrador izquierdo moe Este dispositivo Nexus One Bluetooth Vibrador derecho 3 i G Watch R 804D Este dispositivo Bluetooth Visualizaci n Htc Bluetooth R
61. iedad de dispositivos con diferentes caracter sticas y se puede seleccionar el dispositivo con la potencia y caracter sticas que se estimen oportunas Desventajas Las principales ventajas tambi n suponen algunos problemas El hecho de que ha ya diferentes dispositivos con diferente hardware complica garantizar el rendimiento ptimo de la aplicaci n en las diferentes configuraciones de pantalla memoria y pro cesador 3 3 2 iOS Es el SO desarrollado por Apple para Phone aunque posteriormente se port para otros dispositivos de la compa a como iPad o iPod Touch Su lanzamiento tuvo lugar en Junio de 2007 junto con el primer iPhone y en la actualidad cuenta con un 12 9 RL13 de la 18 cuota de mercado La ltima versi n de este SO es la 8 1 2 y el lenguaje de programaci n de aplicaciones es Objetive C Apple iOS ha sido durante mucho tiempo la referencia de los desarrolladores de aplica ciones ya que fue el primero en incorporar una tienda de aplicaciones AppStore Con ello permiti desarrollar a terceros aplicaciones para sus dispositivos y mantenerlas bajo el con trol de Apple Ventajas Puesto que el SO est dise ado espec ficamente para una configuraci n de hardware iOS permite explotar al m ximo sus capacidades y desarrollar aplicaciones para un peque o grupo de dispositivos bastante potentes Desventajas Apple no permite instalar de forma legal aplicaciones que no hayan sido validadas por medio de
62. imensional Al medir rl se reduce la posici n a una circunferencia A continuaci n midiendo r2 se reduce a dos puntos A y B Una tercera medida r3 devuelve las coordenadas de B Una cuarta medida tambi n puede hacerse para reducir y estimar el error 3 2 1 Coordenadas geogr ficas Las coordenadas geogr ficas son el sistema que permite representar una posici n en el globo Este sistema de referencia hace uso de dos coordenadas angulares latitud Norte y Sur y longitud Este y Oeste medidas desde el centro de la tierra y expresadas por regla general en grados sexagesimales La latitud es el ngulo que forma el Ecuador con el punto que medimos La longitud es el ngulo se forma entre el meridiano de Greenwich con el punto que medimos 3 2 2 Tecnolog as actuales En la actualidad predominan dos tecnolog as Global Position System GPS y Global naya Navigatsionnaya Sputnikovaya Sistema GLONASS En los siguientes apartados se resumen sus caracter sticas m s importantes No se han incluido en el estudio ninguno de los sistemas que a fecha de hoy no se consi deran operativos Wik14b como 14 a Galileo desarrollado por la Uni n Europea BeiDou Compass Navigation Test System BNTS desarrollado por la Rep blica Po pular de China Quasi Zenith Satellite System QZSS desarrollado por Jap n Indian Regional Navigation Satellite System IRNSS desarrollado por India NAVigation System and Rangi
63. iones en iOS y Android 22 HERE permite realizar un total de 100 000 Nok14 peticiones gratuitas al mes entre im genes de sat lite geocoding y rutas Es necesario destacar que s lo se pueden calcular rutas para veh culos motorizados y personas y que la versi n de geocoding gratuita no permite buscar al nivel de n meros de casa Open Street Map OSM es un proyecto colaborativo para crear mapas libres y gratuitos Por ello es posi ble utilizar sus mapas y rutas bajo la licencia ODbL Coal4a Su servicio de rutas llamado MapQuest permite la opci n de calcularlas para peatones ciclistas y veh culos motorizados Para ello es necesario registrarse gratuitamente y obtener una clave de usuario Por otro lado el servicio de geocoding de OSM se llama Nominatim y funciona sobre servidores mantenidos por medio de donaciones y con una capacidad limitada Por ello dicen poner el l mite en un m ximo absoluto de 1 petici n Coa14b aunque es posible realizar varias Este servicio no permite realizar b squedas a nivel de n meros de casa 23 Capitulo 4 Metodo de trabajo y herramientas N este capitulo se expone la metodolog a seguida para llevar a cabo el proyecto y se justifica por qu se considera el m todo m s satisfactorio a la hora de implementar este TFG Adem s se seleccionan y nombran las diferentes herramientas utilizadas para el desarrollo del mismo tanto software como hardware 4 1 Metodolog a de
64. istado 5 4 se ejecutar cada segundo con los nuevos datos suministrados por los sat lites GPS En funci n de la velocidad se consideraron validos los valores de cercan a y zoom reflejados en el listado 5 11 public void onLocationChanged Location loc rl float speed loc getSpeed int metersToFirstWarning if speed gt kmhToMs 100 mMap getController setZoom 15 metersToFirstWarning 1000 else if speed gt kmhToMs 80 4 mMap getController setZoom 16 metersToFirstWarning 500 else if speed gt kmhToMs 50 4 mMap getController setZoom 17 metersToFirstWarning 100 else if speed gt kmhToMs 20 4 mMap getController setZoom 18 metersToFirstWarning 60 else mMap getController setZoom 18 metersToFirstWarning 30 Listado 5 11 Ejemplo de implementaci n de LocationListener utilizado para variar el zoom del mapa y determinar la distancia necesaria para avisar de las acciones Para detectar si se sigue la ruta marcada se ha implementado el algoritmo del lis tado 5 12 El algoritmo indica la acci n de seguir recto hasta que la distancia hasta la pr xima etapa es menor que la distancia del comienzo de los avisos del punto anterior Es entonces cuando e Si se acerca se muestra la etapa a realizar e Si se aleja se considera superada la etapa a realizar De este modo se pasa a la siguiente etapa a menos que sea la ltima y finalice la
65. ita m s sat lites El sistema GLONASS est optimizado para ser usado en el hemisferio norte y proporciona la posici n con un error entre 5 y 15 metros En la actualidad esta tecnolog a puede ser usada s lo por algunos smartphones Est formada por una constelaci n de 31 sat lites que orbitan a una altitud de 19 100 km situados en tres planos y con una inclinaci n de 64 8 grados 3 2 3 Aplicaciones de navegaci n para smartphone Aunque existen una gran cantidad de aplicaciones de navegaci n para smartphone dispo nibles en las tiendas oficiales de aplicaciones en este apartado analizaremos solamente las aplicaciones m s usadas Google maps Google Maps es una aplicaci n de navegaci n lanzada por Google en septiembre de 15 2008 que se puede utilizar tanto en Android como en iOS Windows Mobile Symbian o BlackBerry Adem s Google Maps est disponible en m ltiples idiomas Entre las caracteristicas de la aplicaci n de Google se pueden destacar las siguientes Visualizaci n de la posici n en el mapa mostrando el posible error cometido en la trilateraci n Visualizaci n de mapas offline previamente descargados Visualizaci n de la cantidad de tr fico de las carreteras Visualizaci n de edificios en 3D en algunas ciudades a Street View o posibilidad de ver fotograf as a pie de calle Rotaci n autom tica del mapa en funci n de la orientaci n del dispositivo C lculo de rutas para pe
66. iva es la evoluci n del paradigma de compu tadora de sobremesa en la que el ordenador desaparece desde el punto de vista psicol gico En este paradigma hay que encargarse de la tarea y no de la herramienta que ayuda a reali zar esa tarea convirtiendo la computadora en algo invisible que est por todas partes y que asiste desde el contexto La computaci n ubicua es la responsable de las nuevas corrientes de investigaci n como el ambiente inteligente y la computaci n diaria En la figura 3 2 se muestra un diagrama explicativo de las interacciones entre el usuario el ordenador y el mundo real 10 Ordenador Hombre Ordenador Mundo Real Hombre Mundo Real Figura 3 2 Paradigma de la computaci n ubicua Los principios sobre los que se apoya la computaci n ubicua son la descentralizaci n la diversificaci n la conectividad y la simplicidad Mer13 Por ello las herramientas que se desarrollen para el uso de la computaci n ubicua deben ser invisibles y cercanas al compor tamiento del ser humano Entre los beneficios de la computaci n ubicua se pueden destacar la simplicidad o invisi bilidad de la interacci n y la adaptaci n al usuario y sus necesidades No obstante el uso de la computaci n ubicua conlleva algunos inconvenientes como la p rdida de privacidad o la escasa cantidad de tareas que se pueden desempe ar Este proyecto pertenece al mbito de la computaci n ubicua ya que una vez selecciona
67. izaci n de la vibraci n y en caso de activarlo permite seleccionar entre los diferentes disposi tivos bluetooth emparejados y el dispositivo local cu l har de vibrador derecho y cu l de vibrador izquierdo Una vez seleccionado el cliente intentar iniciar el chat con el los servidor es y se quedar a la espera En caso de no conseguir establecer conexi n simplemente avisar al usuario private BluetoothChatService mChatServiceLeft new BluetoothChatService this mHandler private BluetoothChatService mChatServiceRight new BluetoothChatService this mHandler private StringBuffer mOutStringBufferLeft new StringBuffer private StringBuffer mOutStringBufferRight new StringBuffer Sta private void sendMessage String message int who if who LEFT sendMessage message mChatServiceLeft mOutStringBufferLeft else if who RIGHT sendMessage message mChatServiceRight mOutStringBufferRight private void sendMessage String message BluetoothChatService d StringBuffer b if d null d getState BluetoothChatService STATE_CONNECTED return message message SPLIT if message length gt 0 byte send message getBytes d write send b setLength 0 Listado 5 18 Metodos utilizados para enviar mensajes por bluetooth haciendo uso de la clase BluetoothChatServide https developer android com resources samples BluetoothChat index html 5
68. k the title page itself plus such following pages as are needed to hold legibly the material this License requires to appear in the title page For works in formats which do not have any title page as such Title Page means the text near the most prominent appearance of the work s title preceding the beginning of the body of the text The publisher means any person or entity that distributes copies of the Document to the public A section Entitled XYZ means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language Here XYZ stands for a specific section name mentioned below such as Acknow ledgements Dedications Endorsements or History To Preserve the Title of such a section when you modify the Document means that it remains a section Entitled XYZ according to this definition The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document These Warranty Disclaimers are considered to be included by reference in this License but only as regards disclaiming warranties any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License 2 VERBATIM COPYING You may copy and distribute the Document in any medium either commercially or non commercially provided that this Lice
69. lizando la pantalla que puede configu rarse para que se encienda antes de cada acci n y por medio del sonido 3 3 Plataformas smartphone Dese la aparici n de la industria dedicada a la telefon a m vil all por 1983 cuando la compa a Motorola estren el primer m vil de la historia el Motorola DynaTAC 8000X se han sucedido una serie de mejoras continuas hasta ofrecer al usuario la posibilidad de estar continuamente conectado para llegar a lo que hoy conocemos como smartphone El xito de los tel fonos inteligentes o smartphones radica en que ofrecen la posibilidad de llevar continuamente con el usuario un ordenador en el que se pueden instalar multitud de aplicaciones Estos programas tienen finalidades muy dispares desde aplicaciones rela cionadas con el mbito laboral como gestores de correo electr nico y editores de texto hasta aplicaciones de ocio como juegos y redes sociales A lo largo de estos a os los fabricantes se han basado en diferentes Sistemas Operativos SO especialmente dise ados para la telefon a m vil a la hora de gestionar los terminales Estos SO est n enfocados en exprimir las capacidades multimedia e inal mbricas de los dispositivos 17 Puesto que cada sistema cuenta con sus propias aplicaciones los SO han ido adquirien do mayor importancia de forma que existe una guerra por hacerse por la mayor cuota de mercado Este TFG pretende aprovechar la popularidad de los smartphone para ha
70. llite System PDA Personal Digital Assistant NHTSA National Highway Traffic Safety Administration so Sistemas Operativos API Application Programming Interface NAVSTAR GPS NAVigation System and Ranging Global Position System GPS Global Position System GLONASS Global naya Navigatsionnaya Sputnikovaya Sistema BNTS BeiDou Compass Navigation Test System QZSS Quasi Zenith Satellite System IRNSS Indian Regional Navigation Satellite System CES Consumer Electronics Show HFP Hands Free Profile HID Human Interface Device Profile PAN Personal Area Networking Profile OSM Open Street Map SDK Software Development Kit REST Representational State Transfer IPO Interacci n Persona Ordenador GUI Graphical User Interface MAC Media Access Control COCOMO COnstructive COst MOdel XXIII Capitulo 1 Introducci n L guiado de personas es una actividad que se lleva desarrollando desde siempre con E la ayuda de las estrellas mapas y br julas Afortunadamente desde que se desarroll Transit en los a os sesenta considerado el primer Sistema Global de Navegaci n por Sat lite SGNS o Global Navigation Satellite System GNSS resulta bastante m s sencillo conocer la ubicaci n de una persona de forma precisa y seguir un determinado camino A pesar de que Transit se desarrollase en los a os sesenta no fue hasta 1983 cuando Honda se plante utilizar la tecnolog a de los SGNS para guiar a civiles y desarroll su sistema de navegaci
71. lo cual aparecer la figura 6 11 Despu s hay que seleccionar en el men superior la opci n Peat n introducir la direcci n y pulsar en el bot n Buscar para que se muestre la figura 6 12 Finalmente tras pinchar sobre el nico resultado se iniciar la navegaci n ver figura 6 13 Cuando se inicie la marcha y se llegue al primer giro ver figura 6 14 vibrar el smartp hone del bolsillo derecho del pantal n con la frecuencia determinada para los giros ver figura 5 1 M s tarde cuando se llegue al segundo giro ver figura 6 15 vibrar el smart watch con la misma frecuencia Finalmente cuando se llegue al destino ver figura 6 16 vibrar n ambos dispositivos con la frecuencia de destino alcanzado ver figura 5 2 65 Moto o coche camino m s r pido v Peat n z BUSCAR plaza mayor criptana BUSCAR Plaza Mayor 13610 Campo de Criptana Ciudad Real Espa a si lo yo u a w a t y in i o p as Ak ln 4 zxcvbnm 2123 Figura 6 11 Buscador de destinos Figura 6 12 B squeda de destino Navegacion Siga recto Gire a la derecha Figura 6 13 Inicio de ruta Figura 6 14 Primer giro de la ruta 66 Gire a la izquierda Ha llegado a su destino 6m Figura 6 15 Segundo giro de la ruta Figura 6 16 Llegada al destino fin de la ruta 6 3 Repositorio El c digo desarrollado durante el transcurso del proyecto y la documentaci n de esta me moria se encuentran disponibles en uno de los reposito
72. los mensajes se pueden personalizar mucho m s con la segunda opci n la elecci n que se tom para reproducir sonoramente las instrucciones fue text to speech Y se eligi el servicio de Google como proveedor por su gran integraci n con Android Implementaci n Para convertir texto a sonido con el servicio de Google solamente hay que instanciar una clase del tipo TextToSpeech especificando el contexto y qu clase implementa la funci n onInit Despu s implementar dicha funci n indicando el lenguaje deseado y llamar al m todo speak En el ejemplo del listado 5 16 se ha simplificado el uso y se han prevenido errores creando el m todo convertTextToSpeech De esta forma cuando se desee reproducir sonoramente un texto s lo hay que llamar a dicho m todo private TextToSpeech mTextToSpeech new TextToSpeech this this eS public void onInit int status if status TextToSpeech SUCCESS int result mTextToSpeech setLanguage new Locale es if result TextToSpeech LANG_MISSING_DATA result TextToSpeech LANG_NOT_SUPPORTED Toast makeText getBaseContext Error al convertir el sonido Toast LENGTH_SHORT show else convertTextToSpeech private void convertTextToSpeech String text if text equals amp amp mTextToSpeech null mTextToSpeech speak text TextToSpeech QUEUE_FLUSH null ih Listado 5 16 Ejemplo del uso de TextToSpeech Pruebas Al finalizar la im
73. medio de alguna interacci n impl cita Para ello el sistema avisar al usuario en el momento que tenga que realizar cualquiera de las posibles acciones La interacci n impl cita que se pretende conseguir con este trabajo se llevar a cabo por dos medios El sonido Como todos los navegadores actuales nos proporcionar las instrucciones de manera auditiva pero como el trabajo va dirigido a peatones ciclistas y motoristas y resulta complicado escuchar el dispositivo en un ambiente abierto es necesaria otra interacci n adicional La vibraci n Necesaria para las situaciones en las que resulte complicado o r el dis positivo y porque est prohibido el uso de cascos o auriculares Dado el elevado n mero de posibles instrucciones que el sistema puede comunicar al usuario por medio de la vibraci n como giros cambios de sentido salidas en una rotonda etc ser necesario utilizar m s de un dispositivo vibratorio De esta forma si se coloca un dispositivo en la parte izquierda del cuerpo y otro en la parte derecha se pueden codificar de manera inequ voca los giros a la derecha y a la izquierda haciendo m s intuitivas las vibraciones Esto implica la necesidad de desarrollar un sistema de comunicaciones entre dispositivos pero se consiguen resultados m s interesantes El proyecto pretende utilizar un tel fono smartphone y su vibrador junto con un perif rico como un reloj smartwatch o pulsera inteligente smartband
74. n d a como acceso al correo electr nico e Internet En la actualidad tiene un 1 7 RL13 de cuota de mercado La ltima versi n de este SO es Blackberry 10 y el lenguaje de programaci n de las aplicaciones es Java Aunque este sistema est orientado especialmente a empresas y profesionales tuvo un gran xito entre los j venes gracias a su servicio de mensajer a instant nea Ventajas No es necesario pagar para subir aplicaciones a su tienda oficial de aplicaciones lla mada App World S lo es necesario registrarse como desarrollador y que aprueben la aplicaci n creada Para determinados tipos de usuario puede considerarse una ventaja que la mayor a de terminales dispongan de un teclado f sico Desventajas De igual modo disponer de un teclado f sico limita las posibilidades de desarrollo frente a dispositivos con pantallas t ctiles Adem s su tienda de aplicaciones cuenta con poco apoyo por parte de los desarrolla dores y en consecuencia dispone de muchas menos aplicaciones que la competencia 3 4 Wearables La palabra wearable hace referencia al conjunto de aparatos y dispositivos que se sit an en alguna parte del cuerpo interactuando continuamente con el usuario y con otros dispositivos para realizar alguna funci n espec fica Hoy en d a es posible encontrar relojes pulseras colgantes anillos gafas ropa o zapatillas que cumplen con esta descripci n El t rmino wearable tiene ra z inglesa y se
75. n principal 1 399 Smartphone de la aplicaci n bluetooth 2 60 Smartwatch de la aplicaci n wear 2 239 Total 6296 Cuadro 6 2 Desglose de costes del desarrollo de Naviganto El coste obtenido es puramente informativo ya que para calcular el presupuesto real se deben tener en cuenta otros muchos factores De todos modos es de suponer que el coste del desarrollo de Naviganto se ajustar m s al cuadro 6 2 que a la estimaci n ofrecida del comando sloccount ver cuadro 6 3 que calcula el tama o del proyecto en l neas de c digo y emplea el modelo COnstructive COst MOdel COCOMO para obtener la estimaci n del tiempo y los costes necesarios para desarrollar el sistema Total Physical Source Lines of Code SLOC 3 206 Development Effort Estimate Person Years Person Months 0 68 8 16 Basic COCOMO model Person Months 2 4 KSLOC 1 05 Schedule Estimate Years Months 0 46 5 55 Basic COCOMO model Months 2 5 person months 0 38 Estimated Average Number of Developers Effort Schedule 1 47 Total Estimated Cost to Develop 91 813 average salary 56 286 year overhead 2 40 Cuadro 6 3 Estimaci n de los costes del desarrollo de Naviganto seg n sloccount 6 1 3 Profiling El profiling o medida de rendimiento consiste en medir los tiempos que el sistema tarda en realizar las operaciones mas criticas En el caso de Navignato se han seleccionado las siguientes
76. nfiguraci n ha tenido xito se selecciona la opci n de la barra lateral de Naviganto llamada Probar vibraci n ver Figura 6 3 De esta forma se mandar a NavigantoWear que est configurado en la posici n izquierda la orden de vibrar durante 0 9 segundos Acto seguido se le mandar a NavigantoBluetooth que est configurado en la posici n derecha la orden de vibrar durante otros 0 9 segundos Gracias a esta comprobaci n se puede estar seguro de que la configuraci n de la vibraci n ha sido un xito 63 Avisos Sonoros O Activa o desactiva los avisos sonoros Vibrador izquierdo Este dispositivo E Local Vibratorios Activa o desactiva los avisos vibratorios P311 Bluetooth en En Vibrador izquierdo Nexus One 189af851 ccac 4714 a785 92ae62a80a9d Bluetooth G Watch R 804D Vibrador derecho Nexus One Bluetooth Htc Visualizaci n Bluetooth Rotar mapa Activa o desactiva la rotaci n autom tica O del mapa Gasta m s bater a 189af851 ccac 4714 57 Wear CANCELAR Figura 6 6 Selecci n de dispositivos Figura 6 7 Opciones del caso de uso Figura 6 8 NavigantoBluetooth tras iniciarse es decir esperando conexi n 64 Esperando instrucciones Figura 6 9 NavigantoBluetooth esperan Figura 6 10 NavigantoWear esperando do instrucciones instrucciones 6 2 4 La ruta Para introducir el destino al que se desea ir se elige la opci n de la barra lateral Seleccionar destino tras
77. ng Global Position System NAVSTAR GPS Este sistema tambi n conocido simplemente por GPS es el sistema de navegaci n desarrollado por los Estados Unidos Los primeros proyectos relacionados empezaron a desarrollarse en 1973 y en ellos se establecieron las bases de lo que hoy conocemos como GPS Los primeros sat lites se lanzaron en 1978 y el programa fue plenamente operativo en 1995 aunque con un sistema de degradaci n de se al para los usos civiles que limitaba la se al a una precisi n aleatoria entre 15 y 100 metros En mayo del a o 2000 se elimin dicha limitaci n permitiendo determinar la posici n y la hora de forma precisa con un error nominal de unos 15 metros En la actualidad esta tecnolog a es accesible por la mayor a de los smartphones Est formada por una constelaci n de 24 a 27 sat lites que se mueven en rbita de unos 20 000 km por seis planos y con una inclinaci n de 55 grados GLONASS Al mismo tiempo que se desarrollaba el GPS en Rusia tambi n desarrollaron su sis tema de navegaci n GLONASS Los primeros sat lites fueron lanzados en 1982 pero el programa no fue operativo hasta 1996 con unos 9 a 11 sat lites y un sistema de degradaci n de se al para usos civiles parecido al de GPS Esta limitaci n hac a que la precisi n fuese de unos 30 metros En 2007 se eliminaron las limitaciones para uso ci vil y en 2012 se convirti en un sistema de navegaci n plenamente funcional cuando se pusieron en rb
78. nir posibles errores puntuales en la localizaci n para considerar un desv o de ruta se ha implementado un contador de errores y s lo se vuelve a calcular el recorrido una vez que se ha detectado 3 veces el desv o Como las medidas tardan un segundo en realizarse ver listado 5 4 se tardar 3 segundos en detectar el error 42 private int mRoadLost 0 public void onLocationChanged Location loc GeoPoint myLocation new GeoPoint loc Be if mRoadOverlay null amp amp ImRoadOverlay isCloseTo myLocation 24 mMap if mRoadLost lt 3 mRoadLost else startAction WRONG 0 GeoPoint endPoint mRoad mNodes get mRoad mNodes size 1 mLocation cleanMap gotoGeoPoint endPoint Listado 5 13 Ejemplo de implementaci n de LocationListener utilizado para detectar cuando se desvia de la ruta establecida Pruebas Al finalizar la implementaci n del quinto prototipo se realizaron las siguientes prue bas Para comprobar las diferentes configuraciones de zoom y distancia para avisar en fun ci n de la velocidad Dado Diferentes velocidades Diferentes dispositivos con distintas versiones de Android ver sec ci n 4 2 1 Cuando Se pasa entre los diferentes rangos del listado 5 11 Entonces Cambia el zoom del mapa Dado Diferentes velocidades Diferentes dispositivos con distintas versiones de Android ver sec ci n 4 2 1 Cuando Se acerca una acci n Entonces La dist
79. nse the copyright notices and the license notice saying this License applies to the Document are reproduced in all copies and that you add no ot her conditions whatsoever to those of this License You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute Ho wever you may accept compensation in exchange for copies If you distribute a large enough number of copies you must also follow the conditions in section 3 You may also lend copies under the same conditions stated above and you may publicly display copies 3 COPYING IN QUANTITY If you publish printed copies or copies in media that commonly have printed covers of the Document numbering more than 100 and the Document s license notice requires Cover Texts you must enclose the copies in covers that carry clearly and legibly all these Cover 89 Texts Front Cover Texts on the front cover and Back Cover Texts on the back cover Both covers must also clearly and legibly identify you as the publisher of these copies The front cover must present the full title with all words of the title equally prominent and visible You may add other material on the covers in addition Copying with changes limited to the covers as long as they preserve the title of the Document and satisfy these conditions can be treated as verbatim copying in other respects If the required texts for either cover are too voluminous to
80. nt An MMC is eligible for relicensing if it is licensed under this License and if all works that were first published under this License somewhere other than this MMC and subse quently incorporated in whole or in part into the MMC 1 had no cover texts or invariant sections and 2 were thus incorporated prior to November 1 2008 The operator of an MMC Site may republish an MMC contained in the site under CC BY SA on the same site at any time before August 1 2009 provided the MMC is eligible for relicensing 95 Referencias Boe12 Bor14 Coal4a Coal4b dFCdC03 Eng14 Foo15 Goo14a Goo14b Lit13 Mat13 Mer13 Mic14 Eduardo Boemo Desarrollo de Sistema de guiado GPS para invidentes sobre un tel fono inteligente 2012 J Arias Borque Avisadores detectores e inhibidores de radar 2014 Steve Coast Licencia de los mapas de OSM https en wikipedia org wiki Open Database _License Diciembre 2014 Steve Coast Politica de uso de Nominatim http wiki openstreetmap org wiki Nominatim usage policy Diciembre 2014 Universidad de Florida Circuit de Catalunya Incidencia del uso del tel fono m vil y los aparatos telem ticos en la atenci n del conductor 2003 Engadget Estas zapatillas inteligentes marcar n la ruta de tus ca rreras con vibraciones http es engadget com 2014 07 24 lechal zapatillas inteligentes Julio 2014 Footlocker Nike T
81. ntaci n de LocationListener utilizado para variar el zoom del mapa y determinar la distancia necesaria para avisar de las acciones Ejemplo de implementaci n de LocationListener utilizado para seguir una ruta almacenada en mRoad nn UIT Id ro od a Ejemplo de implementaci n de LocationListener utilizado para detectar cu ndo se desv a de la ruta establecida Ejemplo de implementaci n de Geocoder dentro de una AsyncTask Ejemplo del uso de TextToSpeech o o M todos utilizados para enviar mensajes por bluetooth haciendo uso de la clase BluetoothChatServide oe 2 ser ae A eS M todos utilizados para enviar mensajes por bluetooth haciendo uso de los Play Services a u A A ae AA O ar Servicio que inicia la aplicaci n en el wearable M todos utilizados en los servidores para leer los mensajes recibidos por medio de los Play Services 2 87 4 wa 4 daa e e Panel inferior de la pantalla de navegaci n M todos usados para hacer vibrar el dispositivo con la clase Vibrator XXI 33 34 34 35 36 37 38 39 39 41 42 43 45 47 52 54 54 55 56 57 5 19 Metodos utilizados en los servidores para leer los mensajes recibidos por medio de la clase BluetoothChatServide XXII Listado de acr nimos TFG Trabajo Fin de Grado SGNS Sistema Global de Navegaci n por Sat lite GNSS Global Navigation Sate
82. nua del dispositivo situado a la izquierda utilizando la frecuencia representada en la figura 5 1 Girar a la derecha Vibraci n continua del dispositivo situado a la derecha utilizando la frecuencia representada en la figura 5 1 Continuar recto Sin vibraci n Dar media vuelta Vibraci n continua hasta que se realice la acci n Camino equivocado Vibraci n continua durante 5 segundos Llegar al destino seleccionado Repetici n en tres ocasiones de la frecuencia representada en la figura 5 2 En la rotonda 1 salida Vibraci n continua de ambos dispositivos utilizando la frecuencia representada en la figura 5 3 En la rotonda 2 salida Vibraci n continua de ambos dispositivos utilizando la frecuencia representada en la figura 5 4 En la rotonda 3 salida Vibraci n continua de ambos dispositivos utilizando la frecuencia representada en la figura 5 5 En la rotonda otra salida Vibraci n continua de ambos dispositivos utilizando una frecuencia deducible con las figuras 5 3 5 4 y 5 5 Cuadro 5 1 Codificaci n de instrucciones 500 1500 2000 2500 1000 Figura 5 2 Frecuencia de vibraci n que determina si ha llegado al destino El eje vertical indica si est 1 o no 0 activo el vibrador y el eje horizontal indica el tiempo en milise gundos Una vez determinada la forma de codificar las posibles acciones de los complementos vibratorios hay que sel
83. o En este caso de uso el usuario se encuentra en Campo de Criptana en la calle Virgen de Criptana n 58 y desea ir caminando hasta la Plaza Mayor Para ello utiliza el smartphone y dos complementos vibratorios Un smartwatch conectado por Play Services y un smartphone conectado por bluetooth 6 2 1 Prerequisitos La figura 6 1 muestra los componentes hardware empleados por el sistema para este ejem plo de caso de uso Previo inicio del sistema las aplicaciones se encuentran instaladas en los dispositivos del siguiente modo En el Nexus 5 se encuentra la aplicaci n principal llamada Naviganto a En el LG G Watch R se encuentra la aplicaci n para wearables llamada Naviganto Wear Fn el Nexus One se encuentra la aplicaci n para hacer vibrar via bluetooth otros dis positivos Android Se llama NavigantoBluetooth Adem s el usuario decide colocarse en la mano izquierda el LG G Watch R y en el bolsillo derecho del pantal n el Nexus One 61 so gt GO Figura 6 1 Hardware utilizado para el caso de uso concreto 6 2 2 Inicializaci n La figura 6 2 muestra el aspecto de Naviganto tras iniciarse y la figura 6 3 expone las diferentes opciones desarrolladas en el men lateral Explorar mapa eae Pao Figura 6 2 Naviganto tras iniciarse Figura 6 3 Barra lateral de Naviganto 62 6 2 3 Configuraci n de la vibraci n Para configurar la vibraci n se selecciona en el men l
84. o TFG es el desarrollo de un sistema de navegaci n por sat lite que se comunique con el usuario por medio de la vibraci n de alguno de sus componentes 2 2 Objetivos especificos A partir del objetivo principal descrito en la secci n anterior se determinan los objetivos especificos necesarios para alcanzarlo 2 2 1 Desarrollo del sistema de posicionamiento Se implementar un sistema que permita conocer la posici n del usuario en el globo y la represente en un mapa Dicho sistema ser el encargado de actualizar la posici n del usuario cuando cambie su localizaci n Para ello ser necesario tomar algunas decisiones como Elecci n de la plataforma de desarrollo Elecci n del proveedor de mapas Elecci n de tecnolog a de posicionamiento 2 2 2 Desarrollo del sistema de navegaci n Se implementar un sistema que permita navegar desde la posici n del usuario hasta otra posici n determinada por el nombre de un lugar Para ello se tomar n algunas decisiones de dise o como Elecci n del proveedor de rutas Elecci n del proveedor de geocoding 2 2 3 Desarrollo del sistema de reproducci n de audio Se implementar un sistema de reproducci n de audio que permita escuchar las instruc ciones necesarias para seguir una ruta Para ello ser necesario seleccionar un proveedor de text to speech 2 2 4 Desarrollo del sistema de comunicaci n con otros dispositivos Se implementar un sistema de com
85. ocument is in electronic form Otherwise they must appear on printed covers that bracket the whole aggregate 7 TRANSLATION Translation is considered a kind of modification so you may distribute translations of the Document under the terms of section 4 Replacing Invariant Sections with translations requi res special permission from their copyright holders but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections You may include a translation of this License and all the license notices in the Document and any Warranty Disclaimers provided that you also include the original English version of this License and the original versions of those notices and disclaimers In case of a disagreement between the translation and the original version of this License or a notice or disclaimer the original version will prevail If a section in the Document is Entitled Acknowledgements Dedications or His tory the requirement section 4 to Preserve its Title section 1 will typically require chan ging the actual title 8 TERMINATION You may not copy modify sublicense or distribute the Document except as expressly provided under this License Any attempt otherwise to copy modify sublicense or distribute it is void and will automatically terminate your rights under this License However if you cease all violation of this License then your li
86. ollo Android Studio Para la creaci n de las aplicaciones del sistema de navegaci n desa rrollado se selecciono Android Studio en su versi n 1 0 1 ya que se trata de un entorno de desarrollo completamente orientado a Android y Android Wear Git 1 Para llevar un control de versiones y as mantener un historial de cambios tanto en el desarrollo de las aplicaciones como en el desarrollo del proyecto se ha utilizado Git El servicio de repositorio empleado ha sido proporcionado por Bitbucket Librer as Android support Para lograr la compatibilidad entre las diferentes versiones de Android y de sus API se utiliz esta librer a suministrada por Google en su versi n 4 21 0 3 Tambi n se utiliz Android support appcompat en su versi n 7 21 0 3 para la compatibilidad del men lateral Play services Para la comunicaci n con los dispositivos wearables se utiliz esta li brer a Concretamente en su versi n 6 5 87 Commons Lang Se utilizaron algunos de sus m todos del paquete java util Se emple la versi n 3 3 2 Osmdroid Para acceder a los mapas colaborativos de OSM se utiliz esta librer a en su versi n 4 2 http elementaryos org Thttps developer android com index html https developer android com wear index html https developer android com sdk index html Ohttp git sem com nttps bitbucket org https developer android com tools support library index html IShtt
87. on distintas versiones de Android ver sec ci n 4 2 1 Cuando Se gira al Oeste o al Este Entonces Se muestra un giro a la izquierda y derecha respectivamente Dado Aplicaci n ejecut ndose mientras se camina en direcci n Sur Diferentes dispositivos con distintas versiones de Android ver sec ci n 4 2 1 Cuando Se gira al Oeste o al Este Entonces Se muestra un giro a la derecha e izquierda respectivamente 5 3 4 Iteraci n 4 Crear y mostrar ruta Una vez evaluado el prototipo de la iteraci n 3 se procedi a a adir una nueva funcio nalidad crear rutas para peatones ciclistas o motoristas desde la posici n actual hasta una determinada localizaci n geogr fica latitud y longitud y dibujarla en el mapa Dise o Para poder calcular una ruta hay que hacer uso de alguno de los proveedores vistos en la secci n 3 5 Puesto que se opt por usar los mapas de OSM y ya se tienen importadas las librer as Osmdroid y Osmbonuspack que permiten calcular rutas para peatones ciclistas y motorias la opci n m s l gica es utilizar MapQuest 37 Implementaci n Para la creaci n y superposici n en el mapa de una ruta utilizando Osmdroid y Osmbo nuspack basta con indicar el tipo de usuario el punto de inicio de la ruta y de finalizaci n Con esta informaci n realiza una consulta en Internet a la API de MapQuest y devuelve una ruta espec fica que solo resta dibujar en el mapa ver listado 5 8 private Boolean g
88. onamiento Como se eval an prototipos intermedios es m s f cil comprobar si los requisitos plan teados son correctos y viables 26 Por otro lado el prototipado evolutivo tambi n puede presentar algunas desventajas a Resulta dif cil estimar el coste final del proyecto debido al desconocimiento del n me ro de iteraciones a realizar Resulta muy dif cil y costoso realizar cambios en la arquitectura del software Debido a estos problemas aplicar el prototipado evolutivo resulta muy complejo para grandes proyectos pero resulta conveniente utilizarlo en sistemas peque os y de tama o me dio como el planteado en este TFG Para proyectos m s grandes es recomendable utilizar un modelo h brido entre el modelo en cascada para desarrollar las partes bien conocidas y un enfoque evolutivo para los aspectos que presenten mayor incertidumbre 4 2 Herramientas En esta secci n se detallan las herramientas que han sido empleadas para la realizaci n de este TFG desde las necesarias para implementar el proyecto hasta las utilizadas para la realizaci n del presente documento 4 2 1 Hardware Entre los medios necesarios para la puesta en marcha del sistema y la realizaci n de las pruebas se han requerido los siguientes medios hardware Computador Para el desarrollo de la aplicaci n y generar la documentaci n ha sido necesario emplear un ordenador de prop sito general En este caso se ha utilizado un ordenador por
89. ones de navegaci n cambiar el zoom del mapa en funci n de la velocidad que se lleve para que no sufra grandes cambios a la hora de circular a una velocidad elevada C mo detectar si se sigue la ruta marcada Hay que tener en cuenta que s lo se dis pone de las coordenadas geogr ficas del dispositivo y de las coordenadas del siguiente punto a alcanzar Si se implementa un algoritmo que permita pasar a la siguiente eta pa cuando se llegue a la que se encuentra realizando es posible que no funcione Por ejemplo si un usuario se acerca a una etapa de girar a la derecha y gira en el sitio co rrecto antes de que la aplicaci n detecte que ha llegado probablemente por la precisi n de los sat lites GPS no cargar a la siguiente etapa y no sabr a qu est sucediendo El posible desv o de la ruta establecida Hay que plantearse c mo detectar las salidas de la ruta marcada y qu hacer en esos casos Al tratarse de una aplicaci n de navega ci n dise ada para que ella interact e con el usuario y no al contrario la opci n m s interesante es que cuando detecte el desv o avise al usuario y calcule una nueva ruta desde la posici n en la que se encuentre 40 Implementaci n Las tres implementaciones antes descritas se llevaron a cabo dentro del m todo onLoca tionChanged que ya se comenz a escribir en la iteraci n 2 Se debe realizar en ste m todo porque tal y como est configurado en el LocationManager ver l
90. onibles en el merca do y estar al alcance del p blico en general El sistema debe implementar las caracter sticas b sicas del resto de aplicaciones del mercado como mostrar la posici n en el mapa rotar el mapa en funci n de nuestra orientaci n o visualizar la ruta que se va a seguir Pruebas Para describir las pruebas realizadas sobre los diferentes prototipos en este documento se ha utilizado el patr n Given When Then Este patr n divide el proceso en 3 etapas Given Dado Condiciones previas sobre las que se producen los eventos When Cuando Operaciones espec ficas que se producen Then Entonces Resultados esperados 31 5 3 Proceso de desarrollo A continuaci n se indican las iteraciones realizadas durante el desarrollo del TFG deta llando los objetivos el dise o la implementaci n y las pruebas de cada una de ellas 5 3 1 Iteraci n 1 Mostrar mapa En la primera iteraci n se marc como objetivo mostrar una posici n cualquiera en el mapa por medio de una aplicaci n de smartphone Dise o Para realizar esta primera aproximaci n hay que tomar tres importantes decisiones de dise o Elegir la plataforma de smartphone sobre la que desplegar la aplicaci n Elegir el proveedor de mapas que proporcionar las im genes a mostrar Elegir la versi n objetivo de la plataforma de desarrollo En primer lugar tras revisar las diferentes plataformas disponibles para smartphone
91. operaciones Mostrar posici n actual en el mapa Buscar destino cercano 10 km Iniciar navegaci n hacia un destino cercano 10 km http www tusalario es main salario comparatusalario 60 Puesto que las tres operaciones dependen tanto de la aplicaci n como de la conexi n a Internet se ha desglosado en el cuadro 6 4 la media de tiempo trascurrido tras efectuar cada operaci n 10 veces sobre los diferentes tipos de conexi n Acci n Wifi 3G 2G Mostrar posicion 4 98 s 6 315 s 5 98s Buscar destino 0 231 s 0 407 s 1 171 s Iniciar navegaci n 1 086 s 2 329 s 25 177 s Cuadro 6 4 Desglose de tiempos de ejecuci n de Naviganto Como se puede observar para el caso mostrar posici n existe muy poca diferencia entre las conexiones a Internet porque el tiempo de espera viene determinado por la conexi n con el sat lite GPS Esto es debido a que Naviganto almacena en cach las im genes del mapa de la ltima posici n en la que se encontr y s lo hay que esperar la posici n actual En cambio para buscar destino e iniciar navegaci n existe una notable diferencia de tiem pos de ejecuci n en funci n de los datos requeridos de Internet 6 2 Caso de uso concreto En este apartado se introducir un caso de uso concreto del sistema funcionando por me dio de im genes Adem s se detallar cada imagen para dar a conocer el estado en que se encuentra el sistema en ese moment
92. oppler Wik14a Los sat lites viajaban por caminos conocidos y transmitiendo una frecuencia conocida La frecuencia recibida difer a ligeramente de la frecuencia de emisi n debido al movimiento del sat lite Mediante dicha variaci n el receptor puede determinar su ubicaci n a un lado o al otro del sat lite y varias de estas medidas combinadas con un conocimiento preciso de la rbita del sat lite pueden determinar una posici n el particular Este sistema requer a que el receptor estuviera casi est tico unos 40 minutos para establecer su posici n La primera vez que apareci el concepto de SGNS para guiar a civiles fue en 1983 cuando Honda se plante utilizar esta tecnolog a y desarroll su sistema de navegaci n para coches Pero no lo culmin hasta 1990 cuando lo integr en el Acura Legend Par13 El funcionamiento de los SGNS modernos es m s directo El sat lite emite una se al que contiene los datos orbitales necesarios para calcular su posici n y el tiempo preciso en el que se transmiti la se al De este modo el receptor compara el momento de la emisi n con el tiempo de recepci n y puede establecer su posici n con respecto al sat lite Y al utilizar varios sat lites es posible establecer la posici n el globo mediante la trilateraci n ver figu ra 3 5 13 Figura 3 5 Ejemplo de trilateraci n Estando en B se quiere conocer la posici n relativa a los puntos de referencia Pl P2 y P3 en un plano bid
93. or any later version applies to it you have the option of following the terms and conditions either of that specified version or of any later version that has been published not as a draft by the Free Software Foundation If the Document does not specify a version number of this License you may choose any version ever published not as a draft by the Free Software Foundation If the Document specifies that a proxy can decide which future versions of this License can be used that proxy s public statement of acceptance of a version permanently authorizes you to choose that version for the Document 10 RELICENSING Massive Multiauthor Collaboration Site or MMC Site means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works A public wiki that anybody can edit is an example of such a server A Massive Multiauthor Collaboration or MMC contained in the site means any set of copyrightable works thus published on the MMC site CC BY SA means the Creative Commons Attribution Share Alike 3 0 license published by Creative Commons Corporation a not for profit corporation with a principal place of business in San Francisco California as well as future copyleft versions of that license published by that same organization 94 Incorporate means to publish or republish a Document in whole or in part as part of another Docume
94. orno real sobre el que s lo se a aden algunos objetos artificiales Puesto que estos objetos dependen del lugar donde se encuentre el usuario y s lo se sobreimprimen dichos objetos sobre la realidad la realidad aumentada provoca una menor inmersividad que la realidad virtual Entre las ventajas del uso de la realidad aumentada se pueden destacar Los usuarios pueden recibir informaci n complementaria a la realidad Puede ayudar a comprender mejor la realidad De igual forma la realidad aumentada conlleva algunos problemas como Necesidad de crear objetos virtuales muy precisos Necesidad de sincronizar temporal y espacialmente la informaci n real y virtual En la figura 3 4 se muestra un diagrama explicativo de las interacciones entre el usuario el ordenador y el mundo real 12 Ordenador Hombre Ordenador ae Hombre Mundo Real Mundo Real Mundo Real Hombre Figura 3 4 Paradigma de la realidad aumentada 3 2 Sistemas de navegaci n por sat lite Un SGNS O GNSS consiste en una constelaci n de sat lites que transmite se ales que permiten determinar las coordenadas geogr ficas la altitud y la hora cuatro dimensiones de un usuario con mucha exactitud en cualquier parte del mundo las 24 horas y en todas las condiciones climatol gicas El origen de la navegaci n por sat lite se remonta a los a os sesenta cuando el ej rcito de Estados Unidos desarroll Transit basado en el Efecto D
95. otar mapa Activa o desactiva la rotaci n autom tica O 189af851 ccac 4714 7 del mapa Gasta m s bateria Wear CANCELAR En caso de que la conexi n no tenga xito Naviganto nos avisar con un mensaje en cambio si la conexi n tiene xito Naviganto nos permitir realizar una prueba de conexi n desde el men de la barra lateral pulsando sobre Probar vibraci n Explorar mapa Explorar mapa E 7 KY TA x No se puede conectar con el dispositivo gt i cerda 4 E En este momento podr amos iniciar una ruta y nos guiar amos con las vibraciones de los dispositivos aunque si reinici semos la aplicaci n tendr amos que volver a configurar la vibraci n 82 Rotaci n de mapa La rotaci n de mapa hace referencia a la posibilidad de orientar el mapa mostrado en fun ci n de la orientaci n actual del smartphone Esta rotaci n conlleva un aumento considerable de uso del procesador y por tanto el aumento del consumo de bater a Para activar o desactivar esta opci n basta con marcar o desmarcar la casilla del men Avisos Explorar mapa Sonoros O Activa o desactiva los avisos sonoros Vibratorios D Activa o desactiva los avisos vibratorios Visualizaci n Rotar mapa p Activa o desactiva la rotaci n autom tica NS R N del mapa Gasta m s bateria Esta configuraci n se almacena en el smartphone de forma que al cerrar y volver a abrir la aplicaci n se mantenga p
96. otoGeoPoint GeoPoint endPoint RoadManager roadManager new MapQuestRoadManager MAPQUESTAPIKEY roadManager addRequestOption units k roadManager addRequestOption routeType bitycle ArrayList lt GeoPoint gt waypoints new ArrayList lt GeoPoint gt waypoints add getLastLocation waypoints add endPoint mRoad roadManager getRoad waypoints mRoadOverlay RoadManager buildRoadOverlay road getBaseContext mRoadOverlay setWidth 10 mMap getOverlays add mRoadOverlay mMap invalidate Listado 5 8 Ejemplo de creaci n y superposici n de una ruta en el mapa Pero existe un problema con el listado 5 8 Cuando se utiliza como objetivo de desarrollo una API de Android superior a 9 no realiza la petici n a Internet y muestra una l nea recta entre el origen y el destino Este bug esta documentado en Osmbonuspack aunque no sea culpa de la libreria El problema radica en la forma que se realiza la petici n a Internet Desde la API de An droid 10 y posteriores Google decidi que realizar peticiones a Internet en el mismo thread en el que se ejecuta la Graphical User Interface GUI era un error Lo estim as porque pod a provocar la sensaci n de que la aplicaci n no funciona cuando lo que verdaderamente ocurre es que se encuentra esperando una respuesta de Internet Por tanto para que las rutas funcionen s lo se pueden realizar dos acciones Eliminar las pol ticas de threads ver listado 5 9 y se
97. plementaci n del octavo prototipo se realiz una prueba similar a la de la iteraci n anterior Para comprobar que se oyen las acciones a realizar 47 Dado Navegaci n en curso hacia alg n lugar Diferentes dispositivos con distintas versiones de Android ver sec ci n 4 2 1 Cuando Es necesario realizar alguna acci n Entonces Se oye la acci n a realizar 5 3 9 Iteraci n 9 Avisos vibratorios Una vez evaluado el prototipo de la iteraci n 8 se introdujo una nueva funcionalidad integrar los avisos por medio de vibraciones Dise o Para guiar a un peat n ciclista o motorista por una ruta espec fica existen varios tipos de acciones a realizar Girar a la izquierda Girar a la derecha Continuar recto Dar media vuelta Camino equivocado Llegar al destino seleccionado En la rotonda tomar una salida en espec fico Por ejemplo la 3 que no tiene que coincidir con girar a la izquierda Puesto que se trata de un n mero elevado de acciones para interpretar con un nico vibra dor se pens en utilizar un complemento vibratorio y codificar todas las posibles acciones en intuitivas instrucciones descritas en el cuadro 5 1 s00 1000 1500 Figura 5 1 Frecuencia de vibraci n para un giro El eje vertical indica si est 1 o no 0 activo el vibrador y el eje horizontal indica el tiempo en milisegundos 48 Acci n Codificaci n Girar a la izquierda Vibraci n conti
98. ps commons apache org proper commons lang 4https github com osmdroid osmdroid 28 Osmbonuspack Para realizar algunas acciones sobre los mapas de OSM no dispo nibles en Osmdroid se utiliz esta librer a en su versi n 4 9 Gson Esta librer a es la encargada de convertir objetos Java en su representaci n en JSON y viceversa Es imprescindible para usar Osmdroid y se utiliz la versi n 2 3 1 SLF4J La librer a Simple Logging Facade for Java SLF4J proporciona una API de registro Java a trav s de patr n de fachada simple Es imprescindible para el uso de Osmdroid y se utiliz en la versi n 1 5 8 Documentaci n y gr ficos Emacs El editor de texto extensible personalizable auto documentado y de tiempo real ha sido utilizado en su versi n 23 4 1 para la elaboraci n de la documentaci n del TFG utilizando los modos latex y flyspell BXTEX Para la elaboraci n de este documento se ha empleado esta herramienta de creaci n de documentos profesionales M s concretamente la implementaci n TeX Live BibTex Se ha empleado esta herramienta destinada a la creaci n de referencias para documentos escritos en MIFXpara hacer la bibliograf a de este documento draw io 2 Se ha utilizado esta aplicaci n web para crear la mayor a de diagramas de este documento Gimp Se ha usado este editor de im genes avanzado para crear y retocar algunas im genes del documento Concretam
99. que se debe realizar Implementaci n Para modificar la apariencia de la aplicaci n basta con a adir al layout de la actividad principal los paneles del listado 5 15 Las modificaciones en el m todo startAction son poco significativas Pruebas Al finalizar la implementaci n del s ptimo prototipo se realiz la siguiente prueba Para comprobar que se muestran las acciones por pantalla Dado Navegaci n en curso hacia alg n lugar Diferentes dispositivos con distintas versiones de Android ver sec ci n 4 2 1 Cuando Es necesario realizar alguna acci n Entonces Se muestra por pantalla la acci n a realizar 5 3 8 Iteraci n 8 Avisos sonoros Una vez evaluado el prototipo de la iteraci n 7 se introdujo una nueva funcionalidad escuchar los avisos que se muestran por pantalla Dise o Al igual que en la iteraci n anterior como ya se conocen las acciones a realizar y cu ndo ver listado 5 12 s lo hay que a adir el c digo necesario para escuchar las instrucciones en el m todo startAction Hay dos posibles formas de escuchar las instrucciones a realizar Tener todas las instrucciones grabadas y reproducirlas en los momentos adecuados Pedir a Internet que env e el sonido de un texto en este caso la acci n a realizar y reproducirla Este servicio se llama text to speech 46 Puesto que existen muchos mensajes diferentes ya es necesaria la conexi n a Internet para recibir los mapas y
100. r a incluir un m dulo de reconocimiento de voz que sustituya todas las posibles acciones que se realizan en Naviganto Implementaci n de funciones actuales sin conexi n a Internet A pesar de que a d a de hoy es dif cil encontrar personas que no dispongan de conexi n a Internet en su smartphone es posible que en algunos momentos no sea posible hacer uso de dicha conexi n ausencia de cobertura viajes a otros pa ses etc Para estas circunstancias ser a interesante tener en la aplicaci n los mapas del lugar algunas instrucciones sonoras y algunas rutas precalculadas Implementaci n de nuevas funcionalidades Entre las nuevas funcionalidades que se podr an incluir en Naviganto podemos desta car dos que ya existen en otras aplicaciones de navegaci n para veh culos como Representaci n visual del l mite de velocidad de la v a en funci n del veh cu lo que se utilice para el desplazamiento e implementar una forma de avisar al usuario cuando sobrepase dicho l mite 70 Representaci n visual del estado del tr fico de la via por la que se circule Adem s resultaria interesante integrar dentro del sistema una funcionalidad que no se ha podido encontrar en el resto de aplicaciones estudiadas en la secci n 3 2 3 aviso de radares fijos para los desplazamientos con vehiculos motorizados Puesto que la informaci n de la localizaci n de los radares es p blica y es legal avisar de dichos radares en Espa a Bor14
101. ra el software pero no identifica los requisitos detallados de entrada proceso o salida De igual forma el responsa ble del desarrollo del software puede no estar seguro de la eficacia de un algoritmo o de la forma en que deber a plantearse la IPO En estas y otras muchas situaciones un paradigma de construcci n de prototipos puede ofrecer el mejor enfoque Pre10 El esquema general del prototipado evolutivo se puede ver en la Figura 4 2 El paradigma comienza con una recolecci n de requisitos es decir el desarrollador y el cliente definen los objetivos globales para el software identifican los requisitos conocidos y las reas donde se necesita m s definici n Entonces aparece un dise o r pido centrado en los aspectos que ser n visibles para el cliente y se construye un prototipo Este prototipo es evaluado por el cliente y se utiliza para refinar los requisitos del software Esta iteraci n se repite hasta llegar al resultado final Escuchar al Cliente Construir Revisar la maquetra El Cliente prueba la maqueta Figura 4 2 Paradigma de construcci n de prototipos Entre las ventajas del uso del prototipado evolutivo hay que destacar La continua obtenci n de prototipos permite al cliente observar y dirigir el desarrollo del software Las funcionalidades m s importantes son desarrolladas en las primeras fases del pro yecto y por tanto son las funcionalidades que m s veces se ha probado su correcto funci
102. raining http www footlocker com promotion promold 5003172 Enero 2015 Google API Adroid Wear https developer android com training wearables apps index html Diciembre 2014 Google Licencias de las API de Google https developers google com maps licensing Diciembre 2014 Steve Litchfield Support until 2016 confirmed by Nokia s Weber 2013 Tom s Merino Mateo Desarrollo en iOS de aplicaciones de guiado GPS para discapacitados visuales 2013 Lothar Merk Pervasive Computing Springer 2013 Microsoft Licencias de las API de Microsoft http www microsoft com maps Licensing licensing aspx Diciembre 2014 97 Nok14 Par13 Pre10 Pull4 RL13 Ser14 Som05 TTH92 Val12 Wik14a Wik14b Nokia Licencias de las API de HERE https developer here com get started 10134035 Diciembre 2014 Sergio Parra C mo era el primer GPS de la historia 2013 Roger S Pressman Ingenieria del Software Un Enfoque Practico McGraw Hill Companies 2010 Allianz Risk Pulse Seguridad vial y distracciones del conductor 2014 Michael Shirer Ramon Llamas Ryan Reith Android Pushes Past 80 Market Share While Windows Phone Shipments Leap 156 0 Year Over Year in the Third Quarter According to IDC 2013 Jorge Serrano Las distracciones mas frecuentes al volante 2014 Ian Sommerville Ingenieria del software Pearson Educacion 2005 Ronald Baecker Thomas T Hewett SIGC
103. resente B 3 2 Navegaci n Explorar mapa El caso de uso m s simple de Naviganto es el de explorar mapa y para empezar a ex plorarlo basta con abrir la aplicaci n y nos encontraremos haci ndolo En caso de que nos encontremos siguiendo una ruta y decidamos abandonarla para comenzar a explorar el mapa s lo debemos seleccionar esta opci n en el men de la barra lateral Explorar mapa permite inspeccionar el mapa desliz ndolo en cualquier direcci n y au mentar o disminuir el zoom utilizando dos dedos como en las fotos Para explorar mapa s lo es necesario disponer de conexi n a Internet aunque se reco mienda tener activado el GPS para que se muestre nuestra posici n actual centrada en el mapa En caso de tener desactivado el GPS nos centrar la ltima posici n registrada 83 Il Explorar mapa Explorar mapa caw 3 nern Guiado por ruta Para que Naviganto nos guie por una ruta debemos seleccionar el destino al que queremos desplazarnos y el m todo que utilizaremos moto bici o andando Para especificar dichos datos accedemos al men lateral y pinchamos sobre Seleccionar destino Aqu introducimos la direcci n final deseada el m todo de desplazamiento y pinchamos sobre buscar para que se nos muestren las posibles coincidencias Llegados a este punto s lo resta seleccionar el destino que queramos y comenzar el viaje siguiendo las instrucciones hasta llegar al lugar especificado Para la
104. resultar a una funcionalidad muy interesante y f cil de integrar con avisos vibratorios Desarrollo para otras plataformas En la actualidad s lo tendr a sentido portar el sistema desarrollado sobre Android con un 81 de cuota de mercado a su principal competidor iOS con el 12 9 de cuota de mercado Para que esta portabilidad tuviera xito habr a que modificar la forma en la que el sistema se comunica con los wearables ya que en iOS no estar an disponibles los Play Services u olvidarse de los wearables con Android Wear pero no de los wearables Aunque en la actualidad solamente los dispositivos con Android Wear permiten la manipulaci n a voluntad de su vibrador ver secci n 3 4 1 a lo largo de 2015 Apple presentar su propio smartwatch con su propio SO Watch OS Como se espera que este SO sea el competidor de Android Wear tambi n se espera que permita manipular el vibrador del dispositivo Ihttp www dgt es es el trafico control de velocidad https www apple com es watch overview 71 ANEXOS Anexo A Conclusi n personal El desarrollo de este TFG pone fin a mis a os como estudiante universitario A lo largo de este tiempo he adquirido numerosos conocimientos que me han servido para llevar a buen puerto este desarrollo Sin embargo tambi n he tenido que enfrentarme a tecnolog as y formas de programar que no conoc a como es el desarrollo para Android y especialmente Android Wear Esto me ha hecho
105. rios de BitBucket Para descargar todo el repositorio puede utilizar el siguiente comando git clone https bitbucket org cr4mos tfg sgpcmii git Si s lo se desea descargar las aplicaciones finales dir jase a https bitbucket org cr4mos tfg sgpcmii downloads Aunque si se dispone de Play Store en el smartphone Android se puede descargar e instalar las aplicaciones m s f cilmente accediendo a https play google com store apps details id es uclm esi tfg naviganto https play google com store apps details id es uclm esi tfg navigantobluetooth https play google com store apps details id es uclm esi tfg navigantoWear 67 Capitulo 7 Conclusiones N el actual capitulo se presentan las conclusiones extraidas del desarrollo del TFG Se E comienza hablando de c mo se han alcanzado los diferentes objetivos se contin a describiendo posibles usos del sistema en entornos diferentes a los propuestos inicialmente y se termina enumerando posibles l neas de trabajo futuro que ampliar an la funcionalidad del presente proyecto 7 1 Objetivos cumplidos Tras finalizar el desarrollo del trabajo propuesto se puede considerar que se han alcanzado satisfactoriamente los objetivos espec ficos planteados en el Cap tulo 2 El desarrollo del sistema de posicionamiento se abord en las iteraciones 1 y 2 ver secci n 5 3 1 y secci n 5 3 2 Tras su implementaci n el sistema fue capaz de mostrar la posici n del usuario repres
106. solve this it is proposed a new form of interaction in which the system is responsible for warning the user when he has to perform some action through wearables In this way we avoid the user to have to look at the screen and will prevent this type of accident The application developed throughout the project is called Naviganto and it offers the user the possibility to surf via satellite guided by the vibrations of two devices one placed on the left side of the body and the other one located on its right side Moreover Naviganto provides the user with common interactions of navigation applications such as the screen or the sound VII Agradecimientos Mis a os como estudiante universitario han sido sin lugar a dudas los a os m s intensos de mi vida Me han ayudado a conocerme mejor y a superar mis propios l mites dejando atr s momentos buenos y momentos no tan buenos Por ello ahora que me dispongo a co menzar una nueva etapa en mi vida me gustar a aprovechar este breve espacio para dar las gracias a todas las personas que de alguna forma han hecho posible la finalizaci n de estos estudios En primer lugar y no podr a ser de otro modo me gustar a dar las gracias a mis padres por todo su apoyo cari o y paciencia Gracias por creer en mi a lo largo de estos a os y permitirme estudiar la carrera que yo eleg Tambi n quiero darle la gracias a mi hermano por servirme como ejemplo y al resto de familiares que de un modo u otro m
107. t til Asus X54H Smartphones Para las pruebas han sido necesarios varios smartphones con diferentes versiones de Android En todos se ha testeado tanto la aplicaci n de navegaci n como la aplicaci n para los complementos vibratorios e Nexus 5 con Android 5 0 1 e Nexus One con Android 2 3 7 e HTC Wildfire S con Android 2 3 5 Smartwatch Para realizar las pruebas para los complementos vibratorios con Android Wear se ha utilizado el LG G Watch R 4 2 2 Software A continuaci n se nombran las diferentes herramientas software empleadas distinguiendo entre diferentes categor as 1 http www asus com Notebooks_Ultrabooks X54H https www google es nexus 5 3https en wikipedia org wiki Nexus_One https en wikipedia org wiki HTC_Wildfire_S Shttp www lg com es wearables lg LGW 110 g watch r 27 Sistemas Operativos Elementary OS Para la elaboraci n del trabajo se ha elegido esta distribuci n GNU Linux como SO del computador de desarrollo Concretamente en su versi n 0 3 Freya Android Para desarrollar la aplicaci n de navegaci n y algunos complementos vi bratorios se seleccion el SO Android por ser la plataforma con m s cuota de mercado y variedad de dispositivos Android Wear Para desarrollar la aplicaci n de los complementos vibratorios se utiliz Android Wear ya que es la nica plataforma de wearables que permite acceder al vibrador incorporado Herramientas de desarr
108. t do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version 5 COMBINING DOCUMENTS You may combine the Document with other documents released under this License under the terms defined in section 4 above for modified versions provided that you include in the combination all of the Invariant Sections of all of the original documents unmodified and list them all as Invariant Sections of your combined work in its license notice and that you preserve all their Warranty Disclaimers The combined work need only contain one copy of this License and multiple identical Invariant Sections may be replaced with a single copy If there are multiple Invariant Sections with the same name but different contents make the title of each such section unique by adding at the end of it in parentheses the name of the original author or publisher of that section if known or else a unique number Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work In the combination you must combine any sections Entitled History in the various ori ginal documents forming one section Entitled History likewise combine any sections Entitled Acknowledgements and any sections Entitled Dedications You must delete all sections Entitled Endorsements 5 COLLECTIONS OF DOCUMENTS You may make a colle
109. te void sendMessageWear String text int who if who LEFT sendMessageWear WEAR_MESSAGE_PATH text mWearLeft else if who RIGHT sendMessageWear WEAR_MESSAGE_PATH text mWearRight private void sendMessageWear final String path final String text final String nodeld new Thread new Runnable Override public void run Wearable MessageApi sendMessage mApiClient nodeId path text getBytes await Pe oS weee 2 Listado 5 20 Metodos utilizados para enviar mensajes por bluetooth haciendo uso de los Play Services Para el caso del servidor en Android Wear se desarroll un servicio y una aplicaci n El servicio se encarga de iniciar la aplicaci n cuando recibe el tipo de mensaje co rrespondiente ver listado 5 21 y la aplicaci n se encarga de interpretar el resto de mensajes recibidos para hacer vibrar el dispositivo o finalizar la aplicaci n Para ello en la aplicaci n se ha sobrescrito los m todos onMessageReceived onConnected y onConnectionSuspended ver listado 5 22 se inicializa la clase GoogleApiClient y se conecta a los servicios por medio del m todo connect de dicha clase public class WearMessageListenerService extends WearableListenerService implements Const public void onMessageReceived MessageEvent messageEvent if messageEvent getPath equalsIgnoreCase START_ACTIVITY Intent intent new Intent this MainActivity class intent addFlags Intent FLAG_
110. tes que se producen continuamente por distrac ciones a la hora de utilizar los navegadores v a sat lite actuales en este trabajo se desarrollar un sistema de navegaci n por sat lite que haga uso de la interacci n impl cita es decir un sistema de navegaci n que avise al usuario de las acciones a realizar sin necesidad de pres tarle atenci n Dado que la nica interacci n impl cita que ofrecen los navegadores actuales es el sonido los ciclistas y motoristas no pueden hacer uso de la navegaci n por sat lite sin incrementar considerablemente el riesgo de accidente Esto es debido a que mirar la pantalla del navega dor provoca el 26 de los accidentes producidos por distracciones Pul14 resulta compli cado oir el dispositivo en ambientes abiertos y el uso de cascos o auriculares esta sancionado en Espa a Ser14 Con la finalidad de hacer m s segura la navegaci n para los ciclistas y motoristas y para facilitar su uso para los peatones se necesita otro tipo de interacci n impl cita As pues si se descarta la interacci n por medio de la vista por no ser impl cita y el o do por lo citado anteriormente s lo quedan disponibles el gusto el olfato y el tacto Y puesto que la interac ci n con el usuario por medio del gusto y el olfato est muy poco desarrollada s lo queda el tacto Por lo tanto se har uso del tacto por medio de la vibraci n de los dispositivos En resumen el objetivo del Trabajo Fin de Grad
111. the Document means a machine readable copy represented in a format whose specification is available to the general public that is suitable for revising the document straightforwardly with generic text editors or for images composed of pixels generic paint programs or for drawings some widely available drawing editor and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters A copy made in an otherwise Transparent file format whose markup or absence of markup has been arranged to thwart or discourage subsequent modification by readers is not Transparent An image format is not Transparent if used for any substantial amount of text A copy that is not Transparent is called Opaque Examples of suitable formats for Transparent copies include plain ASCII without markup Texinfo input format LaTeX input format SGML or XML using a publicly available DTD and standard conforming simple HTML PostScript or PDF designed for human modifica tion Examples of transparent image formats include PNG XCF and JPG Opaque formats include proprietary formats that can be read and edited only by proprietary word processors 88 SGML or XML for which the DTD and or processing tools are not generally available and the machine generated HTML PostScript or PDF produced by some word processors for output purposes only The Title Page means for a printed boo
112. tionChanged con el c digo necesario para mostrar una se al en el mapa ver listado 5 5 Para simplificar la forma de di bujar la posici n en el mapa y mostrar el error cometido por la trilateraci n ver secci n 3 5 de forma visual se ha escrito una clase llamada LocationOverlay en base a la clase conte nida en Osmbonuspack ver secci n 4 2 2 con el mismo nombre Lo nico verdaderamente significativo que diferencia ambas clases es el icono utilizado para especificar la posici n en el mapa public void onLocationChanged Location loc GeoPoint myLocation new GeoPoint loc if mLocationOverlay isEnabled mLocationOverlay setEnabled true mLocationOverlay setLocation myLocation mLocationOverlay setAccuracy int loc getAccuracy centerMap myLocation Listado 5 5 Ejemplo de implementaci n de LocationListener utilizando para mostrar la localizaci n un LocationOverlay Pruebas Al finalizar la implementaci n del segundo prototipo se realiz la siguiente prueba Para determinar la correcta carga de los mapas en diferentes localizaciones Dado Diferentes localizaciones geogr ficas Diferentes dispositivos con distintas versiones de Android ver sec ci n 4 2 1 Cuando Se ejecuta la aplicaci n Entonces Se muestra dicha ubicaci n centrada en un mapa 35 5 3 3 Iteraci n 3 Orientar mapa Una vez evaluado el prototipo de la iteraci n 2 se introdujo una nueva funcionalidad
113. tory Preserve its Title and add to it an item stating at least the title year new authors and publisher of the Modified Version as given on the Title Page If there is no section Entitled History in the Document create one stating the title year authors and publisher of the Document as given on its Title Page then add an item describing the Modified Version as stated in the previous sentence J Preserve the network location if any given in the Document for public access to a Transparent copy of the Document and likewise the network locations given in the Document for previous versions it was based on These may be placed in the History section You may omit a network location for a work that was published at least four years before the Document itself or if the original publisher of the version it refers to gives permission K For any section Entitled Acknowledgements or Dedications Preserve the Title of the section and preserve in the section all the substance and tone of each of the contributor acknowledgements and or dedications given therein a L Preserve all the Invariant Sections of the Document unaltered in their text and in their titles Section numbers or the equivalent are not considered part of the section titles M Delete any section Entitled Endorsements Such a section may not be included in the Modified Version N Do not retitle any existing section to be Entitl
114. trabajo Al comenzar este TFG s lo se ten a una idea general del sistema que se quer a desarrollar Puesto que los requisitos disponibles no eran detallados se decidi optar por un modelo de desarrollo evolutivo para ir definiendo las especificaciones a lo largo del progreso del proyecto En particular el de prototipos desechables o prototipado evolutivo El desarrollo evolutivo se basa en la idea de crear una implementaci n inicial exponerla a los comentarios del usuario y refinarla a trav s de las diferentes versiones hasta conseguir un sistema adecuado Som05 En la Figura 4 1 se muestra el diagrama de flujo seguido por un modelo evolutivo en el que se puede ver como las actividades de especificaci n desarrollo y validaci n se realizan de forma concurrente con una r pida retroalimentaci n entre ellas Actividades Concurrentes Versiones Desarrollo Intermedias Validacion Version Final Version Inicial Descripci n del sistema Figura 4 1 Diagrama de flujo del modelo de desarrollo evolutivo 25 4 1 1 Prototipado evolutivo El prototipado evolutivo es un modelo de desarrollo de software basado en la realizaci n de prototipos funcionales hasta llegar a un producto final Se parte de los requisitos mejor comprendidos y con mayor prioridad y se van definiendo los detalles conforme avanza el desarrollo de las diferentes versiones Un cliente a menudo define un conjunto de objetivos generales pa
115. tudios que permitan realizar buenas elecciones a lo largo del TFG sobre las plataformas de smartphones los complementos vibratorios y los pro veedores de mapas y rutas existentes en la actualidad Cap tulo 4 M todo de trabajo y herramientas El m todo seleccionado para el desarrollo del trabajo es el prototipado evolutivo En este cap tulo se describe la metodolog a seguida adem s de especificar las herra mientas tanto hardware como software utilizadas para la elaboraci n del proyecto Capitulo 5 Desarrollo del proyecto En este capitulo se encuentra detallado el trabajo realizado especificando cada una de las iteraciones necesarias para el desarrollo del proyecto Capitulo 6 Resultados En este capitulo se describen los resultados obtenidos tras el desarrollo del sistema y se habla sobre los recursos y costes del mismo Capitulo 7 Conclusiones En este capitulo se detallan las conclusiones obtenidas del desarrollo del proyecto se incluyen posibles usos alternativos del sistema y se proponen posibles lineas de trabajo futuras a desarrollar Capitulo 2 Objetivos l N el presente cap tulo se muestran los objetivos que se marcaron para el desarrollo de este proyecto desde la realizaci n del anteproyecto de forma general y espec fica De esta manera se determina el alcance del proyecto y los resultados que se esperan tras su implementaci n 2 1 Objetivo general Incentivado por el gran n mero de acciden
116. uir que el sistema final pueda ser usado por la mayor cantidad de gente posible 3 4 1 Wearables vibratorios para smartphone A pesar de la gran variedad de dispositivos wearables no todos tienen la misma forma de interacci n con el usuario y para este TFG s lo es interesante destacar los que se puedan sincronizar con un smartphone y sean vibratorios A continuaci n se habla de los diferentes tipos de wearables que disponen de vibraci n separ ndolos por la forma que tienen de conectarse con el smartphone Perfiles bluetooth La mayor a de dispositivos de bajo coste como colgantes anillos o pulseras utilizan este m todo de conexi n con el smartphone B sicamente se sincronizan con el m vil con el perfil de manos libres o Hands Free Profile HFP para que cuando se reciba una llamada el wearable vibre Como consecuencia de ello resulta imposible desarro llar aplicaciones para estos complementos porque no es posible controlar a voluntad la vibraci n del wearable y de hacerlo vibrar simulando una llamada no se podr a diferenciar entre una llamada real o una simulada Bluetooth con aplicaci n propietaria Otros dispositivos como pulseras o relojes se sincronizan con el smartphone por me dio de bluetooth y sus perfiles Human Interface Device Profile HID o Personal Area Networking Profile PAN Gracias a ello pueden comunicarse con la aplicaci n pro pietaria instalada en el smartphone configurar los wearables y recibir l
117. unicaci n que permita el paso de mensajes entre los diferentes dispositivos del sistema Para ello ser necesario elegir la tecnolog a o tecnolog as Wi Fi Bluetooth etc sobre la que se implementar la arquitectura cliente servidor 2 2 5 Desarrollo del sistema vibratorio Se implementar un sistema vibratorio que con ambos dispositivos codifique todas las posibles acciones que el usuario pueda realizar Para ello har uso de diferentes frecuencias de vibraci n en los dispositivos de modo que la codificaci n resulte intuitiva IE geocoding es un proceso mediante el cual se obtienen las coordenadas geogr ficas de un sitio Para ello basta con introducir una descripci n una direcci n postal o el nombre del lugar 2Un servicio text to speech proporciona el audio de un texto introducido 2 3 Limitaciones Las limitaciones asociadas al proyecto vendr n dadas por las decisiones tomadas durante el desarrollo antes descritas Por ejemplo cuando se seleccione una determinada plataforma de desarrollo para smartphone se tendr n las limitaciones de la plataforma como el lenguaje de desarrollo De igual forma cuando se elija el proveedor de mapas la tecnolog a de posi cionamiento el proveedor de rutas o el proveedor de geocoding se heredar la precisi n de los servicios que se utilicen Capitulo 3 Antecedentes N este capitulo se hace una introducci n a los aspectos m s destacables relacionados E con el TFG Se empi
118. ver secci n 3 3 se estipul que la mejor alternativa es Android Por un lado Android posee la mayor cuota de mercado 81 y dispone de una gran variedad de dispositivos en una amplia gama de precios Por otro lado Android es un SO que se integra f cilmente con la plataforma de complementos Android Wear ver secci n 3 4 1 que es la nica que permite manipular el vibrador del wearable a voluntad En segundo lugar entre los proveedores de mapas existentes ver secci n 3 5 se seleccio n Open Street Map Se consider la mejor elecci n porque provee de mapas de gran calidad completamente gratuitos Adem s si se encontrase cualquier tipo de error en los mapas su ministrados se podr a corregir porque es un proyecto colaborativo Para simplificar el uso de OSM se utiliz la librer a Osmdroid tal y como se dijo en la secci n 4 2 2 En tercer y ltimo lugar se seleccion como objetivo del desarrollo la API de Android 21 tambi n conocida como Android 5 0 Lollipop por ser la m s nueva y poseer el mayor n mero de funcionalidades De todos modos se asegur la compatibilidad desde la API de Android 10 tambi n llamada Android 2 3 Gingerbread por medio de la librer a Android support para asegurarse de tener compatibilidad con la mayor a de dispositivos Android El 99 3 de los dispositivos del Google Play Store seg n Android Studio Implementaci n Para visualizar los mapas de OSM con la ayuda de la librer a Osmdroid
119. vos con Android En uno funcionar la aplicaci n de navegaci n y se comunicar con la aplicaci n del segundo para vibrar en los momentos oportunos Los usuarios que dispongan de un dispositivo Android en el que se ejecute la apli caci n principal y dos complementos que vibren en los momentos adecuados Los complementos pueden ser e Dos dispositivos con Android e Dos dispositivos con Android Wear e Un dispositivo con Android y otro con Android Wear Para soportar este gran n mero de configuraciones antes expuesta se hace uso de la arqui tectura cliente servidor por medio de la tecnolog a bluetooth El cliente es la aplicaci n principal que implementa el sistema de navegaci n y se conecta a los dem s dispositivos para hacerlos vibrar de la forma que desee ver cua dro 5 1 y parar la vibraci n cuando estime oportuno Los servidores ser n los diferentes dispositivos con Android o Android Wear que quedar n a la espera de recibir instrucciones del cliente De este modo s lo hay que implementar en la aplicaci n de las anteriores iteraciones las vibraciones del cuadro 5 1 crear una nueva aplicaci n para Android otra para Android Wear que tambi n implemente dichas vibraciones y desarrollar un m todo de paso de mensajes por medio de bluetooth entre las dos aplicaciones Implementaci n Gracias a que Android y Android Wear comparten gran parte de las API se puede utilizar el mismo c digo para la parte de
120. yecto por otro una estimaci n del coste de acuerdo a las condiciones actuales del mercado y finalmente algunas medidas de rendimiento del sistema 6 1 1 Estad sticas En la tabla 6 1 se muestra el n mero de lineas de c digo del proyecto Naviganto completo Para contabilizar dichas l neas se ha empleado el comando cloc Lenguaje Archivos Espacios en blanco Comentarios L neas de c digo XML 44 85 9 3213 Java 16 448 324 2594 Bourne Again Shell 1 20 21 123 DOS Batch 1 24 2 64 IDL 1 2 0 15 Total 63 579 356 6009 Cuadro 6 1 N mero de l neas de c digo fuente de Naviganto por lenguajes 6 1 2 Coste econ mico El desarrollo del proyecto Naviganto empez aproximadamente el d a 3 de Noviembre de 2014 y termin alrededor del 9 de Enero de 2015 es decir unas 10 semanas de desarrollo Con una dedicaci n media de 6 horas diarias y 5 d as a la semana da como resultado un total de 300 horas de trabajo Todo ello sin contabilizar el tiempo dedicado a la elaboraci n del presente documento 59 Tomando como referencia la media en Espa a de unos 16 hora para los analistas y desarrolladores y los elementos hardware necesarios ver secci n 4 2 1 para el desarrollo se ha elaborado el cuadro 6 2 con una estimaci n del coste Recurso Cantidad Coste Sueldo del programador 300 horas 1 4800 Computador de trabajo 1 499 Smartphone de la aplicaci

Download Pdf Manuals

image

Related Search

Related Contents

Ⅲその他、特に留意すべき技術的事項等(PDF:321KB)  EA157CP-11A(3/8″エアーラチェットレンチ)取扱説明書    OM, T50 RH, T55 R, T56 RS, 2004-11  Digitus DK-1522-005/G networking cable  Morphy Richards Blender 48544 User's Manual  

Copyright © All rights reserved.
Failed to retrieve file