monitoreo agv utilizando un sistema de...
TRANSCRIPT
1
MONITOREO AGV UTILIZANDO UN SISTEMA DE INFORMACIÓN PARA
DISPOSITIVOS MOVILES CON ANDROID
JUAN DAVID TRUJILLO ROBAYO
Proyecto de grado presentado para optar al título de ingeniero de sistemas
Asesor
Carlos Arturo Castro Castro
UNIVERSIDAD DE SAN BUENAVENTURA SECCIONAL MEDELLÍN
FACULTAD DE INGENIERÍAS
INGENIERÍA DE SISTEMAS
MEDELLÍN
2012
2
MONITOREO AGV UTILIZANDO UN SISTEMA DE INFORMACIÓN PARA
DISPOSITIVOS MOVILES CON ANDROID
JUAN DAVID TRUJILLO ROBAYO
Proyecto de grado presentado para optar al título de ingeniero de sistemas
Asesor
Carlos Arturo Castro Castro
UNIVERSIDAD DE SAN BUENAVENTURA SECCIONAL MEDELLÍN
FACULTAD DE INGENIERÍAS
INGENIERÍA DE SISTEMAS
MEDELLÍN
2012
3
CONTENIDO
1. JUSTIFICACIÓN .............................................................................................................................6
2. PLANTEAMIENTO DEL PROBLEMA ...................................................................................................7
3. OBJETIVO GENERAL ..........................................................................................................................8
4. OBJETIVOS ESPECÍFICOS ...................................................................................................................8
5. MARCO REFERENCIAL ......................................................................................................................9
5.1. SOLUCIONES SIMILARES ...................................................................................................9
6. DISEÑO METODÓLOGICO.............................................................................................................. 14
7. METODOLOGÍA DESARROLLO DE SOFTWARE............................................................................... 15
8. ESQUEMA TEMATICO ................................................................................................................ 15
8.1. TECNOLOGÍA DE INTERCONEXIÓN .................................................................................... 15
8.2. INTERCONEXIÓN DE DATOS POR BLUETOOH ................................................................... 16
8.2. SIMULAR LOS DATOS RECIBIDOS POR BLUETOOH DE UN DISPOSITIVO AGV ................... 20
8.2.1. ENCUESTA DE COMUNICACIÓN ................................................................................ 21
8.2.2. DIAGRAMA DE CASOS DE USOS ................................................................................ 22
8.3. DISEÑO E IMPLEMENTACIÓN ............................................................................................ 27
8.3.1. DIAGRAMA DE CLASES .............................................................................................. 27
8.3.2. CREAR CONEXIÓN CON AGV ..................................................................................... 28
8.3.2.1. PERMISOS DEL BLUETOOTH .................................................................................. 28
8.3.2.2. CONFIGURACIÓN BLUETOOTH .............................................................................. 28
8.3.2.3. BÚSQUEDA DE DISPOSITIVOS EN EL AREA ............................................................ 30
8.3.2.4. CONECTAR CON DISPOSITIVO ............................................................................... 31
8.3.2.5. RASTREANDO DISPOSITIVO EN MAPA .................................................................. 32
8.4. PRUEBAS DE AMBIENTE SIMULADO ................................................................................. 35
8.4.1. PRUEBA DE INICIO DE LA APLICACIÓN ...................................................................... 35
8.4.2. ACTIVAR EL DISPOSITIVO BLUETOOTH ..................................................................... 36
8.4.3. HACER VISIBLE ........................................................................................................... 36
4
8.4.4. CONECTAR CON DISPOSITIVO ................................................................................... 37
8.4.5. BUSCAR NUEVOS DISPOSITIVOS ............................................................................... 37
8.4.6. CONSULTAR ............................................................................................................... 38
9. CONCLUSIONES ......................................................................................................................... 39
10. REFERENCIAS BIBLIOGRAFICAS ................................................................................................... 40
5
LISTA DE ANEXOS
Anexo A. Guía de instalación android Eclipse.
Anexo B. Manual programación android bluetooth.
Anexo C. Java doc aplicación bluetooth.
6
1. JUSTIFICACIÓN
Todas las posibilidades que un S.O brinda y la libertad que ofrece, ayudan a obtener
mejores aplicaciones sin ninguna restricción, ampliando la posibilidad para desarrollar
software con integración multiplataforma. Utilizar los Smartphone como centro de control
de sistemas integrados permite obtener el rendimiento de un equipo de escritorio en la
palma de las manos, mejorando la maniobrabilidad y el tiempo de respuesta a la hora de
ejecutar tareas.
La respuesta más ágil, eficiente y estable a las necesidades actuales de sincronización
entre un teléfono y un dispositivo AGV, se ve reflejada en el sistema operativo android. Es
un S.O que brinda soluciones de bajo costo al alcance de una descarga y con una gran
comunidad de soporte técnico que desarrolla soluciones funcionales en casi cualquier
área conocida.
Android cuenta con una comunidad de desarrolladores de orden mundial, originando una
gran aceptación en foros, eventos y grupos que ayudan a optimizar los servicios y
aplicaciones ofrecidas por el S.O.
El desarrollo de este proyecto trae un beneficio a la comunidad académica con manuales,
tutoriales y productos que ayudan a la apropiación del conocimiento reduciendo la
complejidad técnica de nuevas tecnologías
7
2. PLANTEAMIENTO DEL PROBLEMA
A pesar de que nuestra comunidad se encuentra en una brecha digital con respeto a
países que utilizan adecuadamente las TIC, la información que se puede obtener es
apropiada para suplir las necesidades actuales, pero no para competir con países
desarrollados que utilizan nuevas tecnologías que aún no son conocidas.
La formación académica influye en el desarrollo de nuevas tecnologías, la falta de
personas capacitadas en tendencias tecnológicas mundiales dificulta el aprendizaje de
millones de colombianos que a diario se preparan en instituciones de nuestro país.
En la actualidad el desarrollo de aplicativos para dispositivos móviles tiene una alta
complejidad técnica dificultando la apropiación de la tecnología, adicionalmente las
soluciones propietarias como editores de mapas, sistemas GPS de localización obligan a
pagar altas tarifas de derecho de autor a los creadores [1]. Cuando los desarrollos para
dispositivos móviles están directamente relacionados con tecnologías de
telecomunicaciones hace aún más complejo el proceso de adquisición del conocimiento.
La interpretación de la señales de un dispositivo x, mientras realiza actividades dentro de
un área definida para conocer su ubicación y estado actual, requiere de conocimientos en
especificaciones de redes inalámbricas como por ejemplo bluetooth [2] y en procesos de
georeferenciación propio de las herramientas para sistemas de información geográfica. La
representación grafica de la posición y el estado requiere de un Smartphone con sistema
operativo como android que reduce los costos de implementación.
El desarrollo de aplicaciones que permiten la interacción de diferentes tecnologías ayuda
a solucionar problemas a un bajo costo, La necesidad de un mundo tecnológico que nos
permite estar conectados con casi cualquier dispositivo, proporcionando un mayor control
y auditoria de aquellos sistemas que son parte esencial de las actividades diarias.
8
3. OBJETIVO GENERAL
Diseñar e implementar un sistema de localización en android para integrar un smartphone
por medio del bluetooth, para la localización y monitoreo de las actividades realizadas por
un AGV.
4. OBJETIVOS ESPECÍFICOS
I. Definir la tecnología apropiada de interconexión entre dispositivos.
II. Diseñar la interconexión de datos por bluetooh en un Smartphone con sistema
operativo android.
III. Simular los datos recibidos por bluetooh de un dispositivo AGV para su
procesamiento.
IV. Implementar prototipo en Ambiente Real.
9
5. MARCO REFERENCIAL
El desarrollo de aplicaciones para dispositivos móviles se ha incrementado de una
manera exponencial en los últimos 5 años, su gran éxito y aceptación en el mercado a
generado una nueva tendencia de desarrollos a nivel mundial que permite la creación de
soluciones más económicas, agiles y de alta disponibilidad para el usuario.
5.1. SOLUCIONES SIMILARES
La empresa viper desarrollo una aplicación para blackberry, ios y android que permite el
control de todo un auto con un Smartphone, entre sus características se encuentra la
activación de alarma del automóvil, así como el encendido del motor, control de ventanas,
aire acondicionado entre muchas otras funciones.
Actualmente la empresa se encuentra desarrollando mejoras de su catalogo [7] de
aplicaciones pero el proyecto ha tenido muy buena aceptación entre el público.
A. BLUETOOTH Y SUS TIPOS DE COMUNICACIONES
Es una herramienta de la industria de las telecomunicaciones, que se especializa en el
funcionamiento a través de una banda de frecuencia 2.4 , la cual describe como los
teléfonos móviles, ordenadores, y asistentes personales digitales (PDAs) fácilmente
pueden ser interconectados usando una conexión de radio de gama corta.
El Bluetooth está basado en la tecnología de radio, es el soporte de la comunicación de
un dispositivo en distancia corta, que hace la transferencia inalámbrica de la información
entre numerosos dispositivos posibles. El Bluetooth ha sido usado en una serie de
tecnologías, métodos y teorías para diseños de software y el hardware.
Por ejemplo, la comunicación inalámbrica, las tecnologías en red, la ingeniería y el
software de teorías independientes, los protocolos de tecnologías de prueba, los
estándares que describen el lenguaje, el desarrollo de plataformas cruzadas y la
tecnología de interfaces gráficas para el usuario, o las tecnología de interfaces para
software y hardware, y los CMOS chips con tecnología de integración, etc. Debido a su
pequeño tamaño y bajo poder, el uso de tecnología Bluetooth es superior a la de un
dispositivo periférico de un ordenador. Puede ser integrado dentro de cualquier dispositivo
digital, sobre todo para dispositivos micro y dispositivos portátiles, que no requieren de
alta calidad sobre la velocidad de transferencia.
10
En la actualidad, con el rápido desarrollo de la tecnología digital, la transferencia
inalámbrica de la información debe ser frecuente entre toda clase de dispositivos digitales
y ordenadores. Especialmente en el control y recolección de datos, un medio seguro para
conectar e intercambiar información entre un ordenador y un MCU es particularmente
importante. El sistema de comunicación por bluetooth se apoya en el MCU control [3]. El
sistema es controlado por MCU y puede comunicarse con cualquier otro dispositivo
Bluetooth en el rango de la red.
B. NORMAS DE PROTOCOLO Y ESPECIFICACIÓN DE BLUETOOTH
Bluetooth usa una variedad de protocolos. Los Protocolos principales son definidos por la
organización comercial Bluetooth SIG (el Grupo de Interés Especial). Otros protocolos
adicionales han sido adoptados por otras normas estandarizadas. En esta sección, se
realiza una visión general de los protocolos principales y aquellos protocolos que han sido
adoptados que son ampliamente utilizados. Los protocolos principales proporcionan las
normas y la calificación para productos Bluetooth.
Habitualmente, las especificaciones de Bluetooth tienen varias versiones 1.0, 1.1, 2.0, 2.1,
3.0, 4.0. El 21 de abril de 2010, el Bluetooth SIG completó la versión 4.0 de Especificación
Bluetooth Principal, que incluye el Bluetooth Clásico, la alta velocidad y los protocolos de
baja energía. La alta velocidad de Bluetooth está basada en Wi-Fi, y el Bluetooth Clásico
consiste en el legado de los protocolos de Bluetooth [3].
Según el protocolo principal, El Bluetooth es el reemplazo del cable convencional que
comunica un ordenador o dispositivo con otro, y fue principalmente diseñado para un
consumo más bajo de electricidad, con una gama corta (La clase de poder depende: 100
m, 10 m y 1 m, pero los rangos varían en la práctica). Como los dispositivos usan una
radio en el sistema de comunicaciones (De difusión), ellos no tienen que estar en la línea
de vista el uno del otro.
Según la investigación del Protocolo para Bluetooth, sobre todo el Protocolo Principal y el
Bluetooth HCI, se propone una especie de transferencia de datos por Bluetooth basada
en el MCUcontrol, proporcionando mayores soluciones con el desarrollo de dispositivos
más económicos y portátiles de Bluetooth. A través del uso del sistema, la conexión
puede ser establecida automáticamente entre dos dispositivos Bluetooth de un mismo
modelo, pero con una dirección física diferente, los cuales son apareados con antelación.
Hoy en día, el sistema ha desarrollado un archivo del protocolo de transferencia sobre
ambas capas permitiendo que el archivo pueda ser transferido automáticamente. En la
base, el sistema puede ser expandido a modo de punto, para “multiseñalar” o conectar
una red.
11
C. ANDROID
Android es un sistema operativo para smartphones basado en Linux Kernel que incluye un
SDK que proporciona los instrumentos y APIs necesarios para comenzar a desarrollar las
aplicaciones sobre la plataforma de Android utilizando el lenguaje de programación Java.
Android incluye un conjunto de bibliotecas de núcleo que proporciona la mayor parte de la
funcionalidad disponible en las bibliotecas principales del lenguaje de programación Java.
Este se basa en la versión 2.6 de Linux para los servicios básicos del sistema como la
seguridad, la gestión de memoria, la dirección de proceso, la pila de red, y el modelo del
controlador. El núcleo también actúa como una capa de abstracción entre el hardware y el
resto del software.
Android es una plataforma para dispositivos móviles desarrollada por Google. La cual
proporciona un conjunto completo del desarrollo de software: el sistema operativo,
herramientas y APIs necesarias para empezar a desarrollar aplicaciones [4]. La
programación basada en Java que hace Android es ampliamente utilizada en el desarrollo
de aplicaciones móviles.
I. COMPONENTE DE LA APLICACIÓN
Los componentes de la aplicación son la base fundamental de una aplicación android.
Cada uno del componente es un lugar diferente en el que el sistema puede ingresar a la
aplicación. No todos los componente son punto de entrada para el usuario y varios
dependen de la funcionalidad de un padre para que funcionen los hijos, pero cada uno
existe como una objecto propio y desespeña una tarea especifica.cada uno ayuda a
definir el correcto funcionanmiento de la aplicación.
[8].
II. ACTIVACIÓN DE LOS COMPONENTES
Para poder activar los componentes es necesario tener claro que solo tres de cuatro
componentes se activan por medio de un mensaje asincrónico que llama una intención.
Una intención o un objeto Intent es la encargada de definir la acción a realizar, en
algunos casos se puede iniciar una actividad para recibir un resultado, en este caso la
actividad devuelve un resultado a una Intent. .
[9]
12
III. ARCHIVO MANIFEST
Antes de que el sistema android inicie cualquier componente de la aplicación es necesario
saber que existe el componente en el archivo AndroidManifest.xml. Toda aplicación que
se realice tiene por obligación declarar que componentes del celular utilizará. .
[10]
D. IDE ECLIPSE
La Plataforma Eclipse, es un entorno de desarrollo integrado (IDE) para todo, y nada en
particular. Aunque esta Plataforma cuenta con una gran cantidad de funciones integradas,
es posible extender su sistema. El plug-in es la menor unidad funcional de la Plataforma
Eclipse, el cual puede ser desarrollado y entregado por separado. Todas las
funcionalidades de Eclipse se entregan a través de la interface del plug-in, a excepción
de un pequeño núcleo conocido como la plataforma de ejecución. Una característica
simple, es que puede ser agregada a través de un único plug-in y desarrollarse sin ningún
tipo de codificación. Un IDE completo para un lenguaje de programación se puede dividir
en varios plug-in‟s, cada uno codificado en Java. Así, las herramientas conectadas en el
Plataforma, suministran las características específicas que realizan un desarrollo
adecuado en los nuevos tipos de aplicaciones. [5]
El ADT (Herramientas de desarrollo de Android) es un plugin para el IDE de Eclipse el
cual está diseñado para proporcionar un contexto más potente e integrando para llevar a
cabo la creación de aplicaciones en Android.
El ADT amplía las capacidades de Eclipse para que pueda configurar rápidamente nuevos
proyectos de Android, creando así una aplicación de usuario, la cual agrega unos
paquetes basados en el marco API de Android, y clasifica sus aplicaciones utilizando las
herramientas del SDK de Android.
Eclipse se entrega con una herramienta para Java. Las herramientas de desarrollo Java
(JDT) posee programas que tienen la capacidad de desarrollar la Plataforma, así como
cualquier versión completa de Java IDE (gestión de proyectos, editor de la fuente de
código, las búsquedas complejas, recopilación incremental, el apoyo de depuración, etc.)
Eclipse también es compatible con una C / C + + IDE equivalente: la CDT. Todas estas
herramientas se han desarrollado utilizando la infraestructura Eclipse API, el cual es un
proceso abierto y documentado.
Los lenguajes orientados a objetos son muy populares, sin embargo, aún no tienen
características de gran alcance como la que proporciona la combinación de patrones
expresivos gracias a los lenguajes de programación funcionales. En la práctica, estas
13
características interactúan vagamente con los mecanismos de abstracción de datos que
son fundamentales para los lenguajes orientados a objetos.
La Plataforma Eclipse tiene la ventaja de ser muy simple, permitiendo así un entorno más
favorable para promover un lenguaje y desarrollo más fácily rápido. La plataforma genera
respuestas a los problemas que otras instalaciones complejas poseen, proporcionando un
entorno integrado que contiene dos tipos de editores, compiladores y constructores.
Además, es capaz de suministrar un editor completo y especializad, por ejemplo para
TOM, ofreciendo una sintaxis de color, palabras clave, y reportes de errores en un entorno
uniforme. Por último, Eclipse también ofrece soporte para la clasificación y depuración
buscando reutilizar dichos elementos para integración de TOM.
La plataforma Eclipse tiene un proceso definido de respuestas automáticas, el cual se
activa cada vez que un recurso es modificado. El flujo de trabajo de recolección muestra
cómo este proceso puede ser utilizado para compilar automáticamente un proyecto: cada
vez que se modifica un recurso, sea cual sea, tiene que volver a compilarse. Además,
cuando una definición se ha modificado, dependiendo del Los archivos, también tienen
que ser re-compilados. Y Para completar el proceso de construcción, todos los archivos
generados de Java tienen que ser compilados.
Cuando se utiliza un entorno de desarrollo integrado, una de las características más
importante es la posibilidad de visualizar los errores de programación. Este es, sin lugar a
dudas, un punto muy fuerte que proporciona el IDE de Eclipse. Además tiene la ventaja
de tener un proceso sencillo a la hora de desarrollar los asistentes y los procesos de
construcción automáticos.
Al proporcionar un proceso de generación automática y un buen manejo de la gestión en
el mecanismo de errores, el presente plug-in de Eclipse logra simplificar
considerablemente el desarrollo de programas basados en TOM.
14
6. DISEÑO METODÓLOGICO
A. Fase 1
Explorar documentación sobre S.O: Dispositivos móviles.
Definir la arquitectura del Hardware.
Selección de plataforma de software.
B. Fase2
Diseñar un proceso de comunicación mediante un diagrama de componentes.
Estructuración de código para prototipo de comunicación diseñado.
C. Fase 3
Elicitar requisitos para definir el tipo y cantidad de datos recibidos y enviados a
la plataforma robótica. crear documento en Word tipo entrevista, elaboración
de preguntas, el orden es preguntas abiertas y cerradas.
Especificar requisitos mediante caso de uso.
Diseñar interfaz Gráfica del aplicativo para Smartphone.
Diseñar ambiente de pruebas para prototipo simulado.
Documentar resultado del ambiente simulado.
Documentar implementación en Ambiente.
D. Fase 4
Diseñar ambiente de pruebas para Caso real.
Documentar Resultados para Caso real.
15
7. METODOLOGÍA DESARROLLO DE SOFTWARE
La metodología para desarrollar el aplicativo, consiste en una adecuación del modelo en
espiral presentada por Barry W. Boehm [6] (Comunicación con los usuarios, Análisis y
gestión de riesgos, Planificación, Ingeniería: Análisis, Diseño, programación, pruebas)
haciendo especial énfasis en el desarrollo por prototipos permitiendo así una mayor y
mejor participación del equipo del proyecto y una adecuada validación de requerimientos
(pruebas funcionales).
Para el desarrollo del proyecto en general se utilizo una definición de fases
metodológicas con actividades asociadas a cada uno de los objetivos específicos.
8. ESQUEMA TEMATICO
8.1. TECNOLOGÍA DE INTERCONEXIÓN
Actualmente los S.O más utilizados en los dispositivos a nivel mundial son: Google
Android OS, Microsoft Windows Mobile OS, Sysmbian OS, RIM OS e Iphone OS.
Para ver más información acerca del funcionamiento de cada sistema operativo [7].
La elección del SO adecuado es primordial para el desarrollo del problema planteado, al
estudiar cada plataforma se obtuvieron los siguientes resultados considerados
importantes para este trabajo de grado:
A. Excluyendo a IPhone OS, todas las plataformas mencionadas
proporcionan las herramientas necesarias para desarrollar el aplicativo sin
ningún tipo de costo.
B. Symbian y Windows mobil son sistema operativos con muy poca
interacción con el usuario, solo prestan los servicios básicos de
funcionalidad.
C. Todos los S.O a excepción del Iphone OS permiten el uso a bajo nivel.
16
Analizando los resultados obtenidos se concluye:
A. Teniendo claro que el sistema operativo de Iphone es el más rápido y
puede brindar mejor respuesta a la hora de ejecutar una aplicación, no se
tendrá en cuenta como una posible solución al problema planteado ya que
su desarrollo no es gratis y no permite el desarrollo de una aplicación
compleja por parte de terceros.
B. La arquitectura diseñada se implementará en el SO Android ya que permite
el desarrollo de cualquier solución a terceros y su desarrollo es de bajo
costo. Para conocer el proceso de instalación del entorno de programación
de android se puede ver con más detalle en el anexo A.
8.2. INTERCONEXIÓN DE DATOS POR BLUETOOH
Servidor de aplicaciones
wsdl
Smartphone
Aplicación
AGV
-Comunicación Bluetooth
n
1
Circuito
Conexion Bluetooht
Ksoap
Bluetooth
-Mensaje Soap/Respuesta XML
1
n
consulta
Diagrama de componentes del proceso de comunicación
17
La plataforma Android es compatible con la pila de red Bluetooth, que permite a un
dispositivo intercambiar datos de forma inalámbrica con otros dispositivos Bluetooth. El
marco de aplicación permite el acceso a la funcionalidad Bluetooth a través de la API de
Android Bluetooth. Estas API permiten que las aplicaciones se conecten de forma
inalámbrica a otros dispositivos Bluetooth, permitiendo realizar conexiones punto a punto
y multipunto, realizando funciones inalámbricas.
Utilizando el API del Bluetooth, una aplicación para Android puede realizar las siguientes
actividades:
• Analizar en busca de otros dispositivos Bluetooth.
• Consultar el adaptador Bluetooth local para dispositivos Bluetooth vinculados.
• Establecer canales RFCOMM.
• Conectarse a otros dispositivos a través de descubrimiento de servicios.
• Transferencia de datos hacia y desde otros dispositivos.
• Administrar conexiones múltiples.
Este es un ejemplo de 2 tipos de dispositivos conectándose por medio del bluetooth.
En todo proceso de conexión es necesario saber quién va ser el receptor de la
información que se va enviar. La búsqueda de dispositivos es un procedimiento de
exploración que investiga en el área dispositivos Bluetooth habilitados solicitando
información sobre cada uno de ellos. Sin embargo, un dispositivo Bluetooth responderá a
18
una solicitud de descubrimiento sólo si está habilitado para ser visible. Si un dispositivo se
puede detectar, responderá a la petición de descubrimiento mediante el intercambio de
cierta información, como por ejemplo el nombre del dispositivo, la clase, y su dirección
MAC única. Con esta información, el dispositivo realiza el descubrimiento y puede
entonces elegir si desea iniciar una conexión con el dispositivo descubierto.
Antes de realizar una búsqueda de dispositivos disponibles en el área, consultamos los
dispositivos emparejados para visualizar si el dispositivo al que se desea conectar el
usuario está en la lista de ya conocidos.
Ejemplo de programación de búsqueda de dispositivos ya emparejados
Para iniciar el descubriendo de nuevos dispositivos solo es necesario llamar el
startdiscovery.el proceso de descubrimiento es asincrónico y el método devolverá
inmediatamente con un valor booleano que indica si el descubrimiento se ha iniciado con
éxito.
19
La aplicación se debe registrar con el fin de recibir información de cada dispositivo
detectado.
La comunicación entre el Smartphone y el AGV se realizara por medio de una conexión
bluetooth. Dentro del aplicativo android se llamará consumidor de conexión CDB
(Consumidor de servicios bluetooth) que se encargara de verificar si el dispositivo AGV
cumple con las características necesarias para que el CDB cree un canal de
comunicación entre ambos dispositivos.
Si el canal de conexión es aprobado por el CDB, ambos dispositivos están sincronizados
y listos para la trasmisión de datos. La conexión entre ambos dispositivos es una conexión
peer to peer que permite que ambos dispositivos sean cliente y servidor dependiendo de
las necesidades de la interacción entre ambos.
La aplicación control AGV cuenta con un web service KSOAP que permite la conexión del
Smartphone y la nube haciendo peticiones a servicios publicados en ella.
El WSDL publicado por el servidor permite realizar las búsquedas de los datos solicitados
por el Smartphone al servidor, evitando saturar el teléfono con datos que en un futuro
serán usados para auditar el sistema. En el anexo B se puede ver con más detalle las
clases encargas de la comunicación entre ambos dispositivos.
20
Diagrama de comunicación de cada uno de los dispositivos del sistema
Diagrama de comunicación por web service entre el Smartphone y el servidor
8.2. SIMULAR LOS DATOS RECIBIDOS POR BLUETOOH DE UN DISPOSITIVO
AGV
Para poder simular los datos recibidos es necesario investigar realmente que variables se
van a utilizar para la comunicación, por eso es necesario realizar una encuesta que
permitirá identificar que se va hacer y cómo se debe hacer.
21
8.2.1. ENCUESTA DE COMUNICACIÓN
¿Qué es un AGV?
Los vehículos guiados autónomos son un tipo especial de robots que se ocupan
tradicionalmente en el medio industrial de tareas como la recolección, transporte y
ubicación de elementos (piezas, mercancías, cargas, etc.), sin la necesidad de la
mediación directa de un operario.
¿Qué datos serán enviados desde el AGV al dispositivo móvil?
Para poder tener una verdadera auditoría y control del AGV es necesario que se envíen
datos de localización (latitud, longitud), estado del dispositivo y cantidad de objetos
recolectados.
¿Cómo quiere visualizar los datos en el dispositivo móvil?
Para tener una verdadera idea de donde se encuentra el dispositivo AGV mientras realiza
tareas de recolección, es necesario representar su posición en un mapa representativo
del área en función.
¿Qué proyectos futuros se tiene con esta misma plataforma?
Conexión a un servidor para el proceso de triangulación, también pretendemos utilizar la
triangulación directamente desde el AGV al incorporarle un módulo GPS que permita
obtener datos geográficos.
22
8.2.2. DIAGRAMA DE CASOS DE USOS
Hacer visible
Activar Bluetooth
Usuario
Conectar con
dispositivo
Consultar
Validar ingreso
Diagrama caso de uso alto nivel
Usuario
Buscar nuevos
dispositivos
Conectar con
dispositivo
«extends»
Diagrama de caso de uso extendido e incluidos
23
Nombre Validar ingreso
Fecha junio 14 2012
Versión 1.0
Actores Usuario.
Propósito Control de ingreso aplicativo.
Resumen Este caso de uso comienza cuando el usuario inicia la
aplicación instalada en el Smartphone.
Flujo Principal Eventos Actor Eventos Sistema
1. Ingresar al aplicativo. 1.1. El sistema presenta el
pantallazo inicial donde se
debe identificar el actor.
2. Ingresar Nombre de
Usuario y Contraseña.
2.1. El sistema verifica si los
datos ingresados
corresponden a un usuario
del sistema.
3. Visualiza el mensaje de
error o de aceptación que
generó el aplicativo.
3.1. Devuelve mensajes de
verificación y validación del
usuario mostrando el
pantallazo respectivo al
aplicativo.
Flujo Alternativo Si el Usuario y Contraseña son incorrectos, el sistema
genera mensaje de error para que el usuario corrija la
información ingresada.
Nota
Responsable Juan David Trujillo Robayo.
Nombre Activar Bluetooth
Fecha Junio 14 2012
24
Versión 1.0
Actores Usuario.
Propósito Activar el dispositivo bluetooth.
Precondición Se debe ejecutar el caso de uso Validar usuario.
Resumen Este caso de uso comienza cuando el usuario inicia sesión
con su respectivo nombre de usuario y contraseña que lo
acredite como tal.
Flujo Principal Eventos Actor Eventos Sistema
1. Visualiza la alerta
generada por el aplicativo.
1.1. El aplicativo dispara
una alerta para pedirle al
usuario la aprobación de
inicio del bluetooth
2. El usuario acepta o
declina la solicitud que el
aplicativo proporciona.
2.1. Si el usuario acepta la
activación del bluetooth
continua el caso de uso.
2.2 si el usuario declina la
petición de la aplicación el
aplicativo finaliza
terminando el caso de uso.
Nota
Responsable Juan David Trujillo Robayo.
Nombre Hacer visible
Fecha Junio 14 2012
Versión 1.0
Actores Usuario.
Propósito Permitir ver el Smartphone visible para el AGV.
Precondición Se debe ejecutar el caso de uso Activar bluetooth.
Resumen Este caso de uso comienza cuando el usuario presiona el
25
botón de hacer visible.
Flujo Principal Eventos Actor Eventos Sistema
1. El actor da clic en el
botón de hacer visible.
1.1. El aplicativo dispara
una confirmación para
pedirle al usuario la
aprobación de ejecución.
2. El usuario acepta o
declina la solicitud que el
aplicativo proporciona.
2.1. Si el usuario acepta el
dispositivo entra en estado
visible para el AGV.
2.2. Si el usuario declina la
petición de la aplicación
regresa a la pantalla
principal.
Nota
Responsable Juan David Trujillo Robayo.
Nombre Conectar con dispositivo
Fecha Junio 14 2012
Versión 1.0
Actores Usuario.
Propósito Conectar el Smartphone con un dispositivo AGV.
Precondición Se debe ejecutar el caso de uso Activar bluetooth.
Resumen Este caso de uso comienza cuando el usuario presiona el botón de conectar un dispositivo.
Flujo Principal Eventos Actor Eventos Sistema
1. El actor da click en el botón conectar un dispositivo.
1.1. El aplicativo despliega en la pantalla los dispositivos ya vinculados con el Smartphone y un botón de búsqueda de nuevos dispositivos.
2. El actor elige un dispositivo vinculado.
2.1. El aplicativo se conecta automáticamente si el dispositivo se encuentra disponible.
26
3. El actor presiona el botón de búsqueda de nuevos dispositivos.
3.1. Se ejecuta el caso de uso buscar nuevos dispositivos.
Nota
Responsable Juan David Trujillo Robayo.
Nombre Buscar nuevos dispositivos
Fecha Junio 14 2012
Versión 1.0
Actores Usuario.
Propósito Buscar nuevos dispositivos en el área.
Precondición Se debe ejecutar el caso de uso Activar bluetooth y Conectar con dispositivo.
Flujo Principal Eventos Actor Eventos Sistema
1. El actor da clic en el botón buscar nuevos dispositivos.
1.1. El aplicativo inicia la búsqueda de nuevos dispositivos e imprime la lista de los encontrados.
2. El actor elige el dispositivo al cual desea conectarse.
2.1. El aplicativo imprime una alerta de solicitud de sincronización, solicitando el pin de conexión.
3. El actor digita el pin de conexión correspondiente al dispositivo.
3.1 El aplicativo confirma los datos y establece una conexión con el dispositivo.
Flujo Alternativo Si el pin no es correcto el aplicativo retorna a la pantalla de inicio y no establece ninguna conexión.
Nota
Responsable Juan David Trujillo robayo.
Nombre Consultar
Fecha Junio 14 2012
Versión 1.0
Actores Usuario.
Propósito Conocer los datos que el AGV envía.
Precondición Se debe ejecutar el caso de uso Activar bluetooth y Conectar con dispositivo.
Resumen Este caso de uso comienza cuando se conecta con un dispositivo.
Flujo Principal Eventos Actor Eventos Sistema
1. El actor ingresa a la pantalla principal de la aplicación.
1.1. El aplicativo recibe datos provenientes del AGV e imprime la información.
2. El actor visualiza la
27
información que se imprime.
Nota
Responsable Juan David Trujillo robayo.
8.3. DISEÑO E IMPLEMENTACIÓN
Expuestos los objetivos y diagramas de caso de uso de la aplicación, a continuación se
desmenuzan los aspectos relacionados con su implementación.
La explicación general de cómo está diseñada la aplicación esperan ayudar a otros
desarrolladores que quieren ampliar su capacidades de programación en lenguajes como
Android, o incluso generar nuevas ideas para la construcción de aplicaciones que se
basen en fundamentos iguales o parecidos a la desarrollada en este proyecto.
8.3.1. DIAGRAMA DE CLASES
Ver anexo C para conocer con mayor detalle las clases que conforman la aplicación.
28
8.3.2. CREAR CONEXIÓN CON AGV
8.3.2.1. PERMISOS DEL BLUETOOTH
Para poder crear una conexión con un AGV es necesario que la aplicación declare los
permisos correspondientes para poder solicitar cualquier acción como la de solicitar una
conexión, aceptar una conexión etc.
Este es un ejemplo de cómo se debe declarar el permiso en el archivo
AndroidManifest.xml de Android.
8.3.2.2. CONFIGURACIÓN BLUETOOTH
Antes de que la aplicación inicie y pueda establecer una comunicación con el bluetooth,
se bebe verificar que realmente el Smartphone donde se va ejecutar tenga bluetooth.
Si la aplicación detecta que el dispositivo no es compactible o no contiene un bluetooth,
la aplicación debe cerrar, pero si sucede el caso contrario y se encuentra desactivado, es
necesario solicitar al usuario activar el bluetooth para que la aplicación continúe sin
ningún problema.
29
Ejemplo de verificación de existencia de bluetooth en el Smartphone
Ejemplo de activación del bluetooth por medio de una ventana de confirmación
Vista real de la aplicación, Mensaje de solicitud de activación.
30
8.3.2.3. BÚSQUEDA DE DISPOSITIVOS EN EL AREA
Con el bluetooth activado se pueden realizar búsquedas de dispositivos activos en el
área, además se puede consultar los dispositivos que se conectaron al menos una vez
con el Smartphone, permitiendo realizar una conexión más rápida ya que sus datos se
encuentran almacenados en el Smartphone.
La búsqueda de dispositivos es un proceso de exploración que permite la obtención de
nuevos apareamientos con diferentes emisores. Solo es posible detectar un nuevo
dispositivo si este se encuentra en estado visible en el medio.
Ejemplo de búsqueda de nuevos dispositivos
Ejemplo de búsqueda de dispositivos pareados o vinculados con el Smartphone
31
Vista real de la aplicación, pantalla de búsqueda de dispositivos pareados y nuevos.
8.3.2.4. CONECTAR CON DISPOSITIVO
Cuando se realiza una conexión común entre 2 dispositivos necesitamos tener claro que
ambos dispositivos necesitan datos de entrada y salida, para poder llegar a ese punto se
necesita crear un canal RFCOMM donde cada dispositivo puede obtener flujos de datos.
La forma más adecuada para poder obtener este tipo de conexión es preparar la
aplicación para que sea un servidor, dejando un socket abierto que esté atento a las
conexiones entrantes.
32
Ejemplo de conexión bluetooth con AGV
8.3.2.5. RASTREANDO DISPOSITIVO EN MAPA
Para poder rastrear los dispositivos AGV es necesario tener un mapa del área donde el
dispositivo va interactuar. En este caso el área de estudio simulada es determinada por la
siguiente imagen.
33
El mapa permite interpretar los datos que envía el dispositivo AGV al Smartphone
dibujando su localización dentro del área definida de estudio. Para poder dibujar el mapa
en el dispositivo se utilizó la librería disponible por Android llamada Canvas. Un ejemplo
claro de cómo funciona es el siguiente:
Se utiliza el DisplayMetrics para poder interpretar cual es el tamaño real de la pantalla
del dispositivo que está ejecutando la aplicación, esto es necesario, ya que sin esta
propiedad la aplicación no sería apta en Smartphone que poseen pantallas diferentes al
tamaño estándar, el cual se encuentra previamente definido a la hora de la construcción
de la aplicación.
Para que el Canvas pueda pintar la imagen definida es necesario convertir la imagen en
un mapa de bits utilizando la propiedad Bitmap, esta propiedad es la encargada de dar la
resolución y escalado que la imagen necesita para que el Canvas pueda ubicar la imagen
según las coordenadas definidas.
Una vez el Smartphone y el AGV esten sincronizados para la transmisión de datos, es
necesario definir en la aplicación un receptor de información, este se encargará de recibir
todo aquello que el AGV envié. Por eso es necesario declarar una clase encargada de la
recepción de información de la siguiente manera.
34
Una vez ya establecido el receptor de los datos, se procede al envió y separación de la
información enviada por AGV. Para poder dibujar el punto de localización enviando por el
dispositivo, es necesario utilizar SurfaceView.
El SurfaceView proporciona una superficie adicional a la ya utilizada para la impresión del
mapa, la cual ayuda a crear una jerarquía de capas permitiendo dibujar planos en el lugar
correcto de la pantalla.
Un ejemplo de programación de esa propiedad seria de la siguiente manera:
35
8.4. PRUEBAS DE AMBIENTE SIMULADO
Las pruebas fueron realizadas de manera consecutiva según se iban obteniendo los
dispositivos del hardware.
Inicialmente se probó el funcionamiento correcto de la aplicación sin ningún tipo de
conexión externa, se probó el alcance, el tiempo de duración de la señal y el tiempo de
duración de la batería.
Se realizaron las pruebas de captura de datos con otro dispositivo, simulando el envió de
paquetes como si se realizara desde el AGV.
8.4.1. PRUEBA DE INICIO DE LA APLICACIÓN
Una vez instalada la aplicación, es necesario verificar si está validando correctamente el
usuario ingresado.
ENTRADA
Introducimos „Juan‟ en el campo usuario.
Introducimos „adc‟ en el campo contraseña.
Pulsamos en el botón entrar de la aplicación.
Nos aparece la interfaz propia del usuario.
RESULTADO ESPERADO
El aplicativo nos muestra la interface propia del usuario logueado.
EVALUACIÓN DE LA PRUEBA
Prueba superada con éxito.
36
8.4.2. ACTIVAR EL DISPOSITIVO BLUETOOTH
Una vez iniciada la aplicación de manera correcta, es necesario verificar la activación
del dispositivo principal de comunicación.
ENTRADA
El usuario presiona el botón aceptar para activar el dispositivo.
RESULTADO ESPERADO
El aplicativo inicia el dispositivo de comunicación bluetooth.
EVALUACIÓN DE LA PRUEBA
Prueba superada con éxito.
8.4.3. HACER VISIBLE
ENTRADA
El usuario presiona el botón “hacer visible”.
Nos aparece la alerta de confirmación de „hacer visible‟.
Presionamos el botón „si‟.
RESULTADO ESPERADO
El aplicativo activa el dispositivo bluetooth durante 300 segundos para que pueda ser
detectado.
EVALUACIÓN DE LA PRUEBA
Prueba superada con éxito.
37
8.4.4. CONECTAR CON DISPOSITIVO
ENTRADA
El usuario presiona el botón „conectar dispositivo‟
El aplicativo imprime la lista de los dispositivos vinculados.
Seleccionamos un dispositivo en lista.
RESULTADO ESPERADO
El aplicativo inicia la conexión con el dispositivo seleccionado, si el dispositivo esta dentro
del área de rango se conecta automáticamente, y si no, el dispositivo no realiza ninguna
acción y regresa a la pantalla principal.
EVALUACIÓN DE LA PRUEBA
Prueba superada con éxito.
8.4.5. BUSCAR NUEVOS DISPOSITIVOS
ENTRADA
El usuario presiona el botón „conectar dispositivo‟
El aplicativo imprime la lista de dispositivos vinculados.
Seleccionamos el botón „buscar dispositivos‟
Seleccionamos un dispositivo localizado
RESULTADO ESPERADO
El aplicativo inicia la búsqueda de nuevos dispositivos en el área, creando una lista de los
localizados. El aplicativo solo se conecta al dispositivo que el usuario seleccione.
38
EVALUACIÓN DE LA PRUEBA
Prueba superada con éxito.
8.4.6. CONSULTAR
ENTRADA
El usuario localiza la aplicación en la pantalla principal.
El aplicativo recibe los datos desde el AGV y los interpreta para que el
usuario pueda visualizarlos.
RESULTADO ESPERADO
El aplicativo dibuja la posición obtenida desde el AGV y los datos obtenidos en la
comunicación como el estado, la cantidad, etc.
EVALUACIÓN DE LA PRUEBA
Prueba superada con éxito.
39
9. CONCLUSIONES
Según las actividades de diseño y análisis se ha creado un modelo de implementación
de los módulos funcionales que garanticen el monitoreo del vehículo AGV según los
requerimientos planteados al inicio.
El desarrollo y uso de nuevas herramientas tecnológicas permiten crear nuevas
integraciones entre sistemas que anteriormente eran independientes y no permitían
ningún tipo enlace entre dispositivos.
El desarrollo de la comunicación entre un Smartphone android y una tarjeta de
bluetooth conectada a un circuito integrado, permitió conocer el comportamiento entre
ambos sistemas y experimentar las reacciones apreciadas al realizar dicha
integración.
Se estudio los procedimientos necesarios para obtener un ambiente de pruebas ideal
que ayudo a implementar las modificaciones de la aplicación a una velocidad más
rápida que las utilizadas usualmente.
Para el desarrollo de las pruebas se utilizaron 3 formas diferentes de comunicación, la
primera fue realizar una conexión por el puerto COM9 a una tableta que permitió
simular un canal de comunicación bluetooth entre el Smartphone y el dispositivo, la
segunda fue crear un canal de comunicación con otro Smartphone que permitió
identificar los diferentes requerimientos necesario para poder establecer una conexión,
y por último fue directamente con el dispositivo AGV que tuvo un comportamiento
similar al del COM9 y reacciono de la misma manera.
40
10. REFERENCIAS BIBLIOGRAFICAS
[1]XianhuaShu; Zhenjun Du; Rong Chen; , "Research on Mobile Location Service Design Based on
Android," Wireless Communications, Networking and Mobile Computing, 2009. WiCom '09. 5th
International Conference on , vol., no., pp.1-4, 24-26 Sept. 2009
doi: 10.1109/WICOM.2009.5302615
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5302615&isnumber=5300799
[2]Jong-WoonYoo; Kyu Ho Park; , "A Cooperative Clustering Protocol for Energy Saving of Mobile
Devices with WLAN and Bluetooth Interfaces," Mobile Computing, IEEE Transactions on , vol.10,
no.4, pp.491-504, April 2011
doi: 10.1109/TMC.2010.161
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5560667&isnumber=5715909
[3] Jia Liu, Guangmin Sun, Dequn Zhao, Xu Yao, Yihang Zhang, MCU-Controlling Based Bluetooth
Data Transferring System, Procedia Engineering, Volume 29, 2012, Pages 2109-2115, ISSN 1877-
7058, 10.1016/j.proeng.2012.01.271.
URL:http://www.sciencedirect.com/science/article/pii/S1877705812002810
[4]SasivimonSukaphat, An implementation of location-based service system with cell identifier for
detecting lost mobile, Procedia Computer Science, Volume 3, 2011, Pages 949-953, ISSN 1877-
0509, 10.1016/j.procs.2010.12.155.
URL:http://www.sciencedirect.com/science/article/pii/S1877050910005302
[5]JulienGuyon, Pierre-Etienne Moreau, Antoine Reilles, An Integrated Development Environment
for Pattern Matching Programming, Electronic Notes in Theoretical Computer Science, Volume
107, 12 December 2004, Pages 33-49, ISSN 1571-0661, 10.1016/j.entcs.2004.02.045.
URL:http://www.sciencedirect.com/science/article/pii/S1571066104051886
[6] Boehm, B. W. A spiral model of software development and
enhancement.IEEEComputerSociety.06 agosto 2002. ISSN: 0018-9162. Disponible también en:
URL:http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/spiral.pdf]
[7] Viper smart start.Ultimo acceso 05 de mayo 2012:
URL: http://www.viper.com/SmartStart/Features.aspx
41
[8] Fundamentos de aplicación android .Ultimo acceso 05 de junio 2012:
URL: http://developer.android.com/guide/components/fundamentals.html
[9] Componente de la aplicación android .Ultimo acceso 05 de junio 2012:
URL: http://developer.android.com/guide/components/fundamentals.html
[9] Archivo manifiest android .Ultimo acceso 05 de junio 2012:
URL: http://developer.android.com/guide/components/fundamentals.html