29.04.2013 Views

Joel Nuno Silva Alves BIOSWIM - Implementação de rede de ...

Joel Nuno Silva Alves BIOSWIM - Implementação de rede de ...

Joel Nuno Silva Alves BIOSWIM - Implementação de rede de ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>BIOSWIM</strong> - <strong>Implementação</strong> <strong>de</strong> re<strong>de</strong><br />

<strong>de</strong> sensores (BAN) em fato <strong>de</strong> natação<br />

<strong>Joel</strong> <strong>Nuno</strong> <strong>Silva</strong> <strong>Alves</strong><br />

UMinho | 2010<br />

Universida<strong>de</strong> do Minho<br />

Escola <strong>de</strong> Engenharia<br />

<strong>Joel</strong> <strong>Nuno</strong> <strong>Silva</strong> <strong>Alves</strong><br />

<strong>BIOSWIM</strong> - <strong>Implementação</strong> <strong>de</strong> re<strong>de</strong><br />

<strong>de</strong> sensores (BAN) em fato <strong>de</strong> natação<br />

Outubro <strong>de</strong> 2010


Universida<strong>de</strong> do Minho<br />

Escola <strong>de</strong> Engenharia<br />

<strong>Joel</strong> <strong>Nuno</strong> <strong>Silva</strong> <strong>Alves</strong><br />

<strong>BIOSWIM</strong> - <strong>Implementação</strong> <strong>de</strong> re<strong>de</strong><br />

<strong>de</strong> sensores (BAN) em fato <strong>de</strong> natação<br />

Dissertação <strong>de</strong> Mestrado<br />

Ciclo <strong>de</strong> Estudos Integrados Conducentes ao<br />

Grau <strong>de</strong> Mestre em Engenharia Electrónica Industrial e Computadores<br />

Trabalho efectuado sob a orientação <strong>de</strong><br />

Professor Doutor André Paulo <strong>de</strong> Almeida Whiteman<br />

Catarino<br />

Co-Orientador:<br />

Professor Doutor João Monteiro<br />

Outubro <strong>de</strong> 2010


Albert Einstein<br />

"A mente que se abre a uma nova i<strong>de</strong>ia jamais volta ao seu tamanho original."


Agra<strong>de</strong>cimentos<br />

Durante o <strong>de</strong>senvolvimento <strong>de</strong>ste projecto, várias foram as pessoas que ajudaram e<br />

colaboraram na realização <strong>de</strong>sta dissertação. A todos gostaria <strong>de</strong> expressar os mais sinceros<br />

agra<strong>de</strong>cimentos, no entanto gostaria <strong>de</strong> <strong>de</strong>stacar algumas pessoas.<br />

Em primeiro lugar agra<strong>de</strong>ço ao meu orientador, Professor Doutor André Paulo <strong>de</strong> Almeida<br />

Whiteman Catarino, toda a colaboração, <strong>de</strong>dicação e competência <strong>de</strong>monstrada ao longo <strong>de</strong>ste<br />

projecto.<br />

Em segundo lugar agra<strong>de</strong>ço ao Professor Doutor Hél<strong>de</strong>r Manuel Teixeira Carvalho, a<br />

<strong>de</strong>dicação singular a este projecto, sendo todas as sugestões, esclarecimentos e ensinamentos<br />

que me <strong>de</strong>dicou bastante úteis para o <strong>de</strong>senvolvimento <strong>de</strong>sta dissertação.<br />

Agra<strong>de</strong>ço à Universida<strong>de</strong> do Minho em geral, todas as condições que me foram<br />

proporcionadas ao longo do curso, em especial ao <strong>de</strong>partamento <strong>de</strong> Electrónica e ao<br />

<strong>de</strong>partamento <strong>de</strong> Têxtil, o apoio e as facilida<strong>de</strong>s que conce<strong>de</strong>ram para a realização <strong>de</strong>sta<br />

dissertação.<br />

Agra<strong>de</strong>ço também aos meus colegas <strong>de</strong> curso que me acompanharam ao longo <strong>de</strong>stes<br />

últimos anos, pela amiza<strong>de</strong>, companheirismo e cumplicida<strong>de</strong> que <strong>de</strong>monstraram.<br />

Agra<strong>de</strong>ço ainda à minha família e amigos, todo o apoio não só nos últimos anos, como ao<br />

longo <strong>de</strong> toda a minha vida.<br />

Por último, mas não menos importante gostaria <strong>de</strong> agra<strong>de</strong>cer a atenção, força e<br />

compreensão <strong>de</strong>dicada ao longo <strong>de</strong>ste projecto, especialmente quando tudo parecia correr mal, à<br />

minha companheira Cláudia Carneiro.<br />

III


Resumo<br />

Esta dissertação <strong>de</strong>screve o trabalho <strong>de</strong> <strong>de</strong>senvolvimento <strong>de</strong> uma re<strong>de</strong> <strong>de</strong> sensores sem<br />

fios, a utilizar por um sistema <strong>de</strong> monitorização <strong>de</strong> sinais biomédicos, a ser integrado num fato<br />

<strong>de</strong> natação. O sistema <strong>de</strong>verá medir vários parâmetros <strong>de</strong> <strong>de</strong>sempenho, biomecânicos,<br />

fisiológicos e químicos, para posteriormente ser feita uma análise global do comportamento do<br />

indivíduo testado, bem como sinalizar comportamentos anormais.<br />

Para a comunicação <strong>de</strong> dados foi implementada uma re<strong>de</strong> <strong>de</strong> área corporal (Body Area<br />

Network - BAN). O sistema é composto por uma re<strong>de</strong> sem fios em duas versões, uma baseada<br />

na especificação 802.15.4, e outra no protocolo <strong>de</strong> mais alto nível Zigbee, <strong>de</strong>senvolvidos com<br />

base no microcontrolador JN5148, a ZBPro stack da Jennic e o kernell RT JenOs da Jennic. O<br />

sistema adquire, processa e envia os sinais dos sensores que serão ligados à re<strong>de</strong><br />

posteriormente. É composto também por uma aplicação gráfica em computador que representa<br />

os sinais graficamente, faz o controlo dos nós sensores em termos <strong>de</strong> taxa <strong>de</strong> amostragem e faz<br />

o registo e apresentação dos erros que possam surgir na comunicação.<br />

Para efeitos <strong>de</strong> <strong>de</strong>monstração, foi utilizado um sensor específico <strong>de</strong> temperatura<br />

timpânica, do tipo termistor, para medir a temperatura timpânica do atleta ao longo da<br />

activida<strong>de</strong> <strong>de</strong>sportiva, tendo sido <strong>de</strong>senvolvido o respectivo circuito condicionador para o sensor<br />

<strong>de</strong> temperatura, ligado ao dispositivo nó sensor na re<strong>de</strong> sem fios.<br />

O sistema final foi testado com os dispositivos em diferentes posições, bem como com<br />

vários nós sensores a comunicar em simultâneo. Para cada uma das posições relativas entre<br />

dispositivos foi medido a qualida<strong>de</strong> do sinal e registado a frequência <strong>de</strong> erros <strong>de</strong> comunicação.<br />

A implementação com o protocolo Zigbee mostrou-se capaz <strong>de</strong> adquirir e enviar sinais<br />

dos sensores a uma frequência <strong>de</strong> 7 kAmostras/s (correspon<strong>de</strong>ndo a uma taxa final líquida <strong>de</strong><br />

84 kbps) com uma percentagem <strong>de</strong> perdas <strong>de</strong> tramas abaixo dos 4%. Este sistema <strong>de</strong>monstrou<br />

também que suporta a comunicação simultânea <strong>de</strong> pelo menos três nós sensores, a 3000<br />

amostras por segundo (36 kbps), com uma percentagem <strong>de</strong> perdas inferior a 4%.<br />

Palavras-chave:<br />

Re<strong>de</strong> <strong>de</strong> área corporal, BAN, Zigbee, 802.15.4, E-têxteis, Temperatura Timpânica.<br />

IV


Abstract<br />

This dissertation <strong>de</strong>scribes the <strong>de</strong>velopment of a wireless sensor network used by a<br />

biomedical signal monitoring system to be integrated in a swimsuit. The system will measure<br />

various biochemical, physiological and chemical performance parameters, to allow a global<br />

analysis of the behavior of the subject, as well as to signal abnormal behavior.<br />

Data communication consists of a body area network (BAN) materialized as a wireless<br />

network in two versions, one based on the 802.15.4 specification and another on the higher-level<br />

Zigbee protocol, <strong>de</strong>veloped using the Jennic JN5148 microcontroller, Jennics ZBPro stack and<br />

JenOs RT kernell. The system acquires, processes and sends signals from the sensors that will<br />

be connected. It is also composed of a graphical application on a computer that graphically<br />

represents the signals, controls the sensor no<strong>de</strong>s in terms of sampling rate and makes the<br />

recording and presentation of the errors that arise in communication.<br />

For <strong>de</strong>monstration purposes, a specific sensor for tympanic temperature measurement,<br />

of the thermistor type, was used, to measure this variable during sports activity. A specific<br />

conditioning circuit was <strong>de</strong>veloped and connected to a <strong>de</strong>vice no<strong>de</strong> in the wireless sensor<br />

network.<br />

The final system was tested with the <strong>de</strong>vices in different positions, as well as several<br />

sensor no<strong>de</strong>s communicating simultaneously. For each of the relative positions of the <strong>de</strong>vices the<br />

signal quality and frequency of communication errors were recor<strong>de</strong>d.<br />

The version implemented on basis of the Zigbee protocol was able to acquire and send<br />

sensor signals at a frequency of 7 kSamples/s (corresponding to a final net rate of 84 kbps) with<br />

a percentage of lost frames below 4%. It was also shown that the system supports simultaneous<br />

communication of three sensor no<strong>de</strong>s at 3 kS/s (36 kbps) each, with a percentage of losses of<br />

less than 4%.<br />

Keywords:<br />

Body Area Networks, BAN, Zigbee, 802.15.4, Electronic Textiles, Tympanic Temperature.<br />

V


Conteúdo<br />

1 Introdução e Objectivos .................................................................................... 1<br />

1.1 O projecto <strong>BIOSWIM</strong> ....................................................................................................... 2<br />

1.2 Objectivos do trabalho .................................................................................................... 4<br />

1.3 Cronologia ...................................................................................................................... 5<br />

1.4 Organização da Tese ...................................................................................................... 6<br />

2 Estado da Arte e Fundamentos Teóricos .......................................................... 8<br />

2.1 Monitorização <strong>de</strong> pessoas com e-têxteis .......................................................................... 8<br />

2.2 Sinais biométricos ........................................................................................................ 12<br />

2.2.1 Sensores <strong>de</strong> temperatura timpânica .................................................................. 12<br />

2.3 Re<strong>de</strong>s <strong>de</strong> área corporais (BAN) ..................................................................................... 13<br />

2.4 Protocolos <strong>de</strong> comunicação sem fios <strong>de</strong> curto alcance .................................................. 17<br />

2.4.1 802.15.4 ....................................................................................................... 19<br />

2.4.2 Zigbee ........................................................................................................... 21<br />

2.4.3 Bluetooth ....................................................................................................... 27<br />

3 Desenvolvimento .............................................................................................. 34<br />

3.1 Especificação <strong>de</strong> requisitos ........................................................................................... 34<br />

3.2 Estruturação geral do sistema e hardware ..................................................................... 35<br />

3.2.1 Estrutura geral ............................................................................................... 35<br />

3.2.2 Hardware <strong>de</strong> comunicação .............................................................................. 38<br />

3.3 <strong>Implementação</strong> com protocolo Zigbee ........................................................................... 41<br />

3.3.1 Arquitectura da re<strong>de</strong> <strong>de</strong> sensores sem fios ......................................................... 42<br />

3.3.2 Estrutura do Firmware ..................................................................................... 45<br />

3.3.3 Aquisição <strong>de</strong> sinal e preparação para a transmissão............................................ 61<br />

3.3.4 Processamento no Coor<strong>de</strong>nador e envio para a UART .......................................... 63<br />

3.4 <strong>Implementação</strong> com protocolo 802.15.4 ....................................................................... 67<br />

3.4.1 Arquitectura da re<strong>de</strong> <strong>de</strong> sensores sem fios ......................................................... 68<br />

3.4.2 Estrutura do firmware...................................................................................... 68<br />

3.4.3 Aquisição <strong>de</strong> sinal e preparação para a transmissão............................................ 73<br />

3.4.4 Processamento no Coor<strong>de</strong>nador e envio para a UART ......................................... 74<br />

VI


3.5 Estrutura do software em computador........................................................................... 74<br />

3.5.1 Aplicação Gráfica ............................................................................................ 75<br />

3.5.2 Recepção <strong>de</strong> dados ......................................................................................... 76<br />

3.5.3 Extracção <strong>de</strong> tramas ....................................................................................... 77<br />

3.5.4 Contagem <strong>de</strong> erros ......................................................................................... 78<br />

3.5.5 Visualização <strong>de</strong> dados ..................................................................................... 79<br />

3.5.6 Envio <strong>de</strong> comandos......................................................................................... 80<br />

3.6 Hardware analógico ...................................................................................................... 81<br />

3.6.1 Sensor <strong>de</strong> Temperatura Timpânica ................................................................... 81<br />

3.6.2 Circuito electrónico ......................................................................................... 82<br />

4 Resultados ........................................................................................................ 88<br />

4.1 Protótipos implementados ............................................................................................ 88<br />

4.2 Testes .......................................................................................................................... 89<br />

4.2.1 Testes do sistema ........................................................................................... 89<br />

4.3 Plano experimental ....................................................................................................... 91<br />

4.4 Resultados e Análise ..................................................................................................... 93<br />

4.5 Resultados Gerais ....................................................................................................... 102<br />

4.6 Problemas e Soluções ................................................................................................ 102<br />

5 Conclusões ...................................................................................................... 104<br />

5.1 Trabalho Futuro .......................................................................................................... 106<br />

Anexos:<br />

Anexo 1 ........................................................................................................................ 1<br />

Anexo 2 ........................................................................................................................ 2<br />

Anexo 3 ........................................................................................................................ 4<br />

Anexo 4 ........................................................................................................................ 5<br />

Anexo 5 ........................................................................................................................ 6<br />

VII


Lista <strong>de</strong> Figuras<br />

FIGURA 1: CRONOGRAMA DO PROJECTO. .............................................................................................................. 5<br />

FIGURA 2: WEARABLE MOTHERBOARD - GEORGIA TECH INSTITUTE. ............................................................................... 9<br />

FIGURA 3: ROUPA INTERACTIVA [3]. .................................................................................................................. 10<br />

FIGURA 4: PELE PARA ROBÔS FEITA DE SENSORES ORGÂNICOS [5] [6]. ........................................................................ 11<br />

FIGURA 5: CORTE VERTICO-TRANSVERSAL DO OUVIDO DIREITO [11]. ............................................................................ 13<br />

FIGURA 6: SENSORES DE TEMPERATURA TIMPÂNICA. .............................................................................................. 13<br />

FIGURA 7: VELOCIDADE DE TRANSMISSÃO VS CONSUMO DE ENERGIA [14] DATA: 23/04/2008. ......................................... 14<br />

FIGURA 8: PROJECTO HUMAN++ DESENVOLVIDO NA BÉLGICA [14]. ............................................................................ 16<br />

FIGURA 9: ÁUDIO SEM FIOS. ........................................................................................................................... 16<br />

FIGURA 10: SAPATILHAS GERADORAS DE ENERGIA. PROJECTO SHOES GENERATORS ......................................................... 17<br />

FIGURA 11: POSICIONAMENTO DAS TECNOLOGIAS DE COMUNICAÇÃO SEM FIOS, ADAPTADO DE [18]. ..................................... 18<br />

FIGURA 12: ARQUITECTURA PROTOCOLAR DO PROTOCOLO 802.15.4, ADAPTADO DE [22]. ................................................ 20<br />

FIGURA 13: TOPOLOGIAS DE REDE. A: MALHA, B: ESTRELA, C: ÁRVORE, ADAPTADO DE [43]. ..................................... 22<br />

FIGURA 14: PILHA PROTOCOLAR ZIGBEE, ADAPTADO DE [25]. ................................................................................... 23<br />

FIGURA 15: ESTRUTURA SUPERFRAME [24]. ....................................................................................................... 24<br />

FIGURA 16: MODOS DE TRANSMISSÃO DE DADOS. ................................................................................................. 25<br />

FIGURA 17: FORMATO DA MENSAGEM ZIGBEE [26]. ......................................................................................... 26<br />

FIGURA 18: (A): PICONETS PONTO A PONTO, (B): PONTO A MULTIPONTO, ADAPTADO DE [30]. ............................................. 29<br />

FIGURA 19: DOIS EXEMPLOS DE SCATTERNET, ADAPTADO DE [30]. ............................................................................ 30<br />

FIGURA 20: ESTADOS OPERACIONAIS PARA DISPOSITIVOS BLUETOOTH. ........................................................................ 32<br />

FIGURA 21: SISTEMA AQUISIÇÃO DE SINAL/REDE/APLICAÇÃO GRÁFICA. ....................................................................... 35<br />

FIGURA 22: ESTRUTURA GERAL DO SISTEMA CONCEBIDO. ........................................................................................ 36<br />

FIGURA 23: LOCALIZAÇÃO DO TRABALHO NO PROJECTO <strong>BIOSWIM</strong>. ............................................................................ 36<br />

FIGURA 24: KIT DE DESENVOLVIMENTO DE REDES DE COMUNICAÇÃO SEM FIOS DA JENNIC. ................................................. 38<br />

FIGURA 25: ARQUITECTURA DO MICROCONTROLADOR JN5148 DA JENNIC. ................................................................... 39<br />

FIGURA 26: MÓDULOS DE DESENVOLVIMENTO DA JENNIC. ....................................................................................... 39<br />

FIGURA 27: DEBUG POR SOFTWARE ATRAVÉS DO HYPERTERMINAL DO WINDOWS.............................................................. 40<br />

FIGURA 28: ARQUITECTURA DO SOFTWARE ZIGBEE PRO DA JENNIC, ADAPTADO DE [36].................................................... 42<br />

FIGURA 29: DINÂMICA DO SOFTWARE ZIGBEE PRO DA JENNIC. ................................................................................. 42<br />

FIGURA 30: TOPOLOGIA DE REDE EM ESTRELA. ..................................................................................................... 43<br />

FIGURA 31: FUNCIONAMENTO GERAL DA APLICAÇÃO IMPLEMENTADA COM O PROTOCOLO ZIGBEE. ......................................... 46<br />

FIGURA 32: TRAMA DE DADOS E TRAMA DE COMANDOS. .......................................................................................... 47<br />

FIGURA 33: ESTADOS DO NÓ CONTROLADOR E NÓ SENSOR NA GESTÃO DA REDE ZIGBEE. ................................................... 48<br />

VIII


FIGURA 34: ARQUITECTURA DA APLICAÇÃO DO COORDENADOR. ................................................................................. 49<br />

FIGURA 35: CONFIGURAÇÃO PORMENORIZADA DO RTOS DO SISTEMA OPERATIVO JENOS DO COORDENADOR. ................ 51<br />

FIGURA 36: FLUXOGRAMA DO PROGRAMA PRINCIPAL DO FIRMWARE DO COORDENADOR (FORMAÇÃO DA REDE ZIGBEE). ................. 52<br />

FIGURA 37: FLUXOGRAMAS DO PROGRAMA PRINCIPAL DO FIRMWARE DO COORDENADOR (RECEPÇÃO DE DADOS). ....................... 54<br />

FIGURA 38: ARQUITECTURA DA APLICAÇÃO DO DISPOSITIVO FINAL. ............................................................................. 56<br />

FIGURA 39: CONFIGURAÇÃO PORMENORIZADA DO RTOS DO SISTEMA OPERATIVO JENOS DO DISPOSITIVO FINAL. ............. 58<br />

FIGURA 40: FLUXOGRAMA DO PROGRAMA PRINCIPAL DO FIRMWARE DO DISPOSITIVO FINAL (PROCURA DE REDE ZIGBEE). ............... 59<br />

FIGURA 41: FLUXOGRAMAS DO PROGRAMA PRINCIPAL DO FIRMWARE DO DISPOSITIVO FINAL (AQUISIÇÃO E ENVIO DE DADOS). ......... 60<br />

FIGURA 42: CONSTRUÇÃO DAS TRAMAS NO NÓ SENSOR (PROTOCOLO ZIGBEE)................................................................ 62<br />

FIGURA 43: TRAMA DE DADOS COMPLETA (ZIGBEE)................................................................................................ 62<br />

FIGURA 44: TRAMA DE COMANDOS COMPLETA (ZIGBEE). ......................................................................................... 63<br />

FIGURA 45: ENCAIXE DO ARRAY DE AMOSTRAS DE 12 BITS NUM ARRAY DE 8 BITS. ........................................................... 64<br />

FIGURA 46: IMPLEMENTAÇÃO DO BIT STUFFING NUMA SEQUÊNCIA DE BITS A ENVIAR. ....................................................... 66<br />

FIGURA 47: ALGORITMO DO MECANISMO DE CONTAGEM DE TRAMAS PERDIDAS E REPETIDAS. ............................................... 67<br />

FIGURA 48: ARQUITECTURA DO SOFTWARE 802.15.4 STACK DA JENNIC. ..................................................................... 68<br />

FIGURA 49: FLUXOGRAMA DO PROGRAMA PRINCIPAL DO FIRMWARE DO COORDENADOR (802.15.4). ..................................... 70<br />

FIGURA 50: MÁQUINA DE ESTADOS DO DISPOSITIVO FINAL. ....................................................................................... 71<br />

FIGURA 51: FLUXOGRAMA DO PROGRAMA PRINCIPAL DO FIRMWARE DO DISPOSITIVO FINAL (802.15.4). ................................. 72<br />

FIGURA 52: CONSTRUÇÃO DAS TRAMAS NO NÓ SENSOR (PROTOCOLO 802.15.4). .......................................................... 73<br />

FIGURA 53: TRAMA DE DADOS COMPLETA (802.15.4). .......................................................................................... 74<br />

FIGURA 54: APLICAÇÃO GRÁFICA. .................................................................................................................... 75<br />

FIGURA 55: DIAGRAMA DE BLOCOS DA APLICAÇÃO GRÁFICA. ..................................................................................... 76<br />

FIGURA 56: RECEPÇÃO DE DADOS DA APLICAÇÃO GRÁFICA (EXTRACTO DO BLOCK DIAGRAM DO LABVIEW). ............................... 77<br />

FIGURA 57: DIAGRAMA DE BLOCOS DA SUBVI EXTRACT FRAMES (EXTRACÇÃO DE TRAMAS). ................................................ 78<br />

FIGURA 58: ATRIBUIÇÃO DO CLUSTER DE ERROS (NODE LIST) AO INDICADOR. ................................................................ 79<br />

FIGURA 59: VISUALIZAÇÃO DE DADOS. ............................................................................................................... 80<br />

FIGURA 60: ENVIO DE COMANDOS (EXTRACTO DO BLOCK DIAGRAM DO LABVIEW). ........................................................... 81<br />

FIGURA 61: SENSOR DE TEMPERATURA TIMPÂNICA. ............................................................................................... 82<br />

FIGURA 62: CURVA CARACTERÍSTICA DE UM TERMISTOR NTC, ADAPTADO DE [37]. .......................................................... 83<br />

FIGURA 63: AMPLIFICADOR INVERSOR COM SENSOR NA MALHA DE REALIMENTAÇÃO. ......................................................... 83<br />

FIGURA 64: CIRCUITO CONDICIONADOR PARA SENSOR DE TEMPERATURA TIMPÂNICA. ........................................................ 84<br />

FIGURA 65: TENSÃO DE SAÍDA (VOUT) EM FUNÇÃO DA TEMPERATURA. ............................................................................ 86<br />

FIGURA 66: CIRCUITO CONDICIONADOR DE SENSOR DE TEMPERATURA TIMPÂNICA. ........................................................... 88<br />

FIGURA 67: PROTÓTIPOS IMPLEMENTADOS. ........................................................................................................ 89<br />

FIGURA 68: TESTE DA AQUISIÇÃO E TRANSMISSÃO DE DADOS. ................................................................................... 90<br />

FIGURA 69: PLANO EXPERIMENTAL PARA TESTAR O PROTÓTIPO IMPLEMENTADO............................................................... 91<br />

FIGURA 70: PERDAS DE TRAMAS NA CONFIGURAÇÃO DISPOSITIVOS JUNTOS. ................................................................... 94<br />

IX


FIGURA 71: PERDAS DE TRAMAS NA CONFIGURAÇÃO DISTÂNCIA DE 10 METROS............................................................... 95<br />

FIGURA 72: PERDAS DE TRAMAS NA CONFIGURAÇÃO DISTÂNCIA DE 10 METROS SEPARADOS POR UMA PAREDE. ......................... 95<br />

FIGURA 73: PERDAS DE TRAMAS NA CONFIGURAÇÃO FRENTE E ATRÁS DO CORPO. ............................................................ 96<br />

FIGURA 74: PERDAS DE TRAMAS NA CONFIGURAÇÃO FRENTE E ATRÁS DOS PÉS. .............................................................. 96<br />

FIGURA 75: PERDAS DE TRAMAS COM 2 NÓS EM COMUNICAÇÃO. ............................................................................... 97<br />

FIGURA 76: PERDAS DE TRAMAS COM 3 NÓS EM COMUNICAÇÃO. ............................................................................... 98<br />

FIGURA 77: PERDAS DE TRAMAS COM 2 NÓS EM COMUNICAÇÃO COM CONECTOR SMA. .................................................... 98<br />

FIGURA 78: QUALIDADE DO SINAL (LQI)............................................................................................................. 99<br />

FIGURA 79: PERDAS DE TRAMAS EM TODAS AS CONFIGURAÇÕES NO MODO LOW POWER. ................................................. 100<br />

FIGURA 80: PERDAS DE TRAMAS EM TODAS AS CONFIGURAÇÕES NO MODO HIGH POWER. ................................................ 100<br />

FIGURA 81: PERDAS DE TRAMAS COM VÁRIOS NÓS SENSORES NA REDE. ..................................................................... 101<br />

Anexos:<br />

FIGURA 82: MODELO PROTOCOLAR DA PILHA ZIGBEE................................................................................................ 1<br />

FIGURA 83: PILHA DE PROTOCOLOS BLUETOOTH E PRINCIPAIS FUNÇÕES DE CADA CAMADA, ADAPTADO DE [29]. ................ 2<br />

FIGURA 84: GRUPOS DA PILHA DE PROTOCOLOS BLUETOOTH. ..................................................................................... 3<br />

FIGURA 85: CONFIGURAÇÃO PORMENORIZADA DO ZPS (PARÂMETROS DE REDE). ............................................................... 4<br />

FIGURA 86: BLOCK DIAGRAM DA SUBVI EXTRACT FRAME. .......................................................................................... 5<br />

FIGURA 87: PROTÓTIPO IMPLEMENTADO COMPLETO. ................................................................................................ 6<br />

X


Lista <strong>de</strong> Tabelas<br />

TABELA 1: PARÂMETROS A AVALIAR NO PROJECTO <strong>BIOSWIM</strong>...................................................................................... 4<br />

TABELA 2: COMPARAÇÃO DOS PROTOCOLOS ZIGBEE E BLUETOOTH, ADAPTADO DE [20]. ................................................... 19<br />

TABELA 3: BANDAS DE RADIOFREQUÊNCIA DO PROTOCOLO 802.15.4 E PROTOCOLO ZIGBEE, ADAPTADO DE [22]. ..................... 21<br />

TABELA 4: TIPO DE DISPOSITIVOS LÓGICOS NUMA REDE ZIGBEE.................................................................................. 22<br />

TABELA 5: NÍVEIS DE POTÊNCIA DE TRANSMISSÃO. ................................................................................................ 29<br />

TABELA 6: TAXAS DE TRANSMISSÃO PARA OS PACOTES USADOS EM CONEXÕES ASSÍNCRONAS (ACL), ADAPTADO DE [32].............. 31<br />

TABELA 7: CARACTERÍSTICAS PRINCIPAIS DO MICROCONTROLADOR JN5148 DA JENNIC. ................................................... 41<br />

TABELA 8: CONFIGURAÇÃO DO RTOS DO SISTEMA OPERATIVO JENOS ......................................................................... 45<br />

TABELA 9: DESCRIÇÃO DAS FUNÇÕES DO FIRMWARE DO NÓ CONTROLADOR NO PROTOCOLO ZIGBEE ...................................... 54<br />

TABELA 10: DESCRIÇÃO DAS FUNÇÕES DO FIRMWARE DO NÓ SENSOR NO PROTOCOLO ZIGBEE. ........................................... 60<br />

TABELA 11: COMANDOS E SUAS FUNÇÕES. ......................................................................................................... 63<br />

TABELA 12: DESCRIÇÃO DAS FUNÇÕES DO FIRMWARE DO NÓ CONTROLADOR NO PROTOCOLO 802.15.4. ............................... 70<br />

TABELA 13: DESCRIÇÃO DAS FUNÇÕES DO FIRMWARE DO NÓ SENSOR NO PROTOCOLO 802.15.4. ....................................... 73<br />

TABELA 14: VALORES DA RESISTÊNCIA DO SENSOR NTC SENSÍVEL À TEMPERATURA.......................................................... 82<br />

TABELA 15: VALORES DA SAÍDA (VOUT) DO CIRCUITO CONDICIONADOR EM FUNÇÃO DA TEMPERATURA. ...................................... 86<br />

TABELA 16: POSIÇÃO RELATIVA DOS DISPOSITIVOS. ................................................................................................ 92<br />

XI


Lista <strong>de</strong> Funções<br />

FUNÇÃO 1 : NÚMERO DE AMOSTRAS ZIGBEE ........................................................................................................ 62<br />

FUNÇÃO 2: DIVISOR PARA A FREQUÊNCIA DE AMOSTRAGEM DO ADC ............................................................................ 63<br />

FUNÇÃO 3: NÚMERO DE AMOSTRAS 802.15.4 .................................................................................................... 64<br />

FUNÇÃO 4: NÚMERO DE POSIÇÕES DO ARRAY PAYLOAD NO PROTOCOLO ZIGBEE ............................................................. 73<br />

FUNÇÃO 5: POTÊNCIA DISSIPADA PELO TERMISTOR ................................................................................................ 85<br />

FUNÇÃO 6: CORRENTE ELÉCTRICA QUE ATRAVESSA O TERMISTOR ............................................................................... 85<br />

FUNÇÃO 7: TENSÃO NO PONTO INTERMEDIÁRIO V3 DO CIRCUITO CONDICIONADOR ........................................................... 85<br />

FUNÇÃO 8: GANHO 1 DO CIRCUITO CONDICIONADOR .............................................................................................. 85<br />

FUNÇÃO 9: GANHO 2 DO CIRCUITO CONDICIONADOR .............................................................................................. 85<br />

FUNÇÃO 10: TENSÃO DE SAÍDA DO CIRCUITO CONDICIONADOR ................................................................................. 85<br />

FUNÇÃO 11: SENSIBILIDADE DO CIRCUITO CONDICIONADOR .............................................................................................. 87<br />

FUNÇÃO 12: RESOLUÇÃO GERAL DO SISTEMA ................................................................................................................. 87<br />

XII


Lista <strong>de</strong> Acrónimos<br />

ACL Asynchronous Connection-Less<br />

Conexão assíncrona no protocolo Bluetooth.<br />

ADC Analog to Digital Converter (Conversor Analógico - Digital)<br />

Converte um sinal analógico numa palavra binária. A resolução do conversor<br />

ditará o número <strong>de</strong> bits da palavra binária resultante.<br />

AIB APS Information Base<br />

Grupo <strong>de</strong> elementos <strong>de</strong> configuração do ZPS da Jennic.<br />

APDU Application protocol data unit<br />

Pacote <strong>de</strong> dados da camada <strong>de</strong> aplicação do protocolo Zigbee.<br />

API Application Programming Interface<br />

Conjunto <strong>de</strong> rotinas e padrões estabelecidos por um software para a utilização<br />

das suas funcionalida<strong>de</strong>s.<br />

APS Application Support Sub-Layer<br />

Sub-camada da camada <strong>de</strong> aplicação da pilha protocolar Zigbee.<br />

ASK Amplitu<strong>de</strong> Shift Keying<br />

Tipo <strong>de</strong> modulação <strong>de</strong> sinal que consiste em alterar o nível <strong>de</strong> amplitu<strong>de</strong> da<br />

onda portadora.<br />

BAN Body Area Network (Re<strong>de</strong>s <strong>de</strong> área corporal)<br />

Sistema composto por dispositivos distribuído pelo corpo humano que<br />

comunicam entre si.<br />

<strong>BIOSWIM</strong> Body Interface System based on Wearable Integrated Monitorization<br />

Sistema <strong>de</strong> Interface Corporal Integrada em Vestuário para Monitorização <strong>de</strong><br />

Sinais.<br />

BPSK Binary Phase Shift Keying<br />

Tipo <strong>de</strong> modulação <strong>de</strong> sinal on<strong>de</strong> a informação do sinal digital é transmitida na<br />

fase da onda portadora.<br />

BSN Body Sensor Network (Re<strong>de</strong> corporal <strong>de</strong> sensores)<br />

Sistema composto por dispositivos conectados com sensores distribuído pelo<br />

corpo humano que comunicam entre si.<br />

CAP Contention access period<br />

Intervalo <strong>de</strong> tempo inicial no processo <strong>de</strong> Superframe.<br />

CRC Cyclic Redundancy Check<br />

Técnica <strong>de</strong> protecção <strong>de</strong> dados.<br />

DAC Digital-to-Analog Converter<br />

Converte uma palavra binária num sinal analógico. O resultado po<strong>de</strong> ser em<br />

corrente como em tensão.<br />

XIII


DBG Debug (Depuração)<br />

Processo <strong>de</strong> encontrar e reduzir <strong>de</strong>feitos numa aplicação <strong>de</strong> software ou<br />

hardware.<br />

DH Data High rate<br />

Pacotes <strong>de</strong> transporte <strong>de</strong> gran<strong>de</strong>s quantida<strong>de</strong>s <strong>de</strong> dados no protocolo Bluetooth.<br />

DM<br />

Data Medium rate<br />

Pacotes <strong>de</strong> transporte <strong>de</strong> médias quantida<strong>de</strong>s <strong>de</strong> dados no protocolo Bluetooth.<br />

DSSS Direct-Sequence Spread Spectrum<br />

Tipo <strong>de</strong> modulação <strong>de</strong> sinal on<strong>de</strong> os bits <strong>de</strong> informação são multiplicados por<br />

uma sequência <strong>de</strong> espalhamento espectral.<br />

EMG Electromyography<br />

Técnica para avaliar e guardar a activida<strong>de</strong> eléctrica produzida nos músculos do<br />

corpo humano.<br />

FA Frequência <strong>de</strong> Amostragem<br />

FFD Full Function Device<br />

Tipo <strong>de</strong> dispositivo físico nas re<strong>de</strong>s sem fios <strong>de</strong> construção complexa.<br />

FHSS Frequency Hopping Spread Spectrum<br />

Tipo <strong>de</strong> modulação <strong>de</strong> sinal on<strong>de</strong> a informação do sinal digital é transmitida na<br />

frequência da onda portadora num padrão pseudo-aleatório.<br />

GFSK Gaussian Frequency Shift Keying<br />

Tipo <strong>de</strong> modulação <strong>de</strong> sinal on<strong>de</strong> a informação do sinal digital <strong>de</strong>pois <strong>de</strong> passar<br />

por um filtro Gaussiano é enviada na frequência da onda portadora.<br />

GTS Guaranteed Time Slots<br />

Intervalo <strong>de</strong> tempo final no processo <strong>de</strong> Superframe.<br />

IDE Integrated Development Environment<br />

Ambiente integrado para <strong>de</strong>senvolvimento <strong>de</strong> software.<br />

IEEE Institute of Electric and Electronic Engineers<br />

Grupo <strong>de</strong> <strong>de</strong>senvolvimento que actua sobre a tecnologia das re<strong>de</strong>s sem fios.<br />

ISM Industrial, Scientific, Medicine<br />

Bandas <strong>de</strong> rádio frequência reservadas internacionalmente para aplicações<br />

industriais, científicas e Médicas.<br />

JTAG Join Test Action Group<br />

Protocolo usado para testes e <strong>de</strong>bug <strong>de</strong> hardware.<br />

LabVIEW Laboratory Virtual Instrument Engineering Workbench<br />

Plataforma e ambiente <strong>de</strong> <strong>de</strong>senvolvimento para linguagem <strong>de</strong> programação<br />

gráfica da National Instruments.<br />

LQI Link Quality Indicator<br />

Valor <strong>de</strong> 8 bits que indica a qualida<strong>de</strong> do sinal entre dois dispositivos emissor e<br />

receptor.<br />

MCPS MAC Common Part Sublayer<br />

Interface responsável pelo envio e recepção <strong>de</strong> dados no protocolo 802.15.4.<br />

XIV


MISC Minimal Instruction Set Computer<br />

Grupo <strong>de</strong> elementos <strong>de</strong> configuração do ZPS da Jennic.<br />

MLME MAC Layer Management Entity<br />

Interface <strong>de</strong> gestão da re<strong>de</strong> usado para todos os comandos da camada MAC do<br />

protocolo 802.15.4.<br />

NPDU Network Protocol Data Unit.<br />

Pacote <strong>de</strong> dados da camada <strong>de</strong> re<strong>de</strong> do protocolo Zigbee.<br />

NTC Negative Temperature Coefficient<br />

Termístores cujo coeficiente <strong>de</strong> variação <strong>de</strong> resistência com a temperatura é<br />

negativo: a resistência diminui com o aumento da temperatura.<br />

O-QPSK Quadrature Phase Shift Keying<br />

Tipo <strong>de</strong> modulação <strong>de</strong> sinal on<strong>de</strong> dois bits são codificados como um só símbolo<br />

na onda portadora.<br />

PC Personal Computer<br />

Máquina capaz <strong>de</strong> variados tipos <strong>de</strong> tratamento automático <strong>de</strong> informação ou<br />

processamento <strong>de</strong> dados.<br />

PCB Printed Circuit Board<br />

Placa <strong>de</strong> circuito impresso<br />

PDA Personal Digital Assistant<br />

PDM Persistent Data Manager<br />

Módulo que trata do armazenamento dados da aplicação Zigbee em memória<br />

não-volátil.<br />

PDUM Protocol Data Unit Manager<br />

Módulo que faz a gestão dos pacotes <strong>de</strong> mensagens.<br />

PHP Hypertext Preprocessor<br />

Linguagem <strong>de</strong> programação para gerar conteúdo dinâmico na World Wi<strong>de</strong> Web<br />

(WWW).<br />

PWRM Power Manager<br />

Módulo que faz a gestão energética <strong>de</strong> dispositivos.<br />

RF Rádio-Frequência<br />

Radiações eletromagnéticas com frequência das ondas <strong>de</strong> rádio.<br />

RFD Reduced Function Device<br />

Tipo <strong>de</strong> dispositivo físico nas re<strong>de</strong>s sem fios <strong>de</strong> construção simples.<br />

RSSF Re<strong>de</strong>s <strong>de</strong> Sensores Sem Fios<br />

SCO<br />

Synchronous Connection-Oriented<br />

Conexão síncrona no protocolo Bluetooth.<br />

SI Sistema Internacional<br />

Conjunto <strong>de</strong> <strong>de</strong>finições, ou sistema <strong>de</strong> unida<strong>de</strong>s, que tem como objectivo<br />

uniformizar as medições.<br />

XV


SMA SubMiniature version A<br />

Conector coaxial <strong>de</strong> rádio frequência.<br />

UART Universal Asynchronous ReceiverTtransmitter<br />

Dispositivo <strong>de</strong> hardware utilizado para comunicação série a maiores distâncias e<br />

com sincronização feita por software.<br />

USB Universal Serial Bus<br />

Protocolo criado com o objectivo <strong>de</strong> interligar <strong>de</strong> uma forma simples e<br />

normalizada os dispositivos periféricos ao computador.<br />

VI Virtual Instrument<br />

Subrotina na linguagem gráfica do Labview.<br />

WiFi Wireless Fi<strong>de</strong>lity<br />

Marca registada da Wi-Fi Alliance, que é utilizada por produtos certificados que<br />

pertencem à classe <strong>de</strong> dispositivos <strong>de</strong> re<strong>de</strong> local sem fios.<br />

WiMax Worldwi<strong>de</strong> Interoperability for Microwave Access<br />

Protocolo <strong>de</strong> re<strong>de</strong>s sem fios para WMANs.<br />

WLAN Wireless Local Area Network<br />

Re<strong>de</strong> local sem fios.<br />

WMAN Wireless Metropolitan Area Network<br />

Re<strong>de</strong> metropolitana sem fios.<br />

WPAN Wireless Personal Area Network<br />

Re<strong>de</strong> pessoal sem fios.<br />

WWAN Wireless Wi<strong>de</strong> Area Network<br />

Re<strong>de</strong> sem fios <strong>de</strong> longo alcance.<br />

ZPS ZigBee PRO Stack<br />

Pilha protocolar Zigbee.<br />

XVI


Lista <strong>de</strong> Símbolos<br />

Ω Ohm<br />

A Ampere<br />

bps Bits por segundo<br />

dB Decibéis<br />

G Giga<br />

Hz Hertz<br />

K Kilo<br />

m Metro<br />

M Mega<br />

V Volts<br />

W Watt<br />

XVII


1 Introdução e<br />

1<br />

Objectivos<br />

A área da monitorização do corpo humano surgiu há muito tempo e têm sido objecto <strong>de</strong><br />

estudo ao longo <strong>de</strong> muitos anos. Existem vários métodos e formas <strong>de</strong> efectuar a monitorização<br />

<strong>de</strong> sinais importantes para <strong>de</strong>terminado <strong>de</strong>sempenho ou comportamento <strong>de</strong> um indivíduo. No<br />

caso das aplicações <strong>de</strong> monitorização, on<strong>de</strong> os sinais são adquiridos automaticamente por<br />

sistemas electrónicos, existem igualmente diversas formas <strong>de</strong> processar e transferir os dados.<br />

Uma <strong>de</strong>las é efectivamente as re<strong>de</strong>s <strong>de</strong> dados, on<strong>de</strong> há troca <strong>de</strong> informação entre dois ou mais<br />

dispositivos, e a informação principal flui pelos vários nós (dispositivos na re<strong>de</strong>) até um terminal<br />

<strong>de</strong>stino. O meio <strong>de</strong> comunicação po<strong>de</strong> ser, fio condutor, ou o próprio ar envolvente entre os<br />

dispositivos emissores e receptores, no caso das re<strong>de</strong>s sem fios. Em ambos os casos das re<strong>de</strong>s<br />

com e sem fios, têm-se verificado uma gran<strong>de</strong> evolução nos últimos anos, com várias aplicações<br />

em diferentes áreas. O trabalho efectuado nesta dissertação, insere-se na área da monitorização<br />

do corpo humano e usa re<strong>de</strong>s sem fios para transmitir informação.<br />

A dissertação é <strong>de</strong>senvolvida no âmbito do projecto <strong>BIOSWIM</strong> (Body Interface System<br />

based on Wearable Integrated Monitorization) o qual tem como propósito medir vários sinais do<br />

corpo humano durante a prática <strong>de</strong> um exercício físico pré-<strong>de</strong>terminado. Para fazer essa<br />

monitorização é necessário um sistema que engloba uma re<strong>de</strong> <strong>de</strong> área corporal para fazer a<br />

transmissão dos vários sinais. A dissertação em concreto tem como objectivo a criação <strong>de</strong>ssa<br />

re<strong>de</strong> sem fios para ser integrada no fato <strong>de</strong> natação, no <strong>de</strong>senvolvimento <strong>de</strong> uma aplicação<br />

gráfica para controlar a re<strong>de</strong> e visualizar os sinais dos sensores e no <strong>de</strong>senvolvimento <strong>de</strong> um<br />

sensor <strong>de</strong> temperatura timpânica para teste da re<strong>de</strong>.


2<br />

Introdução e Objectivos<br />

De seguida será apresentado o projecto <strong>BIOSWIM</strong>, os seus principais objectivos e<br />

requisitos, as principais metas <strong>de</strong>sta dissertação e a estrutura <strong>de</strong>ste documento.<br />

1.1 O projecto <strong>BIOSWIM</strong><br />

O <strong>BIOSWIM</strong> é um projecto proposto pela Universida<strong>de</strong> do Minho, na qual participam<br />

outras instituições como a Faculda<strong>de</strong> <strong>de</strong> Ciências do Desporto e <strong>de</strong> Educação Física, o INESC-<br />

Norte e o Centro <strong>de</strong> Ciência e Tecnologia Têxtil. O principal objectivo <strong>de</strong>ste projecto é a<br />

incorporação <strong>de</strong> um sistema <strong>de</strong> monitorização num fato <strong>de</strong> natação. Este sistema preten<strong>de</strong><br />

monitorizar vários parâmetros <strong>de</strong> <strong>de</strong>sempenho, biomecânicos, fisiológicos e químicos para<br />

diferentes fins. Uma vez concebido um protótipo, este po<strong>de</strong>rá ser utilizado na área da saú<strong>de</strong> e<br />

bem-estar, em particular no <strong>de</strong>sporto <strong>de</strong> alto rendimento, no <strong>de</strong>sporto <strong>de</strong> reabilitação e no<br />

<strong>de</strong>sporto <strong>de</strong> lazer. Será composto por sensores <strong>de</strong> diversas naturezas e com objectivos distintos<br />

que permitirão obter <strong>de</strong> uma vez só a informação que é obtida separadamente. Preten<strong>de</strong>-se que<br />

essa informação seja visualizada em tempo real, po<strong>de</strong>ndo ser posteriormente analisada para<br />

quantificar os parâmetros monitorizados e caracterizar comportamentos do indivíduo.<br />

Requisitos<br />

Neste projecto preten<strong>de</strong>-se também estudar a possibilida<strong>de</strong> <strong>de</strong> uma verda<strong>de</strong>ira<br />

integração <strong>de</strong> sensores em materiais têxteis, usando as suas proprieda<strong>de</strong>s para fins como a<br />

transmissão <strong>de</strong> dados ou a alimentação dos sistemas <strong>de</strong> medida. A integração dos sensores nas<br />

peças <strong>de</strong> vestuário influencia a forma como estas são fabricadas, o que leva a uma importante<br />

investigação sobre estes processos <strong>de</strong> integração <strong>de</strong> sensores nos têxteis. Aten<strong>de</strong>ndo às<br />

características têxteis, preten<strong>de</strong>-se que o fato seja completamente integral, revestindo o corpo do<br />

nadador <strong>de</strong>s<strong>de</strong> o pescoço até às extremida<strong>de</strong>s distais dos antebraços e pernas. Deve apresentar<br />

características elásticas <strong>de</strong> forma a torná-lo a<strong>de</strong>rente ao corpo do atleta e exercer uma pequena<br />

compressão do seu volume. Deve oferecer duas características térmicas: uma que facilite as<br />

trocas térmicas não constrangidas com a água e outra que preserve o calor interior.


Capítulo - 1<br />

Ao nível da re<strong>de</strong> <strong>de</strong> comunicação sem fios, o principal requisito é ter uma boa relação<br />

taxa <strong>de</strong> transmissão <strong>de</strong> dados/consumo <strong>de</strong> energia, combinado simultaneamente a uma boa<br />

capacida<strong>de</strong> <strong>de</strong> adaptação a diferentes configurações <strong>de</strong> re<strong>de</strong>.<br />

A taxa <strong>de</strong> transmissão <strong>de</strong> dados <strong>de</strong>verá ser suficiente para o fluxo <strong>de</strong> dados <strong>de</strong> todos os<br />

sensores que me<strong>de</strong>m os diferentes parâmetros, sem que ocorram atrasos na recepção <strong>de</strong><br />

dados. Existem sensores que necessitam <strong>de</strong> frequências <strong>de</strong> amostragem na or<strong>de</strong>m dos 1KHz<br />

como é o caso dos sensores EMG (Electromiografia) os quais me<strong>de</strong>m a activida<strong>de</strong> eléctrica nos<br />

músculos. Outros sensores, como o <strong>de</strong> medição <strong>de</strong> temperatura timpânica, exigem frequências<br />

<strong>de</strong> amostragem mais baixas, pois o valor da gran<strong>de</strong>za física tem uma variação mais lenta.<br />

Quanto ao consumo <strong>de</strong> energia, o sistema <strong>de</strong>verá funcionar, no mínimo, durante uma sessão <strong>de</strong><br />

treino <strong>de</strong> natação, tendo autonomia para fazer a monitorização <strong>de</strong> todos os sinais durante esse<br />

período. A capacida<strong>de</strong> <strong>de</strong> adaptação também é importante para este sistema, porque existe<br />

sempre o problema do terminal central da re<strong>de</strong> que recebe todos os dados, não ter capacida<strong>de</strong><br />

suficiente para aten<strong>de</strong>r todos os sinais provenientes dos dispositivos que fazem aquisição <strong>de</strong><br />

sinal. Neste caso, era necessário pon<strong>de</strong>rar a implementação <strong>de</strong> outras soluções, como a<br />

implementação <strong>de</strong> uma re<strong>de</strong> com fios ou adição <strong>de</strong> mais terminais receptores <strong>de</strong> dados na re<strong>de</strong><br />

sem fios.<br />

Parâmetros a avaliar pelo <strong>BIOSWIM</strong><br />

O projecto <strong>BIOSWIM</strong> compromete-se a avaliar vários parâmetros importantes para o<br />

estudo do comportamento humano no <strong>de</strong>sporto (Tabela 1). Entre eles estão parâmetros <strong>de</strong><br />

<strong>de</strong>sempenho relacionados com a performance <strong>de</strong>sportiva do atleta como o tempo, distância e<br />

velocida<strong>de</strong> <strong>de</strong> nado; parâmetros biomecânicos, ou seja, informação relacionada com os<br />

movimentos mecânicos dos membros do corpo e da cabeça; parâmetros fisiológicos, como a<br />

activida<strong>de</strong> eléctrica dos músculos (electromiografia) ou a frequência cardíaca<br />

(electrocardiografia), que são parâmetros bastante influentes no <strong>de</strong>sempenho do atleta, e por<br />

último, o <strong>BIOSWIM</strong> preconiza ainda a avaliação <strong>de</strong> três parâmetros bioquímicos com base no<br />

suor do corpo do atleta.<br />

3


Parâmetros <strong>de</strong><br />

<strong>de</strong>sempenho<br />

Tempo <strong>de</strong> nado<br />

Número <strong>de</strong> piscinas<br />

/ distância <strong>de</strong> nado<br />

Velocida<strong>de</strong> média<br />

<strong>de</strong> nado (entre<br />

partida e chegada)<br />

Tabela 1: Parâmetros a avaliar no projecto <strong>BIOSWIM</strong><br />

4<br />

Introdução e Objectivos<br />

Parâmetros biomecânicos Parâmetros fisiológicos Parâmetros<br />

Número <strong>de</strong> ciclos<br />

Frequência gestual<br />

Velocida<strong>de</strong> instantânea <strong>de</strong><br />

<strong>de</strong>slocamento<br />

Pressão palmar na mão<br />

Pressão dorsal na mão<br />

Diferencial <strong>de</strong> pressão<br />

Posição angular do cotovelo<br />

Posição angular do pulso<br />

Posição angular da cabeça<br />

Electromiografia (em<br />

diferentes músculos)<br />

Electrocardiograma<br />

Frequência cardíaca<br />

Frequência ventilatória<br />

Volume <strong>de</strong> ar corrente<br />

Ventilação pulmonar<br />

Temperatura timpânica<br />

Gasimetria capilar<br />

bioquímicos<br />

Iões<br />

Lactato<br />

Amónia<br />

Muitos <strong>de</strong>stes parâmetros são <strong>de</strong> difícil medição, e têm o problema acrescido <strong>de</strong> serem<br />

medidos num ambiente hostil como a água juntamente com o cloro das piscinas, que influencia<br />

os valores adquiridos pelo sistema. Por todas estas razões é necessário estudar vários tipos <strong>de</strong><br />

soluções e utilizar os mais diversos tipos <strong>de</strong> sensores <strong>de</strong> modo a se obter um protótipo eficiente.<br />

1.2 Objectivos do trabalho<br />

Os objectivos <strong>de</strong>ste trabalho são a concepção <strong>de</strong> um sistema <strong>de</strong> recolha <strong>de</strong> dados/sinais<br />

analógicos <strong>de</strong>ntro do fato <strong>de</strong> natação, com o condicionamento, aquisição e transmissão dos<br />

dados para um controlador central e/ou uma estação <strong>de</strong> processamento remota. Este sistema<br />

<strong>de</strong>verá integrar a alimentação eléctrica para os sensores, e interligar sensores <strong>de</strong> natureza<br />

distinta. A solução <strong>de</strong>verá ser capaz <strong>de</strong> funcionar <strong>de</strong> modo autónomo durante um <strong>de</strong>terminado<br />

período <strong>de</strong> tempo. No trabalho <strong>de</strong>verão ser consi<strong>de</strong>rados os diferentes tipos <strong>de</strong> sensores a<br />

utilizar, energia consumida, e sua interligação ao sistema <strong>de</strong> aquisição, bem como re<strong>de</strong>s <strong>de</strong><br />

comunicação sem fios com protocolos e especificações diferentes.


Capítulo - 1<br />

Finalmente, <strong>de</strong>verá ser concebido, montado e testado um protótipo. O protótipo começará<br />

pelo <strong>de</strong>senvolvimento e miniaturização das funções mais básicas do sistema, ou seja,<br />

condicionamento, aquisição <strong>de</strong> sinal e alimentação eléctrica, para posteriormente integrar esse<br />

hardware com os módulos <strong>de</strong> comunicação. Este trabalho resultará em módulos genéricos<br />

multifuncionais para implementação <strong>de</strong> sensores sem fios e numa aplicação gráfica para<br />

apresentar os dados recolhidos pelos nós sensores. Como <strong>de</strong>monstração, será <strong>de</strong>senvolvido <strong>de</strong><br />

raiz o condicionamento <strong>de</strong> sinal para um sistema <strong>de</strong> medição <strong>de</strong> temperatura timpânica.<br />

1.3 Cronologia<br />

No <strong>de</strong>correr do trabalho foram cumpridos prazos, estabelecidos anteriormente para o<br />

bom funcionamento do projecto. O projecto foi iniciado no mês <strong>de</strong> Outubro <strong>de</strong> 2009, quando<br />

foram <strong>de</strong>finidos os objectivos e principais contornos do trabalho. Para se ter um pouco da noção<br />

do trabalho efectuado ao longo do tempo, po<strong>de</strong> ser observado o cronograma da Figura 1.<br />

Figura 1: Cronograma do projecto.<br />

No inicio do trabalho foi feita uma pesquisa nas áreas <strong>de</strong> monitorização do corpo<br />

humano, e-têxteis e Body Area Networks, para se fixarem as primeiras i<strong>de</strong>ias <strong>de</strong> como se iria<br />

<strong>de</strong>senvolver um sistema integrado num fato <strong>de</strong> natação para monitorizar os diferentes sinais<br />

provenientes do corpo humano.<br />

5


6<br />

Introdução e Objectivos<br />

Depois <strong>de</strong> <strong>de</strong>finidos todos os requisitos do sistema, foram escolhidos os módulos <strong>de</strong><br />

comunicação, bem como o protocolo <strong>de</strong> re<strong>de</strong> sem fios com o qual se iria trabalhar. Ainda no<br />

mês <strong>de</strong> Outubro foi encomendado o kit <strong>de</strong> <strong>de</strong>senvolvimento para a re<strong>de</strong> <strong>de</strong> comunicação,<br />

momento em que se iniciou o estudo do ambiente <strong>de</strong> <strong>de</strong>senvolvimento, da estrutura do software<br />

e das API’s (Application Programming Interface) da Jennic.<br />

Em Novembro foi recebido o kit <strong>de</strong> <strong>de</strong>senvolvimento, momento em que foi iniciada a<br />

programação e implementação da re<strong>de</strong> sem fios com o protocolo Zigbee.<br />

Depois da primeira versão do firmware da re<strong>de</strong> sem fios, no final <strong>de</strong> Fevereiro, foi<br />

iniciado o <strong>de</strong>senvolvimento da aplicação gráfica no computador, e da interface entre o dispositivo<br />

coor<strong>de</strong>nador e a recepção <strong>de</strong> dados da aplicação gráfica.<br />

Uma vez terminada a primeira versão da aplicação gráfica e re<strong>de</strong> sem fios com o<br />

protocolo Zigbee, e com o intuito <strong>de</strong> melhorar os resultados, foi iniciado o <strong>de</strong>senvolvimento <strong>de</strong><br />

uma re<strong>de</strong> sem fios com o protocolo <strong>de</strong> mais baixo nível 802.15.4. No início <strong>de</strong> Junho, terminado<br />

este <strong>de</strong>senvolvimento, foi realizado o circuito condicionador para o sensor <strong>de</strong> temperatura<br />

timpânica.<br />

No final <strong>de</strong> todo o trabalho realizado foram testados todos os elementos que compõem o<br />

sistema <strong>de</strong> monitorização, e proce<strong>de</strong>ram-se a algumas alterações para optimização e correcção.<br />

1.4 Organização da Tese<br />

Este documento <strong>de</strong>screve todo o trabalho <strong>de</strong>senvolvido na pesquisa e projecto <strong>de</strong> um<br />

sistema protótipo capaz <strong>de</strong> monitorizar e controlar sensores integrados num fato <strong>de</strong> natação.<br />

Após a introdução segue-se a fundamentação teórica, no segundo capítulo, on<strong>de</strong> são<br />

apresentados sistemas e-têxteis, sensores <strong>de</strong> temperatura timpânica e re<strong>de</strong>s <strong>de</strong> comunicação<br />

sem fios <strong>de</strong> curto alcance. São <strong>de</strong>scritas as características que interessam a este projecto, bem<br />

como os requisitos na utilização <strong>de</strong>stas tecnologias.<br />

No terceiro capítulo é apresentado o <strong>de</strong>senvolvimento, on<strong>de</strong> é mostrado todo o trabalho<br />

efectuado neste projecto. Começa-se por <strong>de</strong>screver a arquitectura do firmware da aplicação da<br />

re<strong>de</strong> sem fios implementada com o protocolo Zigbee e posteriormente com a especificação<br />

802.15.4. Seguidamente é apresentado o software da aplicação gráfica, implementado no


Capítulo - 1<br />

ambiente <strong>de</strong> <strong>de</strong>senvolvimento LabView. Por fim, e para completar o projecto é <strong>de</strong>scrito o<br />

<strong>de</strong>senvolvimento ao nível do hardware para o sensor <strong>de</strong> temperatura timpânica.<br />

No quarto capítulo são mostrados os testes e resultados em termos do <strong>de</strong>senvolvimento<br />

e performance do sistema. É feita uma análise dos mesmos e da relação entre eles, bem como<br />

uma discussão dos problemas e soluções implementadas ao longo do projecto.<br />

Finalmente, no quinto capítulo são apresentadas todas as conclusões <strong>de</strong>ste trabalho.<br />

Foram ainda adicionadas algumas informações importantes associadas ao projecto, que seguem<br />

em anexo a esta dissertação.<br />

7


2 Estado da Arte e<br />

Fundamentos Teóricos<br />

2.1 Monitorização <strong>de</strong> pessoas com e-têxteis<br />

Os e-têxteis surgem da fusão entre as tecnologias dos materiais têxteis e sistemas<br />

electrónicos. São também conhecidos como têxteis electrónicos ou frequentemente chamados<br />

<strong>de</strong> roupa inteligente e permitem a incorporação <strong>de</strong> sistemas computacionais, electrónica digital<br />

ou analógica, nas fibras têxteis [1].<br />

Esta tecnologia tem sido objecto <strong>de</strong> estudo, <strong>de</strong>vido à recente evolução da tecnologia <strong>de</strong><br />

informação, à miniaturização dos sistemas electrónicos e à exigência do público consumidor.<br />

Existem alguns sistemas electrónicos inseridos na roupa que po<strong>de</strong>m ser confundidos com e-<br />

têxteis, mas neste caso terão que ser projectados para se a<strong>de</strong>quar às características dos tecidos<br />

como estiramentos ou rasgos [2].<br />

A tecnologia dos e-têxteis <strong>de</strong>verá ser constituída por materiais <strong>de</strong> baixo custo e<br />

<strong>de</strong>scartáveis para serem compatíveis com as roupas comuns. No entanto, a diferença das<br />

proprieda<strong>de</strong>s físicas dos e-têxteis e os componentes electrónicos, acrescida ainda da<br />

necessida<strong>de</strong> <strong>de</strong> ter baixos consumos <strong>de</strong> energia, reduzem um pouco a capacida<strong>de</strong> <strong>de</strong><br />

processamento e armazenamento <strong>de</strong>stes sistemas [2].<br />

8


Capítulo - 2<br />

Aplicações<br />

Actualmente, os e-têxteis estão aplicados nas mais diversas áreas como a saú<strong>de</strong> e a<br />

segurança. Nestas áreas os e-têxteis aumentam a autonomia dos pacientes com sistemas <strong>de</strong><br />

auxílio miniaturizados e permanentes, previnem situações <strong>de</strong> alto risco, visto os pacientes<br />

estarem, constantemente e em tempo real, conectados com hospitais, ajudam no dia-a-dia, na<br />

prevenção contra hábitos incorrectos (posturas, prevenção contra aci<strong>de</strong>ntes caseiros).<br />

Existem também aplicações militares para monitorizar sinais vitais (batimento cardíaco,<br />

frequência respiratória), comunicar com base central em caso <strong>de</strong> emergência, monitorizar o<br />

território e condições climáticas, fazer i<strong>de</strong>ntificação em combate, camuflar com adaptação da cor<br />

do fato ao meio envolvente. Veja-se o protótipo Wearable Motherboard, apresentado na Figura 2,<br />

<strong>de</strong>senvolvido pelo Georgia Tech Institute que para além <strong>de</strong> monitorizar vários sinais vitais, ainda<br />

i<strong>de</strong>ntifica se o militar foi atingido por alguma arma <strong>de</strong> fogo [1].<br />

Figura 2: Wearable Motherboard - Georgia Tech Institute.<br />

A área <strong>de</strong> jogos e multimédia adoptou também esta tecnologia, com a utilização dos e-<br />

têxteis para aumentar o realismo da interacção dos jogos com o ser humano (interacção<br />

sensorial, visual e auditiva com o mundo virtual). Existem roupas interactivas com fins práticos<br />

ou <strong>de</strong> entretenimento com displays, leitores <strong>de</strong> mp3 ou interacção com PDAs (Figura 3).<br />

9


Figura 3: Roupa interactiva [3].<br />

10<br />

Estado da arte e Fundamentos teóricos<br />

O <strong>de</strong>sporto sempre esteve associado às inovações tecnológicas. A monitorização<br />

constante para os <strong>de</strong>sportos consi<strong>de</strong>rados <strong>de</strong> alto risco revela-se muito importante, uma vez que<br />

a activida<strong>de</strong> muscular do corpo humano é levada ao extremo. É aqui que se insere o projecto<br />

<strong>BIOSWIM</strong>, na monitorização <strong>de</strong> sinais biométricos na prática <strong>de</strong> natação.<br />

Os e-têxteis têm vários problemas relacionados com as suas características que diferem<br />

bastante das características dos sistemas electrónicos. Em geral, o gran<strong>de</strong> problema dos e-<br />

têxteis é a integração <strong>de</strong> componentes electrónicos, fios e fibras condutoras nos produtos têxteis,<br />

como os tecidos ou malhas. Esta integração <strong>de</strong>verá manter as características condutoras dos<br />

fios ou do conjunto <strong>de</strong> fibras e manter a flexibilida<strong>de</strong> do tecido <strong>de</strong> modo a po<strong>de</strong>r ser vestido e<br />

garantir o funcionamento dos sistemas. Um outro problema igualmente importante é a<br />

manutenção do e-têxtil. Fazendo parte <strong>de</strong> uma peça <strong>de</strong> vestuário, será sujeito a procedimentos<br />

<strong>de</strong> limpeza tradicionais como lavagem, secagem, procedimentos esses nada amigáveis para os<br />

sistemas electrónicos.<br />

Nos e-têxteis on<strong>de</strong> sensores são integrados sensores no tecido, po<strong>de</strong>m ser utilizados<br />

dispositivos emissores e receptores para estabelecerem as comunicações entre eles. Nestes<br />

sistemas são usadas re<strong>de</strong>s <strong>de</strong> sensores sem fios (RSSF), que permitem a não utilização <strong>de</strong> fibras<br />

condutoras para a comunicação entre dispositivos, o que se revela uma vantagem. Esta solução<br />

tem consumos <strong>de</strong> energia maiores do que as re<strong>de</strong>s com fios, o que leva a outras investigações<br />

sobre a obtenção <strong>de</strong> energia através do corpo humano, para o sistema se tornar autónomo.<br />

Perspectivas Futuras<br />

Existe a necessida<strong>de</strong> <strong>de</strong> novas tecnologias como novos equipamentos electrónicos que<br />

se adaptem às necessida<strong>de</strong>s dos e-têxteis como o baixo consumo <strong>de</strong> energia, e que tenham


Capítulo - 2<br />

baixo custo <strong>de</strong> fabricação. Existe a necessida<strong>de</strong> <strong>de</strong> novos tipos <strong>de</strong> fibras condutoras com<br />

proprieda<strong>de</strong>s físicas adaptadas e novas antenas, facilmente integráveis aos tecidos. A ausência<br />

<strong>de</strong> fios é altamente atractiva para os e-têxteis, porém estes sistemas ainda possuem um<br />

consumo <strong>de</strong> energia consi<strong>de</strong>rável.<br />

Actualmente, estão a ser estudadas algumas soluções que minimizam alguns dos<br />

problemas actuais dos e-têxteis. São eles os transístores orgânicos que possuem alta<br />

flexibilida<strong>de</strong> e resistência física compatíveis com os e-têxteis, fabricados com técnicas <strong>de</strong><br />

sputtering 1 . Sensores orgânicos são também uma nova solução. São construídos sobre uma<br />

material flexível que constitui um tecido sensível à pressão e temperatura. Veja-se o exemplo da<br />

Figura 4, em que foi construída uma mão robótica com revestimento a sensores orgânicos na<br />

tentativa <strong>de</strong> imitar a pele humana. No entanto tem ainda poucos sensores quando comparados<br />

com o <strong>de</strong>do humano (16/cm 2 ), enquanto que a pele humana tem 1500/cm 2 [4].<br />

Figura 4: Pele para robôs feita <strong>de</strong> sensores orgânicos [5] [6].<br />

Estão ainda a ser consi<strong>de</strong>rados nanotubos <strong>de</strong> carbono com moléculas cilíndricas <strong>de</strong><br />

carbono formadas quando “folhas” <strong>de</strong> carbono se fecham. Po<strong>de</strong>m ter proprieda<strong>de</strong>s metálicas ou<br />

semi-condutoras, são leves, flexíveis, têm estabilida<strong>de</strong> térmica e são quimicamente inertes [7].<br />

Os e-têxteis estão cada vez mais próximos do nosso quotidiano, têm uma velocida<strong>de</strong> <strong>de</strong><br />

crescimento surpreen<strong>de</strong>nte, num mercado extremamente promissor (<strong>de</strong>s<strong>de</strong> recém-nascidos a<br />

idosos). Induz o surgimento <strong>de</strong> novas técnicas e tecnologias e um enorme avanço na interacção<br />

homem/máquina.<br />

1 Técnica <strong>de</strong> injecção contínua <strong>de</strong> átomos num material alvo por bombar<strong>de</strong>amento <strong>de</strong> partículas<br />

energéticas.<br />

11


2.2 Sinais biométricos<br />

12<br />

Estado da arte e Fundamentos teóricos<br />

A biometria é a ciência que estuda as características físicas ou comportamentais dos<br />

seres vivos. Este termo é recentemente associado à medida <strong>de</strong> características físicas ou<br />

comportamentais das pessoas como forma <strong>de</strong> i<strong>de</strong>ntificá-las individualmente [8]. Um dos sinais<br />

biométricos, que será medido pelo projecto <strong>BIOSWIM</strong> é a temperatura timpânica.<br />

2.2.1 Sensores <strong>de</strong> temperatura timpânica<br />

A temperatura corporal é um sinal vital e po<strong>de</strong> ser indicador do estado <strong>de</strong> saú<strong>de</strong> <strong>de</strong> um<br />

paciente. O corpo consegue manter a temperatura <strong>de</strong>ntro <strong>de</strong> uma gama <strong>de</strong> segurança, apesar<br />

das gran<strong>de</strong>s variações que se fazem sentir fora do corpo.<br />

Durante um exercício físico, parte do calor que é gerado a nível muscular, é transportado<br />

para os tecidos mais profundos, o que aumenta a temperatura corporal central [9]. Num<br />

exercício <strong>de</strong> elevada intensida<strong>de</strong>, a produção <strong>de</strong> calor corporal (energia) po<strong>de</strong> exce<strong>de</strong>r os<br />

1000W, o que po<strong>de</strong>rá promover o aumento <strong>de</strong> um grau por cada cinco a oito minutos, caso não<br />

se registem mudanças nos mecanismos <strong>de</strong> dissipação <strong>de</strong> calor [10]. Assim na prática <strong>de</strong><br />

exercício intenso, o aumento da temperatura corporal provoca fadiga muscular, o que influencia<br />

a performance do atleta. Por estes motivos é <strong>de</strong>terminante acompanhar a temperatura corporal<br />

dos atletas na prática <strong>de</strong>sportiva.<br />

Esta medição po<strong>de</strong> ser efectuada em várias partes do corpo, sendo a medição no<br />

tímpano uma forma bastante rápida e eficaz quando medida correctamente [11]. Outra gran<strong>de</strong><br />

vantagem da medição da temperatura no tímpano é a sua proximida<strong>de</strong> ao hipotálamo, o órgão<br />

que controla a temperatura corporal, o que torna as medições mais precisas (Figura 5).


Capítulo - 2<br />

Figura 5: Corte vertico-transversal do ouvido direito [11].<br />

Existem vários tipos <strong>de</strong> sensores <strong>de</strong> temperatura timpânica com princípios <strong>de</strong><br />

funcionamento, grau <strong>de</strong> precisão e exactidão diferentes (Figura 6).<br />

Figura 6: Sensores <strong>de</strong> temperatura timpânica.<br />

Um tipo <strong>de</strong> sensores comum são os que me<strong>de</strong>m a temperatura directamente em<br />

contacto com o tímpano, este tipo <strong>de</strong> sensores são classificados <strong>de</strong> invasivos. Outro tipo <strong>de</strong><br />

sensores bastante usado actualmente em termómetros digitais é o dos sensores infra-vermelhos.<br />

O princípio <strong>de</strong> funcionamento <strong>de</strong>ste sensor consiste na medição da energia da radiação infra-<br />

vermelha emitida pela membrana timpânica e <strong>de</strong> tecidos vizinhos [11]. Ambos os sensores têm<br />

um grau <strong>de</strong> eficácia superior a outros sensores <strong>de</strong> temperatura corporal.<br />

2.3 Re<strong>de</strong>s <strong>de</strong> área corporais (BAN)<br />

Uma re<strong>de</strong> <strong>de</strong> área corporal (em inglês Body Area Networks) é um sistema distribuído<br />

composto por dispositivos, conectados por um meio <strong>de</strong> comunicação e alimentados por baterias,<br />

localizado no corpo humano [12]. Um tipo <strong>de</strong> re<strong>de</strong>s <strong>de</strong> área corporais é as re<strong>de</strong>s <strong>de</strong> sensores<br />

corporais (Body Sensor Networks – BSN), on<strong>de</strong> as re<strong>de</strong>s são constituídas por sensores junto dos<br />

dispositivos que englobam a re<strong>de</strong>. Nestas re<strong>de</strong>s, o nó sensor é geralmente composto por uma<br />

13


14<br />

Estado da arte e Fundamentos teóricos<br />

unida<strong>de</strong> <strong>de</strong> processamento, memória, interfaces, sensores, rádio transmissor e receptor, e fonte<br />

<strong>de</strong> alimentação [13].<br />

Desenvolvimento das re<strong>de</strong>s corporais <strong>de</strong> sensores<br />

A tecnologia BAN é uma tecnologia emergente, que surge como um produto natural da<br />

combinação entre as re<strong>de</strong>s corporais existentes e a engenharia biomédica. Existem muitas<br />

aplicações para as BANs, sendo os casos mais comuns a monitorização médica, monitorização<br />

<strong>de</strong>sportiva, áudio sem fios, integração em dispositivos móveis e ví<strong>de</strong>o pessoal. Cada uma <strong>de</strong>stas<br />

aplicações tem requisitos específicos em termos <strong>de</strong> largura <strong>de</strong> banda, velocida<strong>de</strong> <strong>de</strong><br />

transmissão, potência ou distância <strong>de</strong> sinal. O IEEE (Institute of Electric and Electronic<br />

Engineers) 802.15 é o grupo <strong>de</strong> <strong>de</strong>senvolvimento para Wireless Personal Area Networks (WPAN),<br />

on<strong>de</strong> se situam as BANs e tem <strong>de</strong>senvolvido aplicações com boa relação consumo <strong>de</strong> energia e<br />

taxa <strong>de</strong> transmissão <strong>de</strong> dados. A Figura 7 <strong>de</strong>screve a posição i<strong>de</strong>al das BANs no espectro da<br />

relação consumo <strong>de</strong> energia/taxa <strong>de</strong> transmissão <strong>de</strong> dados (adaptado <strong>de</strong> [14]).<br />

Figura 7: Velocida<strong>de</strong> <strong>de</strong> transmissão vs Consumo <strong>de</strong> energia [14] data: 23/04/2008.<br />

Como se po<strong>de</strong> verificar, a gama <strong>de</strong> dispositivos BAN po<strong>de</strong> variar muito em termos <strong>de</strong><br />

largura <strong>de</strong> banda e consumo <strong>de</strong> energia, no entanto tem maioritariamente consumos <strong>de</strong> energia<br />

bastante baixos e uma taxa <strong>de</strong> transmissão <strong>de</strong> dados média/baixa, quando comparados com<br />

outros sistemas <strong>de</strong> comunicação sem fios.


Capítulo - 2<br />

Características e funcionamento<br />

As re<strong>de</strong>s corporais <strong>de</strong> sensores (BSN) têm algumas características que são comuns a<br />

várias aplicações. Uma das características é a tolerância a alguns tipos <strong>de</strong> falhas, <strong>de</strong>vido à<br />

gran<strong>de</strong> probabilida<strong>de</strong> <strong>de</strong> ocorrerem problemas na re<strong>de</strong>. Outra característica é o consumo <strong>de</strong><br />

energia que muitas vezes é um problema, geralmente nas aplicações em que é necessário o<br />

funcionamento por longos períodos <strong>de</strong> tempo. Nestes casos, os sensores po<strong>de</strong>m esgotar a<br />

energia da fonte <strong>de</strong> alimentação e <strong>de</strong>ixar <strong>de</strong> funcionar correctamente. Po<strong>de</strong> acontecer também<br />

que os dispositivos <strong>de</strong>ixem <strong>de</strong> funcionar, por causa <strong>de</strong> falhas <strong>de</strong> comunicação entre dois ou mais<br />

nós, e neste caso é necessário utilizar mecanismos <strong>de</strong> redundância que tratem estes problemas<br />

[15].<br />

Uma re<strong>de</strong> <strong>de</strong> sensores sem fios tem o seu tempo <strong>de</strong> vida <strong>de</strong>pen<strong>de</strong>nte da qualida<strong>de</strong> <strong>de</strong><br />

serviço e energia disponível. Para aumentar esse tempo <strong>de</strong> vida po<strong>de</strong>m-se seguir vários<br />

caminhos, um <strong>de</strong>les é precisamente utilizar sensores que usam energias renováveis para se<br />

alimentarem, como por exemplo a energia solar, embora estas fontes sejam limitadas. Outra<br />

solução é a obtenção <strong>de</strong> energia através do próprio corpo humano on<strong>de</strong> é aplicada a re<strong>de</strong> sem<br />

fios [15].<br />

Projectos actuais<br />

As re<strong>de</strong>s <strong>de</strong> sensores no corpo humano têm diversas aplicações e existem actualmente<br />

vários projectos que estão em <strong>de</strong>senvolvimento ou que foram implementados actualmente.<br />

Existem aplicações na área da monitorização médica, on<strong>de</strong> os pacientes po<strong>de</strong>m ser<br />

monitorizados 24 horas por dia pelo sistema. É o caso do projecto Human++ <strong>de</strong>senvolvido na<br />

Bélgica, on<strong>de</strong> um dispositivo na re<strong>de</strong> tem a capacida<strong>de</strong> <strong>de</strong> comunicar com qualquer outro<br />

dispositivo [14]. Um dispositivo central pré-<strong>de</strong>finido é <strong>de</strong>signado para todas as comunicações, e<br />

publica informações sobre todos os serviços (Figura 8). Po<strong>de</strong>m ser avaliados parâmetros como a<br />

temperatura corporal, oximetria, pressão sanguínea, níveis <strong>de</strong> glicose ou funções respiratórias.<br />

15


Figura 8: Projecto Human++ <strong>de</strong>senvolvido na Bélgica [14].<br />

16<br />

Estado da arte e Fundamentos teóricos<br />

Outro projecto sobre as re<strong>de</strong>s <strong>de</strong> monitorização do corpo humano é uma investigação<br />

levada a cabo na universida<strong>de</strong> do Dallas nos Estados Unidos da América recorrendo à utilização<br />

das BANs para avaliar o equilíbrio do corpo humano. Este sistema interpreta as activida<strong>de</strong>s<br />

musculares baseado em sensores <strong>de</strong> inércia e <strong>de</strong> electromiografia, enquanto se executam<br />

movimentos [16].<br />

Existem outras aplicações, nomeadamente em áudio sem fios, on<strong>de</strong> um dispositivo<br />

áudio po<strong>de</strong> comunicar com outros dispositivos na re<strong>de</strong> como PDA’s (Personal Digital Assistant),<br />

telemóveis ou computadores (Figura 9).<br />

Limitações das Re<strong>de</strong>s <strong>de</strong> Área Corporais<br />

Figura 9: Áudio sem fios.<br />

Um dos maiores problemas das re<strong>de</strong>s <strong>de</strong> sensores para monitorização do corpo humano<br />

continua a ser o tempo <strong>de</strong> funcionamento dos dispositivos, que é <strong>de</strong>terminado principalmente<br />

pelo consumo da energia armazenada pelas baterias. Isto <strong>de</strong>ve-se ao facto da evolução da<br />

capacida<strong>de</strong> <strong>de</strong> armazenamento <strong>de</strong> energia das baterias não ter acompanhado a evolução dos


Capítulo - 2<br />

<strong>de</strong>mais dispositivos computacionais. Para lidar com a limitação imposta pelas baterias,<br />

actualmente existem duas principais abordagens: a a<strong>de</strong>quação do software e do hardware para o<br />

uso racional da energia eléctrica e a extracção da energia necessária do meio no qual o nó<br />

sensor é utilizado. A primeira abordagem é a mais utilizada, no entanto a segunda abordagem<br />

tem evoluído <strong>de</strong> forma significativa. Em alguns sistemas e-têxteis a energia po<strong>de</strong> ser obtida pelo<br />

uso <strong>de</strong> transdutores que convertem energia mecânica, por exemplo, obtida dos movimentos do<br />

corpo humano, em energia eléctrica, necessária para a alimentação dos circuitos electrónicos.<br />

Um exemplo disso é o sistema shoes generators apresentado na Figura 10, on<strong>de</strong> é gerada<br />

energia eléctrica até 60 mW (miliwatts) <strong>de</strong> potência [17].<br />

Figura 10: Sapatilhas geradoras <strong>de</strong> energia. Projecto Shoes Generators, <strong>de</strong>senvolvido por MIT Media Laboratory [17].<br />

Na próxima secção serão abordados os protocolos <strong>de</strong> comunicação sem fios <strong>de</strong> curto<br />

alcance, visto estes estarem na base <strong>de</strong> todas as re<strong>de</strong>s corporais <strong>de</strong> sensores e constituírem um<br />

elemento fundamental no funcionamento dos mesmos.<br />

2.4 Protocolos <strong>de</strong> comunicação sem fios <strong>de</strong> curto<br />

alcance<br />

As várias alternativas e protocolos para a comunicação sem fios, têm-se revelado<br />

bastante importantes no <strong>de</strong>senvolvimento tecnológico, mais concretamente no ramo das<br />

telecomunicações. No início <strong>de</strong>ste projecto foram consi<strong>de</strong>rados dois protocolos distintos, Zigbee<br />

e Bluetooth, que têm ambos características importantes para a aplicação, no entanto têm<br />

também alguns pontos menos favoráveis para este caso.<br />

17


18<br />

Estado da arte e Fundamentos teóricos<br />

Foram ainda consi<strong>de</strong>rados outros protocolos <strong>de</strong> comunicação <strong>de</strong> curto alcance como<br />

<strong>de</strong>monstrado na Figura 11, em que se compara a relação entre o alcance (range) e a taxa <strong>de</strong><br />

transmissão <strong>de</strong> dados (data rate) dos diferentes protocolos.<br />

Figura 11: Posicionamento das tecnologias <strong>de</strong> comunicação sem fios, adaptado <strong>de</strong> [18].<br />

Para este tipo <strong>de</strong> aplicações, os protocolos que mais se a<strong>de</strong>quam são o Zigbee e o<br />

Bluetooth visto terem consumos <strong>de</strong> energia mais baixos que os restantes. O ZigBee foi<br />

<strong>de</strong>senvolvido para monitorização <strong>de</strong> sistemas, enquanto o Bluetooth é mais apropriado em<br />

aplicações que requerem uma maior taxa <strong>de</strong> transmissão <strong>de</strong> dados, como por exemplo as re<strong>de</strong>s<br />

Ad-hoc ou sistemas para transmissão <strong>de</strong> áudio ou <strong>de</strong> dados ponto a ponto.<br />

Na Tabela 2 são comparados estes dois protocolos segundo algumas características<br />

importantes para a aplicação como o alcance, a taxa <strong>de</strong> transmissão <strong>de</strong> dados, consumo <strong>de</strong><br />

energia, ou número <strong>de</strong> dispositivos por re<strong>de</strong>. Verifica-se, por exemplo, que o Zigbee tem um<br />

menor consumo <strong>de</strong> energia, alta flexibilida<strong>de</strong> e a possibilida<strong>de</strong> <strong>de</strong> junção <strong>de</strong> 65000 nós na re<strong>de</strong>,<br />

por outro lado o Bluetooth tem taxas <strong>de</strong> transmissão <strong>de</strong> dados mais elevadas [19], o que é<br />

importante para o sistema suportar vários nós sensores na re<strong>de</strong> a comunicarem sem per<strong>de</strong>rem<br />

dados.


Capítulo - 2<br />

Tabela 2: Comparação dos protocolos Zigbee e Bluetooth, adaptado <strong>de</strong> [20].<br />

Característica Zigbee<br />

(IEEE 802.15.4)<br />

Frequência <strong>de</strong> Operação 868 MHz, 902-928 MHz,<br />

Alcance<br />

Projectado<br />

Kits especiais ou ambiente externo<br />

2,4GHz ISM<br />

10-100 m<br />

Até 400 m<br />

19<br />

Bluetooth<br />

(IEEE 802.15.1)<br />

2,4 GHz ISM<br />

10 m<br />

Acima <strong>de</strong> 100 m<br />

Potência Nominal <strong>de</strong> Transmissão (-25) - 0 dBm 0 - 10 dBm<br />

Taxa <strong>de</strong> transmissão máxima 250 Kbps 1 Mbps<br />

Número <strong>de</strong> canais RF 1/10; 16 79<br />

Tipo <strong>de</strong> Modulação BPSK (+ ASK), O-QPSK GFSK<br />

Propagação DSSS FHSS<br />

Latência (típica)<br />

Junção <strong>de</strong> novo slave<br />

Acesso ao canal<br />

30 ms<br />

5 ms<br />

Perfil <strong>de</strong> Alimentação Anos<br />

Requer alimentação do slave<br />

optimizada<br />

Segurança 128 bits AES e <strong>de</strong>finível na<br />

camada <strong>de</strong> aplicação<br />

20 s<br />

2 ms<br />

Dias<br />

Funcionalida<strong>de</strong>s adhoc<br />

maximizadas<br />

64 bits, 128 bits<br />

Complexida<strong>de</strong> Simples Complexo<br />

Topologias <strong>de</strong> Re<strong>de</strong> Malha, Estrela e Árvore Adhoc piconets<br />

Número <strong>de</strong> dispositivos por re<strong>de</strong> 2-65000 8<br />

Protecção <strong>de</strong> dados 32-bit CRC 16-bit CRC<br />

Flexibilida<strong>de</strong> Muito alta Média, <strong>de</strong>pen<strong>de</strong>nte do perfil<br />

De seguida irá ser abordado cada um <strong>de</strong>stes protocolos <strong>de</strong> forma mais pormenorizada,<br />

<strong>de</strong> modo a se perceber melhor o seu funcionamento.<br />

2.4.1 802.15.4<br />

A especificação 802.15.4, normalizada pelo IEEE, foi introduzida para preencher um<br />

nicho <strong>de</strong> mercado que os protocolos Bluetooth e 802.15.3 não satisfaziam. Na sua forma mais


20<br />

Estado da arte e Fundamentos teóricos<br />

básica, este protocolo permite uma comunicação <strong>de</strong> 10 metros com taxas <strong>de</strong> transmissão <strong>de</strong><br />

dados <strong>de</strong> 250 kbps.<br />

Este protocolo <strong>de</strong>fine uma estrutura baseada em camadas, que distribuem entre si<br />

diferentes tarefas. Essa estrutura é baseada no mo<strong>de</strong>lo <strong>de</strong> referência <strong>de</strong> comunicação em re<strong>de</strong><br />

OSI (Open Systems Interconnection) estabelecido pela ISO (International Standard Organization),<br />

on<strong>de</strong> foram <strong>de</strong>finidas, primeiramente, duas camadas (Figura 12). A camada física − Physical<br />

Layer (PHY) − é a camada mais baixa da pilha protocolar e é implementada em hardware. Tem<br />

como função codificar os bits que são enviados, <strong>de</strong>scodificar os que são recebidos e receber<br />

informação fornecida pela camada MAC, como por exemplo informação sobre o tráfego do canal,<br />

qualida<strong>de</strong> da conexão ou potência do sinal recebido. A camada <strong>de</strong> acesso ao meio − Medium<br />

Access Control (MAC) – controla o acesso ao canal <strong>de</strong> rádio. Nesta camada são gerados e<br />

reconhecidos os en<strong>de</strong>reços dos outros dispositivos da re<strong>de</strong>, é feita a verificação das sequências<br />

das tramas controlo (frame check), e sincronização <strong>de</strong> tramas no modo <strong>de</strong> transmissão non-<br />

beacon (explicado na secção seguinte) [21].<br />

Figura 12: Arquitectura protocolar do protocolo 802.15.4, adaptado <strong>de</strong> [22].<br />

Este protocolo especifica uma re<strong>de</strong> <strong>de</strong> comunicação sem fios caracterizada pela baixa<br />

taxa <strong>de</strong> transmissão <strong>de</strong> dados, curto alcance, baixo consumo <strong>de</strong> energia, custo reduzido e<br />

simplicida<strong>de</strong>. É com base neste protocolo, que foi criado o Zigbee.<br />

Como muitas das características e processos <strong>de</strong> funcionamento do 802.15.4 são iguais<br />

ao protocolo Zigbee, estas serão explicadas na secção seguinte, juntamente com o que o Zigbee<br />

acrescenta.


Capítulo - 2<br />

2.4.2 Zigbee<br />

O protocolo Zigbee nasceu da necessida<strong>de</strong> <strong>de</strong> uniformizar os protocolos para garantir a<br />

interoperabilida<strong>de</strong> entre os sistemas e foi criado pelo grupo Zigbee Alliance.<br />

Consi<strong>de</strong>rações técnicas<br />

O protocolo base do Zigbee, o 802.15.4 foi <strong>de</strong>signado para operar em bandas <strong>de</strong><br />

radiofrequência isentas <strong>de</strong> licenciamento, internacionalmente conhecidas como bandas ISM<br />

(Industrial, Scientific, Medicine), que variam <strong>de</strong> acordo com o local geográfico (Tabela 3).<br />

Bandas RF<br />

Tabela 3: Bandas <strong>de</strong> radiofrequência do protocolo 802.15.4 e protocolo Zigbee, adaptado <strong>de</strong> [22].<br />

Gama <strong>de</strong> Frequência<br />

(MHz)<br />

Taxa <strong>de</strong> transferência <strong>de</strong><br />

dados (Kbps)<br />

21<br />

Número <strong>de</strong> canais Área geográfica<br />

868 MHz 868.3 20 0 (1 canal) Europa<br />

925 MHz 902-928 40 1-10 (10 canais) América, Austrália<br />

2400 MHz 2405-2480 250 11-26 (16 canais) Global<br />

A principal característica do Zigbee é o baixo consumo <strong>de</strong> energia permitindo aos<br />

dispositivos entrar em modo “sleep” quando não têm tarefas a efectuar.<br />

Os dispositivos físicos po<strong>de</strong>m ser:<br />

FFD (Full Function Device) – po<strong>de</strong>m funcionar em qualquer topologia da re<strong>de</strong>,<br />

<strong>de</strong>sempenhando a função <strong>de</strong> coor<strong>de</strong>nador da re<strong>de</strong> e consequentemente ter acesso a<br />

todos os outros dispositivos. São dispositivos <strong>de</strong> construção mais complexa;<br />

RFD (Reduced Function Device) – são limitados a uma configuração com topologia em<br />

estrela, não po<strong>de</strong>ndo actuar como coor<strong>de</strong>nador da re<strong>de</strong>, apenas comunicar com este.<br />

São dispositivos <strong>de</strong> construção mais simples.<br />

Às duas classes anteriores <strong>de</strong> dispositivos físicos correspon<strong>de</strong>m três tipos <strong>de</strong> dispositivos<br />

lógicos: Coor<strong>de</strong>nador (Coordinator), Router e Dispositivo final (End Device), e têm as funções<br />

<strong>de</strong>scritas na Tabela 4.


Dispositivo<br />

Coor<strong>de</strong>nador<br />

Tabela 4: Tipo <strong>de</strong> dispositivos lógicos numa re<strong>de</strong> Zigbee.<br />

Tipo <strong>de</strong> dispositivo físico<br />

associado<br />

(IEEE)<br />

FFD<br />

Router FFD<br />

Dispositivo final RFD ou FFD<br />

22<br />

Estado da arte e Fundamentos teóricos<br />

Função<br />

Forma a re<strong>de</strong>, atribui en<strong>de</strong>reços.<br />

Existe apenas um por re<strong>de</strong>.<br />

Permite que mais nós se juntem à re<strong>de</strong>, ao aumentar o<br />

seu alcance físico. Po<strong>de</strong> também efectuar funções <strong>de</strong><br />

controlo ou monitorização. A sua existência é opcional.<br />

Efectua acção <strong>de</strong> controlo ou monitorização através do<br />

dispositivo que lhe esteja associado (sensor, controlador,<br />

actuador…).<br />

O protocolo Zigbee permite três topologias <strong>de</strong> re<strong>de</strong> distintas, a configuração em estrela<br />

(Star), árvore (Tree) e em malha (Mesh) (ver Figura 13).<br />

Na topologia em estrela um dispositivo actua como coor<strong>de</strong>nador <strong>de</strong> re<strong>de</strong>, assumindo um<br />

papel central e <strong>de</strong> comunicação directa com todos os nós sensores. Toda a informação da re<strong>de</strong><br />

passa pelo nó coor<strong>de</strong>nador (ver Figura 13b). Na topologia em malha os dispositivos tipo FFD<br />

(Coor<strong>de</strong>nador/Routers) são livres <strong>de</strong> comunicar com outro dispositivo FFD. Isto permite a expansão da<br />

re<strong>de</strong> física da re<strong>de</strong>, ficando assim com maior alcance. O coor<strong>de</strong>nador regista toda a entrada e saída <strong>de</strong><br />

dispositivos, mas não tem um papel tão prepon<strong>de</strong>rante em termos <strong>de</strong> fluxo <strong>de</strong> informação como na<br />

configuração em estrela (ver Figura 13 a). Por último, na topologia em árvore, em semelhança com a<br />

configuração em malha também são usados dispositivos Router. No entanto, nesta topologia efectua-se a<br />

distribuição <strong>de</strong> dados e mensagens <strong>de</strong> controlo numa estrutura hierárquica, on<strong>de</strong> o Coor<strong>de</strong>nador assume<br />

o papel <strong>de</strong> nó “nuclear” da re<strong>de</strong> (ver Figura 13 c)[23].<br />

Figura 13: Topologias <strong>de</strong> re<strong>de</strong>. A: Malha, B: Estrela, C: Árvore, adaptado <strong>de</strong> [43].


Capítulo - 2<br />

Todos estes nós que constituem a re<strong>de</strong>, possuem uma arquitectura protocolar composta<br />

por camadas que comunicam entre si através <strong>de</strong> Pontos <strong>de</strong> Acesso ao Serviço (SAP). A pilha<br />

protocolar ZigBee é formada pela camada física (PHY) e camada <strong>de</strong> controlo <strong>de</strong> acesso ao meio<br />

(MAC), especificadas conforme o protocolo 802.15.4. É constituída ainda pela camada <strong>de</strong> re<strong>de</strong><br />

(NWK) e pela camada <strong>de</strong> aplicação (APL), que contém as sub-camadas Aplication Suport Sub-<br />

Layer (APS), ZigBee Device Object (ZDO) e Aplication Framework (AF). Na estrutura também são<br />

adicionados os objectos <strong>de</strong> aplicação <strong>de</strong>finidos pelo utilizador (ver Figura 14) [24]. A seguir<br />

consta uma breve <strong>de</strong>scrição das funções <strong>de</strong> cada camada.<br />

Figura 14: Pilha protocolar Zigbee, adaptado <strong>de</strong> [25].<br />

As duas camadas mais baixas da pilha protocolar são a camada física, e a camada MAC.<br />

Estas camadas foram <strong>de</strong>finidas pelo protocolo 802.15.4 e já foram explicadas na secção<br />

referente a este protocolo.<br />

A camada <strong>de</strong> re<strong>de</strong> (NWK) é, hierarquicamente, a primeira camada que é <strong>de</strong>finida no<br />

protocolo ZigBee, e tem a responsabilida<strong>de</strong> <strong>de</strong> iniciar ou terminar uma ligação <strong>de</strong> um dispositivo<br />

à re<strong>de</strong>, <strong>de</strong>scobrir novos dispositivos na vizinhança (e o armazenamento <strong>de</strong> informação relativa<br />

aos mesmos) e atribuir en<strong>de</strong>reços. É ainda nesta camada que estão presentes os mecanismos<br />

<strong>de</strong> <strong>de</strong>scoberta <strong>de</strong> caminhos e encaminhamento <strong>de</strong> informação assim como <strong>de</strong> configuração <strong>de</strong><br />

novos dispositivos.<br />

Quanto à camada <strong>de</strong> aplicação (APL), contém as sub-camadas APS, ZDO e a AF. Esta<br />

camada preten<strong>de</strong> assegurar uma correcta gestão e suporte para as diversas aplicações[25].<br />

23


Características operacionais<br />

24<br />

Estado da arte e Fundamentos teóricos<br />

O protocolo Zigbee <strong>de</strong>fine mecanismos <strong>de</strong> acesso e <strong>de</strong> gestão <strong>de</strong> canal. O mecanismo<br />

que utiliza é o CSMA-CA, on<strong>de</strong> um nó verifica a ausência <strong>de</strong> tráfego no canal antes <strong>de</strong> iniciar<br />

uma transmissão, com o objectivo <strong>de</strong> diminuir a possibilida<strong>de</strong> <strong>de</strong> colisões. Quando um canal é<br />

encontrado e <strong>de</strong>terminado como livre, o nó inicia a transmissão; sempre que ele suspeitar <strong>de</strong><br />

ocorrência <strong>de</strong> colisão, então pára imediatamente <strong>de</strong> transmitir e espera um tempo aleatório<br />

antes <strong>de</strong> tentar novamente.<br />

Existem dois modos operação da re<strong>de</strong>, modo beacon (sinalizado) e modo non-beacon<br />

(não sinalizado). No modo beacon os Routers transmitem periodicamente uma sinalização<br />

(beacons) a confirmar a sua presença aos outros nós da mesma re<strong>de</strong>, sendo que os restantes<br />

nós só necessitam <strong>de</strong> estar activos no momento da sinalização. Tal permite mantê-los no modo<br />

sleep entre sinalizações, com evi<strong>de</strong>nte vantagem em termos <strong>de</strong> consumo energético. Neste<br />

modo existe uma estrutura <strong>de</strong> superframe (ver Figura 15), que é utilizada quando é necessária<br />

ter uma garantia que o dispositivo ace<strong>de</strong>u ao canal. O superframe inicia com um beacon e é<br />

seguido por 16 intervalos <strong>de</strong> tempo iguais. Os primeiros nove intervalos (CAP - Contention<br />

access period) po<strong>de</strong>m ser usados por qualquer dispositivo, e os sete intervalos seguintes<br />

(<strong>de</strong>notados como GTS - Guaranteed Time Slots) são reservados e po<strong>de</strong>m ser alocados por um<br />

dispositivo através <strong>de</strong> um pedido [23].<br />

Figura 15: Estrutura Superframe [24].<br />

No modo non-beacon, a maioria dos dispositivos mantém os seus receptores<br />

permanentemente activos, sendo o consumo energético mais significativo, po<strong>de</strong>ndo tornar<br />

necessárias fontes <strong>de</strong> alimentação mais robustas.<br />

Ao nível do en<strong>de</strong>reçamento, o protocolo 802.15.4 especifica dois tipos <strong>de</strong> en<strong>de</strong>reço:


Capítulo - 2<br />

En<strong>de</strong>reços <strong>de</strong> re<strong>de</strong> <strong>de</strong> 16 bits: é atribuído a um nó quando se integra na re<strong>de</strong> e<br />

é único para cada nó na re<strong>de</strong>.<br />

En<strong>de</strong>reços <strong>de</strong> 64 bits: Cada nó contém um en<strong>de</strong>reço único permanente <strong>de</strong> 64<br />

bits que o i<strong>de</strong>ntifica na re<strong>de</strong>.<br />

Quanto ao modo <strong>de</strong> transmissão <strong>de</strong> dados, existem dois tipos <strong>de</strong> transmissão: directa<br />

em que a transferência <strong>de</strong> dados é feita do dispositivo <strong>de</strong> re<strong>de</strong> para o coor<strong>de</strong>nador e indirecta<br />

em que a transferência <strong>de</strong> dados é no sentido inverso, ou seja do coor<strong>de</strong>nador para o dispositivo<br />

<strong>de</strong> re<strong>de</strong>. Como já foi referido a transmissão po<strong>de</strong> ser feita no modo beacon ou non-beacon e o<br />

envio <strong>de</strong> acknowledgements é opcional, sendo importante para garantir a entrega das tramas no<br />

dispositivo <strong>de</strong> <strong>de</strong>stino (ver Figura 16)[25].<br />

Figura 16: Modos <strong>de</strong> Transmissão <strong>de</strong> dados. A-Directa com beacon activo, B: Directa com beacon inactivo, C:Indirecta.<br />

A transmissão <strong>de</strong> dados é efectuada no envio da mensagem Zigbee, que é constituída<br />

pelos dados a transmitir pelo dispositivo emissor, e pelo overhead acumulado das camadas que<br />

compõem a pilha protocolar. Na Figura 17 está <strong>de</strong>monstrado o formato e como são construídas<br />

as tramas ao longo das camadas, <strong>de</strong>s<strong>de</strong> a camada <strong>de</strong> aplicação do utilizador até à camada<br />

física.<br />

25


Figura 17: Formato da mensagem Zigbee [26].<br />

26<br />

Estado da arte e Fundamentos teóricos


Capítulo - 2<br />

O protocolo Zigbee é utilizado nas mais variadíssimas aplicações em diferentes áreas,<br />

como por exemplo a domótica - para ligar/<strong>de</strong>sligar lâmpadas ou outros dispositivos, abrir/fechar<br />

portas, janelas; a saú<strong>de</strong>, na monitorização <strong>de</strong> sinais vitais do corpo humano para prevenção <strong>de</strong><br />

doenças ou fazer diagnósticos; monitorização <strong>de</strong> veículos, como a aquisição <strong>de</strong> dados dos vários<br />

sensores hoje presentes nos automóveis ou outros meios <strong>de</strong> transporte; Na agricultura é<br />

também uma área on<strong>de</strong> o Zigbee é utilizado para medir por exemplo a humida<strong>de</strong> dos terrenos<br />

<strong>de</strong> áreas elevadas [22].<br />

2.4.3 Bluetooth<br />

A tecnologia Bluetooth surgiu em 1994, como uma das tecnologias <strong>de</strong> comunicação<br />

sem fios para substituir os tradicionais fios <strong>de</strong> conexão entre dispositivos electrónicos. Baseado<br />

no padrão 802.11 do IEEE, utiliza para transmissão <strong>de</strong> dados, ondas <strong>de</strong> rádio frequência e<br />

busca promover uma solução <strong>de</strong> baixo custo e <strong>de</strong> consumo <strong>de</strong> energia para transmissão <strong>de</strong><br />

dados e voz. A tecnologia Bluetooth reúne soluções para as Wireless Personal Area Network<br />

(WPANs), para alcances até 10 metros, mas po<strong>de</strong> atingir os 100 metros se utilizar circuitos<br />

electrónicos com maior potência [27].<br />

Características principais<br />

O protocolo Bluetooth preten<strong>de</strong> estabelecer um padrão mundial na operativida<strong>de</strong> entre<br />

diferentes dispositivos electrónicos. Para sustentar este objectivo a tecnologia assenta nalguns<br />

pontos-chave essenciais:<br />

Curto alcance: existe uma enorme varieda<strong>de</strong> <strong>de</strong> dispositivos electrónicos que necessitam<br />

<strong>de</strong> comunicação <strong>de</strong> curto alcance, como por exemplo computadores, telemóveis,<br />

impressoras, PDAs, e outros;<br />

Baixo consumo: como está implementado para curtos alcances não são necessárias<br />

gran<strong>de</strong>s potências <strong>de</strong> transmissão (0 a 10 dBm).<br />

Baixo custo: A Bluetooth Special Interest Group (SIG) estabeleceu um limite máximo <strong>de</strong> 5<br />

dólares para o custo final <strong>de</strong> um terminal Bluetooth;<br />

Taxa <strong>de</strong> transmissão <strong>de</strong> dados elevada: Tem uma taxa <strong>de</strong> transmissão <strong>de</strong> dados elevada<br />

quando comparada com outras tecnologias <strong>de</strong> comunicações <strong>de</strong> curto alcance (1 Mbps);<br />

27


28<br />

Estado da arte e Fundamentos teóricos<br />

Especificação livre: A especificação para comunicações Bluetooth <strong>de</strong>senvolvida pelo<br />

grupo SIG está disponível publicamente e com o intuito <strong>de</strong> estimular a sua utilização e<br />

aceitação mundial.<br />

Consi<strong>de</strong>rações técnicas<br />

Os dispositivos Bluetooth operam na banda ISM <strong>de</strong> 2,4 GHz, que está disponível<br />

mundialmente, sendo <strong>de</strong>stinada para usos gerais em aplicações industriais, científicas e<br />

médicas (ISM), tal como o Zigbee. Existem ainda outras fontes <strong>de</strong> RF que ocupam esta banda <strong>de</strong><br />

ISM como por exemplo alarmes <strong>de</strong> carro, telefones sem fios e até fontes <strong>de</strong> ruído aleatório como<br />

microondas ou lâmpadas <strong>de</strong> vapor <strong>de</strong> sódio. Esta partilha <strong>de</strong> banda contribui significativamente<br />

para a presença <strong>de</strong> sinais que interferem no sinal Bluetooth, tornando a banda ISM num meio<br />

pouco estável ou confiável. Para enfrentar este meio hostil, esta tecnologia emprega algumas<br />

técnicas como o Frequency Hopping Spread Spectrum (FHSS), que divi<strong>de</strong> o espectro total <strong>de</strong><br />

operação em pequenas bandas ou canais [28].<br />

No processo <strong>de</strong> transmissão <strong>de</strong> dados por FHSS, os dados são divididos em pequenos<br />

pacotes, e são transmitidos sequencialmente. Após a transmissão <strong>de</strong> um pacote, o dispositivo<br />

Bluetooth selecciona um outro canal para a transmissão do próximo pacote, efectuando o<br />

chamado hopping <strong>de</strong> frequência. A sequência <strong>de</strong> hopping usada pela tecnologia Bluetooth é<br />

aleatória e realiza 1600 hops (saltos) por segundo. Assim dispositivos que compartilham a<br />

mesma banda reduzem a possibilida<strong>de</strong> <strong>de</strong> colisões, pois têm sequências <strong>de</strong> hopping diferentes.<br />

Esta sequência <strong>de</strong> hopping torna também as conexões mais seguras, uma vez que os receptores<br />

têm que conhecer a sequência para receber os pacotes e reconstruir a mensagem. Em termos<br />

<strong>de</strong> modulação é utilizada a técnica Gaussian Frequency Shift Keying (GFSK), que consiste em<br />

atribuir frequências diferentes para a onda portadora, em função do bit que é transmitido,<br />

passando os pulsos correspon<strong>de</strong>ntes aos bits transmitidos por um filtro Gaussiano [29].<br />

O protocolo Bluetooth especifica três níveis diferentes <strong>de</strong> potência <strong>de</strong> transmissão como<br />

se po<strong>de</strong> verificar na Tabela 5.


Capítulo - 2<br />

Classe<br />

Tabela 5: Níveis <strong>de</strong> potência <strong>de</strong> transmissão.<br />

Potência<br />

29<br />

Alcance<br />

1 100 mW (+20dBm) 100 m<br />

2 2,5 mW (+4 dBm) 25 m<br />

3 1 mW (0 dBm) 10 m<br />

Estas classes <strong>de</strong> potência possibilitam diferentes alcances para os dispositivos<br />

Bluetooth. A classe 3 tem alcances até 10 metros, enquanto a classe 1 atinge os 100 metros.<br />

Os dispositivos Bluetooth po<strong>de</strong>m operar como Master (mestre) ou como Slave (escravo).<br />

Um dispositivo Master po<strong>de</strong> comunicar simultaneamente com sete dispositivos Slaves no<br />

máximo, sendo que estes dispositivos só po<strong>de</strong>m comunicar directamente com o Master. O<br />

conjunto formado pelo Master-Slave é <strong>de</strong>nominado piconet. Todos os dispositivos, numa piconet<br />

obe<strong>de</strong>cem a uma mesma sequência <strong>de</strong> hopping <strong>de</strong> frequência, <strong>de</strong>finida pelo Master da piconet.<br />

A Figura 18 ilustra as duas situações <strong>de</strong> conexão possíveis <strong>de</strong>ntro <strong>de</strong> uma piconet: conexões<br />

ponto a ponto e conexões ponto a multiponto.<br />

Figura 18: (a): Piconets ponto a ponto, (b): ponto a multiponto, adaptado <strong>de</strong> [30].<br />

A área <strong>de</strong> cobertura <strong>de</strong> uma piconet é <strong>de</strong>finida pelo raio <strong>de</strong> alcance do dispositivo<br />

mestre. Áreas <strong>de</strong> cobertura maiores ou re<strong>de</strong>s com maior número <strong>de</strong> dispositivos po<strong>de</strong>m ser<br />

obtidos através da união <strong>de</strong> piconets, o que se <strong>de</strong>signa scatternet (Figura 19).


Figura 19: Dois exemplos <strong>de</strong> Scatternet, adaptado <strong>de</strong> [30].<br />

30<br />

Estado da arte e Fundamentos teóricos<br />

Na scatternet da Figura 19 (a), o dispositivo em comum actua como Master numa<br />

piconet e como Slave na outra. Na scatternet da Figura 19 (b), o dispositivo em comum opera<br />

como Slave nas duas piconets. A conexão <strong>de</strong> duas piconets numa scatternet é feita através <strong>de</strong><br />

um dispositivo que pertence simultaneamente às duas piconets, dividindo o seu tempo <strong>de</strong><br />

operação entre elas. O dispositivo em comum não po<strong>de</strong> operar como Master nas duas piconets<br />

uma vez que os Slaves são sincronizados à sequência <strong>de</strong> hopping do dispositivo Master da<br />

piconet. Por <strong>de</strong>finição, todos os dispositivos com um mesmo Master precisam pertencer a uma<br />

mesma piconet [31].<br />

Entre dispositivos Bluetooth existem dois tipos <strong>de</strong> conexões que po<strong>de</strong>m ser estabelecidas<br />

entre um Master e um Slave: conexões síncronas e assíncronas. Nas conexões assíncronas ou<br />

Asynchronous Connection-Less (ACL), a transmissão é feita a uma cadência não regular,<br />

baseando-se na troca <strong>de</strong> pacotes, e são as primeiras a serem estabelecidas entre dois<br />

dispositivos. A transmissão <strong>de</strong> dados é feita por pacotes DH (Data High rate) ou por pacotes DM<br />

(Data Medium rate) que transportam menor quantida<strong>de</strong> <strong>de</strong> dados como o próprio nome indica.<br />

A Conexão síncrona ou Synchronous Connection-Oriented (SCO), só po<strong>de</strong> ser criada a<br />

partir <strong>de</strong> uma conexão ACL estabelecida anteriormente. Um dispositivo Master po<strong>de</strong> estabelecer<br />

até 3 conexões SCO para um mesmo Slave, ou diferentes dispositivos Slaves. As Conexões SCO<br />

realizam uma transmissão regular <strong>de</strong> dados a uma taxa constante e igual para ambos os<br />

sentidos. As conexões SCO foram projectadas para a transmissão <strong>de</strong> áudio e estabelece um<br />

canal bidireccional e simétrico <strong>de</strong> 64 kbps. Isto correspon<strong>de</strong> a um canal <strong>de</strong> áudio digital com<br />

taxa <strong>de</strong> amostragem fixa em 8 kHz e resolução <strong>de</strong> 8 bits. O protocolo Bluetooth permite até 3<br />

conexões síncronas simultâneas por dispositivo, atingindo uma taxa máxima para transmissão<br />

<strong>de</strong> voz <strong>de</strong> 384 kbps.<br />

A tecnologia Bluetooth permite uma taxa máxima <strong>de</strong> transmissão <strong>de</strong> 1 Mbps. No<br />

entanto, por causa do overhead gerado pelos diversos protocolos do Bluetooth, a taxa efectiva


Capítulo - 2<br />

máxima <strong>de</strong> transmissão é <strong>de</strong> 723,2 kbps. Para conexões Bluetooth assíncronas, as taxas<br />

máximas <strong>de</strong> transmissão po<strong>de</strong>m ser diferentes para cada sentido do tráfego dos dados,<br />

<strong>de</strong>pen<strong>de</strong>ndo do tipo <strong>de</strong> pacote que utilizam (ver Tabela 6).<br />

Tabela 6: Taxas <strong>de</strong> transmissão para os pacotes usados em conexões assíncronas (ACL), adaptado <strong>de</strong> [32].<br />

Tipo do<br />

Pacote<br />

utilizado<br />

Taxa máxima com<br />

Transmissão simétrica<br />

(kbps)<br />

Taxa <strong>de</strong> transmissão<br />

assimétrica directa<br />

(kbps)<br />

31<br />

Taxa <strong>de</strong> transmissão<br />

assimétrica inversa<br />

(kbps)<br />

DM1<br />

108,8<br />

108,8<br />

108,8<br />

DH1 172,8 172,8 172,8<br />

DM3 258,1 387,2 54,4<br />

DH3 390,4 585,6 86,4<br />

DM5 286,7 477,8 36,3<br />

DH5 433,9 723,2 57,6<br />

Visando garantir a interoperabilida<strong>de</strong> <strong>de</strong> dispositivos Bluetooth <strong>de</strong> diferentes fabricantes,<br />

o Special Interest Group (SIG) <strong>de</strong>finiu uma pilha (stack) <strong>de</strong> protocolos para a tecnologia<br />

Bluetooth. A pilha <strong>de</strong> protocolos provê regras <strong>de</strong> como os softwares aplicativos <strong>de</strong>vem proce<strong>de</strong>r<br />

para encontrar dispositivos Bluetooth, como <strong>de</strong>vem <strong>de</strong>scobrir os serviços disponíveis e como<br />

utilizar esses serviços. A pilha <strong>de</strong> protocolos Bluetooth é organizada em diversas camadas, com<br />

níveis crescentes <strong>de</strong> abstracção. O número <strong>de</strong> camadas utilizadas em cada aplicação é variável,<br />

e <strong>de</strong>pen<strong>de</strong> do nível lógico <strong>de</strong> software que se <strong>de</strong>seja para o dispositivo Bluetooth. Inclusive,<br />

algumas das camadas mais altas da pilha <strong>de</strong> protocolos são específicas para <strong>de</strong>terminadas<br />

aplicações, como aplicações <strong>de</strong> telefonia. A pilha <strong>de</strong> protocolos <strong>de</strong>finida pela especificação<br />

Bluetooth [33], po<strong>de</strong> ser consultada no anexo 2, juntamente com a <strong>de</strong>scrição da função <strong>de</strong> cada<br />

camada da pilha.<br />

Consi<strong>de</strong>rações operacionais<br />

Nesta Secção, são <strong>de</strong>scritos os aspectos funcionais da tecnologia Bluetooth incorporados<br />

pelo grupo <strong>de</strong> protocolos <strong>de</strong> transporte da pilha <strong>de</strong> protocolos. Todos esses aspectos são<br />

configurados via software, uma vez que os módulos mais recentes já incorporam todo o grupo <strong>de</strong><br />

protocolos <strong>de</strong> transporte nos circuitos integrados. No texto, os termos em inglês observados com


32<br />

Estado da arte e Fundamentos teóricos<br />

maior frequência na especificação Bluetooth serão mantidos, pois ainda não existe padronização<br />

na tradução para português.<br />

A Figura 20 mostra os principais estados operacionais <strong>de</strong> conexão para dispositivos<br />

Bluetooth. Quando o dispositivo já pertence a uma piconet, o seu estado correspon<strong>de</strong> a<br />

“conectado”. No estado Stand-By (espera), o dispositivo não pertence a nenhuma piconet, nem<br />

se encontra em processo <strong>de</strong> formação <strong>de</strong> uma piconet ou união com uma já existente. O estado<br />

Stand-By é o estado operacional padrão para um dispositivo Bluetooth.<br />

Figura 20: Estados operacionais para dispositivos Bluetooth.<br />

Para dois dispositivos Bluetooth se conectarem, é necessário que estejam <strong>de</strong>ntro da<br />

distância <strong>de</strong> alcance. Este estabelecimento <strong>de</strong> conexão passa por duas fases. Primeiramente, o<br />

dispositivo Master entra no modo Inquiry (investigação), on<strong>de</strong> procura dispositivos visíveis <strong>de</strong><br />

uma <strong>de</strong>terminada classe. Para um dispositivo Slave estar visível, é necessário habilitar o modo<br />

Inquiry Scan (procura <strong>de</strong> dispositivos). Através do Inquiry, o dispositivo mestre obtém uma lista<br />

dos dispositivos da classe especificada <strong>de</strong> interesse que estão <strong>de</strong>ntro do seu alcance e seus<br />

respectivos en<strong>de</strong>reços. Cada dispositivo Bluetooth possui um en<strong>de</strong>reço <strong>de</strong> 48 bits único no<br />

mundo. Após escolher com qual dispositivo fará a conexão, o dispositivo Master entra em modo<br />

Paging (convocação). Neste modo, o dispositivo mestre requisita a conexão ao dispositivo<br />

escravo, utilizando para isso o en<strong>de</strong>reço <strong>de</strong> 48 bits <strong>de</strong>ste dispositivo Slave obtido no modo<br />

Inquiry. O dispositivo Slave po<strong>de</strong> ser configurado para respon<strong>de</strong>r ou não às convocações do<br />

dispositivo Master. Para respon<strong>de</strong>r, precisa estar com o modo Page Scan (procura por<br />

convocações) habilitado [34].<br />

Os estados intermediários Inquiry e Page implementam conceitos <strong>de</strong> “i<strong>de</strong>ntificabilida<strong>de</strong>”<br />

e “conectabilida<strong>de</strong>” para dispositivos Bluetooth. Os dispositivos escravos po<strong>de</strong>m ser<br />

configurados <strong>de</strong> modo a não respon<strong>de</strong>rem às procuras <strong>de</strong> i<strong>de</strong>ntificação vindos <strong>de</strong> dispositivos<br />

em modo Inquiry, tornando-se invisíveis. Os dispositivos Bluetooth também po<strong>de</strong>m ser<br />

configurados <strong>de</strong> modo a não respon<strong>de</strong>rem às solicitações <strong>de</strong> conexão provenientes <strong>de</strong>


Capítulo - 2<br />

dispositivos em modo Page. Nestes casos, tais dispositivos não po<strong>de</strong>m receber conexões,<br />

somente iniciá-las. Ainda mais, em ambas as situações <strong>de</strong> Inquiry e Page, os dispositivos<br />

Bluetooth po<strong>de</strong>m ser configurados para respon<strong>de</strong>rem somente aos dispositivos <strong>de</strong> <strong>de</strong>terminada<br />

classe. Nestas condições, uma conexão não po<strong>de</strong> ser criada à força por um dispositivo estranho,<br />

nem por um <strong>de</strong> classe distinta daquela na qual se encontra configurado.<br />

Os dispositivos Bluetooth têm mecanismos para reduzir ao máximo o consumo <strong>de</strong><br />

energia, <strong>de</strong> forma a maximizar a autonomia <strong>de</strong>stes sistemas. Estes mecanismos consistem<br />

basicamente na <strong>de</strong>sactivação do circuito <strong>de</strong> transmissão <strong>de</strong> radiofrequência, quando os<br />

dispositivos não estão a transmitir.<br />

Este sistema <strong>de</strong> aquisição <strong>de</strong>verá funcionar num ambiente pouco favorável aos sistemas<br />

electrónicos e que po<strong>de</strong> ser um obstáculo para a comunicação sem fios. Deverá ter-se em conta<br />

o meio <strong>de</strong> comunicação físico que po<strong>de</strong> impor adaptações ou novas abordagens relativamente<br />

aos protocolos utilizados, ainda que seja uma questão que está fora do âmbito <strong>de</strong>ste trabalho.<br />

Na próxima secção será <strong>de</strong>scrito todo o <strong>de</strong>senvolvimento do trabalho realizado ao longo<br />

<strong>de</strong>sta dissertação.<br />

33


3 Desenvolvimento<br />

3.1 Especificação <strong>de</strong> requisitos<br />

Como já foi referido anteriormente, esta dissertação tem como objectivo monitorizar o<br />

corpo <strong>de</strong> um atleta na prática <strong>de</strong> natação, através <strong>de</strong> vários sensores integrados num fato <strong>de</strong><br />

natação. Para fazer a aquisição dos sinais provenientes dos sensores, foi implementada uma<br />

re<strong>de</strong> Zigbee com módulos da Jennic, equipados com o microcontrolador JN5148. Para fazer<br />

testes relacionados com o <strong>de</strong>sempenho da re<strong>de</strong> foi ainda <strong>de</strong>senvolvido um sensor para medir<br />

temperatura timpânica.<br />

Os principais requisitos para este trabalho são os seguintes:<br />

Possibilida<strong>de</strong> <strong>de</strong> integração num fato <strong>de</strong> natação;<br />

Consumo reduzido <strong>de</strong> energia;<br />

Possibilida<strong>de</strong> <strong>de</strong> ligação <strong>de</strong> vários dispositivos à re<strong>de</strong> com sensores acoplados;<br />

Miniaturização dos módulos <strong>de</strong> aquisição <strong>de</strong> sinal;<br />

Alcance baixo entre os dispositivos <strong>de</strong> aquisição e o nó central (low power);<br />

Taxas <strong>de</strong> transmissão <strong>de</strong> dados <strong>de</strong> 64 kbps, correspon<strong>de</strong>nte a frequências <strong>de</strong><br />

amostragem na or<strong>de</strong>m dos 5 kHz (necessário para sinal <strong>de</strong> EMG).<br />

Medição dos parâmetros sem prejudicar o <strong>de</strong>sempenho do atleta.<br />

Quanto aos sensores, inicialmente foi pensado um circuito <strong>de</strong> condicionamento <strong>de</strong> sinal<br />

para o sensor <strong>de</strong> temperatura timpânica, com o conjunto sensor/circuito a obter resoluções na<br />

or<strong>de</strong>m dos 0.2 ºC com medições <strong>de</strong> temperatura na gama <strong>de</strong> 35 ºC a 43 ºC.<br />

34


Capítulo - 3<br />

3.2 Estruturação geral do sistema e hardware<br />

3.2.1 Estrutura geral<br />

O sistema geral é constituído por um dispositivo coor<strong>de</strong>nador (nó controlador) e vários<br />

dispositivo finais (nós sensores) que constituem a re<strong>de</strong> Zigbee, à qual está ligado o sistema <strong>de</strong><br />

aquisição <strong>de</strong> sinal e a aplicação gráfica. O sistema <strong>de</strong> aquisição <strong>de</strong> sinal é composto por um<br />

sensor <strong>de</strong> temperatura timpânica acoplado do circuito <strong>de</strong> condicionamento <strong>de</strong> sinal que por sua<br />

vez se liga ao respectivo dispositivo final da re<strong>de</strong> Zigbee/802.15.4. A aplicação gráfica que é<br />

executada num computador está ligada via UART-USB ao coor<strong>de</strong>nador da re<strong>de</strong>. Este sistema<br />

po<strong>de</strong> ser mais facilmente entendido com a visualização da<br />

Figura 21.<br />

Figura 21: Sistema Aquisição <strong>de</strong> sinal/Re<strong>de</strong>/Aplicação gráfica.<br />

A medição das gran<strong>de</strong>zas físicas, como é o caso da temperatura, é feita pelo sensor que<br />

transmite o sinal ao circuito <strong>de</strong> condicionamento <strong>de</strong> sinal para fazer o processamento analógico<br />

on<strong>de</strong> posteriormente é adquirido pelo ADC (Analog to Digital Converter) do microcontrolador que<br />

constitui o dispositivo final. Os valores analógicos medidos são convertidos para valores digitais e<br />

são processados para serem enviados ao nó central da re<strong>de</strong>, o coor<strong>de</strong>nador, que por sua vez<br />

envia os dados para o computador para serem vizualizados na aplicação gráfica (Figura 22).<br />

35


Integração no projecto <strong>BIOSWIM</strong><br />

Figura 22: Estrutura geral do sistema concebido.<br />

36<br />

Desenvolvimento<br />

O trabalho realizado é apenas uma parte do projecto <strong>BIOSWIM</strong>, como se po<strong>de</strong> verificar<br />

na Figura 23. Como foi dito anteriormente neste projecto foram estabelecidos os objectivos <strong>de</strong><br />

avaliação <strong>de</strong> vários parâmetros que serão medidos todos em simultâneo e em tempo real, num<br />

protótipo final do sistema. O número <strong>de</strong> nós estará <strong>de</strong>pen<strong>de</strong>nte do volume <strong>de</strong> dados adquiridos<br />

por unida<strong>de</strong> <strong>de</strong> tempo que exige a gran<strong>de</strong>za medida. Existem parâmetros que necessitam <strong>de</strong><br />

frequências <strong>de</strong> amostragem baixas e que po<strong>de</strong>m ser adquiridos e processados pelo mesmo<br />

dispositivo final, enquanto parâmetros <strong>de</strong> gran<strong>de</strong>zas que têm variações mais rápidas no tempo<br />

exigem um dispositivo final exclusivo, para processar e enviar toda a informação adquirida.<br />

Figura 23: Localização do trabalho no projecto <strong>BIOSWIM</strong>.


Capítulo - 3<br />

Proprieda<strong>de</strong>s do sistema <strong>de</strong> re<strong>de</strong><br />

Cada nó sensor terá acoplado um ou mais sensores, que po<strong>de</strong>m ser <strong>de</strong> tipos diferentes<br />

necessitando <strong>de</strong> taxas <strong>de</strong> amostragem que po<strong>de</strong>m ser igualmente diferentes. Por esta razão é<br />

necessária uma gestão equilibrada dos sensores a ligar a cada nó para que sensores <strong>de</strong><br />

natureza distinta possam ser adquiridos pelo mesmo nó sensor e enviados ao coor<strong>de</strong>nador e por<br />

sua vez à aplicação gráfica. A seguir será feito um resumo das principais características e<br />

funcionalida<strong>de</strong>s <strong>de</strong>ste sistema <strong>de</strong> re<strong>de</strong>.<br />

Funcionalida<strong>de</strong>s do coor<strong>de</strong>nador:<br />

Controlo do número <strong>de</strong> nós sensores que ace<strong>de</strong>m à re<strong>de</strong>;<br />

Modos <strong>de</strong> transmissão High power e Low power;<br />

Fixação das frequências <strong>de</strong> amostragem dos nós sensores (até um máximo <strong>de</strong> 10<br />

kAmostras/s);<br />

Comunicação bidireccional com o computador;<br />

Visualização da qualida<strong>de</strong> do sinal <strong>de</strong> cada nó sensor;<br />

Funcionalida<strong>de</strong> <strong>de</strong> contagem <strong>de</strong> tramas perdidas/repetidas.<br />

Funcionalida<strong>de</strong>s do nó sensor:<br />

Modos <strong>de</strong> conversão do ADC: Single shot e Contínuo;<br />

Modos <strong>de</strong> transmissão High power e Low power;<br />

Dois modos <strong>de</strong> operação: Modo Sleep e Modo activo.<br />

As proprieda<strong>de</strong>s do sistema <strong>de</strong> re<strong>de</strong> Zigbee e 802.15.4 são semelhantes, pois as duas<br />

aplicações foram construídas para funcionarem com a mesma aplicação gráfica, e para terem as<br />

mesmas características. No entanto diferem no tamanho das tramas <strong>de</strong> dados, on<strong>de</strong> na<br />

aplicação Zigbee são constituídas por 82 bytes e na aplicação 802.15.4 por 98 bytes.<br />

Logicamente que o processamento difere um pouco entre as duas aplicações, pois o modo <strong>de</strong><br />

disposição das amostras nas tramas é diferente. Estes temas serão abordados nos próximos<br />

subcapítulos.<br />

37


3.2.2 Hardware <strong>de</strong> comunicação<br />

38<br />

Desenvolvimento<br />

Para fazer a selecção do hardware <strong>de</strong> comunicação foram consi<strong>de</strong>rados alguns<br />

requisitos importantes para o projecto <strong>BIOSWIM</strong>. O requisito mais importante é o tamanho dos<br />

módulos <strong>de</strong> comunicação, visto que serão integrados no fato <strong>de</strong> natação. Outro requisito é o<br />

consumo <strong>de</strong> energia, pois como o sistema é alimentado por baterias, e terá que ser autónomo,<br />

não po<strong>de</strong> ter consumos <strong>de</strong> energia elevados pois esgotariam rapidamente a energia acumulada<br />

nas baterias. Os módulos <strong>de</strong> comunicação sem fios <strong>de</strong>verão ser flexíveis ao nível da<br />

programação, <strong>de</strong> modo ao sistema po<strong>de</strong>r-se adaptar a várias configurações e aplicações<br />

específicas. Por último, mas não menos importante é o custo dos módulos. Os terminais <strong>de</strong> re<strong>de</strong><br />

sem fios com os protocolos Bluetooth, Zigbee ou 802.15.4 têm preços relativamente baixos. Por<br />

todas estas razões foram escolhidos os módulos <strong>de</strong> <strong>de</strong>senvolvimento da Jennic (Figura 24).<br />

Figura 24: Kit <strong>de</strong> <strong>de</strong>senvolvimento <strong>de</strong> re<strong>de</strong>s <strong>de</strong> comunicação sem fios da Jennic.<br />

Este kit <strong>de</strong> <strong>de</strong>senvolvimento tem algumas vantagens para este tipo <strong>de</strong> aplicações. Foi<br />

<strong>de</strong>senvolvido para iniciantes à programação <strong>de</strong> re<strong>de</strong>s sem fios, e admitem diferentes protocolos,<br />

tendo algumas application notes <strong>de</strong>senvolvidas. Os módulos <strong>de</strong> <strong>de</strong>senvolvimento têm o<br />

microcontrolador JN5148 da Jennic, que possui algumas características essenciais para o<br />

<strong>de</strong>senvolvimento <strong>de</strong>ste projecto. Na Figura 25 está representada a arquitectura do<br />

microcontrolador <strong>de</strong>stes módulos <strong>de</strong> <strong>de</strong>senvolvimento, em diagrama <strong>de</strong> blocos.


Capítulo - 3<br />

Figura 25: Arquitectura do microcontrolador JN5148 da Jennic.<br />

O kit <strong>de</strong> <strong>de</strong>senvolvimento é composto por cinco placas construídas pela Jennic que<br />

possibilitam várias funções como a alimentação do microcontrolador, carregamento <strong>de</strong> firmware<br />

ou teste das aplications notes. Nessas placas po<strong>de</strong>m-se conectar os módulos <strong>de</strong><br />

<strong>de</strong>senvolvimento que são constituídos pelo módulo <strong>de</strong> comunicação transmissor/receptor rádio<br />

e pelo microcontrolador JN5148 que está integrado na placa PCB (Printed Circuit Board) e tem<br />

um cristal externo. Existem dois tipos <strong>de</strong> módulos: High Power e Low Power. Os módulos Low<br />

Power po<strong>de</strong>m ter uma antena com conector SMA (SubMiniature version A), ou ter a antena<br />

integrada directamente na placa PCB. Na Figura 26 po<strong>de</strong> ver-se os dois tipos <strong>de</strong> módulos, e a<br />

diferença entre os módulos Low Power com e sem conector SMA.<br />

Figura 26: Módulos <strong>de</strong> <strong>de</strong>senvolvimento da Jennic.<br />

39


Ambiente <strong>de</strong> <strong>de</strong>senvolvimento e Debugger<br />

40<br />

Desenvolvimento<br />

Os módulos <strong>de</strong> <strong>de</strong>senvolvimento da Jennic utilizam o ambiente <strong>de</strong> <strong>de</strong>senvolvimento<br />

Eclipse. Esta plataforma multi-linguagem <strong>de</strong> programação inclui um ambiente <strong>de</strong><br />

<strong>de</strong>senvolvimento integrado (IDE) e um sistema extensível plug-in. Foi <strong>de</strong>senvolvido<br />

principalmente em Java e permite <strong>de</strong>senvolver aplicações em diversas linguagens <strong>de</strong><br />

programação: Java, C/C++, COBOL ou PHP [35].<br />

O <strong>de</strong>bug <strong>de</strong>stes módulos <strong>de</strong> <strong>de</strong>senvolvimento po<strong>de</strong> ser feito por hardware, através <strong>de</strong><br />

uma interface <strong>de</strong> hardware JTAG (Join Test Action Group), ou pelo hyperterminal do Windows. O<br />

<strong>de</strong>bug por hardware consiste em conectar a interface JTAG ao computador através da porta série<br />

e ao dispositivo da Jennic. É <strong>de</strong>scarregado um pequeno programa <strong>de</strong> comunicação para o<br />

dispositivo que <strong>de</strong>pois envia a informação <strong>de</strong> <strong>de</strong>bug (variáveis/referências temporais na<br />

execução do algoritmo) para o computador. O <strong>de</strong>bug por software consiste em enviar a<br />

informação <strong>de</strong> <strong>de</strong>bug pela porta UART do dispositivo, para serem visualizados no hyperterminal<br />

do sistema operativo Windows (Figura 27).<br />

Características gerais<br />

Figura 27: Debug por software através do hyperterminal do Windows.<br />

As características principais dos módulos <strong>de</strong> <strong>de</strong>senvolvimento da Jennic são<br />

enumeradas na Tabela 7.


Capítulo - 3<br />

Tabela 7: Características principais do microcontrolador JN5148 da Jennic.<br />

Transmissor<br />

• 2.4GHz IEEE802.15.4 compliant<br />

• Time of Flight ranging engine<br />

• 128-bit AES security processor<br />

• MAC accelerator with packet formatting,<br />

CRCs, address check, auto-acks, timers<br />

• 500 & 667kbps data rate mo<strong>de</strong>s<br />

• Integrated sleep oscillator for low power<br />

• On chip power regulation for 2.0V<br />

to 3.6V battery operation<br />

• Deep sleep current 100nA<br />

• Sleep current with active sleep timer<br />

1.25μA<br />

• Rx current 17.5mA<br />

• Tx current 15.0mA<br />

• Receiver sensitivity -95dBm<br />

• Transmit power 2.5dBm<br />

Para <strong>de</strong>senvolver a re<strong>de</strong> <strong>de</strong> comunicação sem fios, foram consi<strong>de</strong>rados dois protocolos<br />

diferentes <strong>de</strong> modo a po<strong>de</strong>rem comparar-se as performances <strong>de</strong> comunicação: o Bluetooth e o<br />

Zigbee. O protocolo Zigbee tem uma excelente relação taxa <strong>de</strong> transmissão <strong>de</strong> dados, consumo<br />

<strong>de</strong> energia, o que levou em conjunto com as características dos módulos <strong>de</strong> <strong>de</strong>senvolvimento, à<br />

escolha <strong>de</strong>ste protocolo para a aplicação. Mais tar<strong>de</strong>, com o objectivo <strong>de</strong> melhorar o<br />

<strong>de</strong>sempenho da re<strong>de</strong> criada com este protocolo, foi implementada outra solução com o<br />

protocolo 802.15.4. Como já foi referido anteriormente neste documento, o 802.15.4 é a base<br />

do Zigbee, diferindo basicamente nas últimas camadas do mo<strong>de</strong>lo OSI, on<strong>de</strong> o Zigbee<br />

acrescenta camadas <strong>de</strong> re<strong>de</strong> e <strong>de</strong> aplicação. Em termos práticos, na comunicação com o<br />

protocolo 802.15.4 as tramas têm um overhead menor que no Zigbee e o tamanho máximo do<br />

Payload é maior. Na próxima secção será <strong>de</strong>scrito o conteúdo <strong>de</strong>ste <strong>de</strong>senvolvimento.<br />

3.3 <strong>Implementação</strong> com protocolo Zigbee<br />

Os módulos <strong>de</strong> <strong>de</strong>senvolvimento da Jennic foram construídos para aplicações com o<br />

protocolo Zigbee. Para dar suporte às aplicações o software foi construído para que se possam<br />

interligar os vários módulos especificados no mo<strong>de</strong>lo OSI e os módulos próprios da Jennic. No<br />

41<br />

Microcontrolador<br />

• Low power 32-bit RISC CPU, 4 to 32MHz clock speed<br />

• Variable instruction width for high coding efficiency<br />

• Multi-stage instruction pipeline<br />

• 128kB ROM and 128kB RAM for bootloa<strong>de</strong>d program<br />

co<strong>de</strong> & data<br />

• JTAG <strong>de</strong>bug interface<br />

• 4-input 12-bit ADC, 2 12-bit DACs, 2 comparators<br />

• 3 application timer/counters,<br />

• 2 UARTs<br />

• SPI port with 5 selects<br />

• 2-wire serial interface<br />

• 4-wire digital audio interface<br />

• Watchdog timer<br />

• Low power pulse counters<br />

• Up to 21 DIO


42<br />

Desenvolvimento<br />

próximo subcapítulo é apresentada a arquitectura da re<strong>de</strong> <strong>de</strong> sensores sem fios, com uma breve<br />

explicação sobre toda a dinâmica da construção da re<strong>de</strong> Zigbee.<br />

3.3.1 Arquitectura da re<strong>de</strong> <strong>de</strong> sensores sem fios<br />

A aplicação feita pelo programador encontra-se na camada <strong>de</strong> aplicação do software<br />

Zigbee PRO da Jennic. Essa aplicação inicia outros módulos como o Jennic Operating System<br />

(JenOS), o Zigbee PRO Stack (ZPS) ou os periféricos integrados, através das Aplication Program<br />

Interfaces (APIs) disponibilizadas pela Jennic (Figura 28).<br />

Figura 28: Arquitectura do software Zigbee PRO da Jennic, adaptado <strong>de</strong> [36].<br />

O software Zigbee PRO da Jennic permite a construção <strong>de</strong> um sistema dinâmico multi-<br />

tarefa, on<strong>de</strong> várias funções são executadas em “simultâneo”, por via <strong>de</strong> eventos que vão<br />

surgindo ao longo do processo e comandam a maioria das funções e tarefas. Todo este processo<br />

tem início quando o sistema JenOS inicia o módulo Real-Time Operating System (RTOS) on<strong>de</strong> se<br />

criam as tarefas, eventos, interrupções ou timers (Figura 29).<br />

Figura 29: Dinâmica do software Zigbee PRO da Jennic.


Capítulo - 3<br />

O RTOS quando é executado inicia um processo <strong>de</strong> ocorrência <strong>de</strong> eventos, que po<strong>de</strong>m<br />

invocar as tarefas, interrupções ou comunicações entre tarefas criadas. Como se po<strong>de</strong> verificar<br />

no exemplo da Figura 29, as mensagens 1 e 2 vindas do Zigbee PRO Stack (ZPS) activam as<br />

tarefas 1 e 3 respectivamente. A tarefa 3 po<strong>de</strong> também ser activada pelo timer 2, enquanto o<br />

timer 1 é iniciado na tarefa 1. A tarefa 2 é activada por software na tarefa 3. As funções envio,<br />

recepção e tratamento <strong>de</strong> dados po<strong>de</strong>m ser construídas <strong>de</strong>ntro <strong>de</strong>stas tarefas, ou po<strong>de</strong>m ser<br />

in<strong>de</strong>pen<strong>de</strong>ntes, tendo neste caso que serem executadas por software.<br />

O JenOS inicia também outros módulos relacionados com a comunicação Zigbee que<br />

estão representados na Figura 28, como o Protocol Data Unit Manager (PDUM) que faz a gestão<br />

dos pacotes <strong>de</strong> mensagens, ou o Persistent Data Manager (PDM) que trata do armazenamento<br />

<strong>de</strong> dados da aplicação Zigbee em memória não-volátil. Os periféricos integrados como ADCs,<br />

DACs, UARTS ou Timers são também acedidos pela camada <strong>de</strong> aplicação através das<br />

respectivas aplicações <strong>de</strong> interface (API’s).<br />

O algoritmo que relaciona os vários módulos representados na Figura 28 po<strong>de</strong> ser<br />

construído no editor JenOS Configuration Editor, enquanto os parâmetros <strong>de</strong> re<strong>de</strong>, como tempos<br />

relacionados com a transmissão e outros parâmetros importantes para a comunicação, são<br />

configurados no ZPSconfig.<br />

Perfil da Re<strong>de</strong> Zigbee e características<br />

A re<strong>de</strong> Zigbee implementada tem uma topologia <strong>de</strong> re<strong>de</strong> em estrela, com o coor<strong>de</strong>nador<br />

<strong>de</strong> re<strong>de</strong> a assumir um papel central e <strong>de</strong> comunicação directa com todos os dispositivos finais.<br />

Toda a informação em circulação na re<strong>de</strong> passa pelo nó coor<strong>de</strong>nador.<br />

Figura 30: Topologia <strong>de</strong> re<strong>de</strong> em estrela.<br />

43


44<br />

Desenvolvimento<br />

Algumas das escolhas seguintes foram tomadas, com o objectivo <strong>de</strong> aumentar a taxa <strong>de</strong><br />

transmissão <strong>de</strong> dados entre os nós sensores e o nó controlador, como manter os nós sensores<br />

sempre em modo activo, estando esta característica directamente ligada ao modo <strong>de</strong> operação<br />

<strong>de</strong> re<strong>de</strong>, non-beacon, que não permite que o nó sensor entre em modo sleep. O envio <strong>de</strong><br />

acknowledgements é opcional, e pelo mesmo motivo citado em cima, optou-se por não enviar<br />

acknowledgements, pois o seu envio atrasa um pouco as velocida<strong>de</strong>s <strong>de</strong> transmissão <strong>de</strong> dados.<br />

Todas as outras características, como o método <strong>de</strong> acesso à re<strong>de</strong>, procura <strong>de</strong> re<strong>de</strong> ou método<br />

<strong>de</strong> retransmissão <strong>de</strong> trama, são comuns a todas as aplicações Zigbee.<br />

Estruturação Geral<br />

Como foi dito anteriormente, o software Zigbee PRO stack da Jennic permite a<br />

configuração <strong>de</strong> parâmetros <strong>de</strong> re<strong>de</strong> no ZPSconfig e a configuração do sistema operativo no<br />

JenOS configuration editor. A seguir é feito um resumo dos parâmetros configurados no<br />

ZPSconfig e os principais blocos do algoritmo construído para o JenOS, para se obter uma<br />

melhor compreensão do funcionamento da re<strong>de</strong> Zigbee.<br />

A configuração do ZPS, permite ajustar os parâmetros <strong>de</strong> re<strong>de</strong> <strong>de</strong> acordo com a<br />

aplicação que se quer construir. Neste caso optou-se por um tamanho do pacote <strong>de</strong> dados da<br />

camada <strong>de</strong> aplicação (APDU - application protocol data unit) <strong>de</strong> 82 bytes para as tramas <strong>de</strong><br />

dados dos sensores e 10 bytes para as tramas <strong>de</strong> comandos. Foram activados os canais <strong>de</strong> 11<br />

a 26 para o dispositivo final e o canal 13 para o coor<strong>de</strong>nador. O número <strong>de</strong> pacotes <strong>de</strong> dados<br />

da camada <strong>de</strong> re<strong>de</strong> do protocolo Zigbee (NPDUs - Network Protocol Data Unit) é também<br />

importante, uma vez que a trama <strong>de</strong> dados construída na aplicação vai ser dividida nesta<br />

quantida<strong>de</strong> <strong>de</strong> pacotes para ser enviada ao coor<strong>de</strong>nador, o que influencia a velocida<strong>de</strong> <strong>de</strong><br />

transmissão. São também configurados alguns tempos, como o tempo entre o envio das frames<br />

(3 ms), e parâmetros relacionados com a gestão da re<strong>de</strong>, como o número <strong>de</strong> falhas antes <strong>de</strong><br />

um dispositivo final se juntar novamente à re<strong>de</strong> (5 falhas). Estas configurações po<strong>de</strong>m ser vistas<br />

em maior pormenor no anexo 3.<br />

Na Tabela 8 estão os principais elementos da configuração do RTOS do sistema<br />

operativo Jennic. Nas Figuras 35 e 39 po<strong>de</strong>-se encontrar o diagrama <strong>de</strong>sta configuração para<br />

cada um dos dispositivos.


Capítulo - 3<br />

Tarefas (Tasks):<br />

Timers:<br />

Tabela 8: Configuração do RTOS do sistema operativo JenOS<br />

Coor<strong>de</strong>nador Dispositivo final<br />

o APP_taskControllerNo<strong>de</strong>;<br />

o APP_taskLogData;<br />

o APP_taskComandControl;<br />

o APP_tmrLogData;<br />

Mensagens entre tarefas:<br />

o APP_msgSensorEvent;<br />

o APP_msgComandEvent;<br />

o APP_msgZPSEvent;<br />

Interrupções;<br />

Callbacks;<br />

45<br />

Tarefas (Tasks):<br />

Timers:<br />

o APP_taskSensorNo<strong>de</strong>;<br />

o APP_taskSampleSensors;<br />

o APP_taskAmostragem;<br />

o APP_taskFreqAmostControl;<br />

o APP_tmrAmostragem;<br />

o APP_tmrRestart;<br />

Mensagens entre tarefas:<br />

o APP_msgComandEvent;<br />

o APP_msgZPSEvent;<br />

Interrupções;<br />

Callbacks;<br />

Foram implementadas todas estas funções no sistema operativo JenOS que serão<br />

explicadas em pormenor na secção seguinte. O diagrama <strong>de</strong> blocos <strong>de</strong> todas estas funções<br />

encontra-se no Anexo 3 e 4 para o coor<strong>de</strong>nador e dispositivo final respectivamente. É importante<br />

referir que as interrupções, callbacks e mensagens inter-tarefas provenientes <strong>de</strong> eventos da pilha<br />

Zigbee, estão previamente implementadas no Template fornecido pelo fabricante dos módulos<br />

<strong>de</strong> experimentação, em ambos os dispositivos <strong>de</strong> re<strong>de</strong> coor<strong>de</strong>nador e dispositivo final, e são<br />

comuns à maioria das aplicações Zigbee, pelo que já se encontravam <strong>de</strong>senvolvidas.<br />

3.3.2 Estrutura do Firmware<br />

Antes <strong>de</strong> ser explicada a estrutura do firmware, e como os eventos, tarefas e funções se<br />

relacionam entre si, será feita uma breve explicação sobre o funcionamento geral <strong>de</strong> todo o<br />

sistema da re<strong>de</strong> Zigbee <strong>de</strong>senvolvida, em termos mais práticos.


Geral<br />

Figura 31: Funcionamento geral da aplicação implementada com o protocolo Zigbee.<br />

46<br />

Desenvolvimento<br />

O sistema contém como já foi citado anteriormente, dois dispositivos <strong>de</strong> re<strong>de</strong>, o<br />

coor<strong>de</strong>nador e o dispositivo final, sendo a re<strong>de</strong> sem fios constituída por um só coor<strong>de</strong>nador (nó<br />

controlador) e vários dispositivos finais (nós sensores). Nestes dispositivos finais, preten<strong>de</strong>-se<br />

que o firmware seja geral e igual para todos, sem prejuízo <strong>de</strong> po<strong>de</strong>rem posteriormente ser<br />

introduzidas alterações <strong>de</strong> acordo com as necessida<strong>de</strong>s e características dos sensores a eles<br />

ligados.<br />

Uma vez iniciados os dispositivos, estes executam processos <strong>de</strong> re<strong>de</strong> para criação da<br />

re<strong>de</strong> Zigbee e estabelecimento da conexão, e que serão explicados na próxima secção. Depois<br />

da criação da ligação entre os dispositivos começa a transferência <strong>de</strong> dados, que flui<br />

principalmente dos dispositivos finais para o coor<strong>de</strong>nador. O coor<strong>de</strong>nador apenas envia<br />

comandos aos dispositivos finais.<br />

Nos dispositivos finais, o sinal do sensor é convertido pelo ADC num sinal digital à<br />

frequência <strong>de</strong>sejada pelo utilizador. A frequência é <strong>de</strong>terminada por um timer que activa a tarefa<br />

<strong>de</strong> aquisição <strong>de</strong> amostras “APP_taskAmostragem”. As amostras vão sendo adquiridas<br />

sucessivamente e guardadas num array enquanto o sistema está no modo “Monitorização”.<br />

Quando o array é totalmente preenchido é construída a trama e enviada ao coor<strong>de</strong>nador. As<br />

tramas contêm o No<strong>de</strong> ID, que i<strong>de</strong>ntifica o dispositivo final que enviou, e o número <strong>de</strong> trama<br />

para controlar as tramas perdidas e repetidas.


Capítulo - 3<br />

O coor<strong>de</strong>nador recebe as tramas e a zigbee stack activa automaticamente a tarefa<br />

“APP_taskLogData” que processa a trama recebida. A trama recebida é processada,<br />

implementando-se funções relacionadas com a disposição das amostras na trama, que serão<br />

explicadas mais tar<strong>de</strong>. Depois <strong>de</strong>ste processamento é implementada a técnica <strong>de</strong> sincronização<br />

<strong>de</strong> dados Bit stuffing que também será explicada na secção seguinte. Uma vez terminado todo o<br />

processamento, o array que contém os dados da trama recebida é enviado pela UART ao<br />

computador para <strong>de</strong>pois serem também processados e apresentados os sinais através da<br />

aplicação gráfica.<br />

Depois <strong>de</strong> enviar os dados ao computador, o coor<strong>de</strong>nador verifica se recebeu algum<br />

comando da aplicação gráfica. Em caso afirmativo, irá processá-lo e enviá-lo ao dispositivo final a<br />

que se <strong>de</strong>stina. Terminado o envio do comando, ou <strong>de</strong> imediato, caso não haja comandos a<br />

enviar, o coor<strong>de</strong>nador fica a aguardar por mais dados em modo “E_Network_Screen”. O<br />

coor<strong>de</strong>nador repete este ciclo <strong>de</strong> cada vez que recebe uma trama <strong>de</strong> dados, verificando se<br />

recebeu comandos mesmo que não tenha recebido tramas dos nós sensores.<br />

Os comandos enviados pelo PC ao coor<strong>de</strong>nador po<strong>de</strong>m ser:<br />

Start : para iniciar a aquisição <strong>de</strong> dados num dispositivo final;<br />

Stop : para parar a aquisição e envio <strong>de</strong> sinais do dispositivo final;<br />

Set Frequency : para mudar a frequência <strong>de</strong> aquisição do ADC.<br />

As tramas enviadas entre os dispositivos têm tamanhos pré-<strong>de</strong>finidos e estão<br />

representadas na Figura 32. A trama <strong>de</strong> dados é constituída pelo No<strong>de</strong> ID, número <strong>de</strong> trama e<br />

pelos dados dos sensores. A trama <strong>de</strong> comandos é composta pelo tipo <strong>de</strong> comando, No<strong>de</strong> ID e o<br />

divisor para frequência <strong>de</strong> amostragem.<br />

Figura 32: Trama <strong>de</strong> dados e trama <strong>de</strong> comandos.<br />

Este No<strong>de</strong> ID serve para i<strong>de</strong>ntificar o nó sensor que envia a trama, tanto no coor<strong>de</strong>nador<br />

como na aplicação gráfica. O número <strong>de</strong> trama serve para i<strong>de</strong>ntificar a trama na sequência <strong>de</strong><br />

47


48<br />

Desenvolvimento<br />

tramas transmitidas. Na trama <strong>de</strong> comandos o tipo <strong>de</strong> comando i<strong>de</strong>ntifica o comando que foi<br />

recebido e o divisor indica ao dispositivo final o valor da frequência <strong>de</strong> amostragem. Estes<br />

parâmetros serão novamente abordados na secção seguinte.<br />

Registo dos nós sensores<br />

Os nós sensores são registados no coor<strong>de</strong>nador da primeira vez que enviam uma trama<br />

<strong>de</strong> dados. Quando o coor<strong>de</strong>nador recebe uma trama, este lê o en<strong>de</strong>reço <strong>de</strong> re<strong>de</strong> do nó sensor e<br />

verifica na estrutura que guarda o No<strong>de</strong> ID e respectivo en<strong>de</strong>reço <strong>de</strong> re<strong>de</strong> se este já está<br />

registado (função APP_u8EnviaSensorNo<strong>de</strong>ID). Se não estiver regista-o prosseguindo com a<br />

transmissão, se já tiver sido registado então continua a transmissão <strong>de</strong> tramas normalmente.<br />

Este No<strong>de</strong> ID é fixo e é <strong>de</strong>finido no firmware dos nós sensores<br />

Esta aplicação implementada com o protocolo Zigbee é bastante dinâmica e minuciosa,<br />

pelo que será mais aprofundada nos capítulos seguintes.<br />

Pilha Zigbee<br />

Até o nó controlador estar preparado para receber dados dos nós sensores, passa por<br />

alguns estados necessários para criar a re<strong>de</strong> Zigbee. O mesmo acontece com o nó sensor que<br />

procura a re<strong>de</strong> formada para iniciar a comunicação. Na Figura 33 estão representados esses<br />

estados, que todos os nós sensores executam, <strong>de</strong>pen<strong>de</strong>ndo do dispositivo <strong>de</strong> re<strong>de</strong>.<br />

Figura 33: Estados do Nó controlador e Nó sensor na gestão da re<strong>de</strong> Zigbee.<br />

O nó controlador inicia a criação da re<strong>de</strong>, passando a configurar os parâmetros <strong>de</strong> re<strong>de</strong>.<br />

Depois disso a re<strong>de</strong> é formada e fica em modo <strong>de</strong> espera até que algum nó sensor lhe envie um<br />

request para se juntar à re<strong>de</strong>. O nó sensor inicia o processo <strong>de</strong> procura <strong>de</strong> re<strong>de</strong>s existentes.


Capítulo - 3<br />

Depois <strong>de</strong> encontrada a re<strong>de</strong>, estabelece contacto para se juntar e começar a monitorizar os<br />

sensores e a enviar dados ao coor<strong>de</strong>nador.<br />

Arquitectura da aplicação do Nó Controlador (coor<strong>de</strong>nador)<br />

Como foi explicado anteriormente, para construir o firmware é necessário criar o<br />

algoritmo para o RTOS do sistema operativo JenOS. Neste algoritmo é preciso <strong>de</strong>finir os eventos<br />

que irão <strong>de</strong>senca<strong>de</strong>ar mensagens, que por sua vez irão activar as tarefas <strong>de</strong> leitura, envio e<br />

processamento <strong>de</strong> dados. Na Figura 34 po<strong>de</strong>-se visualizar a dinâmica dos eventos<br />

implementados e as tarefas que activam, para o dispositivo coor<strong>de</strong>nador.<br />

Figura 34: Arquitectura da aplicação do Coor<strong>de</strong>nador.<br />

Como se po<strong>de</strong> verificar na Figura 34, a arquitectura do firmware do coor<strong>de</strong>nador é<br />

constituída apenas por tarefas e mensagens. Na camada ZPS, quando ocorre um evento, este dá<br />

origem a uma mensagem que activa a tarefa correspon<strong>de</strong>nte. Nessa tarefa é lido o evento que<br />

surgiu e processada a função correspon<strong>de</strong>nte.<br />

No caso do coor<strong>de</strong>nador tem-se a mensagem “APP_msgZPSEvent” que activa a tarefa<br />

“APP_taskControllerNo<strong>de</strong>” e indica que a Zigbee Stack recebeu eventos relacionados com a<br />

gestão da re<strong>de</strong> como por exemplo a indicação que se juntou um novo dispositivo final à re<strong>de</strong> ou<br />

que a mensagem Zigbee foi enviada com sucesso. A mensagem “APP_msgSensorEvent” activa<br />

a tarefa “APP_taskLogData”, e surge quando o coor<strong>de</strong>nador recebe uma trama <strong>de</strong> um<br />

dispositivo final.<br />

Na Figura 35 encontra-se a configuração no JenOS Configuration Editor do sistema<br />

operativo JenOS do coor<strong>de</strong>nador. Nesta imagem po<strong>de</strong>-se visualizar a duas tarefas (azul)<br />

<strong>de</strong>scritas no parágrafo anterior e as respectivas mensagens (ver<strong>de</strong>) que as activam. Os restantes<br />

blocos da área cinzenta <strong>de</strong>nominada <strong>de</strong> ZBPro e as callbacks têm funções <strong>de</strong> gestão da re<strong>de</strong> e<br />

49


50<br />

Desenvolvimento<br />

como já foi dito em cima, estão previamente implementadas no Template fornecido pelo<br />

fabricante dos módulos <strong>de</strong> comunicação e são usadas para construir as aplicações.


Figura 35: Configuração pormenorizada do RTOS do sistema operativo JenOS do coor<strong>de</strong>nador.<br />

51


52<br />

Desenvolvimento<br />

De seguida serão explicados os algoritmos do firmware do coor<strong>de</strong>nador e posteriormente será<br />

feita uma <strong>de</strong>scrição das funções e tarefas que integram o firmware.<br />

Na Figura 36 e Figura 37 po<strong>de</strong>-se ver o algoritmo geral do firmware. Este algoritmo divi<strong>de</strong>-se em<br />

diferentes fluxogramas sem ligação entre si porque como foi explicado em cima, quando o<br />

sistema inicia o módulo <strong>de</strong> RTOS, este executa um sistema multitarefa, em que algumas tarefas<br />

são activadas automaticamente pelos eventos recebidos pelo dispositivo, ou por software, e<br />

enquanto o sistema executa uma <strong>de</strong>terminada função po<strong>de</strong> ser executada uma outra enquanto a<br />

primeira permanece em stand-by.<br />

Algoritmia<br />

O algoritmo do sistema começa no fluxograma A da Figura 36, o coor<strong>de</strong>nador inicia o<br />

módulo <strong>de</strong> RTOS, sistema multitarefa em que po<strong>de</strong>m ser executadas várias tarefas em<br />

“simultâneo”. Depois <strong>de</strong> iniciar o RTOS, executa um ciclo infinito até ocorrerem eventos. Quando<br />

o se inicia o RTOS, este activa a tarefa “APP_taskControllerNo<strong>de</strong>” que cria a re<strong>de</strong>, <strong>de</strong>pois é<br />

configurada a UART para enviar dados ao PC e o dispositivo permanece em modo<br />

“E_Network_Screen” para a recepção dos dados.<br />

Figura 36: Fluxograma do programa principal do firmware do coor<strong>de</strong>nador (formação da re<strong>de</strong> Zigbee).<br />

Depois da re<strong>de</strong> criada, quando o dispositivo recebe tramas, estas activam a tarefa<br />

“APP_taskLogData” (Figura 37). Esta tarefa implementa o coor<strong>de</strong>nador da re<strong>de</strong> que recebe<br />

tramas <strong>de</strong> dados contendo os dados das medidas dos sensores provenientes dos dispositivos


Capítulo - 3<br />

finais. Quando um dispositivo final envia a primeira trama <strong>de</strong> dados ao controlador, é registado o<br />

seu en<strong>de</strong>reço <strong>de</strong> re<strong>de</strong> (MAC adress) e o seu No<strong>de</strong> ID, que é um valor <strong>de</strong> 0 a 255 para i<strong>de</strong>ntificar<br />

o nó sensor nesta aplicação. Depois do registo efectuado os nós sensores po<strong>de</strong>m começar a<br />

enviar mais tramas <strong>de</strong> dados, que serão guardadas num array no nó controlador. Ocorrem<br />

<strong>de</strong>pois dois processos:<br />

um para disposição das amostras dos sensores na trama <strong>de</strong> envio ao computador;<br />

(função “Enc2_3”, ver explicação na Tabela 9);<br />

um segundo para efeitos <strong>de</strong> sincronização da transferência <strong>de</strong> dados entre o<br />

coor<strong>de</strong>nador e o computador (função “Bitstuffing”, ver explicação na pág. 65).<br />

A trama resultante é então enviada ao computador e verifica-se se foi recebida alguma<br />

trama <strong>de</strong> comandos na UART, por parte do computador. A função <strong>de</strong> leitura da porta UART<br />

contém uma flag que indica se o coor<strong>de</strong>nador recebeu tramas <strong>de</strong> comandos, mesmo que os nós<br />

sensores não estejam a transmitir dados, o coor<strong>de</strong>nador po<strong>de</strong> receber comandos e enviá-los aos<br />

nós sensores. Caso o nó controlador tenha recebido uma trama <strong>de</strong> comandos, esta é<br />

processada, verificando-se o No<strong>de</strong> ID que ela contém e enviando-a ao dispositivo final<br />

correspon<strong>de</strong>nte.<br />

53


Figura 37: Fluxogramas do programa principal do firmware do coor<strong>de</strong>nador (recepção <strong>de</strong> dados).<br />

54<br />

Desenvolvimento<br />

Para executar os blocos representados no algoritmo, o firmware é constituído por tarefas<br />

e funções. Algumas <strong>de</strong>stas funções fazem parte <strong>de</strong> uma tarefa e só são executadas quando a<br />

tarefa é activada. A seguir são explicadas <strong>de</strong> uma forma geral, as funcionalida<strong>de</strong>s principais <strong>de</strong><br />

cada tarefa e cada função.<br />

Tabela 9: Descrição das funções do firmware do Nó Controlador no protocolo Zigbee (continua na página seguinte).<br />

Tipo <strong>de</strong> função Funções<br />

Configuração e<br />

iniciação<br />

Processamento <strong>de</strong><br />

tramas<br />

APP_vLogInitialise<br />

uart_config(*)<br />

Desm4_3<br />

Descrição<br />

Inicializa o contador <strong>de</strong> dispositivos finais na<br />

re<strong>de</strong> e invoca a função uart_config.<br />

Configura a UART com um baudrate <strong>de</strong><br />

115200 bps, sem parida<strong>de</strong> e com 1 stop bit<br />

para o envio <strong>de</strong> dados ao computador.<br />

Faz a extracção das amostras do sinal do<br />

sensor. As amostras são <strong>de</strong> 12 bits, no entanto<br />

a trama recebida é um array <strong>de</strong> 16 bits em<br />

cada posição. As amostras são enviadas na<br />

trama justapostas <strong>de</strong> forma a que, cada 3<br />

posições transporta 4 amostras <strong>de</strong> 12 bits.<br />

(4 amostras x12 = 48 bits)<br />

(3 posições x16 = 48 bits)


Capítulo - 3<br />

Sincronização<br />

Comunicação<br />

UART<br />

Registo<br />

Comandos<br />

Enc2_3<br />

Bitstuffing(*)<br />

55<br />

Coloca as amostras <strong>de</strong> 12 bits num array <strong>de</strong> 8<br />

bits em cada posição (ao contrário da função<br />

anterior em que o array tinha 16 bits em cada<br />

posição). Sendo assim cada 3 posições do<br />

array transporta 2 amostras <strong>de</strong> 12 bits.<br />

(2 amostras x 12 = 24 bits)<br />

(3 posições x 8 = 24 bits)<br />

Implementa a técnica <strong>de</strong> sincronização <strong>de</strong><br />

dados Bit stuffing (ver pág. 65).<br />

BytetobitArray(*) Converte um array <strong>de</strong> bytes num array <strong>de</strong> bits.<br />

bittoByteArray(*) Converte um array <strong>de</strong> bits num array <strong>de</strong> bytes.<br />

envia_uart(*)<br />

recebe_uart(*)<br />

ZipComand<br />

APP_u8EnviaSensorNo<strong>de</strong>ID<br />

APP_u8SensorNo<strong>de</strong>Position<br />

APP_u8EnviaSensorNo<strong>de</strong>ADDR<br />

EnviaFreqAmost<br />

(*) Funções que são utilizadas também na aplicação com protocolo 802.15.4.<br />

Arquitectura da aplicação do Nó Sensor (dispositivo final)<br />

Envia o array <strong>de</strong> dados ao computador via<br />

porta UART. O número <strong>de</strong> envios é igual ao<br />

número <strong>de</strong> bytes constituintes do array.<br />

Recebe uma trama-comando do computador<br />

na porta UART e extrai os dados <strong>de</strong>ssa trama.<br />

Extrai o tipo <strong>de</strong> comando, o No<strong>de</strong> ID e se for<br />

uma trama do tipo “SetFrequency” extrai o<br />

divisor para implementar a frequência <strong>de</strong><br />

amostragem do ADC do nó sensor (a ser<br />

explicado mais tar<strong>de</strong>).<br />

Constrói o valor do en<strong>de</strong>reço <strong>de</strong> re<strong>de</strong> do nó<br />

sensor <strong>de</strong>stino e o divisor. Compacta os dados<br />

num array para enviar a trama-comando ao nó<br />

sensor.<br />

Retorna o No<strong>de</strong> ID <strong>de</strong> um <strong>de</strong>terminado<br />

en<strong>de</strong>reço <strong>de</strong> re<strong>de</strong> <strong>de</strong> um nó sensor registado.<br />

Retorna a posição do array <strong>de</strong> registo dos nós<br />

sensores na qual está registado <strong>de</strong>terminado<br />

nó sensor.<br />

Retorna o en<strong>de</strong>reço <strong>de</strong> re<strong>de</strong> <strong>de</strong> um<br />

<strong>de</strong>terminado No<strong>de</strong> ID <strong>de</strong> um nó sensor. Se o<br />

nó sensor não estiver registado retorna<br />

“NOT_FOUND”.<br />

Envia a trama <strong>de</strong> comandos ao nó sensor<br />

correspon<strong>de</strong>nte.<br />

Tal como o coor<strong>de</strong>nador, o dispositivo final também implementa no seu firmware um<br />

sistema operativo em tempo real em que surgem tarefas, eventos e mensagens, mas acrescenta<br />

um novo elemento, os timers (Figura 38). Um timer po<strong>de</strong> tal como um evento, activar uma<br />

<strong>de</strong>terminada tarefa, bastando para isso ser configurado no RTOS do sistema operativo da Jennic.


Figura 38: Arquitectura da aplicação do Dispositivo Final.<br />

56<br />

Desenvolvimento<br />

Neste dispositivo a mensagem “APP_msgZPSEvent” que activa a tarefa<br />

“APP_taskSensorNo<strong>de</strong>” tem exactamente a mesma função que no dispositivo coor<strong>de</strong>nador, ou<br />

seja transmitir eventos relacionados com a gestão da re<strong>de</strong>. Esta tarefa po<strong>de</strong> ser activada pelo<br />

timer “APP_tmrRestart” quando o dispositivo final inicia a procura <strong>de</strong> re<strong>de</strong> e não a encontra.<br />

Nesse caso então este timer reinicia a procura <strong>de</strong> re<strong>de</strong> passados 20 segundos após o início da<br />

procura.<br />

A tarefa “APP_taskSensorNo<strong>de</strong>” inicia também o timer “APP_tmrAmostragem”, que por<br />

sua vez activa a tarefa “APP_taskAmostragem”. Esta proce<strong>de</strong> a uma conversão A/D, sendo<br />

então a frequência <strong>de</strong> amostragem do nó sensor <strong>de</strong>terminada pela cadência <strong>de</strong> activação <strong>de</strong><br />

“APP_taskAmostragem” por parte do timer “APP_tmrAmostragem”. O timer é configurado para<br />

a frequência <strong>de</strong>sejada pelo utilizador da aplicação gráfica no computador para fazer a aquisição<br />

<strong>de</strong> amostras do sensor.<br />

A tarefa “APP_taskSampleSensors” é activada pela “APP_taskSensorNo<strong>de</strong>” quando o<br />

dispositivo entra em modo “E_MONITOR_SENSORS” ou seja quando se inicia o processo <strong>de</strong><br />

aquisição <strong>de</strong> sinal do sensor. A mensagem “APP_msgComandEvent” activa a tarefa<br />

“APP_taskFreqAmostControl” quando o nó sensor recebe uma trama <strong>de</strong> comandos do nó<br />

controlador.<br />

Na Figura 39 encontra-se a configuração feita no JenOS Configuration Editor do sistema<br />

operativo JenOS do dispositivo final. Nesta imagem po<strong>de</strong>-se visualizar as quatro tarefas (azul)<br />

<strong>de</strong>scritas no parágrafo anterior e as respectivas mensagens (ver<strong>de</strong>) que as activam. Tem<br />

também os timers que po<strong>de</strong>m activar as tarefas “APP_taskSensorNo<strong>de</strong>” e<br />

“APP_taskAmostragem”. Tal como no coor<strong>de</strong>nador, os restantes blocos da área cinzenta


Capítulo - 3<br />

<strong>de</strong>nominada <strong>de</strong> ZBPro e as callbacks têm funções <strong>de</strong> gestão da re<strong>de</strong> e estão já estão<br />

previamente implementadas.<br />

57


Figura 39: Configuração pormenorizada do RTOS do sistema operativo JenOS do dispositivo final.<br />

58


Capítulo - 3<br />

Algoritmo<br />

Quando o se inicia o RTOS, este activa a tarefa “APP_taskSensorNo<strong>de</strong>” que inicia a<br />

procura <strong>de</strong> re<strong>de</strong>, configura o ADC para a aquisição <strong>de</strong> amostras dos sensores e inicia o timer<br />

“App_tmrAmostragem” para iniciar a aquisição. Neste momento o dispositivo encontra-se no<br />

modo “E_MONITOR_SENSORS”. Neste modo é activada a tarefa “APP_taskSampleSensors”<br />

sempre que se iniciar a construção <strong>de</strong> uma trama <strong>de</strong> amostras para enviar ao nó controlador.<br />

Figura 40: Fluxograma do programa principal do firmware do dispositivo final (procura <strong>de</strong> re<strong>de</strong> Zigbee).<br />

Depois <strong>de</strong> activada a tarefa “APP_taskSampleSensors” esta executa o algoritmo do<br />

fluxograma A da Figura 41, on<strong>de</strong> se verifica se o array que contém as amostras adquiridas pelo<br />

ADC contém 52 amostras. Se ainda não tiver as 52 amostras continua a aquisição, se já tiver<br />

inicia a construção da trama e envia ao nó controlador.<br />

Aquando do inicio do modo <strong>de</strong> monitorização <strong>de</strong> sensores é activado o timer que controla a<br />

amostragem. O “App_tmrAmostragem” activa a tarefa “App_taskAmostragem”, que faz a<br />

aquisição da amostra, guarda no array mencionado acima e incrementa a variável <strong>de</strong> controlo <strong>de</strong><br />

posição no array (Figura 41-B). Esta tarefa é repetida sempre que o timer expira, pois tem<br />

priorida<strong>de</strong> sobre qualquer uma das outras tarefas, para se garantir a frequência <strong>de</strong> amostragem<br />

<strong>de</strong>sejada. A qualquer momento <strong>de</strong>ste processo todo, a tarefa “APP_taskFreqAmostControl” po<strong>de</strong><br />

ser activada automaticamente, bastando para isso o nó sensor receber uma trama <strong>de</strong> comando<br />

do nó controlador. Neste caso o dispositivo extrai os dados da trama <strong>de</strong> comandos, calcula o<br />

59


60<br />

Desenvolvimento<br />

novo valor da frequência <strong>de</strong> amostragem pedida e actualiza o timer para esse valor (Figura 41-<br />

C).<br />

Figura 41: Fluxogramas do programa principal do firmware do dispositivo final (Aquisição e envio <strong>de</strong> dados).<br />

Algumas das funções que constituem este sistema da aplicação do nó sensor pertencem<br />

a tarefas, outras são in<strong>de</strong>pen<strong>de</strong>ntes e são executadas por si só. Na Tabela 10 está feita uma<br />

<strong>de</strong>scrição geral <strong>de</strong> cada função, po<strong>de</strong>ndo ficar-se com uma melhor noção do como foram<br />

organizadas todas as funcionalida<strong>de</strong>s pretendidas para este sistema.<br />

Tabela 10: Descrição das funções do firmware do Nó Sensor no protocolo Zigbee.<br />

Tipo <strong>de</strong> função Funções<br />

Configuração e<br />

iniciação<br />

Processamento<br />

<strong>de</strong> tramas<br />

Sincronização<br />

adc_config<br />

vSendSensorData<br />

stop<br />

Descrição<br />

Configura o ADC para o ADC1 em modo<br />

<strong>de</strong> amostragem contínua e com uma<br />

tensão <strong>de</strong> referência interna.<br />

(2xVRef = 2.2v)<br />

Envia a trama <strong>de</strong> dados ao Nó<br />

Controlador.<br />

Implementa o comando “Stop” no Nó<br />

Sensor. Pára o ADC e envia uma trama <strong>de</strong><br />

controlo <strong>de</strong> 4 em 4s para po<strong>de</strong>r<br />

posteriormente ser ligado pelo comando<br />

“Start”.


Capítulo - 3<br />

3.3.3 Aquisição <strong>de</strong> sinal e preparação para a transmissão<br />

Para fazer a aquisição <strong>de</strong> amostras, o timer é configurado inicialmente no RTOS do<br />

JenOS. O valor estipulado para o timer para o início da aquisição é <strong>de</strong> 20 ms que correspon<strong>de</strong> a<br />

uma frequência <strong>de</strong> amostragem <strong>de</strong> 50 Hz. O ADC é também configurado, e po<strong>de</strong> operar em<br />

diferentes modos.<br />

Modo single shot: De cada vez que é pedida uma amostra é iniciado o ADC, este faz<br />

uma só conversão e pára.<br />

Modo contínuo: Quando é activado o ADC, este faz conversões sucessivas à frequência<br />

configurada na função “adc_config”, quando o timer que controla a frequência à qual se<br />

lêem as amostras, expira é recolhida e guardada a amostra do ADC. Note-se que existe a<br />

frequência <strong>de</strong> conversão configurada directamente no ADC, e a frequência <strong>de</strong><br />

amostragem <strong>de</strong>sejada pelo utilizador, e que é controlado pelo timer. Neste modo o ADC<br />

está a sobreamostrar e a <strong>de</strong>itar fora as amostras que não são recolhidas. Desta forma a<br />

frequência <strong>de</strong> conversão do ADC terá que ser sempre superior à frequência <strong>de</strong><br />

amostragem <strong>de</strong>sejada pelo utilizador, caso contrário haverá repetição <strong>de</strong> amostras.<br />

O firmware permite estes dois modos <strong>de</strong> operação do ADC. O modo utilizado foi o modo<br />

contínuo porque foi o que apresentou melhor <strong>de</strong>sempenho nos testes efectuados à velocida<strong>de</strong> <strong>de</strong><br />

aquisição <strong>de</strong> amostras.<br />

Depois do array <strong>de</strong> amostras estar totalmente preenchido (52 amostras <strong>de</strong> 12 bits), é<br />

tempo <strong>de</strong> construir a trama a enviar ao nó controlador. O software Zigbee PRO da Jennic<br />

permitem enviar um array <strong>de</strong> cada vez, mas este <strong>de</strong>verá ter 16 bits em cada posição e no<br />

máximo 41 posições, ou seja 82 bytes. Como a resolução do ADC são 12 bits, optou-se por fazer<br />

algum processamento para “aproveitar” toda a trama. Este processamento consiste em colocar<br />

amostras <strong>de</strong> 12 bits num array com 16 bits em cada posição. Como se po<strong>de</strong> ver na Figura 42,<br />

existe o array on<strong>de</strong> são guardadas as amostras adquiridas pelo ADC e o array Payload que é<br />

enviado ao nó controlador. Cada 4 amostras <strong>de</strong> 12 bits são colocadas em 3 posições do array<br />

Payload da forma que se po<strong>de</strong> ver na figura. Assim um total <strong>de</strong> 52 amostras cabe em 39<br />

posições do array Payload (função 1).<br />

61


Figura 42: Construção das tramas no Nó sensor (protocolo Zigbee).<br />

62<br />

Desenvolvimento<br />

Depois <strong>de</strong>ste processamento, à trama a enviar são acrescentados mais 2 dados <strong>de</strong> 16<br />

bits cada que completam a trama <strong>de</strong> 41 posições correspon<strong>de</strong>ndo a 82 bytes. Os dados são o<br />

No<strong>de</strong> ID e o número <strong>de</strong> trama (Figura 43). O No<strong>de</strong> ID é um valor <strong>de</strong> 0 a 255 previamente<br />

registado e associado ao tipo <strong>de</strong> sensor e tipo <strong>de</strong> sinal. Neste caso, ao No<strong>de</strong> ID <strong>de</strong> valor 1 está<br />

associado o sensor <strong>de</strong> temperatura timpânica, e esta correspondência é conhecida por todos os<br />

elementos que compõem o sistema (nó sensor, nó controlador e aplicação gráfica). O número <strong>de</strong><br />

trama é um valor também entre 0 e 255.<br />

Figura 43: Trama <strong>de</strong> dados completa (Zigbee).<br />

Para além das tramas <strong>de</strong> dados existem também as tramas <strong>de</strong> comando que, tal como<br />

explicado anteriormente, servem para se enviar comandos entre o nó controlador e os nós<br />

sensores (Figura 44). Estas tramas são compostas por 6 bytes, on<strong>de</strong> 1 byte contém o código <strong>de</strong><br />

comando, outro byte contém o No<strong>de</strong> ID e 4 bytes são reservados para o divisor para mudar a<br />

Frequência <strong>de</strong> amostragem do ADC.


Capítulo - 3<br />

Figura 44: Trama <strong>de</strong> comandos completa (Zigbee).<br />

O divisor é calculado na aplicação gráfica, segundo a função 2, sabendo o valor da<br />

frequência do clock do timer (32 kHz) utilizado para controlar a frequência <strong>de</strong> amostragem.<br />

Os comandos implementados actualmente estão representados na Tabela 11, on<strong>de</strong> se<br />

po<strong>de</strong> verificar as suas funcionalida<strong>de</strong>s, tipo e código <strong>de</strong> comando. De <strong>de</strong>stacar que futuramente<br />

mais comandos po<strong>de</strong>m ser implementados, bastando para isso seguir a mesma estrutura que<br />

os anteriores.<br />

Código <strong>de</strong><br />

comando<br />

1<br />

2<br />

3<br />

Tabela 11: Comandos e suas funções.<br />

Tipo <strong>de</strong> comando Função<br />

Start Inicia o nó sensor para fazer aquisição e envio <strong>de</strong> dados<br />

Stop Pára o nó sensor.<br />

Set_Freq Envia o divisor para mudar a frequência <strong>de</strong> amostragem do ADC.<br />

(<strong>de</strong>terminação dos divisores explicada no próximo capítulo)<br />

3.3.4 Processamento no Coor<strong>de</strong>nador e envio para a UART<br />

O coor<strong>de</strong>nador recebe as tramas no formato da trama <strong>de</strong> dados da Figura 43 e<br />

processa-as para <strong>de</strong>pois implementar a técnica <strong>de</strong> sincronização <strong>de</strong> dados Bit stuffing. Este<br />

processamento é necessário porque a aplicação gráfica foi inicialmente implementada para a<br />

63


64<br />

Desenvolvimento<br />

aplicação com o protocolo 802.15.4 e posteriormente o firmware do coor<strong>de</strong>nador da aplicação<br />

com o protocolo Zigbee foi alterado para ser compatível com a mesma aplicação. Esta alteração<br />

consiste em dispor as amostras na trama da forma como a aplicação gráfica está implementada<br />

para as receber, e será <strong>de</strong>scrita no próximo parágrafo.<br />

A extracção dos dados da trama recebida no coor<strong>de</strong>nador, é feita exactamente no<br />

processo inverso ao <strong>de</strong>scrito anteriormente e representado na Figura 42 (função Desm4_3).<br />

Depois <strong>de</strong>ste processo é necessário fazer um processo <strong>de</strong> disposição <strong>de</strong> amostras no array em<br />

tudo semelhante ao da secção anterior, mas neste caso tem-se que colocar as amostras <strong>de</strong> 12<br />

bits num array <strong>de</strong> 8 bits cada posição (função Enc2_3). Cada 2 amostras <strong>de</strong> 12 bits são<br />

colocadas em 3 posições do array <strong>de</strong> dados da forma que se po<strong>de</strong> verificar na Figura 45. Assim<br />

um total <strong>de</strong> 52 amostras mais 2 bytes <strong>de</strong> overhead cabem em 80 posições do array <strong>de</strong> dados<br />

(função 2).<br />

Figura 45: Encaixe do array <strong>de</strong> amostras <strong>de</strong> 12 bits num array <strong>de</strong> 8 bits.<br />

A técnica Bit stuffing é necessária para haver sincronização <strong>de</strong> dados entre o<br />

coor<strong>de</strong>nador e a aplicação gráfica, pois quando o coor<strong>de</strong>nador envia as tramas para a porta<br />

série do computador estas ficam guardadas numa pilha, e quando a aplicação gráfica lê os<br />

dados tem que <strong>de</strong>scriminar as tramas pelo início e fim para saber exactamente o seu tamanho.<br />

Se durante a comunicação as tramas não forem totalmente enviadas, sem esta técnica a<br />

aplicação nunca encontraria o início das tramas e ia processá-las <strong>de</strong> uma forma errada.<br />

No teste da primeira versão do firmware, observou-se que havia perda <strong>de</strong> sincronização<br />

entre a aplicação gráfica do computador e o coor<strong>de</strong>nador da re<strong>de</strong>. Isto <strong>de</strong>veu-se ao facto do


Capítulo - 3<br />

coor<strong>de</strong>nador enviar dados para a porta série do computador, e este ainda não estar disponível<br />

para receber dados. Assim que a aplicação gráfica começava a fazer a aquisição dos dados,<br />

podia não recolher a trama completa e assim não saber qual era o início e fim da trama,<br />

per<strong>de</strong>ndo a sincronização para sempre. Para resolver este problema, foi necessário implementar<br />

uma técnica <strong>de</strong> sincronização <strong>de</strong> dados com um caractere que i<strong>de</strong>ntificasse o início <strong>de</strong> trama.<br />

Este carácter, para além <strong>de</strong> ter funções <strong>de</strong> sincronização, também permite que o software da<br />

aplicação gráfica seja construído para receber tramas <strong>de</strong> diferentes tamanhos, não necessitando<br />

<strong>de</strong> terem um tamanho pré-<strong>de</strong>finido. Assim a aplicação só necessita <strong>de</strong> i<strong>de</strong>ntificar os inícios das<br />

tramas, e automaticamente calcula o seu tamanho. A técnica implementada foi o Bit stuffing que<br />

permite que as tramas contenham um número arbitrário <strong>de</strong> bits e permite o envio <strong>de</strong> tramas por<br />

parte do coor<strong>de</strong>nador, em qualquer fase da comunicação, sem que a aplicação gráfica perca<br />

dados. Para além <strong>de</strong>sta solução outras surgiram, mas que foram abandonadas por motivos <strong>de</strong><br />

complexida<strong>de</strong> ou <strong>de</strong> <strong>de</strong>sempenho, como o flow control ou o envio <strong>de</strong> requests ao computador<br />

para começar a comunicação.<br />

Bit Stuffing<br />

Na técnica <strong>de</strong> Bit stuffing cada trama inicia e termina com um padrão especial,<br />

01111110, <strong>de</strong>signado por flag byte. O receptor é assim capaz <strong>de</strong> <strong>de</strong>tectar o início da trama. No<br />

entanto, há sempre o perigo <strong>de</strong> nos dados ocorrer uma sequência <strong>de</strong> bits igual à do flag byte. É<br />

aqui que entra a técnica <strong>de</strong> Bit stuffing. Nos dados transmitidos pelo emissor, sempre que se<br />

<strong>de</strong>tecta cinco bits consecutivos a 1, automaticamente se insere (stuffs) um bit 0, mesmo que o<br />

bit seguinte seja um 0. Assim, apenas no início da trama é transmitido o flag byte. O receptor<br />

reconhece assim o início da trama pelo flag byte. No processamento subsequente dos bits<br />

recebidos, quando forem encontrados nos dados cinco bits consecutivos a 1, é retirado<br />

(<strong>de</strong>stuffs) o bit 0 que se segue.<br />

Se os dados a transmitidas contiverem uma sequência correspon<strong>de</strong>nte ao flag padrão,<br />

01111110, ela é transmitida como 011111010 mas após <strong>de</strong>stuffing no receptor é guardada<br />

correctamente como 01111110. A técnica <strong>de</strong> Bit stuffing é completamente transparente para o<br />

nível <strong>de</strong> re<strong>de</strong> em ambos os dispositivos (coor<strong>de</strong>nador e computador). Como exemplo, para enviar<br />

a sequência 00101111111011111100000111, ela será transmitida como<br />

0010111110110111110100000111 e recebida como 00101111111011111100000111<br />

65


66<br />

Desenvolvimento<br />

(Figura 46). Com a técnica Bit stuffing, os limites entre duas tramas são conhecidos sem<br />

ambiguida<strong>de</strong> através da flag padrão.<br />

Figura 46: <strong>Implementação</strong> do Bit Stuffing numa sequência <strong>de</strong> bits a enviar.<br />

Assim a trama <strong>de</strong> dados enviada ao coor<strong>de</strong>nador tem um tamanho <strong>de</strong>pen<strong>de</strong>nte do<br />

número <strong>de</strong> sequências <strong>de</strong> 5 bits a 1, pois neste caso são acrescentados mais bits. Depois dos<br />

dados passarem por esta técnica são enviados então ao computador pela porta UART do<br />

dispositivo e para a porta USB do computador a um Baudrate <strong>de</strong> 115,2 kbps. Esta comunicação<br />

entre o nó controlador e o computador é uma comunicação do tipo half-duplex, ou seja há<br />

transferência <strong>de</strong> dados nos dois sentidos mas não em simultâneo.<br />

Contagem <strong>de</strong> erros e qualida<strong>de</strong> do sinal<br />

O dispositivo coor<strong>de</strong>nador da re<strong>de</strong> tem ainda um mecanismo para contagem <strong>de</strong> tramas<br />

perdidas e repetidas que po<strong>de</strong> ser activado directamente no firmware. Este sistema é bastante<br />

útil quando é necessário fazer <strong>de</strong>bug do sistema excluindo a ligação com o PC. Assim po<strong>de</strong>-se<br />

ter uma percepção do <strong>de</strong>sempenho da re<strong>de</strong>, ao longo <strong>de</strong> diferentes taxas <strong>de</strong> amostragem. O<br />

algoritmo para este sistema encontra-se na Figura 47.


Capítulo - 3<br />

Figura 47: Algoritmo do mecanismo <strong>de</strong> contagem <strong>de</strong> tramas perdidas e repetidas.<br />

O firmware tem ainda a possibilida<strong>de</strong> <strong>de</strong> guardar os valores <strong>de</strong> LQI (Link Quality) <strong>de</strong> cada<br />

trama, que são valores entre 0 e 255 e indicam a qualida<strong>de</strong> da conexão numa dada<br />

transmissão. Estes valores po<strong>de</strong>m ser analisados posteriormente, po<strong>de</strong>ndo tirar-se conclusões<br />

acerca do melhor <strong>de</strong>sempenho da re<strong>de</strong>.<br />

3.4 <strong>Implementação</strong> com protocolo 802.15.4<br />

Inicialmente os resultados do <strong>de</strong>sempenho da re<strong>de</strong> implementada com o protocolo Zigbee<br />

não foram os <strong>de</strong>sejados, tendo-se então optado por implementar uma nova re<strong>de</strong> com um<br />

protocolo <strong>de</strong> mais baixo nível, <strong>de</strong> modo a tentar aumentar as velocida<strong>de</strong>s <strong>de</strong> transmissão <strong>de</strong><br />

dados e diminuir as perdas <strong>de</strong> tramas. Optou-se por utilizar o protocolo 802.15.4 que é a base<br />

do Zigbee e aproveitar o facto <strong>de</strong> as tramas po<strong>de</strong>rem ser maiores e da mensagem transmitida<br />

entre os nós, terem um overhead menor.<br />

Esta aplicação para o coor<strong>de</strong>nador e dispositivo final, pelo facto <strong>de</strong> ter sido construída<br />

<strong>de</strong>pois da implementação da re<strong>de</strong> Zigbee, apresenta alguns algoritmos e funções iguais ou<br />

semelhantes à anterior, pelo que serão explicadas apenas as diferenças entre as duas<br />

implementações.<br />

67


3.4.1 Arquitectura da re<strong>de</strong> <strong>de</strong> sensores sem fios<br />

68<br />

Desenvolvimento<br />

Como o protocolo 802.15.4 é a base do Zigbee, a arquitectura <strong>de</strong> ambos é semelhante.<br />

Como se po<strong>de</strong> ver na Figura 48, a camada <strong>de</strong> aplicação está ligada aos módulos da pilha do<br />

802.15.4, aplication queue, periféricos integrados e elementos da placa <strong>de</strong> <strong>de</strong>senvolvimento<br />

através das APIs <strong>de</strong> cada módulo.<br />

Figura 48: Arquitectura do software 802.15.4 stack da Jennic.<br />

Para esta aplicação, é útil <strong>de</strong>stacar as interfaces MCPS e o MLME da camada MAC da<br />

pilha protocolar 802.15.4. O MLME (MAC Layer Management Entity) é o órgão <strong>de</strong> gestão da<br />

re<strong>de</strong> e é usado para todos os comandos da camada MAC. É responsável por tarefas como<br />

autenticação ou associação <strong>de</strong> nós sensores. A interface MCPS (MAC Common Part Sublayer) é<br />

responsável pelo envio e recepção <strong>de</strong> dados. Estas duas interfaces têm um papel activo no<br />

funcionamento das aplicações do dispositivo final e coor<strong>de</strong>nador. Nas secções abaixo será<br />

mostrada a estrutura do firmware com os algoritmos e fluxogramas para estes dois dispositivos<br />

<strong>de</strong> re<strong>de</strong>.<br />

3.4.2 Estrutura do firmware<br />

O firmware da aplicação com o protocolo 802.15.4 é um pouco diferente da aplicação<br />

do Zigbee, no entanto muitas das funções anteriormente implementadas para essa aplicação<br />

foram utilizadas com o 802.15.4, tendo-se efectuado apenas alguns ajustes. Como


Capítulo - 3<br />

anteriormente, existem duas aplicações distintas para os dois dispositivos: coor<strong>de</strong>nador e<br />

dispositivo final, apesar <strong>de</strong> terem várias semelhanças.<br />

Coor<strong>de</strong>nador<br />

Depois <strong>de</strong> iniciado o sistema e o nó controlador, o algoritmo executa um ciclo infinito<br />

para processar as interrupções/eventos que possam ocorrer. Po<strong>de</strong>m ocorrer três tipos <strong>de</strong><br />

eventos:<br />

os eventos <strong>de</strong> re<strong>de</strong> que são tratados na interface MLME;<br />

os eventos <strong>de</strong> transmissão <strong>de</strong> dados que são tratados no MCPS;<br />

as interrupções dos periféricos integrados que são encaminhados para a rotina<br />

<strong>de</strong> interrupção respectiva (Figura 49). No caso da aplicação do coor<strong>de</strong>nador,<br />

esta não tem periféricos integrados activos.<br />

No início do sistema vão surgir eventos para criar a re<strong>de</strong> 802.15.4 e associar nós<br />

sensores no MLME. Depois da re<strong>de</strong> criada, o nó controlador recebe as tramas <strong>de</strong> dados no<br />

MCPS on<strong>de</strong> vai processá-las aplicando o Bit Stuffing, e envia o array final para a porta UART,<br />

verificando então se recebeu comandos da aplicação gráfica. Se recebeu comandos então envia<br />

uma Beacon Payload com os dados do comando recebido, ao nó sensor correspon<strong>de</strong>nte. A<br />

Beacon Payload serve para o coor<strong>de</strong>nador enviar comandos aos nós sensores e enviar também<br />

outro tipo <strong>de</strong> informação que possa ser útil no futuro.<br />

69


Figura 49: Fluxograma do programa principal do firmware do Coor<strong>de</strong>nador (802.15.4).<br />

70<br />

Desenvolvimento<br />

As funções utilizadas foram maioritariamente implementadas na aplicação anterior e<br />

estão representadas na Tabela 12.<br />

Tabela 12: Descrição das funções do firmware do Nó Controlador no protocolo 802.15.4.<br />

Tipo <strong>de</strong> função Funções Descrição<br />

(Vários)<br />

Processamento <strong>de</strong><br />

tramas<br />

Comandos<br />

bittoByteArray<br />

BytetobitArray<br />

Bitstuffing<br />

envia_uart<br />

recebe_uart<br />

uart_config<br />

vProcessIncomingData<br />

(Funções implementadas na aplicação Zigbee e<br />

explicadas na Tabela 9)<br />

Função principal da aplicação. Recebe e processa as<br />

tramas recebidas, enviando <strong>de</strong>pois para a UART e<br />

verifica se recebeu comandos da aplicação gráfica.<br />

vStartBeacon Configura e inicia a Beacon Payload.<br />

vUpdateBeaconPayload<br />

Actualiza a Beacon Payload a enviar ao respectivo nó<br />

sensor <strong>de</strong>pois <strong>de</strong> receber um comando da aplicação<br />

gráfica.


Capítulo - 3<br />

Dispositivo Final<br />

O dispositivo final tem um funcionamento um pouco diferente do coor<strong>de</strong>nador, pois<br />

contém uma máquina <strong>de</strong> estados por trás que coor<strong>de</strong>na toda a aplicação (Figura 50). Esta<br />

começa no estado “E_STATE_OFF” e quando o dispositivo é iniciado vai progressivamente<br />

transitando entre os outros estados.<br />

Figura 50: Máquina <strong>de</strong> estados do dispositivo final.<br />

O dispositivo inicia a procura <strong>de</strong> re<strong>de</strong> que <strong>de</strong>pois <strong>de</strong> encontrada, tal como o nó<br />

controlador, executa um ciclo infinito para processar as interrupções/eventos. Inicialmente<br />

executa as funções <strong>de</strong> re<strong>de</strong> no MLME para estabelecer conexão com nó sensores. Para a<br />

aquisição <strong>de</strong> dados é configurado um timer e o ADC aquando da inicialização do sistema. O<br />

timer, tal como na aplicação Zigbee, controla a frequência <strong>de</strong> amostragem para a aquisição do<br />

ADC. Quando expira gera uma interrupção que é imediatamente atendida e executada numa ISR<br />

on<strong>de</strong> se faz a aquisição e armazenamento da amostra num array. Este ciclo é repetido até que o<br />

array esteja completo, com um número <strong>de</strong> amostras estabelecido previamente, instante em que<br />

é processado e enviado ao nó controlador (Figura 51). Neste ciclo o dispositivo transita entre os<br />

estados “E_STATE_RUNNING”, “E_STATE_TX_DATA” e “E_STATE_READ_SENSORS” e<br />

“E_STATE_RUNNING”.<br />

71


Figura 51: Fluxograma do programa principal do firmware do dispositivo final (802.15.4).<br />

72<br />

Desenvolvimento<br />

Quando o nó sensor recebe um comando do coor<strong>de</strong>nador, processa-o <strong>de</strong> forma muito<br />

semelhante à aplicação Zigbee. O resto das funções implementadas on<strong>de</strong> o processamento é<br />

um pouco diferente da aplicação Zigbee está <strong>de</strong>scrito na Tabela 13.


Capítulo - 3<br />

Tabela 13: Descrição das funções do firmware do Nó sensor no protocolo 802.15.4.<br />

Tipo <strong>de</strong> função Funções Descrição<br />

(Vários)<br />

Configuração<br />

Processamento <strong>de</strong><br />

tramas<br />

adc_config<br />

stop<br />

tmr_config<br />

TimerAmostADC<br />

vProcessTxBlock<br />

Comandos vProcessRxBeacon<br />

73<br />

(Funções implementadas na aplicação Zigbee e<br />

explicadas na Tabela 10).<br />

Configura o timer para controlar a frequência <strong>de</strong><br />

amostragem.<br />

Faz a aquisição <strong>de</strong> amostras do ADC e processa o<br />

array quando este estiver completo.<br />

Envia a trama <strong>de</strong> dados ao Nó Controlador.<br />

Lê os dados do comando recebido e executa-o.<br />

3.4.3 Aquisição <strong>de</strong> sinal e preparação para a transmissão<br />

As tramas são construídas <strong>de</strong> forma muito semelhante à aplicação Zigbee. Com o<br />

protocolo 802.15.4 o array a enviar ao coor<strong>de</strong>nador tem 8 bits em cada posição, ou seja um<br />

byte, logo é necessário colocar as amostras do ADC <strong>de</strong> 12 bits no array. Cada 2 amostras <strong>de</strong> 12<br />

bits são colocadas em 3 posições do array Payload da forma que se po<strong>de</strong> ver na Figura 52.<br />

Assim um total <strong>de</strong> 64 amostras cabem em 96 posições do array Payload (função 3).<br />

Figura 52: Construção das tramas no Nó sensor (protocolo 802.15.4).


74<br />

Desenvolvimento<br />

Depois <strong>de</strong>ste processamento, à trama a enviar são acrescentados mais 2 bytes <strong>de</strong> 8 bits<br />

cada que completam a trama <strong>de</strong> 98 posições correspon<strong>de</strong>ndo a 98 bytes. Os dados são o No<strong>de</strong><br />

ID e o número <strong>de</strong> trama tal como na aplicação anterior (Figura 53).<br />

Figura 53: Trama <strong>de</strong> dados completa (802.15.4).<br />

As tramas <strong>de</strong> comando na aplicação do protocolo 802.15.4 são iguais às da aplicação<br />

do protocolo Zigbee.<br />

3.4.4 Processamento no Coor<strong>de</strong>nador e envio para a UART<br />

No coor<strong>de</strong>nador o processamento é essencialmente o mesmo que na aplicação Zigbee,<br />

apesar <strong>de</strong> nesta aplicação não haver tarefas e ser tudo constituído por funções. A parte que<br />

difere um pouco é o processamento das tramas recebidas. Neste caso a trama recebida é<br />

encaminhada imediatamente para a subrotina <strong>de</strong> Bit Stuffing. Tudo o resto, apesar <strong>de</strong> ter ligeiras<br />

diferenças adaptadas à dinâmica da aplicação 802.15.4 é muito semelhante à aplicação<br />

<strong>de</strong>senvolvida anteriormente.<br />

3.5 Estrutura do software em computador<br />

O software no computador foi <strong>de</strong>senvolvido no ambiente <strong>de</strong> <strong>de</strong>senvolvimento LabView da<br />

National Instruments. Esta ferramenta está optimizada para aplicações <strong>de</strong> engenharia, mais<br />

especificamente para sistemas <strong>de</strong> teste, controlo e monitorização. Através do LabView é possível<br />

fazer-se a aquisição <strong>de</strong> sinais, análise dos dados e a comunicação ou armazenamento dos<br />

resultados <strong>de</strong> forma rápida e simples. O LabView utiliza um ambiente gráfico <strong>de</strong> programação<br />

por fluxo <strong>de</strong> dados, em substituição às linguagens convencionais baseadas em texto.


Capítulo - 3<br />

Neste caso, construiu-se uma aplicação gráfica para várias funções on<strong>de</strong> se <strong>de</strong>staca a<br />

visualização dos sinais dos sensores. O sistema <strong>de</strong> re<strong>de</strong> comunica os sinais provenientes dos<br />

sensores que serão mostrados, a priori, em forma <strong>de</strong> gráfico, para o utilizador ter a noção, em<br />

tempo real, dos valores que está a receber.<br />

3.5.1 Aplicação Gráfica<br />

O FrontEnd da aplicação gráfica, on<strong>de</strong> são representados os sinais <strong>de</strong> quatro sensores,<br />

encontra-se representado na Figura 54. O primeiro gráfico correspon<strong>de</strong> ao sensor <strong>de</strong><br />

temperatura timpânica, que foi <strong>de</strong>senvolvido como exemplo para os vários sensores que<br />

compõem o sistema, os restantes três são sinais simulados que serão substituídos por sinais<br />

reais <strong>de</strong>sses sensores.<br />

Figura 54: Aplicação Gráfica.<br />

Esta aplicação tem vários controlos e indicadores, ou <strong>de</strong> outra perspectiva elementos <strong>de</strong><br />

entrada e <strong>de</strong> saída. Os elementos indicadores são os gráficos e as caixas <strong>de</strong> fundo a cinzento, os<br />

controladores são os botões e as caixas <strong>de</strong> fundo branco. Os gráficos estão configurados no<br />

modo “autoscale”, logo adaptam-se ao sinal do sensor automaticamente. No eixo das abcissas<br />

está representado o tempo, enquanto no eixo das or<strong>de</strong>nadas representa-se o valor da gran<strong>de</strong>za<br />

física a medir, no caso da temperatura timpânica a medida é em graus celsius (ºC). Por baixo<br />

dos gráficos, na caixa command po<strong>de</strong>-se escolher o tipo <strong>de</strong> comando (Start, Stop ou SetFreq) e<br />

75


76<br />

Desenvolvimento<br />

no botão Send Command po<strong>de</strong>-se enviar o comando ao nó sensor. No caso do comando SetFreq<br />

po<strong>de</strong>-se digitar o valor da frequência <strong>de</strong>sejada e aparece a correspon<strong>de</strong>nte frequência real na<br />

caixa Real Frequency. Para funções <strong>de</strong> <strong>de</strong>bug, foi adicionado um indicador para cada sensor<br />

com os valores do número <strong>de</strong> trama, o total <strong>de</strong> tramas perdidas, o total <strong>de</strong> tramas transmitidas e<br />

o total <strong>de</strong> tramas repetidas. Para terminar a aplicação e todos os processos <strong>de</strong>sta, basta<br />

seleccionar o botão Finish Aplication.<br />

Ao nível da programação, o algoritmo da aplicação gráfica po<strong>de</strong> ser dividido como<br />

<strong>de</strong>monstra o diagrama <strong>de</strong> blocos da Figura 55. Existe um ciclo que é repetido sempre que se<br />

inicia a aplicação, e um bloco isolado, o envio <strong>de</strong> comandos que só é executado quando for<br />

activado o botão Send Command.<br />

diagrama.<br />

Figura 55: Diagrama <strong>de</strong> blocos da aplicação gráfica.<br />

Nos próximos subcapítulos será abordado em particular, cada bloco representado no<br />

3.5.2 Recepção <strong>de</strong> dados<br />

Para ace<strong>de</strong>r aos dados recebidos na porta série do computador utilizou-se uma VI pré-<br />

<strong>de</strong>finida fornecida pelo LabView. A porta série do computador contém um buffer on<strong>de</strong> ficam<br />

guardados os dados recebidos até que a aplicação faça a leitura. Para este processo, a aplicação<br />

utiliza a função VISA Configure Serial Port VI para escolher, configurar e inicializar a porta série.<br />

A função VISA Set I/O Buffer Size Function <strong>de</strong>fine o tamanho do buffer <strong>de</strong> entrada e saída <strong>de</strong><br />

dados. Por último, a função VISA Read Function que lê um número específico <strong>de</strong> dados que<br />

estão guardados no buffer da porta série (Figura 56).


Capítulo - 3<br />

Figura 56: Recepção <strong>de</strong> dados da aplicação gráfica (Extracto do Block Diagram do Labview).<br />

O tamanho do buffer <strong>de</strong> entrada/saída é significativamente elevado, porque quando a<br />

aplicação está inactiva, o buffer da porta série acumula dados, e estes terão que ser lidos em<br />

gran<strong>de</strong> número por cada ciclo, <strong>de</strong> modo a que a aplicação acompanhe a taxa <strong>de</strong> transferência<br />

<strong>de</strong> dados do coor<strong>de</strong>nador da re<strong>de</strong> sem fios.<br />

3.5.3 Extracção <strong>de</strong> tramas<br />

Quando a aplicação lê os dados no buffer da porta série, através da função explicada<br />

acima, esta adquire um número aleatório <strong>de</strong> dados que <strong>de</strong>pen<strong>de</strong> da quantida<strong>de</strong> <strong>de</strong> dados do<br />

buffer. Logo é necessário i<strong>de</strong>ntificar o início <strong>de</strong> cada trama para as processar. As tramas são<br />

recebidas com a técnica Bit suffing implementada e com o processamento <strong>de</strong> encaixe <strong>de</strong><br />

amostras <strong>de</strong> 12 bits num array <strong>de</strong> 8 bits em cada posição, por isso é necessário fazer o <strong>de</strong>stuff e<br />

extrair as tramas dos dados recebidos em bruto. Também é necessário extrair em cada trama, o<br />

No<strong>de</strong> ID e o número <strong>de</strong> trama para as encaminhar para o sensor correspon<strong>de</strong>nte. Depois disto é<br />

necessário criar um cluster com uma correspondência entre o No<strong>de</strong> ID, número <strong>de</strong> trama e<br />

dados <strong>de</strong>ssa trama para que sejam processados posteriormente. Na Figura 57 po<strong>de</strong>-se verificar<br />

o diagrama <strong>de</strong> blocos com a sucessão das tarefas principais da extracção <strong>de</strong> tramas.<br />

77


Figura 57: Diagrama <strong>de</strong> blocos da subVI Extract Frames (Extracção <strong>de</strong> tramas).<br />

78<br />

Desenvolvimento<br />

A separação das tramas é feita, percorrendo o array <strong>de</strong> dados adquiridos da porta série<br />

procurando o caractere <strong>de</strong> início <strong>de</strong> trama 126 (01111110). Uma vez encontrado, é procurado o<br />

seguinte para <strong>de</strong>finir a trama e seu tamanho. Repete-se o ciclo até ao fim do array <strong>de</strong> dados.<br />

De cada vez que é <strong>de</strong>finida uma trama, esta é logo processada pelo bloco Destuff, que<br />

faz exactamente o processo inverso do stuff implementado no dispositivo coor<strong>de</strong>nador da re<strong>de</strong><br />

sem fios e explicado no subcapítulo anterior.<br />

Depois do Destuff, há a extracção do no<strong>de</strong> ID e número <strong>de</strong> trama, que consiste em<br />

separar na trama <strong>de</strong> dados os dois primeiros bytes dos restantes. Os dados daqui resultantes<br />

passam por um processo <strong>de</strong> extracção das amostras <strong>de</strong> 12 bits, visto que no coor<strong>de</strong>nador da<br />

re<strong>de</strong>, sofreram um processamento para encaixe das amostras <strong>de</strong> 12 bits no array recebido. Este<br />

processo <strong>de</strong> extracção <strong>de</strong> amostras é exactamente o inverso do processo explicado na Figura 52.<br />

Neste caso em cada 3 posições do array recebido, estão 2 amostras <strong>de</strong> 12 bits e é necessário<br />

extraí-las, para guardar num array <strong>de</strong> 12 bits por posição. No fim <strong>de</strong>sta extracção, é criado um<br />

cluster com os elementos no<strong>de</strong> ID, nº <strong>de</strong> trama e dados para serem processados nos blocos<br />

seguintes. No anexo 4 po<strong>de</strong>-se ver o block diagram da sub-VI <strong>de</strong> extracção <strong>de</strong> tramas.<br />

3.5.4 Contagem <strong>de</strong> erros<br />

Depois <strong>de</strong> adquiridos os dados e extraídas as tramas é necessário fazer a contagem <strong>de</strong><br />

erros, visto que a comunicação entre os dispositivos <strong>de</strong> re<strong>de</strong> não é totalmente eficiente em<br />

nenhum dos protocolos implementados, verificando-se em alguns casos tramas perdidas ou<br />

repetidas. Para fazer esta contagem foi criado um cluster com 5 elementos: No<strong>de</strong> ID, nº <strong>de</strong>


Capítulo - 3<br />

trama, total <strong>de</strong> tramas perdidas, total <strong>de</strong> tramas transmitidas e total <strong>de</strong> tramas repetidas. Este<br />

cluster é actualizado <strong>de</strong> cada vez que o bloco contagem <strong>de</strong> erros recebe uma trama <strong>de</strong> dados e<br />

é visualizado no painel <strong>de</strong> erros <strong>de</strong> cada sensor (Figura 58). Por cada sensor é registado o seu<br />

No<strong>de</strong> ID, para posteriormente serem calculados os erros e guardados no cluster do sensor<br />

correspon<strong>de</strong>nte. O cálculo das tramas perdidas e repetidas são feitos individualmente, ainda que<br />

o das tramas repetidas <strong>de</strong>penda do cálculo das tramas perdidas.<br />

Figura 58: Atribuição do cluster <strong>de</strong> erros (No<strong>de</strong> List) ao indicador.<br />

3.5.5 Visualização <strong>de</strong> dados<br />

Para a visualização dos dados foi feito um switch que, através da leitura do no<strong>de</strong> ID <strong>de</strong><br />

cada cluster que recebe, encaminha os dados <strong>de</strong> cada sensor para o gráfico e painel <strong>de</strong> erros<br />

correcto. Os dados do sensor po<strong>de</strong>m ser verificados no gráfico correspon<strong>de</strong>nte, enquanto os<br />

dados sobre tramas perdidas e repetidas po<strong>de</strong>m ser observados no painel (Figura 59). Os<br />

gráficos são do tipo chart, ou seja acumulam dados actuais com os dados anteriores e estão<br />

<strong>de</strong>finidos com escalas que se adaptam automaticamente ao sinal recebido.<br />

79


Figura 59: Visualização <strong>de</strong> dados.<br />

80<br />

Desenvolvimento<br />

Com este ajuste automático das escalas, os gráficos po<strong>de</strong>m receber sinais <strong>de</strong> sensores<br />

<strong>de</strong> diferentes tipos, pois são visualizados da melhor forma. Os dados são recebidos em arrays,<br />

com um tamanho pré-<strong>de</strong>finido no nó sensor remetente. Po<strong>de</strong> ainda ser consultada a frequência<br />

real a que o sensor está a transmitir, que po<strong>de</strong>, em alguns casos, divergir um pouco da<br />

frequência <strong>de</strong>sejada.<br />

3.5.6 Envio <strong>de</strong> comandos<br />

Os comandos po<strong>de</strong>m ser do tipo Start, Stop ou SetFreq, estando as suas funcionalida<strong>de</strong>s<br />

explicadas na Tabela 11. Para o envio <strong>de</strong> comandos para a porta série foi construído um switch<br />

on<strong>de</strong> é seleccionado pelo botão Send Comand o case correspon<strong>de</strong>nte ao sensor para on<strong>de</strong> se<br />

<strong>de</strong>seja enviar um comando. Na caixa Command po<strong>de</strong>-se escolher o tipo <strong>de</strong> comando <strong>de</strong>sejado,<br />

que selecciona um novo case <strong>de</strong>ntro <strong>de</strong> um segundo switch. Depois disto é construída uma<br />

string com o tipo <strong>de</strong> comando (A, B ou F), o no<strong>de</strong> ID e o divisor da frequência <strong>de</strong> amostragem<br />

(Figura 60). Esta string é enviada para a porta série quando o botão Send Command é activado.


Capítulo - 3<br />

Figura 60: Envio <strong>de</strong> comandos (Extracto do Block Diagram do Labview).<br />

Os comandos têm o tamanho <strong>de</strong> 6 bytes, e por cada caractere é enviado o seu código<br />

ASCII ao coor<strong>de</strong>nador. Depois <strong>de</strong> receber os comandos o coor<strong>de</strong>nador interpreta-os e envia ao<br />

nó sensor correspon<strong>de</strong>nte.<br />

3.6 Hardware analógico<br />

Para completar o sistema <strong>de</strong> monitorização do corpo humano e para servir como mo<strong>de</strong>lo,<br />

foi construído um circuito condicionador para um sensor <strong>de</strong> temperatura timpânica. Para<br />

implementar este circuito, foi necessário ter em conta que o valor máximo <strong>de</strong> tensão admitido<br />

pelo ADC é <strong>de</strong> 2.4 V, então os circuitos condicionadores <strong>de</strong>verão ter o valor <strong>de</strong> Vouto <strong>de</strong> 0 a 2.4V.<br />

3.6.1 Sensor <strong>de</strong> Temperatura Timpânica<br />

Para a medição da temperatura timpânica, é necessário um sensor específico, visto que<br />

o interior do ouvido é uma zona do corpo humano bastante sensível, e na prática <strong>de</strong> natação<br />

com o sensor, po<strong>de</strong> sofrer alguma lesão. É também importante um sensor com boa precisão e<br />

sensibilida<strong>de</strong> <strong>de</strong> dimensões reduzidas, pois não <strong>de</strong>verá incomodar a activida<strong>de</strong> e bem-estar do<br />

utilizador. Assim sendo optou-se pelo sensor <strong>de</strong> temperatura timpânica da Smiths Medical<br />

(Figura 61).<br />

81


Figura 61: Sensor <strong>de</strong> temperatura timpânica.<br />

82<br />

Desenvolvimento<br />

Este sensor é protegido por uma mini esponja que é inserida no ouvido, reduzindo o<br />

risco <strong>de</strong> lesão, e uma parte exterior, também no mesmo material que faz barreira à passagem<br />

do ar, e ajuda na inserção do sensor no ouvido. O fio condutor do sinal eléctrico fornece leituras<br />

precisas, reduzindo a influência do ar ambiente na temperatura.<br />

O sensor propriamente dito, é um termistor NTC (Negative Temperature Coefficient) com<br />

precisão <strong>de</strong> 0.2 ºC, variando a sua resistência numa gama <strong>de</strong> 850Ω a 2KΩ, para uma gama <strong>de</strong><br />

temperaturas entre os 30 e 45 ºC (Tabela 14).<br />

Tabela 14: Valores da resistência do sensor NTC sensível à temperatura.<br />

3.6.2 Circuito electrónico<br />

Temperatura (ºC) RT (Ω)<br />

45 ºC 850Ω<br />

43 ºC 930Ω<br />

40 ºC 1100Ω<br />

37 ºC 1350Ω<br />

34 ºC 1640Ω<br />

32 ºC 1850Ω<br />

Antes <strong>de</strong> qualquer <strong>de</strong>scrição da implementação do circuito condicionador, é importante<br />

referir que este sensor, pela sua aplicabilida<strong>de</strong> na área da medicina e saú<strong>de</strong>, tem as suas<br />

características reservadas aos seus fabricantes, portanto não foi tomado conhecimento do seu<br />

datasheet, sendo a maioria das características verificadas na prática e teste efectuados ao<br />

sensor. Por exemplo, os valores <strong>de</strong> saída do sensor <strong>de</strong> temperatura (resistência) da Tabela 14<br />

foram obtidos experimentalmente.<br />

Uma das condicionantes <strong>de</strong>ste circuito é sem dúvida a sua fonte <strong>de</strong> alimentação. Uma<br />

vez que o sistema tem necessida<strong>de</strong> <strong>de</strong> ser portátil, esta <strong>de</strong>verá ser feita através <strong>de</strong> pilhas<br />

capazes <strong>de</strong> alimentar o microcontrolador dos nós da re<strong>de</strong> e simultaneamente o circuito


Capítulo - 3<br />

implementado. Para alimentação do circuito e do microcontrolador foram utilizadas duas pilhas<br />

<strong>de</strong> lítio do tipo AAA <strong>de</strong> 3 V cada.<br />

Os sensores <strong>de</strong> temperatura do tipo termistor NTC têm um coeficiente <strong>de</strong> variação <strong>de</strong><br />

resistência com a temperatura negativo, ou seja a resistência diminui com o aumento da<br />

temperatura, sendo esta variação não-linear. Na Figura 62 po<strong>de</strong>-se ver a curva característica<br />

típica <strong>de</strong> um termistor NTC.<br />

Figura 62: curva característica <strong>de</strong> um termistor NTC, adaptado <strong>de</strong> [37].<br />

Em muitos casos os circuitos utilizados para medição <strong>de</strong>ste tipo <strong>de</strong> sensores são as<br />

pontes <strong>de</strong> Wheatstone, i<strong>de</strong>ais para sensores com reduzidas variações da sua gran<strong>de</strong>za, mas<br />

neste caso utilizou-se um circuito alternativo com base no circuito da Figura 63.<br />

Figura 63: Amplificador inversor com sensor na malha <strong>de</strong> realimentação.<br />

Estando o sensor inserido na malha <strong>de</strong> realimentação, po<strong>de</strong> ver-se, pela equação que<br />

<strong>de</strong>termina a tensão <strong>de</strong> saída, que a tensão na saída do sensor é <strong>de</strong>pen<strong>de</strong>nte da resistência do<br />

sensor, que por sua vez varia com a temperatura.<br />

83


84<br />

Desenvolvimento<br />

Este circuito foi utilizado <strong>de</strong>vido ao seu maior grau <strong>de</strong> exactidão comparativamente com<br />

as pontes <strong>de</strong> Wheatstone, e por ter uma corrente pequena e constante no NTC, in<strong>de</strong>pen<strong>de</strong>nte da<br />

resistência do mesmo. Esta última característica é importante para que a situação <strong>de</strong> aumento<br />

<strong>de</strong> temperatura, e consequentemente diminuição da resistência do termistor, não provoque um<br />

aumento da corrente que atravessa o termistor que por sua vez produziria um maior<br />

aquecimento e po<strong>de</strong>ria influenciar os resultados. No circuito representado na Figura 63 a<br />

corrente que passa em RS é igual à corrente que passa no termistor, e mantém-se constante<br />

<strong>de</strong>s<strong>de</strong> que não haja variação da tensão <strong>de</strong> referência.<br />

O OpAmp escolhido foi o LM308 que tem baixa tensão <strong>de</strong> alimentação e elevada<br />

precisão [38]. A baixa tensão <strong>de</strong> alimentação é um dos requisitos <strong>de</strong>vido à fonte <strong>de</strong> alimentação<br />

serem pilhas <strong>de</strong> 3V. Para fazer o condicionamento do sinal do termistor, implementou-se o<br />

circuito da Figura 64, baseado no circuito anterior, acrescido <strong>de</strong> um andar amplificador e um<br />

divisor <strong>de</strong> tensão. O primeiro andar amplificador assegura uma corrente pequena e constante no<br />

termistor, o segundo andar serve para ajustar o ganho para obter a gama <strong>de</strong> tensões <strong>de</strong> saída<br />

<strong>de</strong>sejada e o divisor <strong>de</strong> tensão ajusta o offset para que a tensão <strong>de</strong> saída seja nula quando o<br />

valor <strong>de</strong> temperatura é máximo.<br />

Figura 64: Circuito condicionador para sensor <strong>de</strong> temperatura timpânica.<br />

A gama <strong>de</strong> medição <strong>de</strong> temperatura pretendida é <strong>de</strong> 32 a 45 ºC, visto que o organismo<br />

humano não suporta temperaturas acima <strong>de</strong> 45ºC, e que abaixo dos 32 ºC po<strong>de</strong> entrar em<br />

hipotermia e sofrer arritmias cardíacas fatais. A primeira tarefa para implementar o circuito era<br />

encontrar o valor da corrente no sensor que não influenciasse os resultados. Como não era<br />

conhecido o valor da potência máxima dissipada pelo termistor, optou-se por consi<strong>de</strong>rar outros<br />

termistores NTC e admitir um valor <strong>de</strong>ntro dos mesmos níveis. Admitiu-se assim o valor <strong>de</strong> 0,5


Capítulo - 3<br />

mW para a potência <strong>de</strong> dissipação máxima no termistor, calculando-se assim o valor <strong>de</strong> corrente<br />

no termistor segundo a equação 5.<br />

A corrente será constante e <strong>de</strong> valor 767 µA. Analisando o circuito po<strong>de</strong>-se verificar a<br />

tensão no ponto intermediário V3 po<strong>de</strong> ser calculado segundo a função 7.<br />

A resistência R1 (3kΩ) foi escolhida <strong>de</strong> modo a que o primeiro andar não tivesse um<br />

ganho muito elevado, para que o ganho seja <strong>de</strong>terminado praticamente só pelo segundo andar,<br />

<strong>de</strong> modo a ser mais fácil <strong>de</strong> controlar. Assim o ganho máximo do primeiro andar para o caso da<br />

resistência do termistor ser máxima é <strong>de</strong> 0,617.<br />

Para se obter uma tensão <strong>de</strong> saída <strong>de</strong> 2,4v para um valor <strong>de</strong> 32 ºC correspon<strong>de</strong>ndo a<br />

1850Ω, verificou-se na prática que o valor do ganho para o segundo andar <strong>de</strong>veria ser igual a 3.<br />

Assim admitindo que R3 com um valor <strong>de</strong> 6.6 kΩ, po<strong>de</strong> ser calculada a R2 para obter-se este<br />

ganho.<br />

A tensão <strong>de</strong> saída (Vout) <strong>de</strong>ste circuito po<strong>de</strong> ser calculada pela função 10.<br />

85<br />

(5)<br />

(6)<br />

(7)


86<br />

Desenvolvimento<br />

Para ajustar o offset, foi implementado um divisor <strong>de</strong> tensão, que coloca uma tensão na<br />

entrada não inversora do OpAmp, para precisamente compensar a diferença entre as suas duas<br />

entradas, e consequentemente colocar a saída a 0v quando a resistência do termistor for <strong>de</strong><br />

850Ω. Na Tabela 15 po<strong>de</strong>-se verificar a correspondência entre os valores <strong>de</strong> temperatura,<br />

resistência do termistor, tensão intermédia V3, ganho total e saída do circuito condicionador (Vout).<br />

Tabela 15: Valores da saída (Vout) do circuito condicionador em função da temperatura.<br />

Temperatura (ºC) RT (Ω) V3 (mV) Vout (V)<br />

45 ºC 850Ω 3.3mV 0V<br />

43 ºC 930Ω -61,8mV 0,2V<br />

40 ºC 1100Ω -191mV 0,6V<br />

37 ºC 1350Ω -332mV 1,2V<br />

34 ºC 1640Ω -612mV 1.8V<br />

32 ºC 1850Ω -775mV 2.4V<br />

Devido ao sensor <strong>de</strong> temperatura timpânica ser não linear, será necessário corrigir essa<br />

não linearida<strong>de</strong> digitalmente no nó sensor que fizer a aquisição <strong>de</strong>ste sinal. Devido ao facto da<br />

alimentação ser feita por pilhas <strong>de</strong> 3V este circuito satura a uma tensão <strong>de</strong> 2.13V, o que é<br />

próximo da tensão máxima <strong>de</strong> saída <strong>de</strong>sejada. Por experimentação foi obtido o gráfico da Figura<br />

1, on<strong>de</strong> po<strong>de</strong> ser observado o sinal <strong>de</strong> saída do circuito condicionador em função da<br />

temperatura,<br />

Figura 65: Tensão <strong>de</strong> saída (Vout) em função da temperatura.<br />

Este circuito tem uma sensibilida<strong>de</strong> que po<strong>de</strong> ser calculada pela função:


Capítulo - 3<br />

Com a implementação <strong>de</strong>ste circuito condicionador, o sistema <strong>de</strong> monitorização <strong>de</strong> sinais<br />

vitais do corpo humano fica completo, funcionando este sensor juntamente com o sistema <strong>de</strong><br />

aquisição, como mo<strong>de</strong>lo para os outros sensores que completam o sistema <strong>BIOSWIM</strong>.<br />

O sistema do circuito condicionador <strong>de</strong> sensor temperatura mais o sistema <strong>de</strong> aquisição<br />

têm a resolução <strong>de</strong> 0.00319 ºC, como po<strong>de</strong> ser confirmado na expressão 12.<br />

A resolução do sistema <strong>de</strong> condicionamento está duas or<strong>de</strong>ns <strong>de</strong> gran<strong>de</strong>za abaixo da<br />

resolução do sensor, pelo que é suficiente.<br />

87


4.1 Protótipos implementados<br />

4 Resultados<br />

Ao longo do projecto foi implementada uma re<strong>de</strong> <strong>de</strong> comunicação sem fios com o<br />

protocolo Zigbee com a programação do nó sensor e do nó controlador, uma outra re<strong>de</strong> <strong>de</strong><br />

comunicação sem fios com o protocolo 802.15.4, e uma aplicação gráfica para o computador<br />

em LabView para comunicar com ambas as re<strong>de</strong>s. Foi ainda construído um circuito<br />

condicionador para um sensor <strong>de</strong> temperatura timpânica para servir como mo<strong>de</strong>lo para outros<br />

sensores do projecto Bioswim.<br />

O circuito condicionador para o sensor <strong>de</strong> temperatura timpânica foi implementado em<br />

breadboard (Figura 66).<br />

Figura 66: Circuito condicionador <strong>de</strong> sensor <strong>de</strong> temperatura timpânica.<br />

Na Figura 67 po<strong>de</strong> ver-se os protótipos <strong>de</strong> cada elemento que constitui o sistema<br />

<strong>de</strong>senvolvido. No anexo 5 está uma imagem que apresenta o sistema protótipo <strong>de</strong>senvolvido<br />

numa só figura.<br />

88


Capítulo - 4<br />

4.2 Testes<br />

Figura 67: Protótipos implementados.<br />

Terminado o <strong>de</strong>senvolvimento foi necessário proce<strong>de</strong>r a um conjunto <strong>de</strong> testes e<br />

medições para comprovar o funcionamento do sistema criado. Para isso foram efectuados<br />

diversos testes, tanto para o funcionamento geral <strong>de</strong> todo o sistema, como para o <strong>de</strong>sempenho<br />

do mesmo.<br />

Um dos aspectos interessantes a testar neste sistema é a capacida<strong>de</strong> máxima <strong>de</strong><br />

comunicação, ou seja até que velocida<strong>de</strong>s <strong>de</strong> transmissão o sistema comunica sem falhar,<br />

<strong>de</strong>s<strong>de</strong> a aquisição do sinal do sensor até à representação do sinal na aplicação gráfica. Outro<br />

dos aspectos curiosos e relevantes é a comunicação em ambientes adversos, por exemplo em<br />

ambientes ruidosos ou com os módulos <strong>de</strong> comunicação separados por obstáculos à<br />

transferência <strong>de</strong> dados.<br />

Para visualizar os resultados dos testes do <strong>de</strong>sempenho foram essencialmente utilizados o<br />

sistema <strong>de</strong> registo das variáveis do painel <strong>de</strong> erros da aplicação gráfica. Para testes relacionados<br />

com o funcionamento, foi usado o sistema <strong>de</strong> <strong>de</strong>bug dos microcontroladores da Jennic. Todos<br />

estes testes foram feitos e serão <strong>de</strong>scritos nos subcapítulos seguintes.<br />

4.2.1 Testes do sistema<br />

Para testar a parte <strong>de</strong> comunicação entre os dispositivos <strong>de</strong> re<strong>de</strong> foram geradas e<br />

enviadas tramas controladas com dados conhecidos e visualizadas pelo sistema <strong>de</strong> <strong>de</strong>bug. Na<br />

aquisição <strong>de</strong> amostras pelo ADC foi utilizada uma fonte <strong>de</strong> sinal on<strong>de</strong> primeiramente se emitia<br />

89


90<br />

Resultados<br />

valores <strong>de</strong> tensão contínua, <strong>de</strong> modo a verificar as mudanças do valor digital adquirido <strong>de</strong> acordo<br />

com a resolução do ADC. Numa segunda fase era emitida uma sinusói<strong>de</strong> pela fonte e verificada<br />

na aplicação gráfica.<br />

Figura 68: Teste da Aquisição e transmissão <strong>de</strong> dados.<br />

Os testes relacionados com processamento <strong>de</strong> dados foram também efectuados pelo<br />

sistema <strong>de</strong> <strong>de</strong>bug pelo hyperterminal do Windows. Para o teste da implementação da técnica Bit<br />

stuffing foi gerada e emitida no nó sensor uma onda triangular para enviar à aplicação no<br />

computador, o que obrigava a que as amostras tivessem sequências <strong>de</strong> 5 bits a 1 para<br />

obrigatoriamente serem adicionados stuffs no nó controlador.<br />

Para testar a transmissão <strong>de</strong> dados correctos entre os dispositivos <strong>de</strong> re<strong>de</strong> e a aplicação<br />

gráfica, foi gerada uma trama <strong>de</strong> dados igual no nó sensor e na aplicação, verificando-se a<br />

coincidência. A trama enviada foi um “<strong>de</strong>nte <strong>de</strong> serra”, <strong>de</strong> modo a que as amostras tomassem<br />

valores, <strong>de</strong>ntro da gama <strong>de</strong> valores possível, <strong>de</strong>s<strong>de</strong> o menor até ao maior, testando-se assim se<br />

os dados que chegam à aplicação gráfica são os mesmos que foram gerados no nó sensor.<br />

Para testar as perdas e repetição <strong>de</strong> tramas <strong>de</strong> tramas, foi colocado o sistema a<br />

funcionar por completo, <strong>de</strong>s<strong>de</strong> a aquisição até à recepção <strong>de</strong> dados por parte da aplicação<br />

gráfica. Os erros na comunicação foram visualizados no painel <strong>de</strong> erros da aplicação gráfica e<br />

foram registados em ficheiro.<br />

De seguida é apresentado o plano experimental para os testes efectuados ao<br />

<strong>de</strong>sempenho do sistema.


Capítulo - 4<br />

4.3 Plano experimental<br />

Para testar o <strong>de</strong>sempenho do sistema implementado <strong>de</strong> uma forma rigorosa, foi<br />

elaborado um plano experimental, <strong>de</strong> modo a se perceber as condições em que os testes foram<br />

realizados (Figura 69).<br />

Figura 69: Plano experimental para testar o protótipo implementado.<br />

Foram feitos dois tipos <strong>de</strong> testes: um para contabilizar o número <strong>de</strong> tramas perdidas e<br />

outro para avaliar a qualida<strong>de</strong> do sinal entre os dispositivos <strong>de</strong> re<strong>de</strong> (Etapa A).<br />

Para o teste das tramas perdidas foram usadas as duas implementações: Zigbee e<br />

802.15.4 (Etapa B), on<strong>de</strong> foi utilizado o modo <strong>de</strong> energia, Low Power (Etapa C). Foi ainda<br />

testado o modo <strong>de</strong> energia High Power na aplicação com o protocolo 802.15.4, para verificar a<br />

diferença no <strong>de</strong>sempenho entre os dois modos <strong>de</strong> energia. Para estas duas implementações<br />

91


92<br />

Resultados<br />

foram colocados os dispositivos em diferentes configurações (Etapa D), para se verificar se<br />

influenciava o resultado final. As diferentes configurações estão representadas na Tabela 16.<br />

Nome da configuração<br />

(Diagrama)<br />

D1-Dispositivos juntos<br />

D2-10 metros<br />

D3-10 metros com pare<strong>de</strong><br />

D4-Frente e atrás do corpo<br />

D5-Cabeça atrás e pés à<br />

frente<br />

Tabela 16: Posição relativa dos dispositivos.<br />

Descrição da configuração Motivo do teste<br />

Dispositivos juntos. Testar a comunicação nas<br />

melhores condições.<br />

Dispositivos separados a<br />

uma distância 10 metros.<br />

Dispositivos separados a<br />

uma distância <strong>de</strong> 10 metros<br />

separados por uma pare<strong>de</strong>.<br />

Um dispositivo à frente do<br />

corpo e outro atrás.<br />

Um dispositivo atrás da<br />

cabeça e outro à frente dos<br />

pés.<br />

Testar a influência da distância na<br />

comunicação.<br />

Testar a influência <strong>de</strong> um<br />

obstáculo como uma pare<strong>de</strong> na<br />

comunicação.<br />

Testar a influência do corpo<br />

humano na comunicação.<br />

Testar a influência do corpo<br />

humano com os dispositivos à<br />

distância máxima no projecto<br />

<strong>BIOSWIM</strong>.<br />

No caso da configuração dos dispositivos juntos, foi feito o teste para 1, 2 e 3 nós<br />

sensores na re<strong>de</strong>, enquanto para as restantes configurações apenas foi testado para um nó<br />

sensor na re<strong>de</strong> (Etapa E). Para todas estas condições, foi contabilizado o número <strong>de</strong> tramas<br />

perdidas em frequências <strong>de</strong> amostragem <strong>de</strong>s<strong>de</strong> 10 Hz até 10 kHz.<br />

O teste da qualida<strong>de</strong> do sinal foi feito para o protocolo 802.15.4, porque a Jennic dispôs<br />

funções para medir o LQI (Link Quality Indicator) apenas para aplicações que usam o protocolo<br />

802.15.4 (Etapa B). O LQI é um valor <strong>de</strong> 8 bits (0 a 255) e indica a qualida<strong>de</strong> da ligação (sinal)<br />

entre dois dispositivos: emissor e receptor. Este teste foi feito para os dois modos <strong>de</strong> energia<br />

High Power e Low Power (Etapa C) e também para as diferentes configurações citadas em cima<br />

(Etapa D). Para cada uma <strong>de</strong>stas configurações foi medido o LQI para um só nó sensor na re<strong>de</strong><br />

(Etapa E).<br />

De <strong>de</strong>stacar que os testes foram realizados com os módulos com a antena exterior<br />

ligada ao conector SMA. Para o caso <strong>de</strong> vários dispositivos na re<strong>de</strong>, foram usados os módulos<br />

sem conector SMA, com a antena integrada em PCB. No final foi ainda testada a comunicação<br />

com dois nós sensores sem antena exterior, apenas com o conector SMA.


Capítulo - 4<br />

O critério <strong>de</strong> paragem foi a estabilização da percentagem <strong>de</strong> perdas <strong>de</strong> tramas perdidas.<br />

Verificou-se que para as frequências mais elevadas, ao fim <strong>de</strong> 10000 tramas transmitidas, a<br />

percentagem <strong>de</strong> perdas já não sofria nenhuma alteração. Nas frequências mais baixas a<br />

percentagem <strong>de</strong> perdas estabilizava, com um número <strong>de</strong> transmissão <strong>de</strong> tramas mais baixo (por<br />

volta das 4000 tramas).<br />

No caso da aplicação Zigbee, é importante <strong>de</strong>stacar que esta foi construída com as<br />

bibliotecas SDK- Libraries versão 1.1 da Jennic, visto que a nova actualização (SDK- Libraries<br />

versão 1.2) po<strong>de</strong> obter <strong>de</strong>sempenhos diferentes, mas por motivos <strong>de</strong> incompatibilida<strong>de</strong> com a<br />

aplicação construída não foi testada.<br />

4.4 Resultados e Análise<br />

Na transmissão <strong>de</strong> dados, existem perdas <strong>de</strong> tramas na comunicação entre o nó<br />

controlador e o nó sensor, em ambos os protocolos implementados, Verificou-se que para taxas<br />

<strong>de</strong> transmissão baixas não há perdas, mas à medida que se aumenta a frequência <strong>de</strong><br />

amostragem, o número <strong>de</strong> tramas perdidas é também maior. Estas perdas ocorrem <strong>de</strong>vido a<br />

dois factores: o tempo <strong>de</strong> processamento das amostras para envio, que apesar <strong>de</strong> ter sido<br />

optimizado, tem ainda uma margem para optimização, e que po<strong>de</strong> ser melhorado<br />

minuciosamente <strong>de</strong> modo a minimizar ainda mais as perdas; a largura <strong>de</strong> banda do canal <strong>de</strong><br />

transmissão, que tem um limite máximo imposto pela Jennic (taxa <strong>de</strong> transmissão efectiva <strong>de</strong><br />

101 kbps) e pelos protocolos 802.15.4 e Zigbee (teoricamente 250 kbps), e que não <strong>de</strong>pen<strong>de</strong><br />

do <strong>de</strong>sempenho das implementações dos utilizadores. Por esta razão é necessário fazer a<br />

contagem <strong>de</strong>stas perdas para perceber as variáveis que influenciam a comunicação e<br />

<strong>de</strong>sempenho do sistema. Por esta razão é necessário fazer a contagem <strong>de</strong>stas perdas para<br />

perceber as variáveis que influenciam a comunicação e <strong>de</strong>sempenho do sistema.<br />

A seguir serão mostrados e analisados os resultados obtidos, bem como a sua relação e<br />

factores que possam influenciar positiva ou negativamente o <strong>de</strong>sempenho. Por questões <strong>de</strong><br />

simplificação, nos próximos subcapítulos, as aplicações implementadas com os dois protocolos<br />

<strong>de</strong> comunicação sem fios serão chamadas pelo próprio nome do protocolo implementado,<br />

respectivamente Zigbee e 802.15.4.<br />

93


1) Perdas <strong>de</strong> tramas (Low Power e High Power)<br />

94<br />

Resultados<br />

O primeiro teste efectuado foi a contabilização <strong>de</strong> tramas perdidas e repetidas no modo<br />

Low Power à medida que se aumenta a frequência <strong>de</strong> amostragem e consequentemente<br />

velocida<strong>de</strong> <strong>de</strong> transmissão <strong>de</strong> dados. Foram registadas as perdas e repetição <strong>de</strong> tramas para os<br />

dois protocolos, e no caso do 802.15.4 foi também testado nos modos Low Power e High Power.<br />

I) Dispositivos juntos:<br />

Figura 70: Perdas <strong>de</strong> tramas na configuração dispositivos juntos.<br />

Em todas as configurações dos dispositivos, verifica-se uma diferença significativa entre<br />

a aplicação implementada com o protocolo 802.15.4 e o Zigbee. O caso mais importante para<br />

esta aplicação é a configuração dos dispositivos juntos, visto que no fato <strong>de</strong> natação os nós<br />

sensores estarão relativamente próximos do nó controlador. Nesta configuração a percentagem<br />

<strong>de</strong> perdas no 802.15.4 é bastante maior, ao contrário do que se esperava inicialmente. Na<br />

aplicação Zigbee a percentagem <strong>de</strong> tramas perdidas atinge 3,68% à frequência <strong>de</strong> amostragem<br />

<strong>de</strong> 7 kHz, enquanto na aplicação 802.15.4, a esta frequência atinge 31,2%. Na aplicação do<br />

802.15.4 verifica-se que no modo High Power as perdas são menores que no modo Low Power,<br />

o que é facilmente compreendido, pois a qualida<strong>de</strong> do sinal em High Power é maior e por isso<br />

se per<strong>de</strong>m menos tramas. Po<strong>de</strong>-se concluir que o sistema, no melhor caso, com a<br />

implementação Zigbee tem a capacida<strong>de</strong> <strong>de</strong> adquirir amostras a 7 kHz e transmitir os sinais<br />

adquiridos a uma taxa <strong>de</strong> 84 kbps (10,5 kiloBytes por segundo), contendo no entanto uma<br />

percentagem <strong>de</strong> perdas <strong>de</strong> tramas <strong>de</strong> aproximadamente 3,7%. No caso da implementação<br />

802.15.4 a frequência <strong>de</strong> amostragem po<strong>de</strong> alcançar 10 kHz mas neste caso <strong>de</strong>monstra perdas<br />

bastante significativas, atingindo os 45%.


Capítulo - 4<br />

II) Dispositivos a distância <strong>de</strong> 10 metros<br />

Figura 71: Perdas <strong>de</strong> tramas na configuração distância <strong>de</strong> 10 metros.<br />

Na configuração dos dispositivos a uma distância <strong>de</strong> 10 metros, no protocolo Zigbee<br />

verifica-se um aumento das perdas com o aumento da FA (frequência <strong>de</strong> amostragem), mas<br />

entre os 3 kHz e 7 kHz a percentagem <strong>de</strong> perdas oscila um pouco. Neste caso, a partir <strong>de</strong> 3 kHz<br />

a percentagem <strong>de</strong> tramas perdidas não aumenta <strong>de</strong> forma significativa, tendo mesmo diminuído<br />

em algumas frequências superiores. De <strong>de</strong>stacar que no 802.15.4, as perdas são semelhantes<br />

nos dois modos <strong>de</strong> energia.<br />

III) Dispositivos a distância <strong>de</strong> 10 metros separados por uma pare<strong>de</strong><br />

Figura 72: Perdas <strong>de</strong> tramas na configuração distância <strong>de</strong> 10 metros separados por uma pare<strong>de</strong>.<br />

Nesta configuração a percentagem <strong>de</strong> perdas começa a aumentar <strong>de</strong> forma significativa<br />

por volta dos 3 kHz. A percentagem <strong>de</strong> perdas no 802.15.4 é semelhante nos dois modos <strong>de</strong><br />

95


96<br />

Resultados<br />

energia, um aspecto curioso, visto que no modo High Power a qualida<strong>de</strong> do sinal é superior,<br />

como po<strong>de</strong>rá ser confirmado nos resultados da qualida<strong>de</strong> do sinal no subcapítulo seguinte.<br />

IV) Frente e atrás do corpo<br />

Figura 73: Perdas <strong>de</strong> tramas na configuração frente e atrás do corpo.<br />

Outro dado relevante é que tanto nesta configuração <strong>de</strong> um dispositivo à frente e outro<br />

atrás do corpo humano, como na configuração seguinte (V), a percentagem <strong>de</strong> perdas é maior<br />

no modo High Power do que no Low Power.<br />

V) Frente da cabeça e atrás dos pés<br />

Figura 74: Perdas <strong>de</strong> tramas na configuração frente e atrás dos pés.<br />

Esta configuração <strong>de</strong> um dispositivo à frente da cabeça e o outro atrás dos pés foi<br />

testada para simular a distância máxima entre os nós na aplicação <strong>BIOSWIM</strong>, pois os módulos


Capítulo - 4<br />

integrados no fato <strong>de</strong> natação não po<strong>de</strong>rão ter distâncias superiores. Neste caso foi verificado o<br />

dado <strong>de</strong>scrito na configuração IV.<br />

VI) Vários dispositivos na re<strong>de</strong><br />

Um dos testes mais importantes para o <strong>de</strong>sempenho <strong>de</strong>ste sistema é a comunicação<br />

simultânea <strong>de</strong> vários nós sensores. O sistema <strong>de</strong>verá suportar vários módulos <strong>de</strong> comunicação<br />

em simultâneo, e ter um <strong>de</strong>sempenho razoável, suficiente para monitorizar os sinais dos<br />

sensores.<br />

Dois Nós sensores:<br />

Figura 75: Perdas <strong>de</strong> tramas com 2 nós em comunicação.<br />

Neste teste verificou-se a mesma linha <strong>de</strong> resultados que se tinha vindo a obter. A<br />

aplicação 802.15.4 continua a ter perdas bastante significativas enquanto na aplicação Zigbee,<br />

verifica-se um ligeiro aumento das perdas nos dois nós <strong>de</strong> comunicação. Verificou-se que o nó<br />

sensor 2 tinha uma percentagem <strong>de</strong> perdas maior que o nó sensor 1 apesar <strong>de</strong> se encontrarem<br />

os dois à mesma distância do nó controlador e estarem nas mesmas condições. No Zigbee, as<br />

perdas atingem, a 7 kHz, uma média nos dois nós, <strong>de</strong> 6%, enquanto no 802.15.4 alcança os<br />

30% <strong>de</strong> tramas perdidas.<br />

97


Três Nós sensores:<br />

Figura 76: Perdas <strong>de</strong> tramas com 3 nós em comunicação.<br />

98<br />

Resultados<br />

No caso da comunicação <strong>de</strong> três nós sensores em simultâneo, a situação não difere<br />

muito da anterior. Nas duas aplicações os nós sensores que iniciam com maior percentagem <strong>de</strong><br />

tramas perdidas, mantêm esse estatuto basicamente ao longo das diferentes frequências <strong>de</strong><br />

amostragem, sendo a diferença das perdas entre os diferentes nós pouco significativa e<br />

constante. Neste caso po<strong>de</strong>-se concluir que o sistema é capaz <strong>de</strong> suportar três nós sensores a<br />

comunicar simultaneamente a 3000 amostras por segundo (36 kbps), com uma percentagem<br />

<strong>de</strong> perdas inferior a 4%.<br />

Dois Nós sensores com conector SMA (sem antena):<br />

Figura 77: Perdas <strong>de</strong> tramas com 2 nós em comunicação com conector SMA.<br />

Foi ainda efectuado um teste com os módulos <strong>de</strong> comunicação com conector SMA e<br />

sem antena. Neste caso verificou-se que a percentagem <strong>de</strong> perdas é bastante maior que nos


Capítulo - 4<br />

módulos <strong>de</strong> comunicação com a antena integrada em PCB. No início da comunicação, a taxas<br />

<strong>de</strong> transferência baixas, as perdas eram já elevadas (cerca <strong>de</strong> 20%), mas aumentaram a taxas<br />

superiores, per<strong>de</strong>ndo-se mesmo quase a totalida<strong>de</strong> das tramas enviadas.<br />

2) Qualida<strong>de</strong> do sinal (LQI)<br />

Este parâmetro foi medido para avaliar a qualida<strong>de</strong> <strong>de</strong> sinal nas diferentes configurações<br />

dos dispositivos. Este parâmetro influencia a quantida<strong>de</strong> <strong>de</strong> erros na transmissão <strong>de</strong> dados, uma<br />

vez que, teoricamente, quanto melhor for a qualida<strong>de</strong> <strong>de</strong> sinal, melhor é a performance da<br />

comunicação em termos <strong>de</strong> erros <strong>de</strong> transmissão.<br />

Figura 78: Qualida<strong>de</strong> do sinal (LQI).<br />

No modo High Power, a qualida<strong>de</strong> é superior para todas as configurações dos<br />

dispositivos, sendo máxima nos dispositivos juntos com antena. Neste caso refere-se a antena, à<br />

antena conector, que tem a função <strong>de</strong> comunicação a longas distâncias.<br />

3) Dados Gerais<br />

Nesta secção encontram-se os resultados anteriores, ilustrados no mesmo gráfico, para<br />

se comparar a quantida<strong>de</strong> <strong>de</strong> erros nas diferentes configurações. Po<strong>de</strong>-se também verificar a<br />

diferença entre os modos High e Low Power.<br />

99


Perda <strong>de</strong> tramas em Low Power<br />

Figura 79: Perdas <strong>de</strong> tramas em todas as configurações no modo Low Power.<br />

100<br />

Resultados<br />

Nos gráficos da Figura 79, po<strong>de</strong>m-se comparar as perdas <strong>de</strong> tramas em todas as<br />

configurações, para as duas aplicações.<br />

No caso do Zigbee as configurações dos dispositivos juntos e a 10 metros obtêm<br />

melhores <strong>de</strong>sempenhos que as restantes, no entanto na aplicação 802.15.4, são as<br />

configurações que têm maiores perdas. Este dado é interessante do ponto <strong>de</strong> vista da<br />

comunicação com obstáculos para dois protocolos diferentes. Na aplicação 802.15.4, as<br />

configurações dos dispositivos no corpo humano obtêm performances mais aceitáveis, apesar <strong>de</strong><br />

terem perdas bastantes significativas para uma comunicação fiável.<br />

Perda <strong>de</strong> tramas em High Power<br />

Figura 80: Perdas <strong>de</strong> tramas em todas as configurações no modo High Power.<br />

Em High Power a configuração dos dispositivos juntos obtém o menor número <strong>de</strong><br />

perdas, por outro lado a configuração dos dispositivos a 10 metros tem as piores performances.


Capítulo - 4<br />

As duas configurações com os dispositivos no corpo humano continuam a revelar resultados<br />

bastante semelhantes.<br />

Comparando estes resultados com os da comunicação no modo <strong>de</strong> energia Low Power,<br />

em geral, não se verificam melhorias.<br />

Perda <strong>de</strong> tramas numa re<strong>de</strong> com vários dispositivos<br />

Figura 81: Perdas <strong>de</strong> tramas com vários nós sensores na re<strong>de</strong>.<br />

A Figura 81 mostra a comparação entre os resultados do teste das perdas <strong>de</strong> tramas<br />

para um nó sensor em comunicação, dois nós sensores a comunicar em simultâneo e por<br />

último três nós sensores na re<strong>de</strong>. No caso em que havia mais do que um nó sensor a<br />

comunicar, foi feita a média das perdas <strong>de</strong>sses nós sensores, para se fazer a comparação. O<br />

teste foi feito para as duas aplicações, e em ambos os casos verifica-se, obviamente que as<br />

perdas aumentam à medida que o número <strong>de</strong> nós comunicantes na re<strong>de</strong> aumenta. No Zigbee as<br />

perdas em cada nó duplicam quando comunicam dois nós sensores ao mesmo tempo, ou seja o<br />

correspon<strong>de</strong>nte a um só nó sensor na re<strong>de</strong> per<strong>de</strong>r o quádruplo das tramas. Quando se<br />

acrescenta mais um nó sensor (três nós sensores), a percentagem <strong>de</strong> perdas em cada nó<br />

aumenta <strong>de</strong> cinco a seis vezes o valor <strong>de</strong> um só nó sensor na re<strong>de</strong>. No 802.15.4 as perdas não<br />

sofrem aumentos tão significativos como no Zigbee, apresentando aumentos <strong>de</strong> 1,2 e 1,5 para a<br />

comunicação <strong>de</strong> dois e três nós sensores respectivamente. No entanto, é necessário tomar em<br />

conta que a percentagem <strong>de</strong> perdas original é já muito superior, ou seja, mesmo com o maior<br />

aumento <strong>de</strong> perdas, o Zigbee continua a ter menores perdas a taxas <strong>de</strong> amostragem mais<br />

elevadas.<br />

101


4.5 Resultados Gerais<br />

102<br />

Resultados<br />

Fazendo uma análise geral dos resultados obtidos, po<strong>de</strong>-se concluir que a aplicação<br />

<strong>de</strong>senvolvida com o protocolo Zigbee obtém melhores <strong>de</strong>sempenhos que o 802.15.4. Neste<br />

protocolo as velocida<strong>de</strong>s <strong>de</strong> transmissão alcançadas são bastante interessantes para este<br />

projecto, especialmente na implementação do protocolo Zigbee. Taxas <strong>de</strong> amostragem na or<strong>de</strong>m<br />

dos 7 kHz com uma percentagem <strong>de</strong> perdas <strong>de</strong> 3,7%, é um bom resultado para fazer a<br />

aquisição <strong>de</strong> sensores com necessida<strong>de</strong> <strong>de</strong> frequências <strong>de</strong> amostragem elevadas como os<br />

sensores EMG. Este é o principal requisito <strong>de</strong>ste projecto, e todo o seu <strong>de</strong>senvolvimento foi<br />

efectuado em torno <strong>de</strong>ste objectivo.<br />

Nesta aplicação os erros na transmissão <strong>de</strong> tramas são pouco significativos, ainda que se<br />

<strong>de</strong>vam ter em conta, pois para vários sinais vitais, a perda <strong>de</strong> algumas amostras po<strong>de</strong> significar<br />

a inviabilida<strong>de</strong> da amostragem. Este problema po<strong>de</strong>rá ser solucionado futuramente, quando as<br />

funções <strong>de</strong> ackowledgement estiverem disponíveis para a primeira versão <strong>de</strong> bibliotecas utilizada<br />

nesta aplicação. No entanto esta solução po<strong>de</strong>rá eventualmente diminuir a taxa <strong>de</strong> transmissão,<br />

uma vez que por cada trama, ou conjunto <strong>de</strong> tramas o coor<strong>de</strong>nador terá que enviar um<br />

ackowledgement a confirmar a recepção <strong>de</strong> dados.<br />

O facto <strong>de</strong> os dispositivos finais po<strong>de</strong>rem alternar entre o modo sleep e o modo activo é<br />

também uma mais-valia para este projecto, pois <strong>de</strong>ssa forma po<strong>de</strong>-se diminuir o consumo <strong>de</strong><br />

energia e aumentar a autonomia da re<strong>de</strong> sem fios.<br />

4.6 Problemas e Soluções<br />

Ao longo do <strong>de</strong>senvolvimento <strong>de</strong>ste projecto, foram vários os entraves e problemas que<br />

surgiram, o que enriqueceu o conhecimento prático e incentivou ao <strong>de</strong>senvolvimento <strong>de</strong> novas<br />

capacida<strong>de</strong>s.<br />

Um dos gran<strong>de</strong>s problemas iniciais foi a limitada função <strong>de</strong> <strong>de</strong>bug <strong>de</strong>ste microcontrolador,<br />

pois ainda não está disponível a <strong>de</strong>puração <strong>de</strong> erros por software. Para contornar este problema,<br />

o <strong>de</strong>bug foi sempre efectuado pelo hyperterminal do windows usando funções que enviam para o<br />

computador o valor das variáveis e o estado da execução. No entanto esta solução tem um nível


Capítulo - 4<br />

organizacional da informação muito inferior quando comparada com o <strong>de</strong>bug por software.<br />

Algumas outras funcionalida<strong>de</strong>s <strong>de</strong>ste microcontrolador também ainda não estão disponíveis,<br />

como por exemplo as interrupções do ADC para esta versão do software Zigbee PRO, pois não<br />

funcionam simultaneamente com o RTOS.<br />

Outro problema, foi o facto do microcontrolador JN5148 não possuir um software <strong>de</strong><br />

<strong>de</strong>senvolvimento específico para as suas funções. Em vez disso utiliza um software (Eclipse) <strong>de</strong><br />

carácter geral que suporta vários níveis <strong>de</strong> programação, o que faz com que a função <strong>de</strong><br />

simulação por software esteja indisponível, sendo feito todos os testes online. Isto significa que<br />

cada vez que se preten<strong>de</strong> fazer uma alteração no firmware e testá-la, o programa tem que ser<br />

compilado e <strong>de</strong>scarregado para os vários microcontroladores (<strong>de</strong>pen<strong>de</strong>ndo do número <strong>de</strong> nós<br />

sensores que se está a utilizar na re<strong>de</strong>) que <strong>de</strong>pois terá que ser executado, visualizando-se todo<br />

os dados <strong>de</strong> <strong>de</strong>bug no computador. Este problema limita o <strong>de</strong>senvolvimento do projecto em<br />

termos <strong>de</strong> tempo, visto que o download do firmware para a memória flash do microcontrolador<br />

<strong>de</strong>mora um tempo consi<strong>de</strong>rável.<br />

As várias actualizações das bibliotecas que contêm as API’s <strong>de</strong> <strong>de</strong>senvolvimento e a<br />

correcção <strong>de</strong> alguns erros dos fabricantes, verificados em versões anteriores, foram também um<br />

importante entrave no <strong>de</strong>senvolvimento <strong>de</strong>sta aplicação. Com a actualização, algumas das<br />

funções implementadas anteriormente, ficaram obsoletas, o que levou a que tivessem que ser<br />

<strong>de</strong>senvolvidas novas funções. Este microcontrolador também carece <strong>de</strong> aplications notes, visto<br />

ser relativamente recente, o que motivou um estudo intensivo das API’s <strong>de</strong> <strong>de</strong>senvolvimento para<br />

solucionar alguns problemas.<br />

Um outro problema na comunicação, foi a recepção <strong>de</strong> dados por parte do controlador<br />

quando o nó sensor ainda não estava registado. Nesta situação o controlador recebia tramas<br />

com valores aparentemente aleatórios enquanto não se procedia ao registo e i<strong>de</strong>ntificação do nó<br />

sensor. Foi implementado um sistema <strong>de</strong> registo dos nós sensores que se juntam à re<strong>de</strong>, com a<br />

memorização do seu en<strong>de</strong>reço <strong>de</strong> re<strong>de</strong> e No<strong>de</strong> ID.<br />

103


5 Conclusões<br />

Este projecto teve como objectivo final criar um protótipo completo <strong>de</strong>stinado fazer a<br />

monitorização <strong>de</strong> sensores biométricos integrados num fato <strong>de</strong> natação.<br />

O projecto foi iniciado com o estudo <strong>de</strong> formas <strong>de</strong> monitorizar o corpo humano em<br />

exercício extremo no meio aquático. Terminado este estudo foi possível perceber as<br />

necessida<strong>de</strong>s do sistema a <strong>de</strong>senvolver, começando a pesquisa <strong>de</strong> módulos <strong>de</strong> comunicação<br />

sem fios que integrassem os requisitos necessários à realização <strong>de</strong>ste projecto. Uma vez<br />

encontrados os módulos <strong>de</strong> <strong>de</strong>senvolvimento, foi realizado um estudo intensivo da pilha<br />

protocolar Zigbee, das aplications notes, das API’s e ambiente <strong>de</strong> <strong>de</strong>senvolvimento usado pelo<br />

microcontrolador.<br />

Findo o processo <strong>de</strong> estudo, proce<strong>de</strong>u-se à implementação do sistema <strong>de</strong> monitorização.<br />

Este foi o ponto <strong>de</strong> viragem no projecto, uma vez que <strong>de</strong>pois <strong>de</strong> muito estudo teórico, e uma<br />

gran<strong>de</strong> varieda<strong>de</strong> <strong>de</strong> testes na tentativa <strong>de</strong> funcionamento <strong>de</strong> algumas funcionalida<strong>de</strong>s dos<br />

módulos <strong>de</strong> <strong>de</strong>senvolvimento, passou-se à prática e à obtenção <strong>de</strong> resultados mais específicos.<br />

Com o Zigbee a servir como base protocolar para a comunicação, começou-se por implementar<br />

as funções <strong>de</strong> envio <strong>de</strong> dados entre os dispositivos, passando para as funções <strong>de</strong> aquisição <strong>de</strong><br />

dados, terminando com a comunicação entre o coor<strong>de</strong>nador e o computador. Depois <strong>de</strong> uma<br />

obtenção <strong>de</strong> resultados não satisfatória, foi implementada uma nova re<strong>de</strong>, <strong>de</strong>sta vez com o<br />

protocolo 802.15.4, com o objectivo <strong>de</strong> melhorar as performances da re<strong>de</strong> já implementada.<br />

Para a visualização dos dados e controlo dos dispositivos da re<strong>de</strong> foi construída uma<br />

aplicação gráfica no ambiente <strong>de</strong> <strong>de</strong>senvolvimento <strong>de</strong> programação gráfica LabView. Esta<br />

aplicação permite a comunicação <strong>de</strong> quatro sensores em simultâneo, e a visualização dos sinais<br />

correspon<strong>de</strong>ntes e erros associados. Os sensores po<strong>de</strong>m ser controlados individualmente,<br />

através <strong>de</strong> tramas <strong>de</strong> comandos.<br />

Depois da implementação do software, e para completar o sistema, foi estudado e<br />

construído o hardware para o condicionamento <strong>de</strong> sinal <strong>de</strong> um sensor <strong>de</strong> temperatura do tipo<br />

104


Capítulo - 5<br />

termístor NTC. Este módulo serve como mo<strong>de</strong>lo para outros circuitos condicionadores para<br />

outros sensores que irão integrar o fato <strong>de</strong> natação, visto que tem os parâmetros necessários<br />

para a interface com o dispositivo nó sensor.<br />

Os testes efectuados ao sistema, foram feitos <strong>de</strong> forma progressiva, à medida que se<br />

iam terminando módulos e etapas. A programação do firmware e software foi, sempre que<br />

possível, implementado por módulos, <strong>de</strong> modo a serem vistos como uma “caixa negra” com<br />

entradas e saídas e po<strong>de</strong>rem ser utilizados noutros programas e aplicações. Uma vez<br />

terminados os testes em termos <strong>de</strong> funcionamento, chegou o momento para testar o<br />

<strong>de</strong>sempenho do sistema <strong>de</strong> diferentes formas e com condições <strong>de</strong> funcionamento diferentes.<br />

De entre os vários resultados obtidos, po<strong>de</strong>-se <strong>de</strong>stacar a implementação com o<br />

protocolo Zigbee que tem a capacida<strong>de</strong> <strong>de</strong> adquirir a uma frequência <strong>de</strong> 7 kAmostras/s. A essa<br />

frequência <strong>de</strong> amostragem a taxa <strong>de</strong> transferência <strong>de</strong> dados correspon<strong>de</strong>nte é <strong>de</strong> 84 kbps,<br />

obtendo-se uma percentagem <strong>de</strong> perdas <strong>de</strong> tramas abaixo dos 4%. Na comunicação com vários<br />

dispositivos na re<strong>de</strong> a mesma implementação suporta a comunicação simultânea <strong>de</strong> pelo menos<br />

três nós sensores, a 3000 amostras por segundo (36 kbps), com uma percentagem <strong>de</strong> perdas<br />

inferior a 4%.<br />

As perdas ocorrem maioritariamente em tramas individuais e casualmente em blocos <strong>de</strong><br />

tramas na comunicação entre o dispositivo final e o coor<strong>de</strong>nador. À medida que se vai<br />

aumentando a frequência <strong>de</strong> amostragem, a percentagem <strong>de</strong> perdas vai sendo maior até uma<br />

frequência máxima <strong>de</strong> 10 kHz (implementação 802.15.4). Este limite <strong>de</strong>ve-se ao facto <strong>de</strong> a 10<br />

kHz, o tempo disponível entre as amostragens (0,1 ms) não ser suficiente para adquirir,<br />

processar e enviar os dados ao coor<strong>de</strong>nador.<br />

Os resultados obtidos foram interessantes do ponto <strong>de</strong> vista da utilização <strong>de</strong>ste sistema<br />

para monitorizar vários sensores em simultâneo, e para sensores com necessida<strong>de</strong> <strong>de</strong> elevadas<br />

taxas <strong>de</strong> amostragem.<br />

Para a realização <strong>de</strong>ste projecto foram consultados vários artigos e trabalhos<br />

relacionados com re<strong>de</strong>s corporais <strong>de</strong> sensores, e-têxteis, e re<strong>de</strong>s sem fios <strong>de</strong> curto alcance, bem<br />

como exemplos <strong>de</strong> circuitos condicionadores. Esta pesquisa revelou-se bastante importante visto<br />

oferecer vários pontos <strong>de</strong> vista diferentes, e várias abordagens aos problemas a solucionar.<br />

O trabalho efectuado foi realizado sensivelmente em <strong>de</strong>z meses, sendo o tempo restante<br />

para testes e optimização. Os resultados atingiram os resultados previstos e nalguns casos<br />

exce<strong>de</strong>ram algumas das expectativas criadas inicialmente.<br />

105


5.1 Trabalho Futuro<br />

106<br />

Conclusões<br />

Este projecto, apesar <strong>de</strong> importante, é apenas uma parte do projecto <strong>BIOSWIM</strong>. Para ser<br />

utilizado neste projecto terá que ser ajustado e adaptado para outros tipos <strong>de</strong> sensores e outros<br />

requisitos que o projecto exija. Por este motivo este projecto ainda tem alguns aspectos passíveis<br />

<strong>de</strong> serem melhorados.<br />

Futuramente os circuitos condicionadores terão que ser implementados em placa PCB,<br />

<strong>de</strong> modo a terem dimensões mais reduzidas e po<strong>de</strong>rem ser integrados no tecido do fato <strong>de</strong><br />

natação. O circuito condicionador do sensor <strong>de</strong> temperatura terá que passar por esse processo.<br />

Deverá ser implementado um sistema <strong>de</strong> acknowledge, <strong>de</strong> modo a minimizar ou eliminar<br />

as perdas <strong>de</strong> tramas. Deve ter-se em conta o facto <strong>de</strong> o sistema <strong>de</strong> acknowledge prejudicar a<br />

performance da re<strong>de</strong> e colocar em risco a transmissão em tempo real, logo essa implementação<br />

<strong>de</strong>verá ser equilibrada para se obter no final o <strong>de</strong>sempenho <strong>de</strong>sejado.<br />

Po<strong>de</strong>rão ser implementados outros comandos <strong>de</strong>ntro da mesma estrutura que os já<br />

existentes. Po<strong>de</strong>rão ser implementados comandos para pedir amostras isoladas, por exemplo<br />

para o sensor <strong>de</strong> temperatura, ou para enviar o valor da qualida<strong>de</strong> do sinal.<br />

A aplicação gráfica po<strong>de</strong> tornar-se mais dinâmica com outros tipos <strong>de</strong> informação, como<br />

a leitura da energia em cada nó sensor, a verificação do tráfego <strong>de</strong> canal e outras informações<br />

relacionadas com os nós sensores utilizados no fato <strong>de</strong> natação.<br />

Um aspecto interessante e <strong>de</strong> gran<strong>de</strong> valor para o futuro é a interface dos sinais<br />

biométricos com uma página Web, <strong>de</strong> modo a que o utilizador da aplicação gráfica, consiga<br />

visualizar o exercício da pessoa monitorizada em qualquer lugar.


Bibliografia<br />

[1] N. Zamorra, P. Marbel, and P. Khosla, "Electronic Textiles: A Platform for<br />

Pervasive Computing," in , 2003.<br />

[2] F. Morais, J. Lieutaud, and S. Kofuji, "e-Textiles – Uma aplicação para Re<strong>de</strong>s <strong>de</strong><br />

Sensores Sem Fio," in .<br />

[3] W. weber, et al., "Electronics in Textiles - The Next Stage in Man Machine<br />

Interaction," in .<br />

[4] B. Lee and V. Subramanian, "Organic Transistor on Fiber: A first step towards<br />

electronic textiles," Department of Electrical Engineering and Computer Sciences,<br />

University of California.<br />

[5] Inovação tecnológica. [Online].<br />

http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=01018004122<br />

4<br />

[6] Mechatronic Tips. [Online].<br />

http://www.mechatronictips.com/technology/robotics/optical-sensor-gives-robots-<br />

human-touch/<br />

[7] D. Tomanek. (2010) The Nanotube site. [Online].<br />

http://www.pa.msu.edu/cmp/csc/nanotube.html<br />

[8] A. Jain, R. Bolle, and S. Pankanti, Introduction to Biometrics . 2002.<br />

[9] T. Reilly, B. Drust, and W. Gregson, Thermoregulation in elite athlets. 2006.<br />

[10] M. Gleeson, "Temperature Regulation during Exercise," Int. J Sports Med, 1998.<br />

107


[11] A. Simões and M. Martino, "Variabilida<strong>de</strong> circadiana da temperatura oral,<br />

timpânica e axilar em adultos hospitalizados," Faculda<strong>de</strong> <strong>de</strong> ciências médicas,<br />

Universida<strong>de</strong> Estadual <strong>de</strong> Campinas, 2005.<br />

[12] R. Schmidt, T. Norgall, J. Morsdorf, J. Bernhard, and T. Von <strong>de</strong>r Grun, Body Area<br />

Network BAN--a key infrastructure element for patient-centered medical<br />

applications. Schmidt R, Norgall T, Mörsdorf J, Bernhard J, von <strong>de</strong>r Grün T..<br />

[13] H. Carvalho, "Data fusion implementation in sensor networks applied to helth<br />

monitoring," Departamento <strong>de</strong> Ciência Computação, Universida<strong>de</strong> Fe<strong>de</strong>ral <strong>de</strong><br />

Minas Gerais, 2005.<br />

[14] E. Karulf. (2008) Body Area Networks (BAN). [Online].<br />

http://www.cse.wustl.edu/~jain/cse574-08/ftp/ban/in<strong>de</strong>x.html<br />

[15] S. Rossetto, F. Costa, and V. Sacramento, "Re<strong>de</strong>s <strong>de</strong> sensores sem fio: visão geral e<br />

um exemplo <strong>de</strong> implementação," 2007.<br />

[16] R. Ramachandran, L. Ramanna, and H. Ghasemza<strong>de</strong>h, "Body sensor networks to<br />

evaluate standing balance: interpreting muscular activities based on inertial<br />

sensors," University of Texas at Dallas, 2008.<br />

[17] T. Barbosa, "Uma arquitectura <strong>de</strong> re<strong>de</strong> <strong>de</strong> sensores do corpo humano ,"<br />

Departamento <strong>de</strong> energia eléctrica, Universida<strong>de</strong> <strong>de</strong> Brasília, 2008.<br />

[18] J. Sewook, "Comparisons of ZigBee Personal Area Network (PAN)<br />

Interconnection Methods: Wireless Communication Systems," 2007.<br />

[19] J. Lee, S. Yu, and S. Chung, "A Comparative Study of Wireless Protocols:<br />

Bluetooth, UWB, ZigBee, and Wi-Fi," in The 33rd Annual Conference of the IEEE<br />

Industrial Electronics Society, 2007.<br />

[20] N. Baker, "Zigbee anr Bluetooth strengths and weaknesses for industrial<br />

applications," IEEE Computing and Control Engineering, 2005.<br />

108


[21] IEEE, "Wireless LAN medium access control(MAC) and physical layer(PHY)<br />

specification," no. LAN-MAN Standards Committee of the IEEE Computer<br />

Society, 2003.<br />

[22] Jennic, "IEEE 802.15.4 Wireless Networks User Gui<strong>de</strong>," Jennic, 2006.<br />

[23] S. C. Ergen, "ZigBee/IEEE 802.15.4 Summary," 2004.<br />

[24] Ondrej, Z<strong>de</strong>nek, and Petr, "Zigbee technology and <strong>de</strong>vice <strong>de</strong>sign," in IEEE<br />

International Conference on Networking, International Conference on Systems and<br />

International Conference on Mobile Communications and Learning Technologies,<br />

2006.<br />

[25] Z. Alliance, "Zigbee specification. Technical report," 2005.<br />

[26] A. Potsch, "Zigbee Spec. and IEEE 802.15.4," Universty Linz, Austria, 2006.<br />

[27] Bluetooth SIG. (2010) Bluetooth. [Online].<br />

http://www.bluetooth.com/<br />

[28] B. Miller and C. Bisdikian, "Bluetooth Revealed 1. ed.," 2001.<br />

[29] J. Bray and C. Sturan, "Bluetooth - Connect without Cables," 2001.<br />

[30] H. Ranki. Affix - End User Manual. [Online].<br />

http://affix.sourceforge.net/affix-newdoc/Affix-enduser/c21.html<br />

[31] P. Mc<strong>de</strong>rmott, "Bluetooth scatternet mo<strong>de</strong>ls," 2004.<br />

[32] (2008) Electrónica.org. [Online].<br />

http://www2.eletronica.org/artigos/eletronica-digital/bluetooth<br />

[33] Bluetooth SIG, "Specification of the Bluetooth System - Core v1.1," 2001.<br />

[34] C. Pamuk, "Distributed Bluetooth Scatternet Formation Algorithm based on Device<br />

and Link Characteristics," 2003.<br />

[35] Wikipedia Foundation. (2010) Wikipedia. [Online].<br />

109


http://en.wikipedia.org/wiki/Eclipse_%28software%29<br />

[36] Jennic, "ZigBee PRO Stack User Gui<strong>de</strong>," 2009.<br />

[37] M. J. Soares. arnerobotic. [Online].<br />

http://www.arnerobotics.com.br/eletronica/Medidas_analogicas_BS1.htm<br />

[38] National Semiconductor. LM108/LM208/LM308 Operational Amplifiers. [Online].<br />

http://www.national.com/opf/LM/LM308.htm<br />

110


Figura 82: Mo<strong>de</strong>lo protocolar da pilha Zigbee.<br />

1<br />

Anexo 1


2<br />

Anexo 2<br />

Figura 83: Pilha <strong>de</strong> Protocolos Bluetooth e principais funções <strong>de</strong> cada camada, adaptado <strong>de</strong> [29].<br />

A pilha <strong>de</strong> protocolos Bluetooth po<strong>de</strong> ser dividida, logicamente, em três grupos:<br />

protocolos <strong>de</strong> transporte, protocolos middleware e grupo <strong>de</strong> aplicação.<br />

Os Protocolos <strong>de</strong> Transporte têm como objectivo realizar a i<strong>de</strong>ntificação entre<br />

dispositivos Bluetooth, possibilitando a criação, configuração e gerência <strong>de</strong> conexões físicas e<br />

lógicas. São através <strong>de</strong>stas conexões que os aplicativos enviam dados, utilizando os protocolos<br />

<strong>de</strong> transporte. Os protocolos <strong>de</strong>ste grupo incluem as camadas <strong>de</strong> Radio, Baseband, Link<br />

Manager, L2CAP e HCI (ver Figura 84 a).<br />

Os Protocolos Middleware são compostos por protocolos <strong>de</strong> transporte adicionais<br />

necessários para a interface <strong>de</strong> <strong>de</strong>terminadas aplicações com a tecnologia Bluetooth (ver Figura<br />

84b). Este grupo <strong>de</strong> protocolos inclui tanto protocolos padrões da indústria como protocolos


<strong>de</strong>senvolvidos pelo SIG especificamente para comunicação via Bluetooth. Os protocolos<br />

middleware correspon<strong>de</strong>m às camadas RFCOMM, SDP,<br />

OBEX, WAP e TCS.<br />

Figura 84: Grupos da pilha <strong>de</strong> protocolos Bluetooth. (a): Grupo <strong>de</strong> protocolos <strong>de</strong> Transporte, (b): Grupo <strong>de</strong> protocolos Middleware,<br />

(c): Grupo <strong>de</strong> aplicação. (em negrito).<br />

O grupo <strong>de</strong> aplicação neste contexto se refere aos softwares que resi<strong>de</strong>m acima da pilha<br />

<strong>de</strong> protocolos <strong>de</strong>finida pelo SIG (ver Figura 84c). Este é o caso dos softwares aplicativos que<br />

fazem uso da tecnologia Bluetooth. Para o funcionamento a<strong>de</strong>quado <strong>de</strong>stes aplicativos com a<br />

tecnologia Bluetooth, o Bluetooth SIG especificou profiles para diversas aplicações [33].<br />

3


Figura 85: Configuração pormenorizada do ZPS (parâmetros <strong>de</strong> re<strong>de</strong>).<br />

4<br />

Anexo 3


Figura 86: Block Diagram da subVI Extract Frame.<br />

5<br />

Anexo 4


Figura 87: Protótipo implementado completo.<br />

6<br />

Anexo 5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!