Professional Documents
Culture Documents
Por:
Ariel Adrián Tapia Villegas
Por:
Ariel Adrián Tapia Villegas
PROYECTO DE GRADO
Presentado ante la Ilustre Universidad Simón Bolívar
como requisito parcial para optar al título de Ingeniero Electrónico
Sartenejas, Septiembre de 2006
ii
UNIVERSIDAD SIMÓN BOLÍVAR
Decanato de Estudios Profesionales
Coordinación de Ingeniería Electrónica
RESUMEN
Se presenta el estudio de un sistema de telecuidado, que permite la detección automática de
eventos en el comportamiento del paciente y la interacción con su entorno. Para ello, se
plantea un sistema compuesto por una Red de Sensores Inalámbricos (RSI) basados en el
estándar IEEE 802.15.4 (ZigBee) para adquisición y transmisión inalámbrica de las señales
relacionadas al monitoreo del paciente, un Punto de Acceso (PA) para almacenamiento y
transmisión de la información hacia Estaciones Locales y Remotas, a través de una Intranet o
Internet. En la Estación Local/Remota se tiene una aplicación basada en PC con capacidades
para monitorear, almacenar y procesar los datos provenientes de la RSI, además de proveer
una interfaz gráfica amigable para monitoreo del paciente.
Finalmente se ha desarrollado un prototipo que implementa la RSI, el PA y la Estación
Remota/Local de monitoreo con opciones a detección de caída, a través de un acelerómetro de
tres ejes y monitoreo de diferentes eventos; como un botón de pánico y un nodo supervisor de
eventos en el hogar. Se presenta así un sistema de telecuidado basado en una RSI bajo el
estándar Zigbee.
PALABRAS CLAVES
Telemedicina, Telecuidado, ZigBee, Redes de Sensores, Ethernet
iii
DEDICATORIA
iv
AGRADECIMIENTOS
v
ÍNDICE DE CONTENIDOS
CAPITULO 1. INTRODUCCIÓN...................................................................................................................... 1
vi
ÍNDICE DE FIGURAS
Figura 1.1. Diagrama esquemático del proyecto .................................................................................................... 3
Figura 2.1. Capas del protocolo ZigBee ............................................................................................................... 17
Figura 2.2. Bandas de Operación ZigBee ............................................................................................................. 18
Figura 2.3. División de Canales en ZigBee .......................................................................................................... 19
Figura 2.4. Configuración Tipo Estrella............................................................................................................... 20
Figura 2.5. Configuración tipo Malla y tipo Árbol .............................................................................................. 21
Figura 3.1. Diagrama esquemático del proyecto .................................................................................................. 25
Figura 3.2. Aplicación Remota/Local .................................................................................................................. 27
Figura 3.3. Estructura de la aplicación del Punto de Acceso................................................................................ 30
Figura 3.4. Estructura de la aplicación de ZigBee Maestro .................................................................................. 34
Figura 3.5. Estructura de la aplicación de ZigBee Esclavo................................................................................... 37
Figura 4.1. Diagrama de la Maqueta presentada .................................................................................................. 40
Figura 4.2. Interfaz de la aplicación de la Estación Remota/Local ...................................................................... 41
Figura 4.3. Cuadro de diálogo para solicitar login ............................................................................................... 42
Figura 4.4. Cuadro de diálogo para seleccionar dirección IP y puerto................................................................. 43
Figura 4.5. Cuadro de diálogo con información sobre la aplicación .................................................................... 43
Figura 4.7. Módulos ZigBee utilizados en la Maqueta ......................................................................................... 48
Figura 4.8. Diagrama en bloques del coordinador de Red conectado al Punto de Acceso................................... 50
Figura 4.9. Coordinador de Red conectado al Punto de Acceso .......................................................................... 51
Figura 4.10. Diagrama en bloques del módulo ZigBee supervisor de eventos ..................................................... 52
Figura 4.11. Módulo ZigBee supervisor de eventos ............................................................................................. 52
Figura 4.12. Diagrama cualitativo de las aceleraciones observadas durante una caída........................................ 54
Figura 4.13. Aceleraciones graficadas en tres dimensiones ................................................................................. 55
Figura 4.14. Componentes del movimiento en un acelerómetro de tres ejes ....................................................... 56
Figura 4.15. Radio de aceleración permitido........................................................................................................ 57
Figura 4.16. Aceleración AC detectada durante una caída................................................................................... 57
Figura 4.17. Diferencia de ángulo después de la caída ........................................................................................ 58
Figura 4.18. Maquina de estados en el detector de caídas de tres ejes ................................................................. 59
Figura 4.19. Módulo ZigBee detector de Caídas .................................................................................................. 61
Figura 4.20. Módulo ZigBee detector de Caídas. Vista superior.......................................................................... 62
ÍNDICE DE TABLAS
vii
Capitulo 1. INTRODUCCIÓN
1
movimiento, ingestión de medicamentos, uso del sanitario, apertura y cierre de puertas,
pasando por sistemas de detección de caídas, hasta aquellos que incluyen el monitoreo del
peso corporal y signos vitales como la presión sanguínea no invasiva y el electrocardiograma.
La hipótesis que se maneja en estos trabajos es que los cambios en los patrones de la rutina
diaria son indicadores del estado de salud de los pacientes, y pueden proveer información
sobre los hábitos de éstos y sobre el cumplimiento de algunas rutinas de rehabilitación y
actividades fisiológicas normales. Además, puede proporcionar señales de alarma ante
cualquier imprevisto que se presente, como es el caso de una caída que puede haber
ocasionado algún tipo de daño considerado como grave o el caso de no consumir una
medicina importante a tiempo.
Los requisitos más importantes para este sistema son: facilidad de uso, simplicidad y
bajo costo. Esto se debe al hecho de que una de las razones primordiales para el telecuidado
es su ventaja frente al elevado costo de algunos ambientes clínicos, centros de rehabilitación y
de cuidados especiales.
Este proyecto consiste en el estudio de un sistema de telecuidado para ambientes no
clínicos. Para esto se seleccionó un grupo de actividades realizadas por un paciente y las
variables telemédicas asociadas a dichas actividades. Estas variables son monitoreadas para
detectar comportamientos anormales en las actividades realizadas por el mismo. A esta
detección de anomalías la llamamos generación de eventos.
El sistema esta compuesto por una Red de Sensores Inalámbricos basada en el
estándar ZigBee, que adquieren señales relacionadas con el telecuidado del paciente, un Punto
de Acceso (Access Point) para pre-procesamiento, almacenamiento y transmisión, a través de
una Intranet o Internet, de la información hacia Estaciones Locales y Remotas para el
monitoreo y seguimiento de pacientes y ayudar a realizar el diagnostico respectivo. El
esquema del sistema se encuentra a continuación en la figura 1.1.
La Red de Sensores se encarga de capturar señales biológicas y/o relativas al
comportamiento del paciente y su entorno.
En el Punto de Acceso, las señales pueden ser procesadas y almacenadas en una
memoria extraíble de tipo SD Card (Secure Digital), permitiendo adquirir datos para su
posterior transmisión o prever los casos en que no se tenga acceso a Internet al momento del
envío (store and forward).
2
Figura 1.1. Diagrama esquemático del proyecto
3
Capitulo 2. MARCO TEÓRICO
2.1 Telemedicina
La telemedicina supone la prestación de servicios médicos, servicios de cuidado de
salud y cuidado social, sin importar la localización geográfica del paciente, especialistas
médicos y proveedores de servicio. Sus objetivos se logran a través del uso conjunto de las
tecnologías de las telecomunicaciones y los sistemas de computación. La importancia del
concepto de los sistemas telemédicos radica en que no existe la necesidad de que los pacientes
y los especialistas se encuentren físicamente ubicados en el mismo sitio.
Estos sistemas son tan diversos y variados que no excluyen la posibilidad de su uso en
una multiplicidad de aplicaciones, como ocurre en el caso en el que un médico se pone en
contacto con un colega con el fin de pedirle opinión, transmitiendo probablemente imágenes e
historias médicas para ello. Sin embargo, su mayor potencial de desarrollo futuro se encuentra
en las aplicaciones para ambientes no clínicos por lo que la monitorización de pacientes en
estos ambientes, como hogares y ancianatos es cada vez más común.
Para lograr este objetivo se hace uso de las tecnologías de comunicación más
avanzadas y accesibles a los usuarios. De esta forma, la información médica relacionada con
un paciente es transmitida de un lugar a otro de manera rápida, evitando que el paciente sea
trasladado a un consultorio o centro de salud para que el especialista evalúe su condición. La
telemedicina no pretende eliminar la interacción entre el paciente y el médico, ni suplantar los
servicios médicos tradicionales, sino que tiene por objeto brindar una serie de nuevas
facilidades y ventajas tanto para los pacientes como para el sistema de salud en general, al
ofrecer una solución efectiva tanto en costo como en calidad para todas las partes.
Los importantes avances en el área de las telecomunicaciones a nivel mundial, el
establecimiento de Internet como uno de los medios de comunicación de facto más versátiles
usados y la disminución de los costos de dichas tecnologías al lograrse la masificación de sus
usos han permitido y facilitado el desarrollo e implementación de sistemas de telemedicina.
4
Estos sistemas implican el intercambio rápido, eficiente y seguro de información entre dos
lugares separados geográficamente. Por ejemplo cuando se intercambian imágenes médicas
que ocupan un tamaño importante, como en el caso de radiografías computarizadas,
mamografías, imágenes de resonancia magnética (IRM); o cuando se requiere la transmisión
de signos vitales monitoreados constantemente, el contar con una tasa de transmisión de datos
adecuada es considerado un factor importante. En la actualidad, con el advenimiento de
tecnologías de telecomunicación de alta velocidad, o de banda ancha, se dispone de una
infraestructura tecnológica que facilita el desarrollo de sistemas telemédicos.
La dispensación de salud es uno de los principales problemas gubernamentales en la
inmensa mayoría de los países, puesto que se trata de un servicio fundamental requerido por
todo ser humano en diversas etapas de la vida, ante diversas situaciones y ante diversas
condiciones de salud. Garantizar el acceso de la población en general a servicios médicos de
calidad requiere de la aplicación de buenas políticas y un manejo eficiente de los recursos
disponibles en el sector. En este sentido, la telemedicina mejora la calidad de los servicios de
salud al proveer atención a los pacientes sin necesidad de ingresarlos en un centro, lo cual
ayuda al descongestionamiento de los centros hospitalarios; al aplicar una política de
medicina preventiva retarda el ingreso tanto como sea posible y conveniente; aminora la
duración de la estadía del paciente al permitir darle de alta con mayor rapidez, y además
asigna los recursos de manera más eficiente, usándolos en los casos en los que resultan más
críticos. En la telemedicina el paciente asume un rol activo en lo que al manejo de su propia
salud se refiere, con una supervisión más frecuente de su condición, permitiendo disminuir la
frecuencia de ingresos y la duración de su estadía al sistema de salud.
Se han realizado estudios en Venezuela que indican que los servicios de telemedicina
podrían tener una fuerte demanda debido a la poca cantidad de camas hospitalarias
disponibles y el incremento en los costos de hospitalización, debido a que la población recibe
sus servicios de salud frecuentemente a través de pequeños centros ambulatorios que no
alcanzan a cubrir por completo las demandas [2].
Todos los factores mencionados anteriormente hacen pensar que el desarrollo de la
telemedicina se potenciará en las próximas décadas gracias al incremento de la accesibilidad a
las nuevas y más novedosas tecnologías de telecomunicación que se espera para el futuro, lo
cual aumentará la cantidad de usuarios potenciales de los sistemas telemédicos.
5
2.2 Telecuidado
El telecuidado corresponde básicamente a la prestación a distancia de servicios de
salud y servicios de cuidado social a personas que se encuentran en su propio hogar, usando
para ello las tecnologías de las telecomunicaciones y sistemas de computación, monitoreo y
medición. Este tipo de sistema está fundamentalmente dirigido a un grupo de personas que
deben permanecer una cantidad considerable de tiempo en sus hogares, y que probablemente
presenten dificultades para desempeñar sus actividades regulares de una manera
completamente independiente y segura, ya sea porque su condición física o de salud no se los
permite, porque se sientan inseguros, no posean una persona que les brinde apoyo con la
frecuencia necesaria, se encuentren en un proceso de rehabilitación o por otros motivos. Entre
este grupo de personas se encuentran los ancianos, los pacientes cumpliendo algún tipo de
rehabilitación en el hogar, los enfermos terminales y cualquier otra persona que presente una
condición que limite sus actividades y se vea obligado a permanecer en su casa requiriendo
algún tipo de supervisión o monitoreo.
6
ellos es superior al de las otras naciones; sin embargo también se hace presente en el resto de
los países.
7
de modo que disfruten de su vejez en un ambiente social normal, por tanto tiempo como les
sea posible. La mayor parte de la población anciana preferiría vivir en sus propios hogares
antes que tener que ingresar a una institución especial, por lo que está aumentando la
tendencia a buscar nuevas tecnologías que faciliten y permitan lograr este objetivo.
Tres consecuencias importantes se desprenden de estos hechos:
El gasto total de salud de la población anciana aumentará considerablemente en las
próximas décadas como consecuencia del aumento de la esperanza de vida.
El aumento del porcentaje de la población anciana implica que habrá menos personas
jóvenes que se ocupen de sus necesidades y que la población económicamente activa
deberá financiar los gastos de salud de un sector en ascenso.
El sistema de salud podría resultar insuficiente para responder a estos cambios. Es por esta
razón que se está promoviendo el desplazamiento del cuidado del anciano al hogar,
procurando que las personas tengan un rol más activo en la dispensación de su salud,
permitiéndoles llevar una vida segura e independiente por mayor tiempo. El telecuidado
tiene un rol importante en el cumplimiento de estos objetivos ofreciendo una solución
efectiva en costo que implica el uso y aceptación de nuevas tecnologías en el hogar.
8
transmisor colocado en la muñeca o en un collar. En caso de emergencia el usuario podrá
activar remotamente la señal de alarma presionando el botón, lo cual generalmente abre el
canal telefónico y lo pone en contacto con la estación central, en la que será atendido por un
operador especializado que podrá brindarle la ayuda requerida.
Uno de los mayores temores de los ancianos que viven solos es sufrir un accidente,
como por ejemplo una caída, o presentar alguna otra condición relativa al agravamiento de su
estado de salud, y no contar con alguien que les proporcione ayuda. Generalmente el poseer
un sistema como éste les proporciona mayor seguridad y confianza ya que cuentan con una
forma de pedir ayuda cuando sea necesario, lo cual les permite realizar un mayor número de
actividades sin la preocupación de sufrir un percance y quedar abandonados y desprotegidos
ante tal situación. En el Reino Unido hay aproximadamente 1.160.000 usuarios de este
sistema, lo cual representa un 11% de la población de más de 65 años, lo cual demuestra su
efectividad y facilidad de aceptación [4].
La mayor desventaja de estos sistemas radica en la forma en que se genera la señal de
alarma. Ésta debe ser iniciada por el usuario de forma consciente y voluntaria, lo cual podría
eventualmente no ocurrir por varias razones, entre las cuales las más relevantes son que el
usuario no esté en capacidad de activarla debido a que se encuentra inconsciente, por ejemplo
después de haber sufrido una caída; que el usuario esté predispuesto a no pedir ayuda, bien
sea porque cree que las circunstancias no lo ameritan o porque le sea incómodo o molesto
tener que pedir ayuda aún cuando lo necesite; o porque no se haya percatado de la presencia
de una condición peligrosa.
9
determinados cuadros de salud. Estos dispositivos deben ser tan cómodos, ligeros y
compactos como sea posible. Por otro lado se encuentran los sensores que permiten adquirir
información acerca de las actividades del usuario y permiten establecer la relación existente
entre el individuo y su entorno. A través de la información recopilada de esta manera, se
puede establecer un patrón de conducta del usuario, el cual indica el tipo de actividades que
realiza, con que frecuencias las realiza y en que horarios suele hacerlo. Esto proporciona
información acerca del grado de actividad de la persona. Las variaciones en dicho patrón a lo
largo del tiempo pueden indicar trastornos en su salud, ocurrencia de ciertos eventos
inesperados o la presencia de ciertas anomalías en su conducta. Esta detección se realizaría de
manera automática sin la intervención del usuario, a través de algoritmos de detección y
predicción, generándose las alarmas pertinentes con el fin de informar la situación ya sea a la
persona o al centro de atención, con el fin de que se tomen las medidas o acciones
convenientes.
10
2.2.3 Tipos de señales que comprende el telecuidado
Los distintos sistemas de telecuidado pueden monitorear una gran diversidad de
señales, que pueden ser agrupadas, básicamente, en los siguientes grupos:
Signos vitales
El monitoreo de los signos vitales es de fundamental importancia para determinar el
estado de salud de una persona ya que aporta información directa sobre sus parámetros físicos
vitales. Con el empleo de sistemas telemédicos se pueden detectar emergencias e informarlas
rápidamente al centro de respuesta para que allí se tomen las medidas pertinentes, lo cual
podría salvarle la vida a un individuo. En otras ocasiones las variaciones detectadas están
ligeramente fuera de lo considerado como normal. El registro de los valores que presentan
estas señales durante determinados intervalos de tiempo es útil para detectar la existencia o
evolución de determinados cuadros de salud, y puede resultar importante en rehabilitaciones
realizadas en el hogar. Más aún, esto contribuiría a reducir la estadía del paciente en un centro
de salud al permitirle realizar la rehabilitación en su hogar si esto resulta conveniente. El uso
de estos registros, combinado con información adicional del paciente como tratamientos,
hábitos y otros datos adquiridos, puede ser utilizado por un especialista médico para
determinar las posibles causas que originaron tales alteraciones, así como prever las posibles
consecuencias, lo cual permite tomar acciones preventivas que eviten el empeoramiento de la
condición de salud del paciente.
11
de estas señales permite crear una base de datos con las actividades realizadas por el paciente,
caracterizándolas por actividad, frecuencia y hora en que se realizó. Esto significa que estas
mediciones proporcionan información acerca de los hábitos, conducta del paciente y grado de
actividad en el hogar, por lo que su registro y procesamiento a largo plazo puede ser una
herramienta efectiva para determinar cambios en el patrón de conducta que revelen la
presencia de determinadas situaciones que puedan constituir un peligro para la salud o
integridad física del individuo. El análisis del patrón de conducta puede revelar cambios en el
corto y largo plazo. A través de este mecanismo se pueden detectar múltiples situaciones y
generar con prontitud las alarmas pertinentes al caso, las cuales serán transmitidas al lugar
más conveniente, ya sea el centro de respuesta, el paciente o ambos.
Alarmas ambientales
La población anciana puede tener dificultad para garantizar su seguridad en su propio
hogar cuando ocurren determinadas situaciones que constituyen un peligro, ya que su
capacidad y rapidez de respuesta no siempre es la más adecuada debido a numerosos factores.
Se pueden prevenir accidentes mediante el uso de sensores ambientales, los cuales tienen la
finalidad de generar alarmas al detectar alteraciones de los parámetros del entorno del
paciente que representen un peligro potencial para éste o que indiquen la presencia de
situaciones atípicas. Se encuentran en esta categoría los detectores de incendio, los
termómetros ambientales, los sensores de ruido ambiental, los sensores de seguridad del
hogar, entre otros.
12
2.2.4 Características generales de un sistema de telecuidado
En general, existen varias características y aspectos que deben ser considerados en un
sistema de telecuidado para que éste sea exitoso. Los elementos de un sistema, en líneas
generales son:
El cliente
El sistema debe generar confianza para que sea aceptado por el usuario, por lo que
debe generar alarmas de forma automática, confiable y oportuna. Las falsas alarmas son
indeseables y deben evitarse, ya que disminuyen la confianza del paciente en el sistema y
provocan la intromisión de agentes externos. La alarma debe transmitirse al lugar más
conveniente. Si la situación no es grave se notifica directamente al usuario; en caso contrario
se envía al centro de respuesta o al servicio de emergencia correspondiente. Debido a que no
todos los usuarios necesitarán el mismo grado de sensibilidad en la generación de alarmas
conviene que esto sea determinado entre el usuario, proveedores de servicio y especialistas
médicos teniendo en cuenta diversos factores relevantes como el historial médico, estilo de
vida y estado de salud en general. Los sensores y el sistema en sí deben interrumpir lo menos
posible con las actividades normales del usuario y con la comodidad del hogar, por lo que los
componentes del sistema deben ser de tamaño reducido, livianos, confiables y requerir poco
mantenimiento. Además, conviene que la conexión entre los sensores y el sistema sea
inalámbrica, ya que la presencia de cables distribuidos en el entorno estorbará e incomodará al
paciente, entorpeciendo su movilidad, sobretodo si el sensor se encuentra colocado sobre él.
La percepción de intromisión del sistema disminuirá si éste es capaz de aumentar la
sensación de seguridad del paciente, al identificar la aparición de problemas con mayor
prontitud y al hacer sentir al usuario que contará con la ayuda necesaria en el momento
indicado aún cuando éste no esté en capacidad de pedir auxilio, permitiéndole de esta forma,
vivir de forma independiente en el hogar por más tiempo. Por el contrario, la sensación de
intromisión aumenta si el sistema afecta las actividades regulares del individuo o si éste se
siente vigilado en exceso. El aspecto de seguridad es importante ya que a los usuarios les
preocupa que terceros puedan tener acceso o dar uso indebido a la información proveniente
del monitoreo. El proveedor de servicios debe garantizar la privacidad de la información
adquirida ya que ésta revelará algunos aspectos sobre los hábitos y conducta del individuo.
13
Incluso, conviene que la información relativa al patrón de conducta del paciente sea analizada
en lo posible en la inteligencia local del hogar, de modo que no salga de éste a menos que sea
necesario.
El sistema debe contar con una interfaz que comunique la ocurrencia de alarmas o
notificaciones al usuario cuando sea conveniente. La naturaleza de esta interfaz puede ser
variada, pudiendo incluir medios o dispositivos de audio o video, que sean amigables y fáciles
de usar. Se puede usar entre otros recursos el teléfono, sistemas de teléfono con altavoces en
las diversas habitaciones, y agendas digitales personalizadas (PDA).
14
Los proveedores de servicios de redes de comunicación
A través de estos proveedores el sistema puede intercambiar información con una
central o centro de respuesta. Para que el sistema sea funcional, debe contar con un servicio
de comunicación confiable y con un ancho de banda apropiado para los requerimientos del
sistema. En la actualidad existen diversas formas de acceder a las redes de comunicaciones e
Internet, ya sea por medio de la línea telefónica, a través de la televisión por cable, tecnología
DSL y ADSL, así cómo tecnologías inalámbricas como la red CDPD y CDMA. La forma de
acceso a la red debe resultar transparente para el sistema.
15
2.3 Protocolo de comunicación inalámbrico
En el esquema de las aplicaciones de Telecuidado, es conveniente y muy importante el
uso de redes de sensores con comunicación inalámbrica. A continuación se describen los
puntos más resaltantes del estándar ZigBee de comunicación.
Usos
Fue diseñado para usarse en aplicaciones embebidas que requieran transmitir relativa
poca información y tengan un bajo consumo de energía.
Los usos pueden ser tan diversos como control industrial, sensores inalámbricos,
recolección de información médica, automatización del hogar (domótica), control de
iluminación, eliminación de cables en automóviles y camiones, juguetes, electrodomésticos,
etc [5].
16
Figura 2.1. Capas del protocolo ZigBee
17
relevante en las mediciones, como por ejemplo la detección de una caída del paciente. La
clave esta en procesar la información de los sensores localmente. Esto no quiere decir que el
protocolo no pueda ser usado en aplicaciones como un electrocardiograma inalámbrico, sino
que esta optimizado para otro tipo de aplicaciones.
Aunque el alcance, 70 metros, es menor a Bluetooth, podemos cubrir una gran área
física a través del uso de Routers. (Ver más adelante topología).
ZigBee puede operar en diferentes bandas de radio, dependiendo del lugar del mundo
en el que nos encontremos, tal como se muestra en la figura 2.2.
2.4 Ghz
Al trabajar en esta banda, podemos decidir usar un único canal de 250 Kbps o dividir
este espectro en 16 canales.
868 MHz
Disponible un solo canal de 20 Kbps.
915 MHz
En América podemos contar también con una tasa de transferencia máxima de 40
Kbps o dividir este espectro en 10 canales.
18
Figura 2.3. División de Canales en ZigBee
@ 2.4 GHz
Tipo de modulación: O-QPSK (16-aria)
Cada símbolo representa 4 bits.
Transmite 62.500 símbolos por segundo.
Tasa de transferencia: 62.500 símbolos/segundo x 4 bit/símbolo = 250 Kbps.
@ 868 MHz
Tipo de modulación: BPSK
Cada símbolo representa 1 bit.
Transmite 20.000 símbolos por segundo.
Tasa de transferencia: 20.000 símbolos/segundo x 1 bit/símbolo = 20 Kbps.
@ 915 MHz
Tipo de modulación: BPSK
Cada símbolo representa 1 bit.
Transmite 40.000 símbolos por segundo.
Tasa de transferencia: 40.000 símbolos/segundo x 1 bit/símbolo = 40 Kbps.
19
Capa de Acceso a Medio (MAC) y Capa de Red (NWK)
Existen 3 tipos de dispositivos ZigBee: Coordinador, Enrrutador (Router) y
Dispositivo Final. En caso de Bluetooth se puede conectar un dispositivo Bluetooth con perfil
de Maestro a uno con perfil de Esclavo. Tenemos la limitación de la distancia, si excedemos
la distancia máxima perderemos la conexión entre los dispositivos.
Por esta razón en ZigBee se ha ideado un tercer perfil, Router, que se utiliza como
puente entre dos dispositivos ZigBee para enviar información cuando estos están muy alejados
y su potencia de transmisión/recepción no es suficiente para mantener la conexión.
Actualmente ZigBee está en desarrollo y del grupo de tareas que corresponde a estas
capas no se ha definido cuales corresponden a la capa MAC y a la capa NWK. Esto se refiere
a que existen tareas que están siendo realizadas indiferentemente por la capa NWK que
corresponden a la capa MAC y viceversa.
Tenemos diferentes tipos de topología o configuración para una red de dispositivos
ZigBee.
1) Tipo Estrella (Star)
En la configuración tipo estrella de la figura 2.4, los nodos esclavos ven directamente
al nodo maestro, el cual es el coordinador de red. Si la distancia entre un nodo esclavo y el
maestro es mayor a la distancia máxima permitida para poder realizar una conexión, la
comunicación se pierde.
En la configuración tipo estrella los nodos esclavos ven directamente al nodo maestro,
20
el cual es el coordinador de red. Si la distancia entre un nodo esclavo y el maestro es mayor a
la distancia máxima permitida para poder realizar una conexión, la comunicación se pierde.
2) Tipo Malla (Mesh) y Tipo Árbol (Cluster Tree)
En el caso de la figura 2.5, se utilizan los nodos tipo Router para poder enviar
información desde un dispositivo Esclavo hacia el Maestro. Esto se hace cuando por
limitaciones de distancia la conexión entre Esclavo y Maestro no puede realizarse.
Las características que debe cumplir cada nodo, independientemente de que esté
siendo usado en una configuración tipo estrella, malla o árbol deben ser las siguientes:
Coordinador de Red (ZigBee Coordinator ZC):
Actúa como coordinador de la red.
Se requiere uno y solo uno para cada red ZigBee.
Al iniciarse busca otras redes ZigBee y selecciona el mejor canal para establecer su
red.
Una vez que la red se ha formado, también actúa como Router.
Puede realizar otras operaciones que no estén asociadas a la red.
21
Router (ZigBee Router ZR):
Es un componente opcional en la red.
Descubre y se asocia con otros ZED y ZR.
Aumenta la cobertura de la red.
Maneja alocación y desalocación de direcciones locales.
Participa en el envío de mensajes multi-hop en una red tipo malla.
Mantiene actualizada la tabla de caminos en los nodos vecinos.
ZigBee permite que cada nodo ZC direccione hasta 64.000 nodos ZED. Esto no
implica que deba montarse dicha cantidad, sino, que tenemos la capacidad de cubrir una gran
área usando solo un ZC. Por ejemplo, una red de mas de 8 dispositivos inalámbricos puede
implementarse haciendo uso de un solo nodo ZC a diferencia de Bluetooth.
Puede implementarse encriptamiento en el dispositivo usando rutinas a nivel de Capa
de Red y Capa de Soporte a la Aplicación. La seguridad debe ser un grupo de rutinas
transparentes al Framework.
22
2.3.1.2 Ahorro de Energía
Podemos ahorrar energía de las baterías en cada nodo de la Red ZigBee a través de
diferentes métodos:
A través del ciclo de trabajo del CPU
El procesador puede ser enviado al modo de bajo consumo de energía (Sleep Mode)
cuando no necesitamos procesar información. Para despertar al procesador debe existir un
hardware externo que verifique si las condiciones para sacar al procesador de su reposo han
sido cumplidas.
Esta idea es vital a la hora de reducir el consumo de baterías ya que podemos lograr
que el procesador este básicamente apagado la mayor parte del tiempo. Esto se traduce en
tiempo de vida extra para las baterías.
Reduciendo la frecuencia del reloj en el bus del procesador
Casi todos los procesadores disminuyen su consumo de energía cuando la frecuencia
del bus es disminuida. El trabajo, en este caso, consistiría en calcular cual es el mínimo reloj
necesario para resolver las tareas que se necesitan. La cantidad de energía ahorrada varía en
cada procesador.
A través del manejo apropiado del módulo RF
Si encendemos la etapa de RF sólo cuando los módulos ZigBee Esclavos (ZED)
necesitan transmitir información podremos realizar un ahorro adicional enorme dentro del
ciclo de trabajo del CPU, ya que la etapa de RF es una de las que más consume energía en el
módulo ZigBee.
Por ejemplo, un par de baterías pueden durar alrededor de 5 horas con el módulo
trabajando todo el tiempo, sin entrar a modo de bajo consumo ni hacer ahorro de energía en la
parte de RF. Si despertamos el procesador en pequeños intervalos de tiempo, solo cuando
necesitamos que el mismo trabaje, podemos llegar a reducir su ciclo de trabajo a 0.01%.
Gastaría 1.000 veces menos energía, por lo cual, podemos suponer que las baterías adecuadas
podrían llegar a durar 1000 x 5 Horas (5000 Horas). Si aplicamos también ahorro en la etapa
de RF y utilizando un reloj más lento para el CPU podemos lograr una vida útil mucho mayor
en las baterías.
23
2.3.2 Bluetooth vs. ZigBee
ZigBee no fue pensado como un protocolo que compita con Bluetooth, sino como un
protocolo que pueda ser usado en aquellas aplicaciones para las cuales Bluetooth esta sobre
diseñado o simplemente no sirve. ZigBee fue pensado como complemento de Bluetooth.
Por esta razón ZigBee es una mejor opción cuando hablamos de las aplicaciones donde
la comunicación sea entre módulos embebidos (peer to peer).
Podemos ver la comparación de los aspectos más relevantes entre ZigBee y Bluetooth
en la Tabla 2.1 [5], [6].
24
Capitulo 3. DESCRIPCIÓN DEL SISTEMA
25
ZigBee, desde los eventos generados debido al comportamiento del paciente en su entorno y
las señales propias a sus signos vitales, hasta el nivel de energía que poseen las baterías de
cada uno de los nodos. Desde esta aplicación se puede reconfigurar la red de sensores en
aspectos como por ejemplo: cambiar el ciclo de trabajo de cada sensor o personalizar ciertos
valores en el desempeño de los mismos para ajustarlos a cada paciente diferente.
Por ejemplo, la presión sanguínea varía los rangos de presión normal dependiendo de
la edad y género, entre otras variables. En este caso debemos reconfigurar el medidor de
presión para grabar en él los valores de presión normal para cada paciente que lo esté usando.
Otro ejemplo es un detector de caídas, en el cual este concepto se aplica directamente
ya que cada paciente realiza movimientos, más bruscos o más suaves, que podrían ser
confundidos con una eventual caída.
A nivel de operatividad de cada nodo podríamos apagar algunos nodos (sensores) que
ya no necesitemos monitorear.
También podemos configurar la red para que la misma solo envíe información en caso
de conseguir un evento de carácter urgente, por ejemplo temperatura alta o baja, a diferencia
de otra información que se puede generar en ella como localización del paciente en el hogar, o
monitoreo de la temperatura ambiental que no es de carácter urgente.
Todos estos tipos de cambios en el comportamiento de los sensores (individualmente)
y en la red (colectivamente) deben poder ser configurados desde esta aplicación
Remota/Local.
Para esta aplicación se ha desarrollado un modelo de capa para una cómoda
implementación en el lenguaje de programación elegido. El diagrama de las capas se muestra
en la figura 3.2.
26
Figura 3.2. Aplicación Remota/Local
Capa de Red
Esta capa comprende un grupo de rutinas que el sistema operativo ofrece para realizar
el acceso a la Red.
Capa de Comunicación
Grupo de rutinas que permiten enviar transparentemente información hacia el Punto de
Acceso sin preocuparse del medio físico utilizado. Esta capa puede ser reemplazada para
enviar la información a través de otro medio físico, por ejemplo un puerto USB.
Capa de Encriptamiento
En esta capa se realiza el encriptamiento y des-encriptamiento de la información que
entra y sale de la aplicación.
27
Capa de Protocolo
Es necesario definir un protocolo para el intercambio de información entre la
Aplicación Remota/Local y el Punto de Acceso. En esta capa se define que tipo de
información será intercambiada y como se realizará este proceso.
Esta capa debe proveer funcionalidades como:
Acceso a la memoria SD (lectura, escritura, eliminación, visualización)
Envío de clave para realizar login en el punto de acceso.
Recepción de reportes generados en la red ZigBee.
Re-configuración de la red ZigBee.
Capa de Aplicación
En esta capa están definidas todas las rutinas que realizan la interacción con la parte
gráfica de esta aplicación. Es la encargada de validar las tareas solicitadas por el especialista
que esta usando esta aplicación.
Capa de Usuario
Esta es la última capa de la Aplicación Remota/Local. Esta comprende la parte gráfica
a la cual el usuario final (el especialista) tendrá acceso.
En esta capa se cuenta con las siguientes opciones:
Configurar puerto y dirección IP del Punto de Acceso para conectarse a él.
Envío de clave para realizar el login en el Punto de Acceso.
Administración de la memoria SD: listar, eliminar, visualizar archivos.
Interpretar archivos descargados.
Reconfigurar la Red ZigBee y cada nodo por separado.
28
También está encargado de guardar y ejecutar la configuración de la Red ZigBee
seleccionada desde la Aplicación Remota/Local.
La aplicación que correrá en el microcontrolador del Punto de Acceso (figura 3.1) fue
pensada a través de tres tareas principales:
a) HILO 1: Este hilo es el encargado de hacer la interacción con la Aplicación Remota
/Local. Login, acceso a la memoria SD, reporte de eventos generados por los sensores
y recibir la nuevas re-configuraciones para la red ZigBee. Las nuevas re-
configuraciones serán enviadas al Hilo 2 para ser ejecutadas.
b) HILO 2: Realiza la interacción con el módulo ZigBee Maestro (Coordinador). Recibe
y envía información hacia la red ZigBee para reconfigurar los nodos. También es el
encargado de recibir los reportes enviados por la Red ZigBee generados tras el
monitoreo de los sensores, para ello valida la información recibida y la envía al Hilo 1,
que es el encargado de interactuar con la Estación Remota/Local. Debe respaldar una
copia de los reportes recibidos por la Red ZigBee en la memoria SD.
c) Servicio: Este servicio es el encargado de administrar el acceso a la memoria SD, el
cual es un recurso compartido entre el Hilo 1 y el Hilo 2. Se debe evitar que dos
aplicaciones accedan a este periférico simultáneamente. La escritura en la memoria
SD suele ser bastante lenta, alrededor de 300 ms [7]. Durante este tiempo ninguna otra
aplicación debe acceder a la memoria SD.
29
Figura 3.3. Estructura de la aplicación del Punto de Acceso
3.2.1 HILO 1
30
Capa de Red (NWK)
Proveer rutinas que permitan acceder a la red controlando la Capa MAC. A este nivel
se encuentra también una seudo capa muy delgada que es el Firewall, lo cual monitorea
solicitudes de conexión y decide desde cuales direcciones IP vamos a aceptar peticiones de
conexión (posee una tabla de direcciones IP permitidas para realizar peticiones de conexión).
Capa de Comunicación
La idea de esta capa es proveer un servicio de comunicación a las capas superiores con
la Aplicación Remota/Local. El beneficio de contar con esta capa es que la misma puede ser
reemplazada por una capa de comunicación que use otro medio, por ejemplo Bluetooth,
puerto USB, etc, sin tener que realizar cambios en las capas superiores.
Capa de Encriptamiento
En esta capa se realiza el encriptamiento y des-encriptamiento de la información que
entra y sale del Hilo 1 hacia el Punto de Acceso.
Capa de Protocolo
Es necesario definir un protocolo para el intercambio de información entre la
Aplicación Remota/Local y el Punto de Acceso. Este protocolo es el complemento del que se
utiliza en la Estación Remota/Local.
Capa de Aplicación
En esta capa están las rutinas que se encargan de recibir la información desde la red
ZigBee para enviarlas hacia la Estación Remota/Local. También permite acceder a la memoria
SD para listar, eliminar y visualizar sus archivos. Esta capa posee una cola de tareas de salida
para almacenar los paquetes de salida hacia la Estación Remota/Local y los envía en orden.
Esto permite controlar y limitar las tareas a la capacidad del microcontrolador usado.
Si hemos recibido una nueva configuración para la Red ZigBee, esta misma debe
almacenarse en la memoria SD y transmitirse al Hilo 2 y procesar la nueva configuración.
3.2.2 HILO 2
31
generada por la red hacia microcontrolador del Punto de Acceso, tal como se puede ver en la
Figura 3.1.
Capa Física
Se puede disponer, por ejemplo de un puerto serial SCI del microcontrolador para
recibir información desde el módulo ZigBee Coordinador.
Capa de Comunicación
Esta capa cuenta con el grupo de rutinas necesarias para acceder a la capa física y
comunicarse con el módulo ZigBee Coordinador.
Capa de Protocolo
En esta capa la información es recibida, validada y empaquetada hacia la Capa de
Aplicación. Posee el grupo de rutinas que permite comunicar su Capa de Aplicación con el
módulo ZigBee Coordinador.
Capa de Aplicación
Esta capa es la encargada de recibirla información desde la Capa de Protocolo
(reportes generados por la Red ZigBee), enviarla hacia la Capa de Aplicación del Hilo 1 para
su envío hacia el la Aplicación Remota/Local. Debe almacenarse una copia de la información
transmitida en un nuevo archivo de la memoria SD. Cuando una nueva configuración para la
Red ZigBee es recibida desde la aplicación Remota/Local, esta es transmitida hacia el módulo
ZigBee Maestro para ejecutar dicha configuración.
3.2.3 SERVICIO
Memoria SD
Este periférico permite almacenar la información generada en la red ZigBee. Se puede
implementar también manejo de archivos a través del Sistema de Archivos FAT16 o FAT32
para facilitar el almacenamiento de la información y su posterior uso en una PC.
Capa Física
La memoria SD debe ser acesada a través de un puerto SPI. Por ello
elmicrocontrolador que se utilice en el Punto de Acceso debe poseer un puerto SPI.
32
Capa de Acceso a Memoria SD
Esta es una capa bastante gruesa en este hilo. Aquí se encuentran las rutinas para
acceder al puerto SPI, escritura en la memoria SD y manejo de archivos FAT32 o FAT16.
Gracias a esta capa contamos con rutinas de creación, eliminación, visualización y
modificación de archivos, que hacen transparente el manejo de la memoria SD.
Capa de Aplicación
Como la memoria SD es un recurso compartido, es necesaria la creación de un
servicio que administre el acceso a la misma. Por esa razón esta capa cuenta con las rutinas
necesarias para la exclusión muta entre Hilo 1 e Hilo 2 al momento de acceder a la memoria.
33
La aplicación que ejecuta este dispositivo fue pensada a través de capas, tal como se
puede apreciar en la figura 3.4.
3.3.1.1 HILO 1
Hardware Externo
Se refiere a al microcontrolador del Punto de acceso.
Puerto Serial
Puerto a través del cual se realiza la comunicación con el Punto de Acceso. En general
esta comunicación puede realizarse con cualquier puerto disponible en el microcontrolador
del módulo ZigBee y el microcontrolador de Punto de Acceso, por ejemplo SCI.
Capa de Comunicación
En esta capa se encuentra el grupo de rutinas que permiten enviar información a través
del puerto serial hacia el microcontrolador de Punto de Acceso.
34
Capa de Protocolo
En esta capa la información recibida desde el Punto de Acceso es validada y enviada
hacia la capa superior. Posee el grupo de rutinas que permite comunicar la Capa de
Aplicación del Hilo 2 con el módulo ZigBee Coordinador.
3.3.1.2 HILO 2
Periférico Externo
Transceiver. Maneja la etapa de radio del dispositivo. En general este periférico se
accesa a través de un puerto serial SPI.
Periférico Interno
Puerto serial SPI del microcontrolador del ZED.
Capa de Comunicación
Esta capa corresponde a la Capa MAC y Capa NWK en la figura 2.1. Aquí se
encuentra el conjunto de rutinas que permiten recepción y envío de información hacia el
módulo ZigBee Maestro (ZC) de manera transparente usando el módulo de RF.
Capa de Protocolo
Es necesario definir un protocolo para el intercambio de información entre los
dispositivos ZigBee. Se define qué información intercambiarán y cómo lo harán. Desde aquí
se reciben los nuevos reportes generados en la Red ZigBee y se envían hacia la red cual será la
nueva configuración.
Capa de Aplicación
Esta capa es la encargada de recibir la información desde los dispositivos ZigBee
Esclavos (ZED), generar un reporte y enviarlo a través de la Capa de enlace del Hilo 1 hacia
el microcontrolador del Punto de Acceso.
35
La aplicación que en los nodos esclavos consta de 2 tareas principales: Hilo 1 e Hilo 2.
a) Hilo 1: El Hilo 1 es el encargado de recibir los reportes generados por el Hilo 2, luego
el reporte es enviado hacia el módulo ZigBee Maestro (coordinador de red). Este hilo
es el encargado de ejecutar las nuevas configuraciones de red recibidas.
b) Hilo 2: Este hilo es el encargado de: muestrear la información de los sensores,
procesar la información y generar eventos tras monitorear el comportamiento del
paciente.
La aplicación del ZigBee Esclavo fue pensada a través de capas, tal como se puede
apreciar en la figura 3.5.
3.3.2.1 HILO 1
Periférico Externo
Transceiver. Maneja la etapa de radio del dispositivo. En general este periférico se
accesa a través de un puerto serial SPI.
Periférico Interno
Puerto serial SPI del microcontrolador del ZED.
Capa de Comunicación
Esta capa corresponde a la Capa MAC y Capa NWK en la figura 2.1. Aquí se
encuentra el conjunto de rutinas que permiten recepción y envío de información hacia el
módulo ZigBee Maestro (ZC) de manera transparente usando el módulo de RF.
Capa de Protocolo
En esta capa la información es recibida, validada y empaquetada hacia la Capa de
Aplicación. Se define qué información intercambiarán y cómo lo harán con el módulo ZigBee
Maestro (ZC).
Capa de Aplicación
Esta capa es la encargada de recibir los reportes generados por el Hilo 2 y enviarlos
hacia el módulo ZigBee Maestro (coordinador). También es la encargada de ejecutar las
nuevas configuraciones de la red ZigBee enviadas desde el nodo maestro (ZC) que fueron
recibidas a través de la Capa de Protocolo.
36
Figura 3.5. Estructura de la aplicación de ZigBee Esclavo
3.3.2.2 HILO 2
Sensor
Este periférico externo al dispositivo ZigBee tiene la finalidad de capturar señales
relativas al comportamiento del paciente para ser muestreadas por el microcontrolador que
compone el dispositivo ZigBee.
Periférico Interno
Para realizar el muestreo de las señales entregadas por el sensor se debe disponer de
uno o más puertos disponibles en el microcontrolador del dispositivo ZigBee. El sensor
utilizado puede generar indistintamente datos en formato analógico o digital, siendo los
analógicos los más comunes.
37
Capa de Procesamiento
Esta capa es la encargada de procesar la información muestreada desde los sensores,
acondicionar los datos y entregarlos a la capa de monitoreo.
Capa de Monitoreo
Esta capa es la encargada de seguir paso a paso la información procesada para
monitorear el comportamiento del paciente. En caso de ocurrir un evento este debe ser
notificado a la Capa de Reportes.
Capa de Reportes
Encargada de validar, generar, empaquetar y entregar reportes al Hilo 1 para que sean
enviados al módulo ZigBee Maestro (ZC).
La capa de monitoreo registra eventos que son enviados a la capa de reportes. La capa
de reportes genera paquetes basados en la siguiente información: ID del nodo, tipo de sensor
monitoreado, tipo de evento generado, información específica sobre el evento.
Por ejemplo, un sensor de temperatura en el paciente:
ID: 0x12……………………………… (ID del dispositivo)
Tipo sensor: 0x04……………………. (Sensor de temperatura)
¿Evento Urgente?: 0x01…………….. (0x01 = sí, 0x00 = no)
Tipo de evento generado: 0x03……… (Temperatura alta)
Información específica: 0x27………… (39 grados centígrados de temperatura)
Todos los dispositivos esclavos (ZED) de la red comparten el mismo Hilo 1 (figura
3.5), lo único que diferencia a un dispositivo de otro es el hilo 2, que se encarga de la
generación de eventos y el envío de envíos reportes dependiendo del tipo de sensor
monitoreado. Esta característica facilita el rápido desarrollo de los nodos esclavos (ZED).
38
Capítulo 4. RESULTADOS -IMPLEMENTACIÓN
39
Figura 4.1. Diagrama de la Maqueta presentada
40
Este componente requiere programación de software basado en una PC. Las capas son
fácilmente configurables y existen actualmente muchas librerías basadas en código libre que
pueden ayudar a la programación de este módulo.
Algunas de sus características funcionales se listan a continuación:
El almacenamiento de eventos a través de un archivo (log) permite que los eventos
generados puedan ser consultados cuando se desee.
Este software es capaz de iniciar sesión en el Punto de Acceso siempre y cuando posea
una dirección IP válida que se encuentre registrada en el Punto de Acceso y se entregue
la contraseña (password) correcta.
Cuando se recibe un reporte se muestra en dos ventanas de texto diferentes
dependiendo si este reporte corresponde a un evento generado en la red de sensores
ZigBee o un reporte debido a eventos en la conexión.
Cuando se recibe un evento con carácter de urgencia se genera una alerta auditiva
indicando la llegada de la misma.
Esta aplicación permite seleccionar la dirección IP y puerto en el cual vamos a solicitar
conexión al Punto de Acceso. La conexión puede ser cortada cuando se desee.
Este software provee una interfaz a través de la cual se puede monitorear el estado de la
Red ZigBee. Se puede observar la interfaz en la figura 4.2.
41
1) Menú de la Aplicación
La principal funcionalidad de este menú es conectarnos y desconectarnos del Punto de
Acceso, así como cambiar la dirección IP y puerto en el que el Punto de Acceso está
recibiendo peticiones de conexión.
FILE
CONEXIÓN
42
Figura 4.4. Cuadro de diálogo para seleccionar dirección IP y puerto
AYUDA
Acerca de…: Despliega una ventana de diálogo que permite ver información sobre la
aplicación (figura 4.5).
2) Estatus de Conexión
Esta parte muestra la información sobre el estado actual de la conexión.
Tiene dos valores posibles: Conectado y Desconectado.
4) Eventos Médicos
En esta área se muestran los reportes recibidos desde la Red ZigBee a través del Punto
43
de Acceso.
Tanto los eventos del sistema como los eventos médicos son almacenados en un
archivo de texto que puede ser consultado cuando se desee.
44
leds y 38 pines libres del microcontrolador NE64.
Frecuencia de operación del 24 MHz
Bus
Número de Puertos Seriales 2
Número de Puertos SPI 1
Ethernet Embebido Sí
Memoria ROM 64 KB
Memoria RAM 8 KB
Arquitectura 16 bit
45
Figura 4.6. Módulo de desarrollo utilizado para el Punto de Acceso
Capa MAC
Cuenta con todas las rutinas asociadas a Capa MAC de Ethernet. El único valor
configurable por el usuario en esta capa es el valor de la dirección MAC.
Capa de Red
Ofrece los siguientes servicios que pueden ejecutarse en el microcontrolador:
Cliente y/o Servidor UDP.
Cliente y/o Servidor TCP.
Servidor HTTP (WEB).
Servidor de Email POP3 y envió de email con SMTP.
Servidor DHCP y DNS.
Servidor FTP.
Las principales opciones para la implementación del Punto de acceso son TCP y UDP.
Sin embargo también fue probado el servicio HTTP para evaluar su desempeño y verificar si
era posible pensar en una implementación del Punto de Acceso a través de un servicio tipo
página Web.
Servidor UDP
Se configuró el Punto de Acceso como Servidor UDP para recibir conexiones
entrantes en el puerto 3000, el cual era monitoreado por el microcontrolador a través de un
socket. La conexión que recibía el Punto de Acceso era realizada desde una PC a través del
Terminal Hercules. Se descartó el uso de este tipo de servidor ya que este protocolo no es
capaz de garantizar la entrega de información entre Cliente y Servidor.
Servidor HTTP
Se configuró el Punto de Acceso como Servidor HTTP para recibir solicitudes
46
entrantes a través del puerto 80 desde un navegador de páginas WEB como Internet Explorer,
FireFox, Netscape, Opera, etc.
Fueron realizadas 2 pruebas como servidor http:
Servidor de páginas estáticas: Devuelve hacia al navegador una página Web cuyo
contenido había sido programado al momento de grabar el firmware en el Punto de Acceso.
Esta página consistía en información de texto escrita en lenguaje HTML, la cual se desplegó
correctamente en el navegador de páginas WEB.
Servidor de páginas dinámicas: El servidor generaba la página en el momento de la
solicitud. El contenido de esta página dinámica consiste en un reporte del estatus del
microcontrolador al momento de solicitar la página escrito en lenguaje HTML.
Ambas pruebas fueron exitosas y permitieron la conexión desde el navegador hacia el
Punto de Acceso. Se implementó un manejo simple de archivos FAT para el servidor de
paginas estáticas y dinámicas, y se demostró que el monitoreo del Punto de Acceso también
puede hacerse a través de un Servicio HTTP. Para esto debe utilizarse otro lenguaje de
programación usado en páginas WEB, como Java para generar un JavaApplet.
Servidor TCP
Se configuró el Punto de Acceso como Servidor TCP para recibir conexiones entrantes
en el puerto 3000, el cual era monitoreado por el microcontrolador a través de un socket. En
un principio, la conexión que recibía el Punto de Acceso era realizada desde una PC a través
del Terminal Hercules. Este fue el protocolo que se decidió utilizar para la implementación
del Punto de Acceso ya que el mismo garantiza la entrega de información a través de
diferentes métodos que componen este protocolo, tales como reconocimiento de paquetes
recibidos, notificación de paquetes perdidos y re-envío de paquetes perdidos a diferencia de
UDP.
Una vez escogido el servicio TCP, se programó una delgada capa de firewall que
consiste en una tabla de direcciones IP desde las cuales el especialista puede realizar solicitud
de login en la Aplicación Remota/Local. Cualquier dirección IP que no esté en esta lista es
rechazada y la conexión es abortada inmediatamente. Esta metodología de firewall permite
generar un sistema de seguridad bastante robusto si se implementa adicionalmente la capa de
encriptamiento tanto en la Aplicación Remota/Local como en el Punto de Acceso.
Se implementó una cola de tareas de salida para no saturar la memoria de la Capa de
47
Red. Una vez probado el correcto funcionamiento de la capa de red del Punto de Acceso y la
Aplicación Remota/Local, era necesario definir un protocolo de comunicación para
intercambiar información entre Punto de Acceso y Aplicación Remota/Local. Este protocolo
esta orientado a la transmisión de eventos generados en la red de sensores ZigBee. Fue
pensado como un protocolo que permitiera enviar información desde la red de sensores
ZigBee instantáneamente y/o permitir administrar la memoria SD que se encuentra en el Punto
de Acceso, en el cual se realizaría una copia de la información generada en la red ZigBee.
Esto permite almacenar la información generada por la red ZigBee en la memoria SD.
Una vez establecida la comunicación entre Aplicación Remota/Local y Punto de
Acceso, se procedió a realizar la implementación de la Red ZigBee.
48
La Capa de Comunicación de los módulos consiste en un código prototipo que se
utilizó en Eaton Corporation durante el desarrollo de sus módulos ZigBee. Este código fue
implementado con lenguaje C++ y con el uso de las librerías disponibles por Quantum
Framework [17]. Quantum Framework es un conjunto de rutinas que ofrece servicios
similares a los de un sistema operativo: envío de información entre hilos, sincronización
(mutex, semáforos, eventos) y temporarización (timers) entre otras características. Estás
librerías permiten también la programación en C++ para crear máquinas de estado. Es muy
útil esta característica ya que podemos definir el comportamiento que tendrá la máquina de
estados a cada momento a través de un código escrito en C++ y definir las transiciones de
estado cómodamente.
Se realizó el siguiente estudio sobre los componentes necesarios para el desarrollo:
1. Estudio del protocolo ZigBee [5].
2. Estudio detallado del microcontrolador utilizado:
Atmega128L [15].
3. Selección y estudio del software utilizado para desarrollar aplicaciones en
microcontroladores Atmel:
IAR Embedded Workbench 4.0 [18].
4. Selección de un módulo programador compatible con IAR Embedded Workbench 4.0
y los módulos ZigBee utilizados:
Jtag ICE [19].
5. Búsqueda y selección del acelerómetro de 3 ejes utilizado en el detector de caídas:
Freescale MMA7260 [20].
6. Estudio sobre algoritmo de detección de caídas a través del uso de acelerómetros de
un eje [21].
7. Software prototipo implementado por Eaton Corporation para sus módulos ZigBee
RM2420 [22].
8. Desarrollo de aplicaciones en C++ a través de Quantum Framework [17]
49
para que fuera el encargado de mantener la Red ZigBee operativa y recibiera reportes de la
misma para transmitirlos hacia el Punto de Acceso.
Figura 4.8. Diagrama en bloques del coordinador de Red conectado al Punto de Acceso
Se puede observar en la figura 4.9 este nodo coordinador de la Red ZigBee unido al
Punto de Acceso.
50
Figura 4.9. Coordinador de Red conectado al Punto de Acceso
51
Figura 4.10. Diagrama en bloques del módulo ZigBee supervisor de eventos
52
4.3.3 Modulo ZED 2 – Detector de caídas
Estos detectores monitorean constantemente el movimiento del paciente y son capaces
de reconocer caídas del mismo. Se ha incorporado un botón de pánico que puede ser activado
por el usuario en caso de una emergencia de cualquier índole. El detector fue implementado a
través del monitoreo constante de un acelerómetro a través de un módulo ZigBee RM2420.
Algoritmos de caída
Se implementaron dos tipos de algoritmos de caídas: con acelerómetro de un eje y con
uno de tres ejes.
53
Se puede observar en la figura 4.12 como luce una caída desde el punto de vista del
acelerómetro.
Figura 4.12. Diagrama cualitativo de las aceleraciones observadas durante una caída
54
Aunque este algoritmo sólo es capaz de detectar caídas verticales seguidas por una
inclinación en el paciente, es fundamental para aplicarlo a un acelerómetro de tres ejes.
55
Las aceleraciones medidas se pueden representar vectorialmente como se observa en la
figura 4.14.
56
Figura 4.15. Radio de aceleración permitido
57
Figura 4.17. Diferencia de ángulo después de la caída
El ángulo puede ser calculado a través del producto escalar de los dos vectores.
Podemos trabajar directamente con el valor del coseno del ángulo para no dar trabajo extra al
microcontrolador con la ecuación 4.1.
DC _ 1 • DC _ 2
Cos ( Ángulo) = 4.1
DC _ 1 • DC _ 2
Este algoritmo fue implementado a través de una máquina de estados. Esta máquina
consta de 5 estados. Se puede observar el diagrama de estados en la figura 4.18.
58
Figura 4.18. Maquina de estados en el detector de caídas de tres ejes
Estado 1
Monitoreo constante del movimiento del paciente.
Si el botón de pánico es activado solo se envía notificación de su uso, pero no esta
relacionado a una caída.
Si se excede el radio máximo en la componente AC paso al Estado 2.
Estado 2
Monitoreo constante del movimiento del paciente.
Si el botón de pánico es activado en este instante sospechamos que pudiera ser un
golpe en el detector de caídas y no una caída en el paciente, de todas maneras este
59
evento es reportado.
Esperamos que la componente AC vuelva a entrar a la esfera. Esto ocurrirá siempre.
Luego pasamos al Estado 3.
Estado 3
Monitoreo constante del movimiento del paciente.
Si el botón de pánico es activado en este instante sospechamos que pudiera ser un
golpe en el detector de caídas y no una caída en el paciente, de todas maneras este
evento es reportado.
Verificamos que la componente AC vuelva a exceder el radio máximo permitido dentro
de un tiempo máximo, pasamos al Estado 4.
Si el tiempo máximo se excedió sin detectar salidas de la esfera pasamos al Estado 1.
Ha sido una falsa alarma.
Estado 4
Hemos llegado a este estado debido a que se ha confirmado que hubo un golpe en el
paciente, debemos confirmar si ha sido una caída. Fijamos un tiempo máximo para
determinar si ha habido una caída. Dentro de este tiempo verificaremos su inclinación y
su movilidad. En caso de encontrarse en posición horizontal, con movilidad reducida o
ha sido activado el botón de pánico dentro de este estado pasaremos al estado 5 debido
a una caída confirmada.
Si excedemos el tiempo para decidir una caída pasamos al Estado 1 debido a una falsa
alarma.
Estado 5
La caída ya ha sido confirmada. Notificamos la caída para que sea enviada al
especialista, luego pasamos al Estado 1.
60
Características del hardware en el detector de caídas
Módulo ZigBee Eaton con microcontrolador Atmega128L.
Frecuencia de operación del microcontrolador 5MHz.
Acelerómetro de tres ejes Freescale MMA7260 trabajando en un rango de ±4g.
61
Figura 4.20. Módulo ZigBee detector de Caídas. Vista superior.
62
Capítulo 5. CONCLUSIONES Y RECOMENDACIONES
5.1 Conclusiones
Se estudiaron, diseñaron e implementaron elementos básicos para una primera
aproximación al telecuidado en ambientes no clínicos como el hogar, que permite la detección
de eventos en el comportamiento del paciente y la interacción con su entorno. El sistema está
basado en una Red de Sensores Inalámbricos basados en el estándar IEEE 802.15.4 (ZigBee).
El sistema fue desarrollado en forma modular, lo que permite la separación y
combinación de sus componentes en soluciones intermedias para el monitoreo de pacientes.
El diseño propuesto comprende una red de sensores inalámbricos para adquisición de
las señales relacionadas al monitoreo del paciente, un Punto de Acceso para el posible
almacenamiento vía una memoria SD y transmisión de la información hacia una Estación
Local/Remota a través de Intranet o Internet. En la Estación Local/Remota se tiene una
aplicación basada en una PC con capacidades para monitorear, almacenar y procesar los datos
provenientes de la red ZigBee, además de proveer una interfaz gráfica amigable para
monitoreo del paciente.
El Punto de Acceso está basado en un microcontrolador con un módulo de Ethernet
embebido para realizar el acceso a Ethernet. Además, se le incluyó un módulo coordinador
ZigBee para habilitar conexiones tipo maestro con la Red ZigBee de módulos esclavos.
Para la red ZigBee, se han desarrollado dos dispositivos para monitoreo: detector
personal de caídas y supervisor de eventos. El detector de caídas se implementó a través de un
dispositivo ZigBee con un acelerómetro de tres ejes y un botón de pánico que puede ser
activado en caso de una emergencia. El supervisor de eventos se basa en un dispositivo
ZigBee esclavo con un pulsador mecánico.
Tanto como para la Red ZigBee, para el Punto de Acceso como para la Estación
Local/Remota, se desarrollaron e implementaron modelos de capa de comunicación con sus
rutinas de programación correspondientes que permite el flujo de información entre los tres
componentes principales del sistema.
63
5.2 Recomendaciones
Punto de Acceso
El punto de Acceso debe proveer todas las rutinas de comunicación que permitan
entablar la comunicación entre la Red ZigBee y la Estación Remota/Local.: firewall,
autentificación y encriptamiento por ejemplo.
Implementar un servidor HTTP montado en una plataforma JavaApplet, que permita
la interacción directa con el Punto de Acceso. Este tipo de servicio elimina la
dependencia del sistema operativo de la Estación Local/Remota del especialista, ya
que solo necesitaría un navegador de páginas Web.
Configuración remota del Punto de Acceso.
Implementación de la Memoria SD, basada en un firmware en el mismo CPU del
Punto de Acceso o incluyendo un módulo extra dedicado a esta tarea.
Estación Local/Remota
Implementar una aplicación de Telecuidado para pruebas clínicas.
64
REFERENCIAS BIBLIOGRÁFICAS
[2] Passariello G., Villegas G., Cruz J., Hernández A., Mora F. “Teleinstrumentación
para el cuidado de pacientes”. Capítulo 21, Bioingeniería en Iberoamérica: Avances
y Desarrollos, Centro Internacional de Métodos Numéricos en Ingeniería (CIMNE),
Barcelona,España, Noviembre 2003.
[3] Celler B., Lovell N., Chan D. “The potential impact of home telecare on clinical
practice”, Medical Journal of Australia, Vol. 171, pp 518-521, 1999.
[4] Doughty K., Cameron K., Garner P. “Three generations of telecare of the elderly”,
Journal of Telemedicine and Telecare Vol. 2, No. 2, pp 71-80, 1996.
[6] Haartsen, J., “The Bluetooth Radio System”, IEEE Personal Communications
Magazine, Vol. 7, No. 1, Febrero, 2000
[7] Anónimo, Sandisk Corporation, “SanDisk Secure Digital Card Product Manual”,
Versión 1.7, Septiembre, 2003.
65
[11] Anónimo, Freescale Semiconductors, “MC9S12NE64 Datasheet”.
http://www.freescale.com
[21] Zambrano, A., Palencia, E., “Monitoreo de Actividades de Ancianos como parte
integral de un Sistema de Telecuidado”, Trabajo de grado, Universidad Simón
Bolívar, 2002.
66