Se denomina dispositivo Bluetooth “wearable” a cualquier dispositivo inalámbrico que se comunica utilizando la tecnología Bluetooth con cualquier otro. Ejemplos de estos dispositivos son: sensores, pulseras bluetooth, pulsómetros bluetooth, altavoces, etc. El presente trabajo tiene como objetivo el trabajar e interactuar con este tipo de dispositivos.
Actualmente existen multitud de dispositivos “wearables” que permiten realizar medidas de diferentes parámetros tanto ambientales, como de salud, presión, temperatura de un fluido, etc, y comunicarlos de manera inalámbrica mediante Bluetooth v4.0. Además también existen dispositivos que no solo son utilizados como sensores, sino que también se pueden emplear como actuadores, simplemente accediendo a ellos mediante Bluetooth v4.0 y transmitiéndoles un determinado dato.
Desde un punto de vista modular, cada uno de estos sensores/actuadores no es más que un microprocesador que puede leer y/o escribir sobre determinados registros de datos, los cuales son a su vez leídos/escritos por pequeños componentes actuadores/sensores incorporados en la misma placa del microprocesador. De esta manera, tan solo leyendo los registros de datos determinados, el microprocesador podrá acceder a valores tomados por los sensores. Y escribiendo en los registros de datos destinados a los actuadores, el microprocesador podrá enviar órdenes de actuación a dichos componentes.
Por otro lado, el microprocesador es capaz de interactuar con el módulo de radio (Bluetooth v4.0) que tiene incorporado dicha placa, de tal forma que puede enviar y recibir información por a través de dicho interfaz. De esta forma, un usuario desde su dispositivo móvil podrá actuar sobre estos sensores/actuadores mediante Bluetooh v4.0 si es capaz de leer/escribir de manera directa sobre los registros de datos que el sensor/actuador utiliza para guardar sus medidas o leer los valores de actuación. Estos procesos de lectura y escritura se realizan no directamente sobre los registros, por parte del usuario, sino que este lo hace utilizando lo que en Bluetooth v4.0 se denominan servicios y características de los servicios.
El proceso sería el siguiente: un dispositivo móvil descubre un periférico (sensor/actuador), se conecta a él. Recibe información sobre los servicios que dicho periférico ofrece (registros de datos que se pueden leer y/o escribir), el dispositivo móvil se conecta al servicio determinado y obtiene las características del mismo, pudiendo interactuar mediante lecturas y/o escrituras sobre dichas características del servicio (los registros de datos).
Todos estos mecanismos de descubrimiento, establecimiento de conexión, e intercambio de información están estandarizados en Bluetooth v4.0, por lo que todo periférico, servicio y característica sigue un determinado patrón de comunicación e información especificada en el estándar.
Así pues, el objetivo del proyecto es el desarrollo de una App móvil, sobre Apache CordovaTM que permita la detección de cualquier periférico dentro del área de cobertura del dispositivo móvil en cuestión. Nos permita conectarnos a alguno de ellos, explorar sus servicios y conectarnos a aquellos que permitan conexión. Y una vez hecho esto determinar qué características pueden ser leídas y/o escritas, y permitir la lectura y escritura de dichos valores en el periférico. Dado que la especificación de los servicios y las características deberían cumplir con el estándar Bluetooth v4.0 esta App podría valer para el acceso a cualquier servicio de cualquier dispositivo, siempre y cuando este cumpla con el estándar Bluetooth v4.0
Objetivos:
El objetivo general será la implementación de un prototipo de una App para sistema Android que permita el acceso a cualquier servicio disponible en cualquier periférico con tecnología Bluetooth v4.0. Pudiendo interactuar con el mismo mediante la lectura y escritura de datos.
De manera más detallada los objetivos serían:
-
Desarrollo del mecanismo de descubrimiento de periféricos Bluetooth v4.0; y de los servicios proporcionados por los mismos.
-
Desarrollo de una interfaz que permita el acceso a dichos servicios, e interactuar con ellos. Teniendo en cuenta que en función de las características del servicio, algunos permiten solo la lectura de un determinado conjunto de datos, otros la escritura, otros lectura/escritura, y otros realizan una actualización periódica de los mismos permitiendo la notificación de cambios en dichos datos al dispositivo conectado al servicio.
-
Integración en una App para móvil, de los mecanismos desarrollados anteriormente.