CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA
PAULA SOUZA
FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA
CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES
ULISSES JOSE MASSAFERA SOUZA
APLICAÇÃO DA TECNOLOGIA ZIGBEE NO CUIDADO DE SAÚDE
PERVASIVO
LINS/SP
2º SEMESTRE/2013
CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA
PAULA SOUZA
FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA
CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES
ULISSES JOSE MASSAFERA SOUZA
APLICAÇÃO DA TECNOLOGIA ZIGBEE NO CUIDADO DE SAÚDE
PERVASIVO
Trabalho de Conclusão de Curso apresentado à
Faculdade de Tecnologia de Lins para Obtenção
do Título de Tecnólogo em Redes de
Computadores.
Orientador: Prof. Me. Anderson Pazin
LINS/SP
2º SEMESTRE/2013
Dedico este trabalho aos meus pais, por toda
a força e amor que ofereceram durante a minha
trajetória de vida, por formarem não só meu
carácter pessoal como também profissional. A
vocês, expresso o meu maior agradecimento e
serei eternamente grato.
ULISSES JOSE MASSAFERA SOUZA
AGRADECIMENTOS
Em mais uma etapa alcançada, quero expressar os meus sinceros
agradecimento a todos que fizeram parte deste desafio. Agradeço em primeiro lugar,
a Deus que iluminou o meu caminho durante esta caminhada, ao Profº Anderson
Pazin, por dedicar seu tempo e conhecimento para a realização deste trabalho e ao
Profº João Luis C. Moraes, por iniciar e indicar o tema proposto neste trabalho e aos
conselhos atribuídos para a realização deste. A todos os professores que me
acompanharam durante a graduação Adriano Marquez, Alexandre Ponce, Fábio
Lucio Meira, Júlio Lieira, Mario Pardo, Renato Barros; Aos amigos e colegas de
curso, pelo incentivo, apoio e amizades criadas. Um obrigado em especial a Daniel
Targino, Felipe Maciel, Guilherme Manfrim, Gustavo Gusmão, Henrique Brites, Igor
Oliveira, Jefferson Mello, Luis Antônio e Marcelo Carnevali.
ULISSES JOSE MASSAFERA SOUZA
RESUMO
Um novo padrão denominado como ZigBee 802.15.4, vem sendo testado no
mercado de sensoriamento remoto. Este padrão define um conjunto de regras e
especificações para comunicação sem-fio entre dispositivos eletrônicos, dando
prioridade e ênfase a equipamentos com baixo consumo de energia. Seu conceito
segue premissas que tendem a convergir junto com novas tecnologias e aplicações
do futuro. O presente trabalho visa explanar as características e funcionalidades
desse novo padrão em uma rede de sensoriamento médico. Para isto, esta tese
apresenta inovações na mensuração de dados vitais de um paciente que está
internado em uma clínica ou hospital. Com o desenvolvimento de um oxímetro de
pulso de baixo custo é possível analisar os batimentos cardíacos e a oxigenação
sanguínea de modo autônomo. Seria de maior facilidade ao médico poder acessar
as informações de todos seus pacientes através de um leve toque em seu celular ou
até mesmo ser alertado via SMS, que um paciente está sofrendo alguma
enfermidade. A construção de um dispositivo, capaz de realizar a coleta dessas
informações de maneira eficaz e com qualidade, aliado a um sistema autônomo para
o controle dessas informações, este trabalho apresenta seu desenvolvimento teórico
e sua aplicação prática, analisando os recursos disponibilizados como também sua
qualidade de serviço em operação
Palavras-chave: Zigbee, 802.15.4, Oximetria, Pervasivo.
ABSTRACT
A new standard called ZigBee 802.15.4, has been testing in the remote sensing
market. This standard defines a common set of rules and specifications for wireless
communication between electronic devices. That is indeed the reason to give priority
and emphasis on devices with low power consumption. The concept about it follows
assumptions tend converging with new technologies and applications of the future.
This work suggest to explain the features and functionality of this new standard on a
network of medical sensing. In fact, this thesis submits innovations in measuring vital
signs of a patient who is hospitalized in a clinic or hospital. Starting with the birth of a
pulse oximeter it became possible to decrease the cost to analyze heartbeat and
blood oxygenation in a autonomous manner. It would be easier to doctor can access
the information about all their patients through a soft touch on your mobile phone or
even he can be alerted via SMS. He can know when a patient is suffering from an
illness. The development of a device is capable of grouping of this information. It is
using efficiency and quality match with an autonomous system for the control of such
information. This work suggest the theoretical development and pratical application,
analyzing the resources available as well as their quality service functioning.
Keyworkds: ZigBee, 802.15.4, Oximetry, Pervasive.
LISTA DE ILUSTRAÇÕES
Figura 1.1 - Topologia em Estrela ............................................................................. 22
Figura 1.2 - Topologia em Árvore de Agrupamentos................................................. 23
Figura 1.3 - Topologia em Malha............................................................................... 24
Figura 1.4 - Pilha de Protocolos Padrão Zigbee ........................................................ 25
Figura 1.5 - Modulação BPSK ................................................................................... 27
Figura 1.6 - Modulação O-QPSK............................................................................... 28
Figura 1.7 - Quadro de Dados PHY .......................................................................... 28
Figura 1.8 - Estrutura do quadro superframe ............................................................ 30
Figura 1.9 - Quadro de Dados ................................................................................... 31
Figura 1.10 - Quadro de Reconhecimento ................................................................ 32
Figura 1.11 - Quadro NWK ........................................................................................ 34
Figura 1.12 - Frame de Dados e Comandos ............................................................. 34
Figura 1.13 - Quadro Geral APS ............................................................................... 36
Figura 1.14 - Campo de Controle do quadro APDU .................................................. 37
Figura 1.15 - Uso de endpoints em uma aplicação de interruptores e lâmpadas ...... 39
Figura 2.1 – Gráfico da absorção de luz da hemoglobina ......................................... 44
Figura 2.2 – Sensor de transmitância e refletância ................................................... 44
Figura 2.3 – Sinal típico da oximetria de pulso .......................................................... 45
Figura 2.4 - Diagrama de absorção de luz ................................................................ 45
Figura 2.5 - Diagrama do circuito interno OPT101 .................................................... 47
Figura 2.6 - Gráfico de resposta espectral ................................................................ 48
Figura 2.7 - Implementação básica de operação (+2ºC até +150ºC) ........................ 49
Figura 2.8 - Amplificador Operacional Comum.......................................................... 50
Figura 2.9 - AOP seguidor unitário ............................................................................ 51
Figura 2.10 - AOP integrador .................................................................................... 51
Figura 2.11- Módulo XBee Pro Series 2 .................................................................... 52
Figura 2.12 - Arduino UNO R3 .................................................................................. 57
Figura 3.1 – Visão geral dos módulos do sistema ..................................................... 61
Figura 3.2 - Circuito do sensor e condicionador de sinal ........................................... 63
Figura 3.3 - Teste laboratorial para captura do sinal ................................................. 64
Figura 3.4 - Fluxo de atividades do oxímetro ............................................................ 66
Figura 3.5 - Fluxograma principal do dispositivo ....................................................... 67
Figura 3.6 - Display LCD do dispositivo .................................................................... 68
Figura 3.7 - Xbee acoplado ao Shield e Arduino ....................................................... 69
Figura 3.8 - Interação entre Xbee, servidor e banco de dados ................................. 72
Figura 3.9 - Pacote Inicializador em Hexadecimal .................................................... 73
Figura 3.10 - Xbee Explorer conectado ao notebook ................................................ 73
Figura 3.11 - Tela principal da aplicação ................................................................... 74
Figura 3.12 - Informações do Xbee e Modem HSDPA .............................................. 75
Figura 3.13 - Fluxo de atividades do servidor............................................................ 76
Figura 3.14 - Pacote de Dados em Hexadecimal ...................................................... 77
Figura 3.15 - Log do servidor .................................................................................... 79
Figura 3.16 - Monitoramento em tempo real ............................................................. 80
Figura 3.17 - Detalhes do monitoramento do paciente .............................................. 81
LISTA DE TABELAS
Tabela 1.1 - Faixas de Frequência do padrão IEEE 802.15.4 ................................... 27
Tabela 3.1 - Configuração módulo coordenador ....................................................... 71
Tabela 3.2 - Configuração módulo roteador .............................................................. 72
LISTA DE QUADROS
Quadro 2.1 - Pacote Zigbee padrão .......................................................................... 54
Quadro 2.2 - Pacote de recepção ............................................................................. 55
Quadro 2.3 - Pacote de Identificação de Nó ............................................................. 55
Quadro 3.1 - Dados Vitais ......................................................................................... 70
Quadro 3.2 - Fim de Conexão ................................................................................... 70
LISTA DE ABREVIATURAS E SIGLAS
16ER – 16 Bits Endereço de Rede
64ER – 64 Bits Endereço de Rede
ACK – Acknowledgment
ADC – Analog-to-Digital Converter
AF – Application Framework
AIB – APS Information Base
AO – Application Objects
AOP – Amplificador Operacional
APDU – Application Protocol Data Units
APS – Application Suport Sublayer
APSC – APS Counter
APSDE – SAP (APS Data Entity
APSME – APS Management Entity
ASCII – American Standard Code for Information Interchange
ASDU – Application Service Data Units
BPSK – Binary Phase-Shift Keying
BR – Broadcast Radius
BSN – Broadcast Sequence Number
CAP – Contention Access Period
CFP – Contention Free Period
CI – Cluster Identifier
CO2 – Dióxido de Carbono
CSMA-CA – Carrier Sense Multiple Access with Collision Avoidance
DA – Destination Address
DE – Destination Endpoint
ED – Energy Detection
EH – Extended Header
EO – Endereço de Origem
ER – Endereço da Rede
EvO – Evento de Origem
FC – Frame Control
FCS – Frame Check Sequence
FFD – Full Function Device
FL – Frame Lenght
FP – Frame Payload
GA – Group Andress
GTS – Guaranteed Time Slot
HbCO – Monóxido de Carbono
HbO2 – Oxi-Hemoglobina
IDD – Identificação da Digi
IEEE – Institute of Electrical and Eletronics Engineers
IFS – Interframe Spacing
IN – Identificação do Nó
ISM – Industrial, Scientific and Medical
ISR – Interrupt Service Routine
LED – Light-Emmiting Diode
LQI – Link Quality Indication
LR-WPAN – Low Rate – Wireless Personal Area Network
MFR – MAC Footer
MHR – MAC Header
MISO – Master In Slave Out
MOSI – Master Out Slave In
MPDU – MAC Protocol Data Unit
MSDU – MAC Service Data Unit
NIB – Network Information Base
NLDE – Network Layer Data Entity
NLME – Network Layer Management Entity
NPDU – Network Protocol Data Unit
NS – Número de Sequência
NTC – Negative Temperature Coeficiente
OPA – Oximetria de Pulso Arterial
O-QPSK – Offset-Quadrature Phase-Shift Keying
OR – Opção de Recepção
OSI – Open System Interconnection
PAN – Personal Area Network
PE – Endereço de Parentesco
PHR – PHY Header
PI – Profile Identifier
PPDU – PHY Protocol Data Unit
PS – Preamble Sequence
PSDU – PHY Service Data Unit
PSK – Phase-Shift Keying
PTC – Positive Temperature Coeficiente
PWM – Pulse-Width modulation
QPSK – Quadrature Phase - Shift Keying
RFD – Reduced Function Device
RHb – Desoxi-Hemoglobina
RISC – Reduced Instruction Set Computer
SA – Source Address
SAP – Service Access Point
SCK – Serial Clock
SE – Source Endpoint
SFD – Start of Frame Delimiter
SHR – Synchronization Header
SPI – Serial Periphel Interface
SpO2 – Saturação do Oxigênio
SS – Slave Select
SSP – Security Service Provider
TD – Tipo de Dispositivo
TDQ – Tipo de Quadro
UART – Universal Asynchronous Receiver Transmitter
UTI – Unidade de Tratamento Intensivo
WLAN – Wireless Local Area Network
WMAN – Wireless Metropolitan Area Network
ZDO – ZigBee Device Object
SUMÁRIO
INTRODUÇÃO .......................................................................................................... 17
1.
FUNDAMENTOS DA TECNOLOGIA ZIGBEE ................................................ 19
1.1. HISTÓRIA DO ZIGBEE ....................................................................................... 19
1.2. DISPOSITIVOS ZIGBEE ..................................................................................... 20
1.3. TOPOLOGIAS DE REDE .................................................................................... 22
1.3.1. TOPOLOGIA EM ESTRELA (STAR) ........................................................................ 22
1.3.2. TOPOLOGIA EM ÁRVORE DE AGRUPAMENTOS (CLUSTER TREE)............................. 23
1.3.3. TOPOLOGIA EM MALHA (MESH) .......................................................................... 24
1.4. PILHA DE PROTOCOLO .................................................................................... 25
1.4.1. CAMADA FÍSICA (IEEE 802.15.4 PHY)............................................................... 26
1.4.2. CAMADA DE CONTROLE (IEEE 802.15.4 MAC)................................................... 29
1.4.3. CAMADA DE REDE (ZIGBEE NWK)...................................................................... 32
1.4.4. SUPORTE À APLICAÇÃO (ZIGBEE APS) ............................................................... 35
1.4.5. CAMADA DE APLICAÇÃO (ZIGBEE APL) ............................................................... 39
1.4.5.1.
APPLICATION FRAMEWORK (ZIGBEE AF) ....................................................... 39
1.4.5.2.
ZIGBEE DEVICE OBJECT (ZIGBEE ZDO) ........................................................ 40
2.
FUNDAMENTAÇÂO TEORIA DOS COMPONENTES .................................... 42
2.1. OXIMETRIA ........................................................................................................ 42
2.1.1. PRINCÍPIOS DA OXIMETRIA ................................................................................. 42
2.2. SENSORES ........................................................................................................ 46
2.2.1. SENSOR FOTODETECTOR................................................................................... 47
2.2.2. SENSOR DE TEMPERATURA ................................................................................ 49
2.3. AMPLIFICADORES OPERACIONAIS ................................................................ 50
2.4. MÓDULO XBEE (XBP24-B) ................................................................................ 52
2.5. ARDUINO ........................................................................................................... 56
3.
IMPLEMENTAÇÃO DO SISTEMA .................................................................. 60
3.1. DESCRIÇÃO DO PROBLEMA ............................................................................ 60
3.2. VISÃO GERAL DO SISTEMA ............................................................................. 61
3.3. CAPTURA DOS SINAIS ...................................................................................... 63
3.4. DISPOSITIVO LEITOR ....................................................................................... 64
3.4.1. ANÁLISE DOS DADOS DA TEMPERATURA .............................................................. 65
3.4.2. ANÁLISE DOS DADOS DO OXÍMETRO DE PULSO E BATIMENTO CARDÍACO ............... 65
3.4.3. FLUXO DE OPERAÇÃO DO DISPOSITIVO ............................................................... 67
3.4.4. EXIBIÇÃO DOS DADOS NO DISPLAY ..................................................................... 68
3.4.5. TRANSMISSÃO DOS DADOS ................................................................................ 69
3.5. REDE PAN ZIGBEE ............................................................................................ 71
3.6. APLICAÇÃO SERVIDOR .................................................................................... 72
3.7. APLICAÇÃO WEB .............................................................................................. 80
CONCLUSÃO............................................................................................................ 82
REFERÊNCIA BIBLIOGRÁFICA ............................................................................... 84
APÊNDICE A – EXPLICAÇÃO E MATERIAL DIGITAL DO PROJETO .................... 87
17
INTRODUÇÃO
Os avanços tecnológicos na área da comunicação possibilitaram a mobilidade
e a portabilidade de diversos equipamentos eletrônicos. Com a expansão acelerada,
a busca por equipamentos utilizando topologias sem fio, cativou uma grande fatia do
mercado de eletrônicos, sendo esta voltada para usuários finais e empresas de
diversos segmentos e tamanhos.
As tecnologias de redes sem fio em maior expansão e mais utilizadas
atualmente como as redes Wi-Fi (802.11) ou bluetooth, buscam a transferência de
grandes volumes de dados, segurança e qualidade das informações transmitidas,
apesar de serem características essenciais e extremamente importantes é
necessário prezar o consumo de energia na operação desses equipamentos, nos
quais quanto maior a velocidade e quantidade de informações trafegadas, maior
será o gasto de energia.
Existe uma parcela do mercado voltada a aplicação pervasiva, como
empresas de equipamentos médicos, sensoriamento remoto e segurança, que
necessitam de equipamentos com baixo consumo de energia, sendo estes
destinados a controle e monitoramento de dispositivos. São poucas as redes
wireless destinadas exclusivamente a esse público, normalmente existem soluções
proprietárias, onde estas não permitem a comunicação e integração para troca de
dados.
De acordo com a ZigBee Alliance (2008), analisando essas dificuldades a
ZigBee Aliance em parceria com a IEEE (Institute of Electrical and Eletronics
Engineers) trabalharam em conjunto para desenvolver um novo protocolo chamado
de ZigBee IEEE 802.15.4. Essa nova tecnologia visa suprir as necessidades,
proporcionando um padrão de baixo consumo, confiabilidade e segurança, baseado
em uma norma aberta global, possibilitando a integração entre redes.
Com toda essa tecnologia disponível, hospitais e centro médicos buscam
aderir equipamentos com características pervasivas, para facilitar e melhorar a
qualidade de seus serviços prestados. O ambiente hospitalar proporciona a seus
funcionários um cenário muito dinâmico, que muitas vezes é necessário tempo para
a sincronização de informações e esse tempo é extremamente valioso para o
atendimento de um paciente ou emergência. Para isso diversos desenvolvimentos
18
atuais buscam a integração das informações, tentando fornecer, em tempo real,
dados sobre paciente e interligar sistemas proprietários com tecnologias diferentes.
Com tantos recursos disponíveis atualmente é um contrassenso a
necessidade de ligar para um funcionário ou trocar fichas passando informações
sobre o paradeiro de um determinado paciente, sem contar que a comunicação, às
vezes, pode ser ineficaz entre os membros da equipe médica. Também existem
situações que necessitam de cuidados urgentes, como um ataque cardíaco por
exemplo, em que há a necessidade de localizar e informar o médico sobre o
ocorrido.
Tendo em vista esses detalhes, a aplicação da tecnologia ZigBee no cuidado
médico tem como meta facilitar as trocas de mensagens e aumentar o potencial de
atendimento no sentido de auxiliar os profissionais da saúde com informações
automatizadas.
Fazendo um estudo aprofundado do novo protocolo criado, este trabalho tem
como proposta, criar um sistema médico integrado, contendo um sensor cardíaco de
baixo custo, capaz de analisar os batimentos cardíacos e a oximetria de pulso
arterial, um dispositivo integrado ao sensor que será capaz de enviar as informações
para um servidor através da rede Zigbee e um servidor, sendo responsável por
analisar as informações e traçar o desempenho de cada paciente, bem como
realizar notificações em tempo real através de SMS ao médico. O desenvolvimento
deste sistema possibilita analisar as vantagens e desvantagens da aplicação desta
tecnologia sem fio em um ambiente hospitalar, determinando quais são suas
aplicações reais para auxiliar na rotina diária de médicos e funcionários e suas
possíveis implementações para a integrações entre dispositivos e sistemas.
19
1. FUNDAMENTOS DA TECNOLOGIA ZIGBEE
O protocolo ZigBee é uma tecnologia que vem para facilitar as redes PAN’s
(Personal Area Network), que são redes utilizadas para que dispositivos se
comuniquem dentro de uma distância bastante limitada. Sua proposta é criar redes
com baixo consumo de energia, que possam interagir com outros dispositivos sem a
necessidade de cabos e com a possibilidade de múltiplos caminhos, tornando a
entrega dos dados segura, caso algum equipamento não esteja operacional.
Com características como caminhos redundantes, longo alcance, confirmação
de dados e segurança, torna-se viável o seu uso neste projeto, pois os dispositivos
de medição médica podem ser implementados sem a necessidade de cabeamento
de dados. Outra vantagem possibilitada por essa tecnologia, é a expansão
geográfica sem a necessidade de utilizar diversos dispositivos concentradores,
fazendo com que um dispositivo possa interagir com outros para realizar o caminho
até o dispositivo concentrador, utilizando uma rede em malha.
1.1. HISTÓRIA DO ZIGBEE
A comunicação sem fio (wireless) já está presente no mercado há anos, como
exemplo as redes WLAN’s (Wireless Local Area Network) e WMAN’s (Wireless
Metropolitan Area Network). Com a grande expansão do mercado de dispositivos de
controle e monitoramento via rádio, havia uma falta de regulamentação para a
criação desses equipamentos. Sendo assim, diversos fabricantes adotaram soluções
proprietárias, desenvolvidas especialmente para atender redes específicas, como as
redes de automação industrial, predial, entre outras. O grande problema é que estas
eram proprietárias e não seguiam uma norma ou protocolo, logo, a interligação
desses equipamentos era um grande problema, visto que cada empresa adotava
seus métodos e regras. (GISLASON, 2008)
Grandes empresas do ramo tecnológico, como Agere System, Ember
Corporation, Microchip Technology, Motorola, Philips Semiconductors, entre outras,
perceberam a grande dificuldade de comunicação. Para solucionar este problema
formaram uma parceria com mais de 45 corporações e criaram a ZigBee Alliance,
uma organização que trabalha em conjunto para desenvolver um padrão global
20
aberto, capaz de possibilitar um controle seguro, com baixo custo e de baixa
potência em redes sem fios. (GISLASON, 2008)
A ZigBee Alliance desenvolveu o padrão ZigBee com base na norma IEEE
(Institute of Eletrical and Eletronics Engineers) 802.15.4, que visa à regulamentação
para conexão de dispositivos de rádio com baixas taxas de transferência em PAN’s.
De acordo com o IEEE (2006), essa norma foi homologada em março de 2003,
buscando unificar métodos de comunicação de dados para diversos tipos de
equipamentos com baixa capacidade de processamento.
De acordo com a ZigBee Alliance (2008), o nome ZigBee teve origem a partir
de uma analogia feita entre o funcionamento de uma rede em malha e o modo de
como as abelhas trabalham em seu habitat natural. Diversos estudos realizados
comprovaram que as abelhas de uma colmeia, ao trabalharem em conjunto para
buscar o néctar em flores, trocam informações umas com as outras sobre direção,
distância e a localização de onde encontrar os alimentos. Do mesmo modo, as redes
ZigBee dispõem de vários caminhos possíveis entre cada nó, além disso cada nó
tem informações e capacidade suficiente para reestruturar a rede, procurando o
melhor caminho para entregar as informações e reconhecer novos dispositivos.
1.2. DISPOSITIVOS ZIGBEE
Em uma rede física, cada nó em uma rede, representado por um dispositivo,
pode possuir dois padrões de configuração. O padrão IEEE 802.15.4 define dois
tipos de dispositivos: o primeiro com funções reduzidas, RFD (Reduced Function
Device) e um segundo com funções totais, FFD (Full Function Device).
Os dispositivos RFD são componentes que têm a utilização destinada a
aplicações simplificadas. Esses dispositivos são utilizados como componentes finais,
isto é, são ligados sempre na borda da rede. Eles não são capazes de coordenar a
junção de nós, realizar roteamento de informações ou descoberta de rede, por isso
são considerados como elementos de função passiva. Para realizar troca de dados
sempre irão se comunicar com um dispositivo de função completa. Por possuírem
baixa complexidade eletrônica, podem ser facilmente implementados juntos com
microcontroladores, onde recursos computacionais são reduzidos. A economia de
energia é um fator essencial, por isso uma das suas características principais é
poder permanecer no estado “sleep” por longos períodos. (ERGEM, 2004).
21
Os dispositivos FFD são uma classe que tem a função de coordenar a rede.
Essa classe possui a finalidade de realizar a manutenção e organização da rede,
para isso armazena informações de gestão interna relevantes para o funcionamento.
Esses dispositivos podem se comunicar com qualquer componente da rede e
transmitir informações a qualquer nó; podem servir também de ponte para outras
redes ZigBee. Apesar da sua complexidade, eles também podem funcionar como
dispositivos finais e exercer as funções de coordenadores ou roteadores. (ERGEM,
2004).
De acordo com a ZigBee Alliance (2010), cada dispositivo pode assumir um
papel lógico dentro da rede. Tais papéis podem ser de três tipos: ZigBee
Coordinator, ZigBee Router e ZigBee End Device.
O ZigBee Coordinator é um dispositivo do tipo FFD e tem como função formar
a rede e atribuir endereços a todos os dispositivos. Ele é o dispositivo central, logo,
há somente um por rede, não importando a topologia utilizada. Por ser um
coordenador, tem a responsabilidade de concentrar as informações de interesse da
aplicação. Sua implementação pode ser feita junto a um microcontrolador ou
computador. Como possui a função essencial de manter a rede ativa, necessita
estar operante a todo momento, sendo recomendado a sua utilização junto a uma
fonte alimentada por energia elétrica. (FALUDI, 2011)
O ZigBee Router é um elemento também associado à classe FFD. Além de
ser um nó normal sendo capaz de realizar mensurações, possui a funcionalidade
extra de atuar como um roteador, realizando a transmissão entre os dados dos
ZigBee End Devices e ZigBee Coordinator. Por possuir essa funcionalidade extra,
ele pode se comunicar com outros dispositivos do mesmo tipo, redirecionando
pacotes entre os nós da rede que não conseguem se comunicar diretamente,
permitindo a comunicação entre nós sem a intervenção do coordenador. (FALUDI,
2011)
O ZigBee End Device é um dispositivo que desempenha as funções da
aplicação; é um dispositivo do tipo RFD. É utilizado para realizar o controle e
monitoramento, através dos equipamentos junto a ele construídos. Como são
dispositivos finais, podem realizar comunicação somente com dispositivos do tipo
Router ou Coordinator. Uma das características principais é poder operar no modo
“sleep”. Esses dispositivos são projetados de tal modo que sua operação fique a
22
maior parte de tempo nesse modo, possibilitando a otimização da bateria por um
grande período de tempo. (FALUDI, 2011)
1.3. TOPOLOGIAS DE REDE
De acordo com o autor Ergem (2004), a tecnologia foi moldada de modo a dar
suporte a dois tipos de topologias: Estrela (Star) e Par-a-Par (Peer-to-Peer), sendo
que esta segunda pode ser derivada em duas aplicações complexas, como Árvore
de Agrupamentos (Cluster Tree) ou Malha (Mesh). Apesar de a tecnologia ter sido
moldada de modo que seja capaz de ser independente, dá a possibilidade de utilizar
topologias mais simples como estrela, para aplicações básicas.
1.3.1. Topologia em Estrela (Star)
Segundo o mesmo autor, a topologia em estrela foi desenvolvida para
aplicações extremamente simples. Nela há apenas um ZigBee Cordinator, que tem a
função de inicializar a rede e reconhecer os dispositivos finais.
Figura 1.1 - Topologia em Estrela
Fonte: Adaptação Ergem (2004)
23
Utilizando essa topologia, a comunicação é estabelecida apenas entre os
dispositivos periféricos e o coordenador. Nesse caso é recomendado que o
coordenador trabalhe apenas para gerenciar a rede, apesar de também ser
implementado para efetuar leituras ou outras ações, utilizando ou não um
microcontrolador. Conforme ilustra a Figura 1.1.
1.3.2. Topologia em Árvore de Agrupamentos (Cluster Tree)
Pode-se considerar essa topologia como uma evolução da estrela. Nessa
arquitetura é possível ver que o ZigBee Router assumiu a função de um
coordenador de cada rede menor; esse dispositivo consegue apenas se comunicar
com seus dispositivos finais e com o coordenador. (ERGEM, 2004)
Figura 1.2 - Topologia em Árvore de Agrupamentos
Fonte: Adaptação Ergem (2004)
24
Apesar de a rede conseguir se comunicar em qualquer ponto, é necessário
que o ZigBee Coordinator realize essa comunicação. Os dispositivos ZigBee End
Device agora passam a assumir a configuração de um nó-folha e, como são
dispositivos finais, respondem seu nível hierárquico mais alto. (ERGEM, 2004).
1.3.3. Topologia em Malha (Mesh)
A topologia em malha é o objetivo principal da tecnologia ZigBee; nela os
ZigBee Routers possuem a capacidade de realizar a comunicação entre si, sem a
necessidade de haver o controle pelo ZigBee Coordinator. Isso possibilita que a rede
possa ser expandida geograficamente apenas adicionando mais dispositivos
roteadores. Com essa configuração é possível ter redundância de caminho e caso
aconteça de um dispositivo sair de operação, a rede é capaz de organizar outra rota
para que as informações trafeguem.
Figura 1.3 - Topologia em Malha
Fonte: Adaptação Ergem (2004)
25
Segundo a ZigBee Alliance (2010), a característica principal dessa
configuração é a possibilidade de diversas rotas para a troca de dados e
implementação de algoritmos que monitoram e mantêm a rede de tal forma que
sempre estará estabilizada e estruturada. A partir do momento que um dispositivo
previamente configurado é inicializado, automaticamente ele é reconhecido e é
definido um papel de tal modo que este contribua para as necessidades da rede.
1.4. PILHA DE PROTOCOLO
Para realizar a troca de dados em uma rede de comunicação, é necessário
um método que contenha especificações e características de tal maneira que o
transmissor e o receptor consigam interpretar os dados enviados. Esse método é
definido como protocolo e carrega todas as informações necessárias para que um
determinado componente consiga realizar uma transação de informações.
Com o crescimento das redes PAN’s, cada fabricante de dispositivos
implementava protocolos proprietários na construção dos componentes. Apesar dos
equipamentos funcionarem perfeitamente, não havia a possibilidade de realizar
comunicação entre duas empresas diferentes, pois suas tecnologias só eram
suportadas pelo fabricante, sendo necessária a utilização de um conversor ou
integrador de dados. (GISLASON, 2008)
Camada de Aplicação (APL)
Suporte de Aplicações (APS)
Serviço de
Segurança
Camara de Rede (NWK)
Camada de Controle (MAC)
Camada Física (PHY)
Figura 1.4 - Pilha de Protocolos Padrão Zigbee
Fonte: Adaptação Zigbee (2008)
Essa dificuldade compromete os usuários que necessitam interligar
equipamentos de tecnologias diferentes. Em cima desse problema, a ZigBee
26
Alliance formulou um conjunto de protocolos abertos, formando assim a pilha de
protocolos ZigBee que foi baseada no modelo de referência OSI (Open System
Interconnection), tendo a finalidade de complementar os serviços do protocolo IEEE
802.15.4, formando um padrão único e aberto. (ERGEM, 2004).
Segundo Zigbee Alliance (2013), a modelagem desta pilha dá-se a uma
junção de esforços e parcerias; suas camadas inferiores (Física e Controle) são
mantidas pelo IEEE, que tem a responsabilidade de preservar suas características,
seguindo o padrão IEEE 802.15.4. Sua camada intermediária (Rede) e superiores
(Aplicações, ZigBee Device Object) são mantidas e desenvolvidas pela ZigBee
Alliance e existe ainda a possibilidade da camada superior (Objeto de Aplicação) ser
determinada pelo usuário, conforme ilustrado na Figura 1.4.
1.4.1. Camada Física (IEEE 802.15.4 PHY)
A camada PHY foi moldada para atender todas as necessidades dos
dispositivos LR-WPAN (Low Rate – Wireless Personal Area Network), sendo a
camada mais baixa da hierarquia de protocolos. Possui a função de controlar a
transmissão e recepção dos dados, nela é definido como os dispositivos ZigBee
devem realizar a comunicação através de radiofrequência.
A camada física é responsável por operações básicas de funcionamento
como realizar a ativação ou desativação do transceptor, selecionar o canal de
frequência para operar, transmitir e receber os dados. Possui também operações de
controle para mensurar a intensidade e a qualidade do pacote recebido, chamado de
LQI (Link Quality Indication) além de estimar a potência do sinal recebido dentro da
largura de banda proporcionada pela modulação ED (Energy Detection).
(MALAFAYA)
Com o intuito de ser um dispositivo de livre e fácil implementação, essa
camada foi projetada de tal modo que possa oferecer três frequências de operações,
sendo elas todas bandas ISM (Industrial, Scientific and Medical). As bandas ISM são
faixas de operação que, dependendo da região, não necessitam de autorização do
órgão fiscalizador local para operar. Conforme a Tabela 1.1, é possível notar que a
frequência de 2,4 GHz pode ser utilizada em qualquer parte do planeta e possui a
maior velocidade de transmissão de dados, utilizando a modulação O-QPSK (Offset
– Quadrature Phase-Shift Keying). (ERGEM, 2004)
27
Essa frequência está sujeita a menores interferências. As frequências de 868
e 915 MHz podem ser utilizadas somente na Europa e na América do Norte,
respectivamente, e oferecem a vantagem técnica de consumir um pouco menos de
energia em seu funcionamento, porém proporciona baixas taxas de transferências
utilizando a modulação BPSK (Binary Phase-Shift Keying). (ERGEM, 2004)
Tabela 1.1 - Faixas de Frequência do padrão IEEE 802.15.4
PHY
Largura de
Banda
(MHz)
Canais
868
868 – 868.6
1
915
902 – 928
1 – 10
2400
2400 – 2483
11 - 26
Fonte: Adaptação (IEEE apud ERGEM)
Taxa de
Transferência
Modulação
Convergência
20
40
250
BPSK
BPSK
O-QPSK
Europa
América
Global
Para realizar a transmissão de dados, é necessário inserir informações úteis
dentro de uma onda senoidal transmitida por rádio frequência. Essa técnica é
conhecida como modulação. A modulação por BPSK é uma forma particular da
modulação PSK (Phase-Shift Keying), que consiste em realizar uma alteração de
fase a cada transição de bit. O BPSK opera sobre uma transição de 180° no círculo
trigonométrico para cada transição de bit, sendo eles de 0 para 1 ou de 1 para 0.
Caso não haja nenhuma alteração de dados a sua onda portadora continua a ser
transmitida com a mesma fase, conforme ilustrado na Figura 1.5. (PIMENTEL, 2007)
A vantagem dessa transmissão é o fato de ser pouco suscetível a ruídos,
logo, qualquer alteração é facilmente identificada, porém é um método robusto de
transmissão, tendo como desvantagem o uso ineficiente da banda do canal, sendo
possível carregar apenas 1 bit em sua transmissão. (PIMENTEL, 2007)
Figura 1.5 - Modulação BPSK
Fonte: Al-Khawarizmi Institute of Computer Science (2012)
28
Na modulação QPSK (Quadrature Phase - Shift Keying) são utilizados
parâmetros de fase e quadratura da onda portadora, isso permite que sejam
transmitidos dois bits por período de onda, sendo eles I e Q, com um atraso de meio
período. Agora a portadora da onda pode assumir quatro valores diferentes de fase.
O O-QPSK não permite que ocorra transições de 180º, sendo possível realizar
apenas transições de 90º no círculo trigonométrico, isso diminui o espectro do sinal,
aumentando o efeito de filtragem de dados. Essa técnica de modulação multinível
eleva a eficiência ao dobro da BPSK conforme representado na Figura 1.6.
Figura 1.6 - Modulação O-QPSK
Fonte: Elaborada pelo autor
A estrutura do quadro de dados da camada PHY, denominado de PPDU (PHY
Protocol Data Unit), representa o quadro final antes da transmissão de dados.
Possui uma divisão de três partes, sendo elas: SHR (Synchronization Header), que
permite ao receptor sincronizar com o feixe de bits, e que contém os campos PS
(Preamble Sequence) de 4 Bytes e o SFD (Start of Frame Delimiter), de apenas 1
Byte, que indica o limite do cabeçalho de dados. (BURATTI, 2011)
Figura 1.7 - Quadro de Dados PHY
Fonte: Adptação Buratti (2011)
29
O quadro PHR (PHY Header) possui um campo de 1 Byte, chamado FL
(Frame Lenght), cujo conteúdo informa o comprimento em Bytes do quadro PSDU
(PHY Service Data Unit). O quadro PSDU é variável sendo fornecido pela camada
MAC. (BURATTI, 2011)
1.4.2. Camada de Controle (IEEE 802.15.4 MAC)
A
camada
de
controle,
também
conhecida
como
MAC,
tem
a
responsabilidade de controlar todo acesso ao canal físico de rádio. Possui algumas
funcionalidades, tais como realizar a associação e desassociação de cada
dispositivo na rede, oferecer segurança no transporte das informações, realizar
sincronização de beacons, verificar a integridade dos dados transportados,
reconhecer o dispositivo de origem e gerenciar o canal através de CSMA-CA (Carrier
Sense Multiple Access with Collision Avoidance). (ESCHNER, 2011).
Os beacons são pacotes com função de controle; sua finalidade é delimitar os
quadros utilizados por um módulo coordenador para realizar a sincronização com os
dispositivos restantes na rede. Para realizar acesso aos canais, uma rede ZigBee
pode operar utilizando dois modos: beaconned ou non-beaconned.
Quando a rede está ativada no modo non-beaconned, os dispositivos
começam a transmitir ao verificar que o meio de transmissão está livre; nessa
configuração, o mecanismo CSMA-CA é utilizado para efetuar o controle, sendo
possível também incluir um tempo de contenção para efetuar a transmissão de
dados. A desvantagem desse modo é a impossibilidade de utilizar o método sleep,
pois os dispositivos necessitam estar ativos, não sendo possível poupar energia.
O mecanismo CSMA-CA foi desenvolvido para evitar colisões em redes
wireless ou cabeadas. Quando um dispositivo deseja transmitir um dado pela rede,
ele verifica se o canal está livre e, caso esteja, ele transmite as informações
avisando o tempo necessário para realizar essa operação. Se ela estiver ocupada,
será preciso esperar um período randômico para tentar enviar os dados novamente.
Essa espera aleatória é uma forma de administrar e ordenar o tráfego de pacotes na
rede, fazendo com que a colisão de pacotes na rede diminua significativamente.
(HARGREAVES)
Em uma rede operando em modo beaconned, o coordenador da rede é
responsável por transmitir um beacon em intervalos de tempo regulares, que será
30
utilizado para sincronizar e determinar quando os outros dispositivos da rede PAN
poderão transmitir dados. Esse beacon transmitido é utilizado para definir uma
estrutura conhecida como superframe. (FARAHANI, 2008)
Segundo Farahani (2008), enquanto nenhum superframe estiver ativo na
rede, os outros dispositivos permanecem em modo de economia de energia (sleep);
essa configuração possibilita o racionamento de energia, prolongando a vida útil das
baterias e fontes de alimentação. Nesse caso não é necessário utilizar o mecanismo
CSMA-CA, pois cada dispositivo possui um tempo determinado para realizar sua
transmissão, chamado de slot, mas para que isto funcione é necessário que todos
os dispositivos estejam sincronizados pelo coordenador da PAN.
Figura 1.8 - Estrutura do quadro superframe
Fonte: Santos (2007)
O dispositivo coordenador é responsável por gerar o formato do superframe e
é transmitido no primeiro intervalo de tempo, sendo limitado pelo beacon. Existe a
possibilidade de não usar essa estrutura, desligando-se a transmissão de beacons.
Essa estrutura apresenta um período ativo e um período inativo opcional. O período
ativo é divido em até 16 partes de tempos iguais, sendo necessário ter, no mínimo,
oito períodos.
Nesse caso é utilizado o acesso de contenção CAP (Contention Access
Period), onde se deve obrigatoriamente utilizar o método sloted CSMA-MA. Logo a
seguir existe o período opcional livre de contenção CFP (Contention Free Period),
podendo ter até sete períodos ativos GTS (Guaranteed Time Slot). Durante esse
31
intervalo de tempo, o coordenador da rede PAN pode reservar períodos para algum
dispositivo; ao reservar esse tempo, um dispositivo tem acesso exclusivo ao canal,
podendo transmitir ou receber dados do seu coordenador, sendo desabilitada a
tecnologia CSMA-MA. Esses quadros são sempre reservados no final de cada
superframe, sendo possível desabilitar seu transceptor durante essa execução.
(SANTOS, 2007)
De acordo com a IEEE (2010), as redes que estão no padrão LR-WPAN
possuem um quadro de dados MAC, denominado de MPDU (MAC Protocol Data
Unit), conforme representado na Figura 1.9.
Figura 1.9 - Quadro de Dados
Fonte: Adaptação Ergem (2004)
O MHR (MAC Header) pode conter de 5 a 23 Bytes; ele contém um campo de
controle de 2 Bytes denominado FC (Frame Control), 1 Byte para o NS (Número de
Sequência) e um espaço para endereçamento de 4 à 20 Bytes. (ERGEM, 2004)
O espaço de endereçamento pode variar de acordo com a situação e a
topologia utilizada, porém possui a separação de 2 Bytes para identificar o PAN de
destino, 8 Bytes para identificar o endereço a ser enviado, 2 Bytes para fornecer o
PAN de origem e 8 Bytes do endereço transmissor.
O MSDU (MAC Service Data Unit) consiste nos dados passados pelas
camadas superiores; ele pode conter um tamanho variável de acordo com a
aplicação requisitada.
32
O MFR (MAC Footer) é um quadro composto de 2 Bytes para verificação de
paridade, denominado de FCS (Frame Check Sequence).
As junções desses três quadros formam o MPDU. A recepção com sucesso
fica sob a responsabilidade dessa camada; se o dispositivo transmissor não receber
um reconhecimento após um determinado período de tempo, é considerado que a
transmissão foi realizada sem sucesso, sendo repetida a transmissão do quadro.
Existe também a possibilidade da formação de outro quadro, utilizado para
reconhecimento. Consiste em realizar a junção dos campos MHR e MFR, possuindo
apenas 5 Bytes, como representado na Figura 1.10. (ERGEM, 2004)
Figura 1.10 - Quadro de Reconhecimento
Fonte: Adaptação Ergem (2004)
Para definir o intervalo de tempo entre as transmissões de quadros
consecutivos, existe um período denominado IFS (Interframe Spacing). Esse período
é necessário, pois a camada necessita de um tempo para processar os dados
recebidos da camada inferior e, caso necessário, realizar uma confirmação dos
dados transmitidos. A duração de um IFS varia de acordo com o tamanho do quadro
transmitido. (ERGEM, 2004)
1.4.3. Camada de Rede (ZigBee NWK)
A camada de rede é a primeira a ser regulamentada pela ZigBee Alliance.
Nessa camada ocorrem as principais funcionalidades, como iniciar uma rede
33
ZigBee, rotear pacotes, realizar descoberta de novos nós, atribuir endereços aos
dispositivos membros da rede, entre outras funcionalidades. Todos os dispositivos
que fizerem parte da rede serão configurados e reconhecidos através dessa
camada. (FALUDI, 2011)
Além dessas funções, essa camada se faz importante por fornecer e garantir
a interligação entre as camadas MAC e a aplicação, possibilitando o crescimento da
rede sem a necessidade de equipamentos com potência elevada de transmissão.
Para realizar a comunicação com a camada de aplicação foram criadas duas
entidades que provêm funcionalidades necessárias para realizar a interligação.
Essas entidades são classificadas como serviços de gerência, chamada de NLME
(Network Layer Management Entity) e serviço de dados NLDE (Network Layer Data
Entity). (IEEE 802.15.4, 2008)
O serviço de dados NLDE oferece a transmissão de dados através do seu
SAP (Service Access Point), que opera como um serviço confirmado. Isso permite
que uma aplicação possa transportar um APDU (Application Protocol Data Units),
fornecido pela camada de aplicação entre dois ou mais dispositivos que façam parte
de uma mesma rede. Essa comunicação possui primitivas que formam o quadro
NPDU (Network Protocol Data Unit), que contém informações sobre o tipo de
endereçamento, endereço (de 2 Bytes) da origem e do final, tempo de envio, se
deve ou não utilizar o descobrimento de rotas e o raio da ação do quadro. Além
dessas funções, ele também é responsável por realizar o roteamento específico da
topologia e garantir a segurança no transporte das informações. (NOVA, 2009)
O serviço de gerência NLME oferece diversos métodos para manter e
coordenar a rede ZigBee, administrando, ainda, uma Base de Dados de Objetos
gerenciados, denominada NIB (Network Information Base).
O gerenciamento especifica diversas funções, entre elas estão: iniciar uma
rede, descoberta de vizinhos, descoberta de rota, configuração de um novo
dispositivo, associação. Essas funções já possuem primitivas oferecidas pelo
serviço, podendo ser utilizadas com métodos NLME-NETWORK, NLME-GET,
NLME-SET, NLME-ROUTE, entre outros. (NOVA, 2009)
O quadro de dados da camada de rede, representada na Figura 1.11, define o
quadro de dados gerado por essa camada, denominado NPDU.
34
Figura 1.11 - Quadro NWK
Fonte: Adaptação IEEE 802.15.4 (2003)
Esse quadro é composto pela sessão NWK Header, cujo objetivo é identificar
todas as informações geradas na camada de rede. O campo FC (Frame Control),
composto de 2 Bytes, carrega informações como a versão do protocolo utilizada,
segurança, tipo de frame e o algoritmo de roteamento. (IEEE, 802.15.4, 2008)
Já os campos DA (Destination Address) e SA (Source Address) identificam o
dispositivo, através do seu PAN-ID com 16 Bytes. Esse endereço, ao contrário do
endereçamento de MAC, que é fornecido pelo fabricante, pode ser controlado e
modificado de acordo com as preferências e necessidades da rede.
Figura 1.12 - Frame de Dados e Comandos
Fonte: Adaptação IEEE 802.15.4 (2003)
Os campos BR (Broadcast Radius) e BSN (Broadcast Sequence Number) são
opcionais e representam características de roteamento, sendo possível definir por
35
quantos dispositivos a informação pode ser trafegada por um único dispositivo
através da descoberta de rede ou por quantas unidades ela pode percorrer. (IEEE
802.15.4, 2008)
O campo FP (Frame Payload) varia de tamanho, de acordo com o tipo de
pacote que irá trafegar por dele. Esses pacotes podem possuir duas formas
diferentes, sendo pacote de dados ou comandos, conforme ilustrado na Figura 1.12.
1.4.4. Suporte à Aplicação (ZigBee APS)
A camada APS (Application Suport Sublayer) proporciona a interconexão
entre a Camada de Rede e a Camada de Aplicação; nela estão contidos diversos
conjuntos de serviços para o Framework de Aplicação e para o ZDO (ZigBee Device
Object). Suas responsabilidades são atividades como:
 Realizar a filtragem de endereços para dispositivos endpoints não
autenticados ou com perfis inválidos;
 Confirmar recebimentos (ACKs) com tentativas de retransmissão;
 Manter as tabelas locais de Vinculação e de Grupos;
 Gerenciar o mapeamento de endereços de 2 Bytes (NWK) com os de 16
Bytes (MAC);
 Filtrar pacotes duplicados.
A camada APS permite a fragmentação de dados, porém alguns deles não
podem ser fragmentados, como os clusters do ZDO. Para controlar o funcionamento,
essa camada possui duas primitivas, assim como a camada de rede (NWK) para
realizar o controle dos dados e gerência da camada, chamadas respectivamente de
APSDE-SAP (APS Data Entity) e APSME (APS Management Entity), que realizam
todas as tarefas e serviços através dos SAPs nelas contidos. (FARAHANI, 2008)
Para realizar a gerência interna, a camada utiliza a primitiva APSME, que tem
como objetivo realizar a vinculação de um dispositivo, através de uma base de
informações chamada AIB (APS Information Base). O AIB consiste em atributos
fundamentais para realizar a própria gerência, mantendo os endereços IEEE, de 8
Bytes e os NWK, de 2 Bytes. Ele contém a tabela de vinculação, tabela de grupos, o
tipo do dispositivo, personalização de um endereço PAN, métricas de segurança,
entre outras funções. (NOVA, 2009).
36
Através da primitiva APSDE, é possível a transmissão de dados para o
transporte de PDU de aplicação entre dois ou mais dispositivos contidos na mesma
rede, além disso, possui a função de realizar filtragem de mensagens, diminuindo o
tráfego de informações e evitando o domínio de colisão no grupo. Ainda suporta a
fragmentação e reconstrução de pacotes maiores que o payload suportado pela
ASDU (Application Service Data Units), garantindo e assegurando a qualidade da
transmissão de dados. (FARAHANI, 2008)
A APS possui um quadro de dados bem específico, que é utilizado pela sua
entidade de dados, este chamado de APDU, que será trocado apenas entre
camadas de entidades pares, isto é, camadas iguais em dispositivos diferentes. Nele
estão referenciados os endereços e controle dos dispositivos. Seu tamanho pode ser
variável, dependendo do tipo de quadro que será utilizado, que pode ser de controle,
dados ou reconhecimento (ACK – Acknowledgment), conforme ilustrado na Figura
1.13. (ZIGBEE, 2008)
Figura 1.13 - Quadro Geral APS
Fonte: Adaptação Zigbee (2008)
Os campos DE (Destination Endpoint), GA (Group Andress), CI (Cluster
Identifier), PI (Profile Identifier), SE (Source Endpoint) e EH (Extended Header) são
opcionais e fazem parte dos dados de endereçamento dessa camada, podendo ser
usados em qualquer tipo de quadro, dependendo dos dados utilizados no campo FC
(Frame Control). (ZIGBEE, 2008)
Para reduzir o número de quadros transmitidos pela rede, o campo APSC
(APS Counter) tem a função de rastrear todos os pacotes que são transmitidos, com
37
o intuito de não permitir a recepção de um pacote mais de uma vez, caso haja
confirmação. (ZIGBEE, 2008)
Figura 1.14 - Campo de Controle do quadro APDU
Fonte Adaptação Zigbee (2008)
Nessa camada o quadro de controle (FC) é quem vai indicar quais parâmetros
serão utilizados para o envio de dados e confirmação. Nele estão contidos,
respectivamente, o tipo de quadro utilizado, o método de entrega e endereçamento,
o formato da confirmação (ACK), se há necessidade de utilizar segurança, o formato
da confirmação e se há um EH (Extended Header) presente no quadro APDU
conforme representado na Figura 1.14.
É importante frisar que os bits 2 e 3 correspondem ao método de entrega.
Suas variações binárias representam:

0b00 – Método de entrega normal unicast;

0b01 – Método de entrega direta: o quadro não distingue o endereçamento
de destino, tendo que consultar a Tabela de Vinculos;

0b10 – Método de entrega broadcast;

0b11 – Método de entrega para o endereço de grupo, sendo localizado
pelo campo GA no quadro APDU;
Como já mencionado anteriormente, é função dessa camada manter
associados os endereços de MAC com os endereços da camada NWK, para facilitar
e reconhecer os endpoints, tais dispositivos são associados em grupos e
armazenados na Tabela de Grupo. Com isso é possível endereçar seletivamente os
quadros e entregá-los ao endpoint correspondente a um único grupo. Esse método é
chamado de endereçamento Multicast. (ZIGBEE, 2008)
A Tabela de Grupo é endereçada por 2 Bytes, tendo como atributos uma lista
de dispositivos membro do grupo, sendo constantemente atualizada; contém os
identificadores do grupo em um atributo de gerência denominado nwkGroupIDTable.
38
A transmissão dos dados ocorre através da primitiva APSDE-DATA e esta,
por sua vez, formula os APDUs. Esses dados serão repassados para a camada de
rede pela primitiva NLDE-SAP, que por sua vez transmitirá para a camada MAC, que
fará o mesmo, transmitindo para a camada PHY, na qual serão codificados e
emitidos através de uma forma de onda eletromagnética. (ZIGBEE, 2008)
As transmissões que forem endereçadas a grupos, possuindo o valor 0b11,
no campo de método de entrega, devem conter apenas o campo de origem e o
endereço do grupo solicitado. Isso porque todos os dispositivos pertencentes àquele
grupo podem ser possíveis membros destinatários para os quadros endereçados a
eles. (ZIGBEE, 2008)
Algumas trocas de informações podem necessitar de uma confirmação (ACK).
No caso de sua utilização a primitiva APSDE-DATA.request deverá utilizar o campo
ACK Request, contido no quadro de controle com o valor igual a 1. Essa camada
possui um atributo ajustável para controlar o tempo máximo que um dispositivo pode
aguardar uma resposta, este denominado de apscAckWaitDuration. Caso o tempo
especificado por este for ultrapassado, haverá a retransmissão do quadro. Junto a
essa primitiva há outro atributo que limita a quantidade de tentativas de envio, o
apscMaxFrameRetries, que delimita o número de tentativas para reenviar o quadro.
Caso seja ultrapassado o número de tentativas especificado nesse atributo, a
camada reconhece como erro de conexão e é sinalizada uma falha de conexão. A
identificação é feita pela verificação do campo Cluster ID, que deve possuir os
mesmos valores em ambos os quadros. (NOVA, 2009)
Segundo Nova (2009, p. 50), “O Protocolo ZigBee, especificamente a camada
APS, utiliza um algoritmo de Janela Deslizante como Retorno Seletivo para
Transmissão dos Dados Fragmentados”.
A Janela de Transmissão será utilizada para ordenar a transação. O
tamanho da Janela é ajustado pelo perfil de pilha. O Protocolo arruma todos
os blocos em uma Janela de Transmissão, que será enviada, e o ACK
deverá ser recebido antes dessa Janela mover-se. Quando os dados
chegam, um contador é incrementado até certo número, quando é esperado
o retorno de um ACK para confirmar os blocos enviados previamente, ou
seja, haverá o envio de n blocos sem confirmação, onde n é o tamanho do
ASDU. No caso de sucesso, a cada t transmissões haverá um ACK de
retorno, onde t é o tamanho da janela. (NOVA, 2009, p.51)
39
1.4.5. Camada de Aplicação (ZigBee APL)
Esta camada corresponde ao topo da pilha do protocolo ZigBee, logo, está
voltada para comunicações fim-a-fim das aplicações executadas. Em princípio essa
camada está subdivida em duas subcamadas, sendo elas a ZDO e a AF (Application
Framework).
1.4.5.1. Application Framework (ZigBee AF)
A subcamada Application Framework é um ambiente no qual se encontram os
objetos de aplicações, conhecidos como AO (Application Objects). Esses objetos
representam uma base de funcionalidade que são responsáveis por atuar com
primitivas definidas pelos fabricantes e algumas primitivas de serviço de dados, isto
é, cada AO irá atuar com um propósito específico, podendo gerenciar a energia de
um apartamento, monitorar o estado de um paciente num hospital ou controlar
processos em uma indústria. Um único dispositivo ZigBee pode controlar até 240
objetos de aplicações diferentes, sendo possível, com um único módulo, ter controle
de 240 dispositivos distintos I/O controlados por ele. Cada AO possui um endereço
local próprio, chamado endpoint, sendo enumerado de 1 até 240. (GISLASON,
2008)
Figura 1.15 - Uso de endpoints em uma aplicação de interruptores e lâmpadas
Fonte: Nova apud Gislason (2008)
40
De acordo com Nova (2009, p. 43) os endpoints possuem 3 propósitos:

Permitir que diferentes Perfis de Aplicação existam no mesmo nodo;

Permitir que pontos de controle separados existam no mesmo nodo;

Permitir que dispositivos separados existam no mesmo nodo.
Uma analogia com os propósitos sobre os endpoints é o exemplo
representado na Figura 1.15, onde um único dispositivo pode ligar 3 lâmpadas
diferentes, assim como 3 dispositivos distintos podem controlar 3 lâmpadas
diferentes.
Em teoria é possível representar 256 endereços diferentes utilizando 8 bits,
porém o endereço 0 é utilizado para referenciar o ZDO e os endereços 241 a 254
são inutilizados para alguma aplicação futura. Já o endereço 255, que é o último
endereço, é conhecido como endereço de broadcast, o qual é utilizado para enviar
informações a todos os endereços contidos naquele ZDO. Cada endpoint pode
realizar uma comunicação utilizando a primitiva da camada APS, denominada
APSDE-SAP, isso permite que essa subcamada faça uma comunicação pública
através daquele. (NOVA, 2009).
A criação dessa subcamada teve como princípio a ideia de que,
independentemente dos fabricantes desenvolverem seus objetos de aplicações
proprietários, pode haver comunicação entre eles sem nenhum problema, visto,
claro, que essa funcionalidade acontecerá caso os mesmos possuam a certificação
de funcionamento da Alliance ZigBee. Para isso, a camada APL também provê de
uma característica visando essa facilidade, chamada de Perfil de Aplicação. Esses
perfis visam concentrar determinadas primitivas e rotinas para aplicações
específicas, por exemplo, automação residencial, onde é possível obter primitivas
pré-selecionadas para esse ambiente, como ligar uma lâmpada, controlar um arcondicionado, entre outras funções. (GISLASON, 2008)
1.4.5.2. ZigBee Device Object (Zigbee ZDO)
O ZDO é um objeto de aplicação especial, na realidade ele não pertence
somente à camada APL, mas se aplica a todas as camadas pertencentes à ZigBee
Alliance, sendo respectivamente ativo no topo da camada de rede (NWK) e na
camada de suporte da aplicação (APS). Ele é responsável por definir o profile do
dispositivo, proporcionando as funcionalidades básicas que interagem entre a
41
comunicação da APS e os Objetos de Aplicações. Como ele estabelece o perfil para
o dispositivo, sempre vai ser reconhecido como endpoint zero, sendo responsável
pela gerência desse dispositivo, suas chaves e segurança local. Com isso é possível
juntar todas as informações de configurações das aplicações finais e realizar o
controle de todo o fluxo da informação, sendo responsável por inicializar as camadas
e o provedor de serviço de segurança, chamado de SSP (Security Service Provider).
(NOVA, 2009)
42
2.
FUNDAMENTAÇÂO TEÓRICA DOS COMPONENTES
Neste capítulo serão abordadas as especificações dos componentes de
hardware utilizados para a elaboração do projeto, bem como as tecnologias
utilizadas para a implementação do software controlador.
2.1. OXIMETRIA
Durante a internação de um paciente é extremamente necessário o
monitoramento de diversos itens sobre seu estado de saúde atual. Estes
diagnósticos determinam quais procedimentos deverão ser adotados para seu
tratamento. Em casos como o leito de uma Unidade de Tratamento Intensivo (UTI),
se faz necessário o contínuo monitoramento cardíaco, pressão arterial, temperatura,
oxigenação entre outras avaliações. Estes determinam a situação do enfermo, como
também resposta a um determinado medicamento e até uma necessária intervenção
cirúrgica. (PAZ, 1996)
De acordo com o Conselho Regional de Enfermagem (2009), entre os
monitoramentos mais importantes de um paciente, está a Oximetria de Pulso Arterial
(OPA), sendo uma técnica para medir a quantidade de oxigênio no sangue
verificando as hemoglobinas através da incisão de luzes nas extremidades
corporais. Este método é importante, pois permite a captação de dados constantes
da saturação de oxigênio (SpO2), bem como a frequência cardíaca de maneira não
invasiva. Sua medição pode ser feita através de mãos, pés, lóbulo das orelhas, ou
qualquer membro do corpo, que apresente características físicas de translucidez
óptica possibilitando a utilização de sensores.
2.1.1. Princípios da Oximetria
Uma das principais formas do corpo humano adquirir energia útil é por meio
da respiração, este processo de oxigenação é realizado pelo pulmão. Quando o
sangue em seu estado desoxigenado entra no coração, é diretamente bombeado
para os pulmões, nesta etapa as células sanguíneas passam através dos alvéolos
pulmonares, que realizam a troca gasosa conhecida como difusão. O dióxido de
carbono (CO2) é quebrado e logo então o sangue é oxigenado, sendo bombeado
43
novamente para o coração, que possui a função de distribuir o oxigênio a todos
tecidos do corpo humano através da circulação. (LOPEZ, 2012)
Lopez (2012) define ainda que o sangue possui duas formas em sua
circulação, o venoso e arterial. O sangue venoso possui uma coloração mais escura
e é transportado pelas veias até o pulmão contendo CO 2. Já o arterial possui uma
cor mais clara e viva, sua circulação ocorre pelas artérias e possui a função de irrigar
os tecidos com o oxigênio adquirido pelo pulmão.
Segundo Mosby (2008) as hemácias (também conhecida como glóbulos
vermelhos) possuem uma proteína denominada hemoglobina. Esta é responsável
por transportar a maior parte do oxigênio, em média 97% do total, sendo o restante,
conduzido através do plasma sanguíneo. A hemoglobina pode possuir três estados,
o primeiro quando associada a uma molécula de oxigênio denominada de oxihemoglobina (HbO2). No segundo caso é intitulado de carboxi-hemoglobina quando
integrada a uma molécula de monóxido de carbono (HbCO). E por último é
representada pela ausência de moléculas conhecida por hemoglobina reduzida ou
desoxi-hemoglobina (RHb). Cada um desses estados possui uma absorção de luz
diferente, dado o comprimento da onda do espectro de luz emitido.
O princípio da técnica é baseado na absorção de dois comprimentos de
ondas distintos, a primeira onda é emitida pela luz vermelha com comprimento de
onda em torno de 660 nanômetros e a segunda, é utilizando a luz infravermelha com
comprimento de onda de 940 nm.
Para a incisão dessas luzes são utilizados dois LED’s (Light-Emmiting Diode),
que são pequenos diodos que quando energizado emitem um brilho próximos ao
comprimento de onda necessário para a mensuração. Essas luzes são emitidas
alternadamente em pequenos períodos na ordem de milissegundos, fazendo com
que a oxi-hemoglobina (HbO2) absorva mais a luz infravermelha e permite que a luz
vermelha passe por meio dela. Já a desoxi-hemoglobina (RHb) absorve mais a luz
vermelha e permite que a luz infravermelha transluza por ela. Com isto é possível
medir a diferença real entre os espectros de absorção. (LOPEZ, 2012)
Conforme ilustra a Figura 2.1, é possível observar que a oxi-hemoglobina
possui uma resposta inferior a desoxi-hemoglobina na aplicação de uma luz
vermelha, logo, sendo possível obter uma faixa de mensuração válida, visto que com
a luz infravermelha, é possível obter uma curva de absorção similar porém com a
desoxi-hemoglobina.
44
Figura 2.1 – Gráfico da absorção de luz da hemoglobina
Fonte: Adaptação Lopez (2012)
Para realizar a medição é possível utilizar dois tipos de sensores, um sendo
de transmitância e outro de refletância conforme ilustra a Figura 2.2. No sensor de
transmitância os LED’s ficam de um lado e opostamente a eles está localizado o
fotorreceptor. É considerado o melhor método, de modo que este está sujeito a
possuir uma menor relação sinal-ruído, onde a luz captada pelo sensor passa por
todo o tecido. Já o sensor de refletância o LED e o fotorreceptor estão localizados no
mesmo lado, fazendo com que a luz se mova através da pele, músculo e osso.
Chegando ao osso ela é refletida e passa por todos os tecidos novamente,
proporcionando uma amostragem com maior ruído. (TIRELO, 2006)
Figura 2.2 – Sensor de transmitância e refletância
Fonte: Adaptação Japan (2013)
45
Um sinal típico da uma mensuração realiza através dos fototransistores é
representado na Figura 2.3, onde para obter-se este sinal é necessário a utilização
de um condicionador de sinal.
Figura 2.3 – Sinal típico da oximetria de pulso
Fonte: Lopez (2012)
O condicionamento de sinal é indispensável para tornar a medição eficaz,
uma vez que os dados obtidos possuem baixa amplitude e muito ruído, assim se faz
necessário utilizar técnicas como amplificação e filtragem. (LOPEZ, 2012)
Como o sinal obtido é de baixa magnitude, a amplificação se faz necessária
para o aumento do nível de tensão, fazendo com que o conversor analógico digital
(ADC) possua uma boa resolução para a interpretação da onda. A filtragem é muito
importante, já que todos equipamentos de instrumentação são propícios as diversas
interferência externas, prejudicando consideravelmente o sinal captado.
Figura 2.4 - Diagrama de absorção de luz
Fonte: Adaptação Lopez (2012)
46
Rosseto (2009) explica que o sinal pode ser obtido, através da variação do
sangue arterial pulsado gerado no batimento cardíaco, este possui variação, ao
contrário do nível DC (sinal constante e linear) proporcionado pelos tecidos, veias e
sangue arterial não pulsado. Conforme representado na Figura 2.4.
Segundo Lopez (2012), o cálculo da oxigenação arterial (SpO 2) pode ser
realizado utilizando o volume de sangue arterial oxigenado, calculando a razão de
absorção, para isto é necessário uma tabela armazenada, que contenha formulas
empíricas de experimentações baseadas em mensurações de uma triagem de
paciente saudáveis. A equação 1 é utiliza o AC como o nível variável do sangue
arterial e DC como a absorção contínua.
𝐴𝐶660
⁄𝐷𝐶 )
660
𝐴𝐶
( 940⁄𝐷𝐶 )
940
(
(1)
Um segundo método utilizando apenas a componente variante do sangue, é
representado na equação 2. Sua variável Iac representa a intensidade de luz
vermelha ou infravermelha captada naquele momento. λ1 e λ2 representam os
coeficientes de absorção da oxi-hemoglobina e desoxi-hemoglobina.
𝑆𝑝𝑂2 =
𝑙𝑜𝑔10 (𝐼𝑎𝑐 )𝜆1
(2)
𝑙𝑜𝑔10 (𝐼𝑎𝑐 )𝜆2
2.2. SENSORES
De acordo com Ulaby (2007) um sensor pode ser definido como um
componente ou dispositivo que possui a propriedade de gerar em sua saída um sinal
elétrico através de um estímulo em sua entrada. Sua estimulação é dada por uma
extensa gama de grandezas que está diretamente relacionada a uma ou mais
propriedades da composição do sensor. A mensuração varia em função da
intensidade do estímulo gerado, estes podendo ser físicos, biológicos ou químicos.
Os sensores podem ser classificados através da grandeza aplicada como, por
exemplo, fototransistores (conversão elétrica/luminosa), piroelétricos (conversão
elétrica/massa) entre outras variações, sendo capazes de mensurar, temperatura,
velocidade, fluxo sanguíneo, concentração de líquidos, entre outros.
47
Neste trabalho, o foco será dado nos fototransistores que serão utilizados
para
mensurar
a
oximetria
do
paciente
e
os
termistores
(conversão
elétrica/temperatura) para a temperatura corporal.
2.2.1. Sensor Fotodetector
Os fototransistores são componentes de funcionamento similar aos detectores
fotocondutivos, que por sua vez tem características sobre operação de junções p-n
que oferecem maior sensibilidade em comparação aos outros. Quando não estão
sendo iluminados sua operação satisfaz a de diodos semicondutores comuns.
Turner (2004) explica que a ligação base é um circuito aberto operando a dois
terminais. Assim que um componente é exposto à iluminação, é gerada uma
fotocorrente de portadores que alimenta a junção coletora-base inversamente
polarizada. Como na maioria dos casos a fotocorrente está na ordem de
microampère, esta é amplificada na alimentação negativa de um amplificador
operacional. Para seu funcionamento não é necessário dependência de uma fonte
externa, que facilmente pode ser observada na teoria fotovoltaica.
Figura 2.5 - Diagrama do circuito interno OPT101
Fonte: Texas Instruments (2003)
Observando que neste projeto é necessário realizar a captura de dados
fisiológicos, é indispensável escolher um componente de alta sensibilidade, visto que
a recepção de dados humanos é na ordem de micro ou mili amperes.
48
Para isto o circuito integrado OPT101 produzido pela Burr-Brown da Texas
Instruments foi uma escolha apropriada. Conforme ilustra a Figura 2.5 é possível
verificar que ele é formado de um fotodiodo monolítico seguido de um amplificador
de transimpedância, que possui a função de converter corrente liberada pelo
fotodiodo em voltagem.
Segundo o datasheet da Texas Instruments (2003) como característica de
fabricação, a tensão de saída deste dispositivo responde linearmente com a
intensidade de luz incidida. Seu amplificador foi projetado para operações de
alimentação simples ou dupla, sendo altamente recomendado a aplicações que
utilizem bateria. Uma vantagem de utilizar todo esse equipamento em um único
circuito é a eliminação de diversos problemas como erros de fuga de corrente e
ruídos pick-up. Sua alimentação opera entre +2,7V até +36V tendo como corrente de
repouso apenas 120µA.
Figura 2.6 - Gráfico de resposta espectral
Fonte: Texas Instruments (2003)
Para trabalhar com a oximetria são utilizados dois comprimentos de ondas
estes variando em torno de 660nm (luz vermelha) e 940nm (infravermelho). Na
Figura 2.6 é possível analisar que este fotodetector possui uma resposta
considerável para a aplicação utilizada, apesar de seu custo-benefício ser alto, ainda
assim torna-o viável na implementação do projeto.
49
2.2.2. Sensor de Temperatura
Um termômetro é definido como um analisador das variações influenciadas
pela temperatura em um dado corpo. As alterações podem possuir características de
mudança na resistência elétrica, expansão ou contração do objeto, alteração de
intensidade ou cor.
Bolton (2005) define que a resistência de um objeto constituído por fio
metálico depende diretamente da temperatura, sendo possível então utilizar a
resistência de um objeto como medida de temperatura. Esta resistência pode variar
de forma proporcional ou inversa, sendo classificadas respectivamente como PTC
(Positive Temperature Coeficiente) ou NTC (Negative Temperature Coeficiente).
Neste projeto será utilizado o sensor de precisão LM35 fabricado pela Texas
Instruments com encapsulamento TO-92. Este sensor apresenta uma saída de
tensão linear diretamente proporcional à temperatura sobre o componente.
De acordo com o datasheet da Texas Instruments (2013) é necessário a
alimentação de +4V até +20V para utilizar este dispositivo. Este possui uma saída
de baixa impedância e calibração inerente, obtendo assim uma resposta de 10 mV
por ºC, podendo mensurar variações de 0,25ºC até 0,75ºC dependendo da faixa de
operação, que está entre -55ºC até 150ºC. Seu circuito básico é representado na
Figura 2.7.
Figura 2.7 - Implementação básica de operação (+2ºC até +150ºC)
Fonte: Texas Instruments (2013)
Notoriamente este sensor não possui uma aplicação real, pois sua precisão é
insatisfatória para a mensuração da temperatura corporal. Para isto é necessário um
sensor com variação rigorosa de 0,1ºC, onde seu custo é inviável para a
implementação deste trabalho, relevando o fato deste ser apenas um protótipo.
50
2.3. AMPLIFICADORES OPERACIONAIS
O amplificador operacional é um fantástico componente da eletrônica,
extremamente versátil e com inúmeras aplicações. Conhecido também como ampop ou AOP, este dispositivo é feito a partir de um circuito de transistores e resistores
que variam de cada fabricante e modelo de acordo com sua finalidade e ganho. O
componente pode ser descrito como uma fonte de tensão controlada, onde sua
saída é proporcional à diferença de tensão entre suas entradas. A construção deste
circuito é implementada de modo a realizar diversas operações matemáticas como
adição, subtração, amplificação, integração, diferenciação, entre outras operações
aplicadas a um sinal analógico ou digital. Possui um vasto emprego em diversas
áreas
como
instrumentação
médica,
controle
industrial,
equipamentos
de
telecomunicações, entre outras serventias. Sua representação gráfica mais comum
está na Figura 2.8. (Alexander, 2003)
Figura 2.8 - Amplificador Operacional Comum
Fonte: Elabora pelo autor
Analisando as principais características de um amp-op, pode-se notar sua alta
impedância de entrada, isto é, o amplificador praticamente não consome corrente
em suas entradas, possui baixa impedância de saída, que significa quase que uma
ausência de queda de tensão na saída, resposta de frequência e relação de rejeição
em modo comum. (Floyd, 2007)
Neste projeto serão utilizadas algumas configurações comuns, como o
seguidor unitário e integrador na implementação do condicionador de sinal. Para isto
será detalhada algumas características individuais a seguir.
51
O amp-op em configuração de seguidor unitário possui a finalidade de gerar
um ganho um sem que haja a inversão de polaridade, normalmente é utilizado
atuando como um isolador de estágios conhecido como buffer. Isto permite que suas
impedâncias se acoplem gerando um ganho estável ao próximo estágio. Sua
representação está na Figura 2.9.
Figura 2.9 - AOP seguidor unitário
Fonte: Elaborado pelo autor
O amplificador integrador é semelhante a uma soma, dado que constitui uma
soma da área sobre uma forma de onda ou curva em um período de tempo. Sendo
representado pela Figura 2.10. Neste projeto, será utilizado como um filtro
operacional com característica de realimentação, conhecido também como filtro
ativo. Porém sua teoria base vem em cima da equação 3 que determina a saída
dada uma entrada variando no tempo aplicado a este circuito.
Figura 2.10 - AOP integrador
Fonte: Elaborado pelo autor
𝑡
1
𝑉𝑂 = −
∫ 𝑉𝑖 (𝑡)𝑑𝑡 (3)
𝑅𝐶
0
52
2.4. MÓDULO XBEE (XBP24-B)
De acordo com a DIGI (2009) estes módulos foram projetados para seguir o
padrão IEEE 802.15.4, oferecendo baixo custo e consumo de energia nas redes sem
fio. Sua implementação é focada na especificação ZigBee de modo a proporcionar
uma topologia de rede em malha utilizando o mínimo de energia para suas
transferências de dados de modo confiável e satisfatório. A Figura 2.11 ilustra os
dispositivos utilizados no projeto.
Figura 2.11- Módulo XBee Pro Series 2
Fonte: Elaborada pelo autor
Também chamado de XBee2ZigBee, este hardware é enquadrado na série 2
que utiliza o protocolo ZigBee, possuindo maior potência que outros dispositivos da
mesma série, logo consumindo mais energia, porém mesmo assim ainda é
considerado um equipamento de baixo consumo. A frequência de operação é de 2,4
GHz possuindo 14 canais de trabalho. Cada canal de operação pode possuir mais
de 65000 dispositivos operando na mesma rede. Possui a capacidade de atuar na
rede como coordenador, roteador ou dispositivo final e pode utilizar as topologias
ponto-a-ponto, ponto-a-multiponto, par-a-par e malha. (DIGI, 2010)
Suas principais características podem ser descritas abaixo de acordo com o
fabricante: DIGI(2010)

Alcance em ambiente interno: até 90 m

Alcance em ambiente externo: até 3200 m com visada livre
53

Energia de transmissão de saída: 50mW (+17 dBm)

Taxa de transmissão de dados 250.000 bps

Taxas de dados da interface serial: 1200 bps – 1 Mbps

Voltagem de alimentação: 3,0 - 3,4V

Corrente de transmissão: 295mA

Corrente de recepção: 45mA

Corrente de desligamento: menor que 10 µA

Opções de antena: conector Whip, Chip ou U.FL integrado, conector
RPSMA
O XBee possui dois modos de operação: o modo transparente e o modo API.
Para modificar ou ler parâmetros do módulo RF, é necessário entrar no Modo de
Comando (nesse modo os caracteres recebidos são lidos como comandos). Duas
opções de modo de comando são suportadas: Modo de Comando AT e Modo de
Comando API.
Por padrão, os módulos vêm configurados no modo transparente: todos os
dados UART recebidos através do pino DI são enfileirados para transmissão RF, e
quando um dado RF é recebido, é enviado ao pino DO. A sintaxe para envio de
parâmetros e comandos AT é definida por: “AT” (prefixo) + Comando ASCII +
Espaço (opcional) + Parâmetro (opcional, hexadecimal) + Quebra de Linha.
Exemplo: ATDL 1F<CR>. Após o envio, o sistema retorna uma mensagem de
sucesso ou falha em relação ao envio do comando. Para sair do Modo de Comando
AT é necessário enviar o comando ATCN, seguido de uma quebra de linha. (DIGI,
2009).
Já o API opera em um modo estruturado e permite a configuração do módulo
para que este interaja com uma rede. Todos os dados de entrada e saída estão
contidos em quadros que definem operações ou eventos no módulo. O quadro de
dados transmitido contém: quadro de dados RF transmitidos e quadro de comandos.
O quadro de dados recebido contém: quadro de dados RF recebidos; resposta de
comando; notificações de evento como reset, associação, dissociação, entre outros.
Dois modos API são suportados, ambos podem ser habilitados usando o comando
AP. De acordo com a configuração do parâmetro AP, o módulo será configurado
com um modo de operação: AP = 0 (modo transparente), AP = 1 (Operação em
API), AP = 2 (Operação em API com caracteres de escape). (DIGI, 2009).
54
Segundo Massafera e Zavan (2012) o modo API facilita muitas operações em
um ambiente que possui diversos dispositivos operando, os pacotes pré-modelados
contém dados importantes como endereçamento de origem e destino, paridade,
status de operação e intensidade do sinal. Esta facilidade pode ser facilmente
notada em transmissões de dados para mais de um destino, confirmação de
respostas e verificação de disponibilidade de um dispositivo. Com este modo de
operação aliada a uma biblioteca, é possível tornar a programação de hardware e
software mais eficaz e prática.
Para realizar a transmissão o ZigBee utiliza um pacote padrão como
representado no Quadro 2.1. Todo pacote possui o delimitador indicando que um
novo pacote está por começar representado pelo hexadecimal 0x7E seguido de 2 à
3 bytes informando o tamanho do pacote. Logo após vem a identificação do pacote
API utilizado, que este pode variar de tamanho e informações de acordo com a
função executada em rede. Por último, possui um checksum, para verificar a
integridade do pacote na transmissão.
Quadro 2.1 - Pacote Zigbee padrão
Pacote ZigBee
Delimitador
Tamanho
1 Byte
Fonte: Elaborado pelo autor
2 – 3 Bytes
Pacote API
1 – 251 Bytes
Checksum
1 Byte
Neste projeto dois quadros em específicos serão analisados pelo servidor,
sendo eles o Pacote de Recepção ZigBee (ZigBee Receive Packet) que possui a
função de enviar os dados coletados pelo dispositivo para o servidor e o Indicador
de Identificação do Nó (Node Identification Indicator) que detalha as informações
quando um novo dispositivo se conecta na rede.
O Quadro 2.2 detalha as informações que são transmitidas no Pacote de
Recepção ZigBee, o primeira informação presente é a identificação do pacote está
identificada pelo hexadecimal 0x90, logo em seguida possui o endereçamento de 64
bits do dispositivo de origem e o endereço da 16 bits da rede que está operando. A
opção de recepção irá conter informações do tipo de transmissão realizada, está
podendo ser uma confirmação, um pacote de broadcast, se as informações dos
dados estão criptografadas entre outras. Os dados de recepção vêm por último no
55
pacote API podendo contar nenhum dado ou até 112 bytes de tamanho total. (DIGI,
2010)
Quadro 2.2 - Pacote de recepção
Pacote de Recepção ZigBee (0x90)
Endereço da
Tipo de Quadro
Endereço 64 bits
Opções Recepção
Rede 16 bits
1 Byte
8 Bytes
2 Bytes
1 Byte
Fonte: Adptação Digi (2010)
Dados
Recepção
112 Bytes
Toda vez em que um dispositivo tentar entrar na rede, o coordenador irá
receber informações sobre a identificação do mesmo. O pacote que transmite essas
informações é Indicador de Identificação do Nó detalhado no Quadro 2.3.
Quadro 2.3 - Pacote de Identificação de Nó
Indicador de Identificação do Nó (0x95)
64
16
16
64
TQ
OR
IN
16 EP TDQ
EO
ER
ER
ER
1
8
2
1
2
8
1-28
2
1
Fonte: Adptação Digi (2010)
EvO
IDD
IDM
1
2
2
A primeira informação é a TDQ (Tipo de Quadro) que contém a identificação
do frame do pacote reconhecido pelo hexadecimal 0x95, que detalha como segue as
informações seguinte. O EO (Endereço de Origem) contém as informações do MAC
do novo dispositivo. ER (Endereço da Rede) fornece a identificação da rede PAN de
16 bits. Contem 1 byte o OR (Opção de Recepção) identifica se foi um pacote de
resposta ou transmissão broadcast. 16ER (Endereço de Rede) atribui o qual será a
identificação de 2 bytes deste módulo na rede. 64ER (Endereço de Rede) que
transmitiu este pacote. O IN (Identificação do Nó) contém informações que podemos
atribuir para o ZigBee na hora de sua configuração, como por exemplo um nome
RoteadorUTI-01. 16 PE (Endereço de Parentesco) fornece informações do
dispositivo PAI do dispositivo de origem, na verdade esta identificação é utilizada na
arvore de cluster. TD (Tipo de Dispositivo) descreve qual a função do dispositivo na
rede podendo ser coordenador, roteador ou dispositivo final. EvO (Evento de
Origem) identifica em qual evento de estado este pacote foi enviado, como uma
falha de energia, restruturação da rede ou apenas identificação inicial. IDD
(Identificação da Digi) fornece as informações do perfil do fabricante, como modelo e
serie do módulo. Por fim o IDM que fornece as informações do fabricante. (DIGI,
2010)
56
2.5. ARDUINO
Criado em 2005 o Arduino é uma plataforma de computação física, ou seja,
um sistema digital ligado a sensores e atuadores e que, assim, percebe e interage
com o ambiente a que está exposto através de ações físicas. Originalmente criado
para fins educacionais e, portanto, para usuários que não têm um conhecimento
específico de eletrônica, foi projetado para ser de fácil entendimento, programação,
aplicação e multiplataforma. (FONSECA; BEPPU. 2010)
É
destinado
a
qualquer pessoa
que esteja
aprendendo a
utilizar
microcontroladores para desenvolver objetos interativos. Baseado em uma placa de
entrada/saída microcontrolada e desenvolvida com uma biblioteca simples de usar,
baseada em C/C++, possui um grande diferencial por ser uma ferramenta opensource, ou seja, a comunidade pode desenvolver e aperfeiçoar projetos e códigos
livremente, isto resulta em um constante incremento de funções e correções.
(FONSECA; BEPPU. 2010)
Por ser open-source, chamou a atenção de muitos tipos de usuários, inclusive
de técnicos de eletrônica, os quais aperfeiçoaram sua utilização e criaram
aplicações mais complexas. O Arduino admite diversas entradas de sensores ou
chaves, para controlar vários fatores, tais como luzes e motores. Dependendo da
habilidade e criatividade do usuário, o projeto criado pode ser independente ou
realizar comunicação com um software que esteja em um computador, por exemplo.
Os circuitos podem ser construídos manualmente desde o começo ou podem ser
comprados separadamente, e o software de desenvolvimento pode ser adquirido de
graça, acessando o site oficial. (ARDUINO, 2012).
Existem diversas versões e modelos do Arduino, sendo que todos consistem
em um microcontrolador Atmel AVR de oito bits, juntamente com componentes que
facilitam a programação e incorporação com outros circuitos. Como padrão todas as
placas já possuem um regulador linear de cinco volts e um oscilador de cristal de 16
MHz, não sendo necessário o interfaceamento externo para sua inicialização. Para
auxiliar o carregamento de programas desenvolvidos, já possui um bootloader préprogramado de fábrica, simplificando a gravação no chip. (ARDUINO, 2012)
O modelo utilizado neste projeto é o Uno R3 representado na Figura 2.12.
Baseado no microcontrolador Atmega328p, este modelo possui 14 pinos de entrada
e saída digitais, sendo que seis destas podem ser utilizadas para Modulação por
57
Largura de Pulso (Pulse-width modulation – PWM), 6 entradas analógicas digitais
controlador USB, uma tomada de alimentação, um conector ICSP e um botão de
reset. (ARDUINO, 2013).
Figura 2.12 - Arduino UNO R3
Fonte: Elaborada pelo autor
Todos os 14 pinos digitais desta placa operam com 5V, os quais podem
trabalhar como entrada ou saída. Cada pino pode receber ou fornecer no máximo
40mA e possui um resistor de pull-up interno de 20-50 kΩ. Alguns destes pinos são
multiplexados, isto é, podem exercer mais de uma função na mesma porta. Dentre
eles as operações mais importantes são (FONSECA; BEPPU. 2010):

Serial – Os pinos 0 e 1, podm trabalhar com dados seriais utilizando a
interface
UART
(Universal
Asynchronous
Receiver/Transmitter)
respetivamente como Recepção (RX) e Transmissão (TX).

PWM – Os pinos 3, 5, 6, 9, 10 e 11 podem fornecer uma saída analógica
de PWM utilizando um contador de 8-bits.

SPI (Serial Periphel Interface) – Os pinos 10, 11, 12 e 13 suportam o tipo
comunicação serial síncrona, trabalhando respectivamente com as
funções de Slave Select (SS), Master Out Slave In (MOSI), Master In
Slave Out (MISO) e Serial Clock (SCK).

LED – Possui já um LED integrado para realizar testes sem a
necessidade de interfaceamento externo.
58
Embora o Arduino possua uma linguagem muito interativa e fácil de utilizar,
para realizar aplicações mais complexas há a necessidade de conhecer o
microcontrolador utilizado na placa, uma vez que a interface do Arduino permite o
acesso direto para configurações e procedimentos oferecidos pelo controlador AVR,
que não é oferecido em suas bibliotecas.
Basicamente um microcontrolador é um dispositivo que contém um
microprocessador, memória e um conjunto de periféricos, em outras palavras, é um
computador em um chip só. Estes dispositivos geralmente são direcionados a uma
aplicação
específica,
podendo
ser
chamados
genericamente
de
Sistemas
Embarcados.
O Atmega328p é um microcontrolador de 8-bits produzido pela Atmel
Corporation, fazendo parte da família AVR, este controlador de alto desempenho e
baixo consumo é baseando na arquitetura RISC (Reduced Instruction Set
Computer), com instruções muito poderosas, sendo capaz de realizar até um milhão
de instruções por segundo. (Atmel, 2009).
Um dos principais recursos que um microcontrolador oferece é um circuito
temporizador, implementado em hardware. É basicamente um relógio e pode ser
utilizado para medir eventos ao longo do tempo em diversas situações. Sua
capacidade de contagem está relacionada diretamente a frequência do cristal
oscilador utilizado no hardware, este que garante uma precisão da ordem de
dezenas de microssegundos.
O Atmega328p possui três módulos temporizadores, denominados de timer0,
timer1 e timer 2. A diferença mais importante entre eles está na resolução do
contador, onde o timer0 e o timer2 possui 8 bits podendo realizar a contagem de até
256 valores, já o timer1 possui a resolução de 16 bits podendo realizar uma
contagem de 65356 valores. (Atmel, 2009)
A vantagem de utilizar o temporizador é a possibilidade de gerar uma
interrupção denominada de ISR (Interrupt Service Routine). Quando um programa
está em execução, seu fluxo por padrão ocorre continuamente. Uma interrupção é
um evento externo que ocorre e pausa a execução normal do programa e guarda
seu último procedimento, após isto, vai executar uma atividade previamente
determinada, ao encerrar a atividade, ele retorna para a última instrução executada
e da continuidade no fluxo normal do programa.
59
Faz de suma importância a utilização da ISR na mensuração dos dados tanto
quanto na oscilação das luzes que será abordada no próximo capítulo, no qual será
explanada a implementação e aquisição dos dados na prática.
60
3.
IMPLEMENTAÇÃO DO SISTEMA
Neste capítulo serão explanados os diferentes componentes do sistema,
visando mostrar como suas aplicações individuais que em conjunto realizam o
objetivo proposto.
3.1. DESCRIÇÃO DO PROBLEMA
Em um ambiente de cuidados médicos, todo minuto é precioso porém
hospitais e clínicas expõem seus funcionários e pacientes a um local movimentado e
dinâmico. Pelo fato de ser um ambiente agitado, a prioridade das atenções e
atendimentos, às vezes, podem ser em focos diferentes, assim dificultando a
comunicação entre suas partes. Isso ocasiona uma demora na sincronização de
informações entre médicos, enfermeiros, assistentes e outras partes.
O cenário atual apresenta uma demora nas notificações de problemas
ocorridos com o paciente, na localização do médico e também na leitura do
prontuário. Nos melhores casos um enfermeiro central possui um sistema interligado
apenas com os equipamentos da UTI e quando ocorre uma anomalia há a
necessidade de chamar o médico via interfone. Somente ao chegar no atendimento
é que o médico recebe informações de um enfermeiro, entretanto sem ter o
conhecimento exato e uma prévia análise do que ocorreu.
O desenvolvimento de abordagens inovadoras para a instrumentação e
prevenção tanto nos diagnósticos como tratamento de doenças, fornecem uma
melhoria geral, garantindo a qualidade do atendimento e resultado positivos nas
decisões tomadas pelos médicos.
É de maior facilidade para o médico acessar as informações vitais de todos
seus pacientes por meio de um leve toque em seu celular ou até mesmo ser alertado
através de um SMS, acerca de um paciente que não está com os sinais vitais em
ordem. A obtenção das informações de maneira eficaz, rápida e com qualidade,
possibilita a análise do histórico de internação durante o trajeto à sala de
atendimento, possibilitando a tomada de decisões seguras. Isto permite ao médico
realizar um trabalho com maior excelência do que a atual, através de uma
plataforma com a qual está acostumado a lidar. A automatização do processo fará
61
com que o médico consiga agir de maneira mais rápida, evitando que algo de maior
gravidade possa ocorrer.
3.2. VISÃO GERAL DO SISTEMA
A proposta da implementação de um sistema autônomo capaz de realizar
notificações e comunicações entre o paciente e o médico, visa melhorar a qualidade
e segurança aos indivíduos envolvidos no processo. Outra vantagem é a coleta
informatizada dos dados, que passa a prover uma base de dados funcional à
empresa.
Um modo de trazer essa teoria à prática é sugerido neste projeto, com a
utilização de um oxímetro de pulso e um sensor de temperatura em cima do
protocolo Zigbee, deste modo é possível realizar testes para prover sua viabilidade
operacional e eficácia na prática.
Para a realização deste trabalho houve a subdivisão de cinco módulos, sendo
cada um responsável por uma atuação. Conforme ilustra a Figura 3.1, estes
módulos são separados por funções, de modo que cada uma possa ser alterada
independentemente, sendo necessário apenas manter o padrão de comunicação
entre elas.
Figura 3.1 – Visão geral dos módulos do sistema
Fonte: Elaborada pelo autor
62
O primeiro módulo é responsável por coletar os dados do paciente. Nesta
primeira etapa, os sinais são gerados por meio de um termômetro e um oxímetro. A
próxima etapa é fazer com que os sinais gerados sejam coletados e analisados para
serem repassados ao servidor central.
O segundo módulo é responsável por coletar e analisar os dados
provenientes da geração de sinais. Este segundo estágio consiste na utilização de
um microcontrolador Atmega328p associado a um dispositivo ZigBee Xbee Series 2
Pro.
Nesta etapa, os dados são analisados e apresentados em um display LCD
que possui informações como porcentagem de oxigenação sanguínea (SpO2),
temperatura e batimentos cardíacos do paciente. Após a análise, estas informações
são enviadas ao módulo de comunicação sem fio, que por sua vez, transmite os
dados para o servidor utilizando a rede PAN.
O módulo de comunicação sem fio representa a terceira etapa do processo,
sendo implementado utilizando a tecnologia ZigBee. Denotado pela rede PAN e
utilizando a topologia em malha, este é constituído de diversos dispositivos que
fazem o roteamento das informações até o concentrador da rede onde outro
dispositivo Zigbee faz o papel de dispositivo coordenador. O modo de
implementação desse perfil torna possível a expansão geográfica da rede, sem a
necessidade de suas locações estarem dispostas em torno do dispositivo
coordenador.
A quarta etapa é responsável por receber as informações através do ZigBee,
coordenador da rede e passar para o servidor. Por meio das informações coletadas,
o servidor possui a capacidade de realizar a análise das informações recebidas com
as já armazenadas, além de acesso direto ao prontuário do paciente, sendo
responsável por gerar notificações que são transmitidas via web ou SMS ao médico.
Para as transmissões via SMS o servidor possui um módulo 3G conectado ao
mesmo, sendo o agente o responsável pelas transmissões.
A quinta e última etapa é a uma interface web que possibilita aos médicos,
enfermeiros e assistentes analisar as informações em tempo real do paciente que
está internado em um hospital ou clínica. Utilizando uma interface online, este
módulo disponibiliza aos usuários o monitoramento real, histórico de informações,
notificações geradas e gráficos das mensurações realizadas.
63
3.3. CAPTURA DOS SINAIS
Este módulo é responsável por gerar todos os sinais que serão captados pelo
Dispositivo Leitor. Sua aplicação é baseada totalmente em conceitos de
sensoriamento e condicionamento de sinal através de hardware, aplicado a teoria da
oximetria imposta no capítulo 2.
Como já descrito anteriormente, os sinais médicos são suscetíveis a todo tipo
de interferências e ruídos justificando a utilização de um condicionador de sinal e,
para isso, foram utilizados dois amplificadores operacionais, sendo utilizado como
filtros passa-faixa, de modo a filtrar qualquer frequência que não esteja dentro do
padrão de reconhecimento cardíaco, que conforme a teoria de captura analógica de
dados fisiológicos cardíacos está em média de 0,4Hz à 15,9Hz.
Na Figura 3.2 é representado o circuito utilizado na montagem do oxímetro de
pulso. Nela é possível observar que o sinal gerado pelo fototransistor é aplicado na
entrada do circuito condicionador através de um filtro passa-faixa, para eliminar as
componentes indesejadas como a DC. Este filtro possui um ganho de 150 vezes e
permite a passagem de frequências dentro da faixa de 0.7Hz à 15.4Hz. O sinal ainda
é aplicado em uma segunda etapa, por meio de outro um filtro passa-alta passivo,
este com a intenção de eliminar os ruídos provenientes da rede elétrica e iluminação
florescente.
Por fim, outro filtro passa-faixa ativo, com um ganho de 10 vezes, faz outra
filtragem e ampliação do sinal, resultando em uma saída 1500 vezes maior que a
entrada gerada pelo fototransistor. Sua saída é captada pelo conversor analógico
digital do microcontrolador representado pela sigla ADC na ilustração.
Figura 3.2 - Circuito do sensor e condicionador de sinal
Fonte: Elaborado pelo autor
64
O hardware experimental foi alterado diversas vezes a fim de se obter uma
instrumental válida do sinal, apesar de ser implementando utilizando uma protoboard
e componentes comuns, sua eficiência não foi prejudicada pelos mesmos.
Na Figura 3.3 é ilustrado testes laboratoriais realizados onde é possível
observar no osciloscópio a onda gerada pela instrumentação. Esta onda apesar de
parecer uma dado válido, possui muito ruído e interferência causada por fatores
externos.
Figura 3.3 - Teste laboratorial para captura do sinal
Fonte: Elaborada pelo autor
3.4. DISPOSITIVO LEITOR
O dispositivo leitor é o componente responsável por controlar e exibir as
informações vitais de um paciente. As principais funções deste dispositivo são
receber e analisar os sinais gerados pelo sensor, transmitir as informações para o
servidor através do módulo Xbee, confirmar a transmissão de cada pacote e exibir
os dados do paciente (oxigenação, temperatura e batimento cardíaco) através de um
display LCD. Para que todas estas funções sejam realizadas os dispositivo possui
65
uma junção de elementos sendo eles um Arduino, Xbee Shield e um módulo Xbee
XBP24-B além dos sensores.
3.4.1. Análise dos Dados da Temperatura
Os sensores geram apenas voltagens, estas precisam ser convertidas em um
valor reconhecido pelo sistema para que possam ser analisadas como informações
úteis. O Arduino possui um Conversor Analógico Digital com precisão de 10 bits, isto
possibilita o valor de conversão variar entre 0 e 1023, assumindo 1024 valores
diferentes. Este valor gerado é referenciado de acordo com a voltagem mínima e
máxima emitida pelos sensores.
Como o sensor de temperatura é alimentado pelo Arduino, sua variação de
voltagem é de 5V. O sensor possuí uma resolução de 10mV para cada 1ºC
conforme especificado pelo fabricante. Com isto é possível deduzir uma expressão
para a temperatura em função do valor lido. Sabendo que a variação de voltagem é
de 5V e as entradas analógicas variam 1024 valores. Logo, é possível analisar a
equação 4 que representa a temperatura em função do valor.
5
𝑇𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎 = (𝑉𝑎𝑙𝑜𝑟 𝐿𝑖𝑑𝑜 ∗ (1024)) ∗ 100 (4)
Esta expressão pode ser representada também como um valor constante que
corresponde à 0,48828125°C, assim de acordo com o valor obtido no conversor e
multiplicado pela constante é possível obter a temperatura atual.
3.4.2. Análise dos Dados do Oxímetro de Pulso e Batimento Cardíaco
Para realizar a leitura dos sinais gerados pelo fototransistor e obter os valores
da oxigenação sanguínea e o batimento cardíaco é necessário seguir um fluxo de
atividades constantes, conforme ilustrado na Figura 3.4.
Como esta atividade necessita de uma precisão de tempo, foi utilizado o
temporizador interno do microcontrolador denominado de TIM0 de modo que seja
gerada uma interrupção a cada 4 milissegundos.
66
A primeira operação a ser realizada é ligar o LED Infravermelho e, após sua
ativação, é necessário aguardar alguns microssegundos, em média 50, para que o
fototransistor possa responder adequadamente ao novo sinal incidido.
Calcular
SpO2 e
BPM
Desligar
LED
Vermelho
Ligar
LED IR
Capturar e
Converter o
Sinal
Capturar e
Converter
o Sinal
Desligar
LED IR
Ligar LED
Vermelho
Figura 3.4 - Fluxo de atividades do oxímetro
Fonte: Elaborada pelo autor
Ao aguardar o tempo é ativada a conversão analógica digital do
microcontrolador que irá capturar e converter este valor na entrada ADC0. Feita a
conversão e armazenada o valor, o microcontrolador desliga o LED encerra a
interrupção continuando seu fluxo de atividades normais. Ao se passar novamente 4
milissegundos o microcontrolador irá realizar o mesmo processo para o LED
vermelho.
Quando uma leitura de cada LED for realizada, o microcontrolador verifica se
essa é a maior ou menor leitura obtida no ciclo para realizar o cálculo da oxigenação
sanguínea. Caso seja positivo, é realizado o cálculo da oxigenação sanguínea dado
pela fórmula da absorção da luz representada na equação 5. Após realizar este valor
é armazenado e logo então é iniciado um novo ciclo de operações.
𝐴𝑏𝑠𝑜𝑟çã𝑜 = (
𝑉𝑚𝑎𝑥(𝐿𝐸𝐷) − 𝑉𝑚𝑖𝑛(𝐿𝐸𝐷)
)
𝑉𝑚𝑖𝑛(𝐿𝐸𝐷)
(5)
Para determinar a oxigenação sanguínea atual é só aplicar a absorção de luz
de cada LED na equação 2, obtendo-se então o valor da SpO2.
67
O cálculo do batimento cardíaco é dado pelo intervalo de tempo entre a
obtenção do maior e menor valor apresentado pelo LED Infravermelho, aplicando
essa variação de tempo em um intervalo de 1 segundo é possível determinar índice
de BPM.
3.4.3. Fluxo de Operação do Dispositivo
Como o dispositivo é responsável por realizar diversas atividades, além do
programa principal, foi necessária a utilização de alguns sub-rotinas responsáveis
por realizar processos e ações.
Figura 3.5 - Fluxograma principal do dispositivo
Fonte: Elaborada pelo autor
Logo que o dispositivo é iniciado é necessário seguir respectivamente
algumas operações, como e possível observar na Figura 3.5.
68
Após sua inicialização a primeira sub-rotina chamada é a Configuração do
Temporizador, esta é responsável por definir todas as atividades do temporizador
interno do microcontrolador. Quando acionada, ela configura o TIM1 para realizar
interrupções a cada 1 segundo, este que será utilizado para determinar a
atualização do display e envio das informações ao servidor. É configurado também o
TIM2 responsável por gerar interrupções para leitura do sensor do oxímetro e
emissão dos LEDs, sua configuração é determinada para gerar uma ISR a cada 4
milissegundo.
A segunda sub-rotina a ser chamada é a Configuração de Portas, esta é
responsável por iniciar individualmente cada porta e determinar sua função bem
como as configurações de operação.
Feitas estas duas sub-rotinas, o dispositivo está inicializado e pronto para a
operação, a partir deste momento ele entra em um loop contínuo de captura de
dados até que haja uma requisição para desligar o dispositivo.
3.4.4. Exibição dos Dados no Display
Para buscar a melhor performance do microcontrolador os dados são exibidos
de acordo com a variação das informações e sua prioridade. Para realizar a gestão
deste tempo, foi necessário criar uma variável contadora. Este contador
implementado em software é controlado pelo TIM1, onde uma ISR com período de 1
segundo é gerada incrementando o contador.
Figura 3.6 - Display LCD do dispositivo
Fonte: Elaborada pelo autor
69
O dispositivo possui um LCD que exibe informações do batimento cardíaco,
oxigenação, temperatura corporal, índice da bateria e qualidade do sinal da rede
PAN conforme ilustrado na Figura 3.6.
A exibição dos dados no display são atualizadas a cada 2 segundos, dando
prioridade para a oxigenação e batimentos cardíacos. Sabe-se que a temperatura
corporal não varia drasticamente em questões de segundos, sendo sua atualização
realizada apenas quando ocorrer uma transmissão de informações no caso em 12
segundos.
3.4.5. Transmissão dos Dados
Para realizar a transmissão dos dados é necessário que o Arduino envie as
informações armazenadas para o dispositivo ZigBee. Essa troca de informações é
realizada utilizando as portas UART (Universal Asynchronous Receiver/Transmitter)
de ambos os módulos, porém existe um problema nessa troca de dados. Cada
módulo opera em voltagens diferentes, o Arduino opera por padrão em 5v e o Xbee
opera em 3.3v. O Xbee Shield é responsável por converter realizar essa conversão
de voltagem de modo segura e eficaz através de um regulador de tensão lógica
existente em seu circuito, conforme ilustra a Figura 3.7.
Figura 3.7 - Xbee acoplado ao Shield e Arduino
Fonte: Elaborada pelo autor
70
Para realizar a transmissão foi criado um protocolo próprio contendo dois
tipos de pacotes. O primeiro pacote é utilizado para enviar os sinais vitais de um
paciente. Este pacote contém respectivamente as mensurações de BPM,
temperatura e oxigenação sem a utilização de caracteres que não sejam numéricos,
evitando assim o aumento de dados na transmissão do pacote, de modo que este
possa ser o menor possível. Este quadro possui um tamanho total de 11 bytes
conforme ilustrado no Quadro 3.1.
Quadro 3.1 - Dados Vitais
Batimento por Minuto (BPM)
3 Bytes
Fonte: Elaborado pelo autor
Temperatura
Oxigenação (SpO2)
3 Bytes
5 Bytes
O segundo pacote indica o desligamento de um dispositivo conforme
representado no Quadro 3.2. Este pacote é enviado somente ao se encerrar o
monitoramento de um paciente, sua utilização se faz necessária pelo fato do
servidor precisar reconhecer o fim de um monitoramento, para isto o pacote contém
três caracteres ‘F’.
Quadro 3.2 - Fim de Conexão
Payload
3 Bytes
Fonte: Elaborado pelo autor
Assim que os pacotes são montados, eles são enviados através da serial para
ao módulo Xbee, que fica encarregado de fazer a transmissão chegar ao servidor.
Cada pacote que é enviado aguarda uma confirmação de recebimento que é gerado
pelo Xbee coordenador. Caso um pacote não complete sua transmissão o
dispositivo aguarda um período de 800 ms e reenvia o pacote novamente. Caso haja
quatro falhas de transmissão é exibida uma notificação no display LCD notificando a
falha de rede.
A composição de muitos dispositivos em uma rede PAN pode diminuir a
qualidade do serviço prestado, para evitar isto o pacote de dados é enviado em
períodos de 12 segundos durante uma internação normal, isto é, caso o paciente
esteja com sinais vitais estáveis. Caso haja alteração nos batimentos cardíacos ou
na oxigenação sanguínea esses pacotes são enviados em períodos de 4 segundos,
71
fazendo com que a atualização no servidor seja mais próxima da real, possibilitando
uma melhor análise remota. Esta operação permite o monitoramento de vários
pacientes, com uma qualidade de transmissão segura e eficaz.
3.5. REDE PAN ZIGBEE
A rede PAN é responsável por aplicar o protocolo ZigBee e garantir a troca de
informações entre os dispositivos Xbee utilizados no projeto. Formada por um
módulo coordenador ligado ao servidor e diversos módulos roteadores implantados
nos dispositivos leitores, esta rede é responsável por gerenciar o tráfego das
informações.
Toda rede PAN possui apenas um dispositivo coordenador que necessita de
configurações específicas no modo Zigbee Coordinator API, para isto neste projeto
foram realizadas as configurações conforme a Tabela 3.1.
Tabela 3.1 - Configuração módulo coordenador
Função
Canal de Operação (CH)
PAN ID (ID)
Parte Alta Endereço de Destino (DH)
Parte Baixa Endereço de Destino (DL)
Número Serial Alto (SH)
Número Serial Baixo (SL)
Endereço de Origem 16 Bits (MY)
Nível de Potência (PL)
Modo de Potência (PM)
Taxa de Transmissão (BD)
Habilitar API (AP)
Configuração Utilizada
0x0F
0x1AAA
0x0013A200
0x402C69DA
0x0000
5 – Maior
1 – Modo de Reforço Habilitado
9600
2 – API Habilitada com PPP
Fonte: Elaborada pelo autor
É possível notar através da configuração que por ser um dispositivo
coordenador ele não possui endereçamento de destino e seu PAN ID é o menor da
rede, no caso o 0x0000. Seu nível e modo de potência, foram configurados para
abranger a maior distância possível, acarretando no maior consumo de energia,
porém como este dispositivo está ligado a USB e possui alimentação fixa, não é
necessário a preocupação com a gestão de energia.
Quando um módulo Xbee é instalado em um dispositivo leitor, ele é
previamente configurado, conforme a necessidades da rede PAN. Na Tabela 3.2 é
representada as configurações do módulo, onde este necessita apenas da
72
informação do Canal de Operação e do PAN ID, as demais configurações são
provenientes do próprio hardware ou da coordenador da rede PAN. Seu endereço
PAN é fornecido após o pedido de participação na rede, quando este pedido é
lançado via broadcast, tem-se a opção de gerar uma notificação ao coordenador
denominada de Notificação de Associação, esta gera um pacote inicializador que
será transmitido para o coordenador e será encaminhado para a serial, fazendo
assim a aplicação receber um pacote Indicador de Nó.
Tabela 3.2 - Configuração módulo roteador
Função
Canal de Operação (CH)
PAN ID (ID)
Número Serial Alto (SH)
Número Serial Baixo (SL)
Endereço de Origem 16 Bits (MY)
Notificação de Associação (JN)
Taxa de Transmissão (BD)
Habilitar API (AP)
Configuração Utilizada
0x0F
0x1AAA
0x 0013A200
0x404BACF7
Gerado pelo Coordenador da PAN
1 – Enviar ao Coordenador
9600
2 – API Habilitada com PPP
Fonte: Elaborada pelo autor
3.6. APLICAÇÃO SERVIDOR
A aplicação servidor é responsável por atuar como um software concentrador
de dados, conforme representado na Figura 3.8. Ela tem a responsabilidade de
armazenar as informações coletadas, realizar e gerenciar as notificações, enviar
SMS para o médico, coordenar o estado de um dispositivo e comparar as
informações coletadas de acordo com o prontuário do paciente.
Figura 3.8 - Interação entre Xbee, servidor e banco de dados
Fonte: Elaborada pelo autor
73
A utilização da tecnologia Java para a construção do programa proporciona
algumas facilidades, pois esta possui uma Application Programming Interface (API),
ou Interface de Programação de Aplicativos, a qual é livre e aberta para utilização. A
interface oferece um conjunto de rotinas, métodos e atributos capazes de realizar a
comunicação com o hardware, visando a simplificação e a flexibilidade nas
interações com os módulos Xbee. Isso minimiza a necessidade de utilizar linguagem
de baixo nível para efetuar simples operações.
Figura 3.9 - Pacote Inicializador em Hexadecimal
Fonte: Elaborado pelo autor
A Figura 3.9 demonstra um pacote inicializador sendo enviado de um
dispositivo remoto em sua primeira conexão à rede. Um exemplo de praticidade é a
conversão hexadecimal de acordo com o campo do quadro, para isto a utilização da
Xbee API for Java justifica-se na facilidade de interpretação do mesmo.
Figura 3.10 - Xbee Explorer conectado ao notebook
Fonte: Elaborada pelo autor
74
O módulo Xbee foi desenvolvido utilizando o padrão RS-232, sendo esse uma
troca serial de dados binários entre um terminal e um comunicador. Para realizar a
conexão entre o módulo coordenador e o computador, foi necessária a utilização de
um hardware que realiza a conversão entre a serial do coordenador e a porta USB
do computador, conhecido como Xbee Explorer, conforme ilustra a Figura 3.10.
A interface principal do programa representada na Figura 3.11, possibilita ao
administrador da rede obter todas as informações importantes tanto dos módulos,
log e configurações dos componentes externos.
Figura 3.11 - Tela principal da aplicação
Fonte: Elaborada pelo autor
Quando o servidor é iniciado, a primeira operação a ser realizada é tentar
abrir a porta de comunicação e realizar a conexão com o módulo Xbee Explorer.
Esse passo é primordial para que o andamento do processo ocorra, porém diversos
problemas podem surgir nesse procedimento, vários deles sendo ocasionados por
utilização e conflito da porta serial. Com a abertura de porta realizada com sucesso,
o próximo passo é estabelecer conexão com o Modem HSDPA (High-Speed
Downlink Packet Access), também conhecido como Modem 3G, este sendo
responsável por enviar SMS para os médicos informando uma notificação ocorrida
75
com um paciente. Para inicializa-lo é necessário configurar a porta e velocidade a
ser utilizada, além da operadora do chip que está em operação. Com os dois módulo
inicializado com sucesso é possível iniciar a operação do servidor. A Figura 3.12
representa as informações dos módulos externos disponibilizadas na tela principal
da aplicação.
Figura 3.12 - Informações do Xbee e Modem HSDPA
Fonte: Elaborada pelo autor
Como o módulo coordenador é o centro de todas as recepções, é necessário
trabalhar com threads para que seu processamento não seja sobrecarregado, o que
implica um gargalo de conexão. Devido a diversas conexões foi necessário utilizar
dois componentes para coordenar e maximizar o desempenho de todas as threads
da aplicação, sendo estes o ThreadPool e ExecutorService, que são componentes
que interagem com o sistema operacional e a aplicação Java de modo a economizar
e reutilizar os recursos de paralelismo imposto pela máquina virtual.
Para reconhecer uma requisição de transmissão, um Listener, rodando em
tempo integral no servidor, permite identificar os pedidos. Quando uma requisição é
atendida, imediatamente é aberta uma thread, liberando, assim, o Listener, para
atender novas requisições. Ao iniciar uma thread primária, ela recebe um pacote que
76
segue as normas padrão 802.15.4, sendo responsável então, por conduzir este
pacote. Após as verificações de segurança e integridade, o conteúdo enviado pelo
microcontrolador é verificado e pode ser de três tipos conforme ilustra a Figura 3.13,
que representa o fluxo de atividades do servidor e como suas conexões são
tratadas.
Figura 3.13 - Fluxo de atividades do servidor
Fonte: Elaborada pelo autor
O primeiro pacote é responsável por iniciar um novo monitoramento,
denominado como Pacote Inicializador, este é representado pela classe de pacotes
ZNetNodeIdentificationResponse. Quando esse tipo de pacote é identificado,
primeiramente inicia-se uma busca no banco de dados na tentativa de localizar uma
internação
válida
e
ativa,
se
encontrada,
uma
nova
thread
do
tipo
“ThreadDispositivo” é inicializada e nomeada com o endereço de origem do pacote,
77
após estes passos esta é colocada no pool de threads, que está localizado no
evento principal e tem sua operação iniciada através do ExecutorService.
Essa nova thread que pertence a classe ThreadDispositivo possui
características únicas nesse sistema. Analisando seu conteúdo é possível notar que
esta foi modelada para otimizar todo o processo de leitura e gravação de dados. Um
dos seus atributos, é a respectiva internação, visando facilitar a armazenagem de
dados a cada mensuração recebida.
Outra característica importante a ser observada é seu tempo de vida. Em uma
situação normal, nunca um monitoramento ativo ficará mais de 20 segundos sem
receber nenhuma informação do microcontrolador. Caso se passe 20 segundos e
ela não seja despertada manualmente, isto é, receba dados de um paciente, ela
acorda do seu estado de espera e se destrói. Quando isto acontece, o estado do
dispositivo muda o status de Em Operação para Sem Conexão, notificando o
administrador e o enfermeiro que algo aconteceu com aquele dispositivo, ao mesmo
tempo ela é removida do pool de threads, liberando espaço para o processamento
de novos itens.
O segundo e o terceiro tipo de pacote são representados pela classe de
protocolo denominada ZNetRxResponse. Ao se receber este tipo de pacote, o
servidor analisa o seu conteúdo verificando se é um pacote de Dados ou um
Finalizador através do tamanho dos dados. Caso seja um pacote de Dados, o
servidor realizará o processamento interno com os dados recebidos. A Figura 3.14
ilustra o conteúdo dos dados recebidos.
Figura 3.14 - Pacote de Dados em Hexadecimal
Fonte: Elaborada pelo autor
Analisando este pacote é possível notar que o conteúdo da mensuração está
no segmento de hexadecimais representados pelo 0x31 0x34 0x31 033 0x31 0x37
0x37 0x38 0x30 0x30. Convertendo esses valores de hexa para a tabela ASCII é
possível observar os caracteres 1413177800, representando respectivamente
78
batimentos cardíacos com 141 bpm, temperatura de 31,7ºC e oxigenação sanguínea
de 78.00%.
Ao receber esses dados, a thread primária trata-os de modo que estes sejam
separados e organizados em um conjunto de dados. Este conjunto de dados contém
o endereço 64 bits do dispositivo de origem, temperatura, batimento cardíaco e
oxigenação.
Logo
que
realizado
o
tratamento,
inicia-se
a
procura
pela
ThreadDispositivo no pool de threads, que tenha o respectivo endereço de origem.
Ao localiza-la passa-se o conjunto de dados e realiza uma notificação para que a
mesma saia do estado de espera e volte a ser processada. Esta notificação
acontece sempre antes dos 20 segundos, logo ao invés de se destruir, ela executa o
processo de Verificação de Dados.
Este processo é realizado em etapas, primeiramente os dados são analisados
de acordo com o prontuário do paciente, vendo se os valores atende a faixa padrão
do paciente. Caso esse valor seja superior ou inferior a faixa determinada em seu
prontuário, é imediatamente gerada uma notificação no software e também uma
requisição de envio de SMS para o médico responsável da internação. Para gerar
uma notificação SMS é modelada uma mensagem de acordo com a enfermidade
que está acontecendo, sendo então disparada ao controlador do modem. Após a
notificação ser gerada, esta primeira por ser prioridade, os dados recolhidos são
gravados no banco de dados com o horário de recebimento, ficando assim
disponíveis para serem consultadas a qualquer momento.
Quando um SMS é enviado, uma flag no respectivo processo da internação é
ativada, isto para evitar que o médico receba outro SMS avisando sobre a mesma
ocorrência. A partir deste momento todos os novos dados são analisados buscando
uma perfil de estável do paciente. Para atingir este perfil, é necessário que haja a
ocorrência de oito dados consecutivos dentro dos limites imposto no prontuário.
Deste modo case o médico receba uma nova notificação, provavelmente o paciente
teve uma recaída aos procedimentos realizados.
O terceiro pacote classificado como Finalizador, é gerado ao se desligar o
Dispositivo Leitor. Este possui a finalidade principal de encerrar a conexão com o
servidor e remover a ThreadDispositivo do pool. Quando este pacote é recebido o
servidor muda o status do dispositivo de Em Operação para Desligado, esta
operação permite que uma internação seja encerrada, evitando assim erros no
monitoramento, além de liberar espaço para mais processamento no servidor.
79
Para manter um registro de todas as atividades realizadas no servidor, o
programa principal oferece uma interface de log, onde todas as ações realizadas no
servidor são apresentadas, desde um pacote que foi descartado até a confirmação
de envio de um SMS. Na Figura 3.15 é demonstrado uma série de atividades
realizadas no servidor.
As mensagens de erro apresentadas pelo servidor podem ser classificadas
como operacionais e avisos. A classe operacional possui a tarefa de realizar
notificações sobre status de hardware e atividades realizadas pelo dispositivo, como
por exemplo, uma associação, perca de sinal ou desligamento do dispositivo. Já a
classe de avisos realizam notificações sobre o paciente, estas sendo de caráter
urgente sobre alguma enfermidade ocorrida.
Figura 3.15 - Log do servidor
Fonte: Elaborada pelo autor
A vantagem de manter um registro de todas atividades no servidor é que, em
caso de alguma falha ou eventual problema, é possível realizar uma auditoria
completa na busca do erro. O conteúdo deste registro informa todos os tipos de
mensagens, desde a tentativa de recepção de dados até falha de envio do SMS
possibilitando realizar revisões periódicas da qualidade do serviço e permitindo
também a elaboração de estatísticas de recursos do sistema.
80
3.7. APLICAÇÃO WEB
Essa aplicação tem como objetivo realizar a interação entre médicos,
enfermeiros, pacientes e assistentes, possibilitando facilidade no acesso e
manipulação das informações.
A utilização de um sistema web, proporciona ao usuário a interação entre
dispositivos de diversos segmentos, como PC, Tablets, Smartphones, entre outros.
Desse modo é possível acessar a aplicação de qualquer lugar que possua uma
conexão com a internet e de maneira segura, desde que esta seja modelada com
restrições para acessos fora da rede privada.
A utilização do Primefaces proporcionou um ambiente agradável e fácil de
operação como ele utiliza a tecnologia JSF (JavaServer Faces), os dados que
transitam entre as sessões tornam-se dinâmicos, permitindo facilidade e agilidade na
visualização das telas. As atualizações ocorrem em tempo real sem a necessidade
de carregar todos os dados novamente, pois o sistema já consegue detectar
alterações de dados. Na Figura 3.16 é demonstrado a página de internação, esta é
responsável por mostrar todos os monitoramentos ativos, bem como a última
informação coletada do dispositivo.
Figura 3.16 - Monitoramento em tempo real
Fonte: Elaborada pelo autor
Para melhor análise de uma internação é possível detalhar o monitoramento
de tal forma que este passa a exibir as informações do prontuário, bem como as
81
notificações geradas pelo software estas podendo ser operacionais ou avisos
médicos, conforme ilustrado na Figura 3.17.
Figura 3.17 - Detalhes do monitoramento do paciente
Fonte: Elaborada pelo autor
82
CONCLUSÃO
Conclui-se a partir do desenvolvimento deste projeto, que o protocolo ZigBee
é uma tecnologia com vasta aplicação, visto que sua aplicação é extremamente
versátil. Neste trabalho, sua utilização ficou limitada a base operacional, utilizando
apenas a comunicação. Outra vantagem muito grande é a localização de
dispositivos a partir de uma triangulação, podendo assim ampliar sua gama de
aplicações.
A qualidade de serviço oferecida pelo protocolo na implementação médica foi
aceitável, visto que o tráfego e a distância alcançada foram satisfatórias nos testes.
A utilização de mais de 300 dispositivos em uma única rede pode resultar em
pequenos atrasos, porém, a tecnologia permite a utilização de diversas pequenas
redes trabalhando em canais diferentes, onde estas podem rotear seus pacotes para
outros dispositivos coordenadores, permitindo então diminuir a colisão de pacotes
bem como sua qualidade de transmissão.
Foi necessário muito tempo para aprender sobre as tecnologias envolvidas, a
fim de usá-las corretamente, mas certamente foi um tempo muito bem utilizado, pois
esse trabalho proporcionou um desenvolvimento técnico muito grande, além de
garantir ampla experiência prática com assuntos estudados dentro e fora da sala de
aula.
A construção do oxímetro de pulso de baixo custo não foi bem sucedida. Seu
maior problema está no circuito de condicionamento de sinal, este que apesar de
várias implementações e alterações não proporcionou uma onda válida. Diversos
filtros foram utilizados, sendo eles, ativos, passivos, pré-modelados como o
Butterworth de quarta ordem ou filtro Notch Duplo T. Apesar de todos os esforços foi
constatado muita interferência no sinal. Com pesquisas mais avançadas e
solicitação de ajuda com profissionais experientes da área, constatou-se que a
mensuração médica é muito complexa e sensível, sendo considerada como uma das
áreas mais crítica em relação a intromissões e perturbações.
Apesar da elaboração do software utilizado no microcontrolador estar pronta,
foi necessário simular os batimentos cardíacos e a oximetria de pulso para realizar
os teste no sistema. A simulação de dados não foi considerada como um fator de
risco para o projeto, onde esta, depende apenas da captura do dados, tendo todo o
83
restante do sistema em operação. Como o sistema foi segmentado em módulos, é
necessário apenas a construção ou aquisição de um sensor de qualidade, sem que
haja a necessidade de qualquer alteração no restante do sistema.
A utilização do Arduino como um dispositivo leitor não é indicada para
aplicações profissionais, onde este possui apenas um foco educacional, na prática
diversas limitações são impostas utilizando este componente, apesar de seu
controlador ser um chip poderoso, ele está aliado a uma interface open-source de
aprendizado, o que inviabiliza uma abordagem mais teórica e avançada. A ideia
inicial do projeto era construir um hardware para realizar essa verificação de sinal,
porém, como foi gasto muito tempo em cima da elaboração do oxímetro de pulso,
não houve tempo para migrar o leitor do Arduino para um hardware especializado,
tendo assim que alterar o escopo e o cronograma do projeto. A Freescale (antiga
Motorola) oferece diversos componentes eletrônicos de alto desempenho e
aplicação real. A modelagem de um protótipo funcional, atendendo todas regras de
saúde, necessita de um investimento elevado, mas pode retornar um produto de
mercado.
A continuidade deste projeto pode ser dada aproveitando os módulos já
prontos. A implementação de novas ações e funcionalidades podem completar o
sistema deixando mais robusto e funcional.
 Realizar troca de informações de prontuário através do módulo controlador
 Desenvolver um aplicativo mobile, com integração direta ao banco de
dados
 Utilizar sensores e controladores médicos de alta qualidade oferecidos pela
FreeScale
 Realizar a integração entre sistemas hospitalares e o módulo de
monitoramento
84
REFERÊNCIA BIBLIOGRÁFICA
ALEXANDER, C. K.; SADIKU, M. N. O. Fundamentos de Circuitos Elétricos. Porto
Alegre: Bookman, 2003. ISBN 978-85-363-0249-2.
Al-Khawarizmi
Institute
of
Computer
Science.
Disponível
em:
<http://www.kics.edu.pk/wdsp/flextrainer/images/dspimages/BPSK_tx_image004.gif>
. Acessado em 08 de abril de 2013.
ARDUINO. Arduino. Disponível em: <http://www.arduino.cc>. Acesso em: 01 de
Novembro de 2013.
ATMEL. 8-Bit AVR Microcontroller. Datasheet 8161D-AVR. Atmel Corporation, San
Jose, EUA, 2009.
BOLTON, W. Instrumentação & Controle. 1. Ed. Curitiba: Hemus, 2005.
BURATTI, C. et al Sensor Networks with IEEE 802.15.4 Systems. 1. Ed Berlin:
Springer-Verlag, 2011. ISBN 978-3-642-17489-6
CONSELHO REGIONAL DE ENFERMAGEM. Oximetria de Pulso Arterial. 2009.
São Paulo.
DIGI, International Inc. XBee®/XBee-PRO® RF Modules. 90000982_B Datasheet,
Minnetonka, USA, 2009. 69 p.
____, Internacional Inc. XBee®/XBee-PRO® ZB RF Modules. 90000976_G
Datasheet, Minnetonka, USA, 2010. 155 p.
ERGEM, S. C. ZigBee/IEEE 802.15.4 Summary. 2004.
ESCHNER, R. H. Sistema de Automação Residencial Baseado em Sensores
ZigBee. 2011. Tese (Graduação em Ciências da Computação) - Universidade
Federal do Rio Grande do Sul, Porto Alegre.
FALUDI, R. Building Wireless Sensor Networks. 3. Ed. Sebastopol: O’Reilly
Media, 2011. ISBN 978-0-596-80773-3
FARAHANI, S. ZigBee Wireless Networks and Transceivers. 1. Ed. Burlington:
Elsevier, 2008.
FLOYD, T. L. Sistemas Digitais: Fundamentos e Aplicações. 9. Ed. Porto Alegre:
Bookman, 2007.
FONSECA, E. G. P.; BEPPU, M. M. Apostila Arduino. Niterói-RJ: Universidade
Federal Fluminense, 2010.
85
GISLASON, D. ZigBee Wireless Networking. Oxford: Elsevier, 2008. ISBN 978-0750-68597-9.
HARGREAVES, E. O protocolo CSMA-CA e o padrão IEEE 802.11. Rio de
Janeiro: UFRJ.
IEEE 802.15.4. Wireless Medium Access Control (MAC) and Physical Layer
(PHY) Specifications for Low-Rate Wireless Personal Area Networks
(LRWPANs). The Institute of Electrical na Electronic Engineers, Inc. New York, EUA,
2003.
______. IEEE 802.15.4e Application: Healthcare. The Institute of Electrical na
Electronic Engineers, Inc. New York, EUA, 2008.
______. IEEE 802.15.4 MAC PHY Controller Standards. The Institute of Electrical
na Electronic Engineers, Inc. New York, EUA, 2010.
JAPAN, H. New JRC Introduces a Reflective Optical Sensor the NJL5501R Well
Suitable for Pulse Oximeter and Heart Rate Monitor. Disponível em:
<http://www.houseofjapan.com/electronics/new-jrc-introduces-a-reflective-opticalsensor-the-njl5501r-well-suitable-for-pulse-oximeter-and-heart-rate-monitor>. Acesso
em: 14 Julho 2013.
LOPEZ, S. Pulse Oximeter Fundamentals and Design. Freescale Semiconductor,
2012.
MALAFAYA, H.; TOMÁS, L.; SOUZA, J. P. Sensorização sem fios sobre ZigBee e
IEEE 802.15.4. Porto, Portugal: Faculdade de Engenharia da Universidade do Porto.
MASSAFERA, U. J. S.; ZAVAN, F. M. Estratégia Empresarial para Controle Físico
de Acessos por Meios Dados Biométricos. 2012. Tese (Graduação em
Engenharia da Computação) – Centro Universitário de Lins, Lins.
MOSBY, C. V. Workbook: Egan’s Fundamentals of Respiratory Care. 9. Ed. St.
Louis: Mosby Company, 2008. ISBN 978-0-323-05188-0
NOVA, F. S. V. REDES DE SENSORES EM MALHA SEM FIO: UM ESTUDO DE
CASO DE AUTOMAÇÃO RESIDENCIAL USANDO A TECNOLOGIA ZIGBEE/IEEE
802.15.4. Belém: Universidade Federal do Pará, 2009.
PAZ, M. A. S. Segurança em Equipamentos de Monitorização em Sala Cirúrgica
e UTI Oxímetro de Pulso, Capnógrafo, Monitor Cardíaco e Monitor de Pressão
Não Invasivo. 1996. Tese (Pós Graduação em Engenharia Elétrica) – Universidade
Federal de Santa Catarina, Florianópolis.
PIMENTEL, C. J. L. Comunicação Digital. Rio de Janeiro: Brasport, 2007. ISBN
978-85-7452-285-2
ROSSETO, L. T. Leitor Biométrico Wireless. 2009. Tese (Graduação em
Engenharia Elétrica) – Escola de Engenharia – Universidade Federal do Rio Grande
do Sul, Porto Alegre.
86
SANTOS, S. T. Redes de Sensores Sem Fio em Monitoramento e Controle.
2007. Tese (Mestrado em Engenharia Elétrica) – Universidade Federal do Rio de
Janeiro, Rio de Janeiro.
TEXAS
INSTRUMENTS.
Monolithic
Photodiode
and
Single-Supply
Transimpedance Amplifier. Datasheet SBBS002. Texas Instruments, Dallas, EUA,
2013.
TIRELO, C. M. Oxímetro de Pulso. 2006. Tese (Graduação em Engenharia Elétrica)
– Universidade Federal do Espírito Santo, Vitória.
TURNER, L. W. Circuitos e Dispositivos Eletrônicos. 1. Ed. Curitiba: Hemus,
2004. ISBN 978-85-289-0011-8
ULABY, F. T. Eletromagnetismo para Engenheiros. Porto Alegre: Bookman, 2007.
ISBN 978-85-600-3119-1
ZIGBEE Alliance. ZigBee Specification: ZigBee Document 053474R17. ZigBee
Alliance, San Ramon – CA, 2008.
______. Telecom Applications Profile Specification:
075307R07. ZigBee Alliance, San Ramon, 2010.
ZigBee
Document
______. ZigBee IP Specification: ZigBee Document 13-002R00. ZigBee Alliance,
San Ramon, 2013.
87
APÊNDICE A – EXPLICAÇÃO E MATERIAL DIGITAL DO PROJETO
Todo o material digital gerado para a produção deste trabalho encontra-se no
DVD abaixo. O conteúdo está separado de acordo com as seguintes pastas:

Servidor Java: Encontra-se o projeto Java, utilizado para o desenvolvimento
da aplicação servidor, inclusive seu código fonte.

Servidor Web: Encontra-se o projeto Java, utilizado para o desenvolvimento
da aplicação web, inclusive seu código fonte.

Software do microcontrolador: É a pasta do projeto criada pelo compilador
Arduino e contém o código-fonte do software do microcontrolador.

Bibliotecas e DDL’s: Arquivos necessários para a reprodução do projeto, bem
como a interação entre módulos externos com o sistema operacional.

Diagramas e circuito do Hardware implementado.

Banco de Dados: Script de criação e preenchimento.
Segue o DVD com todo o conteúdo descrito acima.
Download

centro estadual de educação tecnológica paula souza