Escolar Documentos
Profissional Documentos
Cultura Documentos
PONTA GROSSA
2021
THAISA KARINA KOGOS
PONTA GROSSA
2021
Ministério da Educação
Universidade Tecnológica Federal do Paraná
Câmpus Ponta Grossa
Diretoria de Graduação e Educação Profissional
Departamento Acadêmico de Informática
Tecnologia em Análise e Desenvolvimento de Sistemas
TERMO DE APROVAÇÃO
Prof. Dr. André Pinz Borges Prof. Dr. Richard Duarte Ribeiro
Membro Titular Membro Titular
Agradeço a Deus pela vida, saúde e disposição por me permitir concluir mais
essa etapa importante de formação em minha vida.
Aos meus pais, Julio e Sirlei pelo incentivo durante essa caminhada nunca
deixando desistir, sendo suporte emocional e financeiro sempre que necessário.
A todos os familiares por todo apoio prestado durante todo o decorrer do curso
em especial ao meu avô Lourival que se foi durante esse período.
Aos amigos, colegas de classe e de trabalho que me apoiaram com solidarie-
dade e compartilharam conhecimento, em especial ao Lucas que me auxiliou muitas
vezes traduzindo textos em inglês, além de todo o apoio nesse período.
Ao meu orientador Prof. Dr. Augusto Foronda pela oportunidade de me orien-
tar na conclusão deste trabalho, todo o auxilio e contribuição, muitas vezes dedicando
tempo fora de seu horario disponibilizado.
Aos membros da banca examinadora: Prof. Dr. André Pinz Borges e Prof. Dr.
Richard Duarte Ribeiro por suas correções e contribuições importantes dedicadas a
este trabalho e no decorrer que guiaram para meu aprendizado.
Agradeço ao Departamento Acadêmico de Informática da Universidade Tec-
nológica Federal do Paraná – Campus Ponta Grossa o qual disponibilizou o material
para a realização do trabalho, a todos os mestres que transmitiram a sabedoria e o
conhecimento, com amor e dedicação, aos demais servidores e funcionários que con-
tribuiram de forma indireta.
Ao Curitiba Coworking por ceder o espaço o qual foi possível realizar a valida-
ção do protótipo e os testes de aquecimento e resfriamento e ao Rafael Soares Bem
Dembicki, quem concedeu a liberação para as realizações dos experimentos no Cyber
Data Center.
Efim, a todos que participaram na minha vida acadêmica e que de alguma
forma contribuíram de forma direta e indireta durante esse periodo.
"Nós só podemos ver um pouco do futuro,
mas o suficiente para perceber que há
muito a fazer."(TURING, Alan)
RESUMO
Este trabalho exibe um estudo a respeito dos conceitos de Internet das Coisas (Inter-
net of Things - IoT) para sistemas embarcados microcontrolados, com enfoque no am-
biente Arduino, culminando no desenvolvimento de um protótipo para monitoramento
de temperatura e umidade relativa do ar em um ambiente fechado. O protótipo é com-
posto por um sensor DHT11 e pelo módulo de desenvolvimento NodeMCU, contendo
um ESP8266 com conexão WiFi integrada. Após a leitura e o tratamento da medi-
das, a placa NodeMCU envia os valores em tempo real por WiFi para o Firebase, um
banco de dados em nuvem. Ao final, os dados ficam disponiveis de forma mais clara
ao usuário final em uma página web para análises futuras.
This term paper presents a study about the concepts of internet of things for on-board
microcontrolled systems, focusing on the Arduino open-source platform. This work led
to the development of a prototype to monitoring the temperature and the relative hu-
midity of air in a closed ambient. The prototype is formed by a DHT11 sensor combi-
ned with the NodeMCU development kit, containing an ESP8266 with integrated WiFi
connection. After the acquisition and processing of the measurements, the NodeMCU
board sends the results in real time to the Firebase cloud database. At the end, the
data is available on a web site for the final user to carry out clearly analyzes.
SIGLAS
A/D Analógico/Digital
ADC Conversor Analógico Digital
BD Banco de Dados
BTUs British Thermal Unit
CAM Controller Area Network
CI Circuito Integrado
CSS Cascading Style Sheetse
HTML Hypertext Markup Language
IDE Integrated Development Environment
IIoT Industrial Internet of Things
I/O Input/Output
IoT Internet of Things
IP Internet Protocol
I2C Inter-Integrated Circuit
JS JavaScript
JSON JavaScript Object Notation
LCD Liquid Crystal Display
LED Light Emitting Diode
M2M Machine to Machine
NoSQL Not Structured Query Language
NTC Negative Temperature Coeficient
NTP Network Time Protocol
PCBA Printed Circuit Board Assembly
PWM Pulse Width Modulation
RAM Random Access Memory
RFID Radio Frequency Identification
SDK Software Development Kit
SGBD Sistema Gerenciador de Banco de Dados
TCP Transmission Control Protocol
UDP User Datagram Protocol
URL Uniform Resource Locator
USB Universal Serial Bus
UTFPR Universidade Tecnológica Federal do Paraná
SUMÁRIO
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1 O BJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.1.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.1.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2 E SCOPO DO T RABALHO . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2 REVISÃO DA LITERATURA . . . . . . . . . . . . . . . . . . . . . . . 16
2.1 INTERNET DAS COISAS (I OT) . . . . . . . . . . . . . . . . . . . . 16
2.1.1 Arquitetura IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 PLACAS MICROCONTROLADAS . . . . . . . . . . . . . . . . . . 18
2.2.1 Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.2 NodeMCU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 S ENSORES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4 B ASE DE DADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5 I NTERFACES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3 MÉTODOS UTILIZADOS . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1 TOPOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 D EFINIÇÃO DOS COMPONENTES . . . . . . . . . . . . . . . . . . . . . 29
3.2.1 Conexões físicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3 I MPLEMENTAÇÃO DO CÓDIGO DO N ODE MCU NA IDE A RDUINO . . . 32
3.4 B ANCO DE DADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.5 I NTERFACE Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4 RESULTADOS E DISCUSSÕES . . . . . . . . . . . . . . . . . . . . 41
4.1 E XPERIMENTO 1: VALIDAÇÃO DO PROTÓTIPO . . . . . . . . . . . . . . 42
4.2 E XPERIMENTO 2: A NÁLISE DE TEMPERATURA E UMIDADE DO AR DO
AMBIENTE COM O AR CONDICIONADO NO MODO AQUECEDOR . . . . . 47
4.3 E XPERIMENTO 3: A NÁLISE DE TEMPERTURA E UMIDADE DO AR DO
AMBIENTE COM O AR CONDICIONADO NO MODO RESFRIADOR . . . . 48
4.4 E XPERIMENTO 4: C OMPARATIVO DE TEMPERATURA DATA C ENTER X
P ROTÓTIPO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5 CONCLUSÕES E PERSPECTIVAS FUTURAS . . . . . . . . . . . . 51
5.1 C ONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2 M ELHORIAS E A PLICAÇÕES DO P ROJETO . . . . . . . . . . . . . . . . 52
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
APÊNDICES 60
APÊNDICE A – CÓDIGO ARDUINO . . . . . . . . . . . . . . . . . . 61
APÊNDICE B – TABELA AR CONDICIONADO NO MODO AQUE-
CEDOR . . . . . . . . . . . . . . . . . . . . . . . . . 71
APÊNDICE C – TABELA AR CONDICIONADO NO MODO RES-
FRIADOR . . . . . . . . . . . . . . . . . . . . . . . 81
APÊNDICE D – TABELA CYBER DATA CENTER X PRÓTOTIPO . 86
12
1 INTRODUÇÃO
1.1 OBJETIVOS
2 REVISÃO DA LITERATURA
A maioria dos seres humanos está conectada a Internet, seja por meio de
celulares, computadores, tablets, ou até mesmo, através das “coisas”, sendo muitas
vezes um facilitador para o dia a dia das pessoas (SANTAELLA, 2008).
A Internet tem impacto na comunicação, educação, negócios, ciência, saúde,
governo, economia, etc. Por sua vez, a IoT vem sendo considerada como a evolução
da Internet, podendo coletar, analisar e distribuir dados, transformando-os em infor-
mação, conhecimento e sabedoria (EVANS, 2011). Espera-se da IoT que os objetos
tornem-se partes ativas dos processos, estando habilitada a interagir e se comunicar
entre si e com os ambientes, de forma autônoma (CERP-IOT, 2009).
No momento da IoT atual, o número de “coisas” conectadas a Internet já é
maior que a quantidade de pessoas no mundo (EVANS, 2011). Com essa evolução
da Internet, podem-se inserir objetos, sensores e atuadores, possibilitando a comuni-
cação e a interação destes com o ambiente sendo ainda possível manipulá-los para
interagirem uns com os outros e também com as pessoas (SANTOS, 2017). O papel
dos sensores e atuadores está na compreensão e alteração dos ambientes, sendo
possível programá-los para realizarem determinadas ações, tornando-os comunican-
tes e dinâmicos (SANTAELLA, 2008).
Na IoT, os hardwares tem as seguintes características: unidades de proces-
samento, unidades de memória, unidades de comunicação, unidades sensitivas e uni-
dades atuantes (MATTERN; FLOERKEMEIER, 2010), (RUIZ et al., 2014).
17
Para que exista o gerenciamento dos recursos na IoT, uma placa microcontro-
ladora é necessária. É nela que está armazenado o código com o controle de sensores
e atuadores, além das interfaces de comunicação com o gateway (SOUZA, 2016).
18
2.2.1 Arduino
BEPPU, 2010). Com o Arduino é possível conectar diferente tipos de periféricos, en-
tre eles, displays, botões, sensores, LEDs, buzzers, componentes eletrônicos, além
disso, também pode ser utilizado com diversas shields (placas conectadas em cima
da Printed Circuit Board Assembly - PCBA).
Existem várias versões de Arduino, como Arduino Uno, Arduino Mega, Ar-
duino Leonardo, Arduino Due, Arduino ADK, Arduino Nano, Arduino Pro-Mini, Arduino
Esplora, entre outros, cujas diferenças estão no modelo do microcontrolador, na quan-
tidade de memórias, portas digitas, analógicas e PWM, frequência de clock, tipo de
conexão e alimentação, tensão de alimentação e operação, e no limite de corrente. A
tabela 1 apresenta o comparativo das características para os Arduinos mencionados.
Outra grande vantagem do Arduino é a programação em sua própria Integrated De-
velopment Environment (Ambiente de Desenvolvimento Integrado - IDE), a qual está
disponível em software e via online (ARDUINO, 2019).
Tabela 1 – Tipos de Arduino
MEGA LEO- PRÓ ESPLO-
UNO DUE ADK NANO
2560 NARDO MINI RA
ATmega
Microcon- ATmega ATmega ATmega AT915 ATmega 168 / ATmega ATmega
trolador 328 2560 32u4 AM3X8E 256 ATmega 168 32u4
328
Portas
14 54 20 54 54 14 14 -
digitais
Portas
6 15 7 12 15 6 6 -
PWM
Portas
6 16 12 12 16 8 8 -
analógicas
Memória 32K 256K 32K 512K 256K 16K 16K 32K
Clock 16Mhz 16Mhz 16Mhz 84Mhz 16Mhz 16Mhz 8Mhz 16Mhz
Serial /
Micro Micro USB Módulo Micro
Conexão USB USB USB
USB USB MiniB USB USB
externo
Conector
Sim Sim Sim Sim Sim Não Não Não
alimentação
Tensão 3,3
de 5V 5V 5V 3,3V 5V 5V ou 5V
operação 5V
Corrente
max 40mA 40mA 40mA 130mA 40mA 40mA 40mA -
portas E/S
3,35-12V
Alimenta-
7-12Vdc 7-12Vdc 7-12Vdc 7-12Vdc 7-12Vdc 7-12Vdc ou 5V
ção
5-12V
uma placa genérica. Entretanto não é a única que existe, apesar de ser a mais co-
nhecida. Outra placa é a NodeMCU, bastante atrativa decorrente da sua característica
especifica para projetos de IoT (OLIVEIRA, 2019b).
2.2.2 NodeMCU
entretanto se tornando um hardware bastante promissor para sua época. Seu inicio foi
de difícil disseminação, pois a maior parte de sua documentação estava disponível so-
mente em chinês, mas seu grande diferencial foi a conexão WiFi integrada no próprio
módulo. Com o aumento de sua fama, foram criados diferentes módulos, em 2016 foi
lançado o modelo ESP32, sendo o modelo mais atual até o momento, o qual integra a
família NodeMCU-32, apresentando modelos como NodeMCU-32S e NodeMCU-32S
OLED (OLIVEIRA, 2019c).
O funcionamento da placa NodeMCU é parecido com uma placa Arduino e
sua grande característica e vantagem é possuir tudo o que precisa para a conexão
com Internet sem fio. Outro aspecto vantajoso da placa em questão é o seu tamanho
reduzido, o que facilita em projetos compactos, além disso, é compatível com módulos
e sensores Arduino e utiliza sua IDE, ou seja, as mesmas plataformas de linguagem
de programação para Arduino (MORAIS, 2017).
O NodeMCU da família ESP12 possui três gerações, apresentadas na Figura
4. A primeira geração apresenta grandes dimensões e um módulo microcontrolador
ESP12, na segunda geração o processador ESP12 foi substituído pelo ESP-12E, foi
incluído o espaçamento de 2,54mm entre os pinos, o qual permite que os pinos se
encaixem perfeitamente em uma protoboard. Já na terceira geração, o conversor USB
serial utilizado é o CH340 e apresenta placas auxiliares, como exemplo a placa adap-
tadora de base, exibida na Figura 5, a qual é ideal para facilitar as conexões da placa
e alimenta-lá externamente (MORAIS, 2017).
2.3 SENSORES
2.5 INTERFACES
A web faz parte do dia a dia, é possível perceber que está presente ao re-
alizar uma pesquisa nos navegadores como compra online, uma pesquisa em um
e-commerce, ou acesso a um portal para inscrição de concursos, consultas de notas,
gerenciamento de conteúdo e infinitas coisas que podemos realizar, para sua criação
25
3 MÉTODOS UTILIZADOS
• Definição da topologia;
• Confecção do protótipo.
3.1 TOPOLOGIA
• Conexão Wireless;
30
• Antena embutida;
• Conector micro-usb;
erros. Na IDE Arduino foi utililizada a biblioteca DHT.h, específica para leitura dessa
família de sensores, incluindo o sensor utilizado no projeto, possuindo as funções
de leitura de temperatura (readtemperature) e umidade relativa do ar (readHumidity )
(OLIVEIRA, 2017).
• Sequência de inicialização;
• Programa principal;
Em seguida foram realizadas as seguintes definições: a rede WiFi com sua se-
nha, a hospedagem da base de dados e sua chave de acesso, o modelo do sensor de
umidade e temperatura e o pino utilizado pelo sensor. A Figura 12 exibe o cabeçalho,
as bibliotecas e as definições do código.
Na sequência foram declaradas as variáveis globais do código, estando divi-
didas em :
33
• Variáveis WiFi;
• Variáveis de indicação de tempo para porta COM e Interface Web (data e hora);
• Variáveis de cálculos;
• Variáveis de funções.
USB em conjunto com as variáveis de tempo (hora, minuto, segundo, dia, mês e ano),
quando o dispositivo estiver conectado em um computador com a IDE Arduino insta-
lada. A função <comunicaSerial()> pode ser observada na Figura 17.
o Plano Blaze (pago) e o Plano Spark (gratuito), o qual foi utilizado neste trabalho,
disponibilizando 1GB para armazenamento e hospedagem do conteúdo, após o pre-
enchimento do cadastro no site firebase.google.com.
Além de salvar os dados em tempo real, caso ocorra algum problema de perda
de conexão, o banco de dados sincroniza as alterações realizadas com as atualiza-
ções remotas que estavam sem conexão, realizando a combinação dos dados automa-
ticamente, ou seja, funcionando off-line. Seu armazenamento utiliza o formato JSON,
sendo um banco de dados não-relacional (NoSQL) (DATABASE, 2020), em que, a ma-
nipulação dos dados não ocorre de forma estruturada, dando liberdade à semântica
dos mesmos conforme a sitação, onde a leitura e escrita podem ser realizadas de
diferentes formas (COUCHBASE, 2020). O Realtime Database possui regras básicas
de segurança, podendo bloquear ou dar acesso a leituras e gravações dos dados.
Elas são mapeadas nas rules, presente na plataforma de gerenciamento do banco de
dados. Basicamente existem três regras, read, write e validate para leitura, escrita e
determinação da estrutura de dados, respectivamente.
A opção escolhida dentro do Firebase foi Realtime Database, após a criação
do projeto o Firebase cria uma chave secreta a qual foi utilizada para a conexão com
o NodeMCU e também pode ser utilizadas para outros projetos.
A árvore do projeto no Firebase foi estruturada da seguinte maneira: Um nó
pai foi criado pelo Firebase conforme a denominação do projeto de banco de dados
(tcc), na sequêcia é criado um nó com o nome da aplicação (nodemcu), seguido de
outros nós filhos de chaves associadas, cada chave criada pelo Firebase, possui as
informações finais enviadas pelo NodeMCU. As chaves são criadas seguindo a progra-
mação do objeto JSON do Arduino, fazendo com que os dados fiquem agrupados de
acordo com sua aquisição. Nas ultimas informações dessa árvore estão a temperatura
e umidade atual também enviadas, pelo NodeMCU, que, entretanto, substituem-se a
cada ciclo do código principal do ESP12E. Além disso, Realtime Database oferece a
opção de exportar um Json com todas informações salvas até o momento. A Figura
19 apresenta a estrutura da árvore de dados descrita.
39
4 RESULTADOS E DISCUSSÕES
⃒ ⃒
⃒ 𝑇𝑝𝑟𝑜𝑡𝑜𝑡𝑖𝑝𝑜 − 𝑇𝑎𝑟𝑐𝑜𝑛𝑑𝑖𝑐𝑖𝑜𝑛𝑎𝑑𝑜 ⃒
𝐸% = ⃒⃒ ⃒ * 100 (1)
𝑇𝑎𝑟𝑐𝑜𝑛𝑑𝑖𝑐𝑖𝑜𝑛𝑎𝑑𝑜 ⃒
5% > 2,59%
Dando sequência aos experimentos, foi realizado o terceiro teste, com uma
proposta inversa ao segundo, agora em uma tarde típica de calor com temperatura
ambiente próxima aos 24o C, a experimentação teve como propósito resfriar o ambi-
ente. Para isso, o setpoint definido no display do ar condicionado ficou 18o C, sendo
esta, a menor temperatura disponível pelo equipamento. Igualmente ao experimento
dois o aparelho de ar condicionado só foi ligado após 30 aquisições do inicio do mo-
nitoramento (30 minutos) e foi desacionado próximo ao valor desejado. Monitorando
49
5.1 CONCLUSÃO
• Adição de cálculos estátisticos como, moda, variancia, desvio padrão, entre ou-
tros;
• Variáveis de indicação de tempo para porta COM e Interface web (data e hora);
REFERÊNCIAS
CHASE, Otavio. Sistemas embarcados. SBA Jovem, 2007. Citado 2 vezes nas
páginas 13 e 18.
55
EVANS, Dave. The internet of things how the next evolution of the internet is changing
everything. Cisco IBSG, 2011. Citado na página 16.
FONSECA, Erika Guimarães Pereira da; BEPPU, Fonseca Mathyan Motta. Apostila
Arduino. 2010. 23 p. Material Apresentado ao Programa de Educacão Tutorial do
Curso de Engenharia de Telecomunicações da Escola de Engenharia do Centro
Tecnológico da Universidade Federal Fluminense. Citado na página 19.
GONCALVES, Ariane. O que é CSS? Guia Básico para Iniciantes. 2019. Disponível
em: https://www.hostinger.com.br/tutoriais/o-que-e-css-guia-basico-de-css/ Acesso
em: 07/07/2020. Citado na página 25.
OLIVEIRA, Sérgio. Internet das Coisas com ESP8266, Arduino e Raspberry Pi.
São Paulo, Brasil: Novatec, 2017. 240 p. Citado 4 vezes nas páginas 12, 30, 31 e 32.
RAJKUMAR BUYYA, et al. Cloud computing and emerging it platforms: Vision, hype,
and reality for delivering computing as the 5th utility. Future Generation Computer
Systems, jun. 2009. Citado na página 24.
58
RUIZ, L.B. et al. Arquiteturas para redes de sensores sem fio. 2014. Citado na página
16.
SOUZA, Marcelo Varela. Demótica de baixo custo usando princípios de IoT. 2016.
Natal. 50 p. Dissertação de Mestradono Programa de Pós Graduação em Engenharia
de Software, do Instituto Metrópole Digital da Universidade Federal do Rio Grande.
Citado na página 17.
WIZNET. Arduino IoT Send Sensor Data to IBM Bluemix. 2016. Disponível em
:https://wiznetmuseum.com/portfolio-items/arduino-iot-send-sensor-data-to-ibm-
bluemix-2/. Acesso em: 15/11/2019. Citado na página 17.