Sistema de guía para personas invidentes a través de bluetooth
Texto completo
(2) Identificación de los datos del proyecto Tema: COMUNICACIONES BLUETOOTH Título: SISTEMA DE GUIA PARA PERSONAS INVIDENTES A TRAVES DE BLUETOOTH Autor: JOSE MANUEL PEREZ RUIZ Titulación: INGENIRIA TECNICA DE TELECOMUNICACIONES ESPECIALIDAD SISTEMAS ELECTRONICOS Tutor: MARIANO RUIZ GONZALEZ Departamento: SEC Tribunal: Presidente: GERARDO BALABASQUER VILLA Vocal: EDUARDO BARRERA LOPEZ DE TURISO Vocal Secretario: MARIANO RUIZ GONZALEZ Fecha de Lectura: 12-OCTUBRE-2013.
(3) Resumen proyecto José Manuel Pérez Ruiz Titulo: SISTEMA DE GUIA PARA PERSONAS INVIDENTES A TRAVES DE BLUETOOTH El planteamiento inicial era proveer al individuo invidente de un sistema autónomo capaz de guiarle según sus preferencias.. El resultado obtenido al finalizar este proyecto ha sido un dispositivo autónomo configurable por el usuario mediante una aplicación sw , desarrollada en la plataforma móvil Android capaz de comunicarse con el dispositivo autónomo(móvil personal). La idea de utilizar como plataforma de desarrollo sw Android, se baso fundamentalmente en que es código open source, es gratuito y está presente en el 70 por ciento de los móviles de Europa. La idea inicial era que ambos hubieran sido integrados en un mismo dispositivo, pero una vez comenzado el proyecto y habiendo evaluado los hábitos actuales, decidimos adaptar la idea general del proyecto, a nuestros días. Para ello hicimos uso del dispositivo móvil más usado hoy en día, como es nuestros teléfonos móviles, o más bien los llamado Smartphone, con los cuales podemos desde su aplicación originaria que es llamar, hasta realizar multitud de operaciones al mismo tiempo como puede ser comunicación por internet, posicionamiento via GPS, intercambio de ficheros por bluetooth…..tantas como podamos programar.. Sobre este último atributo, intercambio de información a través de bluetooth, es la interfaz que vamos a aprovechar para la realización de nuestro proyecto.. Hoy en día el 90% de los Smartphone tiene entre sus características de conectividad la posibilidad de intercambiar información vía bluetooth.. Una vez se tiene resuelto el interfaz entre el medio y el usuario se debe solucionar la forma de transformar la información para que los dispositivos móviles recojan la información y sepan discernir entre la información importante y la que no lo es. Para ello hemos desarrollado una tarjeta configurable, con un módulo bluetooth comercial para enviar la información. El resultado final de esta tarjeta proporciona una manera fácil de configurar diferentes mensajes que serán utilizados según la situación..
(4) Project Abstract of Jose Manuel Perez Ruiz Title: GUIDANCE BLUETOOTH SYSTEM FOR BLIND PEOPLE The initial approach consisted of a system that shows the way for blind people to get somewhere or something or provide to them important information, an autonomous system able to guide to their preference. After several analyses the project accomplish is a standalone device configurable by the user via an application sw, developed in Android mobile platform capable of communicating with the standalone device (personal cell phone). The decision of using the sw development platform of Android was due to the open source code concept and the great extent of presence on 70 percent of European mobiles. The first idea was that the sw and the device were integrated into a single device, but once the project had been started and having assessed the current habits, it has changed to be adapted to the present technology to get a better usability on the present-day. To achieve the project goals the most used mobile device today was used, our mobile phones, or rather called Smartphone, which you could use to phone your mother or perform many operations simultaneously such as communication online, positioning via GPS, bluetooth file trading program, etc. On this last attribute, information sharing via bluetooth, is the interface that it has been taken to complete the project. Today 90% of the Smartphone include in its connectivity features the ability to exchange information via bluetooth. Once that it was solved the interface between the environment and the final user, the next step incorporates the transformation of the information that the mobile devices collect from the environment to discern between the information the user configure to be notified or not. The hardware device that makes it possible is a configurable card with a bluetooth module that is able to send the information. The final result of this card provides an easy way to configure different messages, that we could use depending of the situation..
(5) Sistema de guía para personas invidentes a través de bluetooth. Este proyecto se lo dedico a mi mujer, compañera y madre de mi hija Emma, por todo su apoyo durante estos años.. Página 2.
(6) Sistema de guía para personas invidentes a través de bluetooth. 1. 2. 3. Introducción .......................................................................................................................... 6 1.1. Objetivos conseguidos ........................................................................................... 6. 1.2. Estructura del proyecto ......................................................................................... 8. Base teórica ........................................................................................................................... 9 2.1. Diagrama de bloques ............................................................................................. 9. 2.2. Especificaciones ................................................................................................... 10. 2.3. Descripción diseño PCB (printed circuit board) ................................................... 10. 2.4. Descripción módulo alimentación ....................................................................... 11. 2.5. Micro controlador................................................................................................ 16. 2.6. Elementos auxiliares ............................................................................................ 17. 2.7. Módulo Bluetooth ............................................................................................... 19. 2.7.1 Teoría Bluetooth .......................................................................................... 19 2.7.2 Especificaciones y diseño de Bluetooth ...................................................... 28 2.7.3 Descripción módulo Bluetooth comercial ................................................... 29 Diseño SW............................................................................................................................ 36 3.1. Diseño Android .................................................................................................... 36. 3.1.1 Descripción .................................................................................................. 36 3.1.2 Usuarios y tareas del sistema ...................................................................... 36 3.1.3 Descripción de bloques principales ............................................................. 40 3.2 Diseño C ............................................................................................................... 61. 4. 3.2.1 Descripción .................................................................................................. 61 3.2.2 Diagrama de bloques ................................................................................... 61 3.2.3 Descripción del funcionamiento .................................................................. 61 Presupuesto ......................................................................................................................... 63. 5. Conclusiones ........................................................................................................................ 65. 6. Referencias .......................................................................................................................... 67. 7. Bibliografía ........................................................................................................................... 67. ANEXO A ...................................................................................................................................... 68 ANEXO B ...................................................................................................................................... 72 ANEXO C ...................................................................................................................................... 77 ANEXO D ...................................................................................................................................... 83. Página 3.
(7) Sistema de guía para personas invidentes a través de bluetooth. Índice de figuras Figura 1 Descripción sistema ................................................................................................. 7 Figura 2 Esquema de bloques ................................................................................................ 9 Figura 3 Dimensiones Exteriores PCB .................................................................................. 10 Figura 4 Esquema eléctrico módulo alimentación .............................................................. 11 Figura 5 Esquema eléctrico DC/DC ...................................................................................... 12 Figura 6 Esquema módulo alimentación Micro ................................................................... 13 Figura 7 Esquema módulo alimentación micro ................................................................... 14 Figura 8 Nota de aplicación regulador lineal ....................................................................... 15 Figura 9 Esquema circuito 3,3v fijos .................................................................................... 15 Figura 10 Prototipo con módulo Bluetooth ........................................................................ 16 Figura 11 Módulo Bluetooth separado de tarjeta de configuración ................................... 17 Figura 12 Descripción física ................................................................................................. 18 Figura 13 Implementación PCB ........................................................................................... 18 Figura 14 Estructura piconet y Scatternet ........................................................................... 21 Figura 15 Pila de protocolos Bluetooth ............................................................................... 23 Figura 16 Service discovery protocol ................................................................................... 28 Figura 17 Módulo bluetooth ............................................................................................... 29 Figura 18 Diagrama de bloques módulo bluetooth............................................................. 30 Figura 19 Esquema eléctrico conexión módulo bluetooth.................................................. 31 Figura 20 Interfaz UART con micro controlador .................................................................. 32 Figura 21 Conector 20 pines ................................................................................................ 32 Figura 22 Pin out módulo bluetooth ................................................................................... 34 Figura 23 Dimensiones y fijaciones mecánicas del módulo bluetooth ............................... 35 Figura 24 Tareas .................................................................................................................. 36 Figura 25 Diagrama actividad: Configuración...................................................................... 37 Figura 26 Diagrama actividad: Activar sistema ................................................................... 39 Figura 27 Flujo de programa Android.................................................................................. 40 Figura 28 Primera pantalla .................................................................................................. 41 Figura 29 Reconocimiento de voz ....................................................................................... 41 Figura 30 Estructura carpetas Android ................................................................................ 43 Figura 31 Carpeta src ........................................................................................................... 43 Figura 32 Carpeta res........................................................................................................... 52 Figura 33 Carpeta gen.......................................................................................................... 53 Figura 34 Formulario para generar fichero .apk.................................................................. 56 Figura 35 Diagrama de flujo programa C en micro ............................................................. 61 Figura 36 Especificaciones DC/DC R783.3‐1.0A SMD .......................................................... 68 Figura 37 Dimensiones DC/DC R783.3‐1.0A SMD ............................................................... 69 Figura 38 Caracteristicas del D0‐214AC............................................................................... 69 Figura 39 Dimensiones de Do‐214AC .................................................................................. 70 Figura 40 Especificaciones regulador lineal AP117 ............................................................. 71 Página 4.
(8) Sistema de guía para personas invidentes a través de bluetooth Figura 41 Encapsulado AP117 ............................................................................................. 71 Figura 42 Esquema de Bloques............................................................................................ 72 Figura 43 Fuente alimentación ............................................................................................ 73 Figura 44 Debug ................................................................................................................... 74 Figura 45 Módulo Bluetooth ............................................................................................... 75 Figura 46 Micro‐switch ........................................................................................................ 76 Figura 47 Requerimientos Hardware .................................................................................. 77 Figura 48 Plugin ADT............................................................................................................ 79 Figura 49 Paquetes Disponibles........................................................................................... 80 Figura 50 Pantalla AVD ........................................................................................................ 81. Página 5.
(9) Sistema de guía para personas invidentes a través de bluetooth. 1. Introducción Hoy en día las personas invidentes no tiene acceso a la mayoría de las señales, que para el resto de las personas videntes son normales e incluso si no las tuviéramos, en muchos casos nos veríamos perdidos sin saber que hacer o donde ir.. Este proyecto trata de dar una solución a esta falta de información visual que de otra forma nunca estaría al alcance de los invidentes.. Nuestra aplicación está diseñada para que una persona invidente con un dispositivo móvil con sistema operativo Android, tenga acceso a toda esta información dejando la libertad a la persona de elegir que información quiere o no quiere recibir mediante una configuración previa, que podrá realizar de forma totalmente autónoma y sin necesidad de manejar complicados menús .. Para ello nos apoyamos en el sistema operativo Android y en todas las funciones que nos ofrece la plataforma, para por medio de una conexión Bluetooth punto a punto obtener información pre‐programada en cada momento.. El objetivo secundario de este proyecto es desarrollar una plataforma de inicio, que pude seguir evolucionando tanto en funcionalidad como en rendimiento al mismo tiempo que el sistema Android evoluciona.. 1.1 Objetivos conseguidos. El planteamiento inicial era proveer al individuo invidente de un sistema autónomo capaz de guiarle según sus preferencias. El resultado obtenido al finalizar este proyecto ha sido un dispositivo autónomo configurable por el usuario mediante una aplicación sw , desarrollada en la plataforma móvil Android capaz de comunicarse con el dispositivo autónomo(móvil personal).. Página 6.
(10) Sistema de guía para personas invidentes a través de bluetooth La idea inicial era que ambos hubieran sido integrados en un mismo dispositivo, pero una vez comenzado el proyecto y habiendo evaluado los hábitos actuales, decidimos adaptar la idea general del proyecto, a nuestros días. Para ello hicimos uso del dispositivo móvil más usado hoy en día, como es nuestros teléfonos móviles, o más bien los llamado Smartphone, con los cuales podemos desde su aplicación originaria que es llamar, hasta realizar multitud de operaciones al mismo tiempo como puede ser comunicación por internet, posicionamiento via GPS, intercambio de ficheros por bluetooth…..tantas como podamos programar.. Sobre este último atributo, intercambio de información a través de bluetooth, es la interfaz que vamos a aprovechar para la realización de nuestro proyecto.. Hoy en día el 90% de los Smartphone tiene entre sus características de conectividad la posibilidad de intercambiar información vía bluetooth.. Una vez se tiene resuelto el interfaz entre el medio y el usuario se debe solucionar la forma de transformar la información para que los dispositivos móviles recojan la información y sepan discernir entre la información importante y la que no lo es. Para ello hemos desarrollado una tarjeta configurable, con un módulo bluetooth comercial para enviar la información. El resultado final de esta tarjeta proporciona una manera fácil de configurar diferentes mensajes que serán utilizados según la situación.. Figura 1 Descripción sistema. Página 7.
(11) Sistema de guía para personas invidentes a través de bluetooth. 1.2 Estructura del proyecto . Diseño HW ‐‐> Esta parte consta del diseño de una tarjeta donde se insertará el módulo bluethooth escogido para la realización del diseño. Esta tarjeta estará compuesta de un micro, un conector y una serie de switchs para realizar las diferentes configuraciones de la tarjeta.. . Diseño SW ‐‐> Esta parte del proyecto se distinguen dos partes de programación :. o. Java(Andorid) ‐‐> Es la parte de diseño sw correspondiente a la programación de una aplicación Android, que ira instalada en el dispositivo móvil , la cual se comunicará con el módulo bluetooth.. o. C ‐‐> Es la parte de diseño sw integrada en el micro controlador. En esta aplicación se deberán de generar los mensajes que el dispositivo móvil deberá interpretar.. Página 8.
(12) Sistema de guía para personas invidentes a través de bluetooth. 2. Base teórica En esta sección se describirá el proceso de diseño HW de la tarjeta auxiliar que utilizaremos durante el proyecto para controlar la unidad bluethooth.. 2.1 Diagrama de bloques 2 4 DC/DC 3,3V. Modulo bluetooth. 5. 1 3 DC/DC 3,3V. 8051F411. Figura 2 Esquema de bloques. 1) Micro‐controlador 8051F411 2) Módulo bluetooth ConnectBlue OEM311 3) Convertidor alimentación a 3,3v para alimentar micro 4) Convertidor alimentación a 3,3v para módulo bluetooth 5) Micro‐switchs para configurar mensajes. Página 9.
(13) Sistema de guía para personas invidentes a través de bluetooth. 2.2 Especificaciones Alimentación: 4,75‐18Vdc Corriente máxima: . No conectado: 20mA. . Conectado: 70 mA. Alcance módulo: 10m Dimensiones: 88,5mmx70mm. 2.3 Descripción diseño PCB (printed circuit board) Para la realización de este proyecto se utilizará el programa de diseño de PCB Altium en su versión Summer 09. Con dicho sw realizaremos la captura del esquemático y el diseño de PCB.. Las medidas finales de la PCB se decidieron teniendo en cuenta el tamaño de la tarjeta Bluetooth y demás componentes, como switchs, micro y fuente de alimentación. Como resultado se obtuvo una tarjeta con las siguientes dimensiones.. 70 mm. Bluetooth 88,5 mm. Figura 3 Dimensiones Exteriores PCB. Todos los componentes están ubicados en una sola cara y son de montaje superficial.. La fabricación de dicha PCB fue contratada a la empresa PCBCART, través de su página web: Referencia 3.. Todos los ficheros Gerber irán incluidos en el cd junto al libro. Página 10.
(14) Sistema de guía para personas invidentes a través de bluetooth. 2.4 Descripción módulo alimentación El módulo de alimentación se divide en dos partes diferenciadas. La primera parte es la encarga de la alimentación del micro y una segunda parte encargada de la alimentación del módulo bluetooth. Figura 4 Esquema eléctrico módulo alimentación. Para la alimentación del dispositivo está previsto un conector tipo jack mediante el cual conectaremos un transformador externo, con el cual alimentaremos al módulo desde 220Vac a 5Vdc. También existe la posibilidad de alimentarlo mediante pilas de 9V@1,2Ah la cual nos daría un funcionamiento continuo de 20h.. Página 11.
(15) Sistema de guía para personas invidentes a través de bluetooth. Módulo alimentación módulo bluetooth Según el diagrama de bloques de la Figura 2 , el bloque 3 se encargará de alimentar al módulo bluetooth. La alimentación la obtenemos de un convertidor DC/DC de 4,75v‐18v, del cual se obtendrá 3,3v. Se ha elegido el módulo R78AA3.3‐1 ASMD, debido a su alta eficiencia del 84% y una corriente máxima de 1 A. Todos los elementos de la tarjeta están escogidos en montaje superficial, para minimizar la superficie de componentes. Las características del regulador se pueden ver en el anexo A. El diseño de componentes asociados al regulador se ha escogido siguiendo las indicaciones del fabricante. En el diseño de la PCB se han implementado las huellas de las resistencias R1 y R2, así como se han incorporado condensadores en la entrada y la salida para estabilizar la tensión del regulador.. Figura 5 Esquema eléctrico DC/DC. Página 12.
(16) Sistema de guía para personas invidentes a través de bluetooth VDD VDD. 1. VDD1. JP1 1 8 3 7 9. R2 P1 VCC D3 D Schottky. 2 1 3. 330 C9 D1. C10. 2 10 5 4 6. DC/DC. 100nF. R3 Res3 1K. 22uF. Header 3 LED3. C11 C12 Cap Pol3 100nF 47uF. R4 Res3 1K GND. Estas resistencias solo montan cuando queremos dar distinta salida,en este caso R4,3K9. Figura 6 Esquema módulo alimentación Micro. A la entrada tenemos un diodo D3 que evita que tensiones en inversa dañen nuestro circuito. Este diodo se eligió dada su rápida respuesta (10000V/µs) y tiene una corriente máxima de 1A.. A continuación tenemos un diodo led para indicar que la tarjeta está alimentada junto con su resistencia de limitación de corriente R2.. R2 min . 5v 2,6v 80 0,03mA. Se han colocado dos condensadores a la entrada, C9 (22µF@50v) y C10 ( 100nF@50v). Son utilizados como filtro y estabilización de tensión a la entrada del regulador.. A la salida del regulador obtenemos 3,3v@1A con la siguiente configuración: R3 no se monta R4 de un valor 3K9Ω con un 1% de precisión. Aunque no se utiliza la huella de R3 en este montaje, se deja la huella por si fuera necesario en un futuro cambiar la tensión de salida del regulador. La resistencias montadas en este prototipo son de tamaño 2512, como se menciona en la sección anterior los encapsulados han sido escogidos con el criterio de facilitar el montaje, más que una decisión tomada por disipación de potencia. A la salida se han incluido dos condensadores, C11 (47µF@16v) y C12 (100nF@16v) para estabilizar la tensión que nos da el regulador a su salida. Con este montaje se obtiene una tensión continua regulada y estable de 3,3v, a partir de una tensión continua de entrada que puede variar entre 4,75v y 18v. Esta alimentación será utilizada para alimentar el micro controlador. Todos los datasheet de los elementos están en el anexo A. Página 13.
(17) Sistema de guía para personas invidentes a través de bluetooth Módulo alimentación micro controlador Como se muestra en la Figura 2, el bloque 4 se encarga de alimentar al micro controlador, que tiene un consumo máximo de 10 mA cuando está en funcionamiento. Para ello se ha montado un regulador lineal ajustable de bajo drop out ,con una corriente de 1 A máximo de salida. El regulador escogido ha sido el AP1117 con una tensión fija a la salida de 3,3v. Para ello se ha tomado como ejemplo la nota de aplicación recomendada por el fabricante en el datasheet. Se ha escogido la opción de implementar en la PCB las resistencias de salida para poder configurar la tensión de salida. Si fuera necesario alimentar a distintos módulos con distintas tensiones, no sería necesario un rediseño de PCB. La entrada de alimentación de este módulo se ha diseñado de tal forma que podemos obtener la alimentación desde el exterior mediante jack, o bien desde el módulo de alimentación de micro a través dos resistencias configurables (R21 y R20) en la PCB.. Figura 7 Esquema módulo alimentación micro. Como se menciona en el párrafo anterior R20 y R21, son dos resistencias para elegir la fuente de alimentación desde donde se va a alimentar el regulador lineal. A continuación tenemos un diodo (D4) para evitar polaridad inversa de la tensión de alimentación provoque daños en el regulador. Siguiendo la nota de aplicación se añaden condensadores a la entrada y a la salida para estabilizar la tensión en el regulador.. Página 14.
(18) Sistema de guía para personas invidentes a través de bluetooth Finalmente se tiene a la salida dos resistencias con las cuales podemos fijar tensiones desde 1,5v hasta 5v.. Figura 8 Nota de aplicación regulador lineal. En el diseño R6 corresponde con R2 en la nota de aplicación. Montaremos una resistencia de 0Ω con lo que obtendremos una salida fija de 3,3v.. Figura 9 Esquema circuito 3,3v fijos. Con estos dos módulos se tendrá la alimentación que necesitemos para alimentar nuestra placa auxiliar. El datasheet del regulador está recogido en el anexo A del presente documento.. Página 15.
(19) Sistema de guía para personas invidentes a través de bluetooth. 2.5 Micro controlador Para este proyecto se ha decidido utilizar un micro‐controlador de la familia C8051 de Silabs . Dispone de los puertos necesarios para la realización de dicha tarjeta y al conocimiento que disponemos de su manejo después de haber trabajado con dispositivos similares durante la carrera.. Las características más destacadas del micro por el cual nos hemos decantado por su utilización son: 24 entradas/salidas configurables como push‐pull u open drain Alimentación a 5v UART SPI Memoria o. 2304 bytes de memoria RAM. o. 16Kbytes de memoria Flash. En nuestro diseño hemos incorporado un cristal a 22118400Hz para generar la velocidad UART que deseemos, en nuestro caso 57600 baudios.. Figura 10 Prototipo con módulo Bluetooth. Página 16.
(20) Sistema de guía para personas invidentes a través de bluetooth. Figura 11 Módulo Bluetooth separado de tarjeta de configuración. La programación y depuración de los programas serán introducidas a través de un puerto Jtag preparado en la placa para tal función.. 2.6 Elementos auxiliares Para configurar o para controlar el funcionamiento del módulo nos ayudaremos de un set de microswitch.. Mediante la selección de estos interruptores se puede indicar al módulo que mande uno u otro mensaje. Estos mensajes estarán predefinidos en una base de datos. Dependiendo de la aplicación para la que se utilice la aplicación buscara dentro de la base de datos que mensaje debe de lanzar al usuario. Previamente el usuario ya habrá definido que mensajes quiere recibir.. Página 17.
(21) Sistema de guía para personas invidentes a través de bluetooth Se basa en una codificación binaria que esta relacionada con unos valores en la base de datos. Su interfaz física en la PCB es la siguiente:. Figura 12 Descripción física. Su implementación en la PCB se realizará con resistencias configuradas a Pull‐up:. Figura 13 Implementación PCB. Página 18.
(22) Sistema de guía para personas invidentes a través de bluetooth. 2.7 Módulo Bluetooth 2.7.1. Teoría Bluetooth. 2.7.1.1 Conceptos básicos. Con la intención de clarificar lo que realmente significa e implica esta tecnología, se exponen a continuación una serie de definiciones empleadas en entornos Bluetooth: ‐ Piconet: colección de dispositivos (de 2 a 8) conectados por medio de la tecnología Bluetooth. Todos los dispositivos tienen la misma implementación. Sin embargo, al crearse la red una unidad actuará como maestra y el resto como esclavas mientras dure la conexión. ‐ Scatternet: cuando en una misma zona hay varias piconets independientes y no sincronizadas forman lo que se llama una scatternet. ‐ Dirección Mac: el maestro de la piconet asigna a los esclavos una dirección mac de 3 bits para distinguir a los miembros de la piconet, de las otras piconets de la zona que forman la scatternet. ‐ Modo Activo: modo que se produce cuando hay un intercambio de información. ‐ Modo Hold: es un modo de ahorro de energía que mantiene en estado de espera a los esclavos de la piconet cuando no tienen nada que transmitir e incluso puede ser solicitado por los dispositivos esclavos cuando terminan de enviar información. ‐ Modo Sniff: otro modo de ahorro de energía, en el cual el esclavo reduce la frecuencia con que escucha de la red, reduciendo así su consumo. ‐ Parked: un tercer modo de ahorro de energía seria este, en el cual el esclavo pierde su dirección MAC de la piconet, pero sigue sincronizado con esta y solo escucha la red ocasionalmente para mensajes broadcast. 2.7.1.2 Principios de funcionamiento. Cada dispositivo Bluetooth deberá estar equipado con un microchip (tranceiver) que transmite y recibe en la frecuencia de 2.45 GHz (2,400 a 2,480 Ghz en saltos de 1 MHz) que esta disponible en todo el mundo (con algunas variaciones de ancho de banda en diferentes países, como pasa en España, Francia y Página 19.
(23) Sistema de guía para personas invidentes a través de bluetooth Japón) y que no necesita licencia. Además de los 7 canales dedicados a la transmisión de datos, están disponibles 3 canales de voz a 64 kbit/s. Cada dispositivo tiene una dirección única de 48 bits, basada en el estándar IEEE 802.11 para LAN inalámbricas, que le permite formar, temporalmente, parte de una piconet. Las conexiones son uno a uno con un rango máximo de 10 metros, aunque actualmente se puede llegar hasta los 100 metros. El bluetooth esta dotado de un esquema de salto de frecuencia. Utiliza un sistema que busca una parte no utilizada del espectro. Éste sistema divide la banda de frecuencia en varios canales de salto, donde, los transceptores, durante la conexión van cambiando de uno a otro canal de salto de manera pseudo‐ aleatoria. Con esto se consigue que el ancho de banda instantáneo sea muy pequeño y también una propagación efectiva sobre el total de ancho de banda. En conclusión, con el sistema FH (Salto de frecuencia), se pueden conseguir transceptores de banda estrecha con una gran inmunidad a las interferencias. Este esquema de "frequency hop" (saltos de frecuencia aleatorios) permite a los dispositivos comunicarse inclusive en áreas donde existe una gran interferencia electromagnética (el hecho de que los paquetes sean más cortos y los saltos más rápidos reducen el impacto nocivo de los hornos de microondas u otros dispositivos que trabajen en la misma banda); además de que se provee de mecanismos de encriptación (con longitud de la clave de hasta 64 bits) y autenticación, para controlar la conexión y evitar que cualquier dispositivo, no autorizado, pueda acceder a los datos y/o modificarlos. Bluetooth se ha diseñado para operar en un ambiente multi‐usuario. Los dispositivos pueden habilitarse para comunicarse entre sí e intercambiar datos de una forma transparente al usuario. Como se utilizan 3 bits para la dirección MAC, hasta ocho usuarios o dispositivos pueden formar una "piconet" y hasta diez "piconets"pueden co‐existir en la misma área de cobertura, cada piconet se identificará por una secuencia de saltos de frecuencia distinta. Bluetooth minimiza la interferencia potencial al emplear saltos rápidos en frecuencia (1600 veces por segundo).. Página 20.
(24) Sistema de guía para personas invidentes a través de bluetooth. Figura 14 Estructura piconet y Scatternet. Dado que cada enlace es codificado y protegido contra interferencia y pérdida de enlace, Bluetooth puede considerarse como una red inalámbrica de corto alcance muy segura. El sistema Bluetooth permite conexiones punto a punto y punto a multipunto. Como en cualquier otro tipo de comunicación vía radio, el aspecto de la seguridad es un tema delicado que genera muy diversas opiniones. A continuación se comentan los fundamentos de la seguridad en Bluetooth en lo referente a las capas bajas de esta tecnología. El Perfil de Acceso Genérico Bluetooth, que es un marco en el cual se centran todos los demás perfiles, define tres modos de seguridad:. ‐ Modo de seguridad 1: no seguro. ‐ Modo de seguridad 2: seguridad impuesta a nivel de servicio. ‐ Modo de seguridad 3: seguridad impuesta a nivel de enlace.. En el modo 1 no se iniciará ningún proceso de seguridad. En el modo de seguridad 2 el dispositivo Bluetooth inicia el procedimiento de seguridad después de que el canal haya sido establecido (capas altas de la pila de protocolos).. En el modo de seguridad 3 el dispositivo Bluetooth inicia el procedimiento de seguridad antes de que el canal haya sido establecido (capas bajas de la pila de Página 21.
(25) Sistema de guía para personas invidentes a través de bluetooth protocolos). Además, existen dos posibilidades en el acceso de dispositivos a diferentes servicios:. ‐ Dispositivos de confianza ‐ Dispositivos de no confianza. Los primeros tienen acceso sin restricción a todos los servicios, mientras que los segundos tienen acceso limitado.. Los servicios también pueden ser catalogados en tres niveles de seguridad:. ‐ Servicios abiertos, a los cuales puede acceder cualquier dispositivo. ‐ Servicios que requieren sólo autenticación, a los cuales puede acceder cualquier dispositivo que se haya autenticado, puesto que habrá demostrado que comparte una clave de enlace con el proveedor del servicio. ‐ Servicios que requieren autenticación y autorización, a los cuales sólo tendrán acceso aquellos dispositivos que sean de confianza (y así estarán marcados en la base de datos del servidor).. El sistema puede proveer seguridad tanto a nivel de aplicación como a nivel de enlace. Para mantener la seguridad a nivel de enlace, los parámetros utilizados son: ‐ La dirección del dispositivo Bluetooth (BD_ADDR). ‐ La clave de usuario privado de autenticación. ‐ La clave de usuario privado de cifrado. ‐ Un número aleatorio (RAND).. La BD_ADDR tiene una longitud fija de 48 bits y es única para cada dispositivo Bluetooth, siendo asignada por el IEEE.. La clave de autenticación tiene una longitud fija de 128 bits, mientras que la de cifrado, que normalmente se obtiene a partir de la de autenticación, durante el proceso. Página 22.
(26) Sistema de guía para personas invidentes a través de bluetooth de autenticación, tiene una longitud variable, entre 1 y 16 octetos, es decir entre 8 y 128 bits. El número aleatorio vendrá derivado de un proceso aleatorio o pseudo‐aleatorio que tendrá lugar en la unidad Bluetooth. Este parámetro puede cambiar frecuentemente.. 2.7.1.3 Arquitectura Bluetooth. La arquitectura de Bluetooth especifica el conjunto de protocolos con los que pueden operar las distintas aplicaciones. Así, cada aplicación puede operar bajo una estructura de protocolos definida por cada columna que se presentan en la figura, o por un conjunto de ellas.. Una nota importante a tener en cuenta es que se han reutilizado los protocolos ya existentes en capas superiores, en lugar de implementar unos nuevos. Además, la especificación es abierta, lo que permite el desarrollo de nuevos protocolos de aplicación en las capas superiores, lo cual se traduce en el desarrollo de una gran variedad de servicios.. Figura 15 Pila de protocolos Bluetooth. Página 23.
(27) Sistema de guía para personas invidentes a través de bluetooth 2.7.1.3.1 Bluetooth radio. La capa radio de Bluetooth define las necesidades de los distintos dispositivos Bluetooth que opera en la banda ISM a 2,4GHz. Esta capa se basa en el método de división de espectro conocido como espectro ensanchado, utilizando 79 saltos de frecuencia en cada MHz, comenzando en 2,400GHz y acabando en 2,480GHz. En ambos sistemas se utiliza una banda de guarda entre cada salto, con el fin de respetar las regulaciones de cada país en cuanto al tema de evitar las transmisiones fuera de banda. Se tienen tres clases de dispositivos según la potencia de los mismos: ‐ Potencia Clase 1. Dispositivos de largo alcance (aprox. 100m), con una potencia máxima de salida de 20dBm. ‐ Potencia Clase 2. Dispositivos de medio alcance (aprox. 10m), con una potencia máxima de salida de 4dBm. ‐ Potencia Clase 3. Dispositivos de corto alcance (aprox. 10cm), con una potencia máxima de salida de 0dBm.. La interfaz radio Bluetooth se basa en una antena de potencia nominal de 0dBm. Cada dispositivo puede variar su potencia de manera opcional. El equipamiento con control de potencia optimiza la potencia de salida con comandos procedentes del protocolo de enlace. Esto se hace midiendo el RSSI (Receiver Signal Strength Indicator), retornando un mensaje indicando si la potencia debe ser incrementada o decrementada. La modulación utilizada en la interface radio de Bluetooth es GFSK (Gaussian Frequency Shift Keying), donde un uno binario se representa con una desviación positiva de frecuencia, mientras que un cero se expresa como una desviación negativa de la frecuencia.. 2.7.1.3.2 BaseBand. El nivel de banda base permite el enlace físico entre unidades dentro de la piconet. A este nivel se utilizan procedimientos de averiguación y de localización para sincronizarse. Además, de estas funciones, el nivel de Página 24.
(28) Sistema de guía para personas invidentes a través de bluetooth banda base se encarga de cuestiones referentes al control de errores y de flujo. Existen dos tipos de enlaces físicos SCO (sincrónico orientado a la conexión) y ASL (asíncrono sin conexión) los cuales se comentan a continuación: SCO (Synchronous Connection‐Oriented). Es un enlace punto a punto simétrico entre el maestro y un esclavo de la piconet. El maestro mantiene el enlace usando slots reservados en intervalos regulares. Este canal básicamente se encarga de transportar la información de voz, ya que está orientado a conexión. Un maestro es capaz de soportar tres enlaces SCO simultáneos, lo que quiere decir tres canales de voz simultáneos a 64Kbps. Por el hecho de ser un enlace orientado a conexión, se supone que los paquetes llegarán siempre íntegros, por lo que en este enlace nunca se darán retransmisiones. ACL (Asynchronous Connection‐Less). Es un enlace punto a multipunto entre el maestro y todos los esclavos pertenecientes a la piconet. Se transmiten sobre los slots no reservados por enlaces SCO, donde el maestro puede establecer un enlace ACL. Al no estar orientado a conexión, se tiene que ante la posibilidad de pérdidas de paquetes se pueden producir retransmisiones.. Además de los enlaces físicos descritos del nivel de banda base, existen canales lógicos, teniendo cinco diferentes. LC (Control Channel) y LM (Link Manager) se usan en el nivel de enlace, mientras que los canales UA, UI y US se utilizan para el transporte de información de usuario asíncrona, isosíncrona y síncrona respectivamente.. 2.7.1.3.3 Link Manager Protocol(LMP). El protocolo de administración del enlace (LMP) es el responsable de configurar las conexiones entre los distintos dispositivos Bluetooth mediante la trasmisión de distintos mensajes o PDU´s. Este protocolo tiene diversa funcionalidades entre las que destacan las siguientes: ‐ Calidad de soporte de servicio. Página 25.
(29) Sistema de guía para personas invidentes a través de bluetooth ‐ Autenticación y cifrado, intercambiando las claves de encriptación empleadas en este proceso. ‐ Control y negociación del tamaño de los paquetes de Banda Base. ‐ Estado de los dispositivos en una piconet. ‐ Control de energía de las unidades. ‐ Supervisión del enlace.. 2.7.1.4 Host Controller Interface (HCI). El Controlador de Interface del host (HCI) se utiliza para separar las capas Banda base y LMP de los protocolos de transporte con la finalidad de ofrecer a estos una interfaz de comandos estándar para controlar la banda base y el gestor de enlace y acceder al estado del hardware de Bluetooth y a los registros de control. Así pues, utilizando HCI, una aplicación Bluetooth puede acceder al hardware de Bluetooth sin el conocimiento de ciertos detalles como la implementación del hardware.. Página 26.
(30) Sistema de guía para personas invidentes a través de bluetooth. 2.7.1.5 Logical link control and adaptation layer protocol (L2CAP). El protocolo de Adaptación y control del enlace lógico (L2CAP) está situado sobre el protocolo de banda base, estando residente en la capa de enlace de datos. Este protocolo provee servicios orientados a conexión y no orientados a conexión a los protocolos de niveles superiores, incorporando funcionalidades de multiplexado de datos, segmentación y reensamblaje de los paquetes para poder enviar paquetes de mayor tamaño a través de la conexión Bluetooth (de hasta 64KB ), intercambio de información con respecto a la calidad de la conexión existente entre los dispositivos, reunión y abstracciones de grupo.. 2.7.1.6. RFCOM. El protocolo RFCOM provee emulación de Puerto serie sobre el protocolo L2PCAP. Además, suministra capacidades de transporte a los niveles superiores que utilizan el puerto serie como mecanismo de transporte (como por ejemplo OBEX).. 2.7.1.7 Service Discovery Protocol (SDP). El protocolo de descubrimiento de servicio (SDP) provee un conjunto de aplicaciones con el fin de descubrir qué servicios están disponibles y determinar las características de esos servicios. O lo que es lo mismo, define como una aplicación cliente puede descubrir servicios disponibles y sus características. Debido a la naturaleza móvil de los dispositivos Bluetooth es necesario la integración de un protocolo de este tipo ya que los servicios disponibles varían dinámicamente según la proximidad de los dispositivos.. Página 27.
(31) Sistema de guía para personas invidentes a través de bluetooth. Figura 16 Service discovery protocol. 2.7.2. Especificaciones y diseño de Bluetooth. ‐ Banda de Frecuencia: desde los 2.4 GHz hasta los 2.5 Ghz (Banda libre ISM/Industria Scientific Medical), única banda de frecuencia abierta a cualquier sistema de radio independientemente del lugar del planeta donde nos encontremos. ‐ Potencia del transmisor: 1 mW (0 dBm) para 10 metros, y 100 mW (+20 dBm) para 100 metros. ‐ Tecnología: Espectro Expandido (Spread Spectrum), Secuencia Directa Híbrida y Saltos en Frecuencia (Hybrid Direct sequence and frequency hopping). ‐ Canales máximos de voz: 3 por piconet ‐ Canales máximos de datos: 7 por piconet ‐ Velocidad de datos: hasta 721 kbit/s por piconet ‐ Rango esperado del sistema: 10 metros hasta 100 metros ‐ Número de dispositivos: 8 por piconet y hasta 10 piconets ‐ Seguridad: Si, a nivel de enlace y de aplicación ‐ Alimentación: 2,7 voltios ‐ Consumo de potencia: desde 30 uA aparcado hasta 8‐30 mA transmitiendo ‐ Tamaño del Módulo: 9x9 mm. Página 28.
(32) Sistema de guía para personas invidentes a través de bluetooth ‐ Interferencia: Bluetooth minimiza la interferencia potencial al emplear saltos rápidos en frecuencia (1600 veces por segundo).. El protocolo banda base que utiliza Bluetooth combina las técnicas de conmutación de circuitos y de paquetes para asegurar que los paquetes llegan en orden, hasta 5 slots (intervalos en los que se divide el canal para el salto de frecuencia) se reservan para las transmisiones síncronas. Un aspecto muy importante, dado lo reducido del chip (9x9mm), ya que va a ir incorporado en dispositivos portátiles alimentado con baterías, es que tenga un consumo de potencia muy reducido (hasta un 97% menos que un teléfono móvil). Para ahorrar energía los dispositivos Bluetooth establecen el modo "hold" en el que no intercambian datos, también pueden activar el modo "sniff" en el que se escucha con un nivel bajo; en el modo standby los dispositivos no conectados en una piconet indagan por mensajes cada segundo y medio.. 2.7.3. Descripción módulo Bluetooth comercial. Para el desarrollo de este PFC nos hemos decidido por un módulo comercial de la marca Connect Blue OEM 312. Nuestro modulo está definido dentro de la clase 2, con un alcance de 10m. La conexión que realizaremos entre el módulo bluetooth y nuestro móvil será utilizando el protocolo REFCOM. Se tomo este por tener unas dimensiones reducidas con posibilidad de conectarse con equipos auxiliares mediante diferentes tipos de conectores. El módulo lleva integrada la antena y solo será necesario la utilización de un conector de 20 pines para realizar la conexión con nuestra tarjeta.. Figura 17 Módulo bluetooth Página 29.
(33) Sistema de guía para personas invidentes a través de bluetooth El módulo bluetooth está compuesto por los módulos mostrados en el siguiente esquema de bloques, donde podemos ver los diferentes puertos y funcionalidades asociados a este. En nuestra unidad utilizaremos el conector J1. El módulo estará alimentado mediante el convertidor DC/DC a 3,3v a través del conector JP2.. Figura 18 Diagrama de bloques módulo bluetooth. Página 30.
(34) Sistema de guía para personas invidentes a través de bluetooth. 2.7.3.1 Interfaz física entre módulo Bluetooth y PCB La comunicación con el módulo bluetooth se realizara mediante mensajes compartidos entre las UART incluidas en el módulo y la UART incluida en el micro controlador. El diseño de esta parte se muestra a continuación:. R31 VDD3.3 Res3 390. G. D2 TRILED. R. 4. 5. 6. B. R. B. 3. 2. 1. MODE. JP2. S1. R10 100 GND. 1. R7. 2. U4. A Y. 4. B 3. SW-PB. 390. VCC. 100nF. 14 11 7 8 5 12 10 16 18 20. 5. C15. 4 3 1 2 9 19 13 6 17 15. POWER SAVING. R9. R8 1K R15 100. MODULO BLUETOOTH. R16 100 TX-RX1 1 TEST_POINT. RX-TX1 1 TEST_POINT. R9 solo se monta si queremos utilizar la entrada de power saving. RX-TX. TX-RX. Figura 19 Esquema eléctrico conexión módulo bluetooth. Según recomendaciones del fabricante, cuando el módulo se tiene que comunicar con un host alimentado a 3,3v la interfaz entre el host y el módulo debe hacerse mediante resistencias de 100Ω.. Página 31.
(35) Sistema de guía para personas invidentes a través de bluetooth. Figura 20 Interfaz UART con micro controlador. La conexión del módulo con la tarjeta se realizara con un conector de 20 pines ubicado de forma estratégica en nuestra tarjeta para evitar chocar con los elementos del resto de la tarjeta.. Figura 21 Conector 20 pines. El módulo nos da distintas señales con las cuales podemos monitorizar el estado del módulo. Para ello se ha utilizado un diodo tri led con el cual indicaremos si está comunicando utilizando el diodo azul. Este diodo no está implementado en prototipo. Se propone como mejora. Página 32.
(36) Sistema de guía para personas invidentes a través de bluetooth El diodo rojo nos indicara si el módulo esta en modo de transmisión de datos o en modo comandos AT. Se habilitará una línea con la cual se podrá poner al módulo en modo de stand by. Finalmente se habilitará un reset manual para evitar que el módulo se quede en un estado desconocido donde no responda a mensajes enviados desde el micro. La descripción de cada uno de los pines es la siguiente:. Página 33.
(37) Sistema de guía para personas invidentes a través de bluetooth. Figura 22 Pin out módulo bluetooth. Página 34.
(38) Sistema de guía para personas invidentes a través de bluetooth Nuestro diseño se utilizará los pines del 15 al 20 para la comunicación con la UART. En estos pines la señales necesitan de niveles entre 0‐3v que son las que nos da nuestro micro controlador. Para comprobar que la comunicación esta activa hemos incluido un led azul (D2). Además dentro de la PCB se han habilitado puntos de test para comprobar las señales de transmisión y recepción.. La sujeción mecánica del módulo bluetooth con la tarjeta se realizara mediante dos orificios ubicados en el medio de la tarjeta.. Figura 23 Dimensiones y fijaciones mecánicas del módulo bluetooth. Para la configuración del módulo se tienen diferentes mensajes utilizando comandos AT con los cuales se puede configurar vía bluetooth y dejar al módulo preparado para enviar y recibir datos de forma autónoma.. En nuestra aplicación esta configuración se realizará con una tarjeta de adaptación USB, facilitada por fabricante como módulo de programación.. Página 35.
(39) Sistema de guía para personas invidentes a través de bluetooth. 3. Diseño SW 3.1 Diseño Android 3.1.1 Descripción. Toda la aplicación puede ser manejada con mensajes de voz y solo será necesaria la actuación sobre el dispositivo móvil en el momento de recibir la notificación.. Esta aplicación ha sido testada en un teléfono Samsung SII con diferentes versiones de sistema Android, mínimo requerido es Android 2.3.. 3.1.2 Usuarios y tareas del sistema. Usuario: persona invidente que podrá realizar tareas de configuración para activar/ desactivar las notificaciones deseadas ha ser proporcionadas por los U suario. agentes externos y activar / desactivar el sistema.. Configuración. ActivarSistema Usuario. Figura 24 Tareas. Página 36.
(40) Sistema de guía para personas invidentes a través de bluetooth. Dispone de dos tareas: Configuración: La primera parte se encargara de configurar la aplicación, es decir especificar la información la cual el usuario este interesado en ser notificado. Esta se podrá realizar completamente mediante mensajes de voz. La aplicación ira guiando al usuario a través de mensajes sobre las opciones disponibles en cada momento. Se podrá realizar tantas veces como se quiera ya que toda la información quedará registrada en una base de datos donde se almacenaran los datos configurados, así como su significado.. Figura 25 Diagrama actividad: Configuración. Página 37.
(41) Sistema de guía para personas invidentes a través de bluetooth. Caso de uso: Configuración. Nombre caso uso:. Configuración de la aplicación. Autor:. José Manuel Pérez Ruiz. Fecha:. 01/09/2013. Descripción: Permite configurar las opciones de las cuales el usuario desea ser notificado Actores:. Usuario. Flujo Normal: 1.. El actor selecciona la aplicación. 2.. El sistema presenta una ventana con las opciones iniciales, de forma visual y auditiva. 3.. El actor pronuncia la opción “Configuración”. 4.. El sistema le presentará una ventada con las opciones que pueden ser activadas tanto con botones como de forma de reconocimiento de voz. Una secuencia de ejemplo de ventanas para activar la notificación de tiempo de transporte sería la siguiente: 4.1.Transporte 4.2.Tiempo 4.3.Último 4.4.Activar. 5.. Seguir con más configuraciones o pronunciar Comenzar para activar el sistema con las opciones ya configuradas. Página 38.
(42) Sistema de guía para personas invidentes a través de bluetooth. Activar sistema: La segunda parte será la función principal de la aplicación, que será escuchar los mensajes enviados por la tarjeta bluetooth e identificar si tienen que ser o no ser informado el usuario del mensaje que se está mandando mediante la consulta de la base de datos previamente actualizada.. Figura 26 Diagrama actividad: Activar sistema. Caso de uso : Activar sistema Nombre caso uso:. Activar el sistema. Autor:. José Manuel Pérez Ruiz. Fecha:. 01/09/2013. Descripción: Permite activar el sistema para estar a la espera de notificaciones Actores: Usuario Flujo Normal: 1.. El actor selecciona la aplicación. 2.. El sistema presenta una ventana con las opciones iniciales, de forma visual y auditiva. 3.. El actor pronuncia la opción “Comenzar”. Página 39.
(43) Sistema de guía para personas invidentes a través de bluetooth 3.1.3 Descripción de bloques principales. APLICACION. PROGRAMA PRINCIPAL. CONFIGURACION. TRANSPORTE. UBICACION. CALLE ESCUCHAR MENSAJES. METRO AUTOBUS CERCANIAS. …... ….. ESTACION NOMBRE TIEMPO. …... …... ACTIVAR DES-ACTIVAR. …... …... Figura 27 Flujo de programa Android. En el esquema de bloques podemos ver lo que sería la estructura de una aplicación. Como podemos ver al principio de la aplicación nos encontraremos con una pantalla donde deberemos de elegir si comenzamos a utilizar la aplicación o deseamos cambiar la configuración.. Página 40.
(44) Sistema de guía para personas invidentes a través de bluetooth. Figura 28 Primera pantalla. En esta primera pantalla se muestran dos botones a la vez que el sistema TTS (text‐to‐ speach) comienza a lanzarnos indicaciones para utilizar la aplicación.. Una vez terminada la explicación sonora de las opciones de cada pantalla, la aplicación lanza el reconocimiento de voz para que el usuario elija entre una de las opciones disponible en esa pantalla.. Figura 29 Reconocimiento de voz Página 41.
(45) Sistema de guía para personas invidentes a través de bluetooth. Esta aplicación que es propia del sistema Android reconoce el comando que el usuario pide e inicia la acción pertinente que puede ser ir a la siguiente pantalla o salir para comenzar la aplicación.. Una vez tenemos todo configurado como el usuario desea la aplicación se queda en escucha de alguna comunicación Bluetooth para dar indicaciones pertinentes al usuario.. Como segunda opción toda la aplicación se puede manejar mediante pulsaciones en las opciones que aparecen en pantalla, pero no es el objetivo de esta aplicación.. Cuando hemos lanzado la aplicación esta nos indicara que hay un mensaje disponible y mediante un toque en cualquier parte de la pantalla nos dará la información disponible en el punto bluetooth que esté más cerca.. 3.1.3.1 Descripción clases proyecto Android 3.1.3.1.1. Estructura proyecto Android. Para la realización del proyecto Android hemos utilizado la plataforma de desarrollo ANDROID SDK. En el ANEXO C se describe los pasos necesarios para la instalación de dicho. IDE.. Una vez instalados todos los sw necesarios así como sus complementos pasamos a describir todos los archivos que vamos a necesitar para la creación de nuestro proyecto así como su implementación en este proyecto.. Para empezar a comprender cómo se construye una aplicación Android vamos a echar un vistazo a la estructura general de un proyecto tipo. Cuando creamos un nuevo proyecto Android en Eclipse se genera automáticamente la estructura de carpetas necesaria para poder generar posteriormente la aplicación. Esta estructura será común a cualquier aplicación, independientemente de su tamaño y complejidad.. Página 42.
(46) Sistema de guía para personas invidentes a través de bluetooth En la siguiente imagen vemos los elementos creados inicialmente para un nuevo proyecto Android:. Figura 30 Estructura carpetas Android. Describamos los elementos principales.. Carpeta /src/ Contiene todo el código fuente de la aplicación, código de la interfaz gráfica, clases auxiliares, etc. Inicialmente, Eclipse creará por nosotros el código básico de la pantalla (Activity) principal de la aplicación, siempre bajo la estructura del paquete java definido.. Figura 31 Carpeta src. En nuestro proyecto en esta carpeta tenemos recopilados todos los códigos de cada pantalla. En la siguiente tabla se describen cada una de las pantallas y clases necesarias en nuestra aplicación.. Nombre Clase. Descripción Clase necesaria para. AdminSQLiteOpenHelper.java. poder generar nuestra base de datos. BluethootActivity.java. Activity para inicializar el servicio Bluetooth. Página 43.
(47) Sistema de guía para personas invidentes a través de bluetooth Nombre Clase. Descripción Clase que genera el servicio dentro de la. BluetoothChatService.java. aplicación Android para poder utilizar el bluetooth del dispositivo Clase que no tiene asignada una ventana. ClaseDatos.java. donde podamos actuar. Con esta clase creamos una base de datos Pantalla donde indicamos a la aplicación. Pantalla_Activacion.java. que propiedad se debe activar o desactivar en la base de datos Pantalla que nos permite configurar las diferentes. Pantalla_calle_caracteristicas_cajero.java. características de cajero: Tipo Nombre Estado Pantalla que nos permite configurar los diferentes características de las. Pantalla_calle_caracteristicas_obras.java. obras: Tipo Duración Protecciones. Página 44.
(48) Sistema de guía para personas invidentes a través de bluetooth Nombre Clase. Descripción Pantalla que nos permite configurar los diferentes características de los. Pantalla_calle_caracteristicas_semaforo.java. semáforos: Estado Duración Distancia Pantalla que nos permite configurar a que distancias de semáforos. Pantalla_calle_distancia_semaforo.java. queremos que nos informe: Más de diez metros Menos de diez metros Menos de cinco metros Pantalla que nos permite configurar los tiempo de. Pantalla_calle_duracion_obras.java. duración de las obras: Un día Dos días Sin determinar Pantalla que nos permite configurar los tiempo de duración de los. Pantalla_calle_duracion_semaforo.java. semáforos: Un minuto Menos de un minuto Menos de treinta seg.. Página 45.
(49) Sistema de guía para personas invidentes a través de bluetooth Nombre Clase. Descripción Pantalla que nos permite configurar las diferentes. Pantalla_calle_estado_cajero.java. características de cajero: Funciona Averiado Otro Pantalla que nos permite configurar los diferentes estados de los. Pantalla_calle_estado_semaforo.java. semáforos: Funciona Averiado Otro Pantalla que nos permite configurar las diferentes. Pantalla_calle_nombre_cajero.java. nombres de cajero: Santander BBVA Otro Pantalla que nos permite configurar las diferentes características de las. Pantalla_calle_protecciones_obras.java. protecciones: Valla Zanja Andamio Pantalla que nos permite configurar las diferentes características del tipo. Pantalla_calle_tipo_cajero.java. de cajero: Interior Exterior Otros. Página 46.
(50) Sistema de guía para personas invidentes a través de bluetooth Nombre Clase. Descripción Pantalla que nos permite configurar los diferentes. Pantalla_calle_tipo_obras.java. tipos de obras: Edificio Calle Otros Pantalla que nos permite configurar los diferentes. Pantalla_Destino.java. tipos de destinos: Nombre Horario Incidencia Pantalla que nos permite configurar los diferentes. Pantalla_Estacion.java. tipos de estaciones: Nombre Horario Incidencia Pantalla que nos permite configurar los diferentes tipos horario de apertura. Pantalla_tipo_supermercado.java. en los supermercados: Ocho Doce Veinticuatro Pantalla que nos permite configurar las diferentes características de las. Pantalla_ubicacion_caracteristicas_farmacia.java. farmacias : Tipo Día laboral Horario. Página 47.
(51) Sistema de guía para personas invidentes a través de bluetooth Nombre Clase. Descripción Pantalla que nos permite configurar las diferentes características de los. Pantalla_ubicacion_caracteristicas_supermercado.java. supermercados : Tipo Día laboral Horario Pantalla que nos permite configurar las diferentes. Pantalla_ubicacion_día_laboral.java. jornadas de trabajo: Lunes a viernes Fines de semana Todos los días Pantalla que nos permite configurar los diferentes tipos horario de apertura. Pantalla_ubicacion_farmacia.java. en las farmacias: Ocho Doce Veinticuatro Pantalla que nos permite configurar los diferentes tipos horario de. Pantalla_ubicacion_horario.java. apertura: Mañana Tarde Todo el día. Página 48.
(52) Sistema de guía para personas invidentes a través de bluetooth Nombre Clase. Descripción Pantalla que nos permite configurar los diferentes tipos horario de apertura. Pantalla_ubicacion_tipo_farmacia.java. en las farmacias: Ocho Doce Veinticuatro Pantalla que nos permite configurar los diferentes. Pantalla_ubicacion_tipo_supermercado.java. tipos de supermercado: Vegetariano Nacional Internacional Pantalla que nos permite configurar los diferentes tipos de opciones en la. PantallaCalle.java. calle: Semáforo Obras Cajero Pantalla donde se nos permite elegir que servicio queremos. PantallaServicios.java. configurar: Transporte Calle Ubicación Pantalla donde configuramos las. PantallaTiempo.java. propiedades de tiempo: Último Siguiente Incidencia. Página 49.
(53) Sistema de guía para personas invidentes a través de bluetooth Nombre Clase. Descripción Pantalla que nos permite configurar los diferentes. PantallaTransporte.java. tipos de transporte : Metro Autobús Cercanías Pantalla donde nos permite elegir que factor queremos configurar en. PantallaTransporte2.java. los transportes: Tiempo Estación Destino Pantalla que nos permite configurar los diferentes. PantallaUbicacion.java. tipos de ubicaciones : Restaurantes Supermercados Farmacias Pantalla principal de inicio de aplicación. Aquí. Ventanas.java. se decide que acción se toma si lanzar o configurar.. Carpeta /res/ Contiene todos los ficheros de recursos necesarios para el proyecto: imágenes, vídeos, cadenas de texto, etc. Los diferentes tipos de recursos de deberán distribuir entre las siguientes carpetas: . /res/drawable/. Contienen las imágenes de la aplicación. Se puede dividir en /drawable‐ldpi, /drawable‐mdpi y /drawable‐hdpi para. Página 50.
(54) Sistema de guía para personas invidentes a través de bluetooth utilizar diferentes recursos dependiendo de la resolución del dispositivo. . /res/layout/. Contienen los ficheros de definición de las diferentes pantallas de la interfaz gráfica. Se puede dividir en /layout y /layout‐ land para definir distintos layouts dependiendo de la orientación del dispositivo. En nuestra aplicación vamos a definir los siguientes layouts: Descripcion Layouts activity_clase_datos.xml activity_connexion_bluetooth.xml activity_main.xml activity_pantalla__activacion.xml activity_pantalla__destino.xml activity_pantalla__estacion.xml activity_pantalla_calle_caracteristicas_cajero.xml activity_pantalla_calle_caracteristicas_obras.xml activity_pantalla_calle_caracteristicas_semaforo.xml activity_pantalla_calle_distancia_semaforo.xml activity_pantalla_calle_duracion_obras.xml activity_pantalla_calle_duracion_semaforo.xml activity_pantalla_calle_estado_cajero.xml activity_pantalla_calle_estado_semaforo.xml activity_pantalla_calle_nombre_cajero.xml activity_pantalla_calle_protecciones_obras.xml activity_pantalla_calle_tipo_cajero.xml activity_pantalla_calle_tipo_obras.xml activity_pantalla_ubicacion_caracteristicas.xml activity_pantalla_ubicacion_día_laboral.xml activity_pantalla_ubicacion_farmacia.xml activity_pantalla_ubicacion_horario.xml activity_pantalla_ubicacion_restaurante.xml activity_pantallla_ubicacion_supermercado.xml pantalla_ubicacion_tipo_farmacia.xml Página 51.
(55) Sistema de guía para personas invidentes a través de bluetooth pantallacalle.xml pantallainicio.xml pantallametro.xml pantallaservicios.xml pantallatiempo.xml pantallatransporte.xml pantallatransporte2.xml pantallaubicacion.xml . /res/anim/. Contiene la definición de las animaciones utilizadas por la aplicación.. . /res/menu/. Contiene la definición de los menús de la aplicación.. . /res/values/. Contiene otros recursos de la aplicación como por ejemplo cadenas de texto (strings.xml), estilos (styles.xml), colores (colors.xml), etc.. . /res/xml/. Contiene los ficheros XML utilizados por la aplicación.. . /res/raw/. Contiene recursos adicionales, normalmente en formato distinto a XML, que no se incluyan en el resto de carpetas de recursos.. Figura 32 Carpeta res. Carpeta /gen/ Contiene una serie de elementos de código generados automáticamente al compilar el proyecto. Cada vez que generamos nuestro proyecto, la maquinaria de compilación de Android genera por nosotros una serie de ficheros fuente en java dirigido al control de los recursos de la aplicación. Página 52.
(56) Sistema de guía para personas invidentes a través de bluetooth. Figura 33 Carpeta gen. El más importante es el que se puede observar en la imagen, el fichero R.java, y la clase R. Esta clase R contendrá en todo momento una serie de constantes con los IDs de todos los recursos de la aplicación incluidos en la carpeta /res/, de forma que podamos acceder fácilmente a estos recursos desde nuestro código a través de este dato.. Carpeta /assets/ Contiene todos los demás ficheros auxiliares necesarios para la aplicación (y que se incluirán en su propio paquete), como por ejemplo ficheros de configuración, de datos, etc. La diferencia entre los recursos incluidos en la carpeta /res/raw/ y los incluidos en la carpeta /assets/ es que para los primeros se generará un ID en la clase R y se deberá acceder a ellos con los diferentes métodos de acceso a recursos. Para los segundos sin embargo no se generarán IDs y se podrá acceder a ellos por su ruta como a cualquier otro fichero del sistema. Usaremos uno u otro según las necesidades de nuestra aplicación.. Fichero AndroidManifest.xml Contiene la definición en XML de los aspectos principales de la aplicación, como por ejemplo su identificación (nombre, versión, icono, …), sus componentes (pantallas, mensajes, …), o los permisos necesarios para su ejecución. Aparte de otras cosas, AndroidManifest.xml se encarga de : Página 53.
(57) Sistema de guía para personas invidentes a través de bluetooth . Nombra el paquete JAVA. Cada paquete JAVA lleva un identificador único en la aplicación.. . Describe cada uno de los componentes de la aplicación — activities, services y broadcast receivers junto con content providers de los que nuestra aplicación hace uso. Nombra las clases que implementan cada uno de sus componentes y publica sus posibles opciones. Si necesitas acceder a una Activity o un Intent, lo declaramos.. . Determina que procesos implementa.. . Declara los permisos que necesita nuestra aplicación.. . Declara, así mismo, que permisos requieren otras partes para interactuar con nuestra aplicación.. . Permite definir niveles mínimos y máximo de SDK en los que nuestra aplicación será compatible.. . Lista las librerías que son enlazadas a nuestra aplicación.. En nuestra aplicación vamos a solicitar permisos para acceder a internet y tener acceso para activar el bluetooth del dispositivo.. <uses‐permission android:name="android.permission.INTERNET" /> ‐‐>. Permite a las. aplicaciones abrir sockets de red <uses‐permission android:name="android.permission.BLUETOOTH" /> ‐‐>. Permite que. las aplicaciones se conecten a dispositivos con Bluetooth emparejados <uses‐permission android:name = "android.permission.BLUETOOTH_ADMIN" /> ‐‐>. Permite a las aplicaciones para descubrir y emparejar dispositivos Bluetooth. Otra opción que vamos a definir en nuestro archivo manifest será que todas las pantallas definidas en el layout solo van a tener una posición determinada, es decir no se podrá utilizar la opción de rotar la pantalla que viene predeterminada en la mayoría de los dispositivos móviles. Esto lo implementamos en el archivo manifest incluyendo el siguiente comando:. android:screenOrientation="portrait". Página 54.
(58) Sistema de guía para personas invidentes a través de bluetooth 3.1.3.1.2. Subir aplicación a Google Play. Una vez la aplicación esta depurada y sin errores el plugin de Eclipse nos proporciona la herramienta para generar la aplicación, que podremos descargar en nuestro dispositivo y se podrá instalar. Esta aplicación tiene la extensión “.apk”. Básicamente para generar esta aplicación se debe de rellenar los siguientes datos: . Alias: Nombre con el que queremos que se identifique. . Password: clave para crear la aplicación. . Confirm: Se debe de confirmar el password anterior. . Validity(years):Este campo se debe de rellenar con un mínimo de 25 años. . First and Last Name: Nombre del responsable del desarrollo. . Organizational Unit and Organization: Empresa y unidad empresarial. . City or Locality: Ciudad donde se hizo el desarrollo. . State or Province: Ciudad donde se hizo el desarrollo. . Country Code(XX):. Página 55.
(59) Sistema de guía para personas invidentes a través de bluetooth. Figura 34 Formulario para generar fichero .apk. Página 56.
Documento similar
La combinación, de acuerdo con el SEG, de ambos estudios, validez y fiabilidad (esto es, el estudio de los criterios de realidad en la declaración), verificada la
DECORA SOLO LAS IMÁGENES QUE NECESITES PARA LLEGAR AL NÚMERO CORRESPONDIENTE... CEIP Sansueña/CEIP Juan XXIII Infantil
Las personas solicitantes deberán incluir en la solicitud a un investigador tutor, que deberá formar parte de un grupo de investigación. Se entiende por investigador tutor la
El objetivo del trabajo ha sido implementar un sistema de aprendizaje adaptable para colegios de educación especial con estudiantes con TEA, con el fin de ayudar a que los alumnos
La solución que se ha planteado, es que el paso o bien se hiciese exclusivamente por el adarve de la muralla, o que una escalera diese acceso por la RM evitando la estancia (De
Imparte docencia en el Grado en Historia del Arte (Universidad de Málaga) en las asignaturas: Poéticas del arte español de los siglos XX y XXI, Picasso y el arte español del
De esta manera, ocupar, resistir y subvertir puede oponerse al afrojuvenicidio, que impregna, sobre todo, los barrios más vulnerables, co-construir afrojuvenicidio, la apuesta
[r]