Vous êtes sur la page 1sur 86

FUNDAO EDSON QUEIROZ

UNIVERSIDADE DE FORTALEZA - UNIFOR


CENTRO DE CINCIAS TECNOLGICAS CCT

RENAN FONTELES ALBUQUERQUE

SISTEMA SEM FIO DE DETECO DE QUEDAS PARA MONITORAMENTO


DE IDOSOS

FORTALEZA
2016
RENAN FONTELES ALBUQUERQUE

SISTEMA SEM FIO DE DETECO DE QUEDAS PARA MONITORAMENTO


DE IDOSOS

Monografia apresentada para obteno dos


crditos da disciplina de Trabalho de Concluso
de Curso do Centro de Cincias Tecnolgicas da
Universidade de Fortaleza como parte das
Exigncias para graduao no curso de
Engenharia de Computao.

Orientador: Prof. Me. Marcelo Sousa.

Fortaleza
2016
AGRADECIMENTOS

A Deus, pela sade e apoio concedida para a concretizao deste objetivo.


Aos meus pais e irm, por todo o amor, incentivo aos estudos e compreenso nos
momentos de ausncia durante minha formao profissional.
Aos professores da Universidade de Fortaleza, pelos ensinamentos morais e didticos
ao longo de todos esses anos de curso.
Ao meu amigo e irmo Gabriel Habib Medeiros Oliveira, pelo apoio e a amizade desde
o comeo de minha jornada acadmica.
Ao meu amigo Levy Anselmo, pela a amizade e ajuda na correo do trabalho escrito.
Aos meus colegas de trabalho Diego Lima e Abenaas Melo, pela amizade e pelo o apoio
no desenvolvimento deste trabalho.
Aos amigos e companheiros adquiridos durante a graduao, pelos momentos de
descontrao e dedicao aos estudos.
RESUMO

A queda um problema grave de sade entre a populao idosa. As quedas podem


resultar em leses crticas como fraturas, rompimento de articulaes e cortes, podendo causar
complicaes nas condies de sade da vtima. Quedas que resultam em imobilizao por
leso ou mesmo perda de conscincia so eventos que impedem a vtima de invocar ajuda.
Portanto em situaes como essa exige-se uma necessidade de monitoramento contnuo do
idoso para evitar o atraso ou a no ocorrncia do socorro do idoso. Considerando a importncia
de monitoramento de quedas entre a populao idosa o presente trabalho apresenta o projeto e
desenvolvimento de um sistema de deteco e monitoramento de quedas em pessoas idosas.
Ser apresentado inicialmente um estudo sobre os riscos de quedas em idosos, destacando-se a
gravidade do incidente, bem como a frequncia que ocorrem essas quedas e como a preveno
desses eventos pode beneficiar o acompanhamento da sade do paciente. Este trabalho prope
um sistema capaz de monitorar eventos de quedas em humanos, permitindo que os indivduos
que necessitem de cuidados especiais, como os idosos, que so frgeis fisicamente, possam
receber atendimento imediato em caso de acidentes envolvendo queda. O sistema desenvolvido
consiste em um dispositivo vestvel equipado com um acelermetro e giroscpio para
identificao de quedas. Este dispositivo vestvel ir comunicar-se com um servidor Web em
tempo real, encaminhando os eventos de quedas detectados. O servidor Web ser responsvel
por exibir informaes referente a ocorrncia de quedas durante o uso do dispositivo pelo
paciente. Outro recurso importante disponibilizado pelo sistema o de armazenamento de
histrico de ocorrncia de quedas para futuras consultas, permitindo que instituies de
cuidados a idosos, ou familiares que acompanham idosos em sua residncia possam investigar
as ocorrncias de quedas e tomar decises capazes de reduzir a ocorrncia desses eventos
atravs do aprimoramento da infraestrutura para cuidado do paciente.

Palavras-chave: Monitoramento remoto. Deteco de quedas. Dispositivos vestveis.


Microcontrolador. Sistemas Embarcados. ARM. Aprendizado de mquina. Internet das
Coisas.
ABSTRACT

Fall is a serious health problem among the elderly population. Falls can result in critical
injuries such as fractures, cuts and disruption of joints and may cause complications in the
health of the victim. Falls resulting immobilization by injury or even loss of consciousness are
events that prevent the victim to invoke help, so in situations like this requires is a need for
continuous monitoring of the elderly to avoid the delay or non-occurrence of the rescue of the
elderly. Considering the importance of monitoring falls among the elderly this paper presents
the design and development of a detection system and monitoring of falls in elderly people. It
will initially presented a study on the risk of falls in the elderly, especially the severity of the
incident and how often these falls occur and how to prevent these events can benefit the
monitoring of patient health. This paper proposes a system to monitor drops in human events,
allowing individuals requiring special care, such as the elderly, who are physically frail, they
can receive immediate care in case of accidents involving fall. The developed system consists
of a wearable device equipped with an accelerometer and gyroscope for identification falls.
This wearable device will communicate with a Web server in real time, sending the detected
events falls. The Web server is responsible for displaying information regarding the occurrence
of falls during the use of the device by the patient. Another important feature provided by the
system is the occurrence history storage falls for future reference, allowing care facilities for
the elderly, or family members who accompany elderly residentially can investigate the
occurrence of falls and make decisions that can reduce the occurrence of these events through
the improvement of infrastructure for patient care.

Keywords: Remote monitoring. Fall detection. Wearable Devices. Low Power.


Microcontroller. Embedded Systems. ARM. Web Server.
LISTA DE ILUSTRAES

Figura 1: Lista dos maiores investidores em E-Health desde 2010 ........................................18

Figura 2: Arquitetura de um sistema vestvel de monitoramento ...........................................19

Figura 3: Representao da arquitetura geral de um sistema IoT ...........................................20

Figura 4: Exemplo de um sistema de monitoramento IoT na rea da sade ...........................21

Figura 5: Categorizao de redes definida pelo alcance .........................................................22

Figura 6: Localizao do padro 802.11 no modelo OSI........................................................24

Figura 7: Representao do acelermetro de 3 eixos MPU6050 ............................................28

Figura 8: Representao de um giroscpio de 3 eixos ............................................................29

Figura 9: NXP Freedom KL25Z..............................................................................................30

Figura 10: Diagrama de blocos dos recursos da famlia Kinetis KL2x...................................31

Figura 11: Diagrama esquemtico da NXP Freedom KL25Z .................................................32

Figura 12: MPU6050 Mdulo giroscpio e acelermetro....................................................33

Figura 13: Diagrama esquemtico da MPU6050 ....................................................................34

Figura 14: Mdulo Wi-Fi ESP8266 ........................................................................................35

Figura 15: Organizao dos pinos do ESP8266 ......................................................................36

Figura 16: Diagrama esquemtico do mdulo ESP8266-01 ...................................................36

Figura 17: Sistema de Aprendizado ........................................................................................42

Figura 18: Sistema de Classificao........................................................................................43

Figura 19: Diagrama de recomendao de algoritmos de aprendizado de mquina ...............44

Figura 20: Arquiteturas de acesso internet ...........................................................................46

Figura 21: Arquitetura geral de funcionamento do sistema de monitoramento. .....................52

Figura 22: Subsistemas do SEMS ...........................................................................................53

Figura 23: Fluxo geral de funcionamento da configurao do dispositivo vestvel................54

Figura 24: Interface de configurao do dispositivo vestvel..................................................54


Figura 25: Componentes do sistema vestvel de monitoramento ............................................55

Figura 26: Esquemtico do sistema vestvel de monitoramento .............................................56

Figura 27: Layout da PCB do Shield do dispositivo vestvel .................................................57

Figura 28: Sistema embarcado do dispositivo vestvel ...........................................................57

Figura 29: Prottipo do dispositivo vestvel ...........................................................................58

Figura 30: Prottipo do dispositivo vestvel acoplado no usurio ..........................................58

Figura 31:.Ambiente de desenvolvimento CodeWarrior IDE .................................................59

Figura 32:Ferramenta Processor Expert do CodeWarrior IDE ...............................................60

Figura 33: Mquina de estado do sistema de monitoramento embarcado ..............................61

Figura 34: Fluxograma de execuo no modo de configurao..............................................62

Figura 35: Fluxograma de execuo no modo de deteco ....................................................63

Figura 36: Fluxograma de execuo no modo de envio..........................................................64

Figura 37: Arquitetura do sistema de aquisio de dados .......................................................65

Figura 38: Interface de aquisio de dados .............................................................................66

Figura 39: Exemplo de dados coletados e salvos em arquivo .CSV .......................................67

Figura 40: Diagrama do servidor Web ....................................................................................69

Figura 41: Pgina principal do servidor Web .........................................................................70

Figura 42: Pgina de monitoramento do servidor Web ..........................................................71

Figura 43: PyCharm IDE ........................................................................................................72

Figura 44: Fluxograma de execuo do servidor ....................................................................73

Figura 45: Teste de leitura de parmetros de configurao do dispositivo .............................75

Figura 46: Teste de comunicao com o servidor ...................................................................76

Figura 47: Teste de registro de eventos no servidor................................................................77


LISTA DE QUADROS

Quadro 1: Caractersticas do processador Cortex-m0+ ..........................................................31

Quadro 2: Caractersticas do giroscpio da MPU6050 ...........................................................33

Quadro 3: Caractersticas do acelermetro da MPU6050 .......................................................34

Quadro 4: Caractersticas do mdulo ESP8266 ......................................................................35

Quadro 5: Descrio dos pinos do mdulo ESP8266-01 ........................................................37

Quadro 6: Consumo de corrente do mdulo ESP8266-01 ......................................................38

Quadro 7: Lista de comandos AT do mdulo ESP8266-01 ....................................................39

Quadro 8: Caractersticas de diferentes mdulos de comunicao .........................................48

Quadro 9: Comparao entre mdulos de comunicao .........................................................48

Quadro 10: Caractersticas de diferentes mdulos Wi-Fi .......................................................49

Quadro 11: Requisitos do dispositivo embarcado ..................................................................50

Quadro 12: Caractersticas de diferentes placas de desenvolvimento embarcado ..................51

Quadro 13: Features escolhidas ..............................................................................................65

Quadro 14: Informaes dos usurios de teste .......................................................................66

Quadro 15: Resultado dos testes realizados ............................................................................78


LISTA DE ABREVIATURAS E SIGLAS

ARM Advanced RISC Machine

CI Circuito Integrado

E/S Entrada e Sada

EEPROM Electrically Erasable Programmable Read-Only Memory

GND Ground

GPIO General Purpose Input/Output

IC Inter-Integrated Circuit

IDE Integrated Development Environment

IoT Internet of Things

DIY Do It Yourself

IP Internet Protocol

kbps Kilobits por segundo

Mbps Megabits por Segundo

PCI Placa de Circuito impresso

RISC Reduced Instruction Set Computer

SRAM Static Random Access Memory

UART Universal Asynchronous Receiver/Transmitter

TCP Transmission Control Protocol

UDP User Datagram Protocol

USB Universal Serial Bus

MEMS Microelectromechanical Systems


10

SUMRIO

1. INTRODUO ................................................................................................................. 12
1.1. JUSTIFICATIVA .......................................................................................................... 14
1.2. OBJETIVOS GERAIS .................................................................................................. 15
1.3. OBJETIVOS ESPECFICOS ........................................................................................ 15
1.4. ESTRUTURA DO TRABALHO .................................................................................. 15
2. FUNDAMENTAO TERICA .................................................................................... 17
2.1. E-HEALTH ................................................................................................................... 17
2.2. DISPOSITIVOS VESTVEIS ....................................................................................... 18
2.3. INTERNET DAS COISAS ........................................................................................... 19
2.3.1. IoT no cuidados sade ........................................................................................ 20
2.3.2. Monitoramento remoto .......................................................................................... 21
2.4. REDES DE COMUNICAO ..................................................................................... 21
2.4.1. Comunicao sem fio ............................................................................................. 21
2.4.1.1. Bluetooth.......................................................................................................... 23
2.4.1.2. Wi-Fi. ............................................................................................................... 23
2.4.1.3. GSM. ................................................................................................................ 24
2.5. SISTEMAS EMBARCADOS ....................................................................................... 25
2.5.1. Sistema operacional embarcado ............................................................................ 25
2.6. SISTEMAS DE TEMPO REAL ................................................................................... 26
2.6.1. FreeRTOS .............................................................................................................. 27
2.7. SENSORES ................................................................................................................... 27
2.7.1. Acelermetro .......................................................................................................... 28
2.7.2. Giroscpio ............................................................................................................. 29
2.8. FUNDAMENTOS DO SISTEMA VESTVEL (SEMS-Wear) ................................... 30
2.8.1. Placa de desenvolvimento NXP Freedom KL25Z .................................................. 30
2.8.1.1. Componentes da NXP Freedom KL25Z. ......................................................... 32
2.8.2. Mdulo MPU6050 ................................................................................................. 33
2.8.3. Mdulo ESP8266 ................................................................................................... 35
2.8.3.1. Comandos AT. ................................................................................................. 38
2.9. FUNDAMENTOS DO SERVIDOR DE MONITORAMENTO (SEMS-Server) ........ 40
2.9.1. Sistemas Web para aquisio de dados e controle ................................................ 40
2.9.2. Linguagem de programao Python ...................................................................... 40
2.9.3. Django ................................................................................................................... 41
2.10. FUNDAMENTOS DO SISTEMA DE APRENDIZADO .......................................... 41
2.10.1. Aprendizado de mquina (Machine Learning) .................................................... 41
2.10.2. Sistema de Aprendizado de mquina Supervisionado ......................................... 42
2.10.3. Mquina de vetor de suporte ............................................................................... 43
2.10.4. Scikit-Learn .......................................................................................................... 43
3. METODOLOGIA.............................................................................................................. 45
3.1. DECISES DE PROJETO ........................................................................................... 45
3.1.1. Deciso da arquitetura de acesso Internet ......................................................... 45
3.1.1.1. Comunicao Bluetooth ................................................................................. 46
3.1.1.2. Comunicao Wi-Fi ....................................................................................... 47
3.1.1.3. Comunicao GSM ........................................................................................ 47
3.1.2. Deciso do mdulo de comunicao Wi-Fi ........................................................... 49
11

3.1.3. Deciso do kit de desenvolvimento embarcado ..................................................... 49


3.2. CONCEPO DO PROJETO ...................................................................................... 52
3.3. DESENVOLVIMENTO DO SOFTWARE DE CONFIGURAO ........................... 53
3.4. DESENVOLVIMENTO DO SISTEMA VESTVEL .................................................. 55
3.4.1. Desenvolvimento do Hardware ............................................................................. 55
3.4.1.1. Desenvolvimento do Shield ............................................................................ 56
3.4.2. Desenvolvimento do Firmware .............................................................................. 59
3.4.2.1. Plataforma de desenvolvimento ..................................................................... 59
3.4.2.2. Mquinas de estado geral .............................................................................. 60
3.4.2.3. Fluxogramas de execuo.............................................................................. 61
3.4.2.3.1. Fluxogramas do modo de configurao .................................................. 61
3.4.2.3.2. Fluxogramas do modo de deteco ......................................................... 62
3.4.2.3.3. Fluxogramas do modo de envio ............................................................... 63

3.5. DESENVOLVIMENTO DO ALGORITMO DE APRENDIZADO DE MQUINA . 64


3.5.1. Escolha de features ............................................................................................... 64
3.5.2. Sistema de aquisio de dados .............................................................................. 65
3.5.3. Aplicao de aquisio de dados........................................................................... 66
3.5.4. Seo de coleta de dados ....................................................................................... 66
3.5.5. Algoritmo e treinamento ........................................................................................ 68
3.6. DESENVOLVIMENTO DO SERVIDOR DE MONITORAMENTO ........................ 69
3.6.1. Plataforma de desenvolvimento ............................................................................. 71
3.6.2. Fluxograma do Servidor de Monitoramento ......................................................... 72
4. TESTE E VALIDAO DO SISTEMA ......................................................................... 74
4.1. TESTE UNITRIO DO SISTEMA S.E.M.S ............................................................... 74
4.1.1. Caso de Teste 01 : Escrita de parmetros na memria ......................................... 74
4.1.2. Caso de Teste 02 : Envio de dados do acelermetros e giroscpio ...................... 75
4.1.3. Caso de Teste 03 : Exibio de pginas ............................................................... 76
4.1.4. Caso de Teste 04 : Registro de eventos ................................................................. 77
4.1.5. Caso de Teste 05 : Deteco de quedas e atividades ............................................ 77
4.1.6. Resultados ............................................................................................................. 78
4.2. TESTE INTEGRADO DO SISTEMA .......................................................................... 79
5. CONCLUSO.................................................................................................................... 80
5.1. TRABALHOS FUTUROS............................................................................................ 81
6. REFERENCIAS ................................................................................................................ 83
12

1. INTRODUO

O envelhecimento populacional um fenmeno mundial que preocupa vrios pases.


Segundo Dobriansky (2007) a populao idosa pessoas com mais de 65 anos no mundo
totalizou 500 milhes em 2006. Estima-se que em 2030 este nmero ir praticamente dobrar,
atingindo cerca de 1 bilho de idosos. No Brasil, o crescimento populacional tambm tem
mostrando-se evidente. Segundo dados apresentados pelo Instituto Brasileiro de Geografia
e Estatstica (IBGE), os idosos pessoas com mais de 60 anos representava 10,7
milhes dos brasileiros em 1991. Em 2011 este valor cresceu, totalizando uma
populao idosa de 23,5 milhes dos brasileiros, ou seja, mais que o dobro do registrado
em 1991 (IBGE, 2012).

O avano da idade limita funes fisiolgicas do organismo como a diminuio


gradativa da fora muscular, equilbrio e coordenao em geral (SANTIAGO et al.,
2004). Portanto o processo de envelhecimento resulta no aumento dos riscos de quedas,
ocasionando um grave problema de sade pblica e privada, uma vez que o crescimento
da populao idosa exigir um aumento de recursos de sade em atendimentos
hospitalares.

As quedas sofridas por idosos e as consequentes leses constituem um problema de


sade de grande impacto social enfrentado hoje por todos os pases que apresenta expressivo
envelhecimento populacional. A queda o mais srio e frequente acidente domstico que ocorre
com os idosos e a principal etiologia de morte acidental em pessoas acima de 65 anos
(FULLER, 2000). Portanto, a preveno queda tem o potencial de diminuir a morbidade e a
mortalidade em pessoas idosas, bem como reduzir os custos hospitalares nos tratamentos de
leses (SANTOS, 2008). Uma das maneiras de preveno de eventos de quedas na terceira
idade o fortalecimento muscular e aerbico. Segundo Mazo et al. (2007), a prtica regular
de atividade fsica uma forma de prevenir quedas em pessoas idosas pois minimiza os
declnios da capacidade funcional que necessria para que o idoso tenha uma vida
independente e consequentemente uma melhor condio de sade.

Devido fragilidade das pessoas idosas, a necessidade de cuidados especficos


e o monitoramento constante, concedido famlia um papel fundamental na prestao
de cuidados ao idoso. A famlia pode recorrer ajuda profissional na contratao de
13

cuidadores residenciais ou pode hospedar o idoso em casas de repouso. Neste caso, a


grande dificuldade a falta de recurso financeiro para investir em cuidados
especializados. Em outros casos a famlia recorre aos cuidados em casa, a partir do
apoio de um ou mais membros da famlia que exercero papel de cuidadores do idoso.
Em contrapartida, o acompanhamento constante do idoso consome praticamente todo o tempo
do cuidador, podendo causar problemas sociais tais como abandono do emprego, estresse e
preocupao com a sade do familiar (THOBER; CREUTZBERG; VIEGAS, 2005).

Considerando o cenrio atual em que se encontra a populao idosa, sistemas


mdicos portteis tm sido reconhecidos como uma soluo tecnolgica para monitorar
continuamente o estado de sade de um indivduo atravs da coleta constante de
informaes relevantes sobre o idoso monitorado, sendo estas informaes repassadas
para familiares e profissionais de sade responsveis pelo idoso em questo.

Segundo TENG (2008), o foco dos dispositivos mdicos vestveis concentra-se


principalmente em aplicaes de monitoramento no invasivo de sinais vitais como por
exemplo eletrocardiograma, presso sangunea, batimento cardacos, dentre outros
sinais os quais podem auxiliar na predio e preveno de doenas. Portanto, tendo em
vista a severidade das quedas em pessoas idosas, e a ascenso da tecnologia vestvel
para cuidados sade de pessoas, o presente trabalho prope um sistema vestvel para
monitoramento de eventos de quedas em pessoas idosas.

O sistema proposto tem como funo principal detectar e registrar eventos de


queda e determinar se estes enquadram-se em situaes emergenciais ou no. A partir
destas informaes, o sistema pode prevenir o agravamento da leso, no caso de
situaes emergenciais as quais necessitam de atendimento mdico imediato. Eventos
emergenciais sero notificados para as pessoas responsveis pelo monitoramento do
idoso, permitindo que medidas apropriadas sejam tomadas. Como funcionalidade
adicional, o sistema ir determinar atividades fsicas especficas que possam ser
realizadas pelo idoso durante o dia.

Desta forma, a capacidade do sistema de monitorar o grau de atividade fsica permitir


que os responsveis pelo cuidado do idoso possam acompanhar o desempenho em
atividades fsicas do idoso e determinar a necessidade de acrescentar ativ idades de
fortalecimento muscular ou outros aspectos relevantes para aprimoramento das
condies de sade do idoso na preveno de quedas.
14

Portanto, a soluo de monitoramento proposta denominada SEMS (Smart


Elderly Monitoring System) constitui em um sistema E-Health que contribui com a
famlia e profissionais de sade no monitoramento contnuo de um idoso. O sistema
SEMS pode ser aplicado em casas de cuidado ao idoso, bem como em hospitais ou na
prpria residncia do idoso, permitindo que familiares e profissionais de sade
acompanhem o idoso em qualquer ambiente em que ele esteja inserido.

1.1. Justificativa

No Brasil, cerca de 30% dos idosos caem ao menos uma vez ao ano. Segundo dados do
Sistema de Informao Mdica do Ministrio da Sade referente aos anos de 1979 a 1995, cerca
de 54.730 pessoas morreram devido s quedas, sendo 52% do total representado por idosos.
(JAHANA,2007)

Segundo Jahana (2007), no ano 2000 ocorreram no Brasil 87.177 internaes por causas
externas em indivduos com 60 anos ou mais. Dentre essas internaes, 48.940 eram causadas
por quedas, ou seja, 56,1% do total.

Devido frequente ocorrncia de leses, internaes e at mesmo morte causadas por


incidncia de quedas em pessoas idosas, o sistema SEMS proposto neste trabalho procura
reduzir os danos causados pelas quedas, a partir do uso de um sistema computacional capaz de
auxiliar e aprimorar o monitoramento dos idosos, permitindo que os idosos, vtimas de queda,
possam ser socorridos o mais rpido possvel.

O sistema desenvolvido neste trabalho possui recursos de deteco de atividades fsicas,


bem como deteco de quedas comuns e emergenciais, priorizando eventos os quais o paciente
pode necessitar de atendimento imediato para evitar agravamento de leses ou estado de sade.
O monitoramento contnuo das atividades do paciente pode favorecer os profissionais de sade
na deteco de doenas, ou de deficincias que o paciente possa adquirir durante a velhice e
que reflete em seu comportamento durante o dia, como falta de equilbrio e baixa disposio
em realizar esforo.

Tais informaes coletadas pelo sistema de monitoramento podem proporcionar um


melhor acompanhamento clnico ao paciente, bem como pode ajudar na deteco de falhas de
infraestrutura em ambientes para cuidado do idoso. Por exemplo, se em uma casa de cuidado
ao idoso h muitas incidncias de queda em um horrio especfico os quais os idosos
independentes tomam banho, significa que provavelmente o banheiro no oferece uma
15

infraestrutura adequada, portanto os dados coletados pelo sistema podem beneficiar a


investigao de ambientes imprprios para o cuidado do idoso.

1.2. Objetivos Gerais

Este trabalho tem como objetivo principal desenvolver um sistema de monitoramento


de quedas e atividades fsicas, de forma que possa contribuir para a superviso da sade de
pessoas, especialmente idosos. Este sistema deve constituir de um prottipo de dispositivo
vestvel para deteco de quedas e atividades de um humano atravs de um acelermetro e um
giroscpio, capaz de se comunicar atravs de uma interface Wi-Fi com um servidor Web
responsvel por coletar os dados do dispositivo vestvel e organiz-los para monitoramento do
paciente.

1.3. Objetivos Especficos

Os objetivos especficos para este trabalho so:

Desenvolver um prottipo funcional de dispositivo vestvel de baixo consumo de


energia que se comunique via Wi-Fi com um servidor Web;
Desenvolver um algoritmo para deteco de quedas com pelo menos 90 % de exatido;
Desenvolver um sistema vestvel de deteco de quedas utilizando um acelermetro e
um giroscpio;
Desenvolver um webserver para interface de monitoramento do paciente;
Aplicar ensaios de teste com o prottipo desenvolvido

1.4 Estrutura do Trabalho

O contedo deste trabalho est dividido em cinco captulos os quais descrevem


detalhadamente o processo de desenvolvimento e projeto do sistema de monitoramento de
idosos, incluindo definio de requisitos, arquitetura do sistema, dentre outros conceitos
fundamentais para a construo deste trabalho.

O primeiro captulo apresenta uma introduo do trabalho, descrevendo o cenrio o qual


o sistema ir atuar, destacando o problema a ser resolvido, a motivao e os objetivos do
trabalho.
16

No segundo captulo, abordada a teoria necessria para o desenvolvimento do trabalho.


Neste captulo so descritos conceitos sobre acelermetro, giroscpio, redes de comunicao
sem fio de baixo consumo de energia e sobre as plataformas de hardware e firmware utilizadas.

O terceiro captulo introduz a concepo e arquitetura do sistema, alm de descrever o


processo de desenvolvimento do sistema dividido em quatro etapas: dispositivo vestvel;
software de configurao, servidor e aprendizado de mquina.

O quarto captulo apresenta o processo de aplicao de testes unitrios dos componentes


de software desenvolvidos bem como o teste de integrao do sistema, destacando os principais
desafios para verificao e validao do sistema de monitoramento.

Por fim, o quinto captulo contm os resultados adquiridos durante os testes, as


concluses obtidas a partir deste trabalho, bem como pretenses para trabalhos futuros visando
aperfeioamento do sistema.
17

2. FUNDAMENTAO TERICA

Neste captulo sero abordados os conceitos sobre o tema estudado, bem como os
fundamentos tericos necessrios para o desenvolvimento deste projeto.

2.1. E-Health

E-Health surgiu no incio do sculo 21 e consiste na utilizao da eletrnica e a


tecnologia de comunicao para desenvolver solues voltadas rea de sade, como por
exemplo o monitoramento de sinais vitais. O uso de tecnologias E-Health tem reforado a rede
de sade em nveis regionais e nacionais (CASHEN; DYKES; GERBER, 2004).

Enquanto algumas definies associam o E-Health estritamente com a Internet, o termo


refere-se genericamente a qualquer dispositivo eletrnico dedicado a prestar algum servio
relacionado ao aprimoramento da sade. Portanto, os objetivos do E-health podem ser
resumidos no aumento da eficincia e qualidade nos cuidados de sade, aumento do
compromisso de provas com base na medicina, bem como o desenvolvimento de novas relaes
entre pacientes e profissionais de sade (AUSTIN; BOXERMAN, 2003).

A indstria de solues E-Health continua a crescer e espera-se que esta revolucione a


sade no Estados Unidos da Amrica em um futuro prximo. Provedores da tecnologia cada
vez mais utilizam sistemas automatizados para fornece aos pacientes acesso a registros mdicos
eletrnicos, bem como dados clnicos especficos de prestadores de servio de sade. Alm
disso, empregadores tm patrocinado sistemas de gerenciamento de doenas e programas de
bem-estar para seus empregados (DELUCA; DINAMARCA, 2000).

Atualmente, as tecnologias E-Health tem sido alvos de investimentos por empresas


visionrias. Uma das principais empresas que se destaca em investimentos em E-Health a Google. Segundo
Kosoff (2015), a empresa Google investiu cerca de U$32,5 milhes em apenas uma empresa a
startup Oscar, que desenvolveu um aplicativo para permitir que usurios entrem em contato
com mdicos especialistas a qualquer momento, sem nenhum custo.

Empresas de tecnologias voltadas a rea de sade e E-Health levantou cerca de US$ 2,2
bilhes de dlares no primeiro semestre de 2014 (GORDILHO,2014). Grandes empresas de
diversos ramos tm investido no desenvolvimento de tecnologias relacionadas a sade. A
Figura 1 apresenta a classificao de empresas com maior investimento no setor.
18

Figura 1: Lista dos maiores investidores em E-Health desde 2010.

Fonte: Gordilho, 2014.

A soluo de monitoramento de idosos, proposta neste trabalho, se enquadra como um


exemplo de tecnologia E-Health. O sistema utiliza dispositivos eletrnico para coleta e anlise
de dados para deteco de situaes relevantes ao acompanhamento da sade do utilizador da
tecnologia. O sistema proposto uma soluo que envolve computao vestvel, sensoriamento,
monitoramento remoto, servios de acompanhamento on-line, dentre outros conceitos
diretamente relacionados a muitas solues E-Health.

2.2. Dispositivos vestveis (Wearable Devices)

Segundo Fotiadis (2006), computadores vestveis so dispositivos incorporados ao


espao do usurio de tal forma que no limite sua mobilidade e que estejam sempre acessveis
com desempenho capaz de auxiliar o usurio em atividades motoras e cognitivas. Os
dispositivos vestveis permitem uma maior interao humano-mquina, pois estes so capazes
de coletar informaes sobre o usurio com o objetivo de benefici-lo.
19

Atualmente, pesquisas envolvendo tecnologias vestveis tem crescido no meio cientfico


bem como no mercado. Existem diversos segmentos da computao vestvel, dentre eles
podemos citar aplicaes de monitoramento de sade do paciente, monitoramento de
desempenho fsico para atletas, realidade aumentada, dentre outros (FOTIADIS, 2006).

Dentre esses segmentos, os computadores vestveis dedicados a E-health tm se


mostrado uma importante aplicao que objetiva beneficiar o monitoramento de sade a
pacientes. Grande parte dessas aplicaes precisam se comunicar com a internet, fazendo com
que a utilizao de redes sem fio seja fundamental para muitas aplicaes de sistemas vestveis,
como as aplicaes de monitoramento de atividades fsicas. Desta forma, o usurio pode ser
monitorado continuamente em qualquer lugar que possui rede.

Figura 2: Arquitetura de um sistema vestvel de monitoramento.

Fonte: Fotiadis, 2006.

2.3 Internet das coisas (IoT)

A Internet das Coisas (do ingls, Internet of Things - IoT), um termo utilizado para
descrever um paradigma tecnolgico no qual os objetos fsicos (qualquer coisa) esto
conectados em rede e so acessados por meio da Internet. O objeto a ser conectado pode ser
qualquer coisa desde sensores de luz em ambientes de automao residencial, sensores de
temperatura para alarmes de incndio ou mesmo sensores de monitores cardacos conectados a
uma pessoa.
20

Segundo Chui (2010), a internet das coisas composta por sensores e atuadores
incorporado em objetos fsicos ligados em redes com e sem fio, capazes de se conectarem
Internet. A Figura 3 mostra a arquitetura bsica reduzida de um sistema IoT que consiste em
um dispositivo ou objeto qualquer capaz de comunicar-se com um servidor remoto atravs da
internet.

Figura 3: Representao da arquitetura geral de um sistema IoT.

Fonte: O autor.

2.3.1 IoT e cuidados sade

A arquitetura de um sistema de IoT consiste em um dispositivo de coleta e


compartilhamento de informaes entre dispositivos ou com a nuvem (servidor). Os sistemas
IoT tm como objetivo coletar, registrar e analisar dados de interesse e, a partir desses dados,
realizar controle como alarmes e registro de eventos. O conceito da tecnologia IoT pode ser
empregado em uma vasta rea de atuao na indstria, porm a maior promessa de crescimento
em aplicao IoT no campo da sade, onde os princpios j esto sendo aplicados para
aumentar a qualidade dos cuidados a sade e principalmente reduzir os custos
(NIEWOLNY,2013).

Existe muitas expectativas de que a tecnologia de Internet das Coisas vai revolucionar
a sade, diminuindo drasticamente os custos com cuidados mdicos, alm de melhorar a
qualidade. Atualmente j existem muitos sistemas E-Health baseado em sensores sem fio,
reunindo dados mdicos de pacientes e disponibilizando tais dados para anlise e prestao de
cuidados. Com o amadurecimento da tecnologia IoT, espera-se que mais e mais novas
aplicaes e sistemas de sade surjam afim de aumentar a disponibilidade da tecnologia,
resultando no aprimoramento da qualidade dos cuidados sade e o custo na utilizao da
aplicao (NIEWOLNY,2013).
21

2.3.2 Monitoramento remoto

Existem muitas pessoas que sofrem problemas de sade severos por no ter acesso a um
mtodo de vigilncia da sade eficaz. Porm atualmente muitas solues de IoT com
comunicao sem fio para monitoramento de sade esto surgindo. Estas solues podem ser
usadas para coletar dados de sade de pacientes atravs de uma variedade de sensores, e ento
aplicar algoritmos complexos para analisar os dados e compartilh-los atravs da conectividade
sem fio com os profissionais mdicos que podem fazer recomendaes de sade adequadas.

A Figura 4 ilustra um exemplo terico de sistema de monitoramento IoT voltado para


monitoramento da sade de indivduos (NIEWOLNY, 2013). Nesta figura, um paciente
monitorado atravs de uma cmera em uma cpsula ingerida em seu organismo. Esta capsula
possui um transmissor implantado que ser responsvel por enviar dados de sade para o
mdico responsvel pelo monitoramento deste paciente.

Figura 4: Exemplo de um sistema de monitoramento IoT na rea da sade.

Fonte: Niewolny, 2013.

2.4 Redes de comunicao

2.4.1 Comunicao sem fio

Atualmente, a maioria das solues tecnolgicas tm como requisito algum meio de


comunicao. Em muitos projetos, principalmente na rea de dispositivos vestveis a
comunicao sem fio preferida pela sua flexibilidade e independncia de meio fsico de
conexo.
22

As redes sem fio utilizam de ondas eletromagnticas como meio de transmisso de


informaes, substituindo os cabos convencionais. Existem diversas tecnologias sem fio as
quais se diferenciam principalmente pelo alcance e taxa de transmisso. A Figura 5 ilustra os
trs principais padres de redes sem fio, enquadradas em diferentes categorias de alcance de
rede.

Figura 5: Categorizao de redes definida pelo alcance.

Fonte: O autor.

Sharma (2014) descreve as redes WPAN, WLAN e WWAN a seguinte maneira:

Wireless Personal Area Network (WPAN): So redes usadas para transmitir


informaes em distncias curtas entre um grupo privado de dispositivos. Ao contrrio
de uma rede local sem fio (WLAN), uma conexo feita atravs de uma WPAN envolve
pouca ou nenhuma infraestrutura ou conectividade direta com o mundo fora da ligao.
Isso permite que a tecnologia de comunicao WPAN, como o Bluetooth, tenha baixo
consumo de energia e custo de equipamento.
Wireless Local Area Network (WLAN): So redes usadas em reas locais como
residncias, lojas, campus de universidades, para formar uma rede de acesso com
conexo entre dispositivos desta rea, e com acesso internet. Um dos padres de redes
WLAN o IEEE 802.11.
23

Wireless Wide Area Network (WWAN): So redes de grandes reas, como cidades
ou pases que so conectadas atravs de mltiplos sistemas de satlites ou antenas locais
gerenciadas por uma ISP. Um exemplo deste tipo de rede o 3G (Terceira gerao) que
fornecem servio avanado de comunicao de voz e conectividade de dados de alta
velocidade (internet).

2.4.1.1 Bluetooth

Bluetooth uma especificao de rede sem fio de curto alcance que reside em um
microchip. Por ser uma tecnologia de comunicao de curto alcance, utiliza-se o Bluetooth em
redes WPAN. Ele foi inicialmente desenvolvido pela empresa sueca de telefonia mvel
Ericsson em 1994 como meio de deixar computadores portteis fazerem chamadas atravs de
um telefone mvel. (STALLINGS, 1998)

Segundo Stallings (1998), o conceito da tecnologia Bluetooth prover uma


comunicao universal sem fio de curto alcance. O Bluetooth prov suporte a trs reas de
aplicaes em geral:

Ponto de acesso de dados e voz: Bluetooth facilita a transmisso de voz e dados em


tempo real entre dispositivos.
Substitui cabo: Bluetooth elimina o uso de vrios cabos para comunicao entre
dispositivos.
Rede Ad Hoc: Dispositivos com Bluetooth pode estabelecer conexes com outros
dispositivos, se ambos estiverem no campo de atuao do rdio Bluetooth.

2.4.1.2 Wi-Fi

Wi-Fi uma marca registrada da Wi-Fi Alliance. Esta marca utilizada por produtos
certificados que pertencem classe de dispositivos tipo WLAN, ou seja, dispositivos de rede
local sem fios baseados no padro IEEE 802.11.

A especificao 802.11 um padro para redes sem fio desenvolvidos pelo Institute of
Electrical and Electronics Engineers (IEEE), do ingls Instituto de Engenheiros Eletricistas e
Eletrnicos. Este padro prev um conjunto de mtodos de comunicao fundamentais e outros
servios.
24

A especificao 802.11 est relacionada a duas camadas do modelo OSI, a camada fsica
e da camada de enlace (ROSHAN; LEARY, 2004). A Figura 6 ilustra as camadas de rede do modelo
OSI e onde o padro 802.11 est inserido.

Figura 6: Localizao do padro 802.11 no modelo OSI.

Fonte: O autor.

2.4.1.3 GSM

A famlia Global System for Mobile Communications (GSM), do ingls sistema global
de comunicao mvel, se tornou uma das inovaes tecnolgicas mais importantes da histria.
A comunicao mvel com todas as suas caractersticas e estabilidade tornou-se cada vez mais
importante.

A grande popularidade dos sistemas de comunicao sem fio GSM se d pelo o grau de
liberdade fornecido pela rede. Dispositivos GSM podem se comunicar praticamente em
qualquer lugar, a no ser em regies sem a cobertura GSM, que muito raro devido grande
infraestrutura da rede instalada hoje em vrios pases. A comunicao sem fio passou a ser
possvel em qualquer cidade, pas ou continente graas tecnologia GSM (EBERSPCHER,
2008).
25

2.5 Sistemas embarcados

O dispositivo vestvel da soluo do sistema de monitoramento de idosos proposto


constitudo de um sistema embarcado. Sistemas embarcados so sistemas constitudo de
hardware e software embarcado (firmware) os quais so utilizados para executar funes
dedicadas (NOERGAARD, 2012). Esses sistemas geralmente so limitados em funcionalidade
de hardware e software, porm possui custos menores, se comparados com computadores de
servio gerais.

Atualmente, os sistemas embarcados encontram-se espalhados em diferentes reas de atuao


da indstria tais como automotiva, eletrodomsticos, automao residencial e industrial, instrumentao
mdica, bem como em dispositivos de comunicao (NOERGAARD, 2012).

Sistemas embarcados so utilizados em aplicaes especficas pois estes permitem o


processamento de informaes de forma dedicada. Portanto no projeto de um sistema
embarcado possvel reduzir custo na implementao de hardware e firmware especfico sem
a necessidade de utilizar um sistema genrico com recursos que no sero utilizados. Os
sistemas embarcados esto muito presentes em aplicaes que usam transdutores, tais como
sistemas de monitoramento em controle, fundamentos encontrados nas tecnologias IoT.

2.5.1 Sistema operacional embarcado

Os sistemas operacionais embarcados esto se popularizando devido ao avano


tecnolgico que permite os processadores serem cada vez mais robustos em desempenho de
processamento, acessveis financeiramente e reduzidos em dimenso. Cada vez mais os dispositivos
embarcados disponveis no mercado possuem poder de processamento capaz embarcar um
sistema operacional de tempo real. Em 2006, 71% dos sistemas embarcados existentes
utilizavam um RTOS (Real-Time Operating System) ou kernel (BORGES, 2011).

Segundo Borges (2011), existem muitos motivos para o uso de sistemas operacionais de
tempo real, dentre eles temos:

Necessidade de gerenciamento de multitarefas (Tarefas concorrentes)


Exigncias de processos em tempo real (Tarefas devem ser executas em tempos
especficos)
Modularidade e reuso.
Robustez
26

2.6 Sistemas de Tempo Real

Os sistemas de tempo real (Real-Time Systems RTS) pertencem a uma categoria de


sistemas computacionais os quais existe exigncia do cumprimento das restries de tempo
durante a execuo de tarefas. (LI; YAO, 2003).

Esse tipo de sistema exerce papel de extrema importncia em sistemas crticos tais como
em aparelhos hospitalares, sistemas de controle de voo, onde os prazos devem ser atendidos
no importa a situao, pois estes sistemas lidam com vidas. Os sistemas de tempo real tambm
podem ser utilizados em sistemas no crticos, mais que exigem a preocupao com o
cumprimento de prazos de execuo de tarefas tais como sistemas de stream de vdeo, o qual a
falha ao enviar um frame do vdeo pode causar queda no desempenho da aplicao.

Um sistema de tempo real um sistema cujo funcionamento correto depende


diretamente dos resultados produzidos por ele e do tempo em que esses resultados so
produzidos (LI; YAO, 2003).

Os sistemas de tempo real podem ser classificados em duas categorias: soft real-time e
hard real-time, atravs das quais, classificada a criticidade do sistema.

Soft real-time: Sistemas que devem satisfazer um prazo, mas se um certo nmero de
prazos for perdido o sistema ainda pode ser considerado funcional, porm com
degradao no desempenho j que os requisitos de tempo no foram satisfeitos.
Hard real-time: Sistemas os quais devem cumprir seus prazos, pois caso o sistema no
cumpra este considerado falho, pois esse tipo de sistema no pode aceitar a ocorrncia
de no atendimento dos requisitos de tempo.

Outra forma de classificar um STR atravs do tipo de tarefa a ser executada,


considerando sua periodicidade de ocorrncia. As tarefas podem ser categorizadas em dois
tipos:

Aperidicas: Tarefas que so executadas aleatoriamente.


Peridicas: Tarefas que ocorrem em intervalos de tempo previsveis pr-configurados.
Espordicas: Tarefas que ocorrem irregularmente devido a ocorrncia de algum evento
especfico, geralmente devido a ocorrncia de interrupes no sistema.
27

Portanto, sistemas de tempo real so sistemas especficos que devem apresentar


comportamentos previsveis em relao a execuo de tarefas peridicas e que atenda s
restries de tempo imposta pela aplicao independentemente do tipo de tarefa a ser executada.
(BORGES, 2011)

2.6.1 FreeRTOS

O FreeRTOS um sistema operacional de tempo real de cdigo livre usado para o


desenvolvimento de aplicaes de sistemas embarcados, com suporte de uma comunidade ativa
de usurios. Este RTOS (Real-time Operating System) foi desenvolvido na linguagem C com a
meta de ser pequeno, simples e de fcil uso. O sistema baseado nos conceitos de tarefas e
permite o rastreamento de execuo e a codificao de interrupes no nvel de software e,
atravs de estruturas como filas e semforos realiza a comunicao e sincronizao entre as
tarefas e interrupes.

Em um sistema operacional convencional, cada tarefa um programa executvel sob o


controle do sistema operacional, que pode executar apenas uma tarefa de cada vez. No entanto,
a troca rpida entre as tarefas faz parecer como se estivessem sendo executadas
concorrentemente. Em sistemas de tempo real o escalonamento das tarefas garante a obedincia
das restries de tempo e, mais especificamente no FreeRTOS, a poltica de prioridades permite
a previso do fluxo de execuo de acordo com as trocas de contexto entre essas tarefas
(MELOT, 2009).

2.7 Sensores

Sistemas de que empregam os conceitos da internet da coisas , incluindo recursos de


monitoramento e controle de objetos geralmente consiste em realizar medies de grandezas
fsicas de interesse da aplicao e a partir desses dados medidos ou coletados utilizar um
algoritmo de deciso para realizar alguma tarefa de controle, ou mesmo simplesmente alimentar
um banco de dados com os valores lidos. Nesse contexto os componentes responsveis por realizar a
leitura de grandezas fsicas e converter em sinais eltricos que se tornaro dados so os sensores. Sensores so
componentes essenciais para tais aplicaes.

Um sensor basicamente um dispositivo que recebe um sinal ou estmulo e responde a


ele de uma maneira distinta, convertendo assim qualquer quantidade fsica ou biolgica em
qualquer sinal de sada mensurvel (ISLAM, 2009).
28

Atualmente existem diversos tipos de sensores tais como sensores de luz, de som,
presso, acelerao, dentre outros. Neste trabalho foram utilizados os sensores acelermetro e
giroscpio para determinar eventos de queda e atividades fsicas. Tais sensores sero melhor
explicados nas prximas sees.

2.7.1 Acelermetro

Os acelermetros so transdutores que medem aceleraes. A acelerao uma medida


da variao da velocidade no tempo. Existem transdutores de acelerao para um , duas ou trs
eixos. Em geral um acelermetro constitudo por uma massa de reao suspensa por uma
estrutura estacionria. Este aparelho pode ser visto como um transdutor massa-mola, que se
encontra no interior de um sensor (FIGUEIREDO, 2007).

O princpio de funcionamento encontra-se na inrcia da massa. Quando houver uma


acelerao a inrcia faz com que a massa resista e a fora exercida pela massa equilibrada
pela mola. O deslocamento da mola proporcional a fora aplicada, logo a acelerao do corpo
proporcional ao deslocamento da massa. A magnitude da acelerao aplicada convertida para
impulsos eltricos para que dispositivos embarcados e circuitos possam ser capazes de coletar
os dados medidos e utilizar em aplicaes. Existem vrios fenmenos que podem ser medidos
com um acelermetro alm da acelerao, tais como inclinao, rotao, vibrao, coliso e
gravidade (FIGUEIREDO, 2007).

A Figura 7 ilustra o circuito integrado acelermetro e giroscpio utilizado no


desenvolvimento do dispositivo vestvel. As setas mostram os eixos de referncia de acordo
com a posio do chip.

Figura 7: Representao do acelermetro de 3 eixos MPU6050.

Fonte: InvenSense, 2013.


29

2.7.2 Giroscpio

Um giroscpio um dispositivo para a medio de orientao, com base nos princpios


de momento angular. Mecanicamente, um giroscpio uma disco no qual o eixo livre para
assumir qualquer orientao. O giroscpio um dispositivo bastante sensvel, portanto muito
til para detectar movimento de rotao (LIU, 2013).

Um giroscpio de trs eixos um transdutor capaz de medir a rotao em torno de trs


eixos: x , y, e z. Giroscpios so muitas vezes utilizados em aplicaes que consiste de objetos
que no giram rapidamente, pois eles so bastante sensveis em detectar variaes na velocidade
angular. Muitos produtos da tecnologia moderna atualmente vm integrando o giroscpio para
reconhecimento mais precisos de movimento. Por exemplo, em smartphones os giroscpios so
combinados com acelermetros para sensoriamento de direo e movimento mais eficazes.

esquerda na Figura 8.a est ilustrado um circuito integrado de um sensor giroscpio,


onde apresenta trs eixos de medio. direita na Figura 8.b ilustra uma representao grfica
de um giroscpio de trs graus de liberdade.

Figura 8: Representao de um giroscpio de 3 eixos.

Fonte: Prrpio autor.

Giroscpios so exemplos de sensores inerciais com tecnologia de sistemas


microeletromecnicos (MEMS). Os giroscpios fabricados com tecnologia MEMS em geral
utilizam-se do efeito Coriolis, efeito o qual se baseia na transferncia de energia entre dois
modos principais de oscilao pela combinao de um movimento oscilatrio de uma massa e
a rotao do sistema que exerce na massa um movimento em direo ortogonal da rotao
(FORHAN, 2010).
30

2.8 Fundamentos do Sistema Vestvel (SEMS-Wear)

O dispositivo responsvel pela a coleta e anlise de dados, bem como deteco de


eventos e envio destes eventos para o servidor um computador vestvel. Computadores
vestveis, ou dispositivos vestveis em geral so constitudos de sistemas embarcados incluindo
microcontroladores, sensores e mdulos de comunicao.

Nesta seo sero abordados os componentes escolhidos para o desenvolvimento do


prottipo do sistema de deteco de queda.

2.8.1 Placa de Desenvolvimento NXP Freedom KL25Z (Hardware)

Figura 9: NXP Freedom KL25Z.

Fonte: Nxp Semiconductors, 2013.

A NXP Freedom KL25Z (ilustrada na Figura 9) foi o kit de desenvolvimento de sistemas


embarcados escolhido para compor o dispositivo vestvel de monitoramento. Esta plataforma
de hardware foi escolhida devido as suas especificaes que atendem os requisitos do sistema.
O processador embarcado na KL25Z o ARM Cortex-M0+. O Quadro 1 contm as
caractersticas desse processador.
31

Quadro 1: Caractersticas do microcontrolador Cortex-m0+.

Cortex-M0+ da NXP (Famlia Kinetis L):


Baixo custo
Arquitetura de 32 bits com alta performance
Desempenho de at 2.42 CoreMark/MHz e at 1.31 DMIPS/MHz.
Baixssimo Consumo de Energia: A partir de 36 A/MHz em low power RUN mode.
Mxima Frequncia do Core: 48 MHz.
At 256 kB de Memria Flash.
At 32 kB de RAM.
USB OTG.
Suporte a vrios compiladores (GCC, IAR, Keil, etc.).
Suporte a diversos perifricos tais como: ADC (16 bits), DAC (12bits), PWM, IC, UART,
SPI, GPIO, Timer, etc.
Fonte: Nxp Semiconductors, 2013.

A Figura 10 ilustra os recursos detalhados da famlia Kinetis KL2x da NXP em um


diagrama de blocos especificando tipos de memrias, interfaces de comunicao e muitos
outros recursos disponveis nesta famlia de microcontroladores.

Figura 10: Diagrama de blocos dos recursos da famlia Kinetis KL2x.

Fonte: Nxp Semiconductors, 2015.


32

2.8.1.1 Componentes da NXP Freedom KL25Z

A KL25Z possui alguns componentes os quais facilitam o desenvolvimento de


aplicaes utilizando esta plataforma de hardware. A Figura 11 a seguir ilustra um diagrama de
blocos que mostram os principais recursos disponveis pela a placa de desenvolvimento KL25Z.

Figura 11: Diagrama esquemtico da NXP Freedom KL25Z.

Fonte: Nxp Semiconductors, 2013.

Mini-USB Device (OpenSDA) Utilizado para conexo com computador para


programao e debug do firmware.
Mini-USB CDC Host Suporte para interface com dispositivos USB, como mouse,
dispositivos de armazenamento, etc.
Boto de reinicializao - Pressionar este boto ir reiniciar todo o firmware.
Sada de alimentao de 5V e 3,3 V
Memria Flash
Interface de Sensor de toque (Touch-Sensing)
Acelermetro
33

2.8.2 Mdulo MPU6050

O MPU-6050 o mdulo responsvel pelo sensoriamento do sistema vestvel de


monitoramento. O MPU-6050 capaz de medir a variao da acelerao e o momento angular
em trs eixos. A partir dos dados coletados por este mdulo, foi possvel desenvolver um
algoritmo que determinasse eventos de quedas e atividades fsicas. A Figura 12 a seguir ilustra
o mdulo MPU6050.

Figura 12: MPU6050 Mdulo giroscpio e acelermetro.

Fonte: O autor.

O mdulo MPU6050 constitudo de dois transdutores: acelermetro e giroscpio. Os


quadros 2 e 3 descrevem algumas caractersticas do giroscpio e do acelermetro inclusos no
mdulo MPU6050 respectivamente.

Quadro 2: Caractersticas do giroscpio da MPU6050.

Caractersticas do Giroscpio
Sada digital para os eixos X, Y, e Z.
Sensores de frequncia angular (giroscpios) com escalas programveis pelo usurio na faixa
de 250, 500, 1000, e 2,000 /seg.
Sinal de sincronismo externo ligado ao pino Fsync suporta imagem, vdeo e GPS
sincronizao
ADCs integradas de 16 bits permitir amostragem simultnea de giroscpios
Vis aprimorada e estabilidade de temperatura.
Reduz a necessidade de calibrao do usurio
Melhor desempenho de rudo de baixa frequncia
Filtro passa-baixa digital programvel
Fator de escala de sensibilidade calibrado de fbrica
Auto teste do usurio
Fonte: InvenSense, 2013.
34

Quadro 3: Caractersticas do acelermetro da MPU6050.

Caractersticas do acelermetro
Sada Digital do acelermetro de eixo triplo, com um intervalo de escala programvel de 2
g, 4 g, 8g e 16g
ADCs integradas de 16 bits permitir amostragem simultnea de acelermetros e no exige
multiplexadores externos.
Acelermetro atual de funcionamento normal: 500A
O modo de baixa energia do acelermetro apresenta: 10A em 1.25Hz, 20A em 5Hz, 60A
em 20Hz, 110A em 40Hz.
Orientao de deteco e sinalizao
Interrupes programveis pelo usurio
Auto teste do usurio
Fonte: InvenSense, 2013.

A Figura 13 ilustra um diagrama de blocos que descreve os componentes do mdulo


MPU6050.

Figura 13: Diagrama esquemtico da MPU6050.

Fonte: InvenSense, 2013.


35

2.8.3 Mdulo ESP8266

O ESP8266 um mdulo de comunicao System-On-Chip com Wi-Fi embarcado


fabricado pela empresa Espressif. Existem atualmente diversos mdulos de comunicao
baseados nesse chip. No Quadro 4 a seguir esto listadas as principais especificaes tcnicas
do mdulo Wi-Fi ESP8266.

Quadro 4: Caractersticas do mdulo ESP8266.

Caractersticas do mdulo ESP8266


Suporte a barramentos IC, SPI, UART
Possui conectores GPIO, entrada ADC, sada PWM e sensor interno de temperatura.
CPU que opera em 80MHz, com possibilidade de operar em 160MHz;
Arquitetura RISC de 32 bits;
32kBytes de RAM para instrues;
96 kBytes de RAM para dados
64 kBytes de ROM para boot
Possui uma memria Flash SPI Winbond de 512 kBytes
O ncleo baseado no IP Diamand Standard LX3
Fonte: Espressif, 2012.

A Figura 14 ilustra um diagrama de blocos com os recursos oferecidos pelo mdulo


ESP8266.

Figura 14: Diagrama esquemtico do mdulo ESP8266-01.

Fonte: Espressif, 2012.


36

Figura 15: Mdulo Wi-Fi ESP8266.

Fonte: O autor.

Os mdulos ESP8266 esto disponveis atualmente em 12 modelos distintos, sendo


nomeados de ESP8266-01 a ESP8266-12. Ambos os mdulos possuem interface de transmisso
de dados e controle via serial UART e trabalham por meio de conexes TCP/UDP.

O modelo ESP8266-01 o mais comumente utilizado devido ao seu baixo custo e fcil
uso. O principal meio de comunicao deste modelo via serial. Nas aplicaes utiliza-se um
microcontrolador com porta de comunicao serial para controlar o ESP8266.

A Figura 16 apresenta o modelo ESP8266-01 e posteriormente apresentado uma breve


descrio de seus pinos.

Figura 16: Organizao dos pinos do ESP8266.

Fonte: O autor.
37

Os componentes e pinos do mdulo ESP8266-01 ilustrados na Figura 16 so descritos


no Quadro 5 a seguir:

Quadro 5: Descrio dos pinos e componentes do mdulo ESP8266-01.

VCC: Tenso de alimentao 3,3V.


GND: Sinal de Terra GND;
TX: Sinal de Tx do mdulo, a ser conectado no Rx da KL25Z
RX: Sinal de Rx do mdulo, a ser conectado no Tx da KL25Z
RST: Sinal de Reset acionado em nvel baixo (GND);
CH_PD: Sinal de habilitao do chip (Chip Enable), usado para
gravao de firmware ou atualizao. Deve ser mantido em nvel
ALTO para operao normal;
GPIO0: Pode ser controlado pelo firmware, e deve ser colocado em
nvel baixo (GND) para modo update, ou em nvel alto para operao
normal;
GPIO2: I/O que pode ser controlada pelo firmware;
POWER LED: Led vermelho que indica que o mdulo est
alimentado.
COMM LED: Led azul que indica recepo de dados via
comunicao serial
Fonte: Espressif, 2012.

Como todo mdulo de comunicao, existe variaes no consumo de corrente de acordo


com o estado em que o mdulo se encontra, e que operao est sendo realizada.

Alm desses GPIOs o chip ESP8266 possui outros perifricos que no so


disponibilizados pelo mdulo.

O Quadro 6 a seguir indica o consumo de corrente de acordo com o modo de operao


do mdulo. Este quadro bastante importante pois h necessidade de gerenciar o consumo de
energia, j que o dispositivo ser alimentado por uma bateria.
38

Quadro 6: Consumo de corrente do mdulo ESP8266-01.

Modo Tpico Unidades


Transmit 802.11b, CCK 1Mbps, POUT=+19.5dBm 215 mA

Transmit 802.11b, CCK 1Mbps, POUT=+19.5dBm 215 mA

Transmit 802.11b, CCK 11Mbps, POUT=+18.5dBm 197 mA

Transmit 802.11g, OFDM 54Mbps, 145 mA


POUT=+16dBm
Transmit 802.11n, MCS7, POUT=+14dBm 135 mA
Receive 802.11b, packet length=1024 byte, - 80dBm 60 mA

Receive 802.11g, packet length=1024 byte, - 70dBm 60 mA

Receive 802.11n, packet length=1024 byte, - 65dBm 62 mA

Standby 0.9 mA
Deep sleep 10 A
Power save mode DTIM 1 1.2 mA
Power save mode DTIM 3 0.86 mA
Total shutdown 0.5 A
Fonte: Espressif, 2012.

2.8.3.1 Comandos AT

O conjunto de comandos AT ou comandos Hayes uma linguagem de comandos


desenvolvidos por Dennis Hayes para estabelecer comunicao entre modems Hayes
Smartmodem 300 (WATTS, 2016). A lista de comandos consiste em cadeias de caracteres que
em conjunto especificam operaes de controle do dispositivo alvo. O prefixo AT da
comunicao significa attention, do ingls, ateno e tem como funo indicar que uma
mensagem recebida trata-se de um comando AT.

A comunicao entre o mdulo de processamento (KL25Z) e o mdulo de comunicao


(ESP8266) ocorre a partir de envio de comandos AT. Durante o funcionamento do dispositivo
vestvel a KL25Z deve enviar tais comandos para realizar conexo com a rede WLAN e para
enviar mensagens para o servidor de monitoramento.
39

O Quadro 7 a seguir apresenta a lista de comandos utilizados durante a comunicao


com o modulo ESP8622, incluindo comandos bsicos e estendidos.

Quadro 7: Lista de comandos AT do mdulo ESP8266.

Comando AT Descrio

AT+RST Reset do dispositivo

AT+CWLAP Listar pontos de acesso

AT+CWJAP? Juntar-se a um ponto de acesso


AT+CWJAP="SSID","Password"

AT+CWQAP=? AT+CWQAP Sair do ponto de acesso

AT+CIFSR Receber um endereo IP

AT+ CWSAP? AT+ CWSAP= Definir parmetros do ponto de


<ssid>,<pwd>,<chl>, <ecn> acesso

AT+CWMODE? AT+CWMODE= N Modo Wifi (N = 1,2,3)

AT+CIPSTART=? Configurar conexo TCP/UDP


(CIPMUX=0) AT+CIPSTART = <type>,<addr>,<port>
(CIPMUX=1) AT+CIPSTART= <id><type>,<addr>, <port>

AT+ CIPMUX? AT+ CIPMUX=0 Conexo TCP/UDP


AT+ CIPMUX=1

AT+CIPSTATUS Estado de conexo TCP/UDP

(CIPMUX=0) AT+CIPSEND=<length>; Enviar dados via TCP/IP


(CIPMUX=1) AT+CIPSEND=
<id>,<length>

AT+CIPCLOSE= or AT+CIPCLOSE Terminar conexo TCP/IP

AT+ CIPSERVER= <mode>[,<port>] Definir como servidor

AT+CIOBAUD? Supported: 9600, Baud Rate


19200, 38400, 74880, 115200, 230400,
460800, 921600

AT+CIFSR Ler endereo IP

+IPD Dado recebido


Fonte: O autor.
40

2.9 Fundamentos do Servidor de monitoramento (SEMS-Server)

2.9.1 Sistemas Web para aquisio de dados e controle

Um sistema de medio e controle so sistemas constitudos por dispositivos capazes


de medir grandezas fsicas, converter essas medies em sinais eltricos e por fim, utilizar esses
dados para apresentao ou mesmo como parmetros de deteco de fenmenos e tomadas de
deciso de um sistema computacional (WUNNAVA, 1999). Atualmente os avanos na
tecnologia, bem como a popularizao dos sistemas baseados em conceitos IoT, a internet
passou a ser um componente fundamental para sistemas de instrumentao, servido de interface
de acesso remoto.

2.9.2 Linguagem de programao Python

Python uma linguagem de altssimo nvel (em ingls, Very High Level Language)
orientada a objeto, de tipos de variveis dinmicos, interpretada e interativa (BORGES, 2010).

Esta linguagem foi lanada em 1991 pelo holands Guido van Rossum, sendo hoje
mantida pela organizao sem fins lucrativos Python Software Foundation (PSF) sob licena
livre. Originalmente implementada em linguagem C, o CPython o padro mais popular da
linguagem Python, mas existem outros padres como o Jython, implementado em linguagem
Java. A linguagem Python possui recursos de introspeco, herana mltipla, metaclasses, alm
de possuir uma extensa biblioteca padro que se aplica em diversos domnios. Alm da
possibilidade de utilizao de pacotes de terceiros e de vrios frameworks disponveis para a
linguagem, tais como NumPy, scikit-learn, Django, dentre outros (BORGES, 2010).

Neste trabalho a linguagem Python foi utilizada para o desenvolvimento do servidor de


monitoramento e do algoritmo de aprendizado de mquina. Optou-se por essa linguagem devido
a sua facilidade de programao, permitindo maior desempenho durante a implementao.
Alm disso, a linguagem Python possui uma vasta comunidade de suporte, fruns de discusses
e frameworks que auxiliam no desenvolvimento. Foram utilizados o framework Django para
desenvolvimento Web e o scikit-learn para desenvolvimento de algoritmos de aprendizado de
mquina.
41

2.9.3 Django

O Django um framework de desenvolvimento gil para web, escrito em Python. Este


framework foi criado a partir de um projeto interno do grupo editorial Lawrence Journal-World
em 2003, sendo este liberado sob licena BSD em 2005, tornando-se um software open-source
(HOLOVATY, 2009).

Por ser um framework voltado para o desenvolvimento gil baseado no princpio de


reuso, o Django possui diversos recursos que auxilia o desenvolvedor a implementar servios
web eficientes, tornando-o ideal para o desenvolvimento do servidor da soluo desenvolvida
neste trabalho. Um dos principais recursos disponibilizados pelo Django segundo Holovaty
(2009) so:

Banco de dados nativo: O Django oferece um banco de dados com mapeamento de


objeto relacional (Object-Relational Mapper) que fornece uma entre os modelos criados
para o banco de dados.
Interface de administrao: O Django vem com uma interface de administrao pronta
para ser utilizada.
Ambiente de desenvolvimento: O Django oferece um ambiente de desenvolvimento
para teste.

2.10 Fundamentos do Sistema de Aprendizado de mquina (Machine Learning)

O dispositivo vestvel necessita executar um algoritmo de deteco de quedas e


atividades realizadas pelo o usurio. Para isso, utiliza-se um algoritmo de aprendizado de
mquina supervisionado onde previamente treinado com um set de dados coletados de eventos
de queda e atividades praticadas. Esta sesso tem o objetivo de explicar como funciona o
processo de desenvolvimento de um algoritmo de aprendizado de mquina, detalhando os
principais passos durante o desenvolvimento e teste do algoritmo.

2.10.1 Aprendizado de mquina (Machine Learning)

Em geral, problemas de aprendizado de mquina considera um grupo de amostra de


dados e a partir desses dados o algoritmo tenta organizar propriedades em classes distintas, com
caractersticas semelhantes. Esses dados so chamados de atributos ou features, o que nada
mais so que caractersticas que classificam os dados analisados no aprendizado.
42

Os problemas de aprendizado de mquina so divididos em duas categorias:

Aprendizado supervisionado: Neste tipo de problema os dados possuem labels ou


rtulos para atribuir o que deseja ser detectado ou aprendido. Por exemplo, em um
algoritmo para deteco de dgitos a partir de uma imagem, um exemplo de amostra
para aprendizado seria uma foto do dgito 0, com uma label indicando que de fato
aquela amostra um dgito 0. Um dos tipos de problemas mais comuns em
aprendizado supervisionado so os problemas de classificao.
o Classificao: As amostras possuem duas ou mais classes e o objetivo
aprender a partir de dados rotulados como predizer a classe utilizando dados
primitivos, ou seja, sem rtulo. Um exemplo do problema de classificao seria
o reconhecimento de dgitos escritos mo, em que o objetivo consiste em
atribuir a cada vetor de entrada um nmero finito de categorias discretas.
Aprendizado no-supervisionado: Neste tipo de problema os grupos de dados
correspondem em dados sem rtulos. O objetivo classificar os grupos a partir das
semelhanas entre as features dos dados. Este tipo de problema de aprendizado de
mquina tambm conhecido como clustering.

2.10.2 Sistema de Aprendizado de mquina supervisionado

O algoritmo de aprendizado de mquina utilizado neste trabalho trata-se de um


algoritmo supervisionado. Nele, um conjunto de exemplos ou amostras de uma respectiva
classe fornecido a um sistema de aprendizado. Portanto, na sada gerada pelo sistema de
aprendizado um classificador, o qual ser utilizado para classificar amostras no rotuladas. A
Figura 17 ilustra um sistema de aprendizado (LEE, 2000).

Figura 17: Sistema de aprendizado.

Fonte: Lee, 2000.


43

O objetivo fundamental do sistema de aprendizado de mquina extrair conhecimento


na forma de regras de deciso a partir de um conjunto de dados (amostras) de tal forma que
essas regras sejam aplicveis na classificao de novos dados (LEE, 2000). A Figura 18 ilustra
um sistema de classificao.

Figura 18: Sistema de classificao.

Fonte: Lee, 2000.

2.10.3 Mquina de vetor de suporte

Em aprendizagem de mquina, Support Vector Machine (SVM), do ingls mquinas de


vetor de suporte so modelos de aprendizagem supervisionados com algoritmos de
aprendizagem para resoluo de problemas de classificao e regresso.

A partir de um conjunto de amostras de treino, as quais esto identificadas com uma


categoria de classificao, um algoritmo de treinamento SVM constri um modelo de
classificao de acordo com os padres encontrados nos dados das amostras. Um algoritmo
SVM constri um conjunto de hyperplanes ou hiperplanos so usados para separar pontos entre
grupos. Intuitivamente, uma boa separao conseguida atravs de um hiperplano que tenha a
maior distncia entre os pontos destes grupos (CRISTIANINI, 2000).

2.10.4 SciKit-Learn

O SciKit Learn uma biblioteca de cdigo aberto voltada para desenvolvimento de


algoritmos de aprendizado de mquina, utilizando a linguagem Python. Este projeto foi iniciado
em 2007 como um projeto Google Summer of Code por David Cournapeau. Em 2010 esta
plataforma teve sua primeira verso pblica disponibilizada e desde ento a comunidade Sci-
Kit vem crescendo e se popularizando dentre os desenvolvedores (GARRETA, 2013).

A biblioteca SciKit Learn inclui diversos algoritmos de classificao, regresso,


agrupamentos e reduo de dimensionalidade incluindo mquinas de vetores de suporte, k-
means, dentre muitas outras.
44

A Figura 19 a seguir ilustra um grafo de recomendao de algoritmos de aprendizado


disponibilizado pela no site oficial da biblioteca scikit-learn.

Figura 19: Diagrama de recomendao de algoritmos de aprendizado de mquina.

Fonte: Pedregosa, 2011.


45

3. METODOLOGIA

Neste captulo apresentado a viso geral do sistema, descrevendo suas principais


funes, bem como seu diagrama de funcionamento geral do sistema.

No decorrer do captulo definido o dispositivo vestvel, detalhando o desenvolvimento


de hardware e firmware, incluindo o layout das placas de circuito impresso, componentes
utilizados, plataforma de desenvolvimento e fluxograma de execuo.

Finalmente, a ltima seo deste captulo dedicada para apresentao do servidor de


monitoramento, destacando os recursos disponveis bem como a ferramenta de programao e
fluxogramas de execuo.

3.1 Decises de Projeto

Nesta seo sero apresentadas as principais decises de projeto, incluindo arquitetura


de acesso internet e infraestrutura de hardware para desenvolvimento do dispositivo vestvel.

3.1.1 Deciso da arquitetura de acesso internet

A deciso do mdulo de comunicao a ser utilizado para enviar informaes do sistema


de deteco de atividades e quedas para o servidor Web depende principalmente da arquitetura
do sistema. O objetivo utilizar um sistema vestvel para monitoramento do idoso. Para que o
sistema seja capaz de se comunicar com o mundo externo (internet) preciso que este tenha
um mdulo de comunicao.

Foram considerados trs possveis meios de comunicao a serem utilizados para


disponibilizar a conexo do dispositivo com a internet. Cada uma das opes apresenta
caractersticas relacionadas a consumo de energia, custo e principalmente a disponibilidade de
monitoramento.

A Figura 20 representa as trs arquiteturas possveis para a comunicao com a internet,


utilizando as seguintes interfaces de comunicao:

a) Bluetooth
b) Wi-Fi
c) GSM.
46

Figura 20: Arquiteturas de acesso internet.

Fonte: O autor.

3.1.1.1 Comunicao Bluetooth

A arquitetura utilizando Bluetooth tambm seria uma boa opo, pois esta interface de
comunicao consome muito pouco e destinada para sistemas que necessitem maior
durabilidade de bateria. Porm este meio de comunicao depende de um intermedirio para
enviar informaes para internet. Neste caso, poderia ser utilizado um smartphone como ponto
de acesso com a internet.

Esta arquitetura funcionaria da seguinte maneira: o sistema embarcado enviaria as


informaes para o smartphone do idoso monitorado e o celular seria responsvel por enviar
via GSM a informao ao servidor.
47

Esta arquitetura ideal em termos de baixo consumo de energia, pois mdulos Bluetooth
geralmente consomem muito menos energia que mdulos GSM e Wi-Fi. Porm, esta perde em
termos de custo de compra para o mdulo Wi-Fi que mais barato, e sua disponibilidade no
favorvel devido dependncia do celular do idoso para comunicao com o servidor.

3.1.1.2 Comunicao Wi-Fi

A arquitetura utilizando mdulo Wi-Fi a melhor opo em termos de custo financeiro,


pois os mdulos Wi-Fi so baratos, porm possvel encontrar mdulos mais caros. Dentre as
interfaces de comunicao citadas, o Wi-Fi possui um consumo de energia moderado, ou seja,
maior que o Bluetooth Low Energy, porm inferior ao GSM. Considerando a disponibilidade
do sistema, o Wi-Fi se limita a uma rede LAN especfica, ou seja, o sistema embarcado deve
ser configurado para funcionar em uma rede Wireless. Caso o idoso monitorado saia da rea de
atuao desta rede, o sistema ficar indisponvel. Se houver a necessidade de mudar de
ambiente e continuar o monitoramento, preciso que este ambiente possua uma rede Wireless
e que o dispositivo seja configurado para tal. Portanto, este meio de comunicao torna-se a
soluo escolhida devido ao seu equilbrio em termo de custo financeiro, consumo de energia
e disponibilidade.

3.1.1.3 Comunicao GSM

A arquitetura utilizando GSM seria o meio de comunicao ideal, exceto pelo alto preo
e alto consumo de energia. Os mdulos de comunicao GSM para sistemas embarcados tm
preos elevados e o consumo de energia muito alto. Por exemplo um mdulo LEON-G1 da
U-blox custa em torno de 130 reais e consome cerca de no mnimo 0,99mA e no mximo 2A
de corrente, de acordo com o site oficial do fabricante.

Porm, para um projeto no qual o custo e o consumo de energia no sejam um problema,


esta interface de comunicao a melhor opo pois a disponibilidade do sistema ser mxima,
considerando que a comunicao deva funcionar em qualquer lugar que tenha sinal celular, o
que cobre uma rea muito mais vasta do que uma simples rede local residencial.
48

O Quadro 8 a seguir apresenta trs exemplos de mdulos de comunicao sem fio , um


para cada protocolo de comunicao referente s arquiteturas propostas. Os dados de consumo
de energia foram obtidos a partir dos sites dos respectivos fabricantes e os preos foram obtidos
no site da Amazon e no site oficial da fabricante Ublox.

Quadro 8: Caractersticas de diferentes mdulos de comunicao.

HC-05 ESP8266-01 Leon-G100

Mdulo de
comunicao
Fabricante Arduino.cc Espressif Ublox
Padro sem fio Bluetooth Wi-Fi GSM/GPRS
Consumo de corrente 35 mA 215 mA 2A
Preo
(Mx.) R$31,29 R$22,79 R$129,00
Fonte: O autor.

Dentre os mdulos de comunicao levantados, o mdulo ESP8266-01 foi a opo que


se apresentou mais apropriada para o desenvolvimento do dispositivo vestvel, atendendo
melhor os critrios de deciso utilizados. Este mdulo Wi-Fi barato e possui baixo consumo
de energia, o que so requisitos importantes para o sistema. Apesar da rede Wi-Fi no oferecer
tanta mobilidade quanto a rede GSM, o alcance de atuao de redes WLAN atende ao requisito
do sistema, pois espera-se que o idoso seja monitorado em um ambiente especfico, o qual
viabiliza a utilizao de redes Wi-Fi para conexo com o mundo externo pela internet.

O Quadro 9 a seguir mostra os critrios de deciso do mdulo de comunicao e os


nveis de cada critrio.

Quadro 9: Comparao entre mdulos de comunicao.

Critrios de deciso Mdulos de Comunicao


Bluetooth LE Wi-Fi GSM
Consumo de Energia Baixo Mdio Alto
Custo Financeiro Mdio Baixo Alto
Disponibilidade Mdia/Baixa Mdia Alta
Fonte: O autor.
49

3.1.2 Deciso do mdulo de comunicao Wi-Fi

Aps a deciso do protocolo de comunicao sem fio a ser utilizado, foi preciso levantar
possveis opes de mdulos de comunicao Wi-Fi.

O Quadro 10 a baixo ilustra trs opes populares de mdulos de comunicao


utilizados em sistemas embarcados atualmente. Ambas as opes atendem s necessidades do
projeto.

Quadro 10: Caractersticas de diferentes mdulos Wi-Fi.

WiFi Shield ESP8266-01 Huzzah CC3000

Mdulo wifi

Fabricante Arduino.cc Espressif Adafruit


Wi-Fi Chip HDG204 ESP8266 CC3000
Padro Wi-Fi 802.11 b/g 802.11 b/g 802.11 b/g/n
Protocolo TCP e UDP TCP e UDP TCP e UDP
Sockets concorrentes 4 5 4
Consumo de corrente 210mA 215mA 350mA
Preo R$304,97 R$22,79 R$134,57
Fonte: O autor.

Dentro os mdulos de comunicao Wi-Fi o ESP8266-01 foi superior devido ao baixo


consumo de energia, perdendo por muito pouco para o Shield Wi-Fi, alm de apresentar um
preo bastante reduzido em comparao com os outros mdulos. Os dados de consumo de
energia foram obtidos a partir dos sites dos respectivos fabricantes e os preos foram obtidos
no site da Amazon e da Spark Fun Electronics.

3.1.3 Deciso do kit de desenvolvimento embarcado

Nos ltimos anos os sistemas embarcados vm se popularizando e ganhando espao no


mercado de semicondutores. Vrios fabricantes do ramo ofertam diversas placas e kits no
mercado, com diferentes configuraes e capacidades, para desenvolvimento de sistemas
embarcados. Esta tendncia no desenvolvimento de aplicaes embarcadas tm sido
incentivada pela filosofia Do It Yourself (DIY), do Ingls, faa voc mesmo.
50

O Arduino, por exemplo, foi um dos precursores da cultura DIY, pois este oferece uma
interface de hardware e software simples, que permite profissionais no especializados a
desenvolver seus prprios projetos em sistemas embarcados.

Segundo Jamieson (2010), a comunidade Arduino consiste no apenas de engenheiros


tradicionais e cientistas, mas como tambm possui uma grande contingncia de artistas e
hobbistas seguidores da cultura DIY.

Portanto, considerando a existncia de vrios microcontroladores e kits de


desenvolvimento disponveis do mercado e que atendem aos requisitos deste sistema, foi
preciso decidir qual plataforma de desenvolvimento em hardware e firmware a ser utilizada,
baseando-se nos requisitos necessrios e esperados pelo o sistema embarcado. O Quadro 11
apresenta os requisitos do dispositivo embarcado vestvel.

Quadro 11: Requisitos do dispositivo embarcado.

Requisitos Especificaes
Fonte de alimentao mvel Utilizao de bateria para permitir que o sistema
(Bateria) embarcado seja acoplado ao corpo do idoso.
Modo de baixo consumo de O sistema embarcado deve possuir modo de
energia operao com baixo consumo de energia para
aumentar a longevidade da bateria.
Baixo custo de hardware O sistema embarcado deve ser barato para viabilizar
a compra do sistema por qualquer pessoa.
Interface USB-Virtual Serial O sistema embarcado deve possuir interface serial
para configurao do dispositivo para uso.
Memria Flash O sistema embarcado deve possuir memria Flash
para armazenamento da configurao do sistema de
comunicao (Rede Wireless do ambiente).
Suporte a um sistema operacional O sistema embarcado deve ser capaz de executar o
de tempo real (FreeRTOS) sistema operacional de tempo real FreeRTOS,
escolhido para essa aplicao.
Ambiente de desenvolvimento A plataforma deve ter um ambiente de
eficiente desenvolvimento (IDE) eficiente para melhor
produtividade na programao.
51

Suporte a adaptador serial e A plataforma deve ter suporte a um bom sistema de


debug Debug.
Fonte: O autor.

Baseado nos requisitos descritos nos Quadros 4 e 3 as placas de desenvolvimento foram


levantadas e consideradas para aplicao. O Quadro 12 a seguir descreve as caractersticas
tcnicas das placas consideradas para o desenvolvimento do dispositivo vestvel A plataforma
escolhida que atendeu todas as especificaes descritas no Quadro 12 foi a NXP Freedom
Kl25z. Os dados de consumo de energia foram obtidos a partir dos sites dos respectivos
fabricantes e os preos foram obtidos no site da Mouser Electronics.

Quadro 12: Caractersticas de diferentes placas de desenvolvimento embarcado.

FRDM-
ATMega 2560 MSP430G2
KL25Z

Placas de
desenvolvimento
embarcado

Fabricante NXP Arduino.cc Texas Instruments


Micro controlador ARM Cortex Atmega2560 MSP 430
Velocidade M0
de 48Mhz 16Mhz 16Mhz
Clock
Memria RAM 16KB 2KB 512B

Memria EEPROM - 4KB -

Memria FLASH 128KB 32KB 16KB


Preo R$ 52,95 R$ 138,13 R$ 35,26
Fonte: O autor.
52

3.2. Concepo do projeto

O projeto consiste no desenvolvimento de um sistema de monitoramento de atividades


fsica e quedas em pessoas idosas. O sistema tem como principal funo a deteco e registro
de tais eventos, permitindo que o usurio monitorado seja acompanhado pelos responsveis
remotamente.

A Figura 21 apresenta uma viso geral da soluo de monitoramento de pessoas idosas.


Nesta soluo existe um sistema embarcado vestvel acoplado ao corpo dos idosos monitorados.
Esse sistema vestvel ir interpretar informaes colhidas de um transdutor acelermetro e
giroscpio e ir process-las.

Se o sistema detectar algum evento de atividade ou queda, este enviar uma mensagem
via mdulo de comunicao Wi-Fi para o roteador da rede interna o qual o dispositivo foi
configurado e ento encaminhar para um servidor web o qual ser responsvel por registrar as
informaes ou notificar os responsveis pelo idoso em caso de ocorrncia de um evento
emergencial.

Figura 21: Arquitetura geral de funcionamento do sistema de monitoramento.

Fonte: O autor.
53

O SEMS composto pelos os seguintes subsistemas:

Sistema de deteco de atividades fsicas e quedas: Sistema embarcado (dispositivo


vestvel) capaz de fazer a aquisio e pr-processamento dos dados para determinao
dos eventos ocorridos.
Sistema de monitoramento: Servidor Web capaz de registrar os eventos ocorridos

A Figura 22 ilustra os dois subsistemas genricos para funcionamento da soluo


proposta. esquerda da Figura 22 encontra-se o sistema de deteco de atividades fsicas e
queda. Enquanto direita o sistema de monitoramento do idoso.

Figura 20: Subsistemas.

Fonte: O autor.

3.3. Desenvolvimento do Software de Configurao

Nesta seo ser descrita o software de configurao do dispositivo vestvel. O


dispositivo vestvel para monitoramento de idosos precisa ser configurvel para permitir que o
idoso possa ser monitorado em diversos ambientes. Para permitir que as configuraes sejam
salva no dispositivo, foi desenvolvida uma aplicao Desktop Java para se comunicar via porta
virtual serial (COMM) com o dispositivo e permitir que o usurio configure os parmetros de
rede e de deteco disponibilizadas pelo dispositivo. A Figura 23 a seguir representa o processo
de configurao do dispositivo.
54

Figura 23: Fluxo geral de funcionamento da configurao do dispositivo vestvel.

Fonte: O autor.

A Figura 24 ilustra a interface de configurao do dispositivo vestvel.

Figura 24: Interface de configurao do dispositivo vestvel.

Fonte: O autor.

Nesta interface, o usurio ir fornecer as seguintes informaes:

Configurao da rede Wi-Fi


o SSID e Senha da rede onde o dispositivo ser configurado.
Configurao da deteco
o Ativar deteco de queda, atividades ou ambos.

Aps a configurao do dispositivo ser realizada, o sistema ir entrar no modo normal


de operao, conectar-se com a rede Wi-Fi configurada e por fim ir inicializar o modo de
deteco de eventos, caso esteja configurado corretamente.
55

3.4. Desenvolvimento do Sistema vestvel

3.4.1 Desenvolvimento do Hardware

O dispositivo vestvel o sistema embarcado responsvel pela leitura e processamento


dos dados do acelermetro e giroscpio, utilizados na deteco de atividades realizadas pelo
usurio monitorado. Alm disso, este tem a funo de enviar informaes de deteco de
atividades para o servidor de monitoramento. O sistema vestvel de deteco de queda
composto pelos seguintes componentes:

Mdulo de Sensoriamento: O mdulo responsvel pela transduo das grandezas de


acelerao e angulao em sinais eltricos que sero interpretados pelo mdulo de
processamento. O mdulo utilizado neste projeto foi o MPU6050, composto por
acelermetro e giroscpio.
Mdulo de processamento: Este mdulo ir coletar os dados do mdulo de
sensoriamento e ir processar algoritmos para verificar se este mdulo representa uma
atividade especfica dentro das classes determinadas pelo o escopo do projeto. O mdulo
de processamento utilizado foi o kit de desenvolvimento NXP Freedom KL25Z.
Mdulo de comunicao: Este mdulo responsvel por enviar mensagens ao
servidor, indicando a ocorrncia de atividades detectadas pelo o mdulo de
processamento. O mdulo de comunicao o mdulo Wi-Fi ESP8266, que ser
configurado para conectar-se a uma rede WLAN disponvel no ambiente onde o usurio
monitorado estiver inserido para que o dispositivo tenha acesso a internet.

A Figura 25 abaixo descreve os componentes do sistema vestvel separados em mdulo.

Figura 25: Componentes do sistema vestvel de monitoramento.

Fonte: O autor.
56

O esquemtico, ilustrado na Figura 26, especifica as conexes do mdulo ESP8266 e os


pinos da KL25Z, representada por um header (soquete de pinos) tipo fmea em P1. O rdio
alimentado por uma fonte de tenso de 3,3 V disponibilizada pela prpria KL25Z.

Figura 26: Esquemtico do sistema vestvel de monitoramento.

Fonte: O autor.

3.4.1.1. Desenvolvimento do Shield

Com o objetivo de melhor organizar os componentes do dispositivo vestvel em um


nico mdulo, foi desenvolvido um shield para os mdulos de sensoriamento e de comunicao
serem acoplados ao mdulo de processamento. A Figura 27 ilustra o layout da PCB do shield
projetado.
57

Figura 27: Layout da PCB do Shield do dispositivo vestvel.

Fonte: O autor.

Devido falta de recurso para impresso da PCB projetada, o Shield do dispositivo


vestvel foi construdo utilizando uma placa de fenolite ilhada perfurada, onde foram soldados
os mdulos ESP8266 e MPU6050. A Figura 28 mostra o dispositivo vestvel completo com os
seguintes componentes enumerados de amarelo:

1. NXP Freedom Kl25Z;


2. Mdulo ESP8266;
3. Mdulo MPU6050;
4. Socket de bateria tipo boto para alimentao do dispositivo;

Figura 28: Sistema embarcado do dispositivo vestvel.

Fonte: O autor.
58

Para o desenvolvimento do prottipo foi necessrio construir um acessrio para que


fosse acoplado ao corpo do idoso monitorado. O acessrio escolhido foi um cinto elstico, o
qual permitisse acoplar em qualquer pessoa, independente da largura da cintura. A Figura 29
mostra o prottipo construdo. Enquanto a Figura 30 ilustra o dispositivo acoplado no corpo de
uma pessoa.

Figura 29: Prottipo do dispositivo vestvel.

Fonte: O autor.

Figura 30: Prottipo do dispositivo vestvel acoplado no usurio.

Fonte: O autor.
59

3.4.2. Desenvolvimento do Firmware

Nesta seo sero descritos os processos de desenvolvimento do firmware, incluindo


fluxograma de execuo.

3.4.2.1. Plataforma de desenvolvimento

O ambiente integrado de desenvolvimento (do ingls Integrated Development


Environment - IDE) utilizado neste projeto o CodeWarrior da NXP. Este ambiente de
desenvolvimento a plataforma padro para desenvolvimento em microcontroladores NXP-
Freedom e integra ferramentas de desenvolvimento para vrias famlias de arquiteturas de
hardware tais como ColdFire, Kinetis, S12Z dentre outras. A Figura 31 a seguir ilustra o
ambiente de desenvolvimento CodeWarrior.

Figura 31: Ambiente de desenvolvimento CodeWarrior IDE.

Fonte: O autor.

O CodeWarrior IDE foi utilizado como ambiente de programao devido a sua


praticidade e por possuir uma interface amigvel, baseada na plataforma de desenvolvimento
aberta Eclipse. Alm disso, o CodeWarrior fornece recursos importantes para acelerar o
desenvolvimento, como por exemplo o Processor Expert.
60

O Processor Expert uma ferramenta do CodeWarrior que permite a automao da


criao de cdigo para a CPU e perifricos atravs de mdulos genricos de componentes de
software, configurveis por interface grfica.

Por exemplo, possvel criar um mdulo genrico para comunicao serial e, a partir
deste mdulo, configuraes como BAUD rate e paridade podem ser inseridas via interface
grfica e o Processor Expert gera os cdigos .c e .h do driver deste mdulo para ser utilizado.
A Figura 32 a seguir ilustra a interface de configurao de um mdulo SPI utilizado na interface
com o mdulo de comunicao ESP8266.

Figura 32: Ferramenta Processor Expert do CodeWarrior IDE

Fonte: O autor.

3.4.2.2. Mquina de estados geral

O sistema vestvel pode ser estruturado em uma mquina de estado simples composta
por trs estados ou modos: modo de configurao, modo de deteco e modo de envio.

Modo de configurao: Neste estado, o dispositivo estar sendo configurado para


iniciar o modo de execuo que composto pelos estados de deteco e envio.
Modo de deteco: Neste modo, o dispositivo estar lendo os dados do acelermetro e
giroscpio, alm de detectar possveis atividades realizadas pelo usurio monitorado.
Modo de envio: Modo no qual o dispositivo vestvel envia os dados de deteco para o
servidor.
61

A Figura 33 a seguir representa a mquina de estados geral do sistema de monitoramento


embarcado.

Figura 33: Mquina de estados do sistema de monitoramento embarcado.

Fonte: O autor.

3.4.2.3. Fluxogramas de execuo

Nesta seo, so comentadas as programaes de cada mdulo referente ao dispositivo


vestvel, bem como seu funcionamento geral. Foram utilizados fluxogramas de execuo para
apresentar e explicar o funcionamento do firmware.

3.4.2.3.1 Fluxograma do modo de configurao

No modo de configurao, executado o armazenamento em memria Flash dos


parmetros de configurao de comunicao do sistema, bem como a definio de deteco de
atividades e quedas.

A configurao do dispositivo vestvel bastante simples. O usurio, ao iniciar a


aplicao ilustrada anteriormente na Figura 24, ir conectar a porta serial virtual (COMM) e em
seguida inserir os parmetros de configurao. Aps isso o dispositivo vestvel ir receber os
parmetros via serial e ir armazen-los na memria Flash.
62

A Figura 34 a seguir ilustra o fluxograma de execuo do firmware em modo de


configurao.

Figura 34: Fluxograma de execuo no modo de configurao.

Fonte: O autor.

3.4.2.3.2. Fluxograma do modo de deteco

O modo de deteco o modo normal de execuo. Neste modo, o dispositivo vestvel


ir ler periodicamente os dados do acelermetro e giroscpio, filtr-los utilizando o filtro
complementar e enviar os dados para o servidor. A deteco ser feita continuamente no
servidor. A mudana de estado ocorre sempre que o dispositivo realizar uma leitura do mdulo
MPU6050 ou se o dispositivo receber uma interrupo via comunicao serial para configurar
parmetros de instalao. A Figura 35 abaixo ilustra o fluxograma do firmware no modo de
deteco.
63

Figura 35: Fluxograma de execuo no modo de deteco.

Fonte: O autor.

3.4.2.3.3 Fluxograma do modo de envio

No modo de envio, o mdulo de comunicao Wi-Fi ESP8266 deve ser acordado e


conectado com a rede Wi-Fi configurada para enviar os dados detectados. O dispositivo vestvel
entra neste estado sempre que detectar alguma atividade ou queda. Ao detectar um evento, o
dispositivo acorda o mdulo de comunicao, envia os dados para o servidor e ento volta a
dormir para economizar energia da bateria. A Figura 36 abaixo ilustra o fluxograma do
firmware no modo de envio.
64

Figura 36: Fluxograma de execuo no modo de envio

Fonte: O autor.

3.5. Desenvolvimento do algoritmo de aprendizado de mquina

3.5.1 Escolha das features

As features so caractersticas que contm informaes sobre propriedades ou


comportamentos investigados. Portanto, a escolha de features em um sistema de anlise de
movimento crtica. A escolha apropriada deste atributo ir permitir que o algoritmo de
classificao separe claramente diferentes conjuntos de dados. As caractersticas de movimento
escolhidas foram selecionadas a partir da taxa de variao dos valores lidos ao realizar
movimentos diferentes. Para o desenvolvimento do algoritmo de classificao, foram utilizadas
as seguintes features apresentadas no Quadro 13.
65

Quadro 13: Features escolhidas.

Features Atributos
Velocidade Angular (X, Y, Z) g1, g2, g3
Inclinao (X, Y) x, y
Fonte: O autor.

3.5.2 Sistema de aquisio de dados

O algoritmo utilizado para deteco de quedas baseado em anlise de padres e


aprendizado de mquina. Inicialmente, para realizar o treinamento do algoritmo para ento este
ser capaz detectar quedas, necessrio a coleta dos dados que classificam as classes as quais
devem ser classificadas. Por motivo de maior facilidade de transferncia de dados e de
economia de bateria para maior durao da coleta de dados, foi utilizado um rdio de baixo
consumo NRF24l01+ para coleta de dados do dispositivo vestvel desenvolvido.

O dispositivo de coleta de dados semelhante ao dispositivo vestvel de deteco de


queda, com uma nica diferena no mdulo de comunicao. Nesta etapa do projeto foi
construdo um prottipo para coleta de dados, que consistem um cinto que posicionado na
barriga do usurio a ser monitorado. A Figura 37 a seguir mostra a arquitetura da coleta de
dados.

Figura 37: Arquitetura do sistema de aquisio de dados.

Fonte: O autor.
66

3.5.3 Aplicao de aquisio de dados

Os dados aps serem coletados, precisam ser salvos em uma estrutura que ser utilizada
para alimentar o algoritmo de aprendizado de mquina para deteco dos eventos. O formato
.CSV bastante utilizado em aplicaes de aprendizado de mquina. Por isto, foi escolhido
para esta tarefa. Com o objetivo de organizar os dados propriamente, foi desenvolvida uma
aplicao na plataforma Java para receber os dados via porta serial da KL25Z e salv-los em
arquivo .CSV. A Figura 38 a seguir apresenta a aplicao desenvolvida para coleta de dados do
mdulo de sensoriamento.

Figura 38: Interface de aquisio de dados.

Fonte: O autor.

3.5.4 Seo de coleta de dados

Durante o procedimento de coleta de dados foram utilizadas 2 pessoas com as seguintes


caractersticas descritas na tabela abaixo.

Quadro 14: Informaes dos usurios de teste.

Pessoas Idade Sexo


Pessoa 1 56 Masculino
Pessoa 2 52 Feminino
Fonte: O autor.
67

A frequncia de amostra durante a coleta de dados foi de 2 amostras por segundo. Isto
significa que os dados do acelermetro e giroscpio eram lidos a cada 500 milissegundos e
armazenados em um arquivo .CSV. No total, foram coletadas 14.400 amostras de dados
considerando uma pessoa. Cada amostra coletada foi registrada indicando um rtulo referente
atividade realizada durante a coleta.

Foram coletados os dados das seguintes classes e durao para cada pessoa:

Cair (30 minutos 3.600 amostras)


Correr (15 minutos 1800 amostras)
Andar (15 minutos 1800 amostras)
Permanecer em p (10 minutos 1200 amostras)
Permanecer deitado (10 minutos 1200 amostras)

Os dados da atividade andar e correr foram coletados utilizando uma esteira nas
velocidades 4 Km/h e 6 Km/h respectivamente. As quedas simuladas durante a coleta de dados
foram de frente, costas e de lado. Ambas as simulaes de quedas foram realizadas utilizando
colches para amortecer a queda. A Figura 39 ilustra parte de um dos arquivos gerados a partir
das coletas de dados realizadas.

Figura 39: Exemplo de dados coletados e salvos em arquivo .CSV.

Fonte: O autor.
68

3.5.5 Algoritmo e treinamento

Utilizando o framework scikit-learn, foi desenvolvido um algoritmo em Python para


treinamento e classificao dos dados coletados e salvos em arquivos .csv. O algoritmo
utilizado foi baseado em mquina de vetores de suporte ou SVM, do ingls Support Vector
Machine.

O treinamento foi realizado seguindo a seguinte metodologia:

70% dos dados so utilizados para treinamento do algoritmo SVM de aprendizado de


mquina.
30% dos dados coletados so utilizados para testar a exatido do algoritmo aps
treinamento.

Primeiramente, o algoritmo SVM passou por um processo de treinamento utilizando


70% das amostras coletadas, totalizando 10.080 amostras. Aps o treinamento, os 30% das
amostras restantes (total de 4.320 amostras) foram utilizados para testar o algoritmo de
classificao.

O teste realizado segue estes passos:

1. Os dados referentes aos 30% no treinados foram carregados.


2. O algoritmo SVM de classificao coletou os dados das features e gerou resultados de
classificao.
3. Os resultados do algoritmo SVM foram comparados com os rtulos dos dados.

Portanto, assumindo que se o algoritmo de classificao identificasse uma atividade que


fosse a mesma que a indicada no rtulo, significaria que este algoritmo classificou
corretamente. Os testes realizados com os 30% de dados resultou em 99,5% de exatido.

Porm, este valor no pode ser considerado, pois os dados no foram testados em tempo
real, mas a partir dos dados coletados. No captulo referente ao teste do sistema, ser abordada
a real exatido a partir da execuo do algoritmo em tempo real.
69

3.6. Desenvolvimento do servidor de monitoramento

O servidor de monitoramento consiste em uma aplicao web que tem como objetivo principal
fornecer uma plataforma de monitoramento remoto para os usurios que iro acompanhar o
idoso monitorado.

A Figura 40 apresenta o diagrama das pginas disponibilizadas pelo servio Web de


monitoramento.

Figura 40: Diagrama do servidor Web.

Fonte: O autor.

A aplicao web apresenta-se como um sistema de monitoramento em que o usurio


tem o controle de monitorar vrios idosos em diferentes ambientes e regies em um nico
sistema, o qual pode ser acessado por qualquer dispositivo que tenha um navegador web. Desta
forma, os usurios tm maior liberdade de acesso aos servios prestados pela aplicao.
70

A Figura 41 a seguir apresenta a pgina inicial do servio web de monitoramento.

Figura 41: Pgina principal do servidor Web.

Fonte: O autor.

O servidor escrito em Python utilizando o framework de desenvolvimento web Django


possui os seguintes recursos:

Registro de idosos: permite adicionar ou remover idosos monitorados pelo sistema.


Grfico de eventos geral: apresenta um grfico indicando a ocorrncia geral de eventos
de quedas e atividades detectadas por todos os idosos monitorados.
Grfico de eventos do idoso: apresenta um grfico indicando a ocorrncia geral de
eventos de quedas e atividades detectadas de um idoso especfico.

A Figura 42 apresenta a rea do usurio onde h uma lista dos idosos monitorados e o
grfico geral de acompanhamento de quedas e atividades.
71

Figura 42: Pgina monitoramento do servidor Web.

Fonte: O autor.

3.6.1 Plataforma de desenvolvimento

A IDE utilizada no desenvolvimento do servidor Web de monitoramento o PyCharm.


O PyCharm uma IDE desenvolvida pela empresa JetBrains, usada para programao em
Python. Esta IDE fornece ferramentas de anlise de cdigo, depurador (debug) grfico,
integrao com sistemas de controle de verso de software, dentre outros recursos importantes
que auxiliam no desenvolvimento.

Alm do auxlio das ferramentas oferecida pela IDE, o PyCharm d suporte ao


framework de desenvolvimento web Django, incluindo recursos tais como o de concluso
inteligente de cdigo, inspees de cdigo e muitos outros os quais justificam a utilizao deste
ambiente para o desenvolvimento do servidor em Django.

A Figura 43 a seguir apresenta o ambiente de desenvolvimento PyCharm.


72

Figura 43: PyCharm IDE.

Fonte: O autor.

3.6.2 Fluxograma do Servidor de monitoramento

Alm dos servios de monitoramento, o servidor tem como objetivo receber


informaes de deteco de eventos dos dispositivos vestveis utilizados pelos idosos
monitorados. Portanto o servidor deve obedecer um fluxo de funcionamento o qual este receba
as informaes e as armazene de forma apropriada de acordo com os dados enviados.

O dispositivo vestvel ir enviar basicamente uma mensagem indicando a atividade


detectada em um determinado momento, e o tipo de mensagem, se uma queda ou atividade
fsica. O servidor ao receber esta mensagem deve registra-la e dependendo do tipo de mensagem
deve notificar o usurio responsvel pelo idoso monitorado.

A Figura 44 apresenta o fluxograma de funcionamento do servidor de monitoramento


no recebimento de notificaes dos dispositivos vestveis.
73

Figura 44: Fluxograma de execuo do servidor Web.

Fonte: O autor.
74

4. TESTE E VALIDAO DO SISTEMA

Neste captulo so apresentados os testes unitrios e de integrao aplicados nos


componentes do sistema proposto. A finalidade deste captulo avaliar e validar o
funcionamento dos componentes do sistema, destacando possveis falhas ou ineficcia que
possam ser alvo de melhoramentos futuros. Para o teste dos elementos do sistema foi utilizada
a metodologia de casos de teste os quais visam validar as funcionalidades do sistema em um
ambiente simulado.

4.1 Teste unitrio do sistema S.E.M.S

4.1.1 Caso de teste 1: Escrita de parmetros na memria

A validao do software de configurao do dispositivo vestvel foi feita da seguinte


maneira:

Realizar a configurao utilizando o software.


Reiniciar o dispositivo vestvel
Verificar se os parmetros de configurao foram salvos na memria Flash do
dispositivo.

Para isso foi desenvolvido um firmware de teste que periodicamente ler os parmetros
escritos na memria Flash e exibe via serial. A Figura 45 a seguir ilustra o debug da serial
realizado. A mensagem Flash: homewifi_F62;110522861;1;1 enviada pelo dispositivo vestvel
via serial indica a configurao salva na memria flash.

As informaes contidas na memria Flash so:

o SSID: homewifi_F62;
o Senha: 110522861;
o Deteco de queda ativa: 1;
o Deteco de atividade ativa: 1.
75

Figura 45: Teste de leitura dos parmetros de configurao do dispositivo.

Fonte: O autor.

4.1.2 Caso de teste 2: Envio de dados do acelermetro e giroscpio

Um dos testes de validao do sistema vestvel a de aquisio de dados do


acelermetro e giroscpio e envio destes dados para o servidor via mdulo Wi-Fi. Como
requisito do sistema, o dispositivo precisa enviar dados dos sensores periodicamente para o
servidor. Para que o dispositivo possa se conectar rede Wi-Fi o mesmo deve ler pelo menos
uma vez a memria Flash e salvar em memria voltil os parmetros de configurao de rede.

Para realizao deste teste foram feitos os seguintes passos:

Realizar a configurao utilizando o software.


Reiniciar o dispositivo.
Verificar se o dispositivo est enviando dados periodicamente ao servidor.

Neste teste foi desenvolvido um firmware de teste para quando o dispositivo estiver
conectado rede configurada, enviar a cada 200ms os dados coletados do acelermetro e
giroscpio. A Figura 46 ilustra o teste de envio de dados ao servidor.
76

Figura 46: Teste de comunicao com o servidor.

Fonte: O autor.

4.1.3 Caso de teste 3: Exibio de pginas

Para validao do servidor de monitoramento, primeiramente preciso verificar se a


hierarquia de pginas fornecidas pelo site est disponvel. Este teste bem prtico e
basicamente segue os seguintes procedimentos:

Verificar se a pgina inicial carrega.


Verificar se o recurso de registro de cliente funciona.
Verificar se a pgina de monitoramento exige autenticao ao tentar acessa-la.
Verificar se o processo de autenticao funciona propriamente.

As verificaes listadas anteriormente foram verificadas e validadas. Portanto o site est


pronto para ser acessado, restando agora o teste de registro de notificaes do dispositivo
vestvel.
77

4.1.4 Caso de teste 4: Registro de eventos

O registro das notificaes dos dispositivos vestveis essencial para o funcionamento


da soluo. Por tanto, foi desenvolvido um caso de teste de registro dos clientes no servidor.
Este teste dividido nas seguintes etapas:

Configurar dispositivo vestvel


Dispositivo vestvel deve enviar periodicamente notificaes ao servidor.
Verificar o registro dos dados enviados pelo dispositivo vestvel.

Neste teste foi desenvolvido um firmware para enviar periodicamente dados de


notificao para simular o registro de eventos no servidor. O servidor registrou os dados com
sucesso e o teste foi validado.

A Figura 47 a seguir mostra a lista de eventos registrados pelo servidor durante o teste.
Os registros consistem em os dados do acelermetro e giroscpio e a atividade detectada pelo
servidor.

Figura 47: Teste de registro de eventos no servidor.

Fonte: O autor.

4.1.5 Caso de teste 5: Deteco de quedas e atividades fsicas

Outro teste de validao do servidor o de deteco das atividades fsicas correr e andar.
Neste teste foi utilizado o prottipo do dispositivo vestvel para simular eventos de quedas e
atividades fsicas e verificar se o sistema capaz de detectar tais eventos e registra-los no
servidor.
78

Neste teste foram realizados os seguintes passos:

Realizar a configurao utilizando o software.


Reiniciar o dispositivo.
Verificar se dispositivo est enviando dados ao servidor.
Verificar se o servidor est detectando eventos de quedas e atividades fsicas ao
servidor.

4.1.6 Resultados

O Quadro 15 a seguir ilustra os testes aprovados e reprovados dentre os testes realizados.

Quadro 15: Resultado dos testes realizados.

Componentes Testes Resultado


Servidor de Monitoramento Exibio de pginas Aprovado
Registro de eventos Aprovado
Deteco de atividades e queda Reprovado
Dispositivo vestvel Comunicao com o servidor. Aprovado
Software de Configurao Escrita de parmetros Aprovado
Fonte: O autor.

A funcionalidade de deteco de atividades e queda foi considerada reprovada devido


ao fato de no ter atingido os resultados esperados. Durante os testes tericos, realizados antes
da integrao do sistema com o algoritmo de classificao, obteve-se mais de 90% de exatido
nas classificaes de atividades.

Porm, no teste em tempo real, os resultados obtidos encontram-se em torno de 70%,


baseado em que a cada 10 eventos detectados, 3 desses eventos so classificados erroneamente.

Portanto, o resultado do teste de deteco de quedas e atividades foi considerado


reprovado, pois no atingiu aos requisitos esperados.
79

4.2 Teste Integrado do Sistema

Por fim, para validao final do sistema foi realizado um teste em tempo real com o
prottipo final desenvolvido acoplado a uma pessoa durante uma hora. Esta pessoa realizou
diversas atividades incluindo andar, correr, pular, simular queda para verificar a capacidade do
sistema em detectar eventos corretamente.

Os resultados dos testes foram satisfatrios, porm ainda existem melhoras a serem
realizadas, pois o algoritmo de deteco de atividades no demonstrou preciso nas
classificaes, pois este confundiu atividades de pulo, agachamento e movimentos bruscos
como eventos de queda. Alm disso, eventualmente o algoritmo de deteco confundia a
atividade de correr com a atividade de andar.

Acredita-se que a principal razo da falta de exatido do algoritmo de classificao


encontra-se na ineficincia do treino realizado pelo algoritmo, devido ao baixo volume de dados
referente as atividades a serem classificadas.
80

5. CONCLUSO

Este trabalho apresenta uma soluo de monitoramento de pessoas idosas sem fio capaz
de se comunicar com um servidor Web e registrar eventos de queda e atividades fsicas com
uma taxa de erro aceitvel, porm no ideal.

O microcontrolador ARM KL25z com CPU cortex-M0+ da NXP cumpriu os requisitos


de recursos do projeto e disponibilizou a quantidade suficiente de dispositivos de entrada e
sada, bem como as interfaces de comunicao como SPI, I2C e serial UART. Alm de possuir
uma quantidade de memria Flash maior que necessrio para o armazenamento dos parmetros
de configurao do dispositivo vestvel.

O mdulo de comunicao Wi-Fi ESP8266 demonstrou ser uma tima soluo para
desenvolvimento de sistemas com conexo internet de baixo custo, de fcil utilizao e
eficincia satisfatria. O mdulo de sensoriamento MPU6050 tambm se mostrou eficiente na
coleta de dados, alm de ser um mdulo de baixo custo financeiro.

O prottipo desenvolvido permitiu que qualquer pessoa fosse capaz de usar o dispositivo
vestvel pois o cinto construdo de elstico e, portanto, totalmente regulvel. A soluo de
configurao apresentou-se bastante simples, e amigvel para utilizao de qualquer tipo de
usurio, mesmo leigos em informtica.

O framework scikit-learn para desenvolvimento de solues utilizando algoritmos de


machine learning foi bastante importante no desenvolvimento deste trabalho. Este framework
apresenta vrios recursos tais como normalizao de dados e leitura de arquivos .CSV e
vetorizao de dados, recursos os quais facilitam o desenvolvimento gil de algoritmos de
classificao.

O framework de desenvolvimento Web Django tambm se mostrou uma tima opo


para desenvolvimento de sistemas os quais necessitam de gerenciamento de dados e
monitoramento de dispositivos. A aplicao Web desenvolvida apresenta-se amigvel e de fcil
uso. Alm de fornecer a vantagem de ser acessada por qualquer dispositivo que tenha uma
aplicao browser, permitindo o monitoramento por diversos dispositivos e plataformas
diferentes.
81

Apesar do fato do sistema desenvolvido neste trabalho no possuir a maturidade para


tornar-se um produto, o sistema S.E.M.S apresenta-se como uma soluo til, de baixo custo e
de fcil utilizao para monitoramento de pessoas idosas. O sistema atende as necessidades
bsicas de monitoramento, agregando maior confiabilidade no acompanhamento da sade do
idoso.

5.1. Trabalhos Futuros

O sistema como prottipo est validado, e cumpriu as funcionalidades bsicas de


monitoramento propostas, porm existem muitas melhorias e recursos aplicveis em sua
implementao.

Inicialmente, o hardware no foi desenvolvido de forma apropriada. Deve-se


desenvolver PCIs especficas para o dispositivo vestvel, evitando a utilizao de kit de
desenvolvimento e mdulos de comunicao e sensoriamento. Portanto, todos esses
componentes deveriam ser integrados em uma nica PCB. Desta forma o dispositivo seria
reduzido no tamanho, tornando-o mais confortvel ao vestir, alm de reduzir o risco de
danificao por impacto fsico, resultantes de possveis quedas sofridas pelo usurio
monitorado.

Outro fator importante para esta soluo que no foi estudado o gerenciamento de
consumo de energia. Deve-se utilizar tcnicas de reduo de consumo de bateria, alm de
projetar a bateria, estimando a periodicidade de troca de bateria.

O algoritmo de deteco de queda deve ser melhorado, utilizando-se de mais dados para
o treinamento, acrescentando mais coleta de dados de pessoas diferentes, considerando idade,
sexo e deficincia de locomoo, alm de acrescentar novas classes de classificao. Desta
forma o algoritmo ter mais informao para deteco de eventos, atendendo ao maior nmero
de pessoas possveis.

O sistema de configurao de parmetros poderia ser melhorado para acrescentar uma


lista de ambientes em que o idoso frequenta, para que o dispositivo de conectado na rede
disponvel automaticamente nas redes WiFi disponveis, mesmo que o idoso monitorado mude
de ambiente.
82

O sistema de monitoramento Web pode ser melhorado acrescentando o recurso de


notificaes via e-mail ou mensagens via WhatsApp para notificar os responsveis pelo idoso
quando houver alguma situao de emergncia.

Finalmente o sistema como um todo ser melhorado, desenvolvendo uma plataforma


modular para acrescentar mdulos de monitoramentos de diferentes tipos tais como o mdulo
de deteco de quedas e atividades desenvolvido. Podendo acrescentar mdulos para
sensoriamento de dados fisiolgicos do idoso como o batimento cardaco, presso e
temperatura.
83

6. REFERNCIAS

SANTIAGO, A. L. M.; MOREIRA, J. S.; SILVA, E. G.; FERNANDES, V. L.; DIAS, R. C.;
DIAS, J. M. D. Mobilidade, quedas e qualidade de vida em idosos comunitrios. Fisioterapia
em Movimento, Curitiba, v.17, p. 29-36, 2004.

FULLER, George F. Falls in the elderly. American family physician, v. 61, n. 7, p. 2159-68,
2173-4, 2000.

SANTOS, V. H. Quedas em Idosos: Preveno. Projeto Diretrizes, 2008.

MAZO, G. Z. et al. Condies de sade, incidncia de quedas e nvel de atividade fsica dos
idosos. Revista Brasileira de Fisioterapia, v. 11, n. 6, p. 437-42, 2007.

THOBER, E.; CREUTZBERG, M.; VIEGAS, K. Nvel de dependncia de idosos e cuidados


no mbito domiciliar. Revista Brasileira de Enfermagem, Braslia, v. 58, n. 4, p. 438-443, 2005.

TENG, Xiao-Fei et al. Wearable medical systems for p-health. Biomedical Engineering, IEEE
Reviews in, v. 1, p. 62-74, 2008.

JAHANA, Kelly Onaga; DIOGO, M. J. D. E. Quedas em idosos: principais causas e


consequncias. Sade coletiva, v. 4, n. 17, p. 148-153, 2007.

CASHEN, Margaret S.; DYKES, Patricia; GERBER, Ben. eHealth technology and Internet
resources: barriers for vulnerable populations. Journal of Cardiovascular Nursing, v. 19, n. 3,
p. 209-214, 2004.

GORDILHO, Raphael. Investimentos corporativos na tecnologia em sade batem


recorde. Disponvel em: <http://saudebusiness.com/noticias/investimentos-corporativos-em-
saude-digital-e-tecnologia-em-saude-batem-recorde/>. Acesso em: 07 Nov. 2014.

KOSOFF, Maya. Google just invested $32 million in Oscar, a billion-dollar startup that wants
to shake up healthcare. Disponvel em: <http://www.businessinsider.com/google-invests-32-
million-in-oscar-healthcare-startup-2015-9>. Acesso em: 15 set. 2015.

FOTIADIS, Dimitrios I.; GLAROS, Constantine; LIKAS, Aristidis. Wearable Medical


Devices. Wiley Encyclopedia of Biomedical Engineering, 2006.
84

NIEWOLNY, David. How the internet of things is revolutionizing healthcare. White paper,
2013.

STALLINGS, William. Wireless communications & networks. Pearson Education India, 2009.

ROSHAN, Pejman; LEARY, Jonathan. 802.11 wireless LAN fundamentals. Cisco press, 2004.

EBERSPCHER, Jrg et al. GSM-architecture, protocols and services. John Wiley & Sons,
2008.

BORGES, Rodrigo Weissmann. Aplicabilidade de sistemas operacionais de tempo real (RTOS)


para sistemas embarcados de baixo custo e pequeno porte. Tese de Doutorado. Universidade de
So Paulo, 2011.

STALLINGS, William; PAUL, Goutam Kumar; MANNA, Moumita Mitra. Operating systems:
internals and design principles. Upper Saddle River, NJ: Prentice Hall, 1998.

FIGUEIREDO, Lgia J. et al. Aplicaes de acelermetros. Monografia. Lisboa, Portugal,


2007.

SHARMA, Kanika; DHIR, Neha. A Study of Wireless Networks: WLANs, WPANs, WMANs,
and WWANs with Comparison.

PEDREGOSA, Fabian et al. Scikit-learn: Machine learning in Python. The Journal of Machine
Learning Research, v. 12, p. 2825-2830, 2011.

HOLOVATY, Adrian; KAPLAN-MOSS, Jacob. The definitive guide to Django: Web


development done right. Apress, 2009.

GARRETA, Ral; MONCECCHI, Guillermo. Learning scikit-learn: Machine Learning in


Python. Packt Publishing Ltd, 2013.

WUNNAVA, Subbarao V.; HOO, Peter. Remote instrumentation access and control (RIAC)
through inter-networking. In: Southeastcon'99. Proceedings. IEEE. IEEE, 1999. p. 116-121.

NOERGAARD, Tammy. Embedded systems architecture: a comprehensive guide for


engineers and programmers. Newness, 2012.
85

WATTS, Lauri. The KPPP Handbook: Appendix B. The Hayes Modem Command Set.
Disponvel em: <https://docs.kde.org/stable4/en/kdenetwork/kppp/appendix-hayes-
commands.html>. Acesso em: 23 abr. 2016.

NXP SEMICONDUCTORS. Kinetis KL2x Ultra-Low Power USB MCU. Disponvel em:
<http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/kinetis-
cortex-m-mcus/l-series-ultra-low-power-m0-plus/kinetis-kl2x-48-mhz-usb-ultra-low-power-
microcontrollers-mcus-based-on-arm-cortex-m0-plus-core:KL2x>. Acesso em: 07 maio 2016.

NXP SEMICONDUCTORS. FRDM-KL25Z User's Manual. Disponvel em:


<http://www.nxp.com/products/software-and-tools/hardware-development-tools/freedom-
development-boards/freedom-development-platform-for-kinetis-kl14-kl15-kl24-kl25-
mcus:FRDM-KL25Z?fpsp=1&tab=Documentation_Tab>. Acesso em: 22 maio 2016.

DELUCA, Joseph M.; ENMARK, Rebecca. E-health: the changing model of


healthcare. Frontiers of health services management, v. 17, n. 1, p. 3, 2000.

AUSTIN, Charles J.; BOXERMAN, Stuart B. Information systems for healthcare management.
Health Administration Press, 2003.

INVENSENSE. MPU-6000 and MPU-6050 Product Specification. 2013. Disponvel em:


<https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/>. Acesso em: 14
abr. 2016.

ESPRESSIF. ESP8266EX Datasheet. Disponvel em: <https://cdn-


shop.adafruit.com/product-files/2471/0A-ESP8266__Datasheet__EN_v4.3.pdf>. Acesso em:
19 abr. 2016.

IBGE - Instituto Brasileiro de Geografia e Estatstica. Dados sobre o envelhecimento no Brasil.


Braslia: IBGE, 2012.

DOBRIANSKY, Paula J.; SUZMAN, Richard M.; HODES, Richard J. Why population aging
matters: A global perspective. National Institute on Aging, National Institutes of Health, US
Department of Health and Human Services, US Department of State, 2007.

CHUI, Michael; LFFLER, Markus; ROBERTS, Roger. The internet of things. McKinsey
Quarterly, v. 2, n. 2010, p. 1-9, 2010.
86

LIU, Ming. A study of mobile sensing using smartphones. International Journal of Distributed
Sensor Networks, v. 2013, 2013.

BORGES, L. E. Python para Desenvolvedores. Rio de Janeiro: Novatec, 2010.

ISLAM, Syed Kamrul; HAIDER, Mohammad Rafiqul. Sensors and low power signal
processing. Springer Science & Business Media, 2009.

JAMIESON, Peter. Arduino for teaching embedded systems. Are computer scientists and
engineering educators missing the boat? Proc. FECS, p. 289-294, 2010.

MELOT, Nicolas. Study of an operating system: FreeRTOS. 2009.

CRISTIANINI, Nello; SHAWE-TAYLOR, John. An introduction to support vector machines


and other kernel-based learning methods. Cambridge university press, 2000.

FORHAN, Neisy Amparo Escobar; SENNA, Jos Roberto Sbragia. Giroscpios


MEMS. Relatrio tcnico-cientfico, Instituto Nacional de Pesquisas Espaciais-INPE, So Jos
dos Campos-SP-Brasil, iNPE-16671-RPQ/848, 2010.

LEE, Huei Diana. Seleo e construo de features relevantes para o aprendizado de mquina.
2000. Tese de Doutorado. Universidade de So Paulo.