Vous êtes sur la page 1sur 56

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)

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

BELÉM
2018
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
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
9
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
10
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.

11
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;

12
➢ 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

13
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.

14
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.

15
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.

16
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.

17
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.

18
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.

19
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
Enable do ESP8266
CH PD 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
Deve estar em nível lógico 1 para inicialização do programa(boot
GPIO 0
mode) e 0 para carregar o programa (flash mode)
deve estar em nível lógico 1 para inicialização do programa (boot
GPIO 2
mode)
Deve estar em nível lógico 0 para carregar o programa (flash mode)
GPIO 15
e para inicialização do programa (boot mode)
GND Terra
Fonte: (KOLBAN, 2015).

20
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.

21
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
22
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
𝐺 (𝑠) = 1 1 (1)
𝑠2 +(𝑅 𝐶)𝑠+
1 𝑅𝑅1 𝐶2

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).

23
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.

24
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.

25
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.

26
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.

27
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.

28
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.

29
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
30
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.

31
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
32
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

33
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.
34
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.
35
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.

36
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.

37
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.

38
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

39
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
40
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.

41
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.

42
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
43
á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.

44
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.

45
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.

46
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.

47
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) );

48
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

49
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

50
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);
}
51
// 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*/
}

52
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);

53

Vous aimerez peut-être aussi