• No se han encontrado resultados

Capítulo 4. Sistema de rastreo y recolección de datos

4.1.2. Settings Activity

Este componente es el punto de entrada para la aplicación GeoLock. En esta vista de la aplicación la persona que ejecuta la campaña puede ajustar ciertos aspectos de las configuraciones. El participante de la campaña no tiene acceso a esta parte de la aplicación. Únicamente la persona que está haciendo la campaña de recolección de datos participativos puede modificar las configuraciones de la aplicación. Al iniciar la campaña se encuentran tres diferentes secciones donde el usuario puede configurar datos de la campaña.

En la sección general la aplicación permite introducir los datos del participante de la campaña. Podemos ver esta pantalla en 8a. La aplicación solicita tres datos del participante; el nombre, apellido y número de teléfono (Figura: 8b). Estos datos posteriormente se pasan al servidor para registrar al participante.

En la configuración del servidor se pueden configurar datos del servidor MQTT al cual el servidor está conectado. Pide dos diferentes datos, primero la dirección del servidor y finalmente el puerto en el cual está corriendo el servidor MQTT (Figura: 8c).

(a) (b)

(c) (d)

La tercera y última sección permite configurar la cantidad de días que correrá la campaña. Una vez que todos los datos estén configurados se puede iniciar la campaña (Figura: 8d). Es muy importante que, cuando se inicie la campaña en el dispositivo por primera vez, el celular esté conectado al Internet para poder registrar el dispositivo en el servidor.

4.1.3. Lockscreen Activity

Una vez que se inicia la campaña en la actividad de ajustes, se crea una intención de abrir la actividad llamada LockScreenActivity. La actividad busca ser una fuente de información para el participante de la campaña sin permitir entradas por parte del participante podemos ver la pantalla en la figura 9a. Uno de los datos que la función busca mostrar al participante es la hora actual de tal manera que pueda servir como un reloj para el participante.

La primera función que corre la aplicación por parte de la LockScreenActivity es una que se llama updateClock(). Esta función actualiza los campos de texto cada cien mili- segundos. Entre estos está el nivel de batería restante en el dispositivo, la hora actual y algún mensaje que puede servir para el desarrollador como forma de depuración o para mostrarle al participante algún mensaje.

La siguiente función que corre es para deshabilitar todos los botones de entrada. El botón de regresar solo retorna un menos uno para evitar que se cierre la aplicación. El botón de home fue más difícil de deshabilitar. La forma en la que se pudo deshabilitar finalmente fue definir la pantalla de LockScreenActivity como la pantalla principal, por lo cual al momento de oprimir el botón para que lleve al usuario a la pantalla inicial, el celular pensará que ya está ahí. Finalmente, para deshabilitar el botón de la lista de aplicaciones se crea una función que está escuchando constantemente para cuando se abra la lista de aplicaciones seleccioná la primera instantáneamente, la cual va a ser la de la actividad de LockScreenActivity.

Crea un botón que la persona que está corriendo la campaña puede usar para des- bloquear la aplicación y cerrar la campaña. Al presionar el botón la aplicación solicita un código que está codificado en la aplicación (Figura: 9b). Cuando se introduce el

código correcto, la aplicación rehabilita los botones para poder cerrar la aplicación y restaurar el celular a funcionalidad normal.

Después de esto inicializa la función de track que es parte de la clase GPSutils. Esta es la función que maneja la captura de los datos de GPS.

(a) (b)

Figura 9.Pantalla de usuario

4.1.4. MQTT Helper

MQTT Helper es una clase que permite usar la biblioteca de paho para conectarnos al servidor de MQTT. Los datos del servidor los obtiene de las preferencias de Android. Estas se definen dentro de la actividad de SettingsActivity. Si por alguna razón los datos del servidor no fueron definidos, por omisión usa iot.eclipse.org con el puerto 1883 que es un servidor público puesto por parte de la fundación eclipse.

4.1.5. MQTT Utils

Esta función se encarga de procesar los mensajes recibidos. Cuenta con varias funciones que pueden llevar a cabo diferentes acciones como por ejemplo modificar el tiempo entre cada captura de dato. Pero la función mas importante con la que cuenta es la que hace el registro del dispositivo.

4.1.6. Preference Singleton

Esta clase se encarga simplemente de dar acceso a las preferencias de Android desde todas las otras clases. Esta función es muy útil por que permite trabajar con el contexto de la aplicación para compartir ciertas configuraciones entre diferentes clases. Incluso permite pasar variables entre diferentes actividades.

4.2. Consideraciones de diseño

Para el diseño del sistema móvil se consultó con la empresa Ubilogix para obtener una lista de requerimientos. Se empezó considerando las diferentes posibilidades de tecnologías que se podrían usar para la captura de los datos de movilidad. Original- mente se había considerado incluso el desarrollo de un dispositivo de hardware en lugar de una aplicación. Por medio de varias juntas para tener lluvias de ideas con Ubilogix llegamos al consenso de usar una aplicación de Android que capturara datos de GPS. Se consideraron los siguientes aspectos sociales y técnicos.

Aspectos técnicos

• Rastreo de la ubicación

• Captura y transferencia de datos • Gastos de energía

• Otras consideraciones técnicas Aspectos sociales

• Interacción • Incentivos

En las siguientes secciones discutimos estos aspectos.

4.3. Aspectos Técnicos

Para el diseño del dispositivo de rastreo se consideraron diferentes aspectos técni- cos que eran necesarios para obtener un prototipo.

El primero de los aspectos técnicos necesarios era el rastreo de la ubicación y la tecnología que se usaría para esto. Existen muchas diferentes tecnologías para obte- ner la ubicación; en la sección 4.3.1 se discute un poco de la investigación que se hizo sobre algunas de las tecnologías disponibles para la determinación de la ubicación.

Aparte de los sistemas de ubicación también se discutieron otros aspectos técnicos en las lluvias de ideas como por ejemplo el almacenamiento de datos, y cuál sería el método para obtener estos datos de los dispositivos de rastreo. Finalmente, también se consideraron problemas de energía para el funcionamiento del dispositivo y algunos otros datos de contexto.

4.3.1. Rastreo de la Ubicación

Para el rastreo de la ubicación se consideraron diferentes tecnologías. Al principio del estudio se había pensado que quizás el uso del GPS no era la mejor opción pues para el desarrollo de un circuito de rastreo se podría volver una opción costosa el conseguir los chips de GPS. Por lo cual se investigaron diferentes tipos de sistemas para el rastreo de ubicación.

Una de las maneras mas básicas para encontrar la ubicación de un objeto es por medio de la triangulación. Normalmente se considera la triangulación como encontrar la ubicación de un objeto basándose en la distancia de este objeto a dos o mas esta- ciones de las cuales ya se conoce la ubicación. La triangulación se puede hacer con

diferentes tecnologías e incluso sistemas como el GPS hacen uso de triangulación en base a la distancia de satélites tomando estos como las estaciones base.

En una pequeña sesión informal de lluvia de ideas se discutieron diferentes posi- bilidades para hacer este rastreo. Una de las ideas que se propuso fue que quizás se podría hacer la triangulación usando las antenas de las estaciones de radio FM que ya existen dentro de la ciudad. Las torres de transmisión FM se podrían usar como la estación base para la triangulación al detectar con qué potencia está llegando la señal.

Este prototipo no se desarrolló mucho más allá de la fase conceptual porque aun- que se podría usar para calcular la ubicación, con las limitaciones de tiempo en este proyecto se convirtió en muy algo poco viable.

Manteniéndonos en al idea de desarrollar nuestro propio sistema de triangulación se consideró usar la red de torres GSM para calcular la ubicación o incluso el desplie- gue de una red de antenas de Wifi para crear una red de Internet comunitaria donde conociendo la ubicación de los puntos de acceso a la red, y a cual de los puntos está conectado se podría tener una idea muy gruesa de la ubicación del dispositivo. Pe- ro de igual manera se consideró que era demasiado caro usar módulos de GSM para obtener la ubicación y que el despliegue de una red de Wifi a pesar de que tendría otros beneficios para la comunidad se volvería no solo costosa pero también tendría la limitación de únicamente poder rastrear a los participantes dentro de la cobertura de la red Wifi.

Finalmente, después de haber tomado en consideración los factores económicos, llegamos a la conclusión de que era más económico obtener celulares Android de baja gama los cuales ya cuentan con un chip de GPS integrado. Estos nos brindan un entorno de desarrollo integrado con un sistema operativo y API, lo cual nos facilita crear nuestra aplicación.

Documento similar