SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
UNIVERSIDADE FEDERAL DO PARÁ
INSTITUTO DE TECNOLOGIA
FACULDADE DE ENGENHARIA ELÉTRICA E BIOMÉDICA
CURSO DE ENGENHARIA BIOMÉDICA
CARLOS EDUARDO DURANS NOGUEIRA
SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO
COMUNICAÇÃO WI-FI™ VIA NODEMCU (ESP8266)
BELÉM
2018
CARLOS EDUARDO DURANS NOGUEIRA
SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO
COMUNICAÇÃO WI-FI™ VIA NODEMCU (ESP8266)
BELÉM
2018
Trabalho de Conclusão de Curso, apresentado
como requisito parcial para obtenção de grau
de Bacharel em Engenharia Biomédica, pela
Universidade Federal do Pará.
Orientador: Prof. Dr. Antonio da Silva Silveira
AGRADECIMENTOS
Agradeço à minha família - em especial: ao meu pai, Eduardo Nogueira; à minha mãe,
Celma Nogueira; e aos meus irmãos, Paulo e Daniel - pelo integral apoio aos meus estudos e às
minhas decisões, tornando o período de duração da graduação em bacharelado em engenharia
biomédica, extremamente satisfatório e proveitoso.
Ao professor Antonio Silveira, pelo incentivo e pelos conselhos valiosos que tive
durante o curso, influenciando no surgimento de uma paixão pela área de sistemas de controle
e servindo como referência de pessoa e de profissional em minha vida.
Ao corpo docente do curso de engenharia biomédica, principalmente, à professora
Valquíria Macedo, que pôde acompanhar minha formação em engenharia desde o início e que
sempre esteve disposta a ajudar em qualquer dificuldade.
Aos meus companheiros do Laboratório de Controle e Sistemas, pelos anos de
convivência, estudo e diversão e pelas batalhas que ainda virão em nossas vidas, as quais muitas
delas enfrentaremos juntos.
À Universidade Federal do Pará, por fornecer a estrutura para a efetivação dos meus
estudos. À CAPES e ao CNPq, pelo apoio financeiro às pesquisas científicas, desde a bolsa
Jovens Talentos para a Ciência, em 2013, até a bolsa PIBIC/Prodoutor, em 2017.
“Nunca seremos grandes, nunca seremos elevados, nunca
seremos santos, se não caminharmos para um ideal.”
(Padre Júlio Maria de Lombaerde)
RESUMO
Este trabalho descreve o desenvolvimento de um sistema de aquisição de dados em Matlab
utilizando o dispositivo ESP8266 sendo programado por meio do Arduino IDE. O ESP8266 é
tendência a ser usado em aplicações em diversas áreas da engenharia e da ciência, como em
telecomunicações, sistemas de controle e automação, computação aplicada e engenharia
biomédica, justamente por usar a tecnologia WiFi no próprio microcontrolador, sem necessitar
de shield para isso. O sistema criado nesta monografia se chama DAQWiFi, o qual foi
desenvolvido para tarefas de controle e automação, contudo pode ser empregado em diversas
áreas afins. O sistema se baseia no envio e recepção de dados, para isso, apenas duas linhas de
código em Matlab são necessárias: uma linha de código responsável por ler os dados
provenientes de sensores acoplados à placa NodeMCU 1.0 e uma linha de código incumbida de
enviar sinais para atuadores, tais linhas correspondem, respectivamente, às funções
daqWifi_read e daqWifi_write. O desenvolvimento do DAQWiFi se deu em um cenário de
projeção tecnológica de dispositivo de aquisição de dados na Universidade Federal do Pará,
onde a tecnologia WiFi não era usada ainda para estes propósitos. Ao mesmo tempo, surgiu
como solução de parte de um algoritmo para um protótipo de uma cadeira de rodas inteligente
e como possibilidade de uso didático em plantas experimentais. Nesta monografia, as formas
de evolução das etapas de formulação e validação do sistema DAQWiFi serão descritas,
começando pelo caso SISO, onde um circuito eletrônico de segunda ordem é utilizado como
planta e finalizando com o caso MIMO, onde é empregado ao protótipo da cadeira de rodas.
Também serão descritos procedimentos e protocolos corroborativos com o desenvolvimento do
sistema, como o HTTP e as bibliotecas próprias do ESP8266.
Palavras-chave: ESP8266. DAQWiFi. Aquisição de dados. Sistemas de controle. Matlab.
HTTP.
ABSTRACT
This work describes the development of a Data Aquisition Systems (DAQ) for Matlab using
the ESP8266 microcontroller being programmed through the Arduino IDE. The ESP8266 is
tendency in applications for various areas of engineering and science, such as
telecommunications, control and automation systems, applied computing and biomedical
engineering because it uses WiFi technology in the microcontroller itself, without the need for
a Shield. The name of the System created in this monograph is DAQWiFi. It was developed for
control and automation activities, however it can be employed in various related areas. The
system is based on sending and receiving data, so only two lines of code in Matlab are required:
a line of code is responsible for reading data from the sensors coupled to NodeMCU 1.0 and
the other line of code is responsible for sending signals for the actuators. These lines,
respectively correspond to the functions DAQWiFi_read and DAQWiFi_write. The
development of DAQWiFi took place in a scenario of technological projection of data
acquisition device at the Federal University of Pará, where WiFi technology was not yet used
for these purposes. At the same time, it emerged as a solution of part of an algorithm for a
prototype of an intelligent wheelchair and as a possibility of didactic use and in experimental
plants. In this monograph, the evolutionary stages of the formulation and validation of the
DAQWiFi system will be described, starting with the SISO case, where a second-order
electronic circuit plant is used and ending with the MIMO case, where it is used with the
prototype of the wheelchair. Corroborative procedures and protocols will also be described
along with the development of the system, such as HTTP and the ESP8266 proprietary libraries.
Key-words: ESP8266. DAQWiFi. Data Aquisition. Control of Systems. Matlab. HTTP.
LISTA DE ILUSTRAÇÕES
Tabela 1 - Comparativo de preços de placas de aquisição de dados via WiFi .... 45
Figura 1 – Arduino Uno ...................................................................................... 17
Figura 2 – Arduino Nano .................................................................................... 17
Figura 3 – ESP-12 ...............................................................................................20
Quadro 1 - Pinos do ESP-12 .............................................................................. 20
Figura 4 – NodeMcu V3 ..................................................................................... 21
Quadro 2 - Comparativo entre NodeMCU 1.0 e Arduino UNO ........................ 22
Figura 5 - Diagrama de circuito do processo eletrônico subamortecido ............ 23
Figura 6 - Processo eletrônico subamortecido real............................................. 23
Figura 7 – Projeção das pirâmides etárias no estado do Pará nos anos 2010, 2020
e 2030 .............................................................................................. 25
Figura 8 – Esquema organizacional dos componentes do protótipo da cadeira de
rodas ................................................................................................. 25
Figura 9 – Diagrama de circuito esquemático do módulo L9110s .................... 26
Figura 10 – Dispositivo físico referente ao módulo L9110s .............................. 27
Figura 11 – Sensor Ultrassônico ........................................................................ 28
Figura 12 – Esquema de funcionamento do sensor ultrassônico ....................... 28
Quadro 3 – Métodos de requisição do HTTP .................................................... 30
Figura 13 - Fluxo de dados entre os dispositivos que utilizam o DAQWiFi .... 31
Figura 14 – Trecho do programa DAQWiFi embarcado no NodeMCU 1.0 ...... 34
Figura 15 – Protótipo da cadeira de rodas .......................................................... 36
Figura 16 – Resposta do sistema subamortecido ................................................ 37
Figura 17 – Atraso de comunicação para o roteador do Moto G5 Plus .............. 37
Figura 18 – Atraso de comunicação para o roteador Cisco DPC3925 ................ 38
Figura 19 – Teste do sensor ultrassônico do protótipo da cadeira de rodas ........ 38
Figura 20 – Esquema conceitual de Internet das coisas (IoT) ............................ 40
LISTA DE SIGLAS
BBS Bulletin Board System
DAQ Data Aquisition
FDA U.S. Food and Drug Administration
GPIO General Purpose Input/Output
GSM Global System for Mobile Communications
HTTP Hypertext Transfer Protocol
IDE Integrated Development Environment
IETF Internet Engineering Task Force
IP Internet Protocol
ISM Industrial Sientific and Medical
LACOS Laboratory of Control and Systems
LIT Linear Invariant Time System
MIME Multipurpose Internet Mail Extensions
MIMO Multiple Inputs and Multiple Outputs System
MOSI Master Output Slaver Input
PCB Printed Circuit Board
PWM Pulse Width Modulation
RFC Request for Comments
SISO Single Input and Single Output System
SoftAP Software Enabled Access Point
SPI Serial Peripheral Interface bus
TCP Transmission Control Protocol
UDP User Datagram Protocol
WiFi Wireless Fidelity
SUMÁRIO
1 INTRODUÇÃO ....................................................................................... 9
1.1 Motivação .......................................................................................... 10
1.2 Objetivos ........................................................................................... 12
1.2.1 Objetivo Geral ......................................................................................... 12
1.2.2 Objetivos Específicos ............................................................................... 12
1.3 Revisão Bibliográfica .......................................................................... 13
1.4 Contribuições Tecnológicas e Científicas ............................................. 14
1.5 Estrutura do Trabalho ......................................................................... 14
2 MATERIAIS E MÉTODOS ...................................................................... 16
2.1 Arduino .............................................................................................. 16
2.2 DaqDuino ........................................................................................... 18
2.3 Esp8266 ............................................................................................. 18
2.4 Esp-12 ................................................................................................ 19
2.5 NodeMCU V3 ..................................................................................... 21
2.6 Roteador ............................................................................................ 22
2.7 Circuito elétrico com dinâmica subamortecida ................................... 22
2.8 Kit protótipo cadeira de rodas ............................................................. 23
2.9 Robô móvel ........................................................................................ 25
2.9.1 Ponte H (L9110s) ..................................................................................... 25
2.9.2 Sonar (Ultrasonic Ranging Module HC-SR04) ........................................... 27
3 DESCRIÇÃO DO DAQWIFI .................................................................... 28
3.1 WiFi ................................................................................................... 28
3.2 O Protocolo de Transferência de Hipertexto (HTTP) ............................ 29
3.3 Configuração do Arduino IDE .............................................................. 30
3.4 Web Server (Biblioteca ESP8266WebServer) ....................................... 31
3.5 Funções do DAQWiFi no Matlab .......................................................... 33
4 TESTES E RESULTADOS ........................................................................ 34
5 APLICAÇÕES PARA DAQWIFI ............................................................... 37
5.1 Internet das Coisas ............................................................................. 37
5.2 Telemedicina e auxílio remoto à saúde (Healthcare) ........................... 38
5.3 Controle de sistemas remotamente .................................................... 39
5.4 Robótica ............................................................................................ 40
6 COSIDERAÇÕES FINAIS ...................................................................... 41
REFERÊNCIAS ..................................................................................... 44
APÊNDICE A - FUNÇÃO DAQWIFI_READ .............................................. 47
APÊNDICE B – FUNÇÃO DAQWIFI_WRITE ............................................ 48
APÊNDICE C – DAQWIFI NO ARDUINO IDE ........................................... 49
APÊNDICE D – EXEMPLO DE AQUISIÇÃO DE DADOS UTILIZANDO O
DAQWIFI NO MATLAB ........................................................................ 52
9
1 INTRODUÇÃO
A integração e supervisão de sistemas procura cada vez mais atender situações em que
são necessários comandos remotos para estabelecer comunicação entre as partes integrantes de
um sistema. Tomando como estímulo inicial a aplicação do sensoriamento remoto via Wi-Fi™
para um protótipo de uma cadeira de rodas comandado, um sistema do tipo aquisição de dados
surgiu como solução de um dos passos para implementação de algoritmos específicos para
serem usados na cadeira. Percebeu-se no decorrer do trabalho a necessidade tecnológica da
plataforma DAQ (Data Aquisiton) via Wi-Fi dentro do ambiente científico da Universidade
Federal do Pará, seja para a área de Controle e Automação de Sistemas como para áreas que
possam utilizar a tecnologia desenvolvida, isto valida a importância deste trabalho de conclusão
de curso. Uma vez citada a necessidade do trabalho, convém agora descrever um breve histórico
da humanidade que culmina nas necessidades tecnocientíficas atuais.
Na segunda metade do século XVIII, ocorreu um processo de transformação
socioeconômica chamada Revolução Industrial. A contribuição deste período para o avanço das
técnicas produtivas humanas foi de grande importância, pois deu início a uma disputa pela
detenção do que há de mais avançado nos meios de produção. O sistema de produção artesanal
se tornou fabril, impulsionado pelo advento das máquinas a vapor. Devido a esta notável
evolução tecnológica, hábitos e costumes humanos foram severamente modificados, tornando
necessária uma adaptação educacional que proporcionava capacitação na forma como os
indivíduos lidavam com a tecnologia (HAAG; ARAUJO; VEIT, 2015).
A adaptação educacional fez com que os estudos fossem direcionados para a formulação
de novas teorias em diversas áreas do conhecimento. Na área de sistemas de controle, surgiu a
chamada Teoria Clássica de Controle no domínio da frequência, a qual utilizava ferramentas
matemáticas como as transformadas de Laplace e Fourier. O controle clássico mostrou-se
adequado para resolver os problemas de controle durante e imediatamente após a Segunda
Guerra Mundial. Sua abordagem no domínio da frequência era apropriada para sistemas
lineares invariantes no tempo (LIT) de uma entrada e uma saída (SISO – Single Input and Single
Output) (VILAÇA; SILVEIRA, 2013).
A Teoria de Controle Clássico e suas técnicas gráficas não foram suficientes para sanar
os problemas de controle suscitados pela corrida espacial, iniciada com o lançamento do
Sputnik em 1957 pela extinta URSS. Era necessária uma teoria de controle que pudesse lidar
com equações diferenciais não-lineares em sistemas multivariáveis. Desta forma, passam a ser
10
desenvolvidos novos métodos no domínio do tempo e frequência, os quais recebem um forte
impulso com o desenvolvimento dos computadores digitais, que constituíam a plataforma
tecnológica necessária para resolver os sistemas de equações diferenciais que produzem as leis
de controle. Aparece, então, um novo método de projeto de controle, a Teoria de Controle
Moderno, que passa a representar os sistemas por variáveis de estado.
Adiante no eixo do tempo, até os dias atuais, é possível notar ainda mais a presença de
grandes transformações com impactos colossais sobre a estrutura da nossa sociedade. Desta
vez, o meio digital ocupa o papel principal no processo, sendo raras as áreas do conhecimento
humano nas quais não está presente, alterando assim o enfoque do avanço científico e
tecnológico. Dentre as diversas aplicações que o meio digital pode proporcionar, as de principal
interesse neste trabalho estão focadas para o uso em sistemas de controle e automação via redes
wireless.
1.1. Motivação
Desenvolver um sistema de aquisição de dados de baixo custo é de fato muito
interessante no cenário atual brasileiro de crise financeira e recessão socioeconômica.
Outrossim, com o barateamento de microcontroladores como ATMEGA e ESP8266,
desenvolvidos pelas empresas Atmel® e Espressif Systems®, respectivamente, os
investimentos conseguem ficar mais baratos de forma que o estudo em controle e automação
de sistemas seja menos abalado pelas alterações mercadológicas nacionais, apesar de realmente
ter prejudicado o andamento de várias pesquisas.
Para superar este cenário citado, uma das alternativas é gastar menos dinheiro e, para
reduzir gastos, vias secundárias devem ser assumidas, por exemplo: na obtenção de
instrumentos de pesquisas mais baratos. Porém a compra de instrumentos com menor custo
acarreta trabalho a quem quer economizar. Uma placa de aquisição da Texas Instruments®,
análoga ao ESP8266, pode apresentar elevado grau de robustez e acompanhar softwares de
extrema qualidade e prontos para o uso. Estes fatores serão melhores discutidos no decorrer
deste TCC, por enquanto uma comparação não detalhada de preços será feita para fatores
motivacionais.
A placa NodeMCU V3, também comercializada como NodeMCU 1.0, equipada com o
ESP8266 (detalhes sobre componentes serão explicados mais no capítulo 2 deste TCC) pode
ser encontrada em sites de compras via internet por U$2,76. Para a validação de economia de
11
gastos proposta neste trabalho, a tabela 1 foi desenvolvida comparando-se com os preços
apresentados por outras empresas produtoras de sistemas de equipamentos do tipo Data
Converters via WiFi.
Tabela 1 – Comparativo de preços de placas de aquisição de dados via WiFi
Equipamento/empresa Valor (dólar)
CC3220RM2ARGKR / Texas Instruments™ U$ 10,45 (1)
CC3220SF-LAUNCHXL / Texas Instruments™ U$ 49,99 (1)
NI cDAQ-9191, 1-Slot WI-FI Chassis / National Instruments™ U$ 690,95 (2)
NodeMCU V3 U$ 2,76
Measurement and Computing Não possui
Festo Não possui
ABB Não possui
Honeywell Não possui
Fonte: Autoria própria.
Nota: valores sujeitos a alterações ao passar do tempo.
(1) Disponível no site oficial da Texas Intruments™.
(2) Disponível no site oficial National Instruments™.
A comparação entre os componentes descritos na tabela é difícil de ser feita uma vez
que existem funcionalidades extras acopladas a cada um dos equipamentos. Alguns destes
possuem mais quantidade de pinos de entrada e saída, outros possuem diferenças de limites de
voltagem, divergências de fretes, diferenças entre lojas autorizadas revendedoras etc.
Recomenda-se acessar as referências do trabalho para um melhor detalhamento acerca das
funções de cada um dos dispositivos. Contudo, com a pesquisa de preços realizada é fácil de
concretizar a ideia de que o melhor custo-benefício reside no NodeMCU.
Como foi dito no primeiro parágrafo da introdução, o desenvolvimento do sistema de
aquisição de dados chamado DAQWiFi foi impulsionado como forma de resolver um problema
particular de controle e sensoriamento de um protótipo de uma cadeira de rodas. Percebeu-se
depois que esta resolução encontrada pode ser estendida para várias outras utilidades
condizentes com o sensoriamento e controle remoto que serão melhores explanadas nos
capítulos seguintes. Embora neste TCC exista um tópico especial de motivação,
esporadicamente, explicações relevantes que ratificam os objetivos do trabalho e impulsionam
para trabalhos futuros serão apreciadas.
12
Tudo o que foi explanado converge para justificar as necessidades de vivenciar
processos de aquisição e controle em tempo real e, simultaneamente, observar na tela de um
computador a representação de dados colhidos, oportunizando assim, melhor compreensão não
só do estágio atual do mundo científico, como também do que ocorre no estudo de engenharia
biomédica, quando são realizados exames de análise de imagens e sinais provenientes do corpo
humano, ou nos sistemas de controle em uma indústria, ou ainda na robótica aplicada.
1.2. Objetivos
1.2.1. Objetivo Geral
Desenvolver um sistema de aquisição de dados e de envio de sinais de controle
utilizando WiFi.
1.2.2. Objetivos Específicos
➢ Enriquecer as experiências de aprendizagem propiciando alternativas para o
pesquisador, estudante e/ou profissional compreender e relacionar os resultados obtidos
e os conceitos vinculados à fundamentação teórica do experimento;
➢ Disponibilizar material com designação de propiciar ensino ao uso do sistema
DAQWiFi para fins didáticos e acadêmicos;
➢ Permitir a realização de experimentos que envolvam medições com períodos de
amostragem em frações de segundos o que seria impossível de ser feito manualmente;
➢ Obter informações de experimentos com maior precisão e mais rapidamente;
➢ Explorar experiências que podem demandar grande período de monitoramento, sendo o
computador (ou qualquer outro dispositivo de memória) o responsável pelo
armazenamento dos dados;
➢ Propiciar redução no tempo gasto para a coleta de dados, permitindo que o pesquisador
disponha de maior tempo para desenvolver outras habilidades e competências;
13
➢ Disponibilizar de sistema de aquisição de dados de fácil manutenção e manuseio, sendo
possível consertar o equipamento gastando pouco dinheiro e em menor tempo;
➢ Possibilitar monitoramento remoto de sensores através de múltiplos hosts;
➢ Enviar sinais de comando para atuadores através de múltiplos hosts.
1.3. Revisão Bibliográfica
A maioria do material escrito encontrado sobre o uso do NodeMCU é referente à Internet
das coisas (IoT), poucos são direcionados à área de sistemas de controle, justamente porque
enviar um sinal de comando com precisão, remotamente, requer um empenho maior no
algoritmo de programação. Outro grande empecilho encontrado com clareza em alguns
trabalhos, e de forma oculta em outros, é quanto ao atraso de comunicação, o que passa a ser
um problema para sistemas com dinâmicas mais rápidas, por isso a maioria dos trabalhos é
direcionada ao monitoramento de temperatura e nível de líquido em um tanque.
No trabalho de Souza et al. (2017) é explorada uma forma de melhoria da arquitetura da
rede, construída com o objetivo de prover, através de regras, o gerenciamento proativo das
interações do meio físico. Pode-se perceber neste trabalho uma tentativa de ligar o
sensoriamento remoto à tarefa de controle de forma que comece a atuar quando se chega a um
ponto crítico.
Existem diversos outros trabalhos publicados na Internet que se utilizam do ESP8266,
mas ele ainda carece de registros mais formais e mais abrangentes. Apesar da sua comunidade
de usuários já ser considerável, seu uso no meio acadêmico ainda é pouco definido (OLIVEIRA,
2017).
Em Fernandes et al. (2016), encontra-se um dos trabalhos mais próximos ao que é
realizado neste TCC, onde utilizam o módulo ESP8266 como sistema de aquisição de sinais
ECG processado pelo LabWIEW® através de comunicação WiFi. Existem alguns pontos que
diferenciam os trabalhos, um deles é que neste TCC o programa é capaz tanto de receber dados
dos sensores como enviar, outros pontos são: a utilização do Matlab ao invés do LabVIEW®
(opta-se pelo Matlab para o DAQWiFi, devido a maior familiaridade com a linguagem de
programação e pela facilidade de seu uso no meio acadêmico no LACOS-UFPA); a capacidade
de amostragem do DAQWiFi ser menor do que a frequência de amostragem utilizada no artigo
14
de Fernandes et al. (2016); o DAQWiFi ser capaz de trabalhar sem conexão via Internet,
comunicando-se apenas por meio de sinais de radiofrequência WiFi entre os dispositivos
conectados a ele, ou seja, atualizando o endereço do roteador sem fazer contato com o mundo
externo via Internet.
Tanto no trabalho de Oliveira (2017) como no de Guerra (2016), o objetivo é a
automação residencial via ESP8266. O primeiro trabalho relata como utilizar o
microcontrolador pareado ao celular visando controlar o acendimento de lâmpadas em um
ambiente residencial. O segundo trabalho foca no uso de um protocolo chamado X10 que
estrutura comunicação de envio e recepção de dados através da rede elétrica.
1.4. Contribuições Tecnológicas e Científicas
O cenário vivenciado pelo Laboratório de Controle e Sistemas (LACOS) da UFPA não
apresentava até a escrita deste trabalho uma tecnologia capaz de captar dados de sensores e ao
mesmo tempo enviar sinais de comando remotamente via WiFi. Através da produção contida
neste TCC, foi possível não só realizar isso, como também foi possível utilizar rede WiFi para
fazer a comunicação dos dispositivos de maneira que qualquer pessoa conectada à rede pode
controlar qualquer dispositivo também conectado.
Anteriormente, para fazer experimentos com plantas reais no LACOS-UFPA, usava-se
o sistema DaqDuino (SILVEIRA, 2013) através da porta serial. O DaqDuino se tornou bastante
difundido entre os pesquisadores do laboratório e entre os estudantes de graduação de
engenharia biomédica da UFPA por proporcionar uma alternativa de baixo custo servindo como
auxílio de placa de aquisição e de comandos lógicos PWM.
É importante deixar claro o porquê de existirem contribuições não só tecnológicas como
também científicas neste TCC, isso ocorre devido ao pressuposto de que apesar do sistema
DAQWiFi não apresentar novidades claras de caráter científico, o mesmo será utilizado para
experimentos comprobatórios de algoritmos avançados na área de controle e automação de
sistemas e outras áreas que podem se beneficiar, como: inteligência computacional (algoritmos
genéticos, redes neurais artificiais), Internet das coisas, engenharia aeronáutica,
telecomunicações, sistemas de potência. Portanto, dependendo do ponto de vista, existem
contribuições científicas indiretas.
15
1.5. Estrutura do Trabalho
O Capítulo 1 corresponde à introdução deste trabalho. Logo a seguir, o leitor observará
a seguinte estrutura organizacional dos capítulos:
Capítulo 2: apresenta-se a gama de componentes utilizados, correlacionando-os, para
posteriormente ser explicado o porquê de seu emprego neste trabalho; inicia-se falando sobre
os Arduinos existentes e o microcontrolador ATmega, onde, dentro deste escopo, o DaqDuino
foi criado e justificado; indaga-se, posteriormente, explicações sobre a placa NodeMCU V3 e
as plantas de segunda ordem e o protótipo da cadeira de rodas.
Capítulo 3: descreve-se os aspectos inerentes ao DAQWiFi bem como as tecnologias
por ele utilizadas como o WiFi, o HTTP, as formas de configuração do Arduino IDE, a estrutura
física para realização das comunicações, o uso de bibliotecas do ESP8266 e das funções
orientadas a objetos no Matlab.
Capítulo 4: são apresentados os testes experimentais e os resultados obtidos através do
uso das plantas apresentadas no capítulo 2. Também é possível ter acesso a um programa
simples em Matlab para fazer aquisição de sinais, implementando assim o DAQWiFi.
Capítulo 5: algumas aplicações passivas da utilização do DAQWiFi são explanadas com
intuito de indagar possíveis pesquisas nas respectivas áreas, dentre elas: sistemas de controle,
Internet das coisas, telemedicina e robótica.
Capítulo 6: os resultados são discutidos culminando nas conclusões finais acerca dos
procedimentos utilizados nesta monografia.
16
2 MATERIAIS E MÉTODOS
Para haver coleta de sinais analógicos através de um microcomputador é necessária a
conversão destes sinais para a domínio digital específico que o computador utiliza. Geralmente,
o sinal analógico é a diferença de potencial existente entre os terminais de um sensor, que por
sua vez é convertido numa informação binária composta pelos bits 0 (baixo/low) 1 (alto/high),
que é coletada por uma das portas de comunicação do microcomputador com o mundo externo.
Neste tópico os enfoques serão, principalmente, a infraestrutura e os hardwares
utilizados para a realização deste trabalho. Sempre que possível, o texto explicará os fatores
justificativos do uso dos materiais empregados, apesar de no capítulo 1 já se expor parcialmente
estas características.
2.1 Arduino
“Arduino é uma plataforma eletrônica de código aberto baseada em hardware e software
fáceis de usar. As placas Arduino são capazes de ler entradas - luz em um sensor, um dedo em
um botão ou uma mensagem do Twitter - e transformá-lo em uma saída - ativando um motor,
acendendo um LED, publicando algo online. Você pode informar ao seu conselho o que fazer,
enviando um conjunto de instruções para o microcontrolador no quadro. Para isso, usam-se a
linguagem de programação Arduino e o software Arduino IDE, com base no processamento.”
(ARDUINO, 2018).
As placas Arduino são comumente utilizadas no Brasil como microcontrolador
embarcado de baixo custo. Há várias versões da placa, com por exemplo: Arduino Uno e
Arduino Nano. Com o intuito de se familiarizar e obter informações e características visuais
das placas as figuras 1 e 2 são mostradas.
17
Figura 1 - Arduino Uno.
Fonte: https://www.filipeflop.com/produto/placa-uno-r3-cabo-usb-para-arduino/
Figura 2 – Arduino Nano
Fonte: https://www.robotshop.com/uk/arduino-nan-v-3.html.
O Arduino (generalização para as diversas placas Arduino existentes) não foi usado
diretamente neste TCC, porém o uso dele no LACOS-UFPA foi um dos principais fatores que
impulsionaram a criação do sistema DAQWiFi, pois, nesta ocasião, o Arduino costuma ser
utilizado por meio de um programa chamado DaqDuino (SILVEIRA, 2015), desenvolvido no
LACOS e GCS (Grupo de Controle de Sistemas) da UDESC e disponível no site oficial do
Mathworks, que possui função de aquisição de dados e envio de sinais de comando utilizando
a porta serial USB do computador. Torna-se de fácil percepção a correlação entre os programas
DaqDuino e DAQWiFi, sendo o segundo impulsionado pelo primeiro, o que recai na motivação
sobre contribuição tecnológica que este TCC propõe. Por enquanto, a descrição dos programas
de aquisição de dados não é o enfoque, ao invés disso, os aspectos de hardware do Arduino
serão abordados com o intuito de oferecer posteriormente comparações entre Arduino e
NodeMCU e as dificuldades enfrentadas devido às diferenças entre eles.
18
2.2 DaqDuino
Criado em 2013, o DaqDuino é um dispositivo de aquisição de dados (DAQ) baseado
em Arduino para Matlab e Scilab. Foi construído para permitir práticas de sistemas controlados
por computador em ambientes universitários de baixo orçamento. O DaqDuino funciona como
qualquer dispositivo USB DAQ, mas o custo total é inferior a U$ 10.00, que é o custo de um
Arduino Nano (SILVEIRA, 2013). A placa do Arduino é programada para realizar
comunicação serial através de 4 (quatro) principais funções:
a) Daqduino_start(“COMPORT”): inicia o programa e estabelece conexão com a porta
serial onde o Arduino for conectado;
b) [y]=Daqduino_read: recebe em “y” os valores provenientes dos sensores nas portas
analógicas do Arduino;
c) Daqduino_write(u,Ts): envia um sinal de comando “u” a cada “Ts” segundos;
d) Daqduino_end: finaliza a utilização do DaqDuino.
2.3 ESP8266
O ESP8266 é um microcontrolador com sistema de comunicação WiFi próprio
embutido, o que o torna diferente de outros microprocessadores que necessitam de Shields
WiFi, como o Arduino. Produzido pela empresa Espressif Systems, o ESP8266 se tornou
bastante difundido a partir de 2014, ano de início de sua venda no mercado. Todavia, existem
poucas informações detalhadas disponíveis sobre ele no meio acadêmico.
A literatura mais completa (que pode ser verificada ao longo da pesquisa deste trabalho)
sobre o ESP8266 e suas diversas versões até a data de escrita deste TCC está disponível no
“Kolban’s Book on ESP8266” (KOLBAN, 2015). Este livro demonstra como programar o
ESP8266, quais são suas principais utilidades e como funciona a eletrônica necessária para
realizar projetos. Além do livro, existe aula paga para instruções de uso do ESP8266
(SCHWARTZ, 2015). Esta aula é virtual e no período atual custa U$27,00 na versão Standard
e U$34,00 na versão Premiun.
19
Como dito anteriormente, a principal diferencial entre o ESP8266 e o Arduino é de no
primeiro existir um microprocessador com tecnologia WiFi e, acrescentando, os 17 pinos
GPIOs podem ser configurados para entrada e saída de dados. Outras características inerentes
ao WiFi do ESP8266 são:
a) o espectro de frequência ISM utilizado é 2,4GHz;
b) suporta modo de segurança WPA e WPA2;
c) possui padrões de rede wireless: 802.11 b/g/n/d/e/i/k/;
d) pode ser Station, SoftAP ou Station + SoftAP (isto permite a utilização do
dispositivo tanto como roteador, como cliente-servidor).
Existem vários tipos de modelos do ESP8266, sendo diferenciados apenas pelo número
de GPIOs disponíveis, memória do hardware e espaço entre os pinos. O modelo utilizado pelo
NodeMCU 1.0 é o ESP-12 – o modelo que possui mais pinos, atualmente -, contudo outros
também podem ser encontrados no mercado, como o ESP-1 e o ESP Olimex.
2.4 ESP-12
Através do ESP-12, exemplificado na figura 3, é possível ativar diversos dispositivos
ao “mesmo tempo” por meio dos pinos que estão especificados no quadro 1. É necessário
salientar que os pinos GPIOs podem ser utilizados tanto para entrada como para saída do
microcontrolador. É importante lembrar também que no trabalho são usadas algumas siglas
típicas que englobam conceitos da computação, as quais podem ser encontradas facilmente
através de pesquisas em sites de buscas e em livros didáticos de engenharias da computação e
de telecomunicações.
20
Figura 3 – ESP-12
Fonte: http://www.alselectro.com/wifi-esp8266-esp-12-demo-board-rs232.htm.
Quadro 1 - Pinos do ESP-12 tiradas do (livro)
Nome Descrição
VCC 3.3V
GPIO 13 Pode ser usado como SPI MOSI
GPIO 12 Pode ser usado como SPI MOSI
GPIO 14 Pode ser usado como SPI MOSI
GPIO 16
CH PD
Enable do ESP8266
Nível lógico 1 - Ativado
Nível lógico 0 – Desativado
ADC Entrada analógico para digital
Reset 1 - Normal 0 – Reset
TXD Tramissão serial
RXD Recepção serial
GPIO 4 GPIO normal
GPIO 5 GPIO normal
GPIO 0
Deve estar em nível lógico 1 para inicialização do programa(boot
mode) e 0 para carregar o programa (flash mode)
GPIO 2
deve estar em nível lógico 1 para inicialização do programa (boot
mode)
GPIO 15
Deve estar em nível lógico 0 para carregar o programa (flash mode)
e para inicialização do programa (boot mode)
GND Terra
Fonte: (KOLBAN, 2015).
21
2.5 NodeMCU V3
Todo sistema embarcado é composto por uma unidade de processamento, que é um
circuito integrado, fixado a uma placa de circuito impresso. Os sistemas embarcados possuem
uma capacidade de processamento de informações vinda de um software que está sendo
processado internamente nessa unidade, logo, o software está embarcado na unidade de
processamento. Todo software embarcado é classificado de firmware (BALL, 2005).
O firmware é o conjunto de instruções operacionais programadas diretamente no
hardware de um equipamento eletrônico. O NodeMCU é um firmware de código aberto baseado
no ESP8266, fazendo com que o microcontrolador possa ser programado nas linguagens Lua e
Arduino, sendo a última utilizada para desenvolver o sistema proposto neste TCC.
A placa NodeMCU 1.0, possui a disposição de pinos conforme exposto na figura 4.
Figura 4 – NodeMCU V3.
Fonte: https://www.marginallyclever.com/product/nodemcu-lua-wifi-v3-development-board-esp8266/.
A tensão de operação do ESP8266 é de 0V à 3,3V tanto para a entrada de sinais como
para saída de sinais PWM, o que difere do Arduino que varia de 0V à 5V. Para entender melhor
quais são as principais diferenças de hardware entre o NodeMCU e o Arduino (por exemplo, o
Arduino Uno), o quadro 2 foi realizado.
22
Quadro 2 – Comparativo entre NodeMCU 1.0 e Arduino UNO.
NodeMCU 1.0 ARDUINO UNO
Tensão de operação 3,3V 5V
Alimentação 3,3V à 5V 7V à 12V
Memória Flash 4 MB 32 KB
Resolução conversor A/D 1024 níveis (10 bits) 1024 níveis (10 bits)
Resolução conversor D/A 1024 níveis (10 bits) 256 (8 bits)
Portas PWM Até 9 6
Processador Tensilica L106 32bits ATmega 328
Fonte: Autoria própria.
2.6 Roteador
Neste TCC, foram testados dois tipos de roteamento cujos papeis são de responsáveis
pela interconexão entre o NodeMCU e o computador: o roteamento proveniente do celular
Moto G5 Plus e o roteador Cisco DPC3925. O objetivo da utilização de ambos reside em fazer
comparações quanto ao tempo de atraso de comunicação, mobilidade do roteador, área de
abrangência, limites de hotspots e principalmente, desempenho e taxa de queda de conexão.
2.7 Circuito elétrico com dinâmica subamortecida
O intuito de usar uma placa de segunda ordem para realizar a primeira aquisição de
dados do DAQWiFi é justificado devido a alguns sistemas existentes na natureza apresentarem
respostas com característica subamortecida, proporcionando generalizações dos fenômenos
físicos envolvidos e dos modelos matemáticos estudados na disciplina controle de sistemas. Por
exemplo, a dinâmica apresentada por uma planta de bancada pode ser correlacionada à dinâmica
de grandes máquinas do mundo real, assim como também o movimento em um grau de
liberdade de um quadrirrotor pode possuir o mesmo tipo de resposta a um estímulo quando
comparado a um sistema de segunda ordem (NOGUEIRA; SILVEIRA, 2016).
O primeiro passo a ser dado para a implementação do DAQWiFi é o teste de aquisição
em plantas SISO. A planta escolhida para esta tarefa foi o circuito eletrônico de segunda ordem,
que é representado pelo esquemático da figura 6, o qual tem a finalidade de possibilitar uma
reprodução dos testes feitos neste TCC. Uma imagem real da planta utilizada é mostrada na
23
figura 6, onde é possível ver a simplicidade do uso da planta, sendo necessárias três conexões:
sinal de comando (PWM), sinal de saída (resposta do sistema) e tensão de aterramento (ground).
Percebe-se a dinâmica de segunda ordem do sistema devido a ordem do denominador
da função de transferência mostrada na equação 1, que representa o esquemático da figura 5,
onde: 𝑅 = 560𝑘Ω; 𝑅1 = 2 × 560𝑘Ω; 𝐶 = 0,1𝜇𝐹.
Ainda sobre o diagrama mostrado na figura 5, os estágios que adicionam polos ao
sistema são representados pelos amplificadores operacionais em conjunto com seus
componentes. Para entender a elaboração dos estágios de amplificação que geram polos na
função de transferência a obra de Ogata (2003) pode ser consultada.
𝐺( 𝑠) =
1
𝑅𝑅1 𝐶2
𝑠2+(
1
𝑅1 𝐶
)𝑠+
1
𝑅𝑅1 𝐶2
(1)
Figura 5 – Diagrama de circuito do processo eletrônico subamortecido.
Fonte: Material de aula da disciplina Controle Digital (SILVEIRA, 2015).
Figura 6 – Processo eletrônico subamortecido.
Fonte: Material de aula da disciplina Controle Digital (SILVEIRA, 2015).
24
2.8 Kit protótipo cadeira de rodas
A movimentação de uma cadeira de rodas depende do algoritmo de controle e
automação que está sendo executado no microcontrolador. Acrescentando analogia, as funções
desempenhadas por um protótipo de cadeira de rodas podem ser estendidas a uma cadeira de
rodas real. Além dos sensores e atuadores da cadeira serem ideais para os testes do programa
DAQWifi versão MIMO, o próprio uso de algoritmos na cadeira expõe soluções importantes
para a população brasileira e mundial para qualquer que seja o cadeirante.
O uso de cadeira de rodas abrange não só pessoas com deficiência física, como também
idosos e pessoas que sofreram trauma físico (fratura, luxação). Ao decorrer dos anos, além do
aumento de natalidade da população mundial, a longevidade do ser humano está cada vez mais
presente. A população idosa nunca cresceu tanto e nunca foi tão numerosa. Atrelado a isto,
doenças típicas de cunho geriátrico tem se tornado mais comuns na sociedade atual. Com intuito
de apresentar projeção de envelhecimento através de pirâmides etárias da população brasileira
e paraense nos anos 2010, 2020 e 2030, respectivamente, a figura 7 é mostrada. É possível
perceber o achatamento da pirâmide devido a diminuição de natalidade e o aumento da idade
de mortalidade. As mudanças nas pirâmides ocorrem, pois, a população está mais consciente
quanto ao custo que um filho carrega consigo e há um aumento no uso de técnicas
contraceptivas e na melhoria do fornecimento a saúde acompanhado de inovações científicas
nesta área.
O parágrafo anterior pode parecer desconectado com os objetivos do trabalho, porém o
que se pretende expor são os aspectos iniciais justificadores dos resultados do TCC. O parágrafo
anterior condiz com a motivação para o uso do protótipo da cadeira de rodas que culminou no
desenvolvimento do sistema embarcado DAQWiFi. Ao mesmo tempo que as propostas são
justificadas, nota-se uma aplicação direta do DAQWiFi que será melhor explicada no capítulo
3, assim como, neste referido capítulo serão incluídas outras aplicações.
Para entender a descrição do programa DAQWiFi versão MIMO será necessária uma
breve apresentação dos componentes integrantes da cadeira dizendo como os mesmos
funcionam.
25
Figura 7 – Projeção das pirâmides etárias no estado do Pará nos anos 2010, 2020 e 2030.
Fonte: IBGE.
2.9 Robô Móvel
O Robô Móvel corresponde ao protótipo da cadeira de rodas, o qual é composto pelo kit
de estrutura física, dois encoders, uma ponte H, duas baterias de 9V, uma placa NodeMCU V3,
um sensor ultrassônico de distância, um regulador de tensão e dois motores DC. Através deste
hardware citado é possível estabelecer conexão WiFi com o robô móvel. O esquema
organizacional de disposição dos componentes do protótipo é mostrado na figura 8. A seguir
será explicado o funcionamento mais detalhado dos componentes do hardware.
Figura 8 – Esquema organizacional dos componentes do protótipo da cadeira de rodas.
Fonte: Autoria própria.
26
2.9.1 Ponte H (L9110s)
O módulo L9110s de dois canais é uma placa compacta que pode ser usada para acionar
motores pequenos. Este módulo possui dois chips de driver de motor independentes que podem
conduzir até 800mA de corrente contínua. A placa pode ser operada de 2,5V à 12V permitindo
desta forma o uso acoplado a microcontroladores de 3,3V e 5V.
Um sinal de modulação de largura de pulso (PWM) é usado para controlar a velocidade
de um motor, enquanto um sinal digital do tipo alto (HIGH) ou baixo (LOW) determina o
sentido horário ou anti-horário de rotação do motor. O L9110s funciona com lógica invertida,
portanto os valores máximos de voltagem aplicada correspondem aos valores mínimos de bits.
O diagrama esquemático da ponte H é exposto na figura 9 e uma amostra do componente é
mostrado na figura 10.
Figura 9 – Diagrama de circuito esquemático do módulo L9110s.
Fonte: http://me.web2.ncut.edu.tw/ezfiles/39/1039/img/617/L9110_2_CHANNEL_MOTOR_DRIVER.pdf.
27
Figura 10 – Dispositivo físico referente ao módulo L9110s
Fonte: http://me.web2.ncut.edu.tw/ezfiles/39/1039/img/617/L9110_2_CHANNEL_MOTOR_DRIVER.pdf.
2.9.2 Sonar (Ultrasonic Ranging Module HC-SR04)
O módulo de Ultrassom utilizado neste projeto é capaz de medir distâncias entre 2cm e
400cm. A precisão do sensor varia a cada 3mm, que conta com módulos transmissores,
receptores e circuitos de controle. A alimentação do dispositivo de ultrassom é de 5V.
A seguir será descrito o princípio básico de funcionamento do sensor:
a) O pino trigger manda um sinal (onda mecânica) de aproximadamente 10us;
b) O módulo automaticamente envia um ciclo de oito ondas de 40kHz e detecta se há um
sinal de pulso na volta;
c) Caso o sinal volte em alto nível, significa que a distância entre o sensor e um obstáculo
é proporcional ao atraso entre envio e recepção do sinal.
Para ilustrar o funcionamento que acabou de ser descrito, as figuras 11 e 12 são
mostradas.
28
Figura 11 – Sensor Ultrassônico.
Fonte: http://www.micropik.com/PDF/HCSR04.pdf.
Figura 12 – Esquema de funcionamento do sensor ultrassônico.
Fonte: http://www.micropik.com/PDF/HCSR04.pdf.
29
3 DESCRIÇÃO DO DAQWIFI
Neste capítulo o foco será a descrição do DAQWiFi, explicando como as
implementações foram feitas e como adaptar as versões de acordo com o número de variáveis
para o caso MIMO, tanto no Matlab como no Arduino IDE.
Apesar de existirem os programas completos no apêndice da monografia, optou-se por
expor trechos dos programas na própria estrutura do capítulo para que o leitor saiba exatamente
onde fazer as alterações no programa de acordo com seus objetivos e para facilitar a leitura, já
que a toda hora serão feitas referências às linhas dos programas. Outrossim, esquemas da
operação do sistema DAQWiFi serão apresentados em concordância com o texto descrito neste
capítulo.
3.1 WiFi
Uma das principais tecnologias utilizada na construção de redes sem fio de baixo custo
para a conexão com a internet, atualmente, é a família de protocolos 802.11 IEEE, também
conhecida entre muitos como WiFi. A família 802.11 de protocolos de transmissão por rádio
(MACFARLAN; WONG, 2003) -por exemplo: 802.11a, 802.11b e 802.11g - tem incrível
popularidade no mundo atual. Através da implementação de um conjunto comum de protocolos,
os fabricantes de todo o mundo conseguiram construir equipamentos altamente interoperáveis.
Esta decisão provou ser significativa para a rápida expansão da indústria e consumidores da
tecnologia, que podem utilizar um equipamento que implemente o protocolo 802.11 sem temer
a prisão a um determinado fornecedor. Como resultado, os consumidores são capazes de
comprar equipamentos de baixo custo em um volume que tem beneficiado os fabricantes. Caso
os fabricantes tivessem optado por implementar, cada um, protocolos proprietários, as redes
sem fio não seriam tão baratas e ubíquas – onipresentes - como nos dias de hoje (WNDW,
2008).
WiFi é uma abreviação de “Wireless Fidelity”, que significa fidelidade sem fio, em
português. Wireless é uma tecnologia de comunicação que não faz uso de cabos e, geralmente,
é transmitida através de frequências de rádio. O WiFi é um tipo de rede wireless que utiliza
frequências na faixa de 2,4GHz para transmissão de dados.
30
O WiFi não necessita de licença para instalação e operação. Para se acessar uma rede
WiFi é necessário estar na área de abrangência de um ponto de acesso, chamado de hotspot, ou
também em locais públicos que possuem WiFi. Para utilizar a tecnologia, deve-se possuir um
dispositivo móvel, como computador portátil, tablet ou celular, para poder acessar a Internet.
3.2 O Protocolo de Transferência de Hipertexto (HTTP)
Primordialmente usado por pesquisadores, acadêmicos e estudantes universitários
durante a década de 1990, a Internet servia para realizar comunicação entre dispositivos
hospedeiros locais e hospedeiros remotos. Durante a época referida, a Internet, como forma de
comunicação emergente, começou a ficar conhecida devido a uma fundamental aplicação, a
criação da World Wide Web (BERNERS-LEE et al., 1994). Com a criação da Web, a vida de
muitas pessoas ao redor do mundo mudou drasticamente, a forma de transmissão de dados entre
muitos dispositivos foi redirecionada para a utilização da Internet (WERTHEIN, 2000).
O Protocolo de Transferência de Hipertexto (em inglês, Hypertext Transfer Protocol) –
é definido no RFC 1945 e no RFC 2616, disponíveis na IETF (Internet Engineering Task
Force). O HTTP faz parte da camada de aplicação e é o responsável principal pelo
funcionamento da Web. O protocolo trabalha através da troca de mensagens entre os sistemas
conectados. Estas mensagens são padronizadas e especificam como o servidor e cliente se
comunicarão.
O HTTP usa o TCP como seu protocolo de transporte subjacente (em vez de rodar o
UDP). O cliente HTTP primeiramente inicia uma conexão TCP com o servidor. Uma vez
estabelecida a conexão, os processos do browser e do servidor acessam o TCP por meio de suas
interfaces sockets (KUROSE; ROSS, 2010).
Para requisitar solicitações de comunicação o HTTP utiliza comandos convencionados
mostrados no quadro 3, onde também são explicadas as funcionalidades dos comandos.
O método GET solicita ao servidor que envie à página, ou objeto, no caso mais genérico,
apenas um arquivo. A página é codificada em MIME (Multipurpose Internet Mail Extensions)
de forma adequada. A grande maioria das solicitações a servidores da Web tem a forma de
métodos GET.
O método PUT é o inverso do GET: ele grava a página ao invés de lê-la. Esse método
possibilita a criação de um conjunto de páginas da Web em um servidor remoto. O corpo da
solicitação contém a página, que pode ser codificada com o uso de MIME. Nesse caso, as linhas
31
após PUT, podem incluir “Content-Type” e cabeçalho de autenticação, para demonstrar que o
cliente de fato tem permissão para executar a operação solicitada.
Quadro 3 – Métodos de requisição do HTTP.
Método Descrição
GET Solicita a leitura de uma página da Web
HEAD Solicita a leitura de um cabeçalho de página da Web
PUT Solicita o armazenamento de uma página da Web
POST Acrescenta a um recurso (por exemplo, uma página da Web)
DELETE Remove a página da Web
TRACE Ecoa a solicitação recebida
CONNECT Reservado para uso futuro
OPTIONS Consulta certas opções
Fonte: (TANENBAUM, 2003).
O método PUT é o inverso de GET: ele grava a página ao invés de lê-la. Esse método
possibilita a criação de um conjunto de páginas da Web em um servidor remoto. O corpo da
solicitação contém a página, que pode ser codificada com o uso de MIME. Nesse caso, as linhas
após PUT, podem incluir “Content-Type” e cabeçalho de autenticação, para demonstrar que o
cliente de fato tem permissão para executar a operação solicitada.
Um pouco semelhante ao PUT é o método POST, que também transporta um URL. No
entanto, em vez de substituir os dados existentes, os novos dados são "anexados" a ele, em um
sentido mais genérico. Enviar uma mensagem a um newsgroup ou incluir um arquivo em um
BBS (Bulletin Board System) são dois exemplos de anexação nesse contexto.
Os métodos supracitados no texto foram os únicos usados neste trabalho, não houve
necessidade de empregar outros, porém é importante citar outros métodos para recrutar
possíveis opiniões de melhorias do DAQWiFi.
3.3 Configuração do Arduino IDE
A programação da placa NodeMCU é feita através da IDE do Arduino. Basicamente o
programa configura uma conexão WiFi através da porta serial para que se possa fazer uso do
ESP8266 sem mais precisar do uso de comport. As informações são enviadas para URL
responsável pela conexão entre o computador, o roteador e o ESP8266, conforme ilustrado na
figura 13.
32
Figura 13 - Fluxo de dados entre os dispositivos que utilizam o DAQWiFi.
Fonte: Autoria própria.
Como dito anteriormente, o DaqDuino foi usado como referência para versão
DAQWiFi. As quatro principais funções do Daqduino (daqduino_start, daqduino_write,
daqduino_read e daqduino_end) foram alteradas e tornaram-se apenas duas, cujos nomes são
daqWifi_read e daqWifi_write. Ao invés de fazer iterações que fazem requisitos da porta serial,
agora os requisitos são através do endereço IP comum aos dispositivos.
Para que o NodeMCU V3 possa ser programado utilizando a linguagem padrão do
Arduino é necessário adicionar à placa as configurações de programação via Arduino IDE. Esta
tarefa é feita através do gerenciador de placas, onde se deve incluir os dispositivos que aceitam
o ESP8266. Os passos são:
a) Acessar: Arquivo > Preferências;
b) Adicionar a URL http://arduino.esp8266.com/stable/package_esp8266com_index.json
em URLs adicionais de Gerenciadores de Placas e clicar em “Ok”;
c) Acessar: Ferramentas > Placa > Gerenciador de Placas;
d) Selecionar “esp8266 by ESP8266 Community” e concluir a instalação.
3.4 Web Server (Biblioteca ESP8266WebServer)
As situações descritas nesta seção são baseadas no programa disponível no apêndice C,
aludindo as funções empregadas para desenvolvimento do DAQWiFi no Arduino IDE.
A classe ESP8266WebServer possui a estrutura de funções necessárias para a
implementação de um servidor HTTP. Para que a comunicação através da classe citada exista
é necessário indicar o número da porta TCP que será ouvida. O padrão para o HTTP utilizada
33
pelos navegadores é a porta 80. A comunicação através da porta 80 é o primeiro passo para
estabelecer a conexão, após isso, serão necessárias outras configurações para que o programa
possa rodar embarcado e consiga realizar alterações e análise de dados em tempo real.
Uma vez que o objeto foi criado, uma ou mais funções de retorno de chamada que serão
invocadas quando uma conexão do navegador for recebida são definidas. A função chamada
“on()” é usada para registrar caminhos em uma URL que é utilizada conforme conveniência do
programador. Em outras palavras, essas funções de retorno de chamada são inseridas no
caminho de URL solicitado pelo navegador (KOLBANS, 2014).
Sabe-se que a função “on()” aloca e gera um caminho URL. Porém, quem escolhe o
endereço IP que também fará parte da URL é o próprio dispositivo de roteamento quando os
comandos de solicitação de conexão e alocação de endereço forem chamados na função “void
setup()”. Um exemplo de endereço IP alocado pode ser 192.168.1.30, onde os dois caminhos
utilizados seriam http://192.168.1.30/input/ e http://192.168.1.30/output/: o primeiro dedicado
à saída do sistema físico e entrada da placa NodeMCU; e o segundo responsável pelos sinais de
controle correspondente a entrada do sistema físico e saída da placa. É conveniente lembrar que
o endereço IP que entrará na URL não é fixo, basta uma reinicialização do roteador do sinal
WiFi para que o endereço IP seja alterado e o URL seja outro.
Uma vez explicada esta parte principal, agora o objetivo é demonstrar como o programa
embarcado na placa interage com o Web Server via WiFi. Para isso, é necessário saber como
algumas outras funções da classe ESP8266WebServer funcionam.
Depois de rodar o programa no Arduino IDE o roteador reservará um endereço IP para
alocar as operações realizadas entre Matlab e o ESP8266. Este processo é realizado somente
uma vez. Qualquer uso seguinte não necessitará carregar a placa novamente, com exceção de
quando houver falhas no roteador, por exemplo, falta de energia, reinicialização do roteador,
mal funcionamento. Existindo alguma destas situações citadas, o roteador alocará outro
endereço IP para ser usado, o qual será necessário para o funcionamento das funções do
DAQWiFi no Matlab.
Na figura 14, é possível acompanhar trechos do programa onde podem ser realizadas as
operações de envios da função InputSignal(). As alterações entre sistemas SISO e MIMO são
fáceis de fazer, porém como um dos objetivos deste TCC é de orientar o uso do DAQWiFi por
alunos de engenharia, torna-se importante um exemplo explicativo. A quantidade de varáveis
enviadas para o endereço URL está mostrado na linha 43 da figura 15. Para adicionar outras
variáveis ao programa basta declará-las, realizar conversão de numeral para string e acrescentar
34
ao envio descrito no método serve.send(). Após esta etapa, basta configurar as funções no
Matlab para que possam ser utilizadas com as novas variáveis.
Figura 14 – Trecho do programa DAQWiFi embarcado no NodeMCU 1.0.
Fonte: Autoria própria.
3.5 Programa Matlab
O DAQWiFi possui duas funções principais para fazer o envio e a recepção de dados
no Matlab: a daqWifi_read e a daqWifi_write. O papel da primeira é ler Strings de dados
provenientes de sensores (ou outros dispositivos acoplados) disponíveis no ESP8266 e depois
converter as Strings em números. A segunda tem por objetivo enviar sinais através de Strings
para o NodeMCU, para isso, os dados numéricos no Matlab são convertidos para Strings. A
seguir, será feita uma breve descrição de como funcionam as funções citadas neste parágrafo.
As funções daqWifi_read e daqWifi_write funcionam através das funções do Matlab
webread() e webwrite(), respectivamente, as quais podem ser usadas a partir da versão 2014 do
Matlab. Os argumentos que estas funções utilizam são: o endereço URL onde estão os dados,
os nomes e valores respectivos dos dados requeridos, o tipo de requisição (ex.: GET, POST,
PUT) e o tipo de dados (ex.: texto, imagem, áudio).
As implementações das funções que são usadas no DAQWiFi podem ser consultadas
nos apêndices A e B, onde o primeiro corresponde a função daqWifi_read e o segundo ao
daqWifi_write. Para maiores informações basta digitar o comando help do Matlab, onde as
funções supracitadas estão bem descritas.
35
4 TESTES E RESULTADOS
Um programa simples de aquisição de dados em Matlab pode ser visto no apêndice D.
Tal programa contém o código que foi usado para a obtenção de dados a fim de testar a
eficiência do DAQWiFi. A ativação do protótipo da cadeira de rodas também foi feita para
realizar testes do tipo MIMO do programa. Os dois tipos de roteadores - moto G5 Plus e Cisco
DPC3925 - foram utilizados para avaliar o desempenho dos mesmos para esta aplicação.
É importante salientar que, nesta primeira versão do programa, a parte de comunicação
não foi destrinchada minimamente de forma que os protocolos envolvidos talvez não fossem os
melhores para serem usados em tarefas de controle de sistemas, as quais necessitam de
frequência de amostragem elevada dependendo da planta a ser controlada. Devido a isso, foram
realizados testes de funcionamento do programa para aquisição de dados e envio de sinais de
comando no Matlab. Um loop de envio e recepção do DAQWiFi dura em média 0,4 segundos,
fazendo com que a frequência máxima de amostragem possível nesta primeira versão do
DAQWiFi seja de 2,5Hz. Porém, vale frisar que esta capacidade de amostragem foi realizada
para controle de sistemas, sendo apenas uma das aplicações possíveis do programa. Quando se
deseja apenas realizar a aquisição de sinais sem ser necessário o envio de sinal de comando, o
período de amostragem se reduz ao utilizar apenas a função daqWifi_read.
Os elementos do protótipo da cadeira de rodas, descrevidos no capítulo 2, foram
montados e testados através do sistema DAQWiFi. O protótipo é mostrado na figura 15, onde
é possível perceber a presença de um Arduino UNO que está sendo usado somente para fins de
regulação de tensão e não de controle do sistema, tampouco de aquisição de sinais.
A resposta do circuito de dinâmica subamortecida, relatado na subseção 2.4, foi testado
através de resposta ao degrau. A resposta ao sinal de comando degrau de magnitude 1 (um) de
duração 5,5 segundos e, em seguida, outro degrau de magnitude 0,5 é mostrada na figura 16.
Estes procedimentos foram realizados várias vezes fazendo com que os gráficos das figuras 17
e 18 fossem plotados.
Para realizar a medição do delay de comunicação os comandos “tic” e “toc” do Matlab
foram utilizados, os quais iniciam e terminam a contagem do tempo, respectivamente, a cada
loop do programa. É possível perceber, ainda, através dos gráficos gerados, picos de atraso de
comunicação, os quais variaram muito nos diversos testes realizados, porém não sendo maiores
que um segundo, com exceção de quando o próprio computador apresentava problemas de
desempenho, ao reproduzir o programa em Matlab.
36
Os sinais provenientes dos sensores do protótipo da cadeira de rodas foram gerados,
comprovando a funcionalidade do sistema DAQWiFi versão MIMO. Para exemplificar os
resultados, o sensor ultrassônico, acoplado ao protótipo, foi posto a, aproximadamente, meio
metro de distância e, em seguida, aproximado lentamente a um anteparo, conforme exibido na
figura 20. A medição da velocidade de rotação das rodas do protótipo também foi realizada.
Contudo, uma grande magnitude de ruído foi vista nos gráficos gerados, que adicionados à
inconstância de atrasos de comunicação, tornou as representações gráficas difíceis de serem
explicadas. Optou-se por omitir os resultados de medições de velocidade das rodas por meio
dos encoders, porém com a certeza do funcionamento dos mesmos.
Testes de respostas e análise de atraso de comunicação também foram feitos para o caso
MIMO, obtendo-se o mesmo perfil de resultados mostrados nas figuras 17 e 18. Notou-se a
diminuição de picos de atraso ao se utilizar o aparelho de roteamento da marca Cisco,
supostamente devido a sua maior robustez comparada ao roteamento do celular. Constatou-se
também que a distância e a quantidade de dispositivos conectados ao roteador também
influência na taxa de transmissão de dados.
Figura 15 – Protótipo da cadeira de rodas.
Fonte: Autoria própria.
37
Figura 16 – Resposta do sistema subamortecido.
Fonte: Autoria própria.
Figura 17 – Atraso de comunicação para o roteador do Moto G5 Plus.
Fonte: Autoria própria.
38
Figura 18 – Atraso de comunicação para o roteador Cisco DPC3925.
Fonte: Autoria própria.
Figura 19 – Teste do sensor ultrassônico do protótipo da cadeira de rodas.
Fonte: Autoria própria.
39
5 APLICAÇÕES PARA O DAQWIFI
Neste capítulo algumas aplicações possíveis para o sistema DAQWiFi serão
explicitadas, as quais não estarão necessariamente testadas e avaliadas nesta monografia,
contudo há expectativa de que seja possível realizá-las. Este capítulo não deixa de representar
os possíveis trabalhos futuros que podem ser gerados através deste TCC, porém ao invés de
serem direcionados em pontos específicos de melhorias no programa, tais trabalhos servem para
indagar ideias para a utilização do DAQWiFi.
5.1 Internet das Coisas
A Internet das Coisas (IoT) é a principal aplicação presente nas referências
bibliográficas sobre o uso do ESP8266. O termo “Internet of Things” surgiu em setembro de
1999 (MANCINI, 2017), onde o ambiente em que sistemas embarcados funcionando com
múltiplos sensores em tempo real se conectavam à Internet, recaindo assim em uma definição:
A IoT é uma rede ou um sistema de dispositivos portadores de sensores capazes de adquirir e
transmitir dados através de conexões via Internet.
O surgimento da IoT incide em possibilidades de controle remoto de diversos
dispositivos e não somente como troca de mensagens e informações, permitindo assim a atuação
de um novo horizonte na computação. É interessante notar que tudo o que foi falado na
introdução sobre disponibilidade de novas tecnologias e evolução industrial, mais o que vem
sendo desenvolvido neste TCC, apontam em despertar a atenção para a capacidade de
interconexão de dispositivos através de softwares inteligentes. Logo, é possível enxergar a
Internet das Coisas como um tópico mais abrangente dos objetivos iniciais deste trabalho (em
controle de sistemas) e de outros assuntos que também serão explanados adiante, como:
Telemedicina e Robótica.
Existem várias aplicações dentro da IoT, algumas delas estão ilustradas na figura 20,
onde a nuvem é metaforizada como um sistema para múltiplas conexões remotas utilizadoras
de redes wireless. Obviamente, a grande quantidade de dados disponíveis através dos sensores
necessitará de tratamento para serem reconhecidos pelos softwares gerenciadores, logo se
enxergam limites ao uso do DAQWiFi via ESP8266. Um deles é que o NodeMCU não suporta
40
a demanda para sistemas que necessitam mais de 5 conexões TCP/IP devido a limites de
hardware.
Figura 20 – Esquema conceitual de Internet das coisas (IoT).
Fonte: https://www.i-scoop.eu/internet-of-things/
5.2 Telemedicina e auxílio remoto à saúde (Healthcare)
A telemedicina, resumidamente, quer dizer uso da tecnologia para prover saúde nas
situações em que há distância entre quem realiza o serviço e o paciente. Vários sinônimos foram
surgindo para o termo telemedicina como Telecare, Telessaúde, e-Health e Telehealth, porém
todos possuem o mesmo conceito fundamental de monitoramento remoto na medicina. Outro
termo que merece atenção para sanar as dúvidas pertinentes a nomenclatura na área da saúde é
o Helthcare, que as empresas de tecnologia têm adotado para categorizar os dispositivos e
qualquer outra tecnologia voltada para área da saúde (WEN, 2008).
As aplicações da Telemedicina são variadas. A tecnologia tem sido aplicada em muitas
especialidades da medicina convencional (adiciona-se o prefixo “Tele” junto ao nome das
especialidades, indicando o uso da Telemedicina), entretanto com níveis de maturação e
desenvolvimento diferentes para cada área.
Telerradiologia e Telepatologia apresentam-se como as duas especialidades mais
aplicadas dentro da Telemedicina atualmente. Algumas razões são apontadas como
justificativas a este fato. Tipicamente, radiologistas e patologistas não interagem diretamente
com o paciente, trabalhando, na maioria das vezes, apenas com o diagnóstico através de
imagens. Desta forma, a prática da Telemedicina não difere ou altera a forma com que estes
profissionais estão habituados a trabalhar. Este fato certamente contribuiu para a aceitabilidade
41
destas especialidades dentro da Telemedicina. É importante ressaltar que a maneira como as
imagens chegam ao Radiologista ou ao Patologista, e como estas são apresentadas, pode ser
diferente em Telemedicina (URTIGA; LOUZADA; COSTA, 2004).
Além do uso da telemedicina na radiologia em hospitais, atualmente, existem muitos
estudos direcionados ao monitoramento individual do corpo humano seja na própria residência
ou ao praticar atividades cotidianas. Em Oliveira et al. (2016) um instrumento baseado em
telemedicina para monitoramento residencial de indivíduos com doenças crônicas é descrito. É
importante lembrar que esta tecnologia de monitoramento remoto ainda não é utilizada no
Brasil, porém existe uma tendência mundial de implementar esse tipo de sistemas. No início de
2018 a FDA (U.S. Food and Drug Administration), agência que regula os setores de
medicamentos e alimentos nos EUA, aprovou o primeiro algoritmo capaz de prever mortes
repentinas por episódios cardiorrespiratórios. O sistema, batizado de Plataforma Clínica
WAVE, correlaciona dados e antecipa padrões nas informações por meio de algoritmos
numéricos. Mas mesmo que o sistema pareça promissor, ele ainda não pode ser utilizado fora
do ambiente de uma unidade de terapia intensiva (ESTAR, 2018).
Em Artanto et al. (2017), propõe-se a criação de um dispositivo que possa detectar
antecipadamente o estado de sonolência do indivíduo ao dirigir veículo. Para isso, indicadores
de sonolência baseados em períodos médios de fechamento das pálpebras são utilizados. Para
realizar a medição emprega-se um driver de eletromiografia (EMG) de baixo custo projetado
para ser acoplado ao ESP8266.
5.3 Controle de Sistemas Remotamente
Uma tendência na área de Sistemas de Controle atual é o monitoramento remoto e em
tempo real de sistemas. Um grande exemplo deste tipo de aplicação é em VANTs (Veículos
Aéreos Não Tripulados), onde se vê a necessidade de realizar tarefas de alto desempenho com
a certeza de que o que está sendo enviado ao VANT seja realizado com precisão. Objetivos
como auto localização do VANT, estabilização dos propulsores e controle de movimentos em
vários graus de liberdade podem ser realizados através do uso dos sensores embarcados
visualizados na tela do computador, que por sua vez terá um algoritmo de controle atuando.
42
A grande vantagem do uso de sistemas como o DAQWiFi é de não necessitar
reprogramar a placa embarcada para testar um novo algoritmo de controle em uma planta e de
não necessitar de cabeamento físico para ter acesso aos dados de sensores da planta.
Além de VANTs, situações em que a distância é uma varável crucial para a melhor
forma de resolver problemas merecem atenção. Em Yuliandoko et al. (2017), em um cenário
de grande incidência de chuvas na Indonésia, um mecanismo de proteção de desastres naturais
(enchentes e desabamentos) é proposto. A intenção é controlar o nível de água dos rios
represados em reservatórios para evitar desmoronamentos através de um sistema integrado de
sensoriamento capaz de utilizar a obtenção de dados por meio de web server com o ESP8266.
5.4 Robótica
Este subtítulo poderia estar junto ao subtítulo controle remoto de sistemas, porém se
decidiu fazer um subtítulo separado pois nem todo sistema de controle é um robô e como uma
das aplicações citadas anteriormente é possível de ser realizada com a versão 1 do DAQWiFi,
dedicou-se especial atenção ao exemplo. Como a robótica é uma área grande e fascinante,
optou-se por fazer um tópico separado a fim de despertar o interesse em realizar futuras
aplicações nesta área.
No estudo realizado por Bhuiya et al. (2017) é proposto um projeto de comunicação
WiFi utilizando ATMega e o ESP-12 para robôs móveis, para isso, protocolos de comunicação
são explorados. O interessante da colocação deste estudo neste TCC é que ele serve de
complementação às técnicas descritas no decorrer do trabalho, pois as funções utilizadas por
Bhuiya et al. (2017) não repassam por várias outras funções para executar uma ação, podendo
reduzir o tempo de processamento.
43
6 CONSIDERAÇÕES FINAIS
O trabalho é relevante no fomento de aparatos tecnológicos de baixo custo dentro da
realidade acadêmica da Universidade Federal do Pará. Através do DAQWiFi será possível
monitorar remotamente plantas com dinâmicas lentas (por exemplo: sistemas de controle de
vazão de líquido, de variáveis químicas, de temperatura etc.), respeitando a velocidade máxima
de amostragem que o programa é capaz de suportar.
Nota-se uma grande chance de oscilações de atrasos de comunicação devido
principalmente a fatores intrínsecos de velocidade do computador e do roteador. Apesar deste
fator, o sistema funciona sem apresentar problemas e, para a primeira versão do mesmo, os
resultados obtidos foram considerados satisfatórios para a realização de aplicações de sistemas
de controle de processos lentos. Para a realização do protótipo da cadeira de rodas o DAQWiFi
pode ser utilizado dependendo muito do objetivo desejado para o uso da cadeira. Objetivos que
envolvem dinâmicas rápidas como um mecanismo anticolisão (onde em poucos milissegundos
pode haver batida com um anteparo, dependendo da velocidade das rodas), podem não ser
apropriados para esta primeira versão do DAQWiFi, todavia, ainda assim é possível este mesmo
problema ser ajustado de forma que seja plausível resolvê-lo de acordo com o algoritmo de
controle.
Outra grande vantagem comprovada com o uso do sistema DAQWiFi é devido a fácil
manutenção de componentes em caso de falhas, pois, da maneira que foi projetado, possibilita
maior compreensão dos aspectos envolvidos no manuseio e montagem do sistema.
O DAQWiFi mostrou-se como um aprimoramento do DaqDuino, justamente, por
acrescentar comunicação via rede wireless. Ainda que esteja aquém em capacidade de
amostragem ao DaqDuino, o DAQWiFi foi um passo importante para o aprimoramento
tecnológico em um cenário regional no qual a UFPA faz parte.
Até então, não existia tecnologia que vinha sendo trabalhada na Universidade Federal
do Pará com finalidade de controle de sistemas por meio de comunicação sem fio. Sabe-se que
existem estudos de comunicação sem fio sobre GSM, porém não atrelados ao controle e
automação de sistemas, tais estudos podem ser conectados ao programa DAQWiFi em projetos
futuros.
Através do sistema desenvolvido, o DAQWiFi, juntamente com a escrita deste TCC, é
possível ter material que propicia o aprendizado e o desenvolvimento de projetos em diversas
44
áreas da ciência, permitindo a realização de experimentos em tempo real e sem a utilização de
fios para a comunicação, sendo esta realizada via WiFi.
6.1 Trabalhos Futuros
No capítulo 5, várias aplicações de sistemas capazes de suportar o DAQWiFi foram
mostradas. Os estudos citados podem ser reproduzidos para servirem como comparações entre
os materiais e métodos utilizados nesta monografia e em outros trabalhos.
O DAQWiFi não foi projetado para ser utilizado diretamente na indústria. Sua principal
função é para experimentação de protótipos e plantas de bancada no meio acadêmico. Por isso,
para estender a funcionalidade do DAQWiFi, são necessários estudos de robustez para
possibilitar análises em vários tipos de sistemas. Como dito anteriormente, existem poucos
estudos formais sobre o ESP8266, portanto os avanços em trabalhos futuros se tornam
essenciais para a difusão deste tipo de tecnologia explanado nesta monografia.
Melhorias no DAQWiFi devem ser realizadas a fim de reduzir o atraso de comunicação
discutido nos capítulos anteriores. Estes avanços servirão para a formulação de uma segunda
versão do sistema de aquisição proposto neste TCC. Algumas maneiras sugeridas de como
realizar as melhorias são: através do aperfeiçoamento no uso de protocolos e na redução de
funções orientadas a objeto que acabam executando procedimentos desnecessários à tarefa
objetivada pelo DAQWiFi.
45
REFERÊNCIAS
ARDUINO. What is Arduino? Disponível em:
<https://www.arduino.cc/en/Guide/Introduction>. Acesso em: 15 fev. 2018.
ARTANTO, Dian; SULISTYANTO, M. Prayadi; PRANOWO, Ign. Deradjad; PRAMESTA,
Ervan Erry. Drowsiness Detection System based on Eye-closure using A Low-Cost EMG
and ESP8266. 2nd International Conferences on Information Technology, Information
Systems and Electrical Engineering (ICITISEE). 2017.
BALL, Stuart R. – Embedded Microprocessor Systems: Real World Design. 3rd edition,
Editora: MCPros, EUA, 2005.
BEICHNER, R. J. The effect of simultaneous motion presentation and graph generation in
a kinematics lab. Journal of Research in Science Teaching 27, 803. 1990.
BEM Estar. Site Oficial da Rede Globo de Televisão: Portal de Notícias G1. Texto adaptado
de BBC Brasil. Disponível em: <https://g1.globo.com/bemestar/noticia/como-funciona-o-
algoritmo-capaz-de-prever-ataques-cardiacos-em-
pacientes.ghtml?utm_source=facebook&utm_medium=share-bar-
desktop&utm_campaign=share-bar>. Acesso em: 05 março 2018.
BERNES-LEE, Tim et al. The Word Wide Web. Communications of the ACM. V. 37, n. 8.
1994.
BHUIYA, Aritra; MUKHERKEE Aditya; BARAI, ; Ranjit Kumar. Development of Wi-Fi
Communication Module for ATmega Microcontroller Based Mobile Robot for
Cooperative Autonomous Navigation. IEEE Calcutta Conference (CALCON). 2017.
BOLETIM técnico do senac, 1975-1987. Trimestral.
BRAGA, Rodrigo Antonio Marques; Plataforma de Desenvolvimento de Cadeira de Rodas
Inteligente. 2010. 246 f. Tese (Doutorado em Engenharia Informática) - Faculdade de
Engenharia (FEUP), Universidade do Porto. Porto, p. 30. 2010.
SILVEIRA, Antonio da Silva. DaqDuino. Matlab Central. 2015. Disponível em:
<https://www.mathworks.com/matlabcentral/fileexchange/50784-daqduino>. Acesso em 17
março 2018
FERNANDES, Anamaria Coutinho; MAGALHÃES, Isa Natália Diniz de; SOUZA, ALVES,
Marília; JUNIOR, Ademar Gonçalves da Costa; MOREIRA, Cleumar da Silva. Sistema de
aquisição de sinais ECG processado pelo labview com comunicação WiFi por meio do
módulo esp8266. COBENGE 2016. Melhores Artigos.
GUERRA, Filipe Henrique Moreira. Automação Residencial de Baixo Custo com Protocolo
X10 e ESP8266. 2016. 55 f. Trabalho de Conclusão de Curso. Universidade Federal de Ouro
Preto. Ouro Preto. 2016.
46
HAAG, Rafael; ARAUJO, Ives Solano; VEIT, Eliane Angela. Aquisição de Dados no
Laboratório de Física. Física na Escola, Rio de Janeiro: SENAC; v. 6. n. 1, 2015.
KUROSE, Jim.; ROSS, Keith. Redes de Computadores e a Internet - 5ª Ed., Pearson, 2010.
MACFARLAND, Bill; WONG Michael. The Family Dynamics of 802.11. QUEUE.
Disponível em: ACM DL Digital Library. 2003.
NOGUEIRA, Carlos Eduardo Durans; SILVEIRA, Antônio da Silva. Controle de um Pêndulo
Amortecido Utilizando PID Clássico, Realimentação de Estados Estimados e GMV.
XXVII Seminário de Iniciação Científica da UFPA. 2016.
OLIVEIRA, Ricardo Rodrigues. Uso do Microcontrolador ESP8266 para Automação
Residencial. 2017. 42 f. Trabalho de Conclusão de Curso. Escola Politécnica da Universidade
Federal do Rio de Janeiro. Rio de Janeiro. 2017.
KOLBAN, N. Kolban’s Book on ESP8266. 2016. Disponível em:
<https://leanpub.com/ESP8266_ESP32>. Acesso em: 09 janeiro 2018
MANCINI, Mônica. Internet das Coisas: História, Conceitos, Aplicações e Desafios. PMI.
São Paulo. Acesso em 23 outubro 2017.
State of the Art Telemedicine. Disponível em:
http://www.unifesp.br/dis/set/disciplina/materialdeapoio/StateoftheArtTelemedicine.pdf.
Acesso em: 05 março 2018.
MINATEL, P. Web server com ESP8266 e IDE Arduino. 2016. Disponível em:
<http://pedrominatel.com.br/pt/arduino/web-server-com-esp8266-e-ide-arduino/>. Acesso em:
12 fevereiro 2018.
NATIONAL INTRUMENTS. Chassi CompactDAQ: Modelo cDAQ-9191. Disponível em:
http://www.ni.com/sic/configurator/configure.action?sfId=NI&wcs_l=pt-
br&wcs_k=compactdaq-chassis&wcs_s=47149. Acesso em 02 março 2018.
OGATA, K.; Engenharia de Controle Moderno. 4ª Edição. Prentice-Hall. 2003.
OLIVEIRA, Nayara; SANTOS, Mayara; ALIGLERI, Leonardo; MELO, Pedro. Sistema
portátil baseado em oscilações forçadas e Telemedicina visando o monitoramento de
Pacientes respiratórios crônicos. XXV Congresso Brasileiro de Engenharia Biomédica –
CBEB. 2016.
SCHWARTZ, M. “Open Home Automation”. 2015. Disponível em:
<https://openhomeautomation.net/products/getting-started-with-the-esp8266/control-a-lamp-
remotely-using-the-esp8266-wifi-chip/>. Acesso em: 12 fevereiro 2018.
SILVEIRA, Antonio da Silva. DaqDuino V1. 2013. Disponível em: <http://lacos.ufpa.br/>.
Acesso em: 06 março 2018.
47
SOUZA, D. F.; SARTORI, J.; BELL, M. J. V. E NUNES, L. A. O. Aquisição de Dados e
Aplicações Simples Usando a Porta Paralela do Microcontrolador. Revista Brasileira de
Ensina de Física 22, 421. 2000.
TANENBAUM, Andrew S. Redes de Computadores. Rio de Janeiro: Elsevier. 4ª edição.
Elsevier. 2003.
TEXAS INSTRUMENTS. SimpleLink™ Wi-Fi® CC3220SF Wireless Microcontroller
LaunchPad™ Development Kit. Disponível em: http://www.ti.com/tool/cc3220sf-
launchxl?jktype=recommendedresults. Acesso em: 02 março 2018.
URTIGA, Keylla Sá; LOUZADA, Luiz A. C.; COSTA, Carmen Lúcia B. Telemedicina: uma
visão geral do estado da arte. 2004. Congresso Brasileiro em Informática em Saúde.
Universidade Federal de São Paulo / Escola Paulista de Medicina (UNIFESP/EPM), Brasil.
2014.
YULIANDOKO, Herman; SUBONO; WARDHANY, Vivien Arief; PRAMONO, Sholeh
Hadi. Design of Flooding Detection System Based on Velocity and Water Level DAM with
ESP8266. 2nd International Conferences on Information Technology, Information Systems and
Electrical Engineering (ICITISEE). 2017.
WERTHEIN, Jorge. A sociedade da informação e seus desafios. Ciência da informação,
Brasília, v. 29, n. 2, p. 71-77, 2000.
WNDW. Redes sem fio no Mundo em Desenvolvimento: Um guia prático para o
planejamento e a construção de uma infraestrutura de telecomunicações. Hacker Friendly LLC.
2008.
48
APÊNDICE A – FUNÇÃO DAQWIFI_READ
% Authors: Carlos Eduardo Durans Nogueira (cednogueira@gmail.com) and
% Prof. Antonio Silveira (asilveira@ufpa.br)
% Laboratory of Control and Systems, UFPA (lacos.ufpa.br)
% ----------------------------------------------------------------------
% daqWifi_read Single-shot acquisition by A/D conversion of a single
% sample from the analog input in use.
%
% Example:
%
% y=daqWifi_read(url);
%
% Stores to y a single sample from the analog channel in use.
% The range of the analog input is 0V to 3.3V.
function [y]=daqWifi_read(url),
[y] = str2num(webread(url) );
49
APÊNDICE B – FUNÇÃO DAQWIFI_WRITE
% Authors: Carlos Eduardo Durans Nogueira (cednogueira@gmail.com) and
% Prof. Antonio Silveira (asilveira@ufpa.br)
% Laboratory of Control and Systems, UFPA (lacos.ufpa.br)
% ----------------------------------------------------------------------
% daqWifi_write Updates the DaqDuino PWM output in use.
%
% daqWifi_write(url,u,Ts) sets u Volts, where u range is 0V to 3.3V,
% and Ts is the sampling time (a delay) given in seconds.
function []=daqWifi_write(url,u1,u2,Ts),
global s;
webwrite(url,'u1',num2str(u1),'u2',num2str(u2)); % Sends u(k) as a string
pause(Ts); % Sampling time interval
50
APÊNDICE C – DAQWIFI NO ARDUINO IDE
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
// Programa do tipo Data Aquisition para placa NodeMCU v3
// Aquisição de dados do tipo MIMO com 3 entradas e 2 saídas
float u[1]={0};
float v[1]={0};
float y[1]={0};
float g[1]={0};
float h[1]={0};
String u1_value;
String u2_value;
String y1_value;
String y2_value;
String y3_value;
# define DA3 (D3)
# define DA4 (D4)
# define DA5 (D5)
# define DA6 (D6)
// Nome do roteador WiFi
const char* ssid = "";
// Senha do roteador WiFi
const char* password = "";
ESP8266WebServer server(80); // Configura protocolo TCP através da porta 80
void inputSignal() // Função auxiliar
{
y[0] = analogRead(A0)*(1023/3.3); // Entrada analógica
g[0] = digitalRead(DA3); // Entrada Digital
h[0] = digitalRead(DA4); // Entrada Digital
String y_value = String (y[0]);
y_value += (server.method() == HTTP_POST);
String y2_value = String (g[0]);
y2_value += (server.method() == HTTP_POST);
String y3_value = String (h[0]);
y3_value += (server.method() == HTTP_POST);
server.send(200, "text/plain", y_value+' '+y2_value+' '+y3_value); // envia o valor da entrada em forma de string
para o endereço url
}
void outputSignal()
{
String u1_value = u1_value;
u1_value += (server.method() == HTTP_GET);
u1_value += server.arg("u1"); // lê a string que está na url
51
u[0]=u1_value.toFloat(); // converte string para float
if (u[0]<0) {u[0]=0;}
if (u[0]>3.3) {u[0]=3.3;}
u[0] = u[0]*(1023/3.3);
analogWrite(DA5,u[0]);
String u2_value = u2_value;
u2_value += (server.method() == HTTP_GET);
u2_value += server.arg("u2"); // lê a string que está na url
v[0]=u2_value.toFloat(); // converte string para float
if (v[0]<0) {v[0]=0;}
if (v[0]>3.3) {v[0]=3.3;}
u2[0] = u2[0]*(1023/3.3);
analogWrite(DA6,u2[0]);
server.send(200, "text/plain", u1_value);
server.send(200, "text/plain", u2_value);
}
// -----------------------------------------------------------------------------------------------
void setup(void) {
pinMode(DA3,INPUT);
pinMode(DA4,INPUT);
pinMode(DA5,OUTPUT);
pinMode(DA6,OUTPUT);
digitalWrite(DA3,LOW);
digitalWrite(DA4,LOW);
digitalWrite(DA5,LOW);
digitalWrite(DA6,LOW);
Serial.begin(115200);
Serial.setTimeout(5);
// Configura a comunicação Wifi
WiFi.begin(ssid, password);
Serial.println("");
// Esperando pela conexão
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP()); // Mostra o endereço IP alocado
if (MDNS.begin("esp8266")) {
Serial.println("MDNS responder started");
MDNS.addService("http", "tcp", 80);
}
52
// Adiciona ao IP dois endereços URL para entrada e saída de dados
server.on("/input/", inputSignal);
server.on("/output/", outputSignal);
// Wait for connection
uint8_t i = 0;
while (WiFi.status() != WL_CONNECTED && i++ < 20) {//wait 10 seconds
delay(500);
}
server.begin(); // Inicia o servidor
}
// ---------------------------------------------------------------
void loop(void)
{
server.handleClient(); /* Função necessária para o funcionamento das funções
usadas neste programa como WebServer*/
}
53
APÊNDICE D - EXEMPLO DE AQUISIÇÃO DE DADOS
UTILIZANDO O DAQWIFI NO MATLAB
% Programa simples para aquisição de dados via Matlab pelo DAQWiFi
clear all; close all; clc;
u1(1:10)=0; u1(11:50)=1; u1(51:100)=3.3; u1(101:102)=2;
u2(1:10)=0; u2(11:50)=1; u2(51:100)=3.3; u2(101:102)=2;
nit=length(u1); % Comprimento do vetor de entrada
Ts = 0.1; % Tempo de amostragem
urlin='http://192.168.43.46/input/'; % urlin="endereço url de entrada"
urlout='http://192.168.43.46/output/'; % urlin="endereço url de saída"
% Inicializando os valores das matrizes
y = zeros(nit,3);
y1(1:2)=0;
y2(1:2)=0;
y3(1:2)=0;
for k=3:nit,
tic
y(k,1:3)=daqWifi_read(urlin); % realiza a leitura dos sensores
daqWifi_write(urlout,u1(k),u2(k),Ts); % envia sinais para atuadores
toc; % atraso de comunicação
end
%Separando as variáveis de saída
y1=y(:,1);
y2=y(:,2);
y3=y(:,3);

Mais conteúdo relacionado

Mais procurados

Apresentação TCC - Braço Robótico para fins didáticos
Apresentação TCC - Braço Robótico para fins didáticosApresentação TCC - Braço Robótico para fins didáticos
Apresentação TCC - Braço Robótico para fins didáticosHerbert Guimaraes
 
Curso tecnico eletromecanica
Curso tecnico eletromecanicaCurso tecnico eletromecanica
Curso tecnico eletromecanicaLuiz Henrique
 
Proposta consultoria iuri vieira gomez - cópia
Proposta consultoria   iuri vieira gomez - cópiaProposta consultoria   iuri vieira gomez - cópia
Proposta consultoria iuri vieira gomez - cópiaCleverson Roberto Gomes
 
Apostila projetistas spda
Apostila projetistas spdaApostila projetistas spda
Apostila projetistas spdaDaniel Morais
 
Elementos de maquinas i (apostila 2008 01)
Elementos de maquinas i (apostila 2008 01)Elementos de maquinas i (apostila 2008 01)
Elementos de maquinas i (apostila 2008 01)Taís Faria
 
Apostila para vidraceiros
Apostila para vidraceirosApostila para vidraceiros
Apostila para vidraceirosGabriel Batista
 
Apresentação motores de indução
Apresentação motores de induçãoApresentação motores de indução
Apresentação motores de induçãoLuiz Carlos Farkas
 
Relatório de carga e descarga de capacitores
Relatório de carga e descarga de capacitoresRelatório de carga e descarga de capacitores
Relatório de carga e descarga de capacitoresAnderson Totimura
 
Apostila ifba eletricidade basica cursos pronatec
Apostila ifba   eletricidade basica cursos pronatecApostila ifba   eletricidade basica cursos pronatec
Apostila ifba eletricidade basica cursos pronatecleonardoaccosta
 
Eletrônica Volume 1 by Albert Paul Malvino David J. Bates (z-lib.org).pdf
Eletrônica Volume 1 by Albert Paul Malvino David J. Bates (z-lib.org).pdfEletrônica Volume 1 by Albert Paul Malvino David J. Bates (z-lib.org).pdf
Eletrônica Volume 1 by Albert Paul Malvino David J. Bates (z-lib.org).pdfRodrigoLuis21
 
Relatorio dos equipamentos eletricos
Relatorio dos equipamentos eletricosRelatorio dos equipamentos eletricos
Relatorio dos equipamentos eletricosEdson da Silva
 
Exercicios resolvidos de resmat mecsol
Exercicios resolvidos de resmat mecsolExercicios resolvidos de resmat mecsol
Exercicios resolvidos de resmat mecsolDanieli Franco Mota
 
Apresentação da disciplina - Engenharia de métodos
Apresentação da disciplina - Engenharia de métodosApresentação da disciplina - Engenharia de métodos
Apresentação da disciplina - Engenharia de métodosMarcel Gois
 
Relatório final de física ii eletricidade
Relatório final de física ii   eletricidadeRelatório final de física ii   eletricidade
Relatório final de física ii eletricidadeCristiano Da Silva Silva
 
Qualidade, Terminologia de Hardware e Software e Redes.pdf
Qualidade, Terminologia de Hardware e Software e Redes.pdfQualidade, Terminologia de Hardware e Software e Redes.pdf
Qualidade, Terminologia de Hardware e Software e Redes.pdfOs Fantasmas !
 
Apostila de pontes usp sao carlos 2009
Apostila de pontes usp sao carlos   2009Apostila de pontes usp sao carlos   2009
Apostila de pontes usp sao carlos 2009Kadja Maisa
 

Mais procurados (20)

Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 
Apresentação TCC - Braço Robótico para fins didáticos
Apresentação TCC - Braço Robótico para fins didáticosApresentação TCC - Braço Robótico para fins didáticos
Apresentação TCC - Braço Robótico para fins didáticos
 
Curso tecnico eletromecanica
Curso tecnico eletromecanicaCurso tecnico eletromecanica
Curso tecnico eletromecanica
 
Proposta consultoria iuri vieira gomez - cópia
Proposta consultoria   iuri vieira gomez - cópiaProposta consultoria   iuri vieira gomez - cópia
Proposta consultoria iuri vieira gomez - cópia
 
Ficha de trabalho_5
Ficha de trabalho_5Ficha de trabalho_5
Ficha de trabalho_5
 
Apostila projetistas spda
Apostila projetistas spdaApostila projetistas spda
Apostila projetistas spda
 
Elementos de maquinas i (apostila 2008 01)
Elementos de maquinas i (apostila 2008 01)Elementos de maquinas i (apostila 2008 01)
Elementos de maquinas i (apostila 2008 01)
 
Apostila para vidraceiros
Apostila para vidraceirosApostila para vidraceiros
Apostila para vidraceiros
 
Apresentação motores de indução
Apresentação motores de induçãoApresentação motores de indução
Apresentação motores de indução
 
Relatório de carga e descarga de capacitores
Relatório de carga e descarga de capacitoresRelatório de carga e descarga de capacitores
Relatório de carga e descarga de capacitores
 
Apostila ifba eletricidade basica cursos pronatec
Apostila ifba   eletricidade basica cursos pronatecApostila ifba   eletricidade basica cursos pronatec
Apostila ifba eletricidade basica cursos pronatec
 
Eletrônica Volume 1 by Albert Paul Malvino David J. Bates (z-lib.org).pdf
Eletrônica Volume 1 by Albert Paul Malvino David J. Bates (z-lib.org).pdfEletrônica Volume 1 by Albert Paul Malvino David J. Bates (z-lib.org).pdf
Eletrônica Volume 1 by Albert Paul Malvino David J. Bates (z-lib.org).pdf
 
Relatorio dos equipamentos eletricos
Relatorio dos equipamentos eletricosRelatorio dos equipamentos eletricos
Relatorio dos equipamentos eletricos
 
Relatório de estágio - TÉC. EM INFORMÁTICA
Relatório de estágio - TÉC. EM INFORMÁTICARelatório de estágio - TÉC. EM INFORMÁTICA
Relatório de estágio - TÉC. EM INFORMÁTICA
 
Exercicios resolvidos de resmat mecsol
Exercicios resolvidos de resmat mecsolExercicios resolvidos de resmat mecsol
Exercicios resolvidos de resmat mecsol
 
Apresentação da disciplina - Engenharia de métodos
Apresentação da disciplina - Engenharia de métodosApresentação da disciplina - Engenharia de métodos
Apresentação da disciplina - Engenharia de métodos
 
Relatório final de física ii eletricidade
Relatório final de física ii   eletricidadeRelatório final de física ii   eletricidade
Relatório final de física ii eletricidade
 
Qualidade, Terminologia de Hardware e Software e Redes.pdf
Qualidade, Terminologia de Hardware e Software e Redes.pdfQualidade, Terminologia de Hardware e Software e Redes.pdf
Qualidade, Terminologia de Hardware e Software e Redes.pdf
 
Apostila de pontes usp sao carlos 2009
Apostila de pontes usp sao carlos   2009Apostila de pontes usp sao carlos   2009
Apostila de pontes usp sao carlos 2009
 
Asp i -_aula_7
Asp i -_aula_7Asp i -_aula_7
Asp i -_aula_7
 

Semelhante a SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO COMUNICAÇÃO WI-FI™ VIA NODEMCU (ESP8266)

Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 Sistema de monitoramento para redes sem fio com Zabbix e openWRT Sistema de monitoramento para redes sem fio com Zabbix e openWRT
Sistema de monitoramento para redes sem fio com Zabbix e openWRTMarcelo Santana Camacho
 
Monografia banca diegosandrozilli
Monografia banca diegosandrozilliMonografia banca diegosandrozilli
Monografia banca diegosandrozilliDiego Zilli
 
TCC - O PROTOCOLO IPV6 E SUAS FORMAS DE IMPLANTAÇÃO
TCC - O PROTOCOLO IPV6 E SUAS FORMAS DE IMPLANTAÇÃOTCC - O PROTOCOLO IPV6 E SUAS FORMAS DE IMPLANTAÇÃO
TCC - O PROTOCOLO IPV6 E SUAS FORMAS DE IMPLANTAÇÃOEvandro Donel Foster
 
Pendulo invertido com lógica Fuzzy
Pendulo invertido com lógica FuzzyPendulo invertido com lógica Fuzzy
Pendulo invertido com lógica FuzzyDavid Luna Santos
 
Implementação de Redes Locais Virtuais e de QoS
Implementação de Redes Locais Virtuais e de QoS Implementação de Redes Locais Virtuais e de QoS
Implementação de Redes Locais Virtuais e de QoS Diego Zilli
 
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDITCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDIBruno Gastaldi
 
Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1
Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1
Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1Denis Storti da Silva
 
SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...
SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...
SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...lystermachado
 
Desenvolvimento de um Sistema de Controle para Quadrirrotores
Desenvolvimento de um Sistema de Controle para Quadrirrotores Desenvolvimento de um Sistema de Controle para Quadrirrotores
Desenvolvimento de um Sistema de Controle para Quadrirrotores UmbertoXavierdaSilva
 
Conexão remota e segurança de rede
Conexão remota e segurança de redeConexão remota e segurança de rede
Conexão remota e segurança de redeSoftD Abreu
 
Apostila de-instalac3a7c3a3o-e-configurac3a7c3a3o-de-redes
Apostila de-instalac3a7c3a3o-e-configurac3a7c3a3o-de-redesApostila de-instalac3a7c3a3o-e-configurac3a7c3a3o-de-redes
Apostila de-instalac3a7c3a3o-e-configurac3a7c3a3o-de-redesjs265082630
 
Sistema de diagnóstico de falhas automotivo com comunicação Bluetooth
Sistema de diagnóstico de falhas automotivo com comunicação BluetoothSistema de diagnóstico de falhas automotivo com comunicação Bluetooth
Sistema de diagnóstico de falhas automotivo com comunicação BluetoothMarcus Paiva
 
Monitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - MonografiaMonitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - MonografiaPietro Scherer
 
TCC - SISTEMA PARA MONITORAMENTO DO GÁS AMÔNIA EM AVIÁRIOS
TCC - SISTEMA PARA MONITORAMENTO DO GÁS AMÔNIA EM AVIÁRIOSTCC - SISTEMA PARA MONITORAMENTO DO GÁS AMÔNIA EM AVIÁRIOS
TCC - SISTEMA PARA MONITORAMENTO DO GÁS AMÔNIA EM AVIÁRIOSJean Luiz Zanatta
 
Redes de computadores e internet.
Redes de computadores e internet.Redes de computadores e internet.
Redes de computadores e internet.valdarnini
 

Semelhante a SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO COMUNICAÇÃO WI-FI™ VIA NODEMCU (ESP8266) (20)

Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 Sistema de monitoramento para redes sem fio com Zabbix e openWRT Sistema de monitoramento para redes sem fio com Zabbix e openWRT
Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 
Monografia banca diegosandrozilli
Monografia banca diegosandrozilliMonografia banca diegosandrozilli
Monografia banca diegosandrozilli
 
TG_AccelerCar
TG_AccelerCarTG_AccelerCar
TG_AccelerCar
 
TCC - O PROTOCOLO IPV6 E SUAS FORMAS DE IMPLANTAÇÃO
TCC - O PROTOCOLO IPV6 E SUAS FORMAS DE IMPLANTAÇÃOTCC - O PROTOCOLO IPV6 E SUAS FORMAS DE IMPLANTAÇÃO
TCC - O PROTOCOLO IPV6 E SUAS FORMAS DE IMPLANTAÇÃO
 
Pendulo invertido com lógica Fuzzy
Pendulo invertido com lógica FuzzyPendulo invertido com lógica Fuzzy
Pendulo invertido com lógica Fuzzy
 
Implementação de Redes Locais Virtuais e de QoS
Implementação de Redes Locais Virtuais e de QoS Implementação de Redes Locais Virtuais e de QoS
Implementação de Redes Locais Virtuais e de QoS
 
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDITCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI
 
Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1
Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1
Monografia_AWS_ProtocolosIOT_DenisStorti_v1.1
 
SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...
SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...
SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...
 
Desenvolvimento de um Sistema de Controle para Quadrirrotores
Desenvolvimento de um Sistema de Controle para Quadrirrotores Desenvolvimento de um Sistema de Controle para Quadrirrotores
Desenvolvimento de um Sistema de Controle para Quadrirrotores
 
Vpn alan-rafael
Vpn alan-rafaelVpn alan-rafael
Vpn alan-rafael
 
Conexão remota e segurança de rede
Conexão remota e segurança de redeConexão remota e segurança de rede
Conexão remota e segurança de rede
 
Apostila de-instalac3a7c3a3o-e-configurac3a7c3a3o-de-redes
Apostila de-instalac3a7c3a3o-e-configurac3a7c3a3o-de-redesApostila de-instalac3a7c3a3o-e-configurac3a7c3a3o-de-redes
Apostila de-instalac3a7c3a3o-e-configurac3a7c3a3o-de-redes
 
Bridges Virtuais
Bridges VirtuaisBridges Virtuais
Bridges Virtuais
 
Sistema de diagnóstico de falhas automotivo com comunicação Bluetooth
Sistema de diagnóstico de falhas automotivo com comunicação BluetoothSistema de diagnóstico de falhas automotivo com comunicação Bluetooth
Sistema de diagnóstico de falhas automotivo com comunicação Bluetooth
 
Monografia ifes-everton-bada
Monografia ifes-everton-badaMonografia ifes-everton-bada
Monografia ifes-everton-bada
 
2995 14151-1-pb
2995 14151-1-pb2995 14151-1-pb
2995 14151-1-pb
 
Monitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - MonografiaMonitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - Monografia
 
TCC - SISTEMA PARA MONITORAMENTO DO GÁS AMÔNIA EM AVIÁRIOS
TCC - SISTEMA PARA MONITORAMENTO DO GÁS AMÔNIA EM AVIÁRIOSTCC - SISTEMA PARA MONITORAMENTO DO GÁS AMÔNIA EM AVIÁRIOS
TCC - SISTEMA PARA MONITORAMENTO DO GÁS AMÔNIA EM AVIÁRIOS
 
Redes de computadores e internet.
Redes de computadores e internet.Redes de computadores e internet.
Redes de computadores e internet.
 

Mais de UFPA

Contribuições ao controle de variância minima generalizado: abordagem de proj...
Contribuições ao controle de variância minima generalizado: abordagem de proj...Contribuições ao controle de variância minima generalizado: abordagem de proj...
Contribuições ao controle de variância minima generalizado: abordagem de proj...UFPA
 
TÉCNICAS DE CONTROLE LQG/LTR E FUZZY APLICADAS AO VEÍCULO AÉREO NÃO TRIPULADO...
TÉCNICAS DE CONTROLE LQG/LTR E FUZZY APLICADAS AO VEÍCULO AÉREO NÃO TRIPULADO...TÉCNICAS DE CONTROLE LQG/LTR E FUZZY APLICADAS AO VEÍCULO AÉREO NÃO TRIPULADO...
TÉCNICAS DE CONTROLE LQG/LTR E FUZZY APLICADAS AO VEÍCULO AÉREO NÃO TRIPULADO...UFPA
 
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...UFPA
 
PROJETO E AVALIAÇÃO EXPERIMENTAL DE CONTROLADOR ROBUSTO INTERVALAR PARA REGUL...
PROJETO E AVALIAÇÃO EXPERIMENTAL DE CONTROLADOR ROBUSTO INTERVALAR PARA REGUL...PROJETO E AVALIAÇÃO EXPERIMENTAL DE CONTROLADOR ROBUSTO INTERVALAR PARA REGUL...
PROJETO E AVALIAÇÃO EXPERIMENTAL DE CONTROLADOR ROBUSTO INTERVALAR PARA REGUL...UFPA
 
PROJETO DE ESTABILIZADORES DE SISTEMAS ELÉTRICOS DE POTÊNCIA UTILIZANDO CONTR...
PROJETO DE ESTABILIZADORES DE SISTEMAS ELÉTRICOS DE POTÊNCIA UTILIZANDO CONTR...PROJETO DE ESTABILIZADORES DE SISTEMAS ELÉTRICOS DE POTÊNCIA UTILIZANDO CONTR...
PROJETO DE ESTABILIZADORES DE SISTEMAS ELÉTRICOS DE POTÊNCIA UTILIZANDO CONTR...UFPA
 
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRECONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERREUFPA
 
Stochastic augmentation by generalized minimum variance control with rst loop...
Stochastic augmentation by generalized minimum variance control with rst loop...Stochastic augmentation by generalized minimum variance control with rst loop...
Stochastic augmentation by generalized minimum variance control with rst loop...UFPA
 

Mais de UFPA (7)

Contribuições ao controle de variância minima generalizado: abordagem de proj...
Contribuições ao controle de variância minima generalizado: abordagem de proj...Contribuições ao controle de variância minima generalizado: abordagem de proj...
Contribuições ao controle de variância minima generalizado: abordagem de proj...
 
TÉCNICAS DE CONTROLE LQG/LTR E FUZZY APLICADAS AO VEÍCULO AÉREO NÃO TRIPULADO...
TÉCNICAS DE CONTROLE LQG/LTR E FUZZY APLICADAS AO VEÍCULO AÉREO NÃO TRIPULADO...TÉCNICAS DE CONTROLE LQG/LTR E FUZZY APLICADAS AO VEÍCULO AÉREO NÃO TRIPULADO...
TÉCNICAS DE CONTROLE LQG/LTR E FUZZY APLICADAS AO VEÍCULO AÉREO NÃO TRIPULADO...
 
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
 
PROJETO E AVALIAÇÃO EXPERIMENTAL DE CONTROLADOR ROBUSTO INTERVALAR PARA REGUL...
PROJETO E AVALIAÇÃO EXPERIMENTAL DE CONTROLADOR ROBUSTO INTERVALAR PARA REGUL...PROJETO E AVALIAÇÃO EXPERIMENTAL DE CONTROLADOR ROBUSTO INTERVALAR PARA REGUL...
PROJETO E AVALIAÇÃO EXPERIMENTAL DE CONTROLADOR ROBUSTO INTERVALAR PARA REGUL...
 
PROJETO DE ESTABILIZADORES DE SISTEMAS ELÉTRICOS DE POTÊNCIA UTILIZANDO CONTR...
PROJETO DE ESTABILIZADORES DE SISTEMAS ELÉTRICOS DE POTÊNCIA UTILIZANDO CONTR...PROJETO DE ESTABILIZADORES DE SISTEMAS ELÉTRICOS DE POTÊNCIA UTILIZANDO CONTR...
PROJETO DE ESTABILIZADORES DE SISTEMAS ELÉTRICOS DE POTÊNCIA UTILIZANDO CONTR...
 
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRECONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
CONTROLE MPC MULTIVARIÁVEL COM RESTRIÇÕES USANDO FUNÇÕES DE LAGUERRE
 
Stochastic augmentation by generalized minimum variance control with rst loop...
Stochastic augmentation by generalized minimum variance control with rst loop...Stochastic augmentation by generalized minimum variance control with rst loop...
Stochastic augmentation by generalized minimum variance control with rst loop...
 

SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO COMUNICAÇÃO WI-FI™ VIA NODEMCU (ESP8266)

  • 1. UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA FACULDADE DE ENGENHARIA ELÉTRICA E BIOMÉDICA CURSO DE ENGENHARIA BIOMÉDICA CARLOS EDUARDO DURANS NOGUEIRA SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO COMUNICAÇÃO WI-FI™ VIA NODEMCU (ESP8266) BELÉM 2018
  • 2. CARLOS EDUARDO DURANS NOGUEIRA SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO COMUNICAÇÃO WI-FI™ VIA NODEMCU (ESP8266) BELÉM 2018 Trabalho de Conclusão de Curso, apresentado como requisito parcial para obtenção de grau de Bacharel em Engenharia Biomédica, pela Universidade Federal do Pará. Orientador: Prof. Dr. Antonio da Silva Silveira
  • 3.
  • 4. AGRADECIMENTOS Agradeço à minha família - em especial: ao meu pai, Eduardo Nogueira; à minha mãe, Celma Nogueira; e aos meus irmãos, Paulo e Daniel - pelo integral apoio aos meus estudos e às minhas decisões, tornando o período de duração da graduação em bacharelado em engenharia biomédica, extremamente satisfatório e proveitoso. Ao professor Antonio Silveira, pelo incentivo e pelos conselhos valiosos que tive durante o curso, influenciando no surgimento de uma paixão pela área de sistemas de controle e servindo como referência de pessoa e de profissional em minha vida. Ao corpo docente do curso de engenharia biomédica, principalmente, à professora Valquíria Macedo, que pôde acompanhar minha formação em engenharia desde o início e que sempre esteve disposta a ajudar em qualquer dificuldade. Aos meus companheiros do Laboratório de Controle e Sistemas, pelos anos de convivência, estudo e diversão e pelas batalhas que ainda virão em nossas vidas, as quais muitas delas enfrentaremos juntos. À Universidade Federal do Pará, por fornecer a estrutura para a efetivação dos meus estudos. À CAPES e ao CNPq, pelo apoio financeiro às pesquisas científicas, desde a bolsa Jovens Talentos para a Ciência, em 2013, até a bolsa PIBIC/Prodoutor, em 2017.
  • 5. “Nunca seremos grandes, nunca seremos elevados, nunca seremos santos, se não caminharmos para um ideal.” (Padre Júlio Maria de Lombaerde)
  • 6. RESUMO Este trabalho descreve o desenvolvimento de um sistema de aquisição de dados em Matlab utilizando o dispositivo ESP8266 sendo programado por meio do Arduino IDE. O ESP8266 é tendência a ser usado em aplicações em diversas áreas da engenharia e da ciência, como em telecomunicações, sistemas de controle e automação, computação aplicada e engenharia biomédica, justamente por usar a tecnologia WiFi no próprio microcontrolador, sem necessitar de shield para isso. O sistema criado nesta monografia se chama DAQWiFi, o qual foi desenvolvido para tarefas de controle e automação, contudo pode ser empregado em diversas áreas afins. O sistema se baseia no envio e recepção de dados, para isso, apenas duas linhas de código em Matlab são necessárias: uma linha de código responsável por ler os dados provenientes de sensores acoplados à placa NodeMCU 1.0 e uma linha de código incumbida de enviar sinais para atuadores, tais linhas correspondem, respectivamente, às funções daqWifi_read e daqWifi_write. O desenvolvimento do DAQWiFi se deu em um cenário de projeção tecnológica de dispositivo de aquisição de dados na Universidade Federal do Pará, onde a tecnologia WiFi não era usada ainda para estes propósitos. Ao mesmo tempo, surgiu como solução de parte de um algoritmo para um protótipo de uma cadeira de rodas inteligente e como possibilidade de uso didático em plantas experimentais. Nesta monografia, as formas de evolução das etapas de formulação e validação do sistema DAQWiFi serão descritas, começando pelo caso SISO, onde um circuito eletrônico de segunda ordem é utilizado como planta e finalizando com o caso MIMO, onde é empregado ao protótipo da cadeira de rodas. Também serão descritos procedimentos e protocolos corroborativos com o desenvolvimento do sistema, como o HTTP e as bibliotecas próprias do ESP8266. Palavras-chave: ESP8266. DAQWiFi. Aquisição de dados. Sistemas de controle. Matlab. HTTP.
  • 7. ABSTRACT This work describes the development of a Data Aquisition Systems (DAQ) for Matlab using the ESP8266 microcontroller being programmed through the Arduino IDE. The ESP8266 is tendency in applications for various areas of engineering and science, such as telecommunications, control and automation systems, applied computing and biomedical engineering because it uses WiFi technology in the microcontroller itself, without the need for a Shield. The name of the System created in this monograph is DAQWiFi. It was developed for control and automation activities, however it can be employed in various related areas. The system is based on sending and receiving data, so only two lines of code in Matlab are required: a line of code is responsible for reading data from the sensors coupled to NodeMCU 1.0 and the other line of code is responsible for sending signals for the actuators. These lines, respectively correspond to the functions DAQWiFi_read and DAQWiFi_write. The development of DAQWiFi took place in a scenario of technological projection of data acquisition device at the Federal University of Pará, where WiFi technology was not yet used for these purposes. At the same time, it emerged as a solution of part of an algorithm for a prototype of an intelligent wheelchair and as a possibility of didactic use and in experimental plants. In this monograph, the evolutionary stages of the formulation and validation of the DAQWiFi system will be described, starting with the SISO case, where a second-order electronic circuit plant is used and ending with the MIMO case, where it is used with the prototype of the wheelchair. Corroborative procedures and protocols will also be described along with the development of the system, such as HTTP and the ESP8266 proprietary libraries. Key-words: ESP8266. DAQWiFi. Data Aquisition. Control of Systems. Matlab. HTTP.
  • 8. LISTA DE ILUSTRAÇÕES Tabela 1 - Comparativo de preços de placas de aquisição de dados via WiFi .... 45 Figura 1 – Arduino Uno ...................................................................................... 17 Figura 2 – Arduino Nano .................................................................................... 17 Figura 3 – ESP-12 ...............................................................................................20 Quadro 1 - Pinos do ESP-12 .............................................................................. 20 Figura 4 – NodeMcu V3 ..................................................................................... 21 Quadro 2 - Comparativo entre NodeMCU 1.0 e Arduino UNO ........................ 22 Figura 5 - Diagrama de circuito do processo eletrônico subamortecido ............ 23 Figura 6 - Processo eletrônico subamortecido real............................................. 23 Figura 7 – Projeção das pirâmides etárias no estado do Pará nos anos 2010, 2020 e 2030 .............................................................................................. 25 Figura 8 – Esquema organizacional dos componentes do protótipo da cadeira de rodas ................................................................................................. 25 Figura 9 – Diagrama de circuito esquemático do módulo L9110s .................... 26 Figura 10 – Dispositivo físico referente ao módulo L9110s .............................. 27 Figura 11 – Sensor Ultrassônico ........................................................................ 28 Figura 12 – Esquema de funcionamento do sensor ultrassônico ....................... 28 Quadro 3 – Métodos de requisição do HTTP .................................................... 30 Figura 13 - Fluxo de dados entre os dispositivos que utilizam o DAQWiFi .... 31 Figura 14 – Trecho do programa DAQWiFi embarcado no NodeMCU 1.0 ...... 34 Figura 15 – Protótipo da cadeira de rodas .......................................................... 36 Figura 16 – Resposta do sistema subamortecido ................................................ 37 Figura 17 – Atraso de comunicação para o roteador do Moto G5 Plus .............. 37 Figura 18 – Atraso de comunicação para o roteador Cisco DPC3925 ................ 38 Figura 19 – Teste do sensor ultrassônico do protótipo da cadeira de rodas ........ 38 Figura 20 – Esquema conceitual de Internet das coisas (IoT) ............................ 40
  • 9. LISTA DE SIGLAS BBS Bulletin Board System DAQ Data Aquisition FDA U.S. Food and Drug Administration GPIO General Purpose Input/Output GSM Global System for Mobile Communications HTTP Hypertext Transfer Protocol IDE Integrated Development Environment IETF Internet Engineering Task Force IP Internet Protocol ISM Industrial Sientific and Medical LACOS Laboratory of Control and Systems LIT Linear Invariant Time System MIME Multipurpose Internet Mail Extensions MIMO Multiple Inputs and Multiple Outputs System MOSI Master Output Slaver Input PCB Printed Circuit Board PWM Pulse Width Modulation RFC Request for Comments SISO Single Input and Single Output System SoftAP Software Enabled Access Point SPI Serial Peripheral Interface bus TCP Transmission Control Protocol UDP User Datagram Protocol WiFi Wireless Fidelity
  • 10. SUMÁRIO 1 INTRODUÇÃO ....................................................................................... 9 1.1 Motivação .......................................................................................... 10 1.2 Objetivos ........................................................................................... 12 1.2.1 Objetivo Geral ......................................................................................... 12 1.2.2 Objetivos Específicos ............................................................................... 12 1.3 Revisão Bibliográfica .......................................................................... 13 1.4 Contribuições Tecnológicas e Científicas ............................................. 14 1.5 Estrutura do Trabalho ......................................................................... 14 2 MATERIAIS E MÉTODOS ...................................................................... 16 2.1 Arduino .............................................................................................. 16 2.2 DaqDuino ........................................................................................... 18 2.3 Esp8266 ............................................................................................. 18 2.4 Esp-12 ................................................................................................ 19 2.5 NodeMCU V3 ..................................................................................... 21 2.6 Roteador ............................................................................................ 22 2.7 Circuito elétrico com dinâmica subamortecida ................................... 22 2.8 Kit protótipo cadeira de rodas ............................................................. 23 2.9 Robô móvel ........................................................................................ 25 2.9.1 Ponte H (L9110s) ..................................................................................... 25 2.9.2 Sonar (Ultrasonic Ranging Module HC-SR04) ........................................... 27 3 DESCRIÇÃO DO DAQWIFI .................................................................... 28 3.1 WiFi ................................................................................................... 28 3.2 O Protocolo de Transferência de Hipertexto (HTTP) ............................ 29 3.3 Configuração do Arduino IDE .............................................................. 30 3.4 Web Server (Biblioteca ESP8266WebServer) ....................................... 31
  • 11. 3.5 Funções do DAQWiFi no Matlab .......................................................... 33 4 TESTES E RESULTADOS ........................................................................ 34 5 APLICAÇÕES PARA DAQWIFI ............................................................... 37 5.1 Internet das Coisas ............................................................................. 37 5.2 Telemedicina e auxílio remoto à saúde (Healthcare) ........................... 38 5.3 Controle de sistemas remotamente .................................................... 39 5.4 Robótica ............................................................................................ 40 6 COSIDERAÇÕES FINAIS ...................................................................... 41 REFERÊNCIAS ..................................................................................... 44 APÊNDICE A - FUNÇÃO DAQWIFI_READ .............................................. 47 APÊNDICE B – FUNÇÃO DAQWIFI_WRITE ............................................ 48 APÊNDICE C – DAQWIFI NO ARDUINO IDE ........................................... 49 APÊNDICE D – EXEMPLO DE AQUISIÇÃO DE DADOS UTILIZANDO O DAQWIFI NO MATLAB ........................................................................ 52
  • 12. 9 1 INTRODUÇÃO A integração e supervisão de sistemas procura cada vez mais atender situações em que são necessários comandos remotos para estabelecer comunicação entre as partes integrantes de um sistema. Tomando como estímulo inicial a aplicação do sensoriamento remoto via Wi-Fi™ para um protótipo de uma cadeira de rodas comandado, um sistema do tipo aquisição de dados surgiu como solução de um dos passos para implementação de algoritmos específicos para serem usados na cadeira. Percebeu-se no decorrer do trabalho a necessidade tecnológica da plataforma DAQ (Data Aquisiton) via Wi-Fi dentro do ambiente científico da Universidade Federal do Pará, seja para a área de Controle e Automação de Sistemas como para áreas que possam utilizar a tecnologia desenvolvida, isto valida a importância deste trabalho de conclusão de curso. Uma vez citada a necessidade do trabalho, convém agora descrever um breve histórico da humanidade que culmina nas necessidades tecnocientíficas atuais. Na segunda metade do século XVIII, ocorreu um processo de transformação socioeconômica chamada Revolução Industrial. A contribuição deste período para o avanço das técnicas produtivas humanas foi de grande importância, pois deu início a uma disputa pela detenção do que há de mais avançado nos meios de produção. O sistema de produção artesanal se tornou fabril, impulsionado pelo advento das máquinas a vapor. Devido a esta notável evolução tecnológica, hábitos e costumes humanos foram severamente modificados, tornando necessária uma adaptação educacional que proporcionava capacitação na forma como os indivíduos lidavam com a tecnologia (HAAG; ARAUJO; VEIT, 2015). A adaptação educacional fez com que os estudos fossem direcionados para a formulação de novas teorias em diversas áreas do conhecimento. Na área de sistemas de controle, surgiu a chamada Teoria Clássica de Controle no domínio da frequência, a qual utilizava ferramentas matemáticas como as transformadas de Laplace e Fourier. O controle clássico mostrou-se adequado para resolver os problemas de controle durante e imediatamente após a Segunda Guerra Mundial. Sua abordagem no domínio da frequência era apropriada para sistemas lineares invariantes no tempo (LIT) de uma entrada e uma saída (SISO – Single Input and Single Output) (VILAÇA; SILVEIRA, 2013). A Teoria de Controle Clássico e suas técnicas gráficas não foram suficientes para sanar os problemas de controle suscitados pela corrida espacial, iniciada com o lançamento do Sputnik em 1957 pela extinta URSS. Era necessária uma teoria de controle que pudesse lidar com equações diferenciais não-lineares em sistemas multivariáveis. Desta forma, passam a ser
  • 13. 10 desenvolvidos novos métodos no domínio do tempo e frequência, os quais recebem um forte impulso com o desenvolvimento dos computadores digitais, que constituíam a plataforma tecnológica necessária para resolver os sistemas de equações diferenciais que produzem as leis de controle. Aparece, então, um novo método de projeto de controle, a Teoria de Controle Moderno, que passa a representar os sistemas por variáveis de estado. Adiante no eixo do tempo, até os dias atuais, é possível notar ainda mais a presença de grandes transformações com impactos colossais sobre a estrutura da nossa sociedade. Desta vez, o meio digital ocupa o papel principal no processo, sendo raras as áreas do conhecimento humano nas quais não está presente, alterando assim o enfoque do avanço científico e tecnológico. Dentre as diversas aplicações que o meio digital pode proporcionar, as de principal interesse neste trabalho estão focadas para o uso em sistemas de controle e automação via redes wireless. 1.1. Motivação Desenvolver um sistema de aquisição de dados de baixo custo é de fato muito interessante no cenário atual brasileiro de crise financeira e recessão socioeconômica. Outrossim, com o barateamento de microcontroladores como ATMEGA e ESP8266, desenvolvidos pelas empresas Atmel® e Espressif Systems®, respectivamente, os investimentos conseguem ficar mais baratos de forma que o estudo em controle e automação de sistemas seja menos abalado pelas alterações mercadológicas nacionais, apesar de realmente ter prejudicado o andamento de várias pesquisas. Para superar este cenário citado, uma das alternativas é gastar menos dinheiro e, para reduzir gastos, vias secundárias devem ser assumidas, por exemplo: na obtenção de instrumentos de pesquisas mais baratos. Porém a compra de instrumentos com menor custo acarreta trabalho a quem quer economizar. Uma placa de aquisição da Texas Instruments®, análoga ao ESP8266, pode apresentar elevado grau de robustez e acompanhar softwares de extrema qualidade e prontos para o uso. Estes fatores serão melhores discutidos no decorrer deste TCC, por enquanto uma comparação não detalhada de preços será feita para fatores motivacionais. A placa NodeMCU V3, também comercializada como NodeMCU 1.0, equipada com o ESP8266 (detalhes sobre componentes serão explicados mais no capítulo 2 deste TCC) pode ser encontrada em sites de compras via internet por U$2,76. Para a validação de economia de
  • 14. 11 gastos proposta neste trabalho, a tabela 1 foi desenvolvida comparando-se com os preços apresentados por outras empresas produtoras de sistemas de equipamentos do tipo Data Converters via WiFi. Tabela 1 – Comparativo de preços de placas de aquisição de dados via WiFi Equipamento/empresa Valor (dólar) CC3220RM2ARGKR / Texas Instruments™ U$ 10,45 (1) CC3220SF-LAUNCHXL / Texas Instruments™ U$ 49,99 (1) NI cDAQ-9191, 1-Slot WI-FI Chassis / National Instruments™ U$ 690,95 (2) NodeMCU V3 U$ 2,76 Measurement and Computing Não possui Festo Não possui ABB Não possui Honeywell Não possui Fonte: Autoria própria. Nota: valores sujeitos a alterações ao passar do tempo. (1) Disponível no site oficial da Texas Intruments™. (2) Disponível no site oficial National Instruments™. A comparação entre os componentes descritos na tabela é difícil de ser feita uma vez que existem funcionalidades extras acopladas a cada um dos equipamentos. Alguns destes possuem mais quantidade de pinos de entrada e saída, outros possuem diferenças de limites de voltagem, divergências de fretes, diferenças entre lojas autorizadas revendedoras etc. Recomenda-se acessar as referências do trabalho para um melhor detalhamento acerca das funções de cada um dos dispositivos. Contudo, com a pesquisa de preços realizada é fácil de concretizar a ideia de que o melhor custo-benefício reside no NodeMCU. Como foi dito no primeiro parágrafo da introdução, o desenvolvimento do sistema de aquisição de dados chamado DAQWiFi foi impulsionado como forma de resolver um problema particular de controle e sensoriamento de um protótipo de uma cadeira de rodas. Percebeu-se depois que esta resolução encontrada pode ser estendida para várias outras utilidades condizentes com o sensoriamento e controle remoto que serão melhores explanadas nos capítulos seguintes. Embora neste TCC exista um tópico especial de motivação, esporadicamente, explicações relevantes que ratificam os objetivos do trabalho e impulsionam para trabalhos futuros serão apreciadas.
  • 15. 12 Tudo o que foi explanado converge para justificar as necessidades de vivenciar processos de aquisição e controle em tempo real e, simultaneamente, observar na tela de um computador a representação de dados colhidos, oportunizando assim, melhor compreensão não só do estágio atual do mundo científico, como também do que ocorre no estudo de engenharia biomédica, quando são realizados exames de análise de imagens e sinais provenientes do corpo humano, ou nos sistemas de controle em uma indústria, ou ainda na robótica aplicada. 1.2. Objetivos 1.2.1. Objetivo Geral Desenvolver um sistema de aquisição de dados e de envio de sinais de controle utilizando WiFi. 1.2.2. Objetivos Específicos ➢ Enriquecer as experiências de aprendizagem propiciando alternativas para o pesquisador, estudante e/ou profissional compreender e relacionar os resultados obtidos e os conceitos vinculados à fundamentação teórica do experimento; ➢ Disponibilizar material com designação de propiciar ensino ao uso do sistema DAQWiFi para fins didáticos e acadêmicos; ➢ Permitir a realização de experimentos que envolvam medições com períodos de amostragem em frações de segundos o que seria impossível de ser feito manualmente; ➢ Obter informações de experimentos com maior precisão e mais rapidamente; ➢ Explorar experiências que podem demandar grande período de monitoramento, sendo o computador (ou qualquer outro dispositivo de memória) o responsável pelo armazenamento dos dados; ➢ Propiciar redução no tempo gasto para a coleta de dados, permitindo que o pesquisador disponha de maior tempo para desenvolver outras habilidades e competências;
  • 16. 13 ➢ Disponibilizar de sistema de aquisição de dados de fácil manutenção e manuseio, sendo possível consertar o equipamento gastando pouco dinheiro e em menor tempo; ➢ Possibilitar monitoramento remoto de sensores através de múltiplos hosts; ➢ Enviar sinais de comando para atuadores através de múltiplos hosts. 1.3. Revisão Bibliográfica A maioria do material escrito encontrado sobre o uso do NodeMCU é referente à Internet das coisas (IoT), poucos são direcionados à área de sistemas de controle, justamente porque enviar um sinal de comando com precisão, remotamente, requer um empenho maior no algoritmo de programação. Outro grande empecilho encontrado com clareza em alguns trabalhos, e de forma oculta em outros, é quanto ao atraso de comunicação, o que passa a ser um problema para sistemas com dinâmicas mais rápidas, por isso a maioria dos trabalhos é direcionada ao monitoramento de temperatura e nível de líquido em um tanque. No trabalho de Souza et al. (2017) é explorada uma forma de melhoria da arquitetura da rede, construída com o objetivo de prover, através de regras, o gerenciamento proativo das interações do meio físico. Pode-se perceber neste trabalho uma tentativa de ligar o sensoriamento remoto à tarefa de controle de forma que comece a atuar quando se chega a um ponto crítico. Existem diversos outros trabalhos publicados na Internet que se utilizam do ESP8266, mas ele ainda carece de registros mais formais e mais abrangentes. Apesar da sua comunidade de usuários já ser considerável, seu uso no meio acadêmico ainda é pouco definido (OLIVEIRA, 2017). Em Fernandes et al. (2016), encontra-se um dos trabalhos mais próximos ao que é realizado neste TCC, onde utilizam o módulo ESP8266 como sistema de aquisição de sinais ECG processado pelo LabWIEW® através de comunicação WiFi. Existem alguns pontos que diferenciam os trabalhos, um deles é que neste TCC o programa é capaz tanto de receber dados dos sensores como enviar, outros pontos são: a utilização do Matlab ao invés do LabVIEW® (opta-se pelo Matlab para o DAQWiFi, devido a maior familiaridade com a linguagem de programação e pela facilidade de seu uso no meio acadêmico no LACOS-UFPA); a capacidade de amostragem do DAQWiFi ser menor do que a frequência de amostragem utilizada no artigo
  • 17. 14 de Fernandes et al. (2016); o DAQWiFi ser capaz de trabalhar sem conexão via Internet, comunicando-se apenas por meio de sinais de radiofrequência WiFi entre os dispositivos conectados a ele, ou seja, atualizando o endereço do roteador sem fazer contato com o mundo externo via Internet. Tanto no trabalho de Oliveira (2017) como no de Guerra (2016), o objetivo é a automação residencial via ESP8266. O primeiro trabalho relata como utilizar o microcontrolador pareado ao celular visando controlar o acendimento de lâmpadas em um ambiente residencial. O segundo trabalho foca no uso de um protocolo chamado X10 que estrutura comunicação de envio e recepção de dados através da rede elétrica. 1.4. Contribuições Tecnológicas e Científicas O cenário vivenciado pelo Laboratório de Controle e Sistemas (LACOS) da UFPA não apresentava até a escrita deste trabalho uma tecnologia capaz de captar dados de sensores e ao mesmo tempo enviar sinais de comando remotamente via WiFi. Através da produção contida neste TCC, foi possível não só realizar isso, como também foi possível utilizar rede WiFi para fazer a comunicação dos dispositivos de maneira que qualquer pessoa conectada à rede pode controlar qualquer dispositivo também conectado. Anteriormente, para fazer experimentos com plantas reais no LACOS-UFPA, usava-se o sistema DaqDuino (SILVEIRA, 2013) através da porta serial. O DaqDuino se tornou bastante difundido entre os pesquisadores do laboratório e entre os estudantes de graduação de engenharia biomédica da UFPA por proporcionar uma alternativa de baixo custo servindo como auxílio de placa de aquisição e de comandos lógicos PWM. É importante deixar claro o porquê de existirem contribuições não só tecnológicas como também científicas neste TCC, isso ocorre devido ao pressuposto de que apesar do sistema DAQWiFi não apresentar novidades claras de caráter científico, o mesmo será utilizado para experimentos comprobatórios de algoritmos avançados na área de controle e automação de sistemas e outras áreas que podem se beneficiar, como: inteligência computacional (algoritmos genéticos, redes neurais artificiais), Internet das coisas, engenharia aeronáutica, telecomunicações, sistemas de potência. Portanto, dependendo do ponto de vista, existem contribuições científicas indiretas.
  • 18. 15 1.5. Estrutura do Trabalho O Capítulo 1 corresponde à introdução deste trabalho. Logo a seguir, o leitor observará a seguinte estrutura organizacional dos capítulos: Capítulo 2: apresenta-se a gama de componentes utilizados, correlacionando-os, para posteriormente ser explicado o porquê de seu emprego neste trabalho; inicia-se falando sobre os Arduinos existentes e o microcontrolador ATmega, onde, dentro deste escopo, o DaqDuino foi criado e justificado; indaga-se, posteriormente, explicações sobre a placa NodeMCU V3 e as plantas de segunda ordem e o protótipo da cadeira de rodas. Capítulo 3: descreve-se os aspectos inerentes ao DAQWiFi bem como as tecnologias por ele utilizadas como o WiFi, o HTTP, as formas de configuração do Arduino IDE, a estrutura física para realização das comunicações, o uso de bibliotecas do ESP8266 e das funções orientadas a objetos no Matlab. Capítulo 4: são apresentados os testes experimentais e os resultados obtidos através do uso das plantas apresentadas no capítulo 2. Também é possível ter acesso a um programa simples em Matlab para fazer aquisição de sinais, implementando assim o DAQWiFi. Capítulo 5: algumas aplicações passivas da utilização do DAQWiFi são explanadas com intuito de indagar possíveis pesquisas nas respectivas áreas, dentre elas: sistemas de controle, Internet das coisas, telemedicina e robótica. Capítulo 6: os resultados são discutidos culminando nas conclusões finais acerca dos procedimentos utilizados nesta monografia.
  • 19. 16 2 MATERIAIS E MÉTODOS Para haver coleta de sinais analógicos através de um microcomputador é necessária a conversão destes sinais para a domínio digital específico que o computador utiliza. Geralmente, o sinal analógico é a diferença de potencial existente entre os terminais de um sensor, que por sua vez é convertido numa informação binária composta pelos bits 0 (baixo/low) 1 (alto/high), que é coletada por uma das portas de comunicação do microcomputador com o mundo externo. Neste tópico os enfoques serão, principalmente, a infraestrutura e os hardwares utilizados para a realização deste trabalho. Sempre que possível, o texto explicará os fatores justificativos do uso dos materiais empregados, apesar de no capítulo 1 já se expor parcialmente estas características. 2.1 Arduino “Arduino é uma plataforma eletrônica de código aberto baseada em hardware e software fáceis de usar. As placas Arduino são capazes de ler entradas - luz em um sensor, um dedo em um botão ou uma mensagem do Twitter - e transformá-lo em uma saída - ativando um motor, acendendo um LED, publicando algo online. Você pode informar ao seu conselho o que fazer, enviando um conjunto de instruções para o microcontrolador no quadro. Para isso, usam-se a linguagem de programação Arduino e o software Arduino IDE, com base no processamento.” (ARDUINO, 2018). As placas Arduino são comumente utilizadas no Brasil como microcontrolador embarcado de baixo custo. Há várias versões da placa, com por exemplo: Arduino Uno e Arduino Nano. Com o intuito de se familiarizar e obter informações e características visuais das placas as figuras 1 e 2 são mostradas.
  • 20. 17 Figura 1 - Arduino Uno. Fonte: https://www.filipeflop.com/produto/placa-uno-r3-cabo-usb-para-arduino/ Figura 2 – Arduino Nano Fonte: https://www.robotshop.com/uk/arduino-nan-v-3.html. O Arduino (generalização para as diversas placas Arduino existentes) não foi usado diretamente neste TCC, porém o uso dele no LACOS-UFPA foi um dos principais fatores que impulsionaram a criação do sistema DAQWiFi, pois, nesta ocasião, o Arduino costuma ser utilizado por meio de um programa chamado DaqDuino (SILVEIRA, 2015), desenvolvido no LACOS e GCS (Grupo de Controle de Sistemas) da UDESC e disponível no site oficial do Mathworks, que possui função de aquisição de dados e envio de sinais de comando utilizando a porta serial USB do computador. Torna-se de fácil percepção a correlação entre os programas DaqDuino e DAQWiFi, sendo o segundo impulsionado pelo primeiro, o que recai na motivação sobre contribuição tecnológica que este TCC propõe. Por enquanto, a descrição dos programas de aquisição de dados não é o enfoque, ao invés disso, os aspectos de hardware do Arduino serão abordados com o intuito de oferecer posteriormente comparações entre Arduino e NodeMCU e as dificuldades enfrentadas devido às diferenças entre eles.
  • 21. 18 2.2 DaqDuino Criado em 2013, o DaqDuino é um dispositivo de aquisição de dados (DAQ) baseado em Arduino para Matlab e Scilab. Foi construído para permitir práticas de sistemas controlados por computador em ambientes universitários de baixo orçamento. O DaqDuino funciona como qualquer dispositivo USB DAQ, mas o custo total é inferior a U$ 10.00, que é o custo de um Arduino Nano (SILVEIRA, 2013). A placa do Arduino é programada para realizar comunicação serial através de 4 (quatro) principais funções: a) Daqduino_start(“COMPORT”): inicia o programa e estabelece conexão com a porta serial onde o Arduino for conectado; b) [y]=Daqduino_read: recebe em “y” os valores provenientes dos sensores nas portas analógicas do Arduino; c) Daqduino_write(u,Ts): envia um sinal de comando “u” a cada “Ts” segundos; d) Daqduino_end: finaliza a utilização do DaqDuino. 2.3 ESP8266 O ESP8266 é um microcontrolador com sistema de comunicação WiFi próprio embutido, o que o torna diferente de outros microprocessadores que necessitam de Shields WiFi, como o Arduino. Produzido pela empresa Espressif Systems, o ESP8266 se tornou bastante difundido a partir de 2014, ano de início de sua venda no mercado. Todavia, existem poucas informações detalhadas disponíveis sobre ele no meio acadêmico. A literatura mais completa (que pode ser verificada ao longo da pesquisa deste trabalho) sobre o ESP8266 e suas diversas versões até a data de escrita deste TCC está disponível no “Kolban’s Book on ESP8266” (KOLBAN, 2015). Este livro demonstra como programar o ESP8266, quais são suas principais utilidades e como funciona a eletrônica necessária para realizar projetos. Além do livro, existe aula paga para instruções de uso do ESP8266 (SCHWARTZ, 2015). Esta aula é virtual e no período atual custa U$27,00 na versão Standard e U$34,00 na versão Premiun.
  • 22. 19 Como dito anteriormente, a principal diferencial entre o ESP8266 e o Arduino é de no primeiro existir um microprocessador com tecnologia WiFi e, acrescentando, os 17 pinos GPIOs podem ser configurados para entrada e saída de dados. Outras características inerentes ao WiFi do ESP8266 são: a) o espectro de frequência ISM utilizado é 2,4GHz; b) suporta modo de segurança WPA e WPA2; c) possui padrões de rede wireless: 802.11 b/g/n/d/e/i/k/; d) pode ser Station, SoftAP ou Station + SoftAP (isto permite a utilização do dispositivo tanto como roteador, como cliente-servidor). Existem vários tipos de modelos do ESP8266, sendo diferenciados apenas pelo número de GPIOs disponíveis, memória do hardware e espaço entre os pinos. O modelo utilizado pelo NodeMCU 1.0 é o ESP-12 – o modelo que possui mais pinos, atualmente -, contudo outros também podem ser encontrados no mercado, como o ESP-1 e o ESP Olimex. 2.4 ESP-12 Através do ESP-12, exemplificado na figura 3, é possível ativar diversos dispositivos ao “mesmo tempo” por meio dos pinos que estão especificados no quadro 1. É necessário salientar que os pinos GPIOs podem ser utilizados tanto para entrada como para saída do microcontrolador. É importante lembrar também que no trabalho são usadas algumas siglas típicas que englobam conceitos da computação, as quais podem ser encontradas facilmente através de pesquisas em sites de buscas e em livros didáticos de engenharias da computação e de telecomunicações.
  • 23. 20 Figura 3 – ESP-12 Fonte: http://www.alselectro.com/wifi-esp8266-esp-12-demo-board-rs232.htm. Quadro 1 - Pinos do ESP-12 tiradas do (livro) Nome Descrição VCC 3.3V GPIO 13 Pode ser usado como SPI MOSI GPIO 12 Pode ser usado como SPI MOSI GPIO 14 Pode ser usado como SPI MOSI GPIO 16 CH PD Enable do ESP8266 Nível lógico 1 - Ativado Nível lógico 0 – Desativado ADC Entrada analógico para digital Reset 1 - Normal 0 – Reset TXD Tramissão serial RXD Recepção serial GPIO 4 GPIO normal GPIO 5 GPIO normal GPIO 0 Deve estar em nível lógico 1 para inicialização do programa(boot mode) e 0 para carregar o programa (flash mode) GPIO 2 deve estar em nível lógico 1 para inicialização do programa (boot mode) GPIO 15 Deve estar em nível lógico 0 para carregar o programa (flash mode) e para inicialização do programa (boot mode) GND Terra Fonte: (KOLBAN, 2015).
  • 24. 21 2.5 NodeMCU V3 Todo sistema embarcado é composto por uma unidade de processamento, que é um circuito integrado, fixado a uma placa de circuito impresso. Os sistemas embarcados possuem uma capacidade de processamento de informações vinda de um software que está sendo processado internamente nessa unidade, logo, o software está embarcado na unidade de processamento. Todo software embarcado é classificado de firmware (BALL, 2005). O firmware é o conjunto de instruções operacionais programadas diretamente no hardware de um equipamento eletrônico. O NodeMCU é um firmware de código aberto baseado no ESP8266, fazendo com que o microcontrolador possa ser programado nas linguagens Lua e Arduino, sendo a última utilizada para desenvolver o sistema proposto neste TCC. A placa NodeMCU 1.0, possui a disposição de pinos conforme exposto na figura 4. Figura 4 – NodeMCU V3. Fonte: https://www.marginallyclever.com/product/nodemcu-lua-wifi-v3-development-board-esp8266/. A tensão de operação do ESP8266 é de 0V à 3,3V tanto para a entrada de sinais como para saída de sinais PWM, o que difere do Arduino que varia de 0V à 5V. Para entender melhor quais são as principais diferenças de hardware entre o NodeMCU e o Arduino (por exemplo, o Arduino Uno), o quadro 2 foi realizado.
  • 25. 22 Quadro 2 – Comparativo entre NodeMCU 1.0 e Arduino UNO. NodeMCU 1.0 ARDUINO UNO Tensão de operação 3,3V 5V Alimentação 3,3V à 5V 7V à 12V Memória Flash 4 MB 32 KB Resolução conversor A/D 1024 níveis (10 bits) 1024 níveis (10 bits) Resolução conversor D/A 1024 níveis (10 bits) 256 (8 bits) Portas PWM Até 9 6 Processador Tensilica L106 32bits ATmega 328 Fonte: Autoria própria. 2.6 Roteador Neste TCC, foram testados dois tipos de roteamento cujos papeis são de responsáveis pela interconexão entre o NodeMCU e o computador: o roteamento proveniente do celular Moto G5 Plus e o roteador Cisco DPC3925. O objetivo da utilização de ambos reside em fazer comparações quanto ao tempo de atraso de comunicação, mobilidade do roteador, área de abrangência, limites de hotspots e principalmente, desempenho e taxa de queda de conexão. 2.7 Circuito elétrico com dinâmica subamortecida O intuito de usar uma placa de segunda ordem para realizar a primeira aquisição de dados do DAQWiFi é justificado devido a alguns sistemas existentes na natureza apresentarem respostas com característica subamortecida, proporcionando generalizações dos fenômenos físicos envolvidos e dos modelos matemáticos estudados na disciplina controle de sistemas. Por exemplo, a dinâmica apresentada por uma planta de bancada pode ser correlacionada à dinâmica de grandes máquinas do mundo real, assim como também o movimento em um grau de liberdade de um quadrirrotor pode possuir o mesmo tipo de resposta a um estímulo quando comparado a um sistema de segunda ordem (NOGUEIRA; SILVEIRA, 2016). O primeiro passo a ser dado para a implementação do DAQWiFi é o teste de aquisição em plantas SISO. A planta escolhida para esta tarefa foi o circuito eletrônico de segunda ordem, que é representado pelo esquemático da figura 6, o qual tem a finalidade de possibilitar uma reprodução dos testes feitos neste TCC. Uma imagem real da planta utilizada é mostrada na
  • 26. 23 figura 6, onde é possível ver a simplicidade do uso da planta, sendo necessárias três conexões: sinal de comando (PWM), sinal de saída (resposta do sistema) e tensão de aterramento (ground). Percebe-se a dinâmica de segunda ordem do sistema devido a ordem do denominador da função de transferência mostrada na equação 1, que representa o esquemático da figura 5, onde: 𝑅 = 560𝑘Ω; 𝑅1 = 2 × 560𝑘Ω; 𝐶 = 0,1𝜇𝐹. Ainda sobre o diagrama mostrado na figura 5, os estágios que adicionam polos ao sistema são representados pelos amplificadores operacionais em conjunto com seus componentes. Para entender a elaboração dos estágios de amplificação que geram polos na função de transferência a obra de Ogata (2003) pode ser consultada. 𝐺( 𝑠) = 1 𝑅𝑅1 𝐶2 𝑠2+( 1 𝑅1 𝐶 )𝑠+ 1 𝑅𝑅1 𝐶2 (1) Figura 5 – Diagrama de circuito do processo eletrônico subamortecido. Fonte: Material de aula da disciplina Controle Digital (SILVEIRA, 2015). Figura 6 – Processo eletrônico subamortecido. Fonte: Material de aula da disciplina Controle Digital (SILVEIRA, 2015).
  • 27. 24 2.8 Kit protótipo cadeira de rodas A movimentação de uma cadeira de rodas depende do algoritmo de controle e automação que está sendo executado no microcontrolador. Acrescentando analogia, as funções desempenhadas por um protótipo de cadeira de rodas podem ser estendidas a uma cadeira de rodas real. Além dos sensores e atuadores da cadeira serem ideais para os testes do programa DAQWifi versão MIMO, o próprio uso de algoritmos na cadeira expõe soluções importantes para a população brasileira e mundial para qualquer que seja o cadeirante. O uso de cadeira de rodas abrange não só pessoas com deficiência física, como também idosos e pessoas que sofreram trauma físico (fratura, luxação). Ao decorrer dos anos, além do aumento de natalidade da população mundial, a longevidade do ser humano está cada vez mais presente. A população idosa nunca cresceu tanto e nunca foi tão numerosa. Atrelado a isto, doenças típicas de cunho geriátrico tem se tornado mais comuns na sociedade atual. Com intuito de apresentar projeção de envelhecimento através de pirâmides etárias da população brasileira e paraense nos anos 2010, 2020 e 2030, respectivamente, a figura 7 é mostrada. É possível perceber o achatamento da pirâmide devido a diminuição de natalidade e o aumento da idade de mortalidade. As mudanças nas pirâmides ocorrem, pois, a população está mais consciente quanto ao custo que um filho carrega consigo e há um aumento no uso de técnicas contraceptivas e na melhoria do fornecimento a saúde acompanhado de inovações científicas nesta área. O parágrafo anterior pode parecer desconectado com os objetivos do trabalho, porém o que se pretende expor são os aspectos iniciais justificadores dos resultados do TCC. O parágrafo anterior condiz com a motivação para o uso do protótipo da cadeira de rodas que culminou no desenvolvimento do sistema embarcado DAQWiFi. Ao mesmo tempo que as propostas são justificadas, nota-se uma aplicação direta do DAQWiFi que será melhor explicada no capítulo 3, assim como, neste referido capítulo serão incluídas outras aplicações. Para entender a descrição do programa DAQWiFi versão MIMO será necessária uma breve apresentação dos componentes integrantes da cadeira dizendo como os mesmos funcionam.
  • 28. 25 Figura 7 – Projeção das pirâmides etárias no estado do Pará nos anos 2010, 2020 e 2030. Fonte: IBGE. 2.9 Robô Móvel O Robô Móvel corresponde ao protótipo da cadeira de rodas, o qual é composto pelo kit de estrutura física, dois encoders, uma ponte H, duas baterias de 9V, uma placa NodeMCU V3, um sensor ultrassônico de distância, um regulador de tensão e dois motores DC. Através deste hardware citado é possível estabelecer conexão WiFi com o robô móvel. O esquema organizacional de disposição dos componentes do protótipo é mostrado na figura 8. A seguir será explicado o funcionamento mais detalhado dos componentes do hardware. Figura 8 – Esquema organizacional dos componentes do protótipo da cadeira de rodas. Fonte: Autoria própria.
  • 29. 26 2.9.1 Ponte H (L9110s) O módulo L9110s de dois canais é uma placa compacta que pode ser usada para acionar motores pequenos. Este módulo possui dois chips de driver de motor independentes que podem conduzir até 800mA de corrente contínua. A placa pode ser operada de 2,5V à 12V permitindo desta forma o uso acoplado a microcontroladores de 3,3V e 5V. Um sinal de modulação de largura de pulso (PWM) é usado para controlar a velocidade de um motor, enquanto um sinal digital do tipo alto (HIGH) ou baixo (LOW) determina o sentido horário ou anti-horário de rotação do motor. O L9110s funciona com lógica invertida, portanto os valores máximos de voltagem aplicada correspondem aos valores mínimos de bits. O diagrama esquemático da ponte H é exposto na figura 9 e uma amostra do componente é mostrado na figura 10. Figura 9 – Diagrama de circuito esquemático do módulo L9110s. Fonte: http://me.web2.ncut.edu.tw/ezfiles/39/1039/img/617/L9110_2_CHANNEL_MOTOR_DRIVER.pdf.
  • 30. 27 Figura 10 – Dispositivo físico referente ao módulo L9110s Fonte: http://me.web2.ncut.edu.tw/ezfiles/39/1039/img/617/L9110_2_CHANNEL_MOTOR_DRIVER.pdf. 2.9.2 Sonar (Ultrasonic Ranging Module HC-SR04) O módulo de Ultrassom utilizado neste projeto é capaz de medir distâncias entre 2cm e 400cm. A precisão do sensor varia a cada 3mm, que conta com módulos transmissores, receptores e circuitos de controle. A alimentação do dispositivo de ultrassom é de 5V. A seguir será descrito o princípio básico de funcionamento do sensor: a) O pino trigger manda um sinal (onda mecânica) de aproximadamente 10us; b) O módulo automaticamente envia um ciclo de oito ondas de 40kHz e detecta se há um sinal de pulso na volta; c) Caso o sinal volte em alto nível, significa que a distância entre o sensor e um obstáculo é proporcional ao atraso entre envio e recepção do sinal. Para ilustrar o funcionamento que acabou de ser descrito, as figuras 11 e 12 são mostradas.
  • 31. 28 Figura 11 – Sensor Ultrassônico. Fonte: http://www.micropik.com/PDF/HCSR04.pdf. Figura 12 – Esquema de funcionamento do sensor ultrassônico. Fonte: http://www.micropik.com/PDF/HCSR04.pdf.
  • 32. 29 3 DESCRIÇÃO DO DAQWIFI Neste capítulo o foco será a descrição do DAQWiFi, explicando como as implementações foram feitas e como adaptar as versões de acordo com o número de variáveis para o caso MIMO, tanto no Matlab como no Arduino IDE. Apesar de existirem os programas completos no apêndice da monografia, optou-se por expor trechos dos programas na própria estrutura do capítulo para que o leitor saiba exatamente onde fazer as alterações no programa de acordo com seus objetivos e para facilitar a leitura, já que a toda hora serão feitas referências às linhas dos programas. Outrossim, esquemas da operação do sistema DAQWiFi serão apresentados em concordância com o texto descrito neste capítulo. 3.1 WiFi Uma das principais tecnologias utilizada na construção de redes sem fio de baixo custo para a conexão com a internet, atualmente, é a família de protocolos 802.11 IEEE, também conhecida entre muitos como WiFi. A família 802.11 de protocolos de transmissão por rádio (MACFARLAN; WONG, 2003) -por exemplo: 802.11a, 802.11b e 802.11g - tem incrível popularidade no mundo atual. Através da implementação de um conjunto comum de protocolos, os fabricantes de todo o mundo conseguiram construir equipamentos altamente interoperáveis. Esta decisão provou ser significativa para a rápida expansão da indústria e consumidores da tecnologia, que podem utilizar um equipamento que implemente o protocolo 802.11 sem temer a prisão a um determinado fornecedor. Como resultado, os consumidores são capazes de comprar equipamentos de baixo custo em um volume que tem beneficiado os fabricantes. Caso os fabricantes tivessem optado por implementar, cada um, protocolos proprietários, as redes sem fio não seriam tão baratas e ubíquas – onipresentes - como nos dias de hoje (WNDW, 2008). WiFi é uma abreviação de “Wireless Fidelity”, que significa fidelidade sem fio, em português. Wireless é uma tecnologia de comunicação que não faz uso de cabos e, geralmente, é transmitida através de frequências de rádio. O WiFi é um tipo de rede wireless que utiliza frequências na faixa de 2,4GHz para transmissão de dados.
  • 33. 30 O WiFi não necessita de licença para instalação e operação. Para se acessar uma rede WiFi é necessário estar na área de abrangência de um ponto de acesso, chamado de hotspot, ou também em locais públicos que possuem WiFi. Para utilizar a tecnologia, deve-se possuir um dispositivo móvel, como computador portátil, tablet ou celular, para poder acessar a Internet. 3.2 O Protocolo de Transferência de Hipertexto (HTTP) Primordialmente usado por pesquisadores, acadêmicos e estudantes universitários durante a década de 1990, a Internet servia para realizar comunicação entre dispositivos hospedeiros locais e hospedeiros remotos. Durante a época referida, a Internet, como forma de comunicação emergente, começou a ficar conhecida devido a uma fundamental aplicação, a criação da World Wide Web (BERNERS-LEE et al., 1994). Com a criação da Web, a vida de muitas pessoas ao redor do mundo mudou drasticamente, a forma de transmissão de dados entre muitos dispositivos foi redirecionada para a utilização da Internet (WERTHEIN, 2000). O Protocolo de Transferência de Hipertexto (em inglês, Hypertext Transfer Protocol) – é definido no RFC 1945 e no RFC 2616, disponíveis na IETF (Internet Engineering Task Force). O HTTP faz parte da camada de aplicação e é o responsável principal pelo funcionamento da Web. O protocolo trabalha através da troca de mensagens entre os sistemas conectados. Estas mensagens são padronizadas e especificam como o servidor e cliente se comunicarão. O HTTP usa o TCP como seu protocolo de transporte subjacente (em vez de rodar o UDP). O cliente HTTP primeiramente inicia uma conexão TCP com o servidor. Uma vez estabelecida a conexão, os processos do browser e do servidor acessam o TCP por meio de suas interfaces sockets (KUROSE; ROSS, 2010). Para requisitar solicitações de comunicação o HTTP utiliza comandos convencionados mostrados no quadro 3, onde também são explicadas as funcionalidades dos comandos. O método GET solicita ao servidor que envie à página, ou objeto, no caso mais genérico, apenas um arquivo. A página é codificada em MIME (Multipurpose Internet Mail Extensions) de forma adequada. A grande maioria das solicitações a servidores da Web tem a forma de métodos GET. O método PUT é o inverso do GET: ele grava a página ao invés de lê-la. Esse método possibilita a criação de um conjunto de páginas da Web em um servidor remoto. O corpo da solicitação contém a página, que pode ser codificada com o uso de MIME. Nesse caso, as linhas
  • 34. 31 após PUT, podem incluir “Content-Type” e cabeçalho de autenticação, para demonstrar que o cliente de fato tem permissão para executar a operação solicitada. Quadro 3 – Métodos de requisição do HTTP. Método Descrição GET Solicita a leitura de uma página da Web HEAD Solicita a leitura de um cabeçalho de página da Web PUT Solicita o armazenamento de uma página da Web POST Acrescenta a um recurso (por exemplo, uma página da Web) DELETE Remove a página da Web TRACE Ecoa a solicitação recebida CONNECT Reservado para uso futuro OPTIONS Consulta certas opções Fonte: (TANENBAUM, 2003). O método PUT é o inverso de GET: ele grava a página ao invés de lê-la. Esse método possibilita a criação de um conjunto de páginas da Web em um servidor remoto. O corpo da solicitação contém a página, que pode ser codificada com o uso de MIME. Nesse caso, as linhas após PUT, podem incluir “Content-Type” e cabeçalho de autenticação, para demonstrar que o cliente de fato tem permissão para executar a operação solicitada. Um pouco semelhante ao PUT é o método POST, que também transporta um URL. No entanto, em vez de substituir os dados existentes, os novos dados são "anexados" a ele, em um sentido mais genérico. Enviar uma mensagem a um newsgroup ou incluir um arquivo em um BBS (Bulletin Board System) são dois exemplos de anexação nesse contexto. Os métodos supracitados no texto foram os únicos usados neste trabalho, não houve necessidade de empregar outros, porém é importante citar outros métodos para recrutar possíveis opiniões de melhorias do DAQWiFi. 3.3 Configuração do Arduino IDE A programação da placa NodeMCU é feita através da IDE do Arduino. Basicamente o programa configura uma conexão WiFi através da porta serial para que se possa fazer uso do ESP8266 sem mais precisar do uso de comport. As informações são enviadas para URL responsável pela conexão entre o computador, o roteador e o ESP8266, conforme ilustrado na figura 13.
  • 35. 32 Figura 13 - Fluxo de dados entre os dispositivos que utilizam o DAQWiFi. Fonte: Autoria própria. Como dito anteriormente, o DaqDuino foi usado como referência para versão DAQWiFi. As quatro principais funções do Daqduino (daqduino_start, daqduino_write, daqduino_read e daqduino_end) foram alteradas e tornaram-se apenas duas, cujos nomes são daqWifi_read e daqWifi_write. Ao invés de fazer iterações que fazem requisitos da porta serial, agora os requisitos são através do endereço IP comum aos dispositivos. Para que o NodeMCU V3 possa ser programado utilizando a linguagem padrão do Arduino é necessário adicionar à placa as configurações de programação via Arduino IDE. Esta tarefa é feita através do gerenciador de placas, onde se deve incluir os dispositivos que aceitam o ESP8266. Os passos são: a) Acessar: Arquivo > Preferências; b) Adicionar a URL http://arduino.esp8266.com/stable/package_esp8266com_index.json em URLs adicionais de Gerenciadores de Placas e clicar em “Ok”; c) Acessar: Ferramentas > Placa > Gerenciador de Placas; d) Selecionar “esp8266 by ESP8266 Community” e concluir a instalação. 3.4 Web Server (Biblioteca ESP8266WebServer) As situações descritas nesta seção são baseadas no programa disponível no apêndice C, aludindo as funções empregadas para desenvolvimento do DAQWiFi no Arduino IDE. A classe ESP8266WebServer possui a estrutura de funções necessárias para a implementação de um servidor HTTP. Para que a comunicação através da classe citada exista é necessário indicar o número da porta TCP que será ouvida. O padrão para o HTTP utilizada
  • 36. 33 pelos navegadores é a porta 80. A comunicação através da porta 80 é o primeiro passo para estabelecer a conexão, após isso, serão necessárias outras configurações para que o programa possa rodar embarcado e consiga realizar alterações e análise de dados em tempo real. Uma vez que o objeto foi criado, uma ou mais funções de retorno de chamada que serão invocadas quando uma conexão do navegador for recebida são definidas. A função chamada “on()” é usada para registrar caminhos em uma URL que é utilizada conforme conveniência do programador. Em outras palavras, essas funções de retorno de chamada são inseridas no caminho de URL solicitado pelo navegador (KOLBANS, 2014). Sabe-se que a função “on()” aloca e gera um caminho URL. Porém, quem escolhe o endereço IP que também fará parte da URL é o próprio dispositivo de roteamento quando os comandos de solicitação de conexão e alocação de endereço forem chamados na função “void setup()”. Um exemplo de endereço IP alocado pode ser 192.168.1.30, onde os dois caminhos utilizados seriam http://192.168.1.30/input/ e http://192.168.1.30/output/: o primeiro dedicado à saída do sistema físico e entrada da placa NodeMCU; e o segundo responsável pelos sinais de controle correspondente a entrada do sistema físico e saída da placa. É conveniente lembrar que o endereço IP que entrará na URL não é fixo, basta uma reinicialização do roteador do sinal WiFi para que o endereço IP seja alterado e o URL seja outro. Uma vez explicada esta parte principal, agora o objetivo é demonstrar como o programa embarcado na placa interage com o Web Server via WiFi. Para isso, é necessário saber como algumas outras funções da classe ESP8266WebServer funcionam. Depois de rodar o programa no Arduino IDE o roteador reservará um endereço IP para alocar as operações realizadas entre Matlab e o ESP8266. Este processo é realizado somente uma vez. Qualquer uso seguinte não necessitará carregar a placa novamente, com exceção de quando houver falhas no roteador, por exemplo, falta de energia, reinicialização do roteador, mal funcionamento. Existindo alguma destas situações citadas, o roteador alocará outro endereço IP para ser usado, o qual será necessário para o funcionamento das funções do DAQWiFi no Matlab. Na figura 14, é possível acompanhar trechos do programa onde podem ser realizadas as operações de envios da função InputSignal(). As alterações entre sistemas SISO e MIMO são fáceis de fazer, porém como um dos objetivos deste TCC é de orientar o uso do DAQWiFi por alunos de engenharia, torna-se importante um exemplo explicativo. A quantidade de varáveis enviadas para o endereço URL está mostrado na linha 43 da figura 15. Para adicionar outras variáveis ao programa basta declará-las, realizar conversão de numeral para string e acrescentar
  • 37. 34 ao envio descrito no método serve.send(). Após esta etapa, basta configurar as funções no Matlab para que possam ser utilizadas com as novas variáveis. Figura 14 – Trecho do programa DAQWiFi embarcado no NodeMCU 1.0. Fonte: Autoria própria. 3.5 Programa Matlab O DAQWiFi possui duas funções principais para fazer o envio e a recepção de dados no Matlab: a daqWifi_read e a daqWifi_write. O papel da primeira é ler Strings de dados provenientes de sensores (ou outros dispositivos acoplados) disponíveis no ESP8266 e depois converter as Strings em números. A segunda tem por objetivo enviar sinais através de Strings para o NodeMCU, para isso, os dados numéricos no Matlab são convertidos para Strings. A seguir, será feita uma breve descrição de como funcionam as funções citadas neste parágrafo. As funções daqWifi_read e daqWifi_write funcionam através das funções do Matlab webread() e webwrite(), respectivamente, as quais podem ser usadas a partir da versão 2014 do Matlab. Os argumentos que estas funções utilizam são: o endereço URL onde estão os dados, os nomes e valores respectivos dos dados requeridos, o tipo de requisição (ex.: GET, POST, PUT) e o tipo de dados (ex.: texto, imagem, áudio). As implementações das funções que são usadas no DAQWiFi podem ser consultadas nos apêndices A e B, onde o primeiro corresponde a função daqWifi_read e o segundo ao daqWifi_write. Para maiores informações basta digitar o comando help do Matlab, onde as funções supracitadas estão bem descritas.
  • 38. 35 4 TESTES E RESULTADOS Um programa simples de aquisição de dados em Matlab pode ser visto no apêndice D. Tal programa contém o código que foi usado para a obtenção de dados a fim de testar a eficiência do DAQWiFi. A ativação do protótipo da cadeira de rodas também foi feita para realizar testes do tipo MIMO do programa. Os dois tipos de roteadores - moto G5 Plus e Cisco DPC3925 - foram utilizados para avaliar o desempenho dos mesmos para esta aplicação. É importante salientar que, nesta primeira versão do programa, a parte de comunicação não foi destrinchada minimamente de forma que os protocolos envolvidos talvez não fossem os melhores para serem usados em tarefas de controle de sistemas, as quais necessitam de frequência de amostragem elevada dependendo da planta a ser controlada. Devido a isso, foram realizados testes de funcionamento do programa para aquisição de dados e envio de sinais de comando no Matlab. Um loop de envio e recepção do DAQWiFi dura em média 0,4 segundos, fazendo com que a frequência máxima de amostragem possível nesta primeira versão do DAQWiFi seja de 2,5Hz. Porém, vale frisar que esta capacidade de amostragem foi realizada para controle de sistemas, sendo apenas uma das aplicações possíveis do programa. Quando se deseja apenas realizar a aquisição de sinais sem ser necessário o envio de sinal de comando, o período de amostragem se reduz ao utilizar apenas a função daqWifi_read. Os elementos do protótipo da cadeira de rodas, descrevidos no capítulo 2, foram montados e testados através do sistema DAQWiFi. O protótipo é mostrado na figura 15, onde é possível perceber a presença de um Arduino UNO que está sendo usado somente para fins de regulação de tensão e não de controle do sistema, tampouco de aquisição de sinais. A resposta do circuito de dinâmica subamortecida, relatado na subseção 2.4, foi testado através de resposta ao degrau. A resposta ao sinal de comando degrau de magnitude 1 (um) de duração 5,5 segundos e, em seguida, outro degrau de magnitude 0,5 é mostrada na figura 16. Estes procedimentos foram realizados várias vezes fazendo com que os gráficos das figuras 17 e 18 fossem plotados. Para realizar a medição do delay de comunicação os comandos “tic” e “toc” do Matlab foram utilizados, os quais iniciam e terminam a contagem do tempo, respectivamente, a cada loop do programa. É possível perceber, ainda, através dos gráficos gerados, picos de atraso de comunicação, os quais variaram muito nos diversos testes realizados, porém não sendo maiores que um segundo, com exceção de quando o próprio computador apresentava problemas de desempenho, ao reproduzir o programa em Matlab.
  • 39. 36 Os sinais provenientes dos sensores do protótipo da cadeira de rodas foram gerados, comprovando a funcionalidade do sistema DAQWiFi versão MIMO. Para exemplificar os resultados, o sensor ultrassônico, acoplado ao protótipo, foi posto a, aproximadamente, meio metro de distância e, em seguida, aproximado lentamente a um anteparo, conforme exibido na figura 20. A medição da velocidade de rotação das rodas do protótipo também foi realizada. Contudo, uma grande magnitude de ruído foi vista nos gráficos gerados, que adicionados à inconstância de atrasos de comunicação, tornou as representações gráficas difíceis de serem explicadas. Optou-se por omitir os resultados de medições de velocidade das rodas por meio dos encoders, porém com a certeza do funcionamento dos mesmos. Testes de respostas e análise de atraso de comunicação também foram feitos para o caso MIMO, obtendo-se o mesmo perfil de resultados mostrados nas figuras 17 e 18. Notou-se a diminuição de picos de atraso ao se utilizar o aparelho de roteamento da marca Cisco, supostamente devido a sua maior robustez comparada ao roteamento do celular. Constatou-se também que a distância e a quantidade de dispositivos conectados ao roteador também influência na taxa de transmissão de dados. Figura 15 – Protótipo da cadeira de rodas. Fonte: Autoria própria.
  • 40. 37 Figura 16 – Resposta do sistema subamortecido. Fonte: Autoria própria. Figura 17 – Atraso de comunicação para o roteador do Moto G5 Plus. Fonte: Autoria própria.
  • 41. 38 Figura 18 – Atraso de comunicação para o roteador Cisco DPC3925. Fonte: Autoria própria. Figura 19 – Teste do sensor ultrassônico do protótipo da cadeira de rodas. Fonte: Autoria própria.
  • 42. 39 5 APLICAÇÕES PARA O DAQWIFI Neste capítulo algumas aplicações possíveis para o sistema DAQWiFi serão explicitadas, as quais não estarão necessariamente testadas e avaliadas nesta monografia, contudo há expectativa de que seja possível realizá-las. Este capítulo não deixa de representar os possíveis trabalhos futuros que podem ser gerados através deste TCC, porém ao invés de serem direcionados em pontos específicos de melhorias no programa, tais trabalhos servem para indagar ideias para a utilização do DAQWiFi. 5.1 Internet das Coisas A Internet das Coisas (IoT) é a principal aplicação presente nas referências bibliográficas sobre o uso do ESP8266. O termo “Internet of Things” surgiu em setembro de 1999 (MANCINI, 2017), onde o ambiente em que sistemas embarcados funcionando com múltiplos sensores em tempo real se conectavam à Internet, recaindo assim em uma definição: A IoT é uma rede ou um sistema de dispositivos portadores de sensores capazes de adquirir e transmitir dados através de conexões via Internet. O surgimento da IoT incide em possibilidades de controle remoto de diversos dispositivos e não somente como troca de mensagens e informações, permitindo assim a atuação de um novo horizonte na computação. É interessante notar que tudo o que foi falado na introdução sobre disponibilidade de novas tecnologias e evolução industrial, mais o que vem sendo desenvolvido neste TCC, apontam em despertar a atenção para a capacidade de interconexão de dispositivos através de softwares inteligentes. Logo, é possível enxergar a Internet das Coisas como um tópico mais abrangente dos objetivos iniciais deste trabalho (em controle de sistemas) e de outros assuntos que também serão explanados adiante, como: Telemedicina e Robótica. Existem várias aplicações dentro da IoT, algumas delas estão ilustradas na figura 20, onde a nuvem é metaforizada como um sistema para múltiplas conexões remotas utilizadoras de redes wireless. Obviamente, a grande quantidade de dados disponíveis através dos sensores necessitará de tratamento para serem reconhecidos pelos softwares gerenciadores, logo se enxergam limites ao uso do DAQWiFi via ESP8266. Um deles é que o NodeMCU não suporta
  • 43. 40 a demanda para sistemas que necessitam mais de 5 conexões TCP/IP devido a limites de hardware. Figura 20 – Esquema conceitual de Internet das coisas (IoT). Fonte: https://www.i-scoop.eu/internet-of-things/ 5.2 Telemedicina e auxílio remoto à saúde (Healthcare) A telemedicina, resumidamente, quer dizer uso da tecnologia para prover saúde nas situações em que há distância entre quem realiza o serviço e o paciente. Vários sinônimos foram surgindo para o termo telemedicina como Telecare, Telessaúde, e-Health e Telehealth, porém todos possuem o mesmo conceito fundamental de monitoramento remoto na medicina. Outro termo que merece atenção para sanar as dúvidas pertinentes a nomenclatura na área da saúde é o Helthcare, que as empresas de tecnologia têm adotado para categorizar os dispositivos e qualquer outra tecnologia voltada para área da saúde (WEN, 2008). As aplicações da Telemedicina são variadas. A tecnologia tem sido aplicada em muitas especialidades da medicina convencional (adiciona-se o prefixo “Tele” junto ao nome das especialidades, indicando o uso da Telemedicina), entretanto com níveis de maturação e desenvolvimento diferentes para cada área. Telerradiologia e Telepatologia apresentam-se como as duas especialidades mais aplicadas dentro da Telemedicina atualmente. Algumas razões são apontadas como justificativas a este fato. Tipicamente, radiologistas e patologistas não interagem diretamente com o paciente, trabalhando, na maioria das vezes, apenas com o diagnóstico através de imagens. Desta forma, a prática da Telemedicina não difere ou altera a forma com que estes profissionais estão habituados a trabalhar. Este fato certamente contribuiu para a aceitabilidade
  • 44. 41 destas especialidades dentro da Telemedicina. É importante ressaltar que a maneira como as imagens chegam ao Radiologista ou ao Patologista, e como estas são apresentadas, pode ser diferente em Telemedicina (URTIGA; LOUZADA; COSTA, 2004). Além do uso da telemedicina na radiologia em hospitais, atualmente, existem muitos estudos direcionados ao monitoramento individual do corpo humano seja na própria residência ou ao praticar atividades cotidianas. Em Oliveira et al. (2016) um instrumento baseado em telemedicina para monitoramento residencial de indivíduos com doenças crônicas é descrito. É importante lembrar que esta tecnologia de monitoramento remoto ainda não é utilizada no Brasil, porém existe uma tendência mundial de implementar esse tipo de sistemas. No início de 2018 a FDA (U.S. Food and Drug Administration), agência que regula os setores de medicamentos e alimentos nos EUA, aprovou o primeiro algoritmo capaz de prever mortes repentinas por episódios cardiorrespiratórios. O sistema, batizado de Plataforma Clínica WAVE, correlaciona dados e antecipa padrões nas informações por meio de algoritmos numéricos. Mas mesmo que o sistema pareça promissor, ele ainda não pode ser utilizado fora do ambiente de uma unidade de terapia intensiva (ESTAR, 2018). Em Artanto et al. (2017), propõe-se a criação de um dispositivo que possa detectar antecipadamente o estado de sonolência do indivíduo ao dirigir veículo. Para isso, indicadores de sonolência baseados em períodos médios de fechamento das pálpebras são utilizados. Para realizar a medição emprega-se um driver de eletromiografia (EMG) de baixo custo projetado para ser acoplado ao ESP8266. 5.3 Controle de Sistemas Remotamente Uma tendência na área de Sistemas de Controle atual é o monitoramento remoto e em tempo real de sistemas. Um grande exemplo deste tipo de aplicação é em VANTs (Veículos Aéreos Não Tripulados), onde se vê a necessidade de realizar tarefas de alto desempenho com a certeza de que o que está sendo enviado ao VANT seja realizado com precisão. Objetivos como auto localização do VANT, estabilização dos propulsores e controle de movimentos em vários graus de liberdade podem ser realizados através do uso dos sensores embarcados visualizados na tela do computador, que por sua vez terá um algoritmo de controle atuando.
  • 45. 42 A grande vantagem do uso de sistemas como o DAQWiFi é de não necessitar reprogramar a placa embarcada para testar um novo algoritmo de controle em uma planta e de não necessitar de cabeamento físico para ter acesso aos dados de sensores da planta. Além de VANTs, situações em que a distância é uma varável crucial para a melhor forma de resolver problemas merecem atenção. Em Yuliandoko et al. (2017), em um cenário de grande incidência de chuvas na Indonésia, um mecanismo de proteção de desastres naturais (enchentes e desabamentos) é proposto. A intenção é controlar o nível de água dos rios represados em reservatórios para evitar desmoronamentos através de um sistema integrado de sensoriamento capaz de utilizar a obtenção de dados por meio de web server com o ESP8266. 5.4 Robótica Este subtítulo poderia estar junto ao subtítulo controle remoto de sistemas, porém se decidiu fazer um subtítulo separado pois nem todo sistema de controle é um robô e como uma das aplicações citadas anteriormente é possível de ser realizada com a versão 1 do DAQWiFi, dedicou-se especial atenção ao exemplo. Como a robótica é uma área grande e fascinante, optou-se por fazer um tópico separado a fim de despertar o interesse em realizar futuras aplicações nesta área. No estudo realizado por Bhuiya et al. (2017) é proposto um projeto de comunicação WiFi utilizando ATMega e o ESP-12 para robôs móveis, para isso, protocolos de comunicação são explorados. O interessante da colocação deste estudo neste TCC é que ele serve de complementação às técnicas descritas no decorrer do trabalho, pois as funções utilizadas por Bhuiya et al. (2017) não repassam por várias outras funções para executar uma ação, podendo reduzir o tempo de processamento.
  • 46. 43 6 CONSIDERAÇÕES FINAIS O trabalho é relevante no fomento de aparatos tecnológicos de baixo custo dentro da realidade acadêmica da Universidade Federal do Pará. Através do DAQWiFi será possível monitorar remotamente plantas com dinâmicas lentas (por exemplo: sistemas de controle de vazão de líquido, de variáveis químicas, de temperatura etc.), respeitando a velocidade máxima de amostragem que o programa é capaz de suportar. Nota-se uma grande chance de oscilações de atrasos de comunicação devido principalmente a fatores intrínsecos de velocidade do computador e do roteador. Apesar deste fator, o sistema funciona sem apresentar problemas e, para a primeira versão do mesmo, os resultados obtidos foram considerados satisfatórios para a realização de aplicações de sistemas de controle de processos lentos. Para a realização do protótipo da cadeira de rodas o DAQWiFi pode ser utilizado dependendo muito do objetivo desejado para o uso da cadeira. Objetivos que envolvem dinâmicas rápidas como um mecanismo anticolisão (onde em poucos milissegundos pode haver batida com um anteparo, dependendo da velocidade das rodas), podem não ser apropriados para esta primeira versão do DAQWiFi, todavia, ainda assim é possível este mesmo problema ser ajustado de forma que seja plausível resolvê-lo de acordo com o algoritmo de controle. Outra grande vantagem comprovada com o uso do sistema DAQWiFi é devido a fácil manutenção de componentes em caso de falhas, pois, da maneira que foi projetado, possibilita maior compreensão dos aspectos envolvidos no manuseio e montagem do sistema. O DAQWiFi mostrou-se como um aprimoramento do DaqDuino, justamente, por acrescentar comunicação via rede wireless. Ainda que esteja aquém em capacidade de amostragem ao DaqDuino, o DAQWiFi foi um passo importante para o aprimoramento tecnológico em um cenário regional no qual a UFPA faz parte. Até então, não existia tecnologia que vinha sendo trabalhada na Universidade Federal do Pará com finalidade de controle de sistemas por meio de comunicação sem fio. Sabe-se que existem estudos de comunicação sem fio sobre GSM, porém não atrelados ao controle e automação de sistemas, tais estudos podem ser conectados ao programa DAQWiFi em projetos futuros. Através do sistema desenvolvido, o DAQWiFi, juntamente com a escrita deste TCC, é possível ter material que propicia o aprendizado e o desenvolvimento de projetos em diversas
  • 47. 44 áreas da ciência, permitindo a realização de experimentos em tempo real e sem a utilização de fios para a comunicação, sendo esta realizada via WiFi. 6.1 Trabalhos Futuros No capítulo 5, várias aplicações de sistemas capazes de suportar o DAQWiFi foram mostradas. Os estudos citados podem ser reproduzidos para servirem como comparações entre os materiais e métodos utilizados nesta monografia e em outros trabalhos. O DAQWiFi não foi projetado para ser utilizado diretamente na indústria. Sua principal função é para experimentação de protótipos e plantas de bancada no meio acadêmico. Por isso, para estender a funcionalidade do DAQWiFi, são necessários estudos de robustez para possibilitar análises em vários tipos de sistemas. Como dito anteriormente, existem poucos estudos formais sobre o ESP8266, portanto os avanços em trabalhos futuros se tornam essenciais para a difusão deste tipo de tecnologia explanado nesta monografia. Melhorias no DAQWiFi devem ser realizadas a fim de reduzir o atraso de comunicação discutido nos capítulos anteriores. Estes avanços servirão para a formulação de uma segunda versão do sistema de aquisição proposto neste TCC. Algumas maneiras sugeridas de como realizar as melhorias são: através do aperfeiçoamento no uso de protocolos e na redução de funções orientadas a objeto que acabam executando procedimentos desnecessários à tarefa objetivada pelo DAQWiFi.
  • 48. 45 REFERÊNCIAS ARDUINO. What is Arduino? Disponível em: <https://www.arduino.cc/en/Guide/Introduction>. Acesso em: 15 fev. 2018. ARTANTO, Dian; SULISTYANTO, M. Prayadi; PRANOWO, Ign. Deradjad; PRAMESTA, Ervan Erry. Drowsiness Detection System based on Eye-closure using A Low-Cost EMG and ESP8266. 2nd International Conferences on Information Technology, Information Systems and Electrical Engineering (ICITISEE). 2017. BALL, Stuart R. – Embedded Microprocessor Systems: Real World Design. 3rd edition, Editora: MCPros, EUA, 2005. BEICHNER, R. J. The effect of simultaneous motion presentation and graph generation in a kinematics lab. Journal of Research in Science Teaching 27, 803. 1990. BEM Estar. Site Oficial da Rede Globo de Televisão: Portal de Notícias G1. Texto adaptado de BBC Brasil. Disponível em: <https://g1.globo.com/bemestar/noticia/como-funciona-o- algoritmo-capaz-de-prever-ataques-cardiacos-em- pacientes.ghtml?utm_source=facebook&utm_medium=share-bar- desktop&utm_campaign=share-bar>. Acesso em: 05 março 2018. BERNES-LEE, Tim et al. The Word Wide Web. Communications of the ACM. V. 37, n. 8. 1994. BHUIYA, Aritra; MUKHERKEE Aditya; BARAI, ; Ranjit Kumar. Development of Wi-Fi Communication Module for ATmega Microcontroller Based Mobile Robot for Cooperative Autonomous Navigation. IEEE Calcutta Conference (CALCON). 2017. BOLETIM técnico do senac, 1975-1987. Trimestral. BRAGA, Rodrigo Antonio Marques; Plataforma de Desenvolvimento de Cadeira de Rodas Inteligente. 2010. 246 f. Tese (Doutorado em Engenharia Informática) - Faculdade de Engenharia (FEUP), Universidade do Porto. Porto, p. 30. 2010. SILVEIRA, Antonio da Silva. DaqDuino. Matlab Central. 2015. Disponível em: <https://www.mathworks.com/matlabcentral/fileexchange/50784-daqduino>. Acesso em 17 março 2018 FERNANDES, Anamaria Coutinho; MAGALHÃES, Isa Natália Diniz de; SOUZA, ALVES, Marília; JUNIOR, Ademar Gonçalves da Costa; MOREIRA, Cleumar da Silva. Sistema de aquisição de sinais ECG processado pelo labview com comunicação WiFi por meio do módulo esp8266. COBENGE 2016. Melhores Artigos. GUERRA, Filipe Henrique Moreira. Automação Residencial de Baixo Custo com Protocolo X10 e ESP8266. 2016. 55 f. Trabalho de Conclusão de Curso. Universidade Federal de Ouro Preto. Ouro Preto. 2016.
  • 49. 46 HAAG, Rafael; ARAUJO, Ives Solano; VEIT, Eliane Angela. Aquisição de Dados no Laboratório de Física. Física na Escola, Rio de Janeiro: SENAC; v. 6. n. 1, 2015. KUROSE, Jim.; ROSS, Keith. Redes de Computadores e a Internet - 5ª Ed., Pearson, 2010. MACFARLAND, Bill; WONG Michael. The Family Dynamics of 802.11. QUEUE. Disponível em: ACM DL Digital Library. 2003. NOGUEIRA, Carlos Eduardo Durans; SILVEIRA, Antônio da Silva. Controle de um Pêndulo Amortecido Utilizando PID Clássico, Realimentação de Estados Estimados e GMV. XXVII Seminário de Iniciação Científica da UFPA. 2016. OLIVEIRA, Ricardo Rodrigues. Uso do Microcontrolador ESP8266 para Automação Residencial. 2017. 42 f. Trabalho de Conclusão de Curso. Escola Politécnica da Universidade Federal do Rio de Janeiro. Rio de Janeiro. 2017. KOLBAN, N. Kolban’s Book on ESP8266. 2016. Disponível em: <https://leanpub.com/ESP8266_ESP32>. Acesso em: 09 janeiro 2018 MANCINI, Mônica. Internet das Coisas: História, Conceitos, Aplicações e Desafios. PMI. São Paulo. Acesso em 23 outubro 2017. State of the Art Telemedicine. Disponível em: http://www.unifesp.br/dis/set/disciplina/materialdeapoio/StateoftheArtTelemedicine.pdf. Acesso em: 05 março 2018. MINATEL, P. Web server com ESP8266 e IDE Arduino. 2016. Disponível em: <http://pedrominatel.com.br/pt/arduino/web-server-com-esp8266-e-ide-arduino/>. Acesso em: 12 fevereiro 2018. NATIONAL INTRUMENTS. Chassi CompactDAQ: Modelo cDAQ-9191. Disponível em: http://www.ni.com/sic/configurator/configure.action?sfId=NI&wcs_l=pt- br&wcs_k=compactdaq-chassis&wcs_s=47149. Acesso em 02 março 2018. OGATA, K.; Engenharia de Controle Moderno. 4ª Edição. Prentice-Hall. 2003. OLIVEIRA, Nayara; SANTOS, Mayara; ALIGLERI, Leonardo; MELO, Pedro. Sistema portátil baseado em oscilações forçadas e Telemedicina visando o monitoramento de Pacientes respiratórios crônicos. XXV Congresso Brasileiro de Engenharia Biomédica – CBEB. 2016. SCHWARTZ, M. “Open Home Automation”. 2015. Disponível em: <https://openhomeautomation.net/products/getting-started-with-the-esp8266/control-a-lamp- remotely-using-the-esp8266-wifi-chip/>. Acesso em: 12 fevereiro 2018. SILVEIRA, Antonio da Silva. DaqDuino V1. 2013. Disponível em: <http://lacos.ufpa.br/>. Acesso em: 06 março 2018.
  • 50. 47 SOUZA, D. F.; SARTORI, J.; BELL, M. J. V. E NUNES, L. A. O. Aquisição de Dados e Aplicações Simples Usando a Porta Paralela do Microcontrolador. Revista Brasileira de Ensina de Física 22, 421. 2000. TANENBAUM, Andrew S. Redes de Computadores. Rio de Janeiro: Elsevier. 4ª edição. Elsevier. 2003. TEXAS INSTRUMENTS. SimpleLink™ Wi-Fi® CC3220SF Wireless Microcontroller LaunchPad™ Development Kit. Disponível em: http://www.ti.com/tool/cc3220sf- launchxl?jktype=recommendedresults. Acesso em: 02 março 2018. URTIGA, Keylla Sá; LOUZADA, Luiz A. C.; COSTA, Carmen Lúcia B. Telemedicina: uma visão geral do estado da arte. 2004. Congresso Brasileiro em Informática em Saúde. Universidade Federal de São Paulo / Escola Paulista de Medicina (UNIFESP/EPM), Brasil. 2014. YULIANDOKO, Herman; SUBONO; WARDHANY, Vivien Arief; PRAMONO, Sholeh Hadi. Design of Flooding Detection System Based on Velocity and Water Level DAM with ESP8266. 2nd International Conferences on Information Technology, Information Systems and Electrical Engineering (ICITISEE). 2017. WERTHEIN, Jorge. A sociedade da informação e seus desafios. Ciência da informação, Brasília, v. 29, n. 2, p. 71-77, 2000. WNDW. Redes sem fio no Mundo em Desenvolvimento: Um guia prático para o planejamento e a construção de uma infraestrutura de telecomunicações. Hacker Friendly LLC. 2008.
  • 51. 48 APÊNDICE A – FUNÇÃO DAQWIFI_READ % Authors: Carlos Eduardo Durans Nogueira (cednogueira@gmail.com) and % Prof. Antonio Silveira (asilveira@ufpa.br) % Laboratory of Control and Systems, UFPA (lacos.ufpa.br) % ---------------------------------------------------------------------- % daqWifi_read Single-shot acquisition by A/D conversion of a single % sample from the analog input in use. % % Example: % % y=daqWifi_read(url); % % Stores to y a single sample from the analog channel in use. % The range of the analog input is 0V to 3.3V. function [y]=daqWifi_read(url), [y] = str2num(webread(url) );
  • 52. 49 APÊNDICE B – FUNÇÃO DAQWIFI_WRITE % Authors: Carlos Eduardo Durans Nogueira (cednogueira@gmail.com) and % Prof. Antonio Silveira (asilveira@ufpa.br) % Laboratory of Control and Systems, UFPA (lacos.ufpa.br) % ---------------------------------------------------------------------- % daqWifi_write Updates the DaqDuino PWM output in use. % % daqWifi_write(url,u,Ts) sets u Volts, where u range is 0V to 3.3V, % and Ts is the sampling time (a delay) given in seconds. function []=daqWifi_write(url,u1,u2,Ts), global s; webwrite(url,'u1',num2str(u1),'u2',num2str(u2)); % Sends u(k) as a string pause(Ts); % Sampling time interval
  • 53. 50 APÊNDICE C – DAQWIFI NO ARDUINO IDE #include <ESP8266WebServer.h> #include <ESP8266mDNS.h> // Programa do tipo Data Aquisition para placa NodeMCU v3 // Aquisição de dados do tipo MIMO com 3 entradas e 2 saídas float u[1]={0}; float v[1]={0}; float y[1]={0}; float g[1]={0}; float h[1]={0}; String u1_value; String u2_value; String y1_value; String y2_value; String y3_value; # define DA3 (D3) # define DA4 (D4) # define DA5 (D5) # define DA6 (D6) // Nome do roteador WiFi const char* ssid = ""; // Senha do roteador WiFi const char* password = ""; ESP8266WebServer server(80); // Configura protocolo TCP através da porta 80 void inputSignal() // Função auxiliar { y[0] = analogRead(A0)*(1023/3.3); // Entrada analógica g[0] = digitalRead(DA3); // Entrada Digital h[0] = digitalRead(DA4); // Entrada Digital String y_value = String (y[0]); y_value += (server.method() == HTTP_POST); String y2_value = String (g[0]); y2_value += (server.method() == HTTP_POST); String y3_value = String (h[0]); y3_value += (server.method() == HTTP_POST); server.send(200, "text/plain", y_value+' '+y2_value+' '+y3_value); // envia o valor da entrada em forma de string para o endereço url } void outputSignal() { String u1_value = u1_value; u1_value += (server.method() == HTTP_GET); u1_value += server.arg("u1"); // lê a string que está na url
  • 54. 51 u[0]=u1_value.toFloat(); // converte string para float if (u[0]<0) {u[0]=0;} if (u[0]>3.3) {u[0]=3.3;} u[0] = u[0]*(1023/3.3); analogWrite(DA5,u[0]); String u2_value = u2_value; u2_value += (server.method() == HTTP_GET); u2_value += server.arg("u2"); // lê a string que está na url v[0]=u2_value.toFloat(); // converte string para float if (v[0]<0) {v[0]=0;} if (v[0]>3.3) {v[0]=3.3;} u2[0] = u2[0]*(1023/3.3); analogWrite(DA6,u2[0]); server.send(200, "text/plain", u1_value); server.send(200, "text/plain", u2_value); } // ----------------------------------------------------------------------------------------------- void setup(void) { pinMode(DA3,INPUT); pinMode(DA4,INPUT); pinMode(DA5,OUTPUT); pinMode(DA6,OUTPUT); digitalWrite(DA3,LOW); digitalWrite(DA4,LOW); digitalWrite(DA5,LOW); digitalWrite(DA6,LOW); Serial.begin(115200); Serial.setTimeout(5); // Configura a comunicação Wifi WiFi.begin(ssid, password); Serial.println(""); // Esperando pela conexão while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.print("Connected to "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP()); // Mostra o endereço IP alocado if (MDNS.begin("esp8266")) { Serial.println("MDNS responder started"); MDNS.addService("http", "tcp", 80); }
  • 55. 52 // Adiciona ao IP dois endereços URL para entrada e saída de dados server.on("/input/", inputSignal); server.on("/output/", outputSignal); // Wait for connection uint8_t i = 0; while (WiFi.status() != WL_CONNECTED && i++ < 20) {//wait 10 seconds delay(500); } server.begin(); // Inicia o servidor } // --------------------------------------------------------------- void loop(void) { server.handleClient(); /* Função necessária para o funcionamento das funções usadas neste programa como WebServer*/ }
  • 56. 53 APÊNDICE D - EXEMPLO DE AQUISIÇÃO DE DADOS UTILIZANDO O DAQWIFI NO MATLAB % Programa simples para aquisição de dados via Matlab pelo DAQWiFi clear all; close all; clc; u1(1:10)=0; u1(11:50)=1; u1(51:100)=3.3; u1(101:102)=2; u2(1:10)=0; u2(11:50)=1; u2(51:100)=3.3; u2(101:102)=2; nit=length(u1); % Comprimento do vetor de entrada Ts = 0.1; % Tempo de amostragem urlin='http://192.168.43.46/input/'; % urlin="endereço url de entrada" urlout='http://192.168.43.46/output/'; % urlin="endereço url de saída" % Inicializando os valores das matrizes y = zeros(nit,3); y1(1:2)=0; y2(1:2)=0; y3(1:2)=0; for k=3:nit, tic y(k,1:3)=daqWifi_read(urlin); % realiza a leitura dos sensores daqWifi_write(urlout,u1(k),u2(k),Ts); % envia sinais para atuadores toc; % atraso de comunicação end %Separando as variáveis de saída y1=y(:,1); y2=y(:,2); y3=y(:,3);