Desarrollo de una red de comunicaci on para la transmisi on de...

88
Desarrollo de una red de comunicaci´ on para la transmisi´ on de se˜ nales cardiacas de pacientes domiciliarios a una interfaz Web a bajo costo Juan Carlos Diaz Mosquera Cristhian Daniel Lozano Junco IngenieriaElectr´onica Director: Edmundo Vega Telem´ atica Universidad Distrital Francisco Jose de Caldas Facultad de ingenieria Bogot´a,Colombia 2017

Transcript of Desarrollo de una red de comunicaci on para la transmisi on de...

Page 1: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

Desarrollo de una red decomunicacion para la transmision de

senales cardiacas de pacientesdomiciliarios a una interfaz Web a

bajo costo

Juan Carlos Diaz Mosquera

Cristhian Daniel Lozano Junco

Ingenieria Electronica

Director:

Edmundo Vega

Telematica

Universidad Distrital Francisco Jose de Caldas

Facultad de ingenieria

Bogota, Colombia

2017

Page 2: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

ii

Dedicatoria

Principalmente dedico este proyecto de grado a mi madrina Lucy Nicolasa Mosquera, quien

desde siempre me ofrecio sus consejos, companıa, comprension y, sobre todo, amor. Le agra-

dezco por haberme guiado en el camino universitario, ensenarme el valor del esfuerzo y la

constancia. Gracias a cada una de sus palabras y acciones dirigidas hacia mı, he podido

crecer como persona y superar con exito las dificultades que la vida me a propuesto. Hoy y

siempre agradecere su presencia en mi vida, agradezco mi profunda admiracion hacia ella,

motor de impulso para ser cada dıa una persona mas integra.

Le dedico y agradezco con mucho amor y respeto a mi mama, quien nunca a dejado de

preocuparse por mı, le agradezco su paciencia, ensenanzas y su incondicionalidad. A mi fa-

milia por siempre creer en mi, y apoyarme en cada uno de los pasos que voy dando en la vida.

Juan Carlos Diaz Mosquera

Dedico principalmente este proyecto a mis padres, por su incondicional amor. Porque siem-

pre estuvieron presentes con su apoyo, afecto, paciencia y acciones. Por ayudarme y guiarme

en todo este proceso, por ensenarme valores y que todo con esfuerzo puede ser posible y

especialmente por ser un ejemplo a seguir.

Agradezco tambien a mis companeros y profesores, que de alguna forma me ayudaron en

todo este proceso, me brindaron sus experiencias, consejos, conocimientos y lecciones que

contribuyeron no solo en esta etapa profesional sino en mi vida general.

Cristhian Daniel Lozano Junco

Page 3: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

iii

Agradecimientos

Los autores expresan sus agradecimientos a:

Al ingeniero Edmundo Vega Osorio, director del proyecto de grado, por su guıa, disposi-

cion e interes, por sus consejos y metodos eficientes para poder encontrar el camino correcto

hacia el desarrollo exitoso del proyecto.

A la Universidad Distrital Francisco Jose de Caldas y a todos los profesores quienes en

conjunto compartieron con nosotros conocimientos y experiencias invaluables. Por haber

sido parte del forjamiento de las bases que nos definen como personas productivas en la

sociedad.

Page 4: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

iv

Resumen

Este trabajo describe el proceso de desarrollo e implementacion de una red de comunicacion

que tenga la capacidad de transmitir senales electrocardiograficas de pacientes domiciliarios

a una interfaz web a bajo costo.

Inicialmente se realiza la investigacion pertinente, enfocada a los distintos sistemas o pro-

tocolos necesarios para el desarrollo de esta red de comunicacion, ası como las variables y

factores que puedan afectar el rendimiento promedio de esta vista por el usuario. Posterior-

mente, con asesorıas y consultas realizadas a especialistas en salud, se realiza el diseno e

implementacion de la red de comunicacion teniendo en cuenta los requerimientos y sugeren-

cias suministrados por ellos.

Finalmente se llevan a cabo una serie de pruebas que permitan evaluar y analizar los resulta-

dos obtenidos y con ellos el rendimiento general que muestra la red basandose en la calidad

del servicio (QoS).

Page 5: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

Contenido

Lista de figuras 1

1 Introduccion 4

2 Planteamiento del problema 5

3 Justificacion 6

4 Objetivos 8

4.1 Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.2 Objetivos especificos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

5 Marco referencial 9

5.1 Modelo OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

5.1.1 Modelo TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5.1.2 Protocolo TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5.1.3 Protocolo IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5.1.4 QoS - Calidad de servicio . . . . . . . . . . . . . . . . . . . . . . . . 14

5.2 Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.2.1 Caracterısticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.2.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.2.3 Protocolo de control y adaptacion de enlace logico . . . . . . . . . . . 17

5.2.4 Piconet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.2.5 Calidad de servicio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5.3 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.3.1 Definicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.3.2 Modelo Vista Controlador (MVC) . . . . . . . . . . . . . . . . . . . . 20

5.3.3 Aplicacion movil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.3.4 Aplicacion web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.4 Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

6 Metodologıa 31

6.1 Dispositivo transmisor de corto alcance (Fase 1) . . . . . . . . . . . . . . . . 31

6.1.1 Desarrollo electronico . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6.1.2 Funcionamiento del dispositivo . . . . . . . . . . . . . . . . . . . . . 33

Page 6: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

vi Contenido

6.2 Interfaz para dispositivos moviles (Fase 2) . . . . . . . . . . . . . . . . . . . 40

6.2.1 Permisos, peticiones y servicios . . . . . . . . . . . . . . . . . . . . . 40

6.2.2 Interfaz de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6.2.3 Analisis y procesamiento de la senal ECG . . . . . . . . . . . . . . . 49

6.3 Interfaz web para la visualizacion de datos y notificaciones (Fase 3) . . . . . 50

6.3.1 Instalacion del framework Laravel . . . . . . . . . . . . . . . . . . . . 50

6.3.2 Contenido de la interfaz web . . . . . . . . . . . . . . . . . . . . . . . 50

6.4 Pruebas de calidad y control (Fase 4) . . . . . . . . . . . . . . . . . . . . . . 66

6.4.1 Variables a evaluar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.4.2 Pruebas realizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

7 Analisis de resultados 75

7.1 Prueba de potencia de la senal Bluetooth . . . . . . . . . . . . . . . . . . . . 75

7.2 Prueba de distancia Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . 75

7.3 Prueba de retardo en el servidor . . . . . . . . . . . . . . . . . . . . . . . . . 75

7.4 Analisis general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

8 Conclusiones 77

9 Trabajos futuros 78

Page 7: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

Lista de Figuras

5-1. Modelo OSI [3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5-2. Modelo TCP/IP y OSI [3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5-3. Segmento TCP [3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5-4. Interfaz de usuario Android Studio [12] . . . . . . . . . . . . . . . . . . . . . 22

5-5. ECG Telemedicine System Block Diagram [18] . . . . . . . . . . . . . . . . . 27

5-6. Diagrama de flujo basico del dispositivo [19] . . . . . . . . . . . . . . . . . . 28

5-7. Graficos de la senal cardiaca. [20] . . . . . . . . . . . . . . . . . . . . . . . . 30

6-1. Fases del proyecto (Fuente: Elaboracion propia) . . . . . . . . . . . . . . . . 31

6-2. PIC18F2550 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6-3. Modulo HC-05 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6-4. Modulo ADC del PIC18F2550 . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6-5. Conexion del recolector de senales con el PIC18F2550 por ADC (Fuente: Ela-

boracion propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6-6. Registros del modulo ADC del PIC18F2550 . . . . . . . . . . . . . . . . . . 36

6-7. Conexion del modulo Bluetooth con el PIC18F2550 por UART (Fuente: Ela-

boracion propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6-8. Diagrama de flujo de funcionamiento del dispositivo . . . . . . . . . . . . . . 39

6-9. Funcion de peticiones a servidores alojados en internet (Fuente: Elaboracion

propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6-10.Controlador de peticiones del servidor para muestras de la senal ECG (Fuente:

Elaboracion propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6-11.Peticion para activar el Bluetooth del telefono celular. (Fuente: Elaboracion

propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6-12.Esquema de registro de pacientes (Fuente: Elaboracion propia) . . . . . . . 43

6-13.Panel de registro en la interfaz movil (Fuente: Elaboracion propia) . . . . . 44

6-14.Esquema de inicio de sesion de pacientes (Fuente: Elaboracion propia) . . . 45

6-15.Panel de inicio de sesion en la interfaz movil (Fuente: Elaboracion propia) . 45

6-16.Panel principal antes de conectarse al dispositivo transmisor. (Fuente: Elabo-

racion propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

6-17.Error cuando el dispositivo no esta vinculado. (Fuente: Elaboracion propia) 47

6-18.Conexion exitosa con el dispositivo transmisor. (Fuente: Elaboracion propia) 47

6-19.Esquema de almacenamiento de muestras (Fuente: Elaboracion propia) . . . 48

Page 8: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

2 Lista de Figuras

6-20.Panel principal en la interfaz movil (Fuente: Elaboracion propia) . . . . . . 48

6-21.Segmentos de la senal ECG (Fuente: Elaboracion propia) . . . . . . . . . . . 50

6-22.Instalacion del framework Laravel en el proyecto (Fuente: Elaboracion propia) 51

6-23.Carpetas y archivos Laravel (Fuente: Elaboracion propia) . . . . . . . . . . 51

6-24.Controlador de eventos de los doctores (Fuente: Elaboracion propia) . . . . 53

6-25.Controlador de token de la interfaz web (Fuente: Elaboracion propia) . . . . 53

6-26.Controlador de muestras (Fuente: Elaboracion propia) . . . . . . . . . . . . 54

6-27.Controlador de pacientes (Fuente: Elaboracion propia) . . . . . . . . . . . . 55

6-28.Controlador de la aplicacion web (Fuente: Elaboracion propia) . . . . . . . . 56

6-29.Configuracion de la base de datos en Laravel (Fuente: Elaboracion propia) . 57

6-30.Configuracion de canal de correos en Laravel (Fuente: Elaboracion propia) . 57

6-31.Configuracion de sesion en Laravel (Fuente: Elaboracion propia) . . . . . . . 58

6-32.Columnas de la tabla ’users’ en la base de datos (Fuente: Elaboracion propia) 58

6-33.Columnas de la tabla ’doctors’ en la base de datos (Fuente: Elaboracion pro-

pia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

6-34.Columnas de la tabla ’samples’ en la base de datos (Fuente: Elaboracion

propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6-35.Vista principal de la aplicacion (Fuente: Elaboracion propia) . . . . . . . . . 61

6-36.Vista sobre informacion del proyecto (Fuente: Elaboracion propia) . . . . . 61

6-37.Vista sobre autores del proyecto (Fuente: Elaboracion propia) . . . . . . . . 62

6-38.Vista de listado de pacientes (Fuente: Elaboracion propia) . . . . . . . . . . 62

6-39.Vista de mueestras de paciente especifico (Fuente: Elaboracion propia) . . . 63

6-40.Vista de inicio de sesion de doctores (Fuente: Elaboracion propia) . . . . . . 63

6-41.Vista de registro de doctores (Fuente: Elaboracion propia) . . . . . . . . . . 64

6-42.Vista de muestra de paciente especifico para cuidadores . . . . . . . . . . . 64

6-43.Vista enviada en el correo de notificacion de anomalia (Fuente: Elaboracion

propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

6-44.Asignacion de URL’s de la red (Fuente: Elaboracion propia) . . . . . . . . . 65

6-45.Archivo de configuracion de red (Fuente: Elaboracion propia) . . . . . . . . 66

6-46.Resultados de los valores de potencia a diferentes distancias. (Fuente: Elabo-

racion propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6-47.Interfaz de la aplicacion con valores de retardo y perdidas (Fuente: Elaboracion

propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

6-48.Resultados obtenidos a 0m de distancia (Fuente: Elaboracion propia) . . . . 69

6-49.Resultados obtenidos a 5m de distancia (Fuente: Elaboracion propia) . . . . 70

6-50.Resultados obtenidos a 10m de distancia (Fuente: Elaboracion propia) . . . 70

6-51.Promedio de perdida de paquetes (Fuente: Elaboracion propia) . . . . . . . 71

6-52.Resultados obtenidos a 10m de distancia (Fuente: Elaboracion propia) . . . 72

6-53.Resultados obtenidos a 10m de distancia (Fuente: Elaboracion propia) . . . 72

6-54.Resultados obtenidos a 10m de distancia (Fuente: Elaboracion propia) . . . 73

Page 9: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

Lista de Figuras 3

6-55.Promedio de retardo en la transmision TCP/IP (Fuente: Elaboracion propia) 74

Page 10: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

1 Introduccion

En el desarrollo del pregrado de Ingenierıa Electronica en la Universidad Distrital Francisco

Jose de Caldas se adquirieron conocimientos y habilidades en el desarrollo de nuevas tecno-

logıas utilices para la sociedad. Con el objetivo de contribuir en la mejora de la calidad de

vida de las personas, se desarrolla una red de transmision de datos que permite el control

dinamico y remoto de la senal cardiaca de pacientes.

Se detecta en Colombia problemas respecto a la atencion de pacientes en los hospitales,

el numero de pacientes que requieren un control rutinario colapsa las instalaciones fısicas de

salud, entorpeciendo la atencion y representando un riesgo para quienes requieren atencion

inmediata. Como un aporte a la solucion de este problema se propone el uso de la tele-

medicina para la atencion de pacientes quienes requieren un control periodico de su senal

electrocardiografica, con el objetivo de descongestionar los hospitales se disena una red de

transmision que permita a los doctores el monitoreo dinamico de la senal electrocardiografica

de pacientes, ademas de un sistema de analisis y alerta el cual detecta anomalıas en la senal

cardiaca como la bradicardia, la taquicardia o la ausencia de actividad cardiaca.

Page 11: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

2 Planteamiento del problema

La mortalidad por enfermedades cardiacas constituye la primera causa de muerte en Co-

lombia, segun un informe del DANE, y las estadısticas vitales en Colombia, las muertes

cardiacas comprenden casi el 30 % de los fallecimientos del paıs [1]. Tambien, en la actua-

lidad, existen tecnologıas de prevencion para enfermedades cardiacas en Clınicas y centros

hospitalarios especializados donde se pueden llevar a cabo monitorizaciones y seguimien-

tos pertinentes del comportamiento cardiaco de cada paciente [2]. Sin embargo, un aspecto

necesario y de gran importancia para mejorar la prevencion de enfermedades cardiacas es

facilitar la monitorizacion de la senal cardiaca de los pacientes, actualmente cada paciente

debe asistir continuamente a centros hospitalarios para realizar seguimientos respecto a su

comportamiento cardiaco, ante esto, surge la idea de facilitar dicha monitorizacion para que

pueda hacerse en cualquier momento y en cualquier parte mediante un dispositivo portatil

que recolecta la senal cardiaca, y la pueda enviar a una base de datos alojada en internet por

medio de protocolos de comunicacion inalambrica como Bluetooth (corto alcance) y TCP/IP

(largo alcance), donde el especialista o centro hospitalario a cargo tenga acceso y pueda su-

pervisar el estado del paciente de forma practica y en cualquier momento remotamente.

La importancia de enviar la senal cardiaca de forma remota es que simplifica enormemente

el proceso de monitorizacion de cada paciente, ya que el especialista a cargo puede obtener

los datos del estado actual del paciente en cualquier momento, lo cual serıa una gran ventaja

para llevar a cabo acciones que puedan ser necesarias de acuerdo al estado del paciente en

el menor tiempo posible. Este dispositivo esta enfocado para uso en personas en condicion

de discapacidad o personas de la tercera edad que tengan limitaciones para desplazarse con-

tinuamente a los centros hospitalarios; ası como tambien para cualquier persona que busque

prevenir el desarrollo de alguna enfermedad cardiaca, mejorando ası la calidad de vida de las

personas que utilicen el dispositivo. Ante esto, el objetivo es resolver el problema de: ¿Como

transferir la senal cardiaca, de un dispositivo recolector de signos vitales a una interfaz web?

Page 12: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

3 Justificacion

El presente proyecto se enfoca en la trasmision de la senal cardiaca de un paciente a una base

de datos accesible desde internet, contribuyendo ası en la mejora del monitoreo de pacientes

con problemas cardıacos por parte de los medicos y hospitales. Este metodo de monitoreo

busca aportar en la transicion de la medicina curativa hacia la medicina preventiva. La sa-

lud es la base misma de la vida, se desea poner a disposicion tecnologıa capaz de ayudar a

mejorar la calidad de vida de los habitantes de cierta manera.

Como metodos de desarrollo del proyecto se utilizara comunicacion de corto alcance tipo

bluetooth y comunicacion de largo alcance TCP/IP. Al desarrollar un algoritmo que ademas

de integrar ambas tecnologıas permite la transferencia de un alto numero de datos (alre-

dedor de 10000 muestras por peticion) y gestione retardos para evitar la perdida de datos

por un alto numero de peticiones simultaneas en el servidor de destino, aportando ası en el

desarrollo de cualquier otra aplicacion con requerimientos similares.

Actualmente no se cuenta con esta clase de dispositivos en la medicina Colombiana que

permita la transmision y monitoreo remoto de la senal cardiaca, con este proyecto se pre-

tende dar un paso en la medicina preventiva, modelo fuertemente utilizado en los sistemas

de salud mas avanzados alrededor del mundo.

La medicina curativa, enfocada en la atencion de pacientes enfermos fue durante mucho

tiempo la unica pauta en salud a nivel mundial, sin embargo, esta ha empezado a ser com-

plementada por la medicina preventiva, enfocada en evitar el surgimiento de enfermedades.

Este nuevo sistema de salud ha demostrado tener mejores resultados en la longevidad de la

poblacion donde se aplica, ademas de la reduccion de costos en terminos de infraestructura

hospitalaria.[2]

Con el desarrollo de este proyecto se pretende estar mas cerca del analisis de los signos

vitales de los pacientes de forma remota, descongestionando ası los centros hospitalarios y

facilitando la adquisicion de datos relevantes para el tratamiento de enfermedades cardiacas

(entre otras).

Transmitiendo la senal cardiaca del paciente a los medicos o especialistas con acceso a la

plataforma, se busca detectar enfermedades de tipo cardiovascular por medio de tecnologıas

Page 13: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

7

no invasivas, con lo cual se minimiza el riesgo para los pacientes al momento de monito-

rear. La acumulacion de un gran numero de informacion en intervalos de tiempo amplios

permite efectuar un analisis mas preciso y efectivo, por lo tanto, este proyecto contribuye

directamente con la calidad en la atencion medica de manera sostenible.

Page 14: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

4 Objetivos

4.1. Objetivo general

Desarrollar una red de comunicacion para la transmision de senales cardiacas de pacientes

domiciliarios a una interfaz Web a bajo costo.

4.2. Objetivos especificos

Disenar e implementar un dispositivo que almacene y transmita periodicamente la senal

cardiaca del paciente a un dispositivo movil.

Desarrollar una interfaz que transmita la senal cardiaca desde el dispositivo movil a

una base de datos alojada en internet.

Desarrollar una interfaz amigable con el usuario (medicos), con la cual puedan analizar

de forma rapida y eficaz la informacion suministrada por nuestro dispositivo.

Evaluar el correcto funcionamiento del dispositivo.

Page 15: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

5 Marco referencial

En este capıtulo se muestran las investigaciones de conceptos que aportan a la compresion

y desarrollo del proyecto de grado, ası como tambien se muestran antecedentes que estan

relacionados con los temas abarcados en este proyecto.

5.1. Modelo OSI

El modelo OSI (Open Systems Interconnection) es un modelo de red de referencia para per-

mitir la comunicacion e interoperabilidad entre distintas redes y sistemas tecnicos. el modelo

OSI divide los problemas de comunicacion en tareas mas sencillas acomodando cada tipo

de problema en una capa determinada. Este modelo de referencia tiene siete capas, que se

mostraran a continuacion detalladamente.[3]

Capa 1: Fisica

Esta capa define la topologıa de la red y las conexiones fısicas que se deben realizar como

medio por donde viaja la informacion. En esta capa se definen variables como niveles de

voltaje, la velocidad de transmision de datos, tipos de conectores, materiales que se utilizaran

para las conexiones, etc.

Capa 2: Enlace de datos

La capa de enlace de datos proporciona el transito de datos confiable por medio de un enlace

fısico.Se encarga del direccionamiento fısico, del acceso al medio, deteccion de errores, de

la distribucion ordenada de tramas y el control del flujo. En esta capa se encuentran las

siguientes tecnologıas de red: Ethernet, Frame Relay, ATM, PPP y Wi-Fi.

Capa 3: Red

La capa de red se encarga de brindar la conectividad y encontrar la mejor ruta para el flujo

de informacion entre dos puntos. En esta capa se encuentran los protocolos encargados del

enrutamiento, como los protocolos RIP, IGRP, OSPF, BGP. en esta capa tambien se realiza

Page 16: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

10 5 Marco referencial

Figura 5-1: Modelo OSI [3]

el direccionamiento logico (protocolo IP) y la determinacion de la ruta de los datos hasta su

receptor final.

Capa 4: Transporte

La capa de transporte se encarga de la segmentacion de los datos para que puedan ser

transmitidos desde un host a otro. Para brindar un servicio confiable se emplea la deteccion

y recuperacion de errores en el transporte ası como la informacion en el control de flujo. Los

protocolos mas importantes presentes en esta capa son TCP y UDP.

Capa 5: Sesion

La capa de sesion se encarga de establecer, administrar y finalizar la comunicacion entre

dos host diferentes, por tanto, el servicio provisto por esta capa es la capacidad de asegurar

que, dada una sesion establecida entre dos maquinas, la misma se pueda efectuar para las

operaciones definidas de principio a fin, reanudandose en caso de interrupcion. En muchos

casos, los servicios de la capa de sesion son parcial o totalmente prescindibles.

Capa 6: Presentacion

Esta capa se encarga de asegurar que la informacion que fluye entre las capas de aplicacion de

dos sistemas que estan en comunicacion pueda ser leıda de forma adecuada. Tambien en esta

Page 17: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

5.1 Modelo OSI 11

Figura 5-2: Modelo TCP/IP y OSI [3]

capa se realiza el proceso de cifrado y descifrado de datos. Algunos protocolos comunmente

utilizados en esta capa son SSL y TLS.

Capa 7: Aplicacion

Esta es la capa que se encuentra en la parte superior del modelo OSI, y su funcion es in-

teractuar directamente con las aplicaciones del usuario, proporciona servicios de red a los

programas, tambien sincroniza y establece acuerdos en los procedimientos para la recupera-

cion de errores e integridad en el control de datos. Algunos protocolos comunes en esta capa

son FTP y HTTP.

5.1.1. Modelo TCP/IP

El modelo TCP/IP es una descripcion de protocolos de red que inicialmente fue implantado

en la red ARPANET. Es usado para comunicaciones en redes y describe un conjunto de

guıas generales de operacion para permitir que un equipo se pueda comunicar en una red. El

modelo TCP/IP esta dividido en cuatro capas: aplicacion, transporte, internet y acceso a red.

Algunas de estas capas pueden abarcar mas de una capa del modelo OSI. TCP/IP combina

las capas de aplicacion, presentacion y sesion del modelo OSI en la capa de aplicacion; las

capas de enlace de datos y fısica en la capa de acceso a red.

Capa de acceso a red

La capa de acceso a red es la encargada de crear un enlace fısico con el medio de red. se

encarga tambien de dirigir (rutear) los datos que fluyen entre dos hosts de una LAN. Los

servicios que provee esta capa son control de flujo y de errores de datos que viajan entre los

hosts. Esta capa es asimilable a la capa de enlace de datos y la capa fısica del modelo OSI.

Page 18: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

12 5 Marco referencial

Capa de Internet

Esta capa tiene como proposito enviar paquetes desde un dispositivo a otro, por medio del

protocolo adecuado. Tambien se determina la mejor ruta para entregar los paquetes. En esta

capa se encuentra el protocolo IP el cual realiza las funciones de capa de red en el modelo

OSI para el modelo TCP/IP. Otros protocolos importantes presentes en esta capa son ICMP,

ARP, RARP.

Capa de transporte

La capa de transporte proporciona los servicios para transportar la informacion desde un

host a otro, por medio de una conexion logica entre estos. los protocolos presentes en esta

capa segmentan la informacion para poder ser enviada, y posteriormente re ensamblarlos

cuando esta llega a su destino. La capa de transporte asume que puede utilizar la red como

una nube para enviar paquetes de datos desde un origen hasta un destino. En esta capa

trabajan los protocolos TCP y UDP.

Capa de aplicacion

La capa de aplicacion se encarga de manipular la informacion para que esta pueda ser leıda

adecuadamente. Dentro de esta se encuentran los protocolos HTTP, DNS, FTP, NFS, SMTP,

SNMP, entre otros. Esta capa es la que engloba mas capas del modelo OSI, ya que tiene

inmersas las capas de sesion, presentacion y aplicacion, por lo tanto, en esta capa tambien

se realizan las funciones de codificacion y se utilizan protocolos de cifrado como SSL y TLS.

5.1.2. Protocolo TCP

El protocolo TCP (protocolo de control de transmision) es uno de los protocolos fundamen-

tales de Internet. Trabaja sobre la capa de transporte y es el encargado de proporcionar una

transmision fiable de datos orientada a la conexion. El protocolo TCP divide la informacion

en paquetes de datos llamados segmentos, y tambien los reensambla cuando estos son recibi-

dos, para esto, el protocolo tiene la capacidad de identificar de alguna manera cada uno de

los segmentos. El protocolo TCP da soporte a muchas aplicaciones de internet y protocolos

de aplicacion como HTTP, FTP, SMTP, SSH, etc.

Puerto de origen: Numero de puerto que realiza la llamada.

Puerto de destino: Numero del puerto que es llamado.

Numero de secuencia: Numero utilizado para garantizar la secuenciacion correcta de

la llegada de datos.

Numero de acuse: Siguiente octeto TCP esperado.

Page 19: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

5.1 Modelo OSI 13

Figura 5-3: Segmento TCP [3]

Longitud de cabecera: Numero de palabras de 32 bits de la cabecera.

Reservado: Establecido a cero.

Bits de codigo: Funciones de control (como configuracion y finalizacion de una sesion).

Ventana: Numero de octetos que el emisor es capaz de aceptar.

Suma de comprobacion: Suma de comprobacion que incluye la cabecera y los campos

de datos.

Puntero urgente. Indicacion del final de datos urgentes.

Datos: Datos del protocolo de capa superior.

Opciones: Una opcion definida actualmente es el tamano maximo del segmento TCP.

5.1.3. Protocolo IP

El protocolo de internet IP, es un protocolo de comunicacion de datos digitales, que trabaja

en la capa de red del modelo OSI. La funcion principal de este protocolo es el uso bidireccional

para comunicacion de datos mediante un protocolo no orientado a conexion que transfiere

paquetes conmutados a traves de varias redes fısicas enlazadas segun la norma OSI de enlace

de datos. Permite el desarrollo y transporte de datagramas de IP (paquetes de datos), pero no

garantiza su entrega. El protocolo IP puede determinar el destinatario del mensaje mediante

tres campos:[4]

Page 20: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

14 5 Marco referencial

Campo de direccion IP: Esta dada por la direccion del equipo.

Campo de mascara de subred: La cual permite al protocolo IP establecer la parte de

la direccion IP que se relaciona con la red.

Puerta de enlace predeterminada: La cual permite al protocolo IP saber a que equipo

enviar un datagrama.

5.1.4. QoS - Calidad de servicio

QoS o Calidad de servicio es un termino referente al rendimiento promedio de una red digital,

especialmente orientado al rendimiento visto por los usuarios de la red. Mide la calidad de

los servicios prestados por la red con varios aspectos como tasas de errores, ancho de bandam

rendimiento, retraso en la transmision, jitter, disponibilidad, etc.[5]

Variables a medir con el QoS

Bajo rendimiento: Debido a la carga variante de otros usuarios compartiendo los mis-

mos recursos de red, la tasa de bits (el maximo rendimiento) que puede ser provista

para una cierta transmision de datos puede ser muy lenta para servicios en tiempo real

si toda la transmision de datos obtiene el mismo nivel de prioridad.

Paquetes mom:Los ruteadores pueden fallar en liberar algunos paquetes si ellos llegan

cuando los buffers ya estan llenos. Algunos, ninguno o todos los paquetes pueden

quedar sueltos dependiendo del estado de la red, y es imposible determinar que pasara

de antemano. La aplicacion del receptor puede preguntar por la informacion que sera

retransmitida posiblemente causando largos retardos a lo largo de la transmision.

Retardos: Puede ocurrir que los paquetes tomen un largo perıodo en alcanzar su des-

tino, debido a que pueden permanecer en largas colas o tomen una ruta menos directa

para prevenir la congestion de la red. En algunos casos, los retardos excesivos pueden

inutilizar aplicaciones tales como VoIP o juegos en lınea.

Latencia: Puede tomar bastante tiempo para que cada paquete llegue a su destino,

porque puede quedar atascado en largas colas, o tomar una ruta menos directa para

evitar la congestion. Esto es diferente de rendimiento, ya que el retraso puede mejorar

con el tiempo, incluso si el rendimiento es casi normal. En algunos casos, latencia

excesiva puede convertir a una aplicacion como VoIP juegos online inusable.

Jitter: Los paquetes del transmisor pueden llegar a su destino con diferentes retardos.

Un retardo de un paquete varıa impredeciblemente con su posicion en las colas de los

ruteadores a lo largo del camino entre el transmisor y el destino. Esta variacion en

retardo se conoce como jitter y puede afectar seriamente la calidad del flujo de audio

y/o vıdeo.

Page 21: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

5.1 Modelo OSI 15

Entrega de paquetes fuera de orden: Cuando un conjunto de paquetes relacionados entre

sı son encaminados a Internet, los paquetes pueden tomar diferentes rutas, resultando

en diferentes retardos. Esto ocasiona que los paquetes lleguen en diferente orden de

como fueron enviados. Este problema requiere un protocolo que pueda arreglar los

paquetes fuera de orden a un estado isocrono una vez que ellos lleguen a su destino.

Esto es especialmente importante para flujos de datos de vıdeo y VoIP donde la calidad

es dramaticamente afectada tanto por latencia y perdida de sincronıa.

Errores: A veces, los paquetes son mal dirigidos, combinados entre sı o corrompidos

cuando se encaminan. El receptor tiene que detectarlos y justo cuando el paquete es

liberado, pregunta al transmisor para repetirlo ası mismo.

Entrega de paquetes fuera de orden Cuando un conjunto de paquetes relacionados entre

sı son encaminados a Internet, los paquetes pueden tomar diferentes rutas, resultando

en diferentes retardos. Esto ocasiona que los paquetes lleguen en diferente orden de

como fueron enviados. Este problema requiere un protocolo que pueda arreglar los

paquetes fuera de orden a un estado isocrono una vez que ellos lleguen a su destino.

Esto es especialmente importante para flujos de datos de vıdeo y VoIP donde la calidad

es dramaticamente afectada tanto por latencia y perdida de sincronıa. Errores. A veces,

los paquetes son mal dirigidos, combinados entre sı o corrompidos cuando se encaminan.

El receptor tiene que detectarlos y justo cuando el paquete es liberado, pregunta al

transmisor para repetirlo ası mismo.

Page 22: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

16 5 Marco referencial

5.2. Bluetooth

Bluetooth es un estandar de comunicacion inalambrica de corto alcance, baja potencia y

costo reducido que utiliza frecuencias radiales para su funcionamiento. Fue desarrollado ori-

ginalmente por la empresa fabricante de celulares Ericsson en 1994. Por su capacidad de

integracion, esta tecnologıa ha sido ampliamente utilizada en celulares, computadores, pe-

rifericos de datos y audio.[6]

En la actualidad las implementaciones Bluetooth son de topologıa punto a punto con enlaces

directos entre el receptor y el transmisor. Sin embargo, de acuerdo a las especificaciones del

protocolo de comunicacion tienen como objetivo brindar soluciones de redes mas complejas,

con la implementacion scatternets las cuales proporcionan una pasarela eficaz y eficiente de

multiples saltos y retardos aceptables con bajo consumo de energıa que puedan brindar una

transferencia de datos correcta de extremo a extremo en una red.

5.2.1. Caracterısticas

El estandar de comunicacion bluetooth cumple en la actualidad con las siguientes carac-

terısticas:[4]

La velocidad maxima de comunicacion es de 720 Kb por segundo.

La distancia maxima optima de comunicacion es de 10 metros.

La frecuencia de radio de trabajo esta entre los 2.4Ghz a los 2.48Ghz.

Posibilidad de transmision Full Duplex.

La potencia maxima de transmision para la version bluetooth tradicional es de 0dBM,

es decir, 1mW.

La potencia maxima de transmision para la version bluetooth de largo alcance es de

20dBM (100mW).

Combina protocolos de empaquetamiento y switcheo para asegurar que los paquetes

lleguen en orden.

Cada dispositivo debe contar con un tranceptor, el cual permite la transmision y re-

cepcion de datos en la frecuencia de 2.4Ghz (ISM).

5.2.2. Hardware

Segun la especificacion Bluetooth denominada Core, la cual define el nivel fısico (PHY) y el

control de acceso al medio (MAC), los protocolos base de esta tecnologıa, son: [7]

Page 23: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

5.2 Bluetooth 17

Nivel de radiofrecuencia: En este nivel se encuentra el dispositivo fısico denominado

transceptor, el cual utiliza la banda ISM de 2.4GHz. Con el uso unanime y general de

esta banda como medio de comunicacion entre transceptores bluetooth se asegura la

compatibilidad entre los diferentes dispositivos independiente del fabricante.

Nivel de banda base: en este nivel se hace el control de la transicion y recepcion

de datos, se realizan correccion de errores, brodcast automaticos y cifrado de la infor-

macion. Ademas se gestiona la peticion de repeticiones de transmision ante posibles

perdidas en el canal de datos.

Nivel de gestion: Por medio de este nivel de la capa fısica de la comunicacion se

gestiona el inicio y final de la comunicacion entre dos o mas dispositivos. Se realiza

control y planificacion de trafico, ademas de autenticaciones al momento de iniciar la

conexion entre dispositivos. Esta gestion se hace a traves del protocolo LMP (Link

Manager Protocol).

El protocolo LMP utilizado en este nivel, tambien se encarga de la administracion

de la energıa de la comunicacion bluetooth, ası como notificacion del estado de la co-

municacion. Constantemente se realizan busquedas de otros dispositivos en el rango de

establecimiento de conexion, y de ser encontrado alguno, inicia una comunicacion de

deciframiento para determinar si es posible establecer la comunicacion.

5.2.3. Protocolo de control y adaptacion de enlace logico

L2CAP

Por medio del protocolo L2CAP se habilita la funcionalidad de segmentar paquetes, por lo

cual, paquetes muy grandes no admisibles en capas inferiores, son segmentados en tramas

de tamano admisible para el transito y posterior recomposicion de la trama completa en la

capa L2CAP del dispositivo receptor.[7]

5.2.4. Piconet

Se define como una agrupacion espontanea de dispositivos bluetooth. En una piconet, uno

de los dispositivos se le denomina maestro, mientras que a los demas se les llama esclavos.

El numero de dispositivos esclavos dentro de una piconet es ilimitado, sin embargo se deben

tener en cuenta ciertas apreciaciones:

El numero maximo de esclavos activos en una piconet en un instante de tiempo es de

siete, si hay mas, estos se encuentran en un estado de inactividad.

Page 24: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

18 5 Marco referencial

El numero maximo de esclavos directos es de 255, sin embargo, es posible conectar

mas dispositivos a una piconet de manera indirecta respecto a su direccion especifica

bluetooth.[6]

5.2.5. Calidad de servicio

Para poder entender el formato de funcionamiento de la calidad de servicio en la comunica-

cion bluetooth, es necesario conocer la capa HIC, disponible en algunos dispositivos de esta

tecnologıa.

Capa HIC

La interfaz de control de host estandariza las aplicaciones de nivel superior, de esta manera

es posible acceder a capas inferiores en la pila del estandar. Esta capa no es un requeri-

miento obligatorio del estandar, sin embargo, con la implementacion de esta se busca la

interoperabilidad entre dispositivos.[6]

Calidad de servicio

En terminos de programacion, la comunicacion bluetooth ofrece llamadas al protocolo HCI

para la configuracion y observacion de algunos parametros de enlace, como el tipo de pa-

quete o el tiempo de descarga, los cuales afectan directamente el uso del ancho de banda, la

latencia y la tasa de error de los canales.[8]

Una vez configurados los parametros de calidad de servicio, estos pueden ser transmiti-

dos tanto por un esclavo como por un maestro. Si el esclavo es quien envıa los parametros

de configuracion a un maestro, el maestro podra aceptar o rechazar dichos parametros, sin

embargo, en el caso contrario, si el maestro envıa parametros de configuracion de calidad de

servicio a un esclavo, este tendra que aceptarlos y configurarse de acuerdo con esta. Quien

inicial la configuiracion esta directamente relacionado con el flujo de datos que va a haber

en la comunicacion, si la transmision es de esclavo a maestro (tranmsision ascendente) la

configuracion de calidad de servicio tambien sera enviada en ese sentido, de manera equiva-

lente, si la transmision es de maestro a esclavo (transmision descendete) la configuracion de

calidad de servicio ira en ese sentido.

La comunicacion bluetooth ofrece distintas configuraciones de calidad de servicio, en las

que se encuentran:

Sin trafico

significa que la transmision solo debe generarse en el sentido de flujo de datos.

Page 25: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

5.2 Bluetooth 19

Mejor esfuerzo

esta configuracion indica que el dispositivo receptor podra:

• Ignorar el resto de los parametros de calidad de servicio locales.

• Tratar de satisfacer la solicitud de calidad de servicio sin transmitir respuesta.

• Responder con la configuracion de calidad de servicio que puede lograr.

Esta configuracion requiere de los siguientes parametros de configuracion, de lo con-

trario se generara una interrupcion en la comunicacion:

• Tokenrate:la velocidad de datos continua requerida.

• Tamano del contenedor token: La velocidad de transmision de datos maxima

a la que equivale una transmision continua.

• Ancho de banda maximo:La velocidad de transmision de datos maxima a la

que equivale una transmision continua.

• Latencia:La demora maxima aceptada.

• Variacion de retardo: la variacion en el tiempo de retardo entre paquetes.

Como se puede observar en los parametros de configuracion de la calidad de servicio

Bluetooth, no existe un parametro que establezca la tasa de error de la transmision,

sin embargo, para esto, se hace uso del tiempo de retransmision de descarga, en la

cual se define el tiempo que puede durar un dato en el buffer antes de ser remplazado

por datos mas recientes. De acuerdo con este tiempo y al tiempo de transmision de

paquetes, se puede establecer la tasa de error admitida en la comunicacion.

Page 26: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

20 5 Marco referencial

5.3. Software

5.3.1. Definicion

Es el conjunto que contiene un set de instrucciones organizadas de manera logica para la

ejecucion de un programa de computadora junto con la documentacion y datos relacionados

con la operacion de dicho sistema.[9]

5.3.2. Modelo Vista Controlador (MVC)

El modelo de referencia (framework) MVC (Model-View-Controller), aplica el concepto de

separacion de codigo en el proceso de desarrollo de un software, es decir, en vez de ubicar

todo el codigo en un lugar, el modelo de referencia segmenta el codigo en tres partes.[10]

Modelo: En este segmento del codigo de programacion se ubica toda la logica relacio-

nada con la conexion y comunicacion con las bases de datos.

Vista: En este segmento del codigo de programacion se almacena la logica relacionada

con la visualizacion y presentacion de datos al usuario.

Controlador: En este segmento del codigo de programacion se almacena la logica

comercial, es decir toda la logica que hace posible la interaccion entre el modelo y la

vista. Para describir este segmento de manera mas simple, aquı se almacena el codigo

que diferencia un software de otro, ya que se definen todos los eventos he interacciones

que este tendra desde los datos hacia los usuarios.

5.3.3. Aplicacion movil

Lenguaje de programacion Java

Java es un lenguaje de programacion creado por Sun Microsystems Inc desde 1990. Es un

lenguaje de proposito general, valido para realizar todo tipo de aplicaciones profesionales.

Los softwares desarrollados sobre este lenguaje de programacion no son dependientes de la

arquitectura del equipo que lo contenga, son capaces de ejecutarse una gran variedad de

sistemas operativos, incluyendo, Windows, Linux y Android.

Es un lenguaje publico, por lo cual unicamente se requiere un JDK (Java Developers kit)

para poderlo utilizar. Permite escribir pequenos programas ejecutables en paginas HTML

En terminos de seguridad es capaz de administrar los recursos del sistema de manera con-

trolada, gestionar permisos criptograficos y ademas proveen seguridad frente a virus a traves

de redes locales e internet.

Java como lenguaje de programacion, cuenta con las siguientes caracterısticas:

Page 27: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

5.3 Software 21

Lenguaje orientado a objetos.

Funcionamiento integro con la red (internet).

Aprovecha caracterısticas de otros lenguajes modernos, intentando evitar ciertos in-

convenientes que estos posees, como C++.

Gran repositorio de libreririas.

El manejo de punteros de memoria es independiente del usuario y del programador, es

decir, la asignacion de espacio de memoria para variables se hace de manera autonoma

y transparente.

Incorpora Multi-threading, con lo cual es posible ejecutar varios hilos de codigo en

paralelo de un mismo programa.

Este lenguaje se considera una evolucion del lenguaje C++. Su sintaxis es muy parecida, sin

embargo, Java fue disenado desde cero, en un intento por evitar errores detectados en C++

y C.

Java es un lenguaje interpretado, de esta manera es posible ejecutar un programa inde-

pendiente del sistema operativo. En el proceso de publicacion de un proyecto, el programa

es inicialmente compilado, una vez supera el filtro de compilacion, se crea un fichero que

almacena el codigo de programacion a nivel de maquina y este es el que se utiliza para ser

ejecutado por medio de una maquina virtual java en cualquier dispositivo.

Android studio

Es un entorno de desarrollo integrado (IDE), disenado especialmente para el desarrollo de

aplicaciones moviles para dispositivos con plataforma Android. Este entorno esta basado en

el modelo de referencia MVC y compila el lenguaje de programacion Java. Como principales

caracterısticas de desarrollo cuenta con: [12]

Emulador de la aplicacion.

Entorno unificado para el desarrollo de aplicaciones para distindos dispositivos An-

droid.

Instant Run, con el cual es posible aplicar cambios sobre una aplicacion en tiempo de

ejecucion.

Herramienta Lint, con la cual se detectan errores en rendimiento, usabilidad y compa-

tibilidad de versiones.

Page 28: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

22 5 Marco referencial

Figura 5-4: Interfaz de usuario Android Studio [12]

1. Barra de herramientas: Permite realizar acciones, como la ejecucion de la aplicacion

y el uso de herramientas de Android Studio.

2. Barra de navegacion: Permite explorar el proyecto, por lo tanto, por medio de esta

ventana se pueden abrir los diversos archivos que compren el codigo de programacion

y editarlos.

3. Ventana del editor: En este espacio se realizan todos los desarrollos respecto al

codigo de programacion del software.

4. Barra de la ventana de herramientas: Permite contraer y expandir ventanas de

herramientas individuales.

5. Ventanas de herramientas: Permite acceder a tareas especıficas, como la adminis-

tracion de proyectos, las busquedas, los controles de version (entre otros).

6. Barra de estado: Permite visualizar el estado actual del proyecto y del IDE, se

muestran advertencias y alertas.

Play store

Es una plataforma de distribucion digital propiedad de la companıa Google Inc, por medio

de esta aplicacion es posible publicar y descargar aplicaciones moviles para dispositivos con

Page 29: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

5.3 Software 23

sistema operativo Android.[13]

Desde la plataforma de ventas, los usuarios podran navegar y descargar cualquier aplica-

cion publicada dentro de la plataforma siempre y cuando posean el espacio de memoria y la

cantidad monetaria requerida por dicha aplicacion.

Desde la plataforma de desarrolladores, es posible subir aplicaciones y gestionar las ya al-

macenadas por el desarrollador en la plataforma.

Antes del 2012 los usuarios con dispositivos Android contaban con la aplicacion Android

Market y Google music (ambas plataformas de descarga de contenido), sin embargo, a partir

de ese ano, ambas plataformas fueron fusionadas y renombradas al nombre unico de Google

Play, todo como una estrategia de distribucion digital.

5.3.4. Aplicacion web

Lenguajes de desarrollo

HTML

Es un lenguaje de etiquetas utilizado en el desarrollo web para definir la estructura de una

pagina web, por medio de este lenguaje los desarrolladores web son capaces de:[14]

Publicar documentos estaticos con cabeceras, texto, tablas, listas y fotos (entre otras).

Asociar otro contenido web por medio de links, o pulsando botones.

Disenar formularios que permitan realizar transacciones con direccion a servicios re-

motos.

Incluir aplicaciones en una pagina web que contengan hojas de calculo, videoclips, clips

de sonido y cualquier otro tipo de aplicacion compatible.

CSS

Por medio del lenguaje de etiquetas CSS se define la presentacion de una pagina web, es

decir, se configuran todos los parametros de diseno como: los colores de fondo, los colores de

la fuente, el tamano de los textos, la posicion de los contenedores, las animaciones visuales

respecto a eventos, la distribucion de los textos, la visualizacion respecto a la resolucion de

la pantalla (entre otros)

.

Page 30: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

24 5 Marco referencial

JavaScript

JavaScript es un lenguaje de programacion basado en script ejecutado en el lado del cliente,

es decir, una secuencia de comandos en un codigo que no necesitan ser preprocesador para

poderse ejecutar. JavaScript es utilizado en la web para descargar paginas o como respuesta

e eventos de interaccion entra la pagina y el usuario.[15]

Por medio de este lenguaje de programacion se desarrollan paginas web mas dinamicas,

ya que permiten que la pagina interactue con el usuario sin necesidad de descargar conteni-

do desde el servidor que la aloja, y una vez la interaccion es completada se pueden ejecutar

acciones de comunicacion con el servidor sin necesidad de recargar la pagina.

Los scripts en la pagina web tambien permiten recolectar informacion acerca del disposi-

tivo desde el cual se esta visualizando la pagina web, de esta manera es posible cambiar

aspectos visuales de la misma en relacion con los parametros capturados. Junto con los len-

guajes basicos del desarrollo web (HTML y CSS), con el uso de JavaScript se desarrollan

aplicaciones web, las cuales se comportan como software tradicionales de escritorio.

Hypertext Preprocessor (PHP)

Es un lenguaje de script de codigo abierto adecuado para el desarrollo web para uso inte-

grado con el HTML. El uso mas simple de PHP en HTML es incluir las etiquetas de inicio

y fin php dentro de la hoja html, de esta manera se le senala al navegador, cuando entrar o

salir del modo PHP.[16]

Este lenguaje (a diferencia de JavaScript) se ejecuta del lado del servidor, esto repercute

en la seguridad de las paginas web puesto, que el codigo PHP implementado en una pagi-

na web no sera visible para los usuarios, ellos solicitaran su uso, y el servidor unicamente

ejecutara el codigo solicitada y enviara un HTML con la respuesta del codigo. Este funcio-

namiento lo hace ideal para desarrollo de aplicaciones web robustas con alta fiabilidad en el

manejo de datos.

Marco de referencia (Framework)

Laravel

Es un framework disenado para el desarrollo de paginas y aplicaciones web, nativo de PHP,

utiliza el modelo de referencia MVC y programacion orientada a objetos. A traves de este

framework se facilita la configuracion y manejo de tareas web genericas, como la autentica-

cion, el enrutamiento, las sesiones de usuario y el almacenamiento en cache.[17]

Es un framework disenado para el desarrollo de paginas y aplicaciones web, nativo de PHP,

Page 31: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

5.3 Software 25

utiliza el modelo de referencia MVC y programacion orientada a objetos. A traves de este

framework se facilita la configuracion y manejo de tareas web genericas, como la autentica-

cion, el enrutamiento, las sesiones de usuario y el almacenamiento en cache.

Laravel hace uso de la API lluminate, propia de este framework, la cual cuenta con un

gran numero de clases y funciones que conforman el nucleo de este marco de referencia.

Page 32: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

26 5 Marco referencial

5.4. Antecedentes

A continuacion, se muestran tres proyectos quasi-experimentales en los cuales se utilizaron

diferentes metodos de captura y transmision de muestras de la senal ECG vıa inalambrica

con el objetivo de monitorizar pacientes de manera remota.

La seleccion de estos artıculos se hizo en base a las similitudes que tienen respecto a es-

te proyecto para poder evidenciar las facilidades y complicaciones que se tuvieron, ası como

sentar una base respecto a los alcances y limitaciones.

Monitorizacion de la senal ECG de forma remota para aplicaciones de telemedicina

Este dispositivo fue disenado bajo el objetivo de lograr visualizar la senal ECG de un paciente

de forma remota, cuenta con bastantes herramientas que permiten la captura y transmision

exitosa de datos, utilizando almacenamiento de datos removible como perifericos USB y me-

morias flash, ademas de transmision de datos inalambricos haciendo uno de protocolos de

corto y largo alcance como el protocolo bluetooth y TCP/IP respectivamente.

El proyecto fue segmentado en tres bloques generales:

El primero de los bloques denominado “DAM” es el encargado de la adquisicion y

procesamiento de la senal ECG del paciente, de tal forma que pueda ser transmitida y

visualizada en los siguientes bloques.

El segundo bloque, denominado “AP” cumple la funcion de recolectar los datos entre-

gados por el bloque DAM para ser visualizado y nuevamente transmitidos mediante el

protocolo de comunicacion TCP/IP a una estacion remota.

El tercero de los bloques denominado “aplicacion de software”, es la encargada de la

visualizacion local y/o remota de los datos recolectados.

A continuacion, se muestra el diagrama de bloques completo del dispositivo:

Page 33: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

5.4 Antecedentes 27

Figura 5-5: ECG Telemedicine System Block Diagram [18]

Respecto a los resultados obtenidos, los tres bloques del sistema funcionaron con exito, no

se encontro perdida de datos, y las transmisiones no presentaron latencia por encima de lo

esperado respecto a los protocolos de comunicacion implementados.

Aunque es un dispositivo integro respecto a los diferentes modulos y funcionalidades im-

plementadas, no incluye funcionalidades de analisis y por tanto excluye un esquema de

notificaciones que permita la monitorizacion dinamica de datos, ademas al solo tomar como

punto de referencial la senal ECG del paciente no es posible establecer una amplia gama de

anomalıas que este pueda padecer.

Dispositivo de bajo consumo energetico y transmision de datos via bluetooth

El dispositivo desarrollado en el artıculo se destaca por haber sido disenado para un bajo

consumo de energıa durante el proceso de recoleccion y transmision de datos, ademas, hace

uso del protocolo de comunicacion de corto alcance bluetooth.

Page 34: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

28 5 Marco referencial

Este dispositivo captura la senal ECG, la temperatura y el nivel de oxigeno del paciente

por medio del dispositivo Arduino, el cual a su vez analiza los datos capturados y emite

senales de alerta vıa bluetooth a celulares inteligentes, computadoras u otros dispositivos

con puerta de enlace bluetooth, en caso de encontrar anomalıas en alguno de los datos cap-

turados.

A continuacion, se muestra el diagrama de flujo que representa el funcionamiento ıntegro del

dispositivo:

Figura 5-6: Diagrama de flujo basico del dispositivo [19]

Respecto a la implementacion del dispositivo, se consiguio con exito capturar las muestras

de 20 pacientes, ademas, el analisis de los datos mostros resultados positivos emitiendo aler-

Page 35: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

5.4 Antecedentes 29

tas cuando se encontraban anomalıas en alguna de las senales. El impacto que tuvo este

dispositivo en la comunicad fue ampliamente valorado puesto que, segun los cardiologos in-

volucrados, se redujo hasta en un 50 % el trabajo en el laboratorio.

De acuerdo con el analisis del dispositivo vale la pena destacar que dejando a un lado las

ventajas que este tiene en cuanto a consumo de energıa y analisis de datos, no es capaz de

transmitir informacion a grandes distancias, y por tanto no es posible un analisis de datos

realmente remoto.

Holter de transmision inalambrica

Este dispositivo captura todos los procesos necesarios para la recoleccion de la senal ECG

hasta el almacenamiento digital de esta en destinos remotos. El dispositivo captura la senal

ECG por medio de electrodos ubicados estrategicamente en el paciente para su posterior

transduccion a senales electronicas analogicas, una vez se captura la senal en energıa electri-

ca esta es filtrada por medio de circuitos electronicos para eliminar el ruido capturado en el

proceso de conversion, luego del proceso de filtrado la senal es acondicionada y digitalizada

por medio de un microprocesador, el cual a su vez se encarga de la transmision de estos datos

vıa TCP/IP hacia un servidor remoto el cual almacenara las muestras para ser visualizadas

por medio de una pagina web.

El desarrollo del dispositivo fue segmentado en cuatro bloques generales los cuales cum-

plen las funciones de capturar, acondicionar, procesar/transmitir y almacenar la senal ECG

respectivamente. Se obtuvieron resultados positivos en todos los segmentos del dispositivo

sometiendolo a prueba en diez pacientes.

El desarrollo del dispositivo fue segmentado en cuatro bloques generales los cuales cum-

plen las funciones de capturar, acondicionar, procesar/transmitir y almacenar la senal ECG

respectivamente. Se obtuvieron resultados positivos en todos los segmentos del dispositivo

sometiendolo a prueba en diez pacientes.

Vale la pena destacar el proceso de filtrado de la senal ECG capturada, puesto que en

la grafica obtenida desde el servidor es facil de observar la nitidez de la senal almacenada,

como se muestra a continuacion:

Page 36: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

30 5 Marco referencial

Figura 5-7: Graficos de la senal cardiaca. [20]

Del dispositivo se puede observar que pese a su integridad, no cuenta con un metodo de

transmision de datos a corto alcance, por lo tanto el paciente estara sometido a permanecer

en un lugar especifico mientras se capturan los datos de la senal ECG, ademas no se cuenta

con un sistema de analisis y notificacion de anomalıas sobre la senal, por lo tanto sera

necesario permanecer en contante analisis presencial de los datos en busqueda de dichas

anomalıas, haciendo ineficiente la implementacion masiva del dispositivo.

Page 37: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6 Metodologıa

Para la metodologıa del proyecto se tuvo en cuenta el tipo de investigacion cuasi-experimental

propuesto por Mario Tamayo y Tamayo en su libro El proceso de la investigacion, en el que

propone que este modelo investigativo es “Apropiado en situaciones naturales en que no es

posible el control experimental riguroso“ [21]

Figura 6-1: Fases del proyecto (Fuente: Elaboracion propia)

6.1. Dispositivo transmisor de corto alcance (Fase 1)

El objetivo de la primera fase es el diseno e implementacion del dispositivo desde el cual

se recibira la senal cardiaca para su posterior transmision haciendo uso del protocolo de

comunicacion de corto alcance Bluetooth.

Se diseno un dispositivo con la capacidad de captar la senal electrocardiografica del recolector

de senales ECG, y posteriormente enviarla a traves del protocolo Bluetooth a una aplicacion

movil (fase 2). Adicionalmente, con el fin de identificar los requerimientos y necesidades

del usuario final (medicos) se llevaron a cabo varias reuniones con el Dr. Adalberto Amaya

Afanador, director del centro de simulacion clınica de la Pontificia Universidad Javeriana

con el cual se establecieron las siguientes especificaciones:

Recoleccion de la senal cardiaca en un intervalo de diez segundos.

Intervalo entre cada recoleccion de cinco minutos.

6.1.1. Desarrollo electronico

Con base a las especificaciones y requerimientos anteriormente descritos, se decidio utilizar

los siguientes componentes electronicos para la implementacion del dispositivo.

Page 38: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

32 6 Metodologıa

Microcontrolador

El microcontrolador es el encargado de recibir la senal ECG, y luego enviarla a la aplica-

cion movil para su posterior procesamiento. Para esto fue necesario que el microcontrolador

tuviese:

Un modulo conversor analogico digital (ADC) para recibir la senal electrocardiografica

del dispositivo recolector de senales ECG.

Un modulo UART para transferir la informacion guardada a traves del modulo Blue-

tooth.

Debido a esto, se decidio utilizar el PIC18F2550, el cual tiene un modulo UART, canales

de conversion analogica digital de 10 bits, un modo de energıa (IDLE) en el cual la CPU se

apaga para ahorrar energıa, pero los perifericos siguen encendidos, lo cual genera un ahorro

de energıa importante mientras el dispositivo esta en reposo, ademas es un dispositivo de

bajo costo, lo cual lo hace ideal para la implementacion del prototipo.

Figura 6-2: PIC18F2550

Modulo Bluetooth

La razon mas importante de usar un modulo Bluetooth es que este protocolo actualmente se

encuentra en la mayorıa de los dispositivos moviles, por lo cual su implementacion permite

que la mayorıa de personas puedan utilizar este dispositivo con su telefono celular. Se utilizo

el modulo Bluetooth HC-05, el cual tiene unas dimensiones de 1,7cm X 4cm, transmite a

2,4GHz, brinda un alcance de hasta 10 metros, y su funcionamiento es de bajo consumo con

una corriente de 8mA en modo de espera.

Page 39: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.1 Dispositivo transmisor de corto alcance (Fase 1) 33

Figura 6-3: Modulo HC-05

6.1.2. Funcionamiento del dispositivo

El microcontrolador requiere de un voltaje de alimentacion entre 2,2 y 5,5 V, por lo tanto,

se decidio utilizar un voltaje de 3,3V debido a que con este mismo voltaje trabaja el modulo

Bluetooth utilizado. Para que el microcontrolador pueda trabajar correctamente requiere de

una senal de reloj, que puede ser obtenida de un oscilador interno o externo, para este fin se

opto por un oscilador externo compuesto por un cristal de 20MHz. la implementacion de las

funciones logicas requeridas para el funcionamiento integro del dispositivo fue segmentado

en dos bloques:

Adquisicion de las muestras de la senal ECG: la adquisicion de datos se realizo

a traves del modulo ADC, para esto, es necesario que el microcontrolador detecte

una senal en dicho periferico ademas de una bandera de activacion proveniente de la

aplicacion movil (fase 2).

Page 40: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

34 6 Metodologıa

Figura 6-4: Modulo ADC del PIC18F2550

De los 28 pines que tiene el microcontrolador, se utilizo el pin AN0/RA0, configurado

como entrada y como pin analogico, para la adquisicion de las muestras de la senal

electrocardiografica.

Figura 6-5: Conexion del recolector de senales con el PIC18F2550 por ADC (Fuente: Ela-

boracion propia)

Algunas especificaciones relativas a la configuracion del modulo ADC son las siguientes:

Page 41: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.1 Dispositivo transmisor de corto alcance (Fase 1) 35

• Frecuencia de muestreo: Para seleccionar el valor de la frecuencia a la que

funciona el modulo ADC, se tuvo en cuenta el teorema del muestreo de Nyquist-

Shannon, que establece que la senal analogica puede ser reproducida con fidelidad

a partir de la digital si la frecuencia de muestreo es al menos del doble de la

maxima frecuencia de la senal a muestrear. Por lo tanto, teniendo en cuenta que

la senal electrocardiografica tiene componentes de frecuencia de hasta 150 Hz, se

decidio fijar la frecuencia de muestro en 300 Hz.

Fm > 2FMax (6-1)

El periodo de muestreo es el inverso de la frecuencia de muestreo y es:

Tm =1

Fm

=1

300Hz

= 0,00333ms (6-2)

• Rango de voltaje: El rango de voltaje que se establecio fue desde 0 V hasta

Vcc, es decir, hasta 3,3 V.

• Resolucion: La resolucion de un conversor ADC indica el numero de valores

discretos que se obtienen a la salida del conversor. En este caso, el modulo ADC

trabaja con una resolucion de 10 bits, con lo cual a la salida se tienen 1024 posibles

valores. El valor de LSB (Least significant bit) es el minimo cambio de voltaje

que debe ocurrir en la senal analogica para que cambie el valor de la senal digital,

y su valor es el siguiente:

LSB =VREF

2n − 1=

3, 3V

1023= 3, 22mV (6-3)

• Tiempo de conversion Para el PIC18F2550, el fabricante recomienda que el

tiempo de conversion sea de mınimo 0,7uS, por lo tanto, para obtener un valor

cercano a este se configura el dispositivo con Fosc/16, el cual nos da un valor de:

Fconv =20MHz

16= 1,25MHz (6-4)

Tad =1

Fconv

= 0, 8uS (6-5)

Page 42: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

36 6 Metodologıa

• Tiempo de adquisicion Para el PIC18F2550, el fabricante sugiere un tiempo

de adquisicion mayor a 2.45 us, por lo cual se selecciono un tiempo de adquisicion

de 4 TAD:

Tacq = 4 ∗ 0, 8 = 3, 2uS (6-6)

Para la lectura de la conversion hecha, se leen los registros ADRESH; en el cual se en-

cuentran los dos bits mas significativos; y ADRESL donde estan los ocho bits restantes

de la conversion.

Figura 6-6: Registros del modulo ADC del PIC18F2550

Transmision de las muestras: La transmision de las muestras recolectadas por el

modulo ADC se hizo a traves del modulo UART del microcontrolador. Este periferico se

encarga de enviar o recibir informacion de manera serial (un bit tras otro). Los pines que

se utilizaron para llevar a cabo la comunicacion fueron RC6/TX configurandolo como

salida para la transmision; y RC7/RX configurandolo como entrada para la recepcion

de informacion. Estos pines van conectados de forma ”cruzada” con los pines TX y

RX del modulo Bluetooth.

Figura 6-7: Conexion del modulo Bluetooth con el PIC18F2550 por UART (Fuente: Ela-

boracion propia)

Algunas especificaciones relativas a la configuracion del modulo UART son las siguien-

tes:

Page 43: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.1 Dispositivo transmisor de corto alcance (Fase 1) 37

• Tasa de baudios: la tasa de baudios se refiere al numero de bits por segundo que

es posible transmitir. El modulo HC-05 esta configurado por defecto a una tasa de

baudios de 9600. Para que la comunicacion sea efectiva es necesario que tanto el

modulo como el microcontrolador se encuentren a la misma tasa de baudios. Ası

que se procede a configurar la tasa de baudios en el microcontrolador definiendo

los valores de los registros SPBRGH y SPBRG, y el bit BRGH que en caso de

estar en 1 multiplica la tasa de baudios por 4. Para calcular el valor de SPBRG

se utilizo la siguiente formula:

Tasa de baudios =FOSC

16(n + 1)= 9600 (6-7)

Donde la parte entera de n es el valor de SPBRG, despejando la ecuacion y

teniendo en cuenta que la frecuencia de reloj del microcontrolador es de 20 Mhz:

n =20MHz

16(9600)− 1 = 129,2 (6-8)

Debido a que el valor entero de n calculado es menor a 255, no es necesario el uso

del registro SPBRGH. Al reemplazar el valor obtenido de n se obtuvo la tasa de

baudios exacta a la que trabaja el microcontrolador:

Tasa de baudios =20MHz

16(129 + 1)= 9615,38 (6-9)

Error =Tasa de baudios real − Tasa de baudios deseada

Tasa de baudios deseadax100 = 0,16 % (6-10)

• Tamano del paquete de datos: el modulo UART permite enviar paquetes de

8 o 9 bits. Se utilizo un tamano de 8 bits en el cual el primer bit transmitido es

el menos significativo.

• Modo de transmision: el modulo UART del PIC18F2550 permite los modos de

comunicacion sincronica y asincronica. Se establecio utilizar el modo asincronico

puesto que este permite congestion de datos en caso de retardo en la transmision o

recepcion de datos y en vez de descartar los datos a enviar o recibir, los almacena

temporalmente en un buffer.

• Metodo de envio de informacion: como se dijo anteriormente, cada muestra

que toma el modulo ADC del microcontrolador esta compuesta de 10 bits, de los

Page 44: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

38 6 Metodologıa

cuales se reparten los 2 mas significativos en el registro ADRESH y los 8 restantes

en ADRESL. Debido a que el modulo UART envıa paquetes de a 8 bits, el metodo

de envio de cada muestra estara compuesto por dos datos de 8 bits, donde primero

se envıa la informacion de ADRESH y seguidamente se envıa la informacion de

ADRESL. La importancia de enviar estos datos uno detras del otro por cada

muestra es que la aplicacion movil tenga la capacidad de unir los datos en parejas

conforme van llegando.

Page 45: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.1 Dispositivo transmisor de corto alcance (Fase 1) 39

Figura 6-8: Diagrama de flujo de funcionamiento del dispositivo

Page 46: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

40 6 Metodologıa

6.2. Interfaz para dispositivos moviles (Fase 2)

La segunda fase del proyecto tiene como objetivo el diseno e implementacion de la interfaz

para dispositivos moviles encargada de:

Recibir las muestras de la senal cardiaca bajo el protocolo de comunicacion Bluetooth.

Almacenar los paquetes de datos recibidos y acondicionarlos para su posterior visuali-

zacion.

Transmitir las muestras de la senal cardiaca bajo el protocolo de comunicacion TCP/IP

hacia una base de datos alojada en internet.

La interfaz movil fue disenada con el fin de recibir los datos provenientes del dispositivo

transmisor de corto alcance (fase 1), procesar dichos datos para graficarlos, analizarlos y

transmitirlos a las bases de datos de la interfaz web (fase 3) vıa TCP/IP. Esta interfaz fue

desarrollada y compilada bajo el IDE nativo de Java, Android Studio para el soporte de

versiones 4.4.2 en adelante, lo que significa una brecha de usuarios Android del 90 %.

Como caracterısticas basicas de la aplicacion se implemento la conexion Bluetooth con el

dispositivo transmisor de corto alcance (fase 1), ademas de la habilitacion de los permisos

para la conexion a internet por medio del protocolo TCP/IP.

6.2.1. Permisos, peticiones y servicios

Permisos de la aplicacion

En principio fue necesario configurar los permisos de la aplicacion para el acceso a los pe-

rifericos de comunicacion tanto Bluetooth (corto alcance) como TCP/IP (largo alcance),

ya que son indispensables para el desarrollo de los diferentes apartados que comprenden la

interfaz movil. Los permisos deben ser configurandos en el archivo manifest de la aplicacion,

las sentencias implementadas fueron:

uses-permission android:name=.android.permission.BLUETOOTH

uses-permission android:name=.android.permission.BLUETOOTHADMIN

uses-permission android:name=.android.permission.INTERNET

uses-permission android:name=.android.permission.ACCESSNETWORKSTATE

Page 47: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.2 Interfaz para dispositivos moviles (Fase 2) 41

Peticiones TCP/IP al servidor de base de datos

Se disenaron las funciones necesarias para la comunicacion entre la aplicacion movil y el

servidor de bases de datos por medio del protocolo TCP/IP, para ello se utilizo el metodo

de peticion post request , el cual envıa los datos en el encabezado de la peticion TCP/IP a

diferencia del metodo de peticion get request el cual envıa los datos sujetos a la URL. La

funcion de manejo de peticiones TCP/IP utilizada en la interfaz web se muestra a continua-

cion:

Figura 6-9: Funcion de peticiones a servidores alojados en internet (Fuente: Elaboracion

propia)

Ya que en la fase 3 se hace uso del Framework Laravel para la administracion del Back-

end y el Front-end de la aplicacion, en esta fase se aprovechan las herramientas de dicho

Framework para la recepcion de las peticiones en el servidor, por medio de los denominados

controladores. En Laravel, los controladores son los segmentos de codigo logico basados en

Page 48: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

42 6 Metodologıa

PHP capaces de recibir una peticion por medio de una URL, ejecutar un procedimiento y

responder de vuelta, todo haciendo uso del protocolo TCP/IP. A continuacion, se muestra

un ejemplo de controlador implementado en el servidor:

Figura 6-10: Controlador de peticiones del servidor para muestras de la senal ECG (Fuente:

Elaboracion propia)

Conexion Bluetooth

Para establecer la conexion Bluetooth entre la aplicacion movil y el microcontrolador se

comprueba primero que este encendido en el telefono celular, en caso contrario, se envıa una

peticion para encenderlo. Luego se escanean los dispositivos que esten vinculados al telefono,

y en caso que no lo este se muestra el panel para vincular dispositivos Bluetooth.

Figura 6-11: Peticion para activar el Bluetooth del telefono celular. (Fuente: Elaboracion

propia)

Page 49: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.2 Interfaz para dispositivos moviles (Fase 2) 43

6.2.2. Interfaz de usuario

La interfaz de usuario esta compuesta por tres actividades, de las cuales una permite el

registro de nuevos usuarios a la base de datos, la segunda es la pantalla de login para

usuarios registrados anteriormente, y la actividad principal, que comprende el procedimiento

para vincular el dispositivo y observar los datos recolectados por el dispositivo transmisor

de corto alcance (fase 1).

Panel de registro

En el panel de registro se capturan los datos del paciente, ademas de los datos de notificacion

para el cuidador de este. Cuando los pacientes se registran como usuarios activos de la

aplicacion se les asigna automaticamente un numero unico de identificacion en la base de

datos y con este el paciente es identificado inequıvocamente dentro de la red de datos.

Ademas, capturando el correo del cuidador se habilita la posibilidad de envio de notificaciones

en caso de encontrar anomalıas en alguno de los bloques de muestras almacenados en el

servidor.

Figura 6-12: Esquema de registro de pacientes (Fuente: Elaboracion propia)

Page 50: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

44 6 Metodologıa

Figura 6-13: Panel de registro en la interfaz movil (Fuente: Elaboracion propia)

Panel de inicio de sesion

El panel de inicio de sesion para el paciente fue desarrollado con el proposito de identificarlo

dentro de la red de datos. Al paciente se le solicita el numero de identificacion y contrasena

ingresados al momento de registrarse, cuando el paciente pulsa el boton de inicio de sesion, es

enviada una peticion de inicio de sesion al servidor, si el servidor responde con otro numero de

identificacion (el determinado por la base de datos), la interfaz le concede el paso al usuario

y habilita el panel de recoleccion, visualizacion y transmision de la senal electrocardiografica.

Page 51: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.2 Interfaz para dispositivos moviles (Fase 2) 45

Figura 6-14: Esquema de inicio de sesion de pacientes (Fuente: Elaboracion propia)

Figura 6-15: Panel de inicio de sesion en la interfaz movil (Fuente: Elaboracion propia)

Page 52: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

46 6 Metodologıa

Panel principal de la interfaz

El panel principal de la interfaz es el encargado de ejecutar todas las funciones de la recepcion,

transmision y procesamiento de las muestras obtenidas de la senal ECG. En esta pantalla

tambien se muestran los datos de la ultima recoleccion de la senal ECG tales como ritmo

cardiaco, fecha y hora de la ultima recoleccion exitosa y una grafica de la senal ECG.

Figura 6-16: Panel principal antes de conectarse al dispositivo transmisor. (Fuente: Elabo-

racion propia)

En cuanto se presiona el boton de iniciar conexion, la interfaz inicia el proceso de busqueda

del dispositivo transmisor de corto alcance (fase 1), de recibir alguna respuesta, se ejecuta

la solicitud de emparejamiento para posteriormente enviar la bandera de activacion de reco-

leccion de muestras. Una vez la interfaz recibe todas las muestras, se inicia con el proceso

de adecuacion de estas para ası graficarlas y a su vez enviarlas al servidor remoto de base

de datos.

Page 53: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.2 Interfaz para dispositivos moviles (Fase 2) 47

Figura 6-17: Error cuando el dispositivo no esta vinculado. (Fuente: Elaboracion propia)

Figura 6-18: Conexion exitosa con el dispositivo transmisor. (Fuente: Elaboracion propia)

Page 54: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

48 6 Metodologıa

Figura 6-19: Esquema de almacenamiento de muestras (Fuente: Elaboracion propia)

Figura 6-20: Panel principal en la interfaz movil (Fuente: Elaboracion propia)

Page 55: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.2 Interfaz para dispositivos moviles (Fase 2) 49

6.2.3. Analisis y procesamiento de la senal ECG

Recoleccion de la senal ECG

Cuando el proceso de conexion es finalizado, la aplicacion empieza a recibir la senal pro-

veniente del modulo Bluetooth, debido a que la frecuencia de muestreo es de 300Hz y el

tiempo de la captura de informacion es de 10 segundos, la aplicacion espera hasta conseguir

al menos 3000 muestras. Como se dijo anteriormente, cada muestra esta compuesta por dos

paquetes de ocho bits. Para reagrupar de nuevo cada muestra en una sola variable se lleva a

cabo la siguiente formula:

Muestra = (dato1 << 8) + dato2 (6-11)

El resultado obtenido de cada muestra tiene un valor comprendido entre 0 y 1023, para

obtener este valor en milivoltios de la senal cardiaca se realizo la siguiente operacion para

garantizar valores entre 0 V y 3 mV:

Muestra =muestra

341(6-12)

Calculo de ritmo cardiaco

Para el calculo del ritmo cardiaco, se tuvo en cuenta el complejo QRS de la senal ECG,

debido a que este segmento de la senal tiene un valor significativamente mas alto se hace un

conteo de las veces que la senal pasa por los valores mas altos posibles, y debido a que las

muestras solo representan diez segundos, se multiplica el valor anteriormente hallado por 6.

Page 56: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

50 6 Metodologıa

Figura 6-21: Segmentos de la senal ECG (Fuente: Elaboracion propia)

6.3. Interfaz web para la visualizacion de datos y

notificaciones (Fase 3)

la tercera fase del proyecto tiene como objetivo el diseno e implementacion de la interfaz

web encargada de la visualizacion de datos almacenados en la base de datos, esta es capaz

de discriminar las muestras respecto a cada paciente y hora de recepcion en internet.

La interfaz web del proyecto permite la conexion de la red de datos con la base de datos

del servidor remoto, ademas, permite el desarrollo de una aplicacion web desde la cual los

medicos pueden visualizar el estado de la senal cardiaca de sus pacientes e informacion

sobre el funcionamiento del proyecto. La interfaz web fue desarrollada bajo el framework de

Laravel.

6.3.1. Instalacion del framework Laravel

Inicialmente es necesario descargar el framework sobre el proyecto que se desea desarrollar,

para ello se hizo uso de ejecutor de comandos de Windows, se accedio a la carpeta donde se

ubica el proyecto y posteriormente se ejecuto el comando de descarga del Laravel.

6.3.2. Contenido de la interfaz web

Una vez instalado el framework se tienen acceso a todas las carpetas y archivos que com-

prenden el cuerpo de la interfaz, muchas de estas carpetas no son editables ya que son

Page 57: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.3 Interfaz web para la visualizacion de datos y notificaciones (Fase 3) 51

Figura 6-22: Instalacion del framework Laravel en el proyecto (Fuente: Elaboracion propia)

estrictamente requeridas para el correcto funcionamiento del framework, las demas carpe-

tas son utilizadas para implementar todas las funciones y visualizaciones que hacen parte

del proyecto, a continuacion se muestran las carpetas editables del proyecto junto con su

correspondiente descripcion de funcionamiento puntual para la interfaz:

Figura 6-23: Carpetas y archivos Laravel (Fuente: Elaboracion propia)

Page 58: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

52 6 Metodologıa

1. Modelos y controladores: En la carpeta app del framework se almacenan tanto los

modelos de la aplicacion como los controladores. Un modelo es el conector entre un

controlador y una tabla de la base de datos, mientras que el controlador es un bloque

de funciones logicas que ejecutan una accion determinada al momento de ser llamados.

Se desarrollaron los siguientes modelos:

Doctor: Modelo encargado de conectar con la tabla en la base de datos que

almacena la informacion de los doctores.

Sample: Modelo encargado de conectar con la tabla en la base de datos que

almacena la informacion de las muestras de los pacientes.

User: Modelo encargado de conectar con la tabla en la base de datos que almacena

la informacion de las paciones, ası como el correo de su respectivo cuidador.

Se desarrollaron los siguientes controladores:

DoctorController: Este controlador almacena todas las funciones encargadas

del control de informacion de los doctores, inmerso en este controlador se desa-

rrollaron las siguientes funciones:

• Index: Direccionamiento al panel de inicio de sesion o al panel principal de

visualizacion de datos, dependiendo de si se ha iniciado sesion con anteriori-

dad.

• Create: Direccionamiento a la vista web de registro donde este podra ingresar

sus datos y almacenarlos en la base de datos.

• Store: Se encarga de procesar la peticion de registro de un doctor, por medio

de esta funcion los doctores quedan almacenados en la base de datos, de haber

ingresado correctamente la informacion en la vista de registro.

• Login: Se encarga de procesar la peticion de inicio de sesion de un doctor,

si el doctor ingreso sus credenciales correctamente, esta funcion habilita la

bandera de sesion activa en el servidor.

Page 59: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.3 Interfaz web para la visualizacion de datos y notificaciones (Fase 3) 53

Figura 6-24: Controlador de eventos de los doctores (Fuente: Elaboracion propia)

ExternConectionController: Este controlador contiene una unica funcion la

cual se encarga de asociar un token al flujo de datos bajo el protocolo TCP/IP,

de esta forma se previenen peticiones maliciosas hacia el servidor ya que sin este

token las peticiones son rechazadas independientemente de la funcion que deseen

alcanzar.

Figura 6-25: Controlador de token de la interfaz web (Fuente: Elaboracion propia)

Page 60: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

54 6 Metodologıa

SamplesController: Este controlador contiene cuatro funciones para la mani-

pulacion de las muestras de la senal cardiaca dentro de la interfaz:

• CargarMuestra: Esta funcion procesa las peticiones entrantes que solicitan

el almacenamiento de un banco de muestras dentro de la base de datos.

De ser aprobada la solicitud, una vez almacenada la muestra en la base de

datos, se desarrollo el analisis del ritmo cardiaco en busca de anomalıas, de

encontrar alguna anomalıa esta funcion envıa un correo de alerta al cuidador

correspondiente.

• MostrarMuestra: Esta funcion se encarga de extraer las muestras de la

base de datos de un paciente especifico, dentro de la solicitud que requiere

esta funcion debe estar incluido el id del paciente, de esta manera la funcion

filtra los datos en la base de datos y devuelve unicamente las muestras del

paciente solicitado.

• CalcularNumeroDeBloques: Esta funcion retorna la cantidad de bloques

de muestras que contiene un paciente.

Figura 6-26: Controlador de muestras (Fuente: Elaboracion propia)

UserController: Este controlador contiene dos funciones encargadas del registro

e inicio de sesion de los pacientes.

• RegisterUser: Funcion encargada de gestionar las peticiones de registro de

pacientes, si los datos son correctos, estos quedan almacenados en la base de

datos.

Page 61: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.3 Interfaz web para la visualizacion de datos y notificaciones (Fase 3) 55

• Login: funcion encargada del inicio de sesion de los pacientes, si las creden-

ciales enviadas en la solicitud de inicio de sesion son correctos, la funcion

retorna el id unico asignado por la base de datos.

Figura 6-27: Controlador de pacientes (Fuente: Elaboracion propia)

WebPageController: Este controlador contiene todas las funciones encargadas

de gestionar las peticiones y visualizaciones hechas desde la aplicacion web, a

excepcion de aquellas hechas por los doctores ya que estas hacen uso del Doctor-

Controller.

• General: Redirige a la visualizacion principal de la aplicacion web.

• Webindex: Redirige a la visualizacion de inicio de la aplicacion web.

• Webaboutproyect: Redirige a la visualizacion que habla sobre el proyecto

en la aplicacion web.

• Webwhoweare: Redirige a la visualizacion que habla sobre quienes hicieron

el proyecto en la aplicacion web.

Page 62: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

56 6 Metodologıa

Figura 6-28: Controlador de la aplicacion web (Fuente: Elaboracion propia)

2. Configuraciones generales: La carpeta config del framework Laravel permite hacer

configuraciones sobre las herramientas principales de la interfaz, contiene once archivos

de configuracion, sin embargo, en el desarrollo de la interfaz solo fue necesario utilizar

tres de ellos:

Database.php: Este archivo de configuracion nos permite indicarle al framework

las caracterısticas de nuestra base de datos, se establecio el tipo de base de datos

como MySql, ademas se configuro la IP del servidor que aloja la base de datos, el

nombre de la base de datos y las credenciales de acceso a la misma.

Page 63: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.3 Interfaz web para la visualizacion de datos y notificaciones (Fase 3) 57

Figura 6-29: Configuracion de la base de datos en Laravel (Fuente: Elaboracion propia)

Mail.php: Este archivo de configuracion nos permite indicarle al framework las

caracterısticas del canal de envio de correos. Se configuro dicho canal bajo el

protocolo de comunicacion SMTP, se establecio el puerto 25 como puerto de salida

de correos, no se establecio ningun protocolo de encriptacion y finalmente se asigno

el correo y respectiva contrasena desde el cual se enviaran los correos para las

alertas.

Figura 6-30: Configuracion de canal de correos en Laravel (Fuente: Elaboracion propia)

Sesion.php: Este archivo de configuracion unicamente fue modificado en el apar-

tado de lifetime, el cual le asigna un tiempo maximo de duracion a una sesion

inactiva dentro de la interfaz. El tiempo de vida maximo de una sesion inactiva

fue establecido en 120 minutos.

Page 64: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

58 6 Metodologıa

Figura 6-31: Configuracion de sesion en Laravel (Fuente: Elaboracion propia)

3. Contenido en la base de datos: En la carpeta Database se hizo uso de la sub

carpeta Migrations en donde fueron implementados los archivos necesarios para definir

las tablas y las columnas que cada una de estas contiene. En la interfaz web fueron

disenadas tres tablas:

Tabla de pacientes: Esta tabla contiene los datos del paciente, aquı son alma-

cenados los datos que se envıan desde la interfaz movil (fase 2), en la peticion de

registro.

Figura 6-32: Columnas de la tabla ’users’ en la base de datos (Fuente: Elaboracion propia)

Tabla de doctores: Esta tabla contiene los datos de los doctores, aquı son

almacenados los datos que se envıan desde la aplicacion web desde la vista de

registro de doctores.

Page 65: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.3 Interfaz web para la visualizacion de datos y notificaciones (Fase 3) 59

Figura 6-33: Columnas de la tabla ’doctors’ en la base de datos (Fuente: Elaboracion

propia)

Page 66: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

60 6 Metodologıa

Tabla de muestras: Esta tabla contiene los datos de las muestras, las cuales

son enviadas desde la interfaz movil (fase 2), en la peticion de almacenamiento

de muestra.

Figura 6-34: Columnas de la tabla ’samples’ en la base de datos (Fuente: Elaboracion

propia)

4. Html enriquecido: La carpeta public del framework permite la insercion de com-

plementos que enriquecen las vistas sobre la aplicacion web, en esta carpeta fueron

incluidos todos los archivos .css y .js de cada una de las vistas disponibles en la apli-

cacion, ademas, para el almacenamiento de las imagenes y videos disponibles fueron

creadas las sub carpetas img y videos respectivamente.

5. Vistas de la interfaz web: La carpeta resources contiene todas las vistas disponibles

en la aplicacion movil, es decir el front-end de la interfaz web, dentro de la sub carpeta

views se encuentran todas las vistas desarrolladas bajo el lenguaje de etiquetas html

que permiten la visualizacion de todos los datos disponibles en la aplicacion web.

Fue necesario desarrollar 10 vistas independientes y 5 base (se usan para formar una

estructura base sobre las vistas independientes).

Vistas de la aplicacion web

• Webpageindex: Esta vista es la primera al aparecer en la aplicacion web,

con un mensaje llamativo se contextualiza al usuario acerca del proyecto de

forma directa.

Page 67: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.3 Interfaz web para la visualizacion de datos y notificaciones (Fase 3) 61

Figura 6-35: Vista principal de la aplicacion (Fuente: Elaboracion propia)

• Webaboutproyect: Esta vista muestra en detalle las caracterısticas del pro-

yecto describiendolo y justificandolo, se introdujo el contenido del plantea-

miento del problema y justificacion del documento del ante proyecto.

Figura 6-36: Vista sobre informacion del proyecto (Fuente: Elaboracion propia)

• Webwhoweare: En esta vista fueron introducidos los nombres de los desa-

rrolladores del proyecto.

Page 68: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

62 6 Metodologıa

Figura 6-37: Vista sobre autores del proyecto (Fuente: Elaboracion propia)

Vistas para los doctores

• Applicationindex: Esta vista muestra el listado de pacientes registrados en

la red, una vez es seleccionado alguno de los pacientes, la aplicacion web hace

uso de la vista applicationpanel.

Figura 6-38: Vista de listado de pacientes (Fuente: Elaboracion propia)

• Applicationpanel: Esta vista muestra el listado de muestras del paciente

seleccionado desde la vista ApplicationIndex, ademas, de ser seleccionada al-

guna muestra, esta vista se encarga de graficar las muestras y mostrar los

correspondientes pulsos por minuto.

Page 69: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.3 Interfaz web para la visualizacion de datos y notificaciones (Fase 3) 63

Figura 6-39: Vista de mueestras de paciente especifico (Fuente: Elaboracion propia)

• Logindoctor: Esta vista muestra el panel de inicio de sesion para los doc-

tores, desde esta vista es enviada la solicitud de inicio de sesion hacia el

controlador DoctorController a la funcion Login.

Figura 6-40: Vista de inicio de sesion de doctores (Fuente: Elaboracion propia)

• Registerdoctor: Esta vista muestra el panel de registro para los doctores,

desde esta vista es enviada la solicitud de registro hacia el controlador Doc-

torController a la funcion store.

Page 70: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

64 6 Metodologıa

Figura 6-41: Vista de registro de doctores (Fuente: Elaboracion propia)

• Specificpacient: Esta vista es muy similar a Applicationpanel, sin embargo,

no permite seleccionar a diferentes pacientes para visualizar sus muestras.

Por medio de esta vista se le permite al cuidador de un paciente revisar sus

respectivas muestras en caso de recibir una alerta por anomalıa cardiaca vıa

correo electronico.

Figura 6-42: Vista de muestra de paciente especifico para cuidadores

Vista de notificaciones

• Alerta: Esta vista fue disenada para ser enviada como contenido del correo

de alerta enviado a los cuidadores de los pacientes, dentro de esta vista se

encuentra un boton que al ser pulsado redirecciona al cuidador a la vista de

specificpacient.

Page 71: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.3 Interfaz web para la visualizacion de datos y notificaciones (Fase 3) 65

Figura 6-43: Vista enviada en el correo de notificacion de anomalia (Fuente: Elaboracion

propia)

6. Rutas de la interfaz web: En la carpeta Routes se asignaron las diferentes URL’s

de la interfaz web que gestionan las peticiones tanto de la interfaz movil como de la

aplicacion web hacia framework de Laravel. En total fue necesario asignar 17 URL’s

para el funcionamiento integro de la red.

Figura 6-44: Asignacion de URL’s de la red (Fuente: Elaboracion propia)

7. Configuracion de red del framework: Por medio del archivo .env se realizaron

todas las configuraciones necesarias para el correcto funcionamiento de la interfaz web

y por tanto de la red de comunicacion con la base de datos remota. En este archivo fue

Page 72: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

66 6 Metodologıa

configurada la direccion IP del servidor remoto, la asignacion del dominio equivalente

a la direccion IP asignada, los datos de conexion con la base de datos ası como las

credenciales necesarias para el acceso.

Figura 6-45: Archivo de configuracion de red (Fuente: Elaboracion propia)

6.4. Pruebas de calidad y control (Fase 4)

Para la fase final del proyecto se realizaran pruebas del funcionamiento individual e integro

de todas las fases desarrolladas previamente.

En este capıtulo, se exponen las pruebas realizadas en cada fase del proyecto, y tambien

de todo el proyecto en conjunto. Tambien, se analizaron los resultados que se obtuvieron de

estas pruebas para verificar el cumplimiento de cada uno de los objetivos propuestos al inicio

del proyecto de grado.

6.4.1. Variables a evaluar

Las redes de comunicacion actualmente son disenadas de modo que estas puedan proporcio-

nar un servicio que realice el mejor “esfuerzo” en la entrega de paquetes, con base a esto,

la evaluacion del funcionamiento del proyecto se realizo teniendo en cuenta como factor mas

importante la calidad de servicio (QoS) que presente la red de comunicacion, tieniendo asi

un conjunto de requisitos que la red debe cumplir para garantizar un buen rendimiento pro-

medio visto por el usuario de la red. Para esto, respecto a la calidad de servicio se tuvieron

en cuenta las siguientes variables:

Page 73: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.4 Pruebas de calidad y control (Fase 4) 67

Comunicacion Bluetooth

Potencia de la senal:

Medicion de la potencia de la senal entregada por el modulo Bluetooth en dBm, con base

a diferentes distancias, los valores recomendados de potencia para una conexion fiable estan

entre -20dBm y -90 dBm.

Distancia:

Se hicieron pruebas con el dispositivo transmisor de corto alcance para determinar la maxima

separacion que puede tener este con el telefono celular manteniendo una conexion fiable.

Retardo:

Se calculo el tiempo de mas que tarda una muestra de diez segundos en ser enviada.

Jitter:

Cada muestra puede llegar a su destino con diferentes valores de retardo, por esto, se tuvo

en cuenta la variabilidad que tiene el retardo de cada muestra con respecto al promedio de

todas ellas para tener un valor de Jitter.

Perdida de paquetes:

Se hicieron pruebas para determinar si hubo perdida de informacion durante los muestreos

transmitidos, este valor se muestra de forma porcentual con respecto al total de paquetes

enviados.

Comunicacion TCP/IP

Retardo:

Medicion del tiempo que toma cada muestra en transmitirse desde la aplicacion movil hasta

la base de datos de la interfaz web, este tiempo puede variar del ancho de banda y la latencia

de la conexion a Internet a la que este conectado el telefono celular.

Ancho de banda de la red:

Este valor indica la velocidad maxima a la que puede se puede transmitir, el valor que es

relevante en este caso es el ancho de banda de subida.

Page 74: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

68 6 Metodologıa

Latencia de la red:

El tiempo que se tarda en transmitir un paquete, es decir la inmediatez del establecimiento

completo de la conexion.

6.4.2. Pruebas realizadas

Prueba de potencia de la senal Bluetooth

En esta prueba se obtuvo la potencia que entrega el modulo Bluetooth utilizado en el dispo-

sitivo transmisor de corto alcance, en diferentes distancias, para esto se utilizo la aplicacion

de Android “Bluetooth signal meter”, el cual muestra el valor en dBm de todos los dispositi-

vos Bluetooth cercanos. Los resultados obtenidos de esta prueba se muestran en la siguiente

tabla:

Figura 6-46: Resultados de los valores de potencia a diferentes distancias. (Fuente: Elabo-

racion propia)

Prueba de distancia Bluetooth

En esta prueba se realizo el envio de diez muestras desde el dispositivo transmisor de corto

alcance a la aplicacion movil para observar los valores de retardos y perdidas de paquetes

que ocurren a diferentes distancias.

Page 75: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.4 Pruebas de calidad y control (Fase 4) 69

Figura 6-47: Interfaz de la aplicacion con valores de retardo y perdidas (Fuente: Elaboracion

propia)

Prueba a 0 metros

Los resultados obtenidos de esta prueba se muestran en la siguiente tabla:

Figura 6-48: Resultados obtenidos a 0m de distancia (Fuente: Elaboracion propia)

Prueba a 5 metros

Los resultados obtenidos de esta prueba se muestran en la siguiente tabla:

Page 76: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

70 6 Metodologıa

Figura 6-49: Resultados obtenidos a 5m de distancia (Fuente: Elaboracion propia)

Prueba a 10 metros

Los resultados obtenidos de esta prueba se muestran en la siguiente tabla:

Figura 6-50: Resultados obtenidos a 10m de distancia (Fuente: Elaboracion propia)

Page 77: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.4 Pruebas de calidad y control (Fase 4) 71

Promedio de perdida de paquetes

Se calculo el promedio de perdida de paquetes respecto a la distancia de transmision, obte-

niendo los siguientes resultados:

Figura 6-51: Promedio de perdida de paquetes (Fuente: Elaboracion propia)

Prueba de retardo en el servidor

En esta prueba se realizo el envio de diez muestras desde la aplicacion movil a las bases de

datos de la interfaz web para observar los valores de retardos que ocurren con diferentes tipos

de conexiones a internet. Tambien, para cada prueba se hicieron pings al servidor donde esta

alojada la interfaz web para determinar la latencia de la conexion y medidores de ancho de

banda.

Prueba con conexion Wi-Fi

Los resultados de los pings realizados arrojaron una latencia de 184mS. El ancho de banda

de esta conexion a internet en subida es de 132,98 Mbps

Los resultados obtenidos de esta prueba se muestran en la siguiente tabla:

Page 78: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

72 6 Metodologıa

Figura 6-52: Resultados obtenidos a 10m de distancia (Fuente: Elaboracion propia)

Prueba con conexion 3G

Los resultados de los pings realizados arrojaron una latencia de 214 mS. El ancho de banda

de esta conexion a internet en subida es de 1,22 Mbps

Los resultados obtenidos de esta prueba se muestran en la siguiente tabla:

Figura 6-53: Resultados obtenidos a 10m de distancia (Fuente: Elaboracion propia)

Page 79: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

6.4 Pruebas de calidad y control (Fase 4) 73

Prueba con conexion 4G

Los resultados de los pings realizados arrojaron una latencia de 114 mS. El ancho de banda

de esta conexion a internet en subida es de 4,08Mbps

Los resultados obtenidos de esta prueba se muestran en la siguiente tabla:

Figura 6-54: Resultados obtenidos a 10m de distancia (Fuente: Elaboracion propia)

Promedio de retardo en la transmision TCP/IP

Se calculo el promedio de retardo de la transmision TCP/IP segun el metodo de transmision

utilizado. Obteniendo los siguientes resultados:

Page 80: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

74 6 Metodologıa

Figura 6-55: Promedio de retardo en la transmision TCP/IP (Fuente: Elaboracion propia)

Page 81: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

7 Analisis de resultados

7.1. Prueba de potencia de la senal Bluetooth

Con base a la prueba realizada al modulo Bluetooth para determinar los niveles de potencia

que entrega a diferentes distancias, se observa que el rango optimo para garantizar un buen

funcionamiento esta entre los cero y ocho metros. A una distancia mas alta la potencia de

la senal oscila con valores mas bajos a -90 dBm (1 pW) lo cual es una senal muy debil que

generara cortes en la comunicacion con el telefono celular.

7.2. Prueba de distancia Bluetooth

Podemos observar que la perdida de paquetes en la transmision a corto alcance basada en

el protocolo de transmision Bluetooth no supera el 1 % de perdidas independiente de la dis-

tancia a la que se encuentre el transmisor de la interfaz movil. Por otro lado, vale la pena

recordar que existe un tiempo de muestreo muerto mientras la bandera de detencion enviada

por la aplicacion movil es recibida por el dispositivo transmisor de corto alcance, en este

tiempo muerto se envıan muestras que la interfaz movil ya no procesa y estos son tenidos

en cuenta como paquetes perdidos, sin embargo no hacen parte de los datos requeridos de

la senal cardiaca del paciente.

Respecto al retardo presentado en la transmision de datos a corto alcance, podemos ob-

servar que se encuentra en un rango de entre 300 ms y 400ms, teniendo en cuenta el numero

de muestras transmitido (3000 muestras), no afecta la usabilidad de la interfaz movil al

momento de la traficacion y retransmision de datos hacia la base de datos remota.

7.3. Prueba de retardo en el servidor

Respecto al promedio sobre el retardo obtenido y el retardo en la transmision de datos sobre

la senal Bluetooth, podemos observar que este es comparativamente mas alto, alrededor de

un 571 % mas alto, sin embargo esto es justificable puesto que el protocolo de transmision

TCP/IP utiliza encabezados de paquetes mas grandes que los utilizados en la transmision

Bluetooth, ademas, la distancia que tienen que recorrer los paquetes es (en general), mas

grande que la recorrida por la transmision Bluetooth. El retardo no afecta la usabilidad de

Page 82: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

76 7 Analisis de resultados

la interfaz web puesto que para los doctores (usuarios principales de la interfaz) no sera

perceptible teniendo en cuenta que se encuentran en una ubicacion remota respecto a los

pacientes.

7.4. Analisis general

Sumando el retardo promedio proveniente del dispositivo transmisor de corto alcance y el

retardo proveniente de la transmision de datos de la interfaz movil hacia la base de datos

remota, se encuentra que el retardo total de transmision de datos se encuentra entre un

rango de 2500 ms a 2800 ms, independiente de la distancia de la transmision Bluetooth y

del metodo de transmision TCP/IP utilizados. Este retardo es insignificante para el objetivo

de uso del proyecto puesto que lo que se pretende es el monitoreo efectivo de los pacientes

y un retardo de unos cuantos miles de milisegundos no es comparable respecto al rango de

respuesta de lso doctores ante alertas sobre anomalıas.

La perdida de datos esta dentro de los parametros aceptados de calidad de servicio, ademas,

este es mucho menor que el maximo permitido, por lo tanto, la perdida de datos percibi-

da en la red es insignificante respecto a los intereses de visualizacion y analisis de la senal

electrocardiografica.

Page 83: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

8 Conclusiones

Debido a que este proyecto no incluye al dispositivo recolector de la senal cardiaca, no fue

posible realizar un gran numero de pruebas y de esta manera generalizar los resultados ob-

tenidos del proyecto. Sin embargo, se utilizo el modulo AD-8232, para obtener resultados

concluyentes que permitan dar un indicio al funcionamiento de la red de comunicacion y que

esta se encuentre dentro del rango de parametros adecuados de calidad de servicio.

Respecto al funcionamiento del transmisor de corto alcance se cumplio el objetivo de diseno

e implementacion del dispositivo, tomando como base el funcionamiento de la transmision

periodica de datos por Bluetooth, en la que se obtuvo una perdida de datos menor al 1 %,

sin embargo, los valores de retardo obtenidos presentan fluctuaciones (Jitter) debido a que

los datos son enviados inmediatamente una vez recolectados en vez de ser guardados en

un buffer para un envıo masivo. Sin embargo, la calidad de servicio vista por el usuario se

mantiene dentro de los parametros adecuados.

Con base en los resultados obtenidos en las pruebas sobre la interfaz web se logro con

exito la recepcion de datos desde el transmisor de corto alcance, ası como la transmision a

la interfaz web por medio del protocolo TCP/IP en una unica peticion al servidor remoto.

Se logro un envio de cada una de las muestras en un intervalo no mayor de tres segundo

desde su recoleccion hasta su almacenamiento en la base de datos. Por otro lado, el metodo

utilizado para la deteccion del ritmo cardiaco no es muy exacta, debido a que el intervalo de

cada paquete de muestras es de 10 segundos.

Se logro el almacenamiento de los paquetes de muestras en la base de datos remota de

la interfaz web, discriminando cada una de estas por paciente y por hora de recoleccion,

respecto al analisis de las muestras se logro el envio de alertas vıa correo electronico al cui-

dador, gracias a esto el cuidador puede tener un control dinamico y permanente del paciente

y ası poder actuar de manera oportuna ante alguna anomalıa notificada. Sin embargo, esta

notificacion es recibida por el cuidador en un lapso dependiente del proveedor de correo

electronico de dicho sujeto.

Page 84: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

9 Trabajos futuros

En este proyecto se sientan las bases para la implementacion integra de una red de analisis

de estado de pacientes, aportando ası con el desarrollo tecnologico de la telemedicina. Los

trabajos propuestos a continuacion se dividen en sub proyectos que mejoran cada una de las

fases de este proyecto.

Respecto al dispositivo transmisor de corto alcance (fase 1), se propone la recoleccion y trans-

mision de otras variables de los pacientes, de esta manera se busca facilitar un diagnostico

acertado por parte de los doctores. Algunas variables que considerar son: La temperatura,

el nivel de oxıgeno en la sangre y la velocidad de desplazamiento.

Respecto a la interfaz para dispositivos moviles (fase 2), se propone la adecuacion del codigo

logico implementado para dispositivos basados en sistema operativo Android para su imple-

mentacion en otros dispositivos basados en otros sistemas operativos como: iOS, Windows

Phone, Symbian (entre otros). Aumentando la accesibilidad general del proyecto. Tambien

se propone la implementacion de un panel de registro de muestras en a interfaz movil, con

el objetivo de poder acceder a resultados de las variables capturadas de forma local.

Respecto a la interfaz web (fase 3), se propone la mayor cantidad de trabajos futuros ya

que por medio de esta y de ser correctamente mejorada se lograra el mayor impacto en el

uso de nuevas tecnologıas para la salud. Se propone un mayor analisis de las muestras cap-

turadas de la senal ECG desde la interfaz movil, ya que con el procesamiento analıtico de

estas muestras se pueden alertar mas anomalıas cardiacas presentes en el paciente. Ademas,

se propone la integracion de un nuevo banco de datos en el cual se incluyan los antecedentes

clınicos del paciente. Finalmente, se propone la implementacion de un modo de uso Offline,

en el cual los doctores no requieran acceso internet para acceder a la informacion capturada

de sus pacientes, con el objetivo de tener acceso permanente a la informacion independien-

temente del estado de la red de datos.

Respecto a la red de comunicacion se propone la implementacion de metodos de trans-

mision complementarios tanto en la fase 1 (Bluetooth) como en la fase 2 (TCP/IP), que

permitan la transmision de datos a traves de multiples canales de comunicacion en caso del

mal funcionamiento de algun otro metodo utilizado, o simplemente de la falta de disponi-

bilidad en el contexto donde se este utilizando la red de comunicacion. Se busca con esta

Page 85: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

79

propuesta aumentar el alcance de la red en diferentes pacientes.

Page 86: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

Bibliografıa

[1] Analisis de situacion de salud (ASIS), Colombia,

2016 - Direccion de epidemiologia y demografia:

https://www.minsalud.gov.co/sites/rid/Lists/BibliotecaDigital/RIDE/VS/ED/PSP/asis-

colombia-2016.pdf.

[2] Centro de prevencion cardiovascular, Funcion Clinica Shaio:

https://www.shaio.org/centro-de-prevenci

[3] El modelo OSI,2009 - Universidad Nacional

del Centro de la Provincia de Buenos Aires

http://www.exa.unicen.edu.ar/catedras/comdat1/material/ElmodeloOSI.pdf

[4] Protocolo internet, IBM Knowladge Center

[5] Fundamentos de QoS,2016 Gustavo Salazar - CISCO

https://supportforums.cisco.com/t5/routing-y-switching-blogs/fundamentos-de-qos-

calidad-de-servicio-en-capa-2-y-capa-3/ba-p/3103715

[6] ¿What is Bluetooth?, 2004 - Patricia McDermott-Wells

http://ieeexplore.ieee.org.bdigital.udistrital.edu.co:8080/document/1368913/

[7] Estudio comparativo e implementacion de tecnologıas inalambricas para

plataforma robotica en el grupo de investigacion roma., 2016 - Gloria

Alicia Beltran Villalobos y Andres Felipe Bonilla Cortes.

Monografıa para optar el tıtulo de ingeniero en telecomunicaciones - Universidad Distri-

tal Francisco Jose de Caldas

[8] QoS Aware Bluetooth Middleware., 2006 - Ural Mutulu, Rouben Ed-

wards, Paul Coulton.

Department ofCommunication Systems, InfoLab, Lancaster University, Lancaster, UK

[9] IEEE standard glossary of software engineering terminology - IEEE

Std 610.12-1990

[10] Software application to prevent suicides of farmers with asp.net MVC,

2016 - A.Yaganteeswarudu - Vishnu Vardhan Y - Bangalore, Karnataka,

India - IEEE

Page 87: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

Bibliografıa 81

[11] El lenguaje de Programacion Java, 1997 Sun Microsystems Inc.

[12] User Guide for Android Studio, 2017 Android Developers

https://developer.android.com/studio/intro/index.html?hl

[13] Google Play Help, 2017

https://support.google.com/googleplay/#topic=3364260

[14] W3C standard, web desiggn and applications HTML and CSS, 2016

https://www.w3.org/standards/webdesign/htmlcss

[15] W3C standard, web desiggn and applications JavaScript, 2016

https://www.w3.org/standards/webdesign/script.html

[16] ¿What is PHP?, 2017

http://php.net/manual/en/intro-whatis.php

[17] Laravel introduction, 2017

https://laravel.com/docs/4.2/introduction

[18] A portable ECG monitoring device with Bluetoothand Holter capabili-

ties for telemedicine applications, 2006 -Daniel Lucani, Student Member,

IEEE, Giancarlos Cataldo, Student Member, IEEE, Julio Cruz, Guiller-

mo Villegas, and Sara Wong

[19] Smart Detection and Transmission of Abnormalitiesin ECG Via Blue-

tooth, 2016 - Pavani Lakshmi Penmatsa, Dr. D.V. Rama Koti Reddy - Dept.

of EIE, VNR VJIET, IEEE International Conference on Smart Cloud

[20] Estudio Holter de tranmision inlambrica, 2017 - Alexis Augoustis, Ariel

Benkel, Juan Jose Pose https://bibliotecas.ort.edu.uy/bibid/85425/file/3838

[21] El proceso de la investigacion, 2003 - Mario Tama-

yo y Tamayo https://clea.edu.mx/biblioteca/Tamayo %20Mario %20-

%20El %20Proceso %20De %20La %20Investigacion %20Cientifica.pdf

Page 88: Desarrollo de una red de comunicaci on para la transmisi on de …repository.udistrital.edu.co/bitstream/11349/7989/1/... · 2019. 9. 15. · iv Resumen Este trabajo describe el proceso

82 Bibliografıa

Bibliografıa