SISTEMA PARA EL AUTO MONITOREO DE LA GLUCEMIA Y …

57
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

Transcript of SISTEMA PARA EL AUTO MONITOREO DE LA GLUCEMIA Y …

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