monitoreo agv utilizando un sistema de...

43
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

Upload: voduong

Post on 26-Aug-2018

212 views

Category:

Documents


0 download

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

42