sistema para el auto monitoreo de la glucemia y …
Post on 17-Mar-2022
7 Views
Preview:
TRANSCRIPT
SISTEMA PARA EL AUTO MONITOREO DE LA GLUCEMIA Y TENSIÓN ARTERIAL
CATHERINE PULIDO ROZO
MARGARITA ROSA VALENCIA COLLAZOS
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA
BOGOTÁ D.C, COLOMBIA
2017
2
SISTEMA PARA EL AUTO MONITOREO DE LA GLUCEMIA Y TENSIÓN ARTERIAL
CATHERINE PULIDO ROZO
MARGARITA ROSA VALENCIA COLLAZOS
T.G. 1630
Trabajo de grado presentado como requisito parcial para optar el título de:
Ingeniería Electrónica
Director:
Martha Lucia Zequera Díaz, Ph.D.
Codirector:
Eduardo Andrés Gerlein Reyes, Ph.D.
Pontificia Universidad Javeriana
Facultad de Ingeniería
Departamento de Ingeniería Electrónica
Bogotá, Colombia
2017
3
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA
RECTOR MAGNÍFICO: P. JORGE HUMBERTO PELAEZ PIEDRAHITA, SJ.
DECANO ACADÉMICO: ING. JORGE LUÍS SANCHEZ TÉLLEZ
DIRECTOR DE CARRERA: ING. ALEJANDRA GONZÁLEZ
DIRECTOR DE PROYECTO: DRA. DI. MARTHA ZEQUERA DIÁZ
CODIRECTOR DE PROYECTO: ING. EDUARDO ANDRÉS GERLEIN REYES
4
Agradecimientos
En primera instancia agradecerles a Claudia Patricia Collazos, Martha Helena Rozo, Víctor Manuel
Valencia y Fabio Alejandro Pulido quienes fueron nuestro mayor apoyo en el transcurso de la carrera y en
el desarrollo del trabajo de grado, las palabras no son suficientes para expresar lo agradecida que estamos
con ustedes, por sus palabras de aliento en momentos difíciles por creer en nosotras inclusive en momentos
en los cuales ni nosotras mismas creíamos lograrlo, por buscar siempre ayudarnos a solucionar los
problemas que se presentaron, gracias a ustedes hoy podemos decir que se lograron los objetivos propuestos.
Adicionalmente agradecerle a Mariana Valencia, Jessica Pulido, Lorena Valencia y Carmen Duran por
siempre estar pendiente de nosotras, de acompañarnos en todo momento, por brindarnos apoyo y cariño, a
nuestra familia en general por entendernos y estar con nosotras incondicional en el transcurso de este
proceso.
De igual forma queremos agradecerle a nuestra directora Martha Zequera y codirector Eduardo Gerlein por
estar en este proceso.
Finalmente, sin ser menos importante queremos darles las gracias a nuestros amigos quienes de una u otra
forma fueron parte de este proceso, Camila Vega, Paola Barrera, Carlos Reales, James Iriarte, Sergio
Aguilar, Sergio Laverde, Valentina Pilonieta, Zoe Guevara, Johana Rodriguez, Johanna Ramirez, Isabella
Solarte, Yorly Walteros, Camila Estupiñan, Jorge Pérez, Gabriela Torres, Kelly Velandia y Laura Medina.
5
Resumen
Según el Ministerio De Salud nacional actualmente la Diabetes Mellitus (DM) tipo 2 es el tercer problema
de salud pública más importante. La asociación Colombiana de Diabetes ha estimado que el 7% de la
población colombiana mayor a 30 años tiene Diabetes tipo 2 y alrededor de un 30-40% desconocen su
enfermedad. Además, se ha encontrado que la Hipertensión Arterial (HA) afecta cerca del 50 % de pacientes
diabéticos aproximadamente. La coincidencia de HA y DM multiplica el riesgo de morbilidad, mortalidad
e incapacidad de manera exponencial.[1]
Por esta razón, el objetivo de este proyecto es validar un prototipo de un sistema para asistir al paciente
diabético tipo 2 en el auto monitoreo de las variables glucosa y tensión arterial. Este sistema integra los
datos provenientes de los sensores, glucómetro y tensiómetro, para posteriormente visualizarlos a través de
la interfaz de un servidor y una aplicación móvil. Esto con el fin de ayudar al control y seguimientos de las
variables mencionadas anteriormente.
Este proyecto está constituido por el uso de una plataforma de software y hardware. Con la integración de
módulos de comunicación como el módulo WiFi, módulo Bluetooth y módulo GPS. Esto con el fin de la
interconexión entre los diferentes dispositivos que se utilizan.
Por medio de las pruebas realizadas del sistema, se puede comprobar que el sistema adquiere, envía, evalúa
y visualiza los datos correctamente en tiempo real, desde los diferentes dispositivos disponibles.
6
Abstract
According to the National Ministry of Health, Diabetes Mellitus (DM) type 2 is the third most important
public health problem currently. The Colombian Diabetes Association has estimated that 7% of the
Colombian population over 30 years of age have diabetes type 2 and about 30-40% are unaware of their
disease. In addition, it has been found that arterial hypertension (HA) affects about 50% of diabetic
patients. The coincidence of HA and DM multiplies the risk of morbidity, mortality and disability
exponentially. [1]
For this reason, the objective of this project is to validate a prototype of a system that assist the type 2
diabetic patient in self-monitoring the variables of the glucose and blood pressure. This system integrates
the data coming from the sensors, glucometer and tensiometer, for later visualization through the interface
of a server and a mobile application. This in order to help control and follow-up the variables mentioned
above.
This project consists of the puse of a software and hardware platform. With the integration of
communication modules such as WiFi module, Bluetooth module and GPS module. This is in order to
interconnect between the different devices that are used. Through the system tests, you can verify that the
system acquires, sends, evaluates and displays the data correctly in real time, from the different devices
available
7
Contenido Agradecimientos ............................................................................................................................................ 4
Resumen ......................................................................................................................................................... 5
Abstract .......................................................................................................................................................... 6
Lista de Figuras .............................................................................................................................................. 9
Lista de Tablas .............................................................................................................................................10
1. Introducción .........................................................................................................................................11
1.1. Objetivos ......................................................................................................................................11
1.1.1. Objetivo General ..................................................................................................................11
1.1.2. Objetivos específicos ............................................................................................................12
2. Marco contextual ..................................................................................................................................12
3. Descripción del proyecto ......................................................................................................................14
3.1. Especificaciones ...........................................................................................................................14
3.2. Adquisición de las señales (Glucemia, Tensión arterial) .............................................................15
3.3. Desarrollo de la aplicación ...........................................................................................................15
3.4. Conexión a la tarjeta de desarrollo desde la aplicación móvil vía Bluetooth ...............................16
3.5. Transferencia de información al servidor - Módulo WiFi............................................................16
3.6. Comunicación del servidor con aplicación móvil ........................................................................16
3.7. Geolocalización ............................................................................................................................16
4. Selección de dispositivos .....................................................................................................................17
4.1. Dispositivos de adquisición ..........................................................................................................17
4.2. Módulos ........................................................................................................................................19
4.2.1. Módulo de WiFi ...................................................................................................................19
4.2.2. Módulo de Bluetooth ............................................................................................................21
4.2.3. Módulo de GPS. ...................................................................................................................23
4.3. Herramientas para visualización de la información .....................................................................25
4.3.1. Servidor en línea ...................................................................................................................25
4.3.2. Aplicación móvil ..................................................................................................................26
5. Implementación y desarrollo del sistema .............................................................................................27
5.1. Interconexión y adquisición de señales con la plataforma e-Health y la tarjeta de desarrollo .....27
5.2. Desarrollo de la aplicación ...........................................................................................................32
5.3. Conexión entre la aplicación móvil y la tarjeta de desarrollo a través del módulo Bluetooth .....36
5.4. Servidor ........................................................................................................................................38
5.5. Conexión WiFi desde la tarjeta de desarrollo al servidor.............................................................40
8
5.6. Transferencia de la información del servidor a la aplicación .......................................................42
5.7. Módulo GPS .................................................................................................................................43
5.8. Integración de módulos de comunicación ....................................................................................44
6. Protocolo de pruebas y análisis de datos ..............................................................................................45
6.1. Consentimiento informado ...........................................................................................................46
6.2. Protocolo para toma de datos en personas....................................................................................46
6.3. Funcionamiento de los sensores ...................................................................................................46
6.4. Establecimiento conexión Bluetooth ............................................................................................49
6.5. Establecimiento conexión WiFi ...................................................................................................50
6.6. Envío de datos al servidor ............................................................................................................51
6.7. Envío de datos a la aplicación móvil ............................................................................................52
6.8. Módulo GPS .................................................................................................................................53
6.9. Prototipo del sistema ....................................................................................................................54
7. Conclusiones y recomendaciones .........................................................................................................55
8. Trabajos Futuros ...................................................................................................................................56
9. Referencias ...........................................................................................................................................56
ANEXOS......................................................................................................................................................57
9
Lista de Figuras Figura 1. Diagrama en bloques ___________________________________________________________________ 14 Figura 2. Kit de la plataforma de sensores e-Health V.2 [13]. __________________________________________ 17 Figura 3. PCB e-Health [23] ____________________________________________________________________ 18 Figura 4. PCB Arduino /Genuino UNO [23] ________________________________________________________ 19 Figura 5. PCB ESP8266 [23] ____________________________________________________________________ 20 Figura 6. Módulo Bluetooth HC-06 _______________________________________________________________ 23 Figura 7. Módulo GPS NEO - 6m _________________________________________________________________ 24 Figura 8. Integración de la plataforma e-Health V2.0 (superior) y la tarjeta Arduino UNO (inferior) __________ 28 Figura 9. Glucómetro e-Health ___________________________________________________________________ 28 Figura 10.Conexión del glucómetro en el monitor serial del IDE de Arduino ______________________________ 29 Figura 11. Tensiómetro e-Health _________________________________________________________________ 29 Figura 12. Conexión del tensiómetro en el monitor serial del IDE de Arduino ______________________________ 30 Figura 13. Conexión del glucómetro y del tensiómetro en el monitor serial del IDE de Arduino _______________ 30 Figura 14. Diagrama de flujo - Adquisición de datos _________________________________________________ 31 Figura 15. Diagrama de flujo del desarrollo de la aplicación __________________________________________ 36 Figura 16.Conexión Bluetooth - Android Studio _____________________________________________________ 37 Figura 17.Ingreso de data - Envío a la tarjeta de desarrollo Android Studio_______________________________ 37 Figura 18. Diagrama de flujo - Conexión Bluetooth Android Studio _____________________________________ 38 Figura 19.Diagrama de flujo - Conexión Bluetooth Arduino ___________________________________________ 38 Figura 20. Página principal de ThingSpeak _________________________________________________________ 39 Figura 21. ThingSpeak - Creación de canal _________________________________________________________ 39 Figura 22. Tipos de gráficas en ThingSpeak ________________________________________________________ 40 Figura 23. Diagrama de fliujo - Transferencia de la información al servidor ______________________________ 41 Figura 24. Diagrama de flujo Transferencia d einformación del servidor a la aplicación ____________________ 43 Figura 25.Diagrama de flujo GPS ________________________________________________________________ 44 Figura 26. Tarjeta con los módulos de comunicación _________________________________________________ 45 Figura 27. PCB Módulos ________________________________________________________________________ 45 Figura 28. Toma de muestras Figura 29. Resultado muestra ___________________________ 47 Figura 30. Conexión glucómetro y tarjeta de desarrollo _______________________________________________ 47 Figura 31. Resultados glucómetro ________________________________________________________________ 48 Figura 32. Toma de muestra de la presión arterial Figura 33. Resultados tensión arterial __________ 48 Figura 34. Conexión tensiómetro con la tarjeta de desarrollo __________________________________________ 48 Figura 35. Resultados tensión arterial _____________________________________________________________ 49 Figura 36. Resultado tensiómetro y glucómetro ______________________________________________________ 49 Figura 37. Diagrama de flujo Bluetooth ____________________________________________________________ 50 Figura 38. conexión Wifi en el Serial Begin _________________________________________________________ 51 Figura 39. Monitor Serial - Envío datos al servidor en línea ___________________________________________ 51 Figura 40. Resultados servidor ___________________________________________________________________ 52 Figura 41 Layout aplicación registro histórico Figura 42 Layout aplicación registro diario ____________ 53 Figura 43 Resultados de la geolocalización en el serial begin __________________________________________ 53 Figura 44. Circuito integrado ____________________________________________________________________ 54 Figura 45 Resultados ___________________________________________________________________________ 54
10
Lista de Tablas
Tabla 1. Metas recomendadas por la asociación americana de la diabetes para el control de la glucosa en la sangre.
...................................................................................................................................................................................... 13 Tabla 2. Niveles normales e hipertensión .................................................................................................................... 13 Tabla 3. Módulos WiFi ................................................................................................................................................. 19 Tabla 4. Conexiones ESP8266 ..................................................................................................................................... 21 Tabla 5. Comandos AT ................................................................................................................................................. 21 Tabla 6. Módulos Bluetooth ......................................................................................................................................... 22 Tabla 7. Conexión módulo HC-06 ................................................................................................................................ 23 Tabla 8. Comandos AT - Bluetooth .............................................................................................................................. 23 Tabla 9. Módulos GPS ................................................................................................................................................. 24 Tabla 10. Servidores[18].............................................................................................................................................. 25 Tabla 11. Entornos de desarrollos integrados disponibles .......................................................................................... 27 Tabla 12. Pines Rx/Tx .................................................................................................................................................. 44
11
1. Introducción Actualmente, la diabetes mellitus (DM) es una de las enfermedades con mayor tasa de mortalidad en el
mundo a causa de su falta de seguimiento y control. Según la Organización Mundial de la Salud (OMS),
422 millones de adultos en el mundo en el año 2014 presentaban diabetes en comparación a los 108 millones
de adultos que padecían esta enfermedad en el año 1980. Se estima que su prevalencia a nivel mundial se
ha duplicado de un 4.7% a 8.5% en la población adulta en el mismo rango de tiempo.[2]
Para poder tener un control apropiado de esta enfermedad, el paciente debe realizar un auto monitoreo
constante de las variables glucemia (nivel de azúcar en la sangre) y tensión arterial a través de métodos
estandarizados como el glucómetro y el tensiómetro comercial. Normalmente estos dispositivos incluyen
un diario que permite al usuario llevar un registro manual de cada medida que realiza. Actualmente, se
encuentran disponibles dispositivos que contienen una memoria de datos los cuales se descargan a un
computador utilizando un software propietario asociado al equipo médico en cuestión. Asimismo, existen
diversas páginas en línea y aplicaciones que facilitan el control y manejo de la diabetes mellitus, las cuales
alertan al paciente cuando debe medir el azúcar en la sangre, así como brindan recomendaciones sobre
aspectos varios tales como la dieta a seguir de acuerdo a las mediciones, entre otros.
Investigaciones han señalado la relación de glucemia y tensión arterial; se ha encontrado que los riesgos
cardiovasculares, como los infartos, son una de las principales complicaciones de la diabetes mellitus[3].
De hecho, de acuerdo a la Alianza Boehring Ingelhein y Lilly solo un 3,2% de los pacientes asocian los
infartos con la diabetes mellitus tipo 2. Realizando una revisión de la tecnología disponible para esta
población, se encontró que en la actualidad no existe una herramienta tecnológica que integre el control y
seguimiento de las variables glucemia y tensión arterial. A razón de lo descrito, se decidió realizar un
prototipo de un sistema para lograr el seguimiento del estado del paciente con diabetes mellitus tipo 2 por
medio del intercambio de información médica (glucemia y tensión arterial) a través de dispositivos
electrónicos. Lo anterior, facilita el control del proceso de salud del paciente, y permite el acceso a
información médica por parte del grupo familiar y el profesional de la salud.
El prototipo del sistema funciona a partir de los sensores glucómetro y tensiómetro, los datos obtenidos son
enviados a un servidor en línea por medio de un módulo WiFi, con el fin de almacenar la información y
llevar un registro histórico del paciente. En seguida, se envía esta información a una aplicación con una
interfaz diseñada especialmente para uso de adultos mayores que tienen diabetes mellitus, en el que se
encuentra los datos de las dos variables medidas, incluyendo gráficas, recomendaciones y generación de
alarmas. Además, permite obtener la localización vía GPS del paciente en caso de que sus medidas
sobrepasen las medidas normales y sea necesario brindar soporte. La aplicación se comunica con la tarjeta
de desarrollo directamente por medio de un módulo de Bluetooth, permitiendo la calibración de uno de los
dispositivos.
1.1. Objetivos
1.1.1. Objetivo General Validar un prototipo de un sistema para asistir al paciente diabético tipo 2 en el auto monitoreo de las
variables glucosa y tensión arterial.
12
1.1.2. Objetivos específicos
• Implementar un programa en Arduino que permita la integración y captura de datos de la tarjeta de
adquisición e-Health y la tarjeta de desarrollo.
• Implementar un programa en Arduino el cual realice la conexión vía WiFi entre la tarjeta de
desarrollo y un servidor para el almacenamiento de los datos.
• Diseñar y desarrollar una aplicación móvil que permita llevar el registro histórico de datos, alarmas,
recomendaciones, etc.
• Implementar un programa en Arduino que permita hacer la lectura del módulo GPS.
• Implementar un programa en Arduino el cual realice la conexión vía Bluetooth entre la aplicación
móvil y la tarjeta de desarrollo.
• Integrar los módulos por medio de un sistema embebido.
• Diseñar un protocolo de pruebas para la verificación del sistema con pacientes.
• Elaborar un manual del prototipo para futuros desarrollos y avances sobre este sistema.
2. Marco contextual La diabetes mellitus es una enfermedad crónica que aparece cuando el páncreas no produce suficiente
insulina; hormona encargada de regular la cantidad de glucosa en la sangre. Lo anterior, provoca
complicaciones en diversas partes del organismo, incrementando el riesgo de una muerte prematura si no es
tratada. Entre las afecciones producidas por niveles bajos de insulina se encuentran: ataques cardiacos,
accidentes cerebrovasculares, insuficiencia renal, amputación de piernas, pérdida de visión y daños
neurológicos.[2]
Existen diferentes tipos de diabetes mellitus, las más comunes son:
La diabetes mellitus tipo 1, se caracteriza por una producción deficiente de insulina y requiere la
administración diaria de tal hormona. Este tipo de enfermedad está relacionado con factores ambientales,
como infecciones por virus, los cuales ocasionan una reacción inflamatoria del páncreas. La diabetes
mellitus tipo 1 no es muy frecuente y aparece normalmente en personas menores de 35 años de edad.[4]
La diabetes mellitus tipo 2, se presenta cuando hay una utilización ineficaz de la insulina y representa la
mayoría de los casos. Es común en adultos mayores de 45 años de edad con historia familiar de diabetes
mellitus, antecedentes de enfermedades cardiovasculares, exceso de peso, sedentarismo e hipertensión
arterial.[5]
Por último, la diabetes gestacional, se caracteriza por el aumento del azúcar en la sangre durante el
embarazo. Aparece generalmente cuando el organismo no cumple con la demanda de insulina que el
embarazo exige.[6]
La diabetes mellitus tipo 2 es prevalente en 21 países y en más de 577 millones de habitantes. Conforme lo
estimado por la Federación Internacional de Diabetes (IDF), en Latinoamérica, en el año 2011, su
prevalencia fue del 9.2% en adultos entre los 20 y 79 años de edad. Para el año 2030 se estima un crecimiento
en el número de adultos diagnosticados con esta enfermedad, asociado a factores de riesgo como la obesidad
y la intolerancia a la glucosa [7]. En Colombia la prevalencia en adultos es del 2% y se considera que entre
el 7% y 8.9% de personas mayores de 30 años de edad la padecen.[8]
Por otro lado, estudios han señalado la prevalencia de un 69.9% de hipertensión arterial en pacientes con
diabetes mellitus tipo 2. La relación entre hipertensión arterial, diabetes mellitus tipo 2 y obesidad es muy
frecuente y forma parte del síndrome metabólico.[9]. Por tal razón, mantener el nivel de azúcar en la sangre
y los valores de presión arterial son fundamentales para prevenir o retrasar complicaciones.
13
De acuerdo a lo señalado, el auto monitoreo de estas variables (glucemia y presión arterial) es de gran
importancia, por medio de herramientas adecuadas como el glucómetro y el tensiómetro. A continuación,
se presentan los niveles recomendados de glucemia en la población adulta:[10]
Normal Meta Tomar Acción
Antes de comer Menos de 110 mmHg 90 mmHg a 130 mmHg Si esta menor de 90
mmHg o mayor de 150
mmHg
2 horas después de
comer
Menos de 130 mmHg Menos de 180 mmHg Si esta menor de 80
mmHg o mayor de 200
mmHg
A la hora de dormir Menos de 120 mmHg 110 mmHg a 150
mmHg
Si esta menor de 110
mmHg o mayor de 180
mmHg Tabla 1. Metas recomendadas por la asociación americana de la diabetes para el control de la glucosa en la sangre.
Con relación a los niveles de presión arterial normales, se obtienen dos medidas: sistólica y diastólica, las
cuales varían según la edad y el sexo del paciente. La presión sistólica es el valor máximo de presión cuando
el corazón se contrae, es decir, es la presión que hace la sangre sobre las arterias al ser impulsadas al corazón.
La presión diastólica es la presión en las arterias cuando el corazón se encuentra en reposo, es decir, es la
presión que hace la sangre sobre las arterias entre dos latidos cardiacos.[11]
EDAD PRESIÓN SISTÓLICA PRESIÓN DIASTÓLICA
Hombre Mujer Hombre Mujer
16 – 18 Años 105-135 100-130 60-86 60-85
19 – 24 Años 105-139 100-130 62-88 60-85
25 – 29 Años 108-139 102-135 65-89 60-86
30 – 39 Años 110-145 105-139 68-92 65-89
40 – 49 Años 110-150 105-150 70-96 65-96
50 – 59 Años 115-155 110-155 70-98 70-98
60 años o más 115-160 115-160 70-100 70-100 Tabla 2. Niveles normales e hipertensión
A partir de lo anterior, al asociar las dos variables mencionadas, tensión arterial y glucemia; estas suelen
encontrarse simultáneamente en personas que padecen Diabetes Mellitus tipo 2, ya que esta enfermedad
afecta negativamente a las arterias lo que predispone al aterosclerosis (estrechamientos de las arterias),
aumentando el riego de desarrollar presión arterial alta.
En diversos estudios epidemiológicos se ha podido comprobar que aproximadamente entre un 40% y un
60% de los pacientes diabéticos padecen hipertensión. En los pacientes diabéticos que necesitan insulina, la
hipertensión suele diagnosticarse años después del comienzo de la diabetes. Por el contrario, en la diabetes
del adulto, el diagnóstico de la hipertensión se suele hacer a la vez o incluso antes que el examen de la
diabetes. [12]
Debido a lo anterior, diseñar un prototipo de un sistema para asistir al paciente diabético mellitus tipo 2 en
el auto monitoreo de las variables glucosa y tensión arterial evitará empeorar y acelerar el daño que la
diabetes ejerce sobre las arterias, lo que daría a lugar a que las personas hipertensas y diabéticas detecten
cambios significativos en las medidas, de tal manera que se prevengan enfermedades como: infarto de
miocardio, insuficiencia renal, accidentes vasculares cerebrales, enfermedad vascular periférica, entre otros.
14
3. Descripción del proyecto El proyecto consistió en el diseño e implementación de un sistema para el auto monitoreo de la glucemia y
tensión arterial, por medio de un sistema embebido cuyo propósito fue tener un mejor control del paciente.
En la figura 1. Se encuentra el diagrama funcional del proyecto.
Figura 1. Diagrama en bloques
La figura 1 describe la operación del sistema la cual es iniciada al momento en que el usuario utiliza los
dispositivos médicos para la toma del nivel de azúcar en la sangre y la presión arterial. Según la organización
mundial de la salud se deben realizar tres tomas al día, donde se recomiendan que sean después de no haber
comido nada (en ayunas) durante al menos 8 horas, la siguiente dos horas después de tomar cierta cantidad
de glucosa, por ejemplo, después del almuerzo y finalmente antes de irse a dormir. Posteriormente, el
glucómetro y el tensiómetro son conectados a la tarjeta de adquisición, obteniendo los datos
correspondientes. Para visualizar la información se conecta a una tarjeta de desarrollo con la que se puede
ver el contenido de los dispositivos a través del monitor serial en el computador. Sin embargo, en las tarjetas
no se puede almacenar la información. Por lo tanto, los datos tomados son enviados a través de un módulo
WiFi a un servidor en línea con el cual se administra una base de datos que contiene el registro histórico y
adicionalmente este servidor permite graficar el comportamiento de las variables en tiempo real. Para poder
obtener un seguimiento y monitoreo del paciente, esta información se envía a una aplicación móvil en la
cual se generan recomendaciones, alarmas y mensaje de texto (SMS) con la información de su localización
si el paciente se encuentra en riesgo. Finalmente, para obtener unos datos confiables, el sistema permite
calibrar el glucómetro mediante el envío de datos de calibración vía Bluetooth desde la aplicación.
A continuación, se describen las especificaciones que se tuvieron en cuenta para el diseño del sistema y se
explicarán los diferentes módulos implementados.
3.1. Especificaciones Los requerimientos con los cuales se diseñó e implementó el sistema para el auto monitoreo de la glucemia
y tensión arterial son los siguientes:
- Es un sistema diseñado para personas adultas mayores, por lo que se buscó que fuera de fácil uso.
- Es un dispositivo de monitoreo que lleva la historia de toma de muestras, de tal manera que le sirva
al paciente, familiares y médicos para un acertado seguimiento de la enfermedad.
15
- Para la toma de muestras se requiere un glucómetro y un tensiómetro con almacenamiento de datos.
- Se requiere que el dispositivo móvil tenga WiFi y Bluetooth integrado.
- Es necesario que el usuario tenga acceso a Internet.
- Por lo que este proyecto es un prototipo, el sistema no es Wearable.
- Sistema ergonómico, se buscó que el dispositivo tuviera un buen diseño, de uso cómodo, seguro y
eficiente.
- Las muestras se deben realizar 3 veces al día.
3.2. Adquisición de las señales (Glucemia, Tensión arterial) Como se ha mencionado anteriormente, la adquisición de las variables se realizó utilizando la plataforma
de sensores biométricos e-Health V2.0 integrada con un sistema embebido. Los sensores utilizados en la
plataforma e-Health V2.0 son:
- Tensión arterial: Cuenta con una memoria, la cual tiene una capacidad de almacenar hasta 80
medidas. Para visualizar la información se debe acceder a la pantalla digital del sensor.
- Glucómetro: Este dispositivo también cuenta con una memoria incluida, con un almacenamiento
de 30 medidas. Nuevamente para visualizar la información se debe acceder a la pantalla digital del
sensor.
En el capítulo 5 se pueden observar las imágenes correspondientes al equipo mencionado.
La información de los sensores es adquirida por el sistema embebido que utiliza el IDE Arduino 1.6.13 y la
librería e-Health. Se implementó un programa que captura la información de los dos sensores y envía los
datos utilizando un protocolo serial para ser observados en un computador. Esta última función se utiliza
como protocolo de verificación del correcto funcionamiento del sistema de captura de datos.
La información adquirida de los sensores, inicia con el número de medidas que contienen almacenado los
dos dispositivos, la fecha y hora en la cual se tomaron cada una de las muestras, según el horario determinado
por el usuario. Por otra parte, los datos tomados en el caso del glucómetro, es la medida de la glucemia en
mg/dL y para el tensiómetro, los valores Sistólicos en mmHg y Diastólicos en mmHg.
3.3. Desarrollo de la aplicación El desarrollo de la aplicación Android, implicó la elaboración de una aplicación móvil de fácil uso y que
permitiera guardar el registro de las dos variables glucemia y tensión arterial, de tal forma que fuera sencillo
entender los resultados y revisar el comportamiento en diferentes periodos de tiempo, ya sea un registro
histórico o diario.
Esta aplicación cuenta con alarmas que tienen como función recordar al usuario la hora exacta en la que
debe realizar la toma de las muestras obteniendo así un correcto registro según las indicaciones del médico
y atendiendo así un control adecuado para la prevención de enfermedades adicionales en el paciente.
La aplicación permite registrar información importante para el monitoreo y seguimiento del paciente, como
es el nombre del usuario, la edad, el sexo y un número de teléfono de algún acudiente en caso de una
emergencia. Adicionalmente, el usuario debe ingresar los horarios en los cuales el médico le ha indicado la
toma de las muestras.
El sistema permite incluir los valores de calibración del glucómetro. Este valor de calibración representa un
offset en la medida propia del dispositivo necesaria para lograr confiabilidad en los datos adquiridos
Por otra parte, en el momento que el usuario desea ver el registro diario, la aplicación mostrará
recomendaciones según los niveles obtenidos indicando si está bien, o por debajo o por encima de los valores
16
normales y algunas recomendaciones importantes para tener en cuenta, también puede revisar el registro
histórico donde encontrará todas las medidas tomadas, finalmente la aplicación cuenta con un botón de
emergencia que envía un mensaje de texto al número indicado con la ubicación del paciente.
3.4. Conexión a la tarjeta de desarrollo desde la aplicación móvil
vía Bluetooth Al ser un sistema de datos médicos, la confiabilidad de los resultados es de suma importancia. Por tal motivo
se busco calibrar el tensiómetro (Anexo3) y glucómetro. Sin embargo, como los equipos utilizados son para
fines investigativos no fue posible realizar la calibración del glucómetro, ya que este dispositivo no cuenta
con un líquido o una tira reactiva que brinda el fabricante mediante la cual se calibra el dispositivo, por esta
razón se decidió generar una verificación mediante un valor de offset.
Por tal motivo, el usuario tiene que ingresar a través de la aplicación un valor que se enviará a la tarjeta de
desarrollo por medio del módulo de Bluetooth. Este valor se le suma a la medida almacenada en el
glucómetro, teniendo así una medida confiable referente a un glucómetro calibrado.
Para lograr la conexión entre ambos dispositivos, se desarrolló un programa en Arduino, en el cual utilizando
los comandos AT se configura el módulo Bluetooth para realizar la conexión con teléfono móvil, y
posteriormente recibir la información suministrada.
3.5. Transferencia de información al servidor - Módulo WiFi Luego de adquirir la información de los dispositivos, era necesario almacenarlos para relacionar los datos y
crear las alertas acerca del estado de salud del usuario. Por tal razón, se decidió utilizar un servidor en línea
que permitiera su almacenamiento.
Para guardar la información fue necesario utilizar un módulo WiFi generando la conexión entre la tarjeta de
desarrollo y el servidor mediante el uso d elos comandos AT. Al realizar esta conexión, se procedió a enviar
los datos adquiridos de los dispositivos al servidor. Estos datos pueden ser observados en el servidor por
cualquier persona que tenga el ID y contraseña.
3.6. Comunicación del servidor con aplicación móvil La transferencia de información se realiza desde el servidor hacia la aplicación móvil por WiFi, en el
momento en el que el usuario indica a través de un botón que desea conocer el registro diario o el registro
histórico, una vez los datos son recibidos por la aplicación esta despliega gráficas de los datos y se generan
algunas recomendaciones para el cuidado de la salud. Si los datos no cumplen con los rangos normales se
generará una alerta.
El propósito es lograr una retroalimentación adecuada con el usuario de manera rápida y de fácil
entendimiento por parte de los diferentes usuarios del sistema, familia o médico tratante. La aplicación así
mismo facilita el monitoreo de la salud mediante las alarmas programadas.
3.7. Geolocalización Dado que el sistema desarrollado está orientado principalmente a adultos mayores, puede resultar difícil
para los familiares mantener una supervisión constante. En caso de presentarse complicaciones con el/la
17
paciente, es muy importante que los allegados puedan localizarlo(a). De esta manera, el sistema desarrollado
incluye un módulo GPS para poder obtener la ubicación del usuario.
Dicho modulo fue integrado en la tarjeta de desarrollo, adquiriendo la latitud y longitud de la ubicación del
usuario. Esta información es enviada posteriormente a la aplicación, y finalmente incluida en un mensaje
de texto de emergencia al teléfono celular programado.
4. Selección de dispositivos
En este capítulo se presentan los dispositivos y módulos utilizados en la integración del sistema propuesto,
mostrando las diferentes opciones que se encontraban en el mercado con sus respectivas características.
4.1. Dispositivos de adquisición
Se realizó una búsqueda de dispositivos que midieran tensión arterial y glucemia, encontrando que la
mayoría de ellos son dispositivos cerrados que involucran la instalación de un software propietario para la
lectura de los datos, limitando su integración con otros sistemas.
En esta búsqueda se encontró la plataforma de sensores biométricos e-Health, la cual cuenta con equipos
que permiten una adquisición de la información de cualquiera de sus sensores, la información de estos
sensores se obtiene mediante la realización de un programa en Arduino.
Figura 2. Kit de la plataforma de sensores e-Health V.2 [13].
La plataforma de sensores e-Health V2.0 es compatible con la tarjeta de desarrollo Arduino UNO, Raspberry
Pi y la tarjeta Intel Galileo Gen1. Esta plataforma permite realizar aplicaciones biométricas y médicas, donde
es posible la monitorización del cuerpo mediante 10 sensores diferentes:
1. Medición de pulso
2. Oxígeno en la sangre (SPO2)
3. Flujo de aire
4. Temperatura corporal
5. Electrocardiograma (ECG)
18
6. Glucómetro
7. Respuesta galvánica cutánea (GSR)
8. Presión arterial (Esfigmomanómetro)
9. Posición del paciente (Acelerómetro)
10. Electromiograma (EMG)
Figura 3. PCB e-Health [23]
La figura 3 presenta en detalle los diferentes puertos y conectores disponibles en la plataforma e-Health
capaces de conectar los sensores mencionados anteriormente. La plataforma de sensores e-Health tiene una
librería C++ de código abierto, la cual permite leer todos los sensores. Para poder visualizar la información
proveniente de los sensores, es necesario integrar la tarjeta de adquisición con una tarjeta de desarrollo
compatible. Para este proyecto se utilizó la tarjeta Arduino UNO. [13]
La tarjeta de desarrollo Arduino / Genuino UNO tiene una placa microcontroladora basada en ATmega328P,
la cual ofrece 14 pines digitales de entrada/salida, 6 entradas analógicas, un reloj de sistema de 16 MHz y
una conexión USB. Esta tarjeta se puede programar con el software Arduino IDE 1.6.13.
La tarjeta Arduino UNO tiene varias opciones de comunicación bien sea con un computador, otro sistema
Arduino u otros microcontroladores en general. El microcontrolador ATmega328 proporciona una
comunicación serial UART TTL (5V), la cual está disponible en los pines digitales 0 (RX) y 1 (TX).
También cuenta con una comunicación serial a través de protocolo USB. El software Arduino (IDE) ofrece
un monitor serial que permite enviar datos desde y hacia la tarjeta [14] y que fue utilizado en este proyecto
para la verificación del funcionamiento del módulo de adquisición.
19
Figura 4. PCB Arduino /Genuino UNO [23]
El método de alimentación del módulo de procesamiento Arduino Uno es por medio de un cable USB
proporcionando 5V, el cual va al computador y tiene un consumo de 200 mAh.
4.2. Módulos Para poder lograr las conexiones entre los diferentes dispositivos, fue necesario el uso de diferentes módulos
de comunicación.
Tabla 3. Módulos WiFi
4.2.1. Módulo de WiFi Para poder realizar la conexión entre el sistema desarrollado y el servidor, para la transferencia de
información, se necesita el uso de un módulo WiFi. La Tabla 3 presentan los módulos WiFi compatibles
con la tarjeta de adquisición e-Health y la tarjeta de desarrollo Arduino UNO resaltando sus características
principales.
Nombre: Roving RN-171 ESP8266 WiFi Shield
Imagen:
Compatibilidad
con Arduino:
SI SI SI
Certificados: FCC/CE/ICS FCC/CE/TELEC/SRRC ---
Protocolos WiFi: 802.11 b/g/n 802.11 b/g/n 802.11 b/g/n
Interfaz de
Hardware:
TTL/UART UART/OTA ---
Voltaje de
operación:
3.0V – 3.7V 3.0V – 3.6V 5V
Corriente de
operación:
50 mA 80 mA ---
Tamaño: 33.02mm X 24.384mm 24.8mm X 14.3 mm ---
Protocolos de
red:
TCP/IP TCP/IP/HTTP TCP/IP
Precio: Precio: $156.900 Precio: $15.000 Precio: $315.000
20
Se seleccionó el módulo WiFi ESP8266 por su bajo costo, bajo consumo (80mAh) y su pequeño tamaño.
Este módulo está diseñado especialmente para aplicaciones móviles e Internet de las cosas (IoT). El módulo
presenta un consumo de energía reducido ofreciendo una solución de red WiFi completa y autónoma. Este
módulo hace las veces de adaptador WiFi con una conectividad simple (Interfaz: SPI/SDIO o I2C /UART).
Por otra parte, este chip es considerado como uno de los más integrados de la industria, ya que contiene
interruptores de antena, RF balun, amplificador de potencia, amplificador de bajo nivel de ruido, filtros y
módulos de administración de energía. Además, requiere un mínimo de circuito externos y está diseñada
para ocupar un área mínima.
El módulo WiFi ESP8266 integra la versión mejorada del procesador de 32 bits Tensilica’s L106 Diamond
series, además para la integración con otros dispositivos o sensores externos, el módulo cuenta con 14 pines
GPIO.
Características:
- Microcontrolador (MCU) de 32 bits de baja potencia integrada.
- Protocolos TCP/IP integrados.
- WiFi de 2,4 GHz, con soporte WPA/WPA2.
- Modos de operación: STA/AP/STA+AP.
- Potencia de sueño profundo < 10 µA – Corriente de fuga de alimentación < 5 µA.
- Despierta y transmite paquetes en < 2ms.
- Consumo de energía en espera de < 1,0mW (DTIM3).
- Certificados: FCC/CE/TELEC/SRRC.
Como se mencionó, el módulo WiFi cuenta en su arquitectura con el módulo de ahorro de consumo de
energía, el cual funciona en tres modos:
- Modo activo: En pleno rendimiento.
- Modo de reposo: Solo permanece activo RTC (Real Time Clock) para mantener la sincronización.
El módulo queda en modo alerta, ante posibles cambios que lo hagan despertar, manteniendo en
memoria los datos de conexión, sin la necesidad de tener que volver a establecer la conexión. Por
lo general, en este modo se consume entre 0,6 mA y 1 mA.
- Modo de sueño profundo: En este modo, RTC esta encendido, pero sin funcionamiento, por lo tanto,
debe pasar por el modo de reposo antes de despertar. Generalmente en este modo lo datos que no
estén almacenados se pierden. El módulo consume aproximadamente, con el reloj RTC (Real Time
Clock en ejecución) y menos de 1,0mA con DTIM = 3 (Delivery Traffic indication map o message)
o inferior a 0,5mA (DTIM = 10) para permanecer conectado al punto de acceso.[15]
La figura 5 presenta el módulo de WiFi ESP8266 indicando sus respectivas conexiones:
Figura 5. PCB ESP8266 [23]
21
La conexión entre el módulo y la tarjeta de desarrollo Arduino UNO se describe en la tabla 4:
ESP8266 Arduino UNO
GND GND
TX RX
CH_PD 3.3V
VCC 3.3V
RX TX
Tabla 4. Conexiones ESP8266
El módulo WiFi ESP8266 se configura a través de los comandos AT, los cuales consisten en caracteres
ASCII individuales. A continuación, la tabla 5 muestra algunas de sus funciones:
Comando AT Función
AT Verifica si está funcionando el módulo.
AT+RST Reinicia el módulo.
AT+GMR Ver la versión de firmware.
AT+CWLAP Muestra la lista de puntos de acceso a internet.
AT+CWJAP?
AT+CWJAP=”SSID”,”PASS”
Se una a un punto de acceso
SSID= nombre del WiFi
PASS = contraseña
AT+CWQAP Salir de punto de acceso al internet.
AT+CIFSR Obtener la dirección IP.
AT+CWMODE Obtener el modo Wifi,
AT+CIPSTART=<type>,<addr>,<port> Inicia la conexión TCP.
AT+CIPSEND=<length> Envía la información a través del protocolo TCP.
AT+CIPCLOSE Ciera la conexión TCP.
AT+CIOBAUD Velocidad de baudios.
Tabla 5. Comandos AT
4.2.2. Módulo de Bluetooth Se hace uso del módulo Bluetooth para la conexión entre la aplicación móvil y el sistema desarrollado para
la función de calibración del glucómetro. Dentro de las características de los diferentes módulos Bluetooth
disponibles en el mercado, se tuvieron en cuenta las siguientes: alcance, consumo y capacidad de
interconexión. La tabla 6 presenta los módulos compatibles con Arduino analizados para el desarrollo del
sistema.
22
Nombre: HC-05 HC-06 Bluetooth module
PRO
Imagen:
Configuración: Maestro/esclavo/esclavo
con auto conexión
esclavo
Frecuencia: 2,4 GHz, banda ISM 2,4 GHz, banda ISM ---
Alcance: 5m a 10m 5m a 10m 10m a 50 m
Sensibilidad: ≤ -84 dBm a 0,1% BER ≤ -80 dBm a 0,1% BER -90 dBm
Velocidad: Asincrónica: 2,1 Mbps /
160 kbps
Sincrónica: s Mbps / 1
Mbps
Asincrónica: 2 Mbps /
160 kbps
Sincrónica: s Mbps / 1
Mbps
---
Seguridad: Autenticación y
encriptación
Autenticación y
encriptación
---
Consumo: 50mA 30mA a 40mA ---
Voltaje de
alimentación:
3.6V a 6V 3.6V a 6V ---
Tamaño: 17mm X 40 mm 17mm X 40 mm ---
Precio: $28600 $25700 $291900
Tabla 6. Módulos Bluetooth
Con base en las características consignadas en la tabla 6, se escogió el módulo de Bluetooth HC-06, ya que
es uno de los módulos más económicos en el mercado, y que además presenta un tamaño reducido, con
características de transmisión y recepción suficientes para completar los objetivos propuestos en el sistema.
Algunas de sus principales características se muestran a continuación:
- Transceptor inalámbrico.
- La sensibilidad (Tasa de error de bits) puede alcanzar -80dBm.
- El rango de cambio de potencia a la salida es de -4dBm a 6dBm.
- Tiene una antena incorporada de 2,4GHz.
- Tiene el FLASH 8Mbit externo.
- Su voltaje de operación varía entre 3,1V – 4,2V.
- La corriente que se utiliza en el emparejamiento es de 30mA ~ 40mA.
- La corriente en la comunicación es de 8mA.
- Bajo consumo de energía.
- Bajo costo.
Este módulo incluye un adaptador con 4 pines de fácil acceso, sus conexiones correspondientes se pueden
observar en la figura 6.
23
Figura 6. Módulo Bluetooth HC-06
La conexión entre el módulo HC-06 y la tarjeta de desarrollo Arduino UNO se presenta en la tabla 7 a
continuación.
ESP8266 Arduino UNO
GND GND
TX RX
VCC 3.3V o 5V
RX TX
Tabla 7. Conexión módulo HC-06
El módulo tiene un LED para indicar el estado de conexión del Bluetooth. Si el LED parpadea indica que
no está emparejado con otro dispositivo. Por el contrario, si el LED está activado de forma continua indica
que el módulo HC-06 se pudo emparejar con un dispositivo. Además, viene configurado con la velocidad
de transmisión serial de 9600bps, 1 bit de parada y sin bit de paridad. Para su configuración se utilizan los
comandos AT mediante el IDE de Arduino mostrados en la tabla 8. [16]
Comando AT Función
AT Verifica si está funcionando el módulo.
AT+NAME<Nombre> Cambia el nombre de módulo, el cual aparece en
los demás dispositivos
AT+PIN<Pin> Cambia el código de verificación, que por defecto
viene como “1234”
AT+BAUD<Numero> Configura la velocidad de comunicación
AT+VERSION Obtiene la versión de firmware
AT+PN Configuración de Paridad: Sin Paridad
AT+PO Configuración de Paridad: Paridad Impar
AT+PE Configuración de Paridad: Paridad Par
Tabla 8. Comandos AT - Bluetooth
4.2.3. Módulo de GPS. Para conocer la localización del usuario en caso de alguna emergencia se utilizó un módulo GPS, el cual es
un sistema de navegación basado en satélites los cuales proveen información de la localización y la hora.
En la tabla 9 se puede observar los diferentes módulos analizados para el desarrollo del trabajo de grado con
sus principales características.
24
Nombre: NEO-6m EM411
Imagen:
Tipo de receptor: 66 canales 20 canales
Sensibilidad: -165 dBm -159 dBm
Tasa máxima de actualización 5 Hz ---
Precisión de posición 2.,5m 5m
Precisión de velocidad: 0.1 m/s 0.1 m/s
Límites de operación: Dinámica: 4g
Altitud: 50000m
Velocidad: 500m/s
Dinámica: menos de 4g
Altitud: 18000m
Velocidad: 515m/s
Tamaño: 30mm X 20mm X 11.4mm 30mm X 30mm X 10,5 mm
Precio: $50,000 $58,000
Tabla 9. Módulos GPS
Se seleccionó el módulo GPS NEO – 6m, el cual es un modelo GY-GPS6MV2, de un tamaño reducido por
lo que es indicado para este ser integrado en el sistema desarrollado. El módulo GPS se comunica con la
tarjeta ARDUINO a través del puerto serial UART. Adicionalmente, viene equipado con una memoria
EEPROM (Electrically Erasable Programmable Read-Only Memory) utilizada para almacenar los datos de
configuración. Cuenta también con un indicador de LED y una antena cerámica. Sus principales
características son:
- Soporta los siguientes estándares: WAAS/EGNOS/MSAS/GAGAN.
- Mide los siguientes parámetros: Latitud, Longitud, Velocidad, Altitud.
- Antena incorporada de 18.2 X 18.2 X 4.0 mm.
- Tiempo de lectura: Cold Start: 36s
Warm Start: 33s
Hot Start: 1s
- Consumo de energía: <30mA.
- Especificaciones de la Antena: Frecuencia central 1575 ± 3 MHz
Ancho de banda 10 MHz min.
Impedancia 50 Ω.
Razón Axial 3 dB Max.
Este módulo incluye los pines Vcc, Rx, Tx y Gnd, por lo que se puede conectar de manera inmediata a un
microcontrolador mediante una interfaz serial. En la figura 7 se muestra la configuración del módulo GPS
NEO – 6m. [17]
Figura 7. Módulo GPS NEO - 6m
25
4.3. Herramientas para visualización de la información El sistema busca presentar de forma amigable los datos al usuario. El sistema integra dos formas de
visualizar la información, a través de un servidor en línea y a través de una aplicación móvil. Los cuales,
permiten un mayor entendimiento de los resultados. A continuación, se presentan las características de cada
una de ellas.
4.3.1. Servidor en línea El registro histórico de las medidas tomadas para un paciente se realiza mediante un servidor en línea, el
cual tiene como función almacenar los datos provenientes de los sensores biométricos. Además, permite la
interconexión de nuestros dispositivos (sensores y aplicación móvil). Las principales características del
servidor que se buscaron para el desarrollo e implementación del trabajo de grado fueron las siguientes:
- Conectividad bajo diferentes protocolos de comunicación que garantice una precisa transmisión de
datos y la correcta interacción con otros dispositivos.
- Almacenamiento de la información para tener una base de datos.
- Análisis interactivo de la información.
- Diferentes tipos de visualización.
A continuación, la tabla 10 presenta los diferentes servidores que se analizaron en el desarrollo del proyecto.
UBIDOTS ThingSpeak Carriots
- Es una plataforma Open
Source con una API para
almacenar y recuperar
datos usando el
protocolo HTTP.
- Dispone de diferentes
herramientas para la
visualización análisis y
transmisión de los datos
a diferentes dispositivos.
- Es compatible con
Arduino.
- Es una plataforma
gratuita.
- No es compatible con el
módulo WiFi ESP8266.
- Es una plataforma Open
Source con una API para
almacenar y recuperar
datos usando el
protocolo HTTP.
- Dispone de una interfaz
amigable para que
cualquier persona que
necesite monitorear un
dispositivo.
- Tiene la capacidad de
integrarse con
aplicaciones de terceros
(Ej. Android Studio).
- Es compatible con
Arduino y dispone de
documentación para su
conexión.
- Los datos almacenados
en esta plataforma se
pueden analizar un el uso
de la herramienta de
Matlab.
- Es una plataforma
gratuita.
- No es una plataforma
Open Source.
- Tiene una gran
integración con
aplicaciones de terceros.
- Dispone de una API
documentada.
- Minimiza tiempo de
desarrollo.
- Cuenta con diferentes
herramientas de
visualización.
- Compatible con distintos
tipos de Hardware.
- Es compatible con
Arduino.
- No es gratuita la
plataforma.
Tabla 10. Servidores[18]
26
A partir de lo anterior, se seleccionó La plataforma IOT ThingSpeak, la cual es un servicio que permite
agregar, visualizar y analizar flujos de datos en tiempo real con almacenamiento en la nube. ThingSpeak
proporciona visualizaciones de los datos enviados por sus dispositivos, con la capacidad de ejecutar código
de Matlab para realiza un análisis y procesamiento en línea de los datos a medida que estos son subidos.
ThingSpeak incluye la capacidad de configurar los dispositivos para enviar datos utilizando los protocolos
más utilizados por aplicaciones IoT (Internet Of Things). Una de sus características principales es la
capacidad de visualizar los datos de los sensores en tiempo real, incluyendo la comunicación con servicios
de terceros automáticamente. Algunas de sus principales características son:
- API: (Interfaz de programación de aplicaciones) es una llave de acceso a funciones que nos permite
hacer uso del servidor desde un Software tercero de manera segura.
- Canales: La forma de este servidor para almacenar la información de los sensores es a través de
diferentes canales.
- Plugins: Esta plataforma brinda la oportunidad de crear y desarrollar aplicaciones de forma nativa.
Soporta HTML, CSS y JavaScript.
- Integración: Permite una amplia integración con diversos dispositivos hardware y software, como
por ejemplo Arduino, Raspberry Pi, Redes sociales, Aplicaciones Web y análisis de datos con
Matlab.
ThingSpeak se constituye bajo tres módulos:
- Collect (Reunir la información) Se basa en enviar los datos de los sensores de forma privada a
la nube.
- Analyze (Analizar la información) Analiza y visualiza los datos con Matlab, utilizando
herramientas analíticas en línea se puede explorar y visualizar datos, relacionando patrones y
tendencias de la información almacenada.
- Act (Actuar) Controla remotamente dispositivos utilizando aplicaciones desarrolladas ya sea por
el servidor o por el usuario, proporcionando herramientas que permite la comunicación de
dispositivos. [19]
4.3.2. Aplicación móvil Se decidió desarrollar la aplicación móvil en el sistema operativo Android, en vista que la mayoría de los
usuarios de los celulares o tabletas cuentan con este sistema operativo, además cuenta con una gama más
amplia de equipos y precios para diferentes niveles de poder adquisitivo. Para la realización de la aplicación
se tuvo en cuenta las siguientes opciones descritas en la tabla 11.
27
Tabla 11. Entornos de desarrollos integrados disponibles
Se seleccionó Android Studio ya que es el entorno de desarrollo integrado oficial de Android, y a partir de
2013 se posiciono como el remplazo de Eclipse por sus nuevas características y facilidades al crear
diferentes actividades en el desarrollo de aplicaciones, una de las características más importantes es el poder
ver en tiempo real los cambios que se generan, otra de las ventajas es la creación de diferentes versiones de
la misma aplicación ya que esto puede ser una ayuda si se desea crear una versión gratuita y una de cobro.
Android Studio ocupa 400 MB de espacio en disco en sistema Microsoft Windows, Mac OS o Linux.
5. Implementación y desarrollo del sistema
A continuación, se describirá el desarrollo de cada etapa del sistema. Cabe mencionar que en el Anexo1 se
encuentra el diagrama de flujo del programa desarrollado en Arduino, en el cual se puede observar el
comportamiendo secuencial del proyecto elaborado bajo este software. Para poder comprender mejor el
proceso de la aplicación desarrollada en Android Studio, se realizó otro diagrama de flujos, donde se
demuestra la dinámica de la aplicación movil, el cual se encuentra en el Anexo2.
5.1. Interconexión y adquisición de señales con la plataforma e-
Health y la tarjeta de desarrollo
Para poder observar las variables provenientes de los sensores, es necesario integrar la tarjeta de adquisición
e-Health con la plataforma Arduino UNO. La tarjeta de adquisición fue diseñada bajo la misma estructura
de las tarjetas de desarrollo realizadas por Arduino, por lo tanto, empatan correctamente cada uno de sus
pines como se puede observar en la figura8.
Nombre: Android Studio Eclipse Imagen:
Compilación: Rapida Lenta
Lenguaje: Java Java
Build system: Gradle Apache Ant
Vista en tiempo real: Si No
Datos de ejemplo en diseño de layout: Si No
28
Figura 8. Integración de la plataforma e-Health V2.0 (superior) y la tarjeta Arduino UNO (inferior)
Como nuestro sistema solo analiza los valores de glucemia y tensión arterial, únicamente se utilizaron los
sensores (Glucómetro y Tensiómetro) de la plataforma de sensores e-Health V2.0.
Glucómetro
La plataforma de e-Health trae en su kit un glucómetro, con su respectivo cable para realizar la conexión a
la tarjeta de adquisición y un paquete de tiras reactivas para realizar las muestras como se puede observar
en la figura 9.
Figura 9. Glucómetro e-Health
Una vez se haya tomado la muestra, el dato es almacenado directamente en el glucómetro y a través del uso
de la librería e-Health compatible con Arduino, es posible visualizar los datos en el monitor serial del IDE
de Arduino. La información obtenida del glucómetro es el número de medidas, la fecha y hora a la cual
fueron tomadas y el valor de la glucosa medido en mg/dL.
29
Figura 10.Conexión del glucómetro en el monitor serial del IDE de Arduino
La plataforma ha sido diseñada para ayudar a investigadores y desarrolladores a medir datos de sensores
biométricos con fines experimentales. Por lo tanto, no cuenta con certificaciones médicas y sus medidas no
son confiables. Por esta razón, es necesario realizar la calibración del glucómetro.
Sin embargo, la calibración de este dispositivo no se pudo realizar, ya que se necesita la solución de control
que vienen en los glucómetros comerciales, ya que con esta botella se hacen las pruebas correspondientes
para el ajuste de las medidas del dispositivo. No obstante, el glucómetro que viene de la plataforma de
sensores e-Health no es comercial y no incluye en su kit esta solución.
Por tal razón, el sistema desarrollado ofrece la opción de calibración del glucómetro para obtener una medida
más acertada. En este caso, la calibración se realiza mediante la incorporación de offset de tal forma que la
medida obtenida del sensor sea corregida. El trabajo de grado no incluyó una calibración certificada del
glucómetro, sin embargo, se ofrece a posibilidad de ajustar el valor obtenido mediante la función de
calibración incorporada en la aplicación móvil.
Tensiómetro
La plataforma e-Health incorpora un tensiómetro acompañado del cable para la conexión a la tarjeta de
adquisición y el brazalete para realizar las medidas, como se observa en la figura 11. Una vez realizada una
medida de presión arterial, la tarjeta descarga los datos obtenidos mediante el uso de la librería eHealth
compatible con Arduino. A partir de lo anterior, la información obtenida corresponde al número de medidas,
la fecha y hora a la cual fueron tomadas y el valor de la presión arterial – sistólica en mmHg, la presión
arterial – diastólica en mmHg y por último el valor de los pulsos en bpm.
Figura 11. Tensiómetro e-Health
30
Para la calibración de este equipo se contactó a la compañía SET & GAD – Metrología Biomédica, donde
se realizó el procedimiento utilizando el método de comparación con el patrón de referencia.
Adicionalmente esta empresa entregó un certificado de la calibración, en el cual se muestra en Anexo3.
Figura 12. Conexión del tensiómetro en el monitor serial del IDE de Arduino
Como una de las finalidades de este trabajo de grado es observar las dos variables, glucemia y tensión
arterial al tiempo para poder analizar su relación, se desarrolló un código en el cual se pudiera observar al
mismo tiempo ambas variables.
Figura 13. Conexión del glucómetro y del tensiómetro en el monitor serial del IDE de Arduino
A continuación, en la figura 14 se observa el diagrama de flujo el cual representa la adquisición de datos
del glucómetor y tensiómrtro por medio e la integración de la tarjeta de adquisición e-Health y el módulo
de procesamiento Arduino uno.
31
Figura 14. Diagrama de flujo - Adquisición de datos
Los datos obtenidos son de tipo flotante, los cuales son almacenados en un vector, el tamaño del vector varía
dependiendo de la cantidad de datos almacenados que contengan los sensores.
El vector que guarda la información del tensiómetro esta organizado de la siguiente forma:
bloodPressureDataVector[lenght].year En esta psoción guarda el año cuando se tomo la muestra.
bloodPressureDataVector[lenght].month En esta psoción guarda el mes cuando se tomo la muestra.
bloodPressureDataVector[lenght].day En esta psoción guarda el día cuando se tomo la muestra.
bloodPressureDataVector[lenght].hour En esta psoción guarda la hora cuando se tomo la muestra.
bloodPressureDataVector[lenght].minutes En esta psoción guarda los minutos cuando se tomo la muestra.
bloodPressureDataVector[lenght].systolic En esta psoción guarda la presión arterial Sistólica cuando se
tomo la muestra.
bloodPressureDataVector[lenght].diastolic En esta psoción guarda la presión arterial Diastólica cuando
se tomo la muestra.
bloodPressureDataVector[lenght].pulse En esta psoción guarda los pulsos por minuto cuando se tomo la
muestra.
El vector que guarda la información delglucómetro esta organizado de la siguiente forma:
glucometerDataVector[lenght].year En esta psoción guarda el año cuando se tomo la muestra.
glucometerDataVector[lenght].month En esta psoción guarda el mes cuando se tomo la muestra.
glucometerDataVector[lenght].day En esta psoción guarda el día cuando se tomo la muestra.
32
glucometerDataVector[lenght].hour En esta psoción guarda la hora cuando se tomo la muestra.
glucometerDataVector[lenght].minutes En esta psoción guarda los minutos cuando se tomo la muestra.
glucometerDataVector[lenght].glucose En esta psoción guarda el valor de la glucosa cuando se tomo la
muestra.
Para la comunicación al computador desde el módulo de procesamiento Arduino UNO, se realiza a través
de los puertos serie, en el cual se envía la información mediante una secuencia de bits, con la ayuda de los
conectores RX(recepción) y TX(Transmición). En este caso se realizo por medio del puerto serial UART
(universally asynchronous receiver/transmitter) que operan a un nivel TTL 0V / 5V, la cual realiza la
conversión de los datos a una secuancia de bits y los transmite a una velocidad determinada, en este caso
fue de 115000 baudios, lo cual lo hace compatible con el módulo de WiFi ESP8266.
Esta información se puede observar desde el programa de Arduino realizado, a través del monitor serial en
el computador.
5.2. Desarrollo de la aplicación Se elaboró una aplicación móvil en el entorno de desarrollo integrado Android Studio, el cual ha sido
diseñado específicamente para aplicaciones de sistema operativo Android basada en IntelliJ IDEA, en el
cual se programa bajo el lenguaje Java. Se eligió desarrollar la aplicación móvil para Android, ya que el
principal usurario son adultos mayores, los cuales tienen mayor asequibilidad a teléfonos móviles que
operan bajo este sistema. Para el diseño y elaboración de la aplicación se privilegió la facilidad de uso dado
el público objetivo del sistema.
A continuación, se presenta el manual de seguimiento de la aplicación elaborada.
HOME_APP
A partir de esta imagen,
se puede observar la
pantalla inicial de la
aplicación móvil para
Android “Safelife” con
su respectivo logo.
REGISTRO_APP
INICIO_APP
REGISTRO_APP
En esta parte de la
aplicación el usuario
debe ingresar su
información personal
incluyendo nombre,
edad, sexo y el teléfono
celular de un familiar en
caso de alguna
emergencia.
ALARMA01_APP
33
ALARMA01_APP
Cuando aparece esta
pantalla, se continua
con el registro, en este
caso el usuario debe
ingresar la hora en que
debe tomarse la muestra
en la mañana dada por el
médico.
Este botón guarda la
hora que se ingresó,
para así configurar la
alarma.
ALARMA02_APP
ALARMA02_APP
El usuario debe ingresar
la hora en que debe
tomarse la muestra en la
tarde según el
diagnóstico dado por el
médico.
Este botón guarda la
hora que se ingresó,
para así configurar la
alarma.
ALARMA03_APP
ALARMA03_APP
El usuario debe ingresar
la hora en que debe
tomarse la muestra en la
noche para tener un
debido control de la
enfermedad.
Este botón guarda la
hora que se ingresó,
para así configurar la
alarma.
FINREG_APP
FINREG_APP
En esta parte de la
aplicación móvil, se
confirma el registro.
HOME_APP
ALARMA_APP
Esta es la pantalla que
aparece cuando se activa
una de las alarmas.
ALARMAOFF_APP
ALARMAOFF_APP
Al detener la alarma
aparece esta pantalla,
Recordando al usuario
de tomar sus muestras.
HOME_APP
34
OPC_APP
BTH_APP
La aplicación tiene un
menú de opciones,
donde se encuentra:
- Offset
- Cerrar sesión
BTH_APP
Para poder calibrar el
sensor, hay que
habilitar el Bluetooth
del celular y
emparejarlo con el
módulo Bluetooth
HC-06.
OFFSET_APP
OFFSET_APP
Al ingresar a esta parte
de la aplicación ya se ha
generado una conexión
exitosa con el modulo
Bluetooth HC.06.
Desde esta parte de la
aplicación se ingresa y
se envía el offset del
glucómetro a la tarjeta
de desarrollo por vía
Bluetooth.
HOME_APP
INICIO_APP
Desde esta parte se puede
acceder al registro de la
información de los
sensores proveniente de
servidor.
RDIARIO_APP
RHISTORICO_APP
SENDSMS_APP
RDIARIO_APP
En el registro diario se
puede observar las
últimas tres variables
almacenadas en la base
de datos, las cuales
indican las muestras
tomadas ese día.
RECOM1_APP
RECOM1_APP
Una vez se hayan
almacenado las
variables, se relacionan
y aparecen en la
aplicación móvil
algunas
recomendaciones
respecto al nivel azúcar
en la sangre para el
usuario.
RECOM2_APP
35
RECOM2_APP
Aquí se presentan
algunas
recomendaciones
respecto al nivel de
presión en la sangre por
parte del usuario.
OPC_APP
RHISTORICO_APP
En el registro histórico
se puede observar todas
las variables
almacenadas en la base
de datos.
SENDSMS_APP
Cuando el paciente se
encuentre en mal
estado, y al oprimir el
botón “Me siento mal”,
se enviara un mensaje
de texto de su
localización, al número
del familiar ingresado
en el registro.
SMS_APP
En esta parte se muestra
desde otro celular al
cual le ha llegado el
mensaje de texto.
En el mensaje de texto,
incluye la Longitud y la
Latitud de la ubicación
del paciente.
GPS_APP
Ingresando esta
información a google
maps, se puede observar
exactamente la
localización del
paciente.
A continuación se puede observar en la figura 15 el diagrama de flujo del desarrollo de la aplicación.
36
Figura 15. Diagrama de flujo del desarrollo de la aplicación
El programa desarrollado en Android Studio tiene un tamaño de 73.6 MB y la aplicación safelife ocupa un
espacio de 9.69 MB en un celular Android.
La aplicación está disponible para teléfonos con sistema operativo 6.0 en adelante, los layouts de la
aplicación fueron realizados utilizando RelativeLayout que permite organizar los diferentes componentes
en la ubicación deseada y que el Layout se ajuste dependiendo de las dimensiones de la pantalla del
dispositivo, permitiendo la visualización de la aplicación en diferentes dispositivos. Adicionalmente la
aplicación asegura que la información que suministra el usuario es almacenada en una base de datos la cual
estará solo disponible en la aplicación móvil. Las diferentes imágenes de la aplicación como el logo y fondo
fueron diseñadas en el programa Canva.
5.3. Conexión entre la aplicación móvil y la tarjeta de desarrollo
a través del módulo Bluetooth El objetivo de lograr esta conexión, es enviar el offset desde la aplicación móvil para la calibración del
glucómetro, habilitando el Bluetooth del celular. Se procede a seleccionar el módulo al que se desea
conectar, este proceso se observa en el Layout BTH_APP. Para realizar el emparejamiento se procede al
Layout OFFSET_APP donde se confirma la conexión Bluetooth y se envia el dato digitado por el usuario.
En la figura16 se observa el código utilizado para realizar la conexión y su verificación. Se inicia verificando
si el blueooth del telefono esta habilitado si es asi se inicia verificando la lista de los dispositivos disponibles
con BluetoothDevice, si se ha seleccionado algun dispositivo este se identificara atraves de socket y se
procede a conectarse a el con socket.connect() si no se conecta correctamente saldra un error indicando que
no se ha emparejado correctamente; si el bluetooth esta desabilitado aparecera un error el cual indica que
esta deshabilitado.
37
Figura 16.Conexión Bluetooth - Android Studio
Como se puede observar en la figura 17, se observa el código en el cual se realiza la verificacion del ingreso
de un dato en la aplicación y si se envío este dato a la tarjeta de desarrollo.
Si se ha generado la conexión bluetooth con algun dispositivo, y se presiona el boton de siguiente, este
procese a llamar la funcion EnviarDatos, en ella se inicia verificando si se ha ingresado algun dato, si no se
ha ingresado dato se mostrara un mensaje de “Los campos no pueden ser vacios”; si se ha ingresado un dato
pediante outputStream.write() se enviara este valor al modulo de procesamiento, y se cierra el envio.
Figura 17.Ingreso de data - Envío a la tarjeta de desarrollo Android Studio
El módulo de Bluetooth HC-06 está bajo el estandar IEEE 802.15.1, la cual permite que dispositivos
inálambricos pórtatiles puedan comunicarse e inter operar uno con el otro a una distancia máxima de 10m,
utilizando un consumo de energía reducido. [20]
Para la conexión con la tarjeta de desarrollo Arduino UNO, se implementó un programa el cual habilita el
módulo Bluetooth, haciendolo visible a los demás dispositivos, permitiendo el emparejamiento si así lo
dispone. Posteriormente, a traves del puerto serial se leen los datos provenientes de la aplicación móvil.
Posteriormente, en la figura 18 y 19 seven lso respectivos diagramas de flujo de los dos programas
realizados.
38
Figura 18. Diagrama de flujo - Conexión Bluetooth Android Studio
Figura 19.Diagrama de flujo - Conexión Bluetooth Arduino
Como se puede observar en la figurs 19. El sistema habilita el módulo WiFi, de tal modo que espera a que
haya un emparejamiento con otro dispositivo, si esto no sucede, el sistema no prosigue a leer los datos
porvenientes de los sensores. Una vez, se haya emparejado con otro dispositivo se prosigue a leer los datos
provenientes de la palicación móvil los cuales vienes en tipo ASCII, para poder sumar este valor con el
valor almacenado en el glucómetro se pasa esta información a un entero.
5.4. Servidor Como se dijo anteriormente, ThingSpeak es una plataforma de Internet de las Cosas (IoT) que permite
recopilar y almacenar en la nube datos de sensores y desarrollar aplicaciones IoT. Además, permite analizar
los datos a través de la herramienta de Matlab y luego actuar sobre ellos.
39
Para poder utilizar esta plataforma se deben seguir los siguientes pasos:
1- Tener una cuenta en MathWorks.
2- Iniciar sesión en la plataforma ThingSpeak.
Figura 20. Página principal de ThingSpeak
3- Esta plataforma utiliza canales para almacenar los datos enviados desde aplicaciones o dispositivos.
Con los ajustes descritos en configuraciones se crea un canal, la es la forma que tiene la plataforma
de alamcenar y publicar los datos. A partir de esta información, se puede enviar y/o recuperar la
información.
Figura 21. ThingSpeak - Creación de canal
Cada canal incluye ocho campos que pueden contener cualquier tipo de datos, tales como las
variables que se quieren analizar en el presente proyecto. En cada uno de los campos se incluyen
los valores de glucemia y tensión arterial. En esta plataforma existen 4 tipos de gráficas: Columnas
– Spline – Barras – Lineal:
40
(a) Columnas (c) Spline
(b) Barras (d) Lineal
Figura 22. Tipos de gráficas en ThingSpeak
Como se puede observar, cada gráfica corresponde a una variable asignada. En cada campo (Field) del
canal es posible configurar el tipo de gráfica, su interfaz y el tipo de información que se está almacenando.
Además, se puede utilizar la herramienta de análisis y visualización de Matlab, donde se pueden analizar
los datos de cada campo, compararlos, calcular la media, eliminar los valores atípicos de datos, etc.
Partiendo de lo anterior, si se desea realizar un análisis más profundo de las variables, se puede utilizar la
herramienta de Matlab. Sin embargo, ThingSpeak dispone de diferentes medios para obtener la gráfica en
tiempo real y de manera precisa los valores de las variables a medir.
Lo liímites de este servidor en línea son los siguientes:
- La tasa más rápida que puede enviar datos al canda es cada 15 segundos.
- Se pueden almacenas un máximo de 8000 datos en cada campo del canal y se pemite solo tener 8
campos por canal.
5.5. Conexión WiFi desde la tarjeta de desarrollo al servidor
Para realizar la conexión de la tarjeta de desarrollo a un punto de acceso a internet se utiliza el módulo WiFi
ESP8266 el cual trabaja bajo el estándar IEEE 802.11 b/g/n, donde se especifica las normas de
funcionamiento de una red de área local inalámbrica (WLAN). El estándar IEEE 802.11b tiene una
41
velocidad máxima de transmisión de 11 Mbps, funciona en la banda de 2.4 GHz, además, la velocidad
máxima de transmisión es de aproximadamente 5.9 Mbit/s sobre el protocolo TCP. El estándar IEEE
802.11g utiliza una banda de 2.4 GHz, pero opera a una velocidad máxima de 22.0 Mbit/s. Además, presenta
la ventaja de poder coexistir con el estándar 802.11b, ya que pueden operar a tecnologías RD DSSS y
OFDM. En el estándar IEEE 802.11n su velocidad de transmisión es diez veces más rápida que una red bajo
otros estándares. Además, el alcance de operación es mayor, lo cual permite utilizar varios canales a la vez
para enviar y recibir datos gracias a la incorporación de varias antenas.[21].
En la figura 23. Se puede observar el diagrama de flujo de la conexión de la tarjeta de desarrollo al servidor
en línea.
Figura 23. Diagrama de fliujo - Transferencia de la información al servidor
Utilizando el IDE Arduino 1.6.13 se implementó un programa en el cual utilizando los comandos AT se
configuro el módulo de tal forma que s epudiera enviar la información porveniente de los sensores al
servidor “Thingspeak”.
Para realizar la conexión a un punto WiFi primero se entrablece el modo de operación del módulo con el
parámetro del comando AT “AT+CWMODE=3”. Donde 3 significa Access Point + Station mode.
Luego se prosigue a establecer un punto de acceso wifi con el comando AT
“AT+CWJAP=”SSID”,”PASS””. Donde SSID es el nombre de la red WiFi a conectar y PASS es la
contraseña para habilitar esa red-
Para la conexión entre la tarjeta de desarrollo y el servidor vía WiFi se maneja el protocolo TCP/IP
(Protocolo de control de transmisión/Protocolo de Internet), el cual representa todas las reglas de
comunicación para internet y se basa en la noción de dirección IP[22]. Esta conexión se hace mediante el
uso del lenguaje AT, con el siguiente comando:
AT+CIPSTART=<type>,<addr>,<port>
42
Donde:
- Type = TCP
- Addr = IP del servidor
- Port = puerto “80”
Una vez se haya realizado la conexión TCP, se procede a enviar la información al servidor con el siguiente
comando:
AT+CIPSEND=getStr.length
Donde length es el tamaño de la información a enviar.
getStr = GET API KEY+ “&field1” + glucosa + “&field2” + sistólica + “&field3” + diastólica
Como se puede observar en el anterior comando, para distinguir a donde subir la información, cada canal
de ThingSpeak cuenta con API Key, el cual representa de forma única la plataforma organizada por el
usuario. También se puede observar como a cada campo asignado en el canal se le envía cada valor por
separado en tiempo real.
Las principales condiciones para realizar este envio es que haya información proveniente de los sensores y
el módulo WiFi este habilitado.
5.6. Transferencia de la información del servidor a la aplicación Para iniciar la transferencia de información se genera la conexión entre el servidor y la aplicación móvil
mediante el archivo Json, este archivo se utiliza para el intercambio de datos que se encuentran en el servidor
y se visualizarán o utilizarán en la aplicación, estos archivos son obtenidos desde el servidor a continuación
se lee este archivo desde Android Studio y ahí se obtiene la información proveniente del servidor.
A partir de lo anterior se tiene una conexión entre el servidor y la aplicación, para tener acceso a los datos
en la aplicación móvil es necesario que el teléfono cuente con una conexión WiFi o un plan de datos, ya que
esta conexión se genera mediante internet. Al estar esta conexión activa, la aplicación tendrá acceso a los
datos almacenados en el canal del servidor, estos datos son usados en la aplicación para visualizarlos y para
generar las recomendaciones sobre el estado del paciente, como se mostró en el layout INICIO_APP, el
usuario cuenta con tres opciones, en estas opciones se llama la información del servidor.
En el caso de la opcion de registro diario, se adquiere todo el registro, sin embargo se realiza una selección
de los tres ultimos datos y estos son los que se visualizan en el layout RDIARIO_APP, los cuales
representan los niveles de glucosa, presión sistolica y presión diastólica tomados durante el dia, de estos
datos seleccionados y con las especificaciones y valores de la tabla1 y la tabla2. Se realizan las recomendaciones
que se muestran posteriormente en el Layout RECOM1_APP y RECOM2_APP. En el caso de la opción de
registro histórico se muestran todos los datos almacenados desde la primera toma de muestras, estos datos
se visualizan en el Layout RHISTORICO_APP . Mediante, las gráficas se busca que el paciente entienda
de una forma más clara los resultados que obtuvo en la toma de las muestras, con las recomendaciones se
busca que el paciente se motive a seguir las recomendaciones y busque mejorar su salud.
En la figura 24 se puede observar el diagrama d eflujo de la transferencia de información del servidor en
línea a la aplicación móvil.
43
Figura 24. Diagrama de flujo Transferencia d einformación del servidor a la aplicación
La información del servidor esta diferenciada por Field donde cada Field representa cada una de las gráficas
del servidor. Con la función Integer.valueOf se inicia la adquisición de los datos, para el uso de esta función
se debe especificar el dato que se desea adquirir y en donde se encuentra. String.ValueOf identifica el tipo
de dato que se va almacenar, para identificar el dato se ingresa feed.get lo cual indica que se encuentra en
algún Field los datos que se están obteniendo, como se van a utilizar todos los datos para el registro histórico
se utiliza feed.size(), y para el registro diario se utiliza feed.size()-a donde a varía entre 3 y 1 para obtener
solo los tres últimos datos, para finalizar se identifica de que Field se obtienen los datos con .getField1() se
obtienen los datos de la primera grafica del servidor.
Lo anterior se realiza dentro de un for el cual permite obtener todos los datos, y esto se realiza para Field1,
Field2 y Field3, que indican los datos del glucómetro, presión sistólica y presión diastólica respectivamente.
Despues de la obtención de los datos se utiliza la función series.appendData() aquí se almacenan los datos
y se organizan para graficarlos después con graph.addSeries() lo cual permite visualizar la gráfica de los
datos en la aplicación, se cuenta con tres graph de registro histórico y tres para registro diario, indicando el
graph y la Series se grafica cada uno de los datos de la glucosa, presión sistólica y diastólica.
5.7. Módulo GPS Para obtener la ubicación del paciente en caso de una emergencia se utilizó el módulo GPS NEO – 6m, el
cual es compatible con Arduino. Para la lectura de los datos se hizo uso de la libraría TinyGPS, la cual nos
facilitará la identificación de la latitud, longitud, así como otras variables, ya sea la hora GMT, velocidad
en nudos, orientación en grados, etc,
44
Figura 25.Diagrama de flujo GPS
Para recibir la información proveniente de la unicación, se debe habilitar el módulo del GPS, este tiene un
tiempo mínimo de 30s antes de localizar un satélite para recibir información. Si se recibe algún tipo de dato
y no es mayor que 0, es decir, es basura, por lo tanto el modulo no se ha podido enganchar con ningún
satélite, esto se debe a la condiciones en donde se encuentre el módulo y el estado del clima. Sin embargo,
si la información es mayor que 0 , se habilita inmediatamente el módulo WiFi y esta información (latitud y
longitud) es enviada al servidor para almacenar su ubicación y posteriormente ser enviada a la aplicación
móvil.
5.8. Integración de módulos de comunicación En este proyecto se utilizaron 3 módulos de comunicación, cada uno requiere conexión serial a los pines
digitales Rx y Tx. Por tal razón, se diseñó y desarrollo una tercera etapa para el prototipo final. Para poder
utilizar el módulo WiFi, el módulo Bluetooth, y el módulo GPS al mismo tiempo, se implementó la librería
“SoftwareSerial”, la cual ha sido desarrollada para permitir la comunicación serial en otros pines digitales
del Arduino, utilizando software para replicar la funcionalidad de los pines TX y RX. Además, cada módulo
es alimentado por uno d elos pines de VCC del módulo de procesamiento Arduino UNO el cual es de 3.3
V, la cual se ajusta a los 3 módulos de comunicación.
En la tabla 12, se puede observar a que pin digital va cada módulo de comunicación.
Módulo TX RX
WiFi Pin Digital 2 Pin Digital 3
Bluetooth Pin Digital 10 Pin Digital 11
GPS Pin Digital 4 Pin Digital 5
Tabla 12. Pines Rx/Tx
En la figura 26, se puede observar el diseño que se realizó para la tercera etapa.
45
Figura 26. Tarjeta con los módulos de comunicación
A continuación, en la figura 27 se muestra el diseño del PCB.
Figura 27. PCB Módulos
6. Protocolo de pruebas y análisis de datos Las pruebas para validar el prototipo fueron realizadas en cada una de las etapas del proyecto, verificando
el correcto funcionamiento de cada uno de los módulos y sensores integrados, para finalmente realizar una
verificación funcional del sistema integrado. A continuación, se describen las pruebas realizadas en cada
una de las etapas de sistema.
Se realizarón 6 pruesbas en las cuales 5 de ellas se realizarón durante un día con la supervisión de una
estudiante de medicina, donde se sacaron tres muestras de cada voluntario.
Además, ser realizo una prueba durante tres días con el sexto voluntario para poder ver un registro histórico
y sus respectivas recomendaciones.
Se escogienron voluntarion que no padecieran de diabtes mellitus, ya que los sesnores son de uso
investigativo y aún no se deben utilizar en pacientes críticos.
En el Anexo5 se pueden observar lso consentimientos informados.
46
6.1. Consentimiento informado Según la información obtenida de la Organización mundial de la salud (OMS) y el comité de evaluación
ética de la investigación (CEI), se diseñó con el formato apropiado el consentimiento informado, teniendo
en cuenta los riesgos, molestias y efectos secundarios que podrían ocurrir en medio del proceso de toma de
muestras. Es de gran importancia, resaltar que los datos obtenidos son de exclusivo uso investigativo, por
lo tanto, son confidenciales.[22]
En el Anexo4, se encuentra el formato del consentimiento informado realizado para la toma de muestras.
6.2. Protocolo para toma de datos en personas En el estudio realizado por “DIAPETICS” con el apoyo de “BASPI - FOOTLAB”, grupo de investigación
orientado a la aplicación de herramientas de ingeniería de la salud de la Pontificia Universidad Javeriana,
dirigido por la Dra. DI. Martha Lucia Zequera Díaz, el cual es una plataforma que tiene como objetivo
apoyar el diagnóstico y tratamiento de las complicaciones relacionadas con el pie diabético. El proyecto de
grado “Sistema para el auto monitoreo de la glucemia y tensión arterial” realizado por las estudiantes de
ingeniería electrónica Catherine Pulido Rozo y Margarita Rosa Valencia Collazos, dirigido por la Dra. DI
Martha Lucia Zequera Díaz y el Ing. Eduardo Andrés Gerlein Reyes, hace parte del estudio que realiza este
grupo de investigación, el cual no será publicado, solamente estará a disposición del grupo DIAPETICS y
los respectivos jueces.
Se diseña el siguiente ejercicio para obtener los resultados que deseen:
1. Al iniciar la actividad, se le dará al paciente una clara explicación del propósito del estudio, se
detallará paso a paso el procedimiento a realizar y se leerá el consentimiento informado. Finalmente,
se le dará el consentimiento informado, para que prosiga a firmarlo y empezar la evaluación.
2. Con la ayuda de un estudiante de medicina, se le tomarán los valores de glucemia con el glucómetro
proveniente del kit de la plataforma de sensores e-Healthv2.0.
3. Nuevamente la estudiante de medicina tomará valores de presión arterial con el tensiómetro del kit
mencionado anteriormente.
4. Se les brindará un refrigerio para el proceso de las muestras necesarias.
5. Enseguida, el voluntario realizará todo el proceso de transferencia de datos al servidor y a la
aplicación con la ayuda de las estudiantes Catherine y Margarita.
6. Por último, se le agradece al paciente por ser partícipe del estudio y verifican los datos resultantes
y se da por terminada la evaluación.
6.3. Funcionamiento de los sensores Para comprobar el funcionamiento de los sensores, se siguieron los siguientes pasos.
Glucómetro
1. Con supervisión de un profesional de la salud y siguiendo el protocolo de tomas de muestras se
realiza la toma de sangre y se obtiene el valor de la glucemia (figuras 28 y 29).
47
Figura 28. Toma de muestras Figura 29. Resultado muestra
2. Se conecta el glucómetro a la tarjeta de adquisición en su puerto especificado (figura 30)
Figura 30. Conexión glucómetro y tarjeta de desarrollo
3. La tarjeta de desarrollo Arduino UNO se conecta al computador y se procede a ejecutar el programa
eHealth “GlucometerExample”.
4. Se verifica en el monitor serial de Arduino IDE que los datos sean recibidos. La figura 24 presenta
un ejemplo el resultado de una de las pruebas de adquisición de datos del glucómetro. Los datos
adquiridos del glucómetro son el número de medidas que contiene almacenado el dispositivo, el
número de la medida, la fecha y hora en la cual se tomó la medida y el valor obtenido en unidades
de mg/Dl.
48
Figura 31. Resultados glucómetro
Tensiómetro:
1. Al igual que las pruebas realizadas con el glucómetro, se realiza una toma de muestras con el
tensiómetro con ayuda de un profesional de la salud (figuras 32 y 33).
Figura 32. Toma de muestra de la presión arterial Figura 33. Resultados tensión arterial
2. Se procede a conectar el dispositivo a la tarjeta de desarrollo(figura 34).
Figura 34. Conexión tensiómetro con la tarjeta de desarrollo
49
3. Se conecta la tarjeta de desarrollo al computador y en el IDE de Arduino corre el programa eHealth
“BloodPressureExample”.
4. Los resultados obtenidos en el monitor serial de Arduino IDE se muestran a continuación en la
figura 28. Se observa el despliegue del número de medidas contenidas en el dispositivo,
posteriormente se indica el número de la medida, la fecha y la hora en la que se tomó la muestra y
se despliegan los resultados obtenidos de la presión sistólica, la presión diastólica y las pulsaciones.
Figura 35. Resultados tensión arterial
Finalmente, se realiza una integración del glucómetro y el tensiómetro para verificar una descarga de datos
cuando los dos sensores se encuentran conectados al sistema al mismo tiempo. Para tal fin se implementó
un programa en el cual se adquiere la información de los dos dispositivos y de igual manera que en los casos
anteriores se verificó mediante el monitor serial obteniendo lo mostrado en la Figura 36
Figura 36. Resultado tensiómetro y glucómetro
6.4. Establecimiento conexión Bluetooth Una vez desarrollada la aplicación móvil e integrado el módulo Bluethooth al sistema, se realiza la
verificación de la conexión entre la aplicación y la tarjeta, lo que incluye los siguientes pasos:
1. Se ingresa a la aplicación, en el menú de opciones, se selecciona Offset y se presiona el botón de
encender, en ese momento se enciende el Bluetooth del teléfono.
2. Posteriormente, se presiona en la aplicación el botón de Visible, esto abrirá las opciones de
emparejamiento Bluetooth del teléfono para seleccionar el dispositivo que deseamos conectar.
3. En el programa de Arduino se habilita el módulo Bluetooth
50
4. Al presionar en la aplicación el botón de Siguiente, el programa de Arduino espera hasta que
encuentra un dispositivo disponible, para poder generar la conexión entre la aplicación y el módulo.
5. A continuación, en la aplicación se mostrará el espacio para el ingreso del dato a enviar, y se
presiona Siguiente, se verifica que se haya ingresado un dato y se envía, mientras que en el programa
de Arduino se espera hasta recibir algún dato.
6. En el momento que se recibe un dato en Arduino se almacena, para usarlo más adelante.
A continuación, se muestra el diagrama de flujo de la conexión Bluetooth entre la aplicación móvil y la
tarjera de desarrollo, donde los bloques verdes representan acciones relacionadas con el sistema y los azules
con la aplicación móvil.
Figura 37. Diagrama de flujo Bluetooth
6.5. Establecimiento conexión WiFi Para establecer la conexión WiFi mediante el módulo ESP8266, se sigue el siguiente procedimiento:
1. Se inicia habilitando el módulo WiFi en Arduino
2. Se comprueba que el módulo esté funcionando por medio de los comandos AT
3. Se conecta a un punto de acceso WiFi
4. Se observa en el monitor serial la confirmación de conexión
A continuación, la figura 38 muestra los datos obtenidos en el monitor serial relacionados con el
establecimiento de la conexión WiFi.
51
Figura 38. conexión Wifi en el Serial Begin
6.6. Envío de datos al servidor Para verificar el correcto envío de datos del sistema al servidor en línea, se deben seguir los pasos descritos
a continuación:
1. Se inicia la conexión bajo el protocolo TCP
2. Se envía información a través del protocolo TCP al servidor en línea
3. El servidor recibe la información, enviada desde Arduino
4. Se visualiza la información mediante gráficas en el servidor.
Figura 39. Monitor Serial - Envío datos al servidor en línea
En la figura 39 se presenta el resultado observado en el monitor serial al realizar envío de datos al servidor.
A continuación, en la figura 40 se observan las diferentes gráficas desplegadas por el servidor: los valores
52
de glucema, presión sistólica y presión diastólica. Estos valores representan las tomas diarias, como se
mencionó anteriormente se toman tres muestras por dia.
Figura 40. Resultados servidor
6.7. Envío de datos a la aplicación móvil Él envió de datos se realiza desde el servidor hacia la aplicación móvil La verificación de tal procedimiento
se realiza siguiendo los siguientes pasos:
1. Se inicia obteniendo los archivos. JSON del canal en el cual se tiene la información del servidor.
2. Después de obtenerlos es necesario adicionarlos al código de la aplicación.
3. La conexión se genera cuando se presiona el botón de registro histórico y registro diario
4. En el momento que se presiona el botón de registro diario, se adquieren todos los datos, pero se
seleccionan los últimos tres datos, los cuales son los que se grafican y con los que se realizan las
recomendaciones.
5. La otra opción es en registro histórico donde mediante gráficas se muestran los datos almacenados
en el servidor
Los resultados obtenidos en la aplicación, son graficados y mostrados en las figuras 41 y 42. Como se
observa ambas gráficas son iguales, esto se debe a que solo se realizaron tres pruebas.
53
Figura 41 Layout aplicación registro histórico Figura 42 Layout aplicación registro diario
6.8. Módulo GPS Para la verificación de la ubicación del paciente y el envío de la información se utiliza el siguiente
procedimiento
1. Se inicia habilitando el módulo GPS en Arduino
2. A continuación, se leen los datos de latitud y longitud
3. Se almacenan los datos y se envían al servidor
4. Del servidor se envía a la aplicación
5. Cuando el usuario presiona el botón de me siento mal en ese momento se usan esos datos al
enviarlos por un mensaje de texto
Figura 43 Resultados de la geolocalización en el serial begin
54
6.9. Prototipo del sistema
Como se puede observar en la figura 44, se encuentra el circuito final, donde se integran las 3 tarjetas
Figura 44. Circuito integrado
Este circuito impreso [Escala: 8,1cm X 9 cm X 9,2cm ]se realizó para generar las conexiones de los
módulos de comunicación con las tarjetas de desarrollo y adquisición creando así el prototipo del sistema
planteado.
A continuación, en la figura 48 se puede observar en el monitor serial el comportamiento del sistema desde
que se inicia, hasta cuando finaliza el proceso.
Figura 45 Resultados
55
7. Conclusiones y recomendaciones
Al realizar un programa en Arduino, se logró la integración de la tarjeta e-Health y el módulo de
procesamiento, para la visualización de los datos provenientes de los sensores tensiómetro y glucómetro.
Para tener un registro de los datos adquiridos, se almacenó la información en un servidor en línea
llamado “Thingspeak” mediante el uso de un módulo WiFi programado en Arduino.
Para lograr un seguimiento y control de la glucemia y tensión arterial se diseñó y desarrollo una
aplicación móvil en Android, para que así el usuario pueda obtener su registro histórico y diario.
Adicionalmente la aplicación genera alarmas en el momento de la toma de la muestra y cuando se
observe el registro diario se le brindan recomendaciones.
En el momento de alguna emergencia, para obtener la localización del usuario se implementó un
programa en Arduino en el cual se realiza la lectura del módulo GPS, y es enviada al servidor y
posteriormente a la aplicación móvil que enviará un mensaje de texto con estos valores a un familiar.
Para el proceso de calibración del equipo, se implementó un programa en Arduino, el cual realiza la
conexión vía Bluetooth entre la aplicación móvil y el módulo de procesamiento, para así enviar el valor
correspondiente y sumarlo al valor adquirido del sensor.
Se logró la Integración de los módulos mediante el diseño de un PCB el cual se acopla físicamente con
la arquitectura de la tarjeta e-Health.
Se diseñó un protocolo de pruebas para la validación del sistema, estas mediciones se realizaron con 6
voluntarios sin afecciones de diabetes ya que el uso de la tarjeta e-Health es de uso investigativo y no
se puede usar con pacientes críticos.
Se elaboró un manual del prototipo para futuros desarrollos y avances sobre este sistema, adicionando
un capítulo del uso del e-Health Biometric Sensor Platform Complete Kit, ya que este kit no cuenta con
un manual de usuario.
Para la utilización del sistema el teléfono móvil a usar debe contar con datos móviles o acceso Wifi y
Bluetooth.
Se recomienda realizar la aplicación en el sistema operativo IOS y Windows para así lograr que
cualquier usuario interesado, pueda utilizar el sistema.
Adicionar más sensores con los que cuenta la tarjeta e-Health para lograr un monitoreo más completo
de los pacientes con diabetes, como son el sensor de temperatura y el sensor del electrocardiograma.
Ampliar el sistema para que se pueda usar cualquier dispositivo de adquisición de la glucosa y la tensión
arterial.
Para futuros desarrollos se pueden realizar análisis de los valores mediante el uso de Matlab, ya que el
servidor “Thingspeak” cuenta con esta herramienta.
Para un uso constante del sistema se debe buscar que sea portátil y de un menor tamaño.
56
8. Trabajos Futuros Se recomienda realizar la aplicación en el sistema operativo IOS y Windows para así lograr que cualquier
usuario interesado, pueda utilizar el sistema.
Adicionar más sensores con los que cuenta la tarjeta e-Health para lograr un monitoreo más completo de
los pacientes con diabetes, como son el sensor de temperatura y el sensor del electrocardiograma.
Ampliar el sistema para que se pueda usar cualquier dispositivo de adquisición de la glucosa y la tensión
arterial.
Para futuros desarrollos se pueden realizar análisis de los valores mediante el uso de Matlab, ya que el
servidor “Thingspeak” cuenta con esta herramienta.
Para un uso constante del sistema se debe buscar que sea portátil y de un menor tamaño
9. Referencias
[1] Ministerio De Salud colombiana, “Guia De Atencion De La Diabetes tipo 2,” Minist. Salud
Colomb., p. 31, 2013.
[2] I. D. Federation, “Informe Mundial de la diabetes,” Resum. orientación, p. 4, 2016.
[3] S. Cugat, E. Creencias, A. B. Ingelheim, and A. Hormigo, “Sólo el 3 % de los pacientes con
diabetes tipo II asocia los infartos con la diabetes,” pp. 50–52, 2016.
[4] E. Colino and L. Herranz, “Tipos de Diabetes,” Fund. para la Diabetes, p. 5, 2007.
[5] C. Grosso, “Diabetes tipo 2,” Fepreva, vol. 8, no. 1, pp. 1–24, 2013.
[6] A. Castellet and L. D. Blanco, “Guía para el autocuidado de la musculatura,” 2008.
[7] P. Aschner, C. Mendivil, J. Pinzón, and J. Feliciano, “Medicina Basada en Evidencia Control y
Tratamiento de la Diabetes Mellitus Tipo 2 con,” Alad, p. 142, 2013.
[8] U. D. S. Ignacio, “Prevalencia de control glucémico y factores relacionados en pacientes con
diabetes mellitus tipo 2 del Hospital,” vol. 145, no. 6, pp. 469–474, 2009.
[9] E. Valdés Ramos I and N. Bencosme Rodríguez, “Frecuencia de la hipertensión arterial y su
relación con algunas variables clínicas en pacientes con diabetes mellitus tipo 2,” Rev. Cuba.
Endocrinol., vol. 20, no. 3, pp. 77–88, 2009.
[10] B. D. Empezando, “Que debo Monitorear mi Nivel de Glucosa en la Sangre ...” Monitoreo de la
Glucosa en la Sangre ¿ Qué es el Auto Monitoreo del Glucosa en.”
[11] J. E. Suárez and A. I. Bravo, “Conexinas y sistema cardiovascular,” Rev. Argent. Cardiol., vol. 74,
no. 3, pp. 149–156, 2006.
[12] Asociación Mexicana de Diabetes A.C., “INFORMACIÓN SOBRE DIABETES,” 2016. [Online].
Available: http://www.geosalud.com/diabetesmellitus/index.htm. [Accessed: 31-May-2017].
[13] Cooking-hacks, “e-Health Sensor Platform V2.0 for Arduino and Raspberry Pi,” 2014. [Online].
Available: https://www.cooking-hacks.com/documentation/tutorials/ehealth-biometric-sensor-
platform-arduino-raspberry-pi-medical. [Accessed: 31-May-2017].
57
[14] R. E. Herrador, “Guía de Usuario de Arduino,” Univ. Cordoba, vol. 1, pp. 8–10, 2009.
[15] ESP8266 Datasheet, “ESP8266EX Datasheet,” Espr. Syst. Datasheet, pp. 1–31, 2015.
[16] L. Guangzhou HC Information Technology Co ., “HC06 Datasheet,” no. 13, pp. 1–17, 2011.
[17] U-blox, “NEO-6 GPS Modules Data Sheet,” p. 25, 2011.
[18] R. L. Garrido, “Estudio Plataformas IoT,” 2015.
[19] Procidis, “learn more,” 2012. [Online]. Available: https://thingspeak.com/pages/learn_more.
[Accessed: 31-May-2017].
[20] P. A. Request et al., “Ieee 802.15 ワーキンググループにおける標準化動向,” pp. 103–107,
2007.
[21] IEEE 802.11n Approval. .
[22] “TCP/IP.” [Online]. Available: http://es.ccm.net/contents/282-tcp-ip. [Accessed: 01-Jun-2017].
[23] Pulido Rozo Catherine, Valencia Collazos Margarita Rosa, “Trabajo de Grado 1630”, “Sistema
para el auto monitoreo de la glucemia y tensión arterial”
ANEXOS
https://drive.google.com/open?id=0B1On4nvJB50tQ2xNVzBFQ1FGZlE
top related