[en] The purpose of this project has been the development of a mobile application for Android platforms that, using Bluetooth Low Energy wireless personal area technology, a subset of the Bluetooth v4.0 protocol, and a wearable device capable of detecting the wearer's vital signs through photoplethysmography (PPG) sensors, is able to infer when the wearer is going through the first stage of sleep: drowsiness. These devices are worn on the wrist and record movement through an internal three-axis accelerometer in a non-invasive way. The data collected is processed by an algorithm capable of classifying the type of movement performed. They are also responsible for recording data during the night's rest to provide information about the number of hours and the quality of sleep. In addition to all this, it has other utilities such as smart alerts, heart rate monitor, watch and stopwatch, etc. Apart from activity bracelets, the object of study in this project, there are a large number of wearable devices such as: smartwatches, smartglasses, clothing, other accessories such as rings or other types of jewellery, implantable devices… with a huge variety of functions adapted to the type of system and place where it is to be placed. Through certain functionalities provided by Android Studio and the Java programming language it is possible, after an authentication process to complete the device pairing, to programmatically access those features of the activity wristband that the manufacturer leaves freely available, such as device information, hardware and software features of the device, as well as battery information, figures provided by the heart rate sensor, etc. However, there are many other features that can only be accessed through the manufacturer's application and not through third-party applications or services. Once access to the smartband's services had been obtained, the aim was to use an algorithm to deduce the user's state of drowsiness in order to prevent any type of accident, whether at work or in traffic, and to alert the user through continuous vibrations of the device in order to make them aware that they are going through a state that could pose a risk both to themselves and to their surroundings. This algorithm requires a learning period since, as these are physiological variables, they can be altered depending on various factors such as the user's gender, age, altered sleep habits, cardiovascular disease, diabetes, etc., so that in very few cases can the same model be applied to different users. This period is useful to establish a trend in the wearer's heart rate and observe how it varies over time, thus establishing a threshold at which it is determined that the wearer is likely to show symptoms of tiredness and drowsiness.

[es] El propósito de este trabajo ha sido desarrollar una aplicación móvil para plataformas Android que, haciendo uso de la tecnología de área personal inalámbrica Bluetooth Low Energy, subconjunto del protocolo Bluetooth v4.0, y de un dispositivo wearable capaz de detectar mediante sensores de fotopletismografía (PPG) las constantes vitales del usuario que lleva puesto el sistema, sea capaz de inferir cuándo este se encuentra atravesando la primera fase del sueño: adormecimiento. Estos dispositivos se colocan en la muñeca del usuario y registran el movimiento a través de un acelerómetro interno de tres ejes de manera no invasiva. Los datos recogidos son procesados por un algoritmo capaz de clasificar el tipo de movimiento realizado. También se encargan de registrar datos durante el descanso nocturno para ofrecer información acerca de la cantidad de horas de sueño y calidad del mismo. Además de todo esto, posee otras utilidades, como avisos inteligentes, pulsómetro, reloj y cronómetro, etc. Aparte de las pulseras de actividad, objeto de estudio en este proyecto, existe gran cantidad de dispositivos wearables, como pueden ser smartwatches, smartglasses, prendas de vestir, otros complementos, como anillos u otro tipo de joyas, dispositivos implantables… con una inmensa variedad de funciones adaptadas al tipo de sistema y lugar donde deban ir colocados. A través de determinadas funcionalidades proporcionadas por Android Studio y del lenguaje de programación Java es posible, tras un proceso de autenticación para completar el emparejamiento, acceder programáticamente a aquellas características de la pulsera de actividad que el fabricante deja a libre disposición, como pueden ser la información del dispositivo, características tanto del hardware como del software del mismo, así como la información de la batería, cifras suministradas por el sensor de ritmo cardiaco, etc., si bien es cierto que existen muchas otras características a las que solo se puede acceder a través de la aplicación del fabricante y no desde aplicaciones o servicios de terceros. Una vez obtenido el acceso a los servicios de la smartband, se pretendía deducir, mediante un algoritmo, el estado del usuario en cuanto a somnolencia se refiere, con el objetivo de prevenir cualquier tipo de accidente, ya sea laboral o de tráfico, así como de alertar a este mediante vibraciones continuadas del dispositivo, con el fin de concienciarlo de que atraviesa un estado que puede suponer un riesgo, tanto para su persona como para su entorno. Este algoritmo requiere de un periodo de aprendizaje, puesto que, al tratarse de variables fisiológicas, estas pueden verse alteradas en función de diversos factores, como pueden ser el género, la edad, la alteración en los hábitos de sueño, el padecimiento de enfermedades cardiovasculares, la diabetes, etc. del usuario, por lo que en muy pocos casos podrá aplicarse el mismo modelo a distintos usuarios. Este periodo resulta útil para registrar una tendencia en la frecuencia cardiaca del portador del dispositivo y para observar cómo varía a lo largo del tiempo, estableciendo así un umbral a partir del cual se determina que es posible que el usuario presente síntomas de cansancio y somnolencia.