Buscar

TCC-Mohamad

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Mohamad Sadeque Abou Ali
Dispositivos de medição de consumo de água
usando conceitos de IoT
Natal – RN
Dezembro de 2022
Mohamad Sadeque Abou Ali
Dispositivos de medição de consumo de água usando
conceitos de IoT
Trabalho de Conclusão de Curso de Enge-
nharia Mecatrônica da Universidade Federal
do Rio Grande do Norte, apresentado como
requisito parcial para a obtenção do grau de
Engenheiro Mecatrônico
Orientador: Prof. Dr. Marcelo Borges
Nogueira
Universidade Federal do Rio Grande do Norte – UFRN
Departamento de Engenharia de Computação-f- DCA
Curso de Engenharia Mecatrônica
Natal – RN
Dezembro de 2022
Ali, Mohamad Sadeque Abou.
 Dispositivos de medição de consumo de água usando conceitos
de IoT / Mohamad Sadeque Abou Ali. - 2022.
 49 f.: il.
 Monografia (graduação) - Universidade Federal do Rio Grande
do Norte, Centro de Tecnologia, Curso de Engenharia Mecatrônica.
Natal, RN, 2022.
 Orientador: Prof. Dr. Marcelo Borges Nogueira.
 1. Internet das Coisas - Monografia. 2. ESP8266 - Monografia.
3. SAIOT - Monografia. 4. Medição de nível - Monografia. 5.
Horímetro - Monografia. I. Nogueira, Marcelo Borges. II. Título.
RN/UF/BCZM CDU 004.738.5:62-4
Universidade Federal do Rio Grande do Norte - UFRN
Sistema de Bibliotecas - SISBI
Catalogação de Publicação na Fonte. UFRN - Biblioteca Central Zila Mamede
Elaborado por Fernanda de Medeiros Ferreira Aquino - CRB-15/301
RESUMO
Dada a crescente preocupação mundial com os recursos naturais, em especial a água, este
trabalho propõe a construção de um dispositivo medidor de nível. Esse dispositivo poderá
ser usado para análise de padrão de consumo e problemas no sistema de abastecimento.
A construção dele foi feita utilizando um microcontrolador ESP8266 no módulo Wemos
D1 mini pro e um sensor de distância ultrassônico modelo JSN-SR04T. Além do medidor
de nível também foi produzido um horímetro para uma bomba, assim, coletando mais
informações para o sistema, sabendo o seu estado atual e tempo de funcionamento. O
horímetro foi produzido a partir do mesmo microcontrolador e a leitura de uma das suas
entradas digitais, onde essa seria ligada ao circuito de controle da bomba para verificar
se está ligada ou não. A realização do monitoramento das variáveis coletadas pelos dois
dispositivos é feita através do acesso a um sistema supervisório chamado Smart Automation
using IoT (SAIOT). Terminado o desenvolvimento, foram feitos testes que validaram a
correta medição dos dois dispositivos e envio de dados para o servidor, assim, cumprindo
o objetivo proposto no trabalho.
Palavras-chaves: ESP8266. Internet das Coisas. SAIOT. Medição de nível. Horímetro.
ABSTRACT
Given the growing worldwide concern with natural resources, especially water, this work
proposes the construction of a level measuring device. This device can be used to analyze
the consumption pattern and problems in the supply system. Its construction was made
using an ESP8266 microcontroller in the Wemos D1 mini pro module and an ultrasonic
distance sensor model JSN-SR04T. In addition to the level meter, an hour meter for a pump
was also produced, thus collecting more information for the system, knowing its current
status and operating time. The hour meter was produced from the same microcontroller
and the reading of one of its digital inputs, where it would be connected to the pump
control circuit to verify if it is connected or not. Monitoring the variables collected by the
two devices is done through access to a supervisory system called Smart Automation using
IoT (SAIOT). After the development, tests were carried out that validated the correct
measurement of the two devices and sending data to the server, thus fulfilling the objective
proposed in the work.
Keywords: ESP8266. Internet of Things. SAIOT. Level measurement . Hour meter.
LISTA DE ILUSTRAÇÕES
Figura 1 – Microcontrolador genérico . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figura 2 – Diagrama de rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figura 3 – Teste de nível . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figura 4 – Diagrama do sistema de Raha, Ahmed e Paul (2019) . . . . . . . . . . 22
Figura 5 – Diagrama do sistema de Shankar e Dakshayini (2018) . . . . . . . . . . 22
Figura 6 – Aplicativo do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figura 7 – Teste de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figura 8 – Visão do Arduíno e sua implementação na proposta . . . . . . . . . . . 24
Figura 9 – Exemplo do servidor web da proposta . . . . . . . . . . . . . . . . . . 25
Figura 10 – Protótipo em ação, conectado à mangueira . . . . . . . . . . . . . . . . 25
Figura 11 – Wemos D1 mini pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figura 12 – HC-SR04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figura 13 – Funcionamento HC-SR04 . . . . . . . . . . . . . . . . . . . . . . . . . 28
Figura 14 – Sensor JSN-SR04T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Figura 15 – Arquitetura da plataforma SAIOT . . . . . . . . . . . . . . . . . . . . 30
Figura 16 – Arquitetura do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figura 17 – Ambiente para testes com sensor JSN-SR04T . . . . . . . . . . . . . . 32
Figura 18 – Página inicial do webserver do dispositivo medidor de nível . . . . . . . 36
Figura 19 – Página de configuração do webserver do dispositivo medidor de nível . 36
Figura 20 – Diagrama média móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figura 21 – Dispositivo medidor de nível pendente no SAIOT . . . . . . . . . . . . 39
Figura 22 – Cadastro do dispositivo medidor de nível no SAIOT . . . . . . . . . . . 39
Figura 23 – Dispositivo medidor de nível cadastrado no SAIOT . . . . . . . . . . . 40
Figura 24 – Sonoff mini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figura 25 – Alteração no Sonoff mini . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figura 26 – Teste em bancada com protótipo do dispositivo para monitoramento da
bomba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figura 27 – Gráfico de estado do dispositivo de monitoramento da bomba . . . . . 44
Figura 28 – Gráfico de horas do dispositivo de monitoramento da bomba . . . . . . 44
Figura 29 – Configurações do medidor de nível e ambiente de teste . . . . . . . . . 45
Figura 30 – Instalação do sensor na caixa d’água . . . . . . . . . . . . . . . . . . . 46
Figura 31 – Instalação da placa do medidor de nível . . . . . . . . . . . . . . . . . 46
Figura 32 – Gráfico do nível e volume da caixa d’água . . . . . . . . . . . . . . . . 47
LISTA DE TABELAS
Tabela 1 – Teste com sensor JSN-SR04T em ambiente controlado. . . . . . . . . . 33
Tabela 2 – Intervalos para teste com horímetro da bomba . . . . . . . . . . . . . . 44
Tabela 3 – Resultados do teste com medidor de nível . . . . . . . . . . . . . . . . 47
LISTA DE ALGORITMOS
Algoritmo 1 – Configuração do dispositivo . . . . . . . . . . . . . . . . . . . . . 34
Algoritmo 2 – Definição de sensores do dispositivo medidor de nível . . . . . . . 35
Algoritmo 3 – Funções de callback dos sensores do dispositivo medidor de nível 35
Algoritmo 4 – Funções internas do dispositivo medidor de nível . . . . . . . . . 37
Algoritmo 5 – Função principal do dispositivo medidor de nível . . . . . . . . . 38
Algoritmo 6 – Função de média móvel implementada . . . . . . . . . . . . . . . 39
Algoritmo 7 – Criação do dispositivo de monitoramento da bomba . . . . . . . 40
Algoritmo 8 – Função de setup do dispositivo de monitoramento da bomba . . 41
Algoritmo 9 – Funções de callback dos sensores do dispositivo de monitoramento
da bomba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Algoritmo 10 – Funções de internas do dispositivo de monitoramento da bomba 42
SUMÁRIO
1 INTRODUÇÃO . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 10
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Estrutura do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 REFERENCIAL TEÓRICO . . . . . . . . . . . . . . . . . . . . . . . 12
2.1 Sistemas embarcados . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1 Memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.2 Processador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.3 Sinais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.4 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.5 Atuadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.6 Comunicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.6.1 Modos de transmissão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.6.2 Topologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Internet das coisas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 TRABALHOS RELACIONADOS . . . . . . . . . . . . . . . . . . . . 20
3.1 A design of high-level water tank monitoring system based on
Internet of things . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Aqua: Water Level Audit and Alimentation for Smart City . . . . . . 21
3.3 IoT-Mobile Enabled Smart Water Level Controlling System to Re-
gulate Water Wastage . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4 IoT based water level meter . . . . . . . . . . . . . . . . . . . . . . . 23
3.5 Sistema de gerenciamento autonômico de consumo de água para
casas inteligentes utilizando IoT . . . . . . . . . . . . . . . . . . . . . 24
4 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.1 Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.1 Medição de volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.2 Leitura do estado da bomba . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3 Sistema supervisório . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.1 Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.2 Integração dos dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.4 Arquitetura do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5 DESENVOLVIMENTO E RESULTADOS . . . . . . . . . . . . . . . 32
5.1 Medição de nível da caixa d’água . . . . . . . . . . . . . . . . . . . . 32
5.1.1 Testes com sensor JSN-SR04T . . . . . . . . . . . . . . . . . . . . . . . . 32
5.1.2 Desenvolvimento do dispositivo IoT . . . . . . . . . . . . . . . . . . . . . 33
5.2 Monitoramento da bomba . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.3 Resultados e discussões . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3.1 Monitoramento da bomba . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3.2 Medidor de nível . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.1 Próximas etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10
1 INTRODUÇÃO
A população continua crescendo ao longo dos anos e de acordo com as projeções
das Organizações das Nações Unidas (ONU), chegaremos a 9 bilhões em 2037 (NEWS,
2022). Outro ponto que continua crescendo é a evolução do padrão de consumo, assim, a
consequência é uma aceleração do esgotamento das matérias primas necessárias para a
sobrevivência dos seres humanos. Outro dado que corrobora isso é o “Dia da Sobrecarga
da Terra”, data que é calculada pela Global Footprint Network quantificando o tempo que
a sociedade levou no ano para consumir todos recursos biológicos que o planeta é capaz
de regenerar durante um ano. Sendo que no ano de 2022 essa data foi em 28 de julho,
como consequência, os dias seguintes vão causando danos um recuo na capacidade da
Terra e acelerando a escassez desses recursor (NS, 2022).Por isso que o desenvolvimento de
novas tecnologias e métodos capazes de otimizar a administração dos recursos se tornam
cada vez mais necessárias e dentro disso a automação ganha cada vez mais espaço para
solucionar esses problemas.
A automação é a utilização de máquinas ou softwares para substituir as atividades
manuais que envolvem tomadas de decisão e uma ação para cada situação. O conceito de
automação apareceu na década de 1940 através de um engenheiro da Ford Motor Company
para descrever um conjunto de sistemas eletromecânicos que realizavam tarefas através
de lógicas criadas pelas ligações entre relés,temporizadores e sensores. Com o avanço da
computação e dos dispositivos de hardware, temos menores, mais baratos e mais eficientes
controladores. Os primeiros controladores lógicos programáveis(CLPs) nas décadas de 1970
e 1980(LAMB, 2015, p.2), dispositivos onde seriam conectados sensores e atuadores que
revolucionaram a forma de automatizar processos. Com os CLPs era possível criar lógicas
mais complexas e com circuitos menores, além de facilitar as modificações nos processos,
pois só era necessário reprogramar o dispositivo. Atualmente além de atividades mecânicas,
temos softwares capazes de executar comandos em computadores e também substituir
esforços manuais em tarefas repetitivas.
1.1 Objetivos
Dentre os recursos naturais mais utilizados, a água é o principal para a nossa
existência, pois ela é utilizada em quase todas as atividades cotidianas seja em ambiente
residencial, na indústria ou agropecuária. Diversos problemas podem contribuir para o
desperdício de água, como o transbordamento de reservatórios, vazamentos e além disso
também a necessidade de analisar o quanto se está gastando para mudar os padrões de
Capítulo 1. Introdução 11
consumo. Diante disso o seguinte trabalho tem como objetivo produzir um dispositivo capaz
de realizar leitura de nível em uma caixa d’água, como sendo a fonte do abastecimento em
residências, a partir da caixa d’água é possível retirar todas as informações comentadas
anteriormente. O dispositivo será feito utilizando um microcontrolador, um sensor capaz
de verificar o nível e através de algum protocolo de comunicação enviar esses dados para
uma plataforma de Internet das Coisas, dando a possibilidade de acompanhar esses dados,
assim, podendo identificar padrões de consumo, falhas no sistema e outras características.
Outro dispositivo que se tem como objetivo produzir é o de um horímetro para bomba, que
são os equipamentos utilizados para transportar a água de um reservatório para outro ou
aumentar a pressão da entrada de água. O funcionamento dessas máquinas pode contribuir
para o outro dispositivo com informações adicionais como o tempo que leva para encher a
caixa d’água, a necessidade de manutenções e o seu estado atual. Esse horímetro deverá
ser feito também utilizando um microcontrolador e um sensor que seja possível identificar
o estado da bomba e tempo de funcionamento, assim como também enviar os dados para
a mesma plataforma do sensor de nível.
1.2 Estrutura do Trabalho
O trabalho foi estruturado inicialmente com o referencial teórico (Capítulo 2),
onde serão descritos os assuntos fundamentais para elaboração do projeto. Em seguida
no capítulo 3 são apresentados trabalhos relacionados a área do objetivo que está sendo
proposto. No capítulo 4 a metodologia do trabalho vai sendo demonstrada, definindo a
escolha de cada item que será utilizado. O desenvolvimento e resultados (Capítulo 5)
descreve a produção dos dispositivos, assim como os testes realizados com eles. Por fim a
conclusão no capítulo 6 com a interpretação do trabalho e os objetivos futuros.
12
2 REFERENCIAL TEÓRICO
2.1 Sistemas embarcados
Sistemas embarcadossão uma combinação de hardware de computador e software,
podendo ser adicionadas partes mecânicas ou outras partes, desenvolvido para executar
uma função dedicada. Em alguns casos, sistemas embarcados são parte de um sistema
maior ou produto (GANSSLE, 2003, p.90). Atualmente estamos em contato diariamente
com sistemas embarcados. Eles estão presentes nos carros, geladeiras, fones de ouvido,
brinquedos, além de ser parte fundamental nas indústrias e outros setores produtivos, seja
em questão de monitoramento ou de controle de máquinas.
A estrutura de um sistema embarcado é composta por uma unidade central que é o
processador programável, memórias e os periféricos se comunicando através de barramentos
de dados (Fig. 1).
Figura 1 – Microcontrolador genérico
Fonte: Embarcados (2022)
2.1.1 Memória
Memória em circuitos é a propriedade de retenção a uma resposta. Os dispositivos e
circuitos de memória desempenham papel importante nos sistemas digitais porque proveem
um meio de armazenamento, temporário ou permanente, de números binários, com a
capacidade de alterar, a qualquer momento, a informação contida (TOCCI; WIDMER;
MOSS, 2010, p.17).
A menor quantidade possível de ser armazenada é a de um bit, utilizando circuitos
como latches e flip flops. Acima disso partimos para os registradores, sendo um componente
sequencial capaz de armazenar N bits, onde as larguras típicas são 8,16 e 32 bits, a partir
Capítulo 2. Referencial teórico 13
do registrador são formados os bancos de registradores, que é um bloco de registradores
facilitando o acesso aos valores de forma eficiente (VAHID, 2008). A partir disso as
memórias vão sendo diferenciadas pela sua característica construtiva, forma de acessar seus
valores, se é só de leitura, se ela tem a propriedade de ser não volátil, ou seja, armazena
seu estado mesmo na falta da energia e outros.
2.1.2 Processador
O processador tem duas partes principais: um bloco operacional e uma unidade de
controle. O primeiro tem as funções de carga, que é a operação de leitura de um dado e
transportando para uma memória de trabalho. Outra função é de transformação, onde são
realizadas modificações nos dados e comandos a partir de expressões lógicas e aritméticas
e armazenamento dos dados, onde o bloco operacional conta com uma memória de dados,
armazenando dados para que fiquem disponíveis a qualquer momento e também um banco
de registradores onde são utilizados em tempo de programação durante as operações. Na
unidade de controle temos o responsável por buscar, ler a instrução do programa em uma
memória, copiar para o registrador de instrução, decodificar, executar a instrução no bloco
operacional e depois modificar o contador de programa para identificar qual a próxima
memória (VAHID, 2008, p.440).
Quando se trata da arquitetura que o processador pode ser implementado, temos
duas configurações clássicas: Von Neumann, que possuem a memória de programa e de
dados em um mesmo espaço e se comunicando com a unidade de processamento através de
um mesmo barramento, a outra arquitetura é a de Harvard, separando as duas memórias
e assim também possuindo um barramento individual para cada memória. O barramento
é uma conexão física entre dois ou mais módulos do sistema embarcado, eles são de três
tipos: Barramento de dados, sendo o transporte dos dados entre os módulos e sua largura
em bits é a chave para o desempenho, outro é o barramento de endereço, responsável por
determinar a origem ou o destino dos dados e sua largura determina a capacidade máxima
de memória, por último tem o barramento de controle, tendo a função de informar tempo
e controle do sistema, assim, determinando a ordem e tempo de execução dos elementos
(GARCIA, 2018).
2.1.3 Sinais
No mundo podemos obter vários tipos de sinais. Existe um grupo em que o sinal
possui apenas dois estados, como o estado de uma lâmpada que pode estar ligada ou
desligada ou uma válvula que pode estar aberta ou fechada, assim, os sinais desse grupo
podem ser chamados de digitais, sendo representados pelos valores 0 e 1. Contudo outros
sinais possuem parâmetros que só podem ser representados numericamente, como um
Capítulo 2. Referencial teórico 14
motor que pode ser representado pelo seu estado de ligado ou desligado, mas também
tem a variável de velocidade que não se encaixa nesse grupo, assim, esses sinais são os
chamados de analógicos (LAMB, 2015, p.12). Os sinais analógicos se diferem dos digitais
por possuírem um intervalo infinito de valores. Dependendo da resolução da ferramenta
que se esteja utilizando para medir um sinal analógico, ele pode adquirir diferentes valores.
Além da característica de valor, os sinais podem ser descritos pelo sentido em
relação ao sistema, podendo ser de entrada ou saída, onde é possível interagir com os
periféricos como sensores, atuadores, dispositivos de comunicação e outros.
Como o próprio nome já descreve, os sistemas digitais funcionam a partir de lógicas
utilizando sinais do grupo digital, assim, se faz necessário converter os valores analógicos
para que o sistema seja capaz de interpretar ou representar, assim, realizando as operações
de leitura e escrita desses valores. Os conversores vão atuar passando os sinais por um
arranjo de amplificadores operacionais onde um conjunto de bits determina o valor da
informação de entrada ou saída do dado analógico. Quanto maior a quantidade de bits,
maior a resolução da informação.
2.1.4 Sensores
Em um sistema embarcado normalmente precisa ser feita alguma interação com
algum sinal externo sendo, a partir dele, executada alguma tarefa. Na natureza temos vários
elementos que podem converter sinais de maneira natural e os sensores são os responsáveis
pela conversão da informação do meio ambiente para algo que o microcontrolador possa
interpretar. Em algumas literaturas se faz a diferença entre a parte sensível a mudança no
ambiente e o elemento capaz de converter esse sinal físico para um sinal elétrico, que seria
o transdutor (GANSSLE, 2003).
Existem vários tipos de sensores. Um grande grupo são os digitais, também chamados
de discretos, podendo ser mecânicos como uma chave, um botão ou um sensor fim de curso.
Sensor fotoelétrico, variando seu estado quando recebe ou não luz, assim, funcionando
como sensor de obstáculo. Os sensores de proximidade, podendo ser indutivos, detectando
objetos metálicos, ou capacitivos, podendo detectar qualquer massa a partir da associação
da capacitância do sensor com o material que se deseja identificar. Outro sensor muito
importante é o de efeito Hall, que cria uma diferença de tensão baseada na quantidade
de campos magnéticos detectados, assim, podendo detectar qualquer material magnético.
Além dos sensores discretos, existem os analógicos, podendo medir várias grandezas físicas
como pressão, força, fluxo, torque, temperatura, cor, posição, distância e outros (LAMB,
2015, p.79-95).
Capítulo 2. Referencial teórico 15
2.1.5 Atuadores
No caminho inverso aos sensores, os atuadores tem caráter ativo sobre o ambiente em
que está inserido, visando modificar alguma característica deste. Geralmente os atuadores
estão ligados a movimento, sendo motores, cilindros e válvulas os mais comuns.A partir
disso podendo também controlar ferramentas como furadeiras, máquinas de corte e outros,
mas também podemos abranger para lâmpadas, leds, alto falantes e outros. Outro ponto
importante é que em alguns casos se faz necessário de elementos e circuitos para fazer o
controle dos atuadores, por exemplo os relés, que são componentes eletromecânicos que
facilitam a abertura e fechamentos de circuitos de carga maiores do que são aceitas por
um microcontrolador.
2.1.6 Comunicação
A medida que se é necessário desempenhar cada vez mais atividades e que sejam
mais complexas, os sistemas embarcados devem possuir alguma forma de comunicação
para integrar vários sistemas de uma forma que haja um meio de trafegar informações
entre eles. Existem várias possibilidades de módulos capazes de realizar essa função em um
microcontrolador,variando o meio físico por onde o sinal vai trafegar, formato do pacote,
endereçamento e outras características.
Em um sistema de comunicação temos dois pontos importantes para fazer sua
descrição. Primeiro temos os modos de comunicação, sendo como os dispositivos tratam o
sentido das mensagens. A outra característica é a topologia da rede, sendo a descrição da
estrutura de ligação dos dispositivos.
2.1.6.1 Modos de transmissão
O sentido que mensagens são enviadas define limitações de um sistema de comuni-
cação. Em um sistema de comunicação podemos classificar três modos quanto ao sentido
das trocas de mensagens (CANALTI, 2018):
• Simplex: Quando a comunicação só ocorre em um sentido, de um emissor para um
receptor
• Half-Duplex: A transmissão pode ser feita nos dois sentidos, mas não de maneira
simultânea.
• Full-Duplex: O modo onde há possibilidade de troca de informações nos dois sentidos
simultaneamente.
Capítulo 2. Referencial teórico 16
2.1.6.2 Topologias
A interligação com um ou mais dispositivos constitui uma rede de comunicação,
podendo se organizar de diversas formas, quando se trata da sua topologia ou também
chamado de layout as seguintes estruturas podem ser aplicadas (INTERNATIONALIT,
2021):
• Estrela: Nessa topologia temos a configuração mais fácil de ser vista no nosso
cotidiano, onde vários nós ficam ligados em um nó principal, que seria o caso dos
roteadores de internet utilizados nas residências. Essa topologia tem a característica
de manter a rede caso um nó falhe, mas toda rede vai cair se o nó principal falhar.
• Barramento: Um único cabo trafega toda a informação da rede e liga todos os
dispositivos. É uma rede barata de se implementar, simples, mas é vulnerável a
falhas no cabo e para cada nó adicionado a rede, menor a velocidade de transmissão
disponível, além de que os dados só podem ser enviados em uma direção por vez.
• Anel: Nós ligados de maneira circular e os dados viajam por cada dispositivo. Tem a
característica de ser barata de implementar, mas também pode afetar muitos nós se
apenas um cair.
• Árvore: Nessa topologia temos uma combinação de estrela com barramento, onde
vários nós centrais se conectam com nós secundários. É uma topologia bastante
escalável, mas também pode ser difícil de gerenciar de forma eficaz.
• Mesh: Toda a rede está interconectada, tendo vários caminhos entre os nós, na falta
de um nó, ela vai se reorganizar para o melhor estado. É uma rede complexa, mas
confiável.
2.2 Internet das coisas
O conceito de Internet das Coisas (IoT) se dá com uma rede de dispositivos
integrados a sensores, softwares e outras tecnologias com o intuito de trabalharem em
conjunto e trocar dados com outros dispositivos ou com a Internet. É um conceito que
se expande cada vez mais com mais de 10 bilhões de dispositivos IoT conectados hoje
e com uma projeção de tem 27 bilhões em 2025 (HASAN, 2022). Isso tudo foi muito
facilitado pelo avanço da computação de baixo custo, nuvem, big data, análise avançada e
tecnologias móveis. Dispositivos IoT podem compartilhar e coletar dados com o mínimo
de intervenção humana. Assim sendo, tais dispositivo são capazes de interligar os sistemas
e podendo gravar, monitorar e ajudar cada interação entre itens conectados (ORACLE,
2014). A IoT está presente desde atividades cotidianas como ligar uma lâmpada pela
Capítulo 2. Referencial teórico 17
internet, verificar os itens de uma geladeira, ou em um ambiente industrial que exporta
os dados das máquinas de sua produção para a Internet, ou mesmo um sistema de saúde
onde um paciente pode ser monitorado diretamente de sua casa pelo seu médico, assim,
cada vez mais otimizando atividades em todos os setores.
Para Santos et al. (2016) a Internet das coisas pode ser vista como a combinação
de diversas tecnologias, tendo um um conjunto de blocos básicos para a construção da
IoT, sendo eles:
• Identificação: Sendo importante para diferenciar os dispositivos de maneira única,
Tecnologias como RFID, NFC e endereçamento de IP são opções para serem aplicadas.
• Sensores/Atuadores: As maneiras de interagir com o meio ambiente de forma passiva
e ativa.
• Comunicação: Diz respeito as técnicas para conexão entre dispositivos, fatores críticos
como consumo de energia, alcance e velocidade são levados em conta. Algumas
tecnologias são WiFi, Bluetooth, IEEE 802.15.4 e RFID.
• Computação: Inclui a unidade de processamento, responsável por executar algoritmos
locais nos objetos inteligentes.
• Serviços: Um sistema IoT pode promover diversos tipos de serviços. O serviço de
identificação, onde entidades físicas são mapeadas para entidades virtuais, como
a temperatura de um ambiente para um valor, coordenada do sensor e instante
da amostra. Outro serviço é o de agregação de dados que coletam e sumarizam
dados homogêneos/heterogêneos obtidos. Serviços de colaboração e inteligência que
agem sobre os serviços de agregação de dados para tomar decisões e reagir de modo
adequado para cada cenário. Por último os serviços de ubiquidade, que o objetivo é
prover colaboração e inteligência em qualquer momento e lugar que sejam necessários.
• Semântica: Seria o bloco responsável pela habilidade de extração de conhecimento
dos objetos na IoT. Trata da descoberta de conhecimento e uso eficiente dos recursos
existentes na IoT, a partir dos dados existentes, com o objetivo de prover determinado
serviço. Várias técnicas podem ser usadas como Resource Description Framework
(RDF), Web Ontology Language (OWL) e Efficient XML Interchange (EXI).
Quanto as principais tecnologias da comunicação utilizadas em IoT,Santos et al.
(2016) elenca as seguintes como as mais relevantes:
• Ethernet: O padrão Ethernet (IEEE 802.3) é bastante presente nas redes locais com
fio existentes atualmente. Muito popular pela simplicidade, facilidade de adaptação,
Capítulo 2. Referencial teórico 18
manutenção e custo. Hoje se tem a possibilidade de implementar através de um cabo
do tipo par trançado e por fibra óptica, onde a diferença vai ser na velocidade de
transmissão, o primeiro alcança 1 Gbps limitado a 100m e os de fibra óptica alançam
10 Gbps limitado a 2000m. É um padrão recomendado para dispositivos fixos.
• Wi-Fi: O padrão IEEE 802.11 define um conjunto de padrões de transmissão e
codificação, é destaque da comunicação sem fio e se mostra pela facilidade em
encontrar em diversos lugares. Esse padrão prevê taxas de comunicação de 600
Mbps ou 1300 Mbps. Sua maior desvantagem é o maior consumo de energia quando
relacionadas as outras tecnologias.
• ZigBee: Padrão de baixa vazão, reduzido consumo energético e baixo custo especifi-
cado no protocolo IEEE 802.15.4 para camada de enlace. O padrão de frequência é
de 2.4 GHz, mas pode operar 868 MHz e 915 MHz. Nesse padrão é possivel alcançar
a taxa de 250 kbps, mas não são muito utilizadas, pois o foco desse padrão é o baixo
consumo, sendo possivel aplicar o modo sleep nos dispositivos por longos períodos
para economizar energia, assim, aumentando a vida útil do dispositivo.
• Bluetooth Low Energy: Uma das principais tecnologias de rede sem fio para PANs -
Personal Area Networks, usado em smartphones,headsets, PCs e outros aparelhos. O
Bluetooth se divide em clássico e o Bluetooth Low Energy (BLE), onde nas versões
anteriores as do BLE o foco era velocidade e na atual o foco é o baixo consumo. Nas
versões mais novas de BLE houve um aumento do tamanho da mensagem transmitida
onde passou de 27 bytes da versão 4.1 para 251 bytes da 4.2, além de que na versão
mais nova cada dispositivo é capaz de atuar como master ou como slave, diferente
da versão 4.0 que a rede era predominante em topologia estrela.
• 3G/4G: São os padrões de telefonia celular, projetos de IoT que precisam alcançar
grandes distâncias podem fazer uso das redes de telefonia, possuindo um trade off
com o seu alto consumo energético. O 3G opera em 1900 MHz e 2100 MHz com uma
taxa de transmissão 1 Mbps, o padrão 4G operam em 2500 MHz com uma taxa 10
Mbps.
• LoRaWan: Projetada para redes de longa distância,utiliza a frequência ISM sub-GHz
fazendo com que as ondas eletromagnéticas penetrem grandes estruturas e superfícies,
atingindo distâncias de 2 km a 5 km em meio urbano e 45 km no meio rural. Seu
consumo é considerado baixo e está ficando cada vez mais popular nas empresas de
hardware, a taxa de transmissão alcança valores entre 300 bps a 50 kbps.
• SigFox: Tecnologia recente e usuária da Ultra Narrow Band (UNB), projetada para
trabalhar com pequenas taxas de transferências de dados. Apesar da tecnologia ser
nova possui grande aceitação e é muito encontrada pela Europa e América do Norte.
Capítulo 2. Referencial teórico 19
A SigFox atua como uma operadora para IoT, fornecendo suporte e uma API para
implementar os dispositivos na rede. O raio de cobertura é entre 3 km e 10 km em
área urbana e entre 30 km e 50 km em zonas rurais. A taxa de transmissão é entre
10 bps e 1000 bps, com pacotes de 96 bytes.
20
3 TRABALHOS RELACIONADOS
A fim de desenvolver os dispositivos propostos no trabalho, onde seriam aplicados
conhecimentos na área de sistemas embarcados e IoT para auxiliar na administração do
uso da água em residências, foi pesquisado o tema em bases de pesquisa acadêmica para
verificar trabalhos relacionados, assim, verificando um ponto de partida e quais elementos
melhor atenderiam ao objetivo do trabalho.
Abaixo iremos comentar a respeito dos artigos mais relevantes, encontrados na
literatura, para o presente trabalho.
3.1 A design of high-level water tank monitoring system based on
Internet of things
Zhou e Jiang (2020) propõe um sistema com uma rede de dispositivos para gerar
as informações sobre o monitoramento de água em um prédio. No trabalho é descrita a
estrutura da rede de comunicação (Fig. 2). Nessa rede foi utilizada a tecnologia ZigBee
para implementar a rede, tendo três tipos de dispositivos: Cordinator, que é o responsável
por dar inicio e configurar a rede. Outro componente da rede é o router, com a função
de conectar os nós finais a rede e gerar as rotas, e por fim o end-device, que são os
dispositivos com função de coleta e transmissão de dados. No projeto foi implementado
um dispositivo no reservatório de água de um prédio para medir nível e qualidade da água.
Outro dispositivo foi instalado na casa de bombas para monitorar seu estado. Por último
um dispositivo conectado a um PC para receber os dados.
Figura 2 – Diagrama de rede
Fonte: Zhou e Jiang (2020)
Capítulo 3. Trabalhos Relacionados 21
Para medir qualidade da água, Zhou e Jiang (2020) decidiram por utilizar um sensor
para medir a TDS - Taxa de sólidos dissolvidos. Para isso foi usado um sensor que media
a condutividade elétrica da água, assim, associando um alarme para quando estivesse fora
do padrão, soando um sinal sonoro por um módulo campainha. Para medição de nível
foi utilizado o sensor HC-SR04, um sensor de distância que tem o principio associado
ao tempo entre o disparo e o retorno de um sinal ultrassônico. Tal sensor consegue fazer
medições de até 4.5 m e com um ângulo de detecção de menos de 15º. O teste pode ser
visto na figura 3, colocando o sensor de ultrassom paralelo a água com uma distância
miníma para não causar erros de leitura. Para o dispositivo da bomba foi integrado a um
módulo de conversão TTL para RS-485 para possibilitar a comunicação com o inversor de
frequência.
Figura 3 – Teste de nível
Fonte: Zhou e Jiang (2020)
O módulo que realiza a conexão com a rede é o CC2530. Esse módulo está presente
em todos os dispositivos, fazendo a coleta e transmissão dos dados na rede, no nó do
computador é utilizado um módulo conversor TTL para USB (CH340G).
3.2 Aqua: Water Level Audit and Alimentation for Smart City
Outro trabalho é o de Raha, Ahmed e Paul (2019), o qual também utiliza o mesmo
sensor HC-SR04 para medir o nível, controle do estado da bomba, mas não faz a leitura
de qualidade da água e todo sistema de monitoramento fica no mesmo dispositivo. O
diagrama do sistema pode ser visto na figura 4, onde é utilizado um microcontrolador do
modelo ESP8266 que possui conexão WiFi, led, campainha, relé, as leituras dos sensores
e transmite os seus dados para um banco de dados na nuvem, o Firebase. Então esses
valores são lidos em um aplicativo de celular e por onde é possível controlar a bomba
através do acionamento do relé.
Capítulo 3. Trabalhos Relacionados 22
Figura 4 – Diagrama do sistema de Raha, Ahmed e Paul (2019)
Fonte: Raha, Ahmed e Paul (2019)
3.3 IoT-Mobile Enabled Smart Water Level Controlling System to
Regulate Water Wastage
Para Shankar e Dakshayini (2018), o monitoramento de água foi realizado através de
um sensor de nível resistivo T1592, que possui linhas metálicas expostas na sua superficie
que ao entrar em contato com a água, de acordo com que o nível da água cobre essas
linhas, a resistência diminui e assim aumenta a tensão de saída (LOCATELLI, 2021). Esse
sensor é conectado em um placa Arduíno UNO com um shield de comunicação Ethernet.
Na figura 5 podemos ver a representação do sistema, os dados dessa aplicação são enviados
para um servidor com banco de dados MySQL utilizando requisições HTTP, onde são
interpretados em um aplicativo mobile.
Figura 5 – Diagrama do sistema de Shankar e Dakshayini (2018)
Fonte: Shankar e Dakshayini (2018)
O algoritmo do medidor compara o nível do tanque com dois valores: Se o nível
estiver abaixo de 15%, envia uma mensagem para o aplicativo avisando para ligar o motor
Capítulo 3. Trabalhos Relacionados 23
da bomba, sendo feito através do clique em um dos botões da interface e atualizando
seu estado. O outro caso é do nível estar acima de 85%, que envia uma mensagem para
desligar o motor e repete o processo anterior.
Figura 6 – Aplicativo do sistema
Fonte: Shankar e Dakshayini (2018)
3.4 IoT based water level meter
Outro cenário para monitoramento de água é em regiões suscetíveis a inundações.
Neste cenário, PACHIPALA et al. (2018) propõe um sistema para monitoramento de nível
em canais, lagoas e rios para ter um aviso prévio das enchentes e reduzir os seus impactos.
O trabalho tem como objetivo apresentar um sistema embarcado que faz a leitura de
três entradas digitais que são dispostas em uma barra com um fio ligado ao terra no fim
da barra, dessa forma a medida que o nível da água aumenta fecha o circuito com as
entradas digitais e assim se sabe o nível da água. Ao detectar esse nível o programa liga
leds referente a cada nível e em um ponto aciona um relé que está conectado a um motor
(Fig. 7).
O microcontrolador utilizado foi o ESP8266 sobre a placa nodeMCU e com sua
conexão WiFi se conecta a plataforma IoT da ThingSpeak, um coletor de dados e que é
possível conectar os elementos de borda da IoT. As informações são registradas e podem
ser visualizadas e manipuladas em outros sistemas, assim como PACHIPALA et al. (2018)
propõe utilizar o MATLAB para processar os dados. Os autores afirmam que o sistema
pode ser instalado em barragens e para trabalhos futuros existe o objetivo de adicionar
um módulo GSM para notificar a população através de um SMS quando o nível de água
chegar em um certo nível.
Capítulo 3. Trabalhos Relacionados 24
Figura 7 – Teste de sistema
Fonte: PACHIPALA et al. (2018)
3.5 Sistema de gerenciamento autonômico de consumo de água
para casas inteligentes utilizando IoT
O trabalho de Côrte et al. (2020) propõe um dispositivo que combina um medidor
de volume de água com um servidor e notifica o usuário quando o consumo está próximo
ao limite mensal ou muito alto em relação a outros dias, assim como quando identificar
vazamentos. Os valores seriam enviados do sensor para um servidor local onde os dados
podem ser acompanhados e processados.
Figura 8 – Visão do Arduíno e sua implementação na proposta
Fonte: Côrte et al. (2020)
O sistema conta com um sensor (o YF-S201) que pode ser colocado em qualquer
duto de água de uma residência, tal sensor de fluxo de água que varia de 1 a 30 litros
de água por minuto, suportando uma pressão de até 2 Mpa. A ligação foi feita com um
microcontrolador ArduínoUNO.
A proposta do trabalho era ligar o Arduino a um módulo Zigbee e comunicar com
uma plataforma de IoT desenvolvida no Laboratório de Redes e Gerência (LRG) da UFSC,
Capítulo 3. Trabalhos Relacionados 25
chamada de Central Internet of Things (CIoT), podendo ser visto um exemplo da proposta
na figura 9.
Figura 9 – Exemplo do servidor web da proposta
Fonte: Côrte et al. (2020)
O autor realizou um protótipo com o sensor comunicando com o Arduíno, escrevendo
seus dados na sua porta serial e sendo lidos pelo seu laptop em um console serial na IDE
da Arduíno (Fig. 10). Segundo os testes do autor, o sensor é bastante impreciso com 56%
de erro com um fluxo baixo de água e de 32% em alto fluxo, sugerindo em sua conclusão a
substituição do modelo de sensor. O autor conclui que o protótipo valida a proposta e se
demonstrou capaz de ser autônomo.
Figura 10 – Protótipo em ação, conectado à mangueira
Fonte: Côrte et al. (2020)
26
4 METODOLOGIA
Para produzir o seguinte trabalho se faz necessário determinar alguns materiais
para iniciar o desenvolvimento, dentre eles o microcontrolador que se deseja trabalhar, os
sensores para efetuar as leituras das variáveis para determinado cenário e também qual o
sistema supervisório que irá receber e disponibilizar os dados para visualização.
4.1 Controlador
Diante do que foi visto durante a pesquisa de trabalhos relacionados, a utilização de
um microcontrolador como o ESP8266 se torna muito atrativa para o projeto. Dentre as
opções existe a placa Wemos D1 mini pro (Fig. 11), uma placa que utiliza o microcontrolador
da Espressif, que produz o ESP8266, mas essa placa conta com a versão do ESP8266EX,
uma continuação do outro chip. Esse é um microcontrolador pequeno (34.2x25.6mm), de
baixo custo, com clock de 80/160MHz, com disponibilidade de conexão WiFI com uma
antena de cerâmica e também com possibilidade de ligar uma antena externa na placa,
possui 16MB de memória Flash, 11 portas digitais, uma porta analógica, possibilidade de
recursos como interrupções, pulse width modulation (PWM), suporte para comunicação
I2C,SPI, one-wire, pode ser programado com MicroPython, Arduino e nodeMCU (WEMOS,
2021).
Figura 11 – Wemos D1 mini pro
Capítulo 4. Metodologia 27
4.2 Sensores
4.2.1 Medição de volume
A medição do volume pode ser feita de diversas formas. Foi visto a possibilidade de
fazer a leitura com sensores digitais, com a resolução baseada na quantidade de portas
digitais disponíveis, mas que também entra em contato direto com a água podendo causar
contaminação e também o desgaste do sensor. Outra possibilidade foi a medição utilizando
um sensor de fluxo, mas que se demonstrou impreciso no trabalho utilizado e que seu
posicionamento em um sistema como a caixa d’água pode não ser trivial. Ainda outra
solução foi uma leitura analógica utilizando um sensor como o de ultrassom, relacionando
a altura da caixa D’Água com o seu volume.
Um sensor bastante popular nos trabalhos é o sensor HC-SR04, segundo o datasheet
publicado por Freaks (2016), ele é capaz de medir no intervalo entre 2cm até 400cm,
com uma precisão de 3mm e consumindo 15mA durante seu funcionamento. O módulo é
composto de um transmissor e um receptor ultrassônico e o circuito de controle em uma
placa só (Fig. 12).
Figura 12 – HC-SR04
Fonte: Freaks (2016)
Sua leitura é feita através de uma sequência de passos descrita no diagrama da
figura 13, é dado um pulso de 10uS no pino de trigger do sensor, então ele dispara um
conjunto de 8 pulsos na frequência de 40 kHz e o pino echo é colocado em sinal alto,
quando o sinal disparado é refletido de volta para o sensor o echo vai para sinal lógico
baixo, assim, podemos obter o período do sinal e com isso calcular a distância, sendo feito
o cálculo multiplicando esse período pela velocidade do som, aproximadamente 340m/s e
dividir por 2.
Outro modelo de sensor a ser utilizado é o de modelo JSN-SR04T. Sua versão 2.0
afirma ser capaz de medir entre 20 e 600 cm com precisão de 2mm e consumindo até 8mA
durante seu funcionamento. A composição do sensor é de um transceptor ultrassônico
afastado da placa de controle, diferente do modelo HC-SR04, também como há uma
proteção no transdutor que faz com que ele seja à prova de água. Contudo, em sua
Capítulo 4. Metodologia 28
Figura 13 – Funcionamento HC-SR04
Fonte: Freaks (2016)
construção da placa de controle, se assemelha ao outro modelo, com as mesma quantidade
de pinos.
O seu funcionamento se dá em três modos: No primeiro ele realiza as leituras
assim como no HC-SR04, no segundo modo ele transfere os dados de forma serial para o
microcontrolador a cada 100 ms enviando a distância medida em mm, já o terceiro modo
ele também utiliza a comunicação serial mas é necessário enviar um comando de valor
0x55 para iniciar a medida. A configuração de qual modo será executado se dá pelo arranjo
de resistores ligados na placa de controle (SENSOR, 2019).
A fim de dar uma confiabilidade maior ao projeto com a propriedade de resistência a
água e pelas especificações darem maior precisão ao modelo JSN-SR04T (INFO, 2022), foi
feita a escolha de usar esse modelo durante do desenvolvimento do dispositivo de medição
de nível. O sensor pode ser visto na figura 14.
Figura 14 – Sensor JSN-SR04T
Fonte: Freaks (2016)
4.2.2 Leitura do estado da bomba
Para verificar o estado de uma bomba há algumas possibilidades como a leitura
indireta da vibração do corpo do motor, a leitura da corrente que passa pelo sistema ou a
leitura do acionamento dela através do estado de uma contatora, que é um dispositivo
eletromagnético que comuta circuitos de energia elétrica. Ele consiste em um eletroímã
Capítulo 4. Metodologia 29
que quando energizado troca o estado de alguns contatos e assim funcionando como uma
chave (SANTOS, 2022), onde é possível ligar um dos pares de contatos em uma entrada
digital do microcontrolador e medir o seu estado, sendo a opção mais fácil e robusta.
Porém como não é possível prever se na instalação da bomba vai ter disponível um de
seus contatos para se utilizar junto ao microcontrolador, mas a nível de desenvolvimento
de um protótipo, esse trabalho vai considerar que o estado da bomba virá através de um
sensor com sinal digital, podendo ser atendido pela solução utilizando uma contatora ou
um sensor analógico processado.
4.3 Sistema supervisório
Para um real monitoramento dos dados dos dispositivo deve haver alguma comuni-
cação com uma plataforma capaz de visualizar esses valores. Diante das pesquisas foi visto
alguns exemplos de serviços como esse. O Laboratório de Informática Industrial (LII) da
UFRN produziu uma plataforma aberta para sistemas IoT, onde qualquer pessoa pode
criar uma conta, programar e adicionar um dispositivo. O sistema é o Smart Automation
using IoT (SAIOT).
4.3.1 Arquitetura
Segundo Costa et al. (2018) a plataforma parte de um ponto de origem com
uma arquitetura pensada para usar um conjunto de sensores e atuadores que podem
ser instalados em uma residência além de se comunicarem uns com os outros, onde isso
seria feito por uma aplicação web, disponível em uma unidade central com acesso via
computador ou smartphone conectados a mesma rede. A ideia do sistema conta com o
objetivo de manipular os dispositivos smart cadastrados, dando permissões de acesso para
outros usuários, criação de níveis para representar setores e cômodos de algum local de uma
forma hierárquica. Além de que os dispositivos poderiam ser acionados manualmente ou
automaticamente por meio de regras com os valores de sensores, assim como visualização
dos dados dos sensores e criação de grupos de dispositivos para serem acionados juntos.
Continuando o desenvolvimento dos trabalhos, o SAIOT foi planejado a partir da
interação de três camadas (SILVA et al., 2019), sendo representadas na figura 15. Na
camada mais baixa temos os dispositivos com os seus sensores e atuadores, onde podem
comunicar usando diferentes protocolos com a camada do middlerware, que é a camada
de serviço e que liga os dispositivos com o usuáriofinal na camada superior, na camada
de middleware estão servidores web (Nginx), as aplicações (Node js) e bancos de dados
(Redis, MySQL e MongoDB).
Capítulo 4. Metodologia 30
Figura 15 – Arquitetura da plataforma SAIOT
Fonte: Silva et al. (2019)
4.3.2 Integração dos dispositivos
Visando facilitar o desenvolvimento dos dispositivos para a plataforma, o SAIOT
disponibiliza uma biblioteca que auxilia na construção do dispositivo, sua configuração e
conexão de forma fácil e segura. Segundo Cavalcanti et al. (2019) a proposta da biblioteca
é contemplar todo tipo de sensores e controladores, onde as funções básicas vão ser padro-
nizadas, com todas camadas do sistema falando a mesma linguagem e assim garantindo a
interoperabilidade.
Nesse trabalho foram definidos os conceitos para caracterizar cada dispositivo, como
a passagem de parâmetros para criar os controladores e sensores, havendo chaves únicas
para cada elemento, uma tag associada, além das configurações de cada tipo, onde o sensor
possuía a definição da unidade e tipo do dado, já o controlador tinha a classe do atuador.
A característica de haver as credenciais de nome do dispositivo, email e senha do usuário
ligado ao dispositivo para ser adicionado no middleware, onde ao ser feito o registro o
dispositivo ganhava um token para autenticar a conexão. Para executar as funções de
envio e recebimento dos valores, o dispositivo possuía uma função de callback.
Capítulo 4. Metodologia 31
4.4 Arquitetura do sistema
Diante do que foi discutido, a arquitetura geral do sistema pode ser vista na figura
16. Tanto quanto a disposição dos dispositivos, suas ligações com os elementos medidos e
a conexão WiFi com o Sistema supervisório, onde os usuários podem acessar os dados dos
dispositivos.
Figura 16 – Arquitetura do sistema
32
5 DESENVOLVIMENTO E RESULTADOS
Diante do que foi discutido anteriormente, o inicio do desenvolvimento se dá na
divisão entre dois dispositivos para realizar a função do monitoramento das variáveis
relacionadas ao padrão de consumo de água em uma residência.
5.1 Medição de nível da caixa d’água
5.1.1 Testes com sensor JSN-SR04T
Para verificar se o sensor apresenta algum nível de confiabilidade foram feitas
algumas medições em um ambiente controlado. Foi utilizada uma mesa com um metro de
comprimento e anexado o sensor utilizando um suporte. Em seguida foram feitas marcações
de dez centímetros de diferença entre elas. O microcontrolador foi programado para fazer
20 leituras contínuas num intervalo de 500 milissegundos entre as amostras e exibir seus
resultados no terminal do computador.
Figura 17 – Ambiente para testes com sensor JSN-SR04T
Os resultados podem ser vistos na tabela 1, onde é possível notar que dentre
as leituras existem pequenas flutuações de até três centímetros ao redor do valor real,
demostrando um bom nível de confiabilidade para valores acima de 20 cm, havendo apenas
leituras erradas para distâncias abaixo dessa faixa. Apesar de realizar leituras corretas,
ainda é necessário utilizar algum filtro para reduzir essas variações. Além disso também
é analisado que existem leituras que se distanciam muito da real, como a de valor 0 e
próximos de 224 cm. Esses valores com muita divergência estão marcados em vermelho
Capítulo 5. Desenvolvimento e Resultados 33
na tabela 1. O teste realizado serviu para verificar a necessidade de implementar uma
maneira de identificar essas grandes perturbações na amostragem e descartar esses valores.
A solução para esse problema verificado durante os testes pode ser visto na seção 5.1.2.
Tabela 1 – Teste com sensor JSN-SR04T em ambiente controlado.
Distâncias (cm)
Amostras 90 80 70 60 50 40 30 20
1 91 80 70 60 48 39 29 220
2 91 81 70 60 49 36 27 220
3 90 81 69 57 50 37 28 221
4 91 224 70 58 49 38 0 221
5 92 79 71 57 48 37 27 220
6 90 82 69 57 0 38 28 221
7 91 0 68 0 50 37 28 222
8 91 82 70 232 48 38 27 220
9 91 81 70 57 48 38 26 223
10 92 80 214 58 49 36 27 242
11 90 82 69 57 49 39 26 243
12 91 81 223 57 50 38 27 242
13 90 82 72 58 49 38 28 233
14 91 80 70 58 49 38 28 231
15 91 80 70 58 49 37 28 232
16 238 81 71 57 50 38 27 240
17 90 81 227 57 50 36 28 0
18 91 81 69 57 50 36 28 241
19 244 80 70 58 50 38 28 240
20 227 81 71 59 50 38 27 241
5.1.2 Desenvolvimento do dispositivo IoT
No padrão definido para construção de um dispositivo para integração a plataforma
do SAIOT, é necessário dar inicialmente um nome, definir uma classe e uma descrição
para o dispositivo, no caso do medidor foram definidas as variáveis da seguinte forma
apresentada no Algoritmo 1. Além disso a definição da chamada de objeto para a própria
biblioteca do SAIOT e as funções de cada sensor. Depois disso foram declaradas as variáveis
usadas para as funções de leitura do JSN-SR04T e processamento de seus valores.
O próximo passo é adicionar os sensores desse dispositivo (Alg. 2), isso é feito
na função setup que é chamada apenas uma vez quando microcontrolador é inicializado,
durante a definição é necessário dar um nome, uma chave, indicar o tipo do dado, valor
inicial, tempo entre envios, deadband e a função responsável por colocar o dado no formato
para envio. Foram adicionados dois sensores de tipo numérico: um sensor de volume,
que vai utilizar o valor de altura com as informações da geometria da caixa d’água para
Capítulo 5. Desenvolvimento e Resultados 34
1
2 #include <Arduino.h>
3 #include "Saiot.h"
4
5 String deviceName = "Caixa d'água";
6 String deviceClass = "geral";
7 String deviceDescription = "Medidor de nível";
8
9 Saiot saiot(deviceName, deviceClass, deviceDescription);
10
11 // Callback do sensor
12 String nivelCallback();
13 String volumeCallback();
14
15 #define TRIG 14 // Module pins
16 #define ECHO 12
17 int distancia_atual;
18 float distancia_filtrada;
19 float distancia_anterior;
20 short int conta_falhas = 10;
21 unsigned long int ultima_amostra = 0;
22
23 // Condições para validar amostra
24 const int dif_max = 10;
25 const int falhas_max = 10;
26
27 // média móvel
28 const int num_amostras = 20;
29 int amostras[num_amostras];
30 int indice_movel = 0;
31 int media_movel = 0;
32 float media_movel_func(int amostra_atual);
Algoritmo 1 – Configuração do dispositivo
determinar o volume atual em litros, e também um sensor de nível que vai converter o
volume para a porcentagem referente ao volume total.
As funções de callback dos sensores podem ser vistas no Algoritmo 3, o tipo de
retorno é sempre no formato String.
As duas funções para processamento do dado de envio são feitas dentro da biblioteca
do SAIOT, sendo uma alteração feita com o objetivo de aproveitar funcionalidades de
configuração já programadas para cadastrar o dispositivo. Para conectar um dispositivo
na plataforma é feita uma configuração inicial em um webserver (Fig. 18) acessado através
de um Acess Point do dispositivo, então é possível configurar o WiFi que ele irá conectar e
também as credenciais de login e senha da conta que ele vai pertencer.
A fim de salvar configurações importantes na memória não volátil do microcontro-
lador, onde serão utilizadas para calcular as variáveis de volume e nível foram adicionados
Capítulo 5. Desenvolvimento e Resultados 35
1 void setup()
2 {
3 Serial.begin(9600);
4 pinMode(TRIG, OUTPUT);
5 pinMode(ECHO, INPUT_PULLUP);
6 Sensor *nivel = new Sensor("nivel", "nivel", "number",
7 {"0"}, 60,20,
8 nivelCallback);
9 Sensor *volume = new Sensor("volume", "volume", "number",
10 {"0"}, 60, 20,
11 volumeCallback);
12 saiot.addSensor(*volume);
13 saiot.addSensor(*nivel);
14 saiot.start();
15 }
Algoritmo 2 – Definição de sensores do dispositivo medidor de nível
1 String volumeCallback()
2 {
3 return saiot.get_volume(round(distancia_filtrada));
4 }
5
6 String nivelCallback()
7 {
8 return saiot.get_nivel();
9 }
Algoritmo 3 – Funções de callback dos sensores do dispositivo medidor de nível
outros parâmetros (Fig. 19).O primeiro é a distância mínima que o sensor vai estar do
nível mais alto da caixa d’água, o sensor necessariamente precisa estar pelo menos 20 cm
afastadodo que se quer medir. Essa variável é utilizada para realizar a diferença com a
altura do reservatório e obter o nível. Outro parâmetro é o formato da caixa d’água, para
simplificar foi implementado apenas para tipos retangulares e redondos, que também con-
templa os casos mais comuns que são em formato de tronco de cone usadas em residências,
os próximos parâmetros são utilizados de acordo com essa escolha.
O cálculo de volume e nível feito internamente é demonstrado no Algoritmo 4.
Dependendo do formato é acessado um cálculo diferente. O primeiro cálculo é para caixas
d’água de formato redondo, funcionando para as cilíndricas e na forma de tronco de
cone, parametrizando a forma dessa última, assim encontrando o raio correspondente a
altura do nível instantâneo. O outro formato é o retangular, onde o cálculo é feito apenas
multiplicando largura,comprimento e altura.
Na função principal do microcontrolador (Alg. 5), a função loop que é chamada
Capítulo 5. Desenvolvimento e Resultados 36
Figura 18 – Página inicial do webserver do dispositivo medidor de nível
Figura 19 – Página de configuração do webserver do dispositivo medidor de nível
continuamente, é executada a função da biblioteca do SAIOT para gerenciar a chegada e
envio de mensagens, também como se o dispositivo está conectado, configurações e outros
parâmetros. Em seguida é implementado o código para realizar a amostragem do sensor,
Capítulo 5. Desenvolvimento e Resultados 37
1 String Saiot::get_volume(int distancia_sensor){
2
3 float nivel_atual = altura.toFloat()/100 - ((distancia_sensor-dist_min.toFloat())/100);
4 if(formato == "1"){ // Redonda
5 float r_maior_total = dimensao_1.toFloat()/200;
6 float r_min = dimensao_2.toFloat()/200;
7 float altura_m = altura.toFloat()/100;
8 float tan_g = (r_maior_total - r_min)/altura_m;
9 float r_maior_atual = nivel_atual*tan_g + r_min;
10 volume = ((3.1416)*nivel_atual/3)*( pow(r_maior_atual,2) +
11 (r_maior_atual*r_min) +
12 pow(r_min,2));
13 volume_total = ((3.1416)*altura.toFloat()/300)*( pow(r_maior_total,2) +
14 ((r_maior_total)*(r_min)) + pow(r_min,2));
15 }
16 else{ // Retangular
17 volume = (dimensao_1.toFloat()/100)*(dimensao_2.toFloat()/100)*nivel_atual;
18 volume_total = (dimensao_1.toFloat()/100)*(dimensao_2.toFloat()/100)*
19 (altura.toFloat()/100);
20 }
21 if(volume < 0 ) volume = 0;
22 return String(volume*1000);
23 }
24
25 String Saiot::get_nivel(){
26 float nivel = (volume/volume_total)*100;;
27 return String(nivel);
28 }
29
30
Algoritmo 4 – Funções internas do dispositivo medidor de nível
realizando a coleta de dados a cada 500 milissegundos, usando a função millis() para
retornar o tempo que o microcontrolador está ligado e subtraindo pelo valor salvo de
quando foi realizada a amostra anterior.
Para evitar o ruído do sensor visto durante os testes, foi colocada uma condicional
sobre o valor medido. O valor só será considerado se tiver uma diferença menor que um
limite em relação a última amostra aceita. Por outro lado também foi colocado um limite
de amostras recusadas em sequência, adicionando a amostra no cálculo caso o limite
seja ultrapassado. O próximo passo foi aplicar um filtro que suaviza o valor medido. O
filtro utilizado foi o de média móvel (MARTINS et al., 2003), um algoritmo que calcula a
média das últimas amostras e assim atenuando o ruído. Devido a sua estrutura, o filtro
acaba gerando um atraso na resposta do sinal. Esse atraso é proporcional a quantidade de
amostras utilizadas. O diagrama representando o filtro da média móvel pode ser visto na
figura 20.
A implementação desse filtro é feita utilizando a função mostrada no Algoritmo
Capítulo 5. Desenvolvimento e Resultados 38
1 void loop()
2 {
3 saiot.loop();
4 if ((millis() - ultima_amostra) > 500)
5 {
6 digitalWrite(TRIG, LOW);
7 delayMicroseconds(2);
8 digitalWrite(TRIG, HIGH);
9 delayMicroseconds(20);
10 digitalWrite(TRIG, LOW);
11 int distancia_atual = pulseIn(ECHO, HIGH, 26000);
12 distancia_atual = distancia_atual / 58;
13 if (abs(distancia_atual - distancia_anterior) < dif_max || conta_falhas >= falhas_max)
14 {
15 distancia_anterior = distancia_atual;
16 conta_falhas = 0;
17 distancia_filtrada = media_movel_func(distancia_atual);
18 }
19 else
20 {
21 conta_falhas++;
22 }
23 ultima_amostra = millis();
24 }
25 }
Algoritmo 5 – Função principal do dispositivo medidor de nível
Figura 20 – Diagrama média móvel
Fonte: Martins et al. (2003)
6, onde a amostra inicial ocupa a primeira posição do vetor, depois é feito o somatório
das amostras em uma variável e então dividido pelo número de amostras, então o vetor é
deslocado para na próxima chamada da função já estar preparado para o novo cálculo.
Feita a programação do dispositivo e configuração de seus parâmetros, ele fica
disponível para ser adicionado na aba de “Pendentes” (Fig. 21), ao clicar é redirecionado
para uma página de configuração dos parâmetros do dispositivo e dos sensores (Fig. 22)
Capítulo 5. Desenvolvimento e Resultados 39
1 float media_movel_func(int amostra_atual){
2 amostras[0] = amostra_atual;
3 media_movel = 0;
4 for(int i = 0; i< num_amostras; i++){
5 media_movel += amostras[i];
6 }
7 media_movel = media_movel/num_amostras;
8 for(int i = num_amostras; i> 0; i--) amostras[i] = amostras[i-1];
9 return media_movel;
10 }
Algoritmo 6 – Função de média móvel implementada
podendo mudar os nomes, tempos, deadband e também definir a unidade do valor medido.
Por fim o dispositivo aparece na aba de cadastrados (Fig. 23) e já pode ser visualizado
assim como seu histórico.
Figura 21 – Dispositivo medidor de nível pendente no SAIOT
Figura 22 – Cadastro do dispositivo medidor de nível no SAIOT
Capítulo 5. Desenvolvimento e Resultados 40
Figura 23 – Dispositivo medidor de nível cadastrado no SAIOT
5.2 Monitoramento da bomba
O dispositivo para monitoramento do estado e do tempo de funcionamento da
bomba é mais simples. Sua medição se dá através de uma entrada digital, assim havendo
menos tempo gasto em processamento do sinal como é feito no medidor de nível.
Seguindo os mesmos passos do medidor para implementar o dispositivo no SAIOT,
foram definidas as variáveis de nome, classe e descrição do dispositivo (Alg. 7), também
como as funções de callback dos sensores e as variáveis utilizadas no programa.
1 #include <Arduino.h>
2 #include <Saiot.h>
3
4 String deviceName = "Bomba";
5 String deviceClass = "geral";
6 String deviceDescription = "Horímetro da bomba";
7
8 Saiot saiot(deviceName, deviceClass, deviceDescription);
9
10 // Callback dos sensores
11 String stateCallback();
12 String horasCallback();
13
14 bool stateSensor;
15 bool medindo = false;
16 unsigned long int tempo_ligou = 0;
17 unsigned long int tempo_ligado = 0;
Algoritmo 7 – Criação do dispositivo de monitoramento da bomba
Para a função de setup (Alg. 8) são definidos os sensores que vão compor o dispositivo.
Nesse caso é um para indicar se a bomba está ligada ou desligada, sendo o “state”, caso a
Capítulo 5. Desenvolvimento e Resultados 41
bomba esteja ligada irá aparecer o valor 1, do contrário aparecerá 0. Outro sensor é o de
quantidades de hora que a bomba já ficou em funcionamento.
1 void setup()
2 {
3 Serial.begin(9600);
4 pinMode(D5, INPUT_PULLUP);
5 Sensor *state = new Sensor("Estado", "estado", "number", {"0"}, 1, 20, stateCallback);
6 saiot.addSensor(*state);
7 Sensor *horas = new Sensor("Horas", "horas", "number", {"0"}, 1, 20, horasCallback);
8 saiot.addSensor(*horas);
9 saiot.start();
10 }
Algoritmo 8 – Função de setup do dispositivo de monitoramento da bomba
As funções de processamento dos dados para envio para a plataforma SAIOT são
definidas na Figura 9, o valor do estado da bomba é feita diretamente da leitura da entrada
digital do microcontrolador, sendo o valor invertido devido a ligação definida em “pullup”.
O sensor de horas é calculado através da função millis(), sendo registrado o tempo em
que a bomba foi ligada e depois subtraído o tempo em que ela desligou, assim, obtendo o
intervalo de tempo que ela ficou ligada. Casoesse intervalo seja maior ou igual 1 hora, a
quantidade de horas é adicionada a variável que armazena esse valor dentro da biblioteca
do dispositivo e depois atualizado o valor de tempo ligado com o resto dessa operação.
No dispositivo do medidor de nível haviam parâmetros de configuração importantes
para o cálculo das variáveis medidas e que precisavam serem gravadas na memória flash do
microcontrolador, no caso do dispositivo da bomba a única variável que precisa ser salva é a
de quantidade de horas, assim, a possibilidade de alterar esse parâmetro nas configurações
internas do dispositivo facilita já iniciar a medição com um valor para uma bomba que
já estava em funcionamento e também caso haja algum problema com o dispositivo e
seja necessário fazer uma correção desse valor. Por causa disso também foi alterada a
biblioteca do SAIOT para esse dispositivo, onde as suas funções de chamada e de escrita
estão descritas no Algoritmo 10, assim como o parâmetro adicional no web server.
5.3 Resultados e discussões
5.3.1 Monitoramento da bomba
Para verificar o funcionamento do dispositivo de monitoramento da bomba, foi
feito um teste utilizado um dispositivo interruptor inteligente para gerar os sinais para o
protótipo realizado, o Sonoff Mini (Fig. 24), esse dispositivo se conecta a internet e pode
Capítulo 5. Desenvolvimento e Resultados 42
1 String stateCallback()
2 {
3 bool state = !digitalRead(D5);
4 return String(state);
5 }
6
7 String horasCallback()
8 {
9 if (!medindo && !digitalRead(D5))
10 {
11 medindo = true;
12 tempo_ligou = millis();
13 }
14 else if(medindo && digitalRead(D5)){
15 medindo = false;
16 tempo_ligado += (unsigned long)(millis() - tempo_ligou);
17 if(tempo_ligado/3600000 > 0){
18 saiot.add_horas(tempo_ligado/3600000);
19 tempo_ligado = tempo_ligado%3600000;
20 }
21 }
22 return saiot.get_horas();
23 }
24
Algoritmo 9 – Funções de callback dos sensores do dispositivo de monitoramento da bomba
1
2 void Saiot::add_horas(int novas_horas){
3 custom_horas.setValue("",0);
4 horas = String(horas.toInt() + novas_horas);
5 File horas_f;
6 horas_f = LittleFS.open("/horas.txt","w");
7 horas_f.print(horas);
8 horas_f.close();
9 }
10
11 String Saiot::get_horas(){
12 return horas;
13 }
14
15
Algoritmo 10 – Funções de internas do dispositivo de monitoramento da bomba
ser controlado remotamente para comutar a sua saída e, dessa forma, controlando cargas
elétricas.
O Sonoff Mini possui um relé onde ele comuta a fase da alimentação do dispositivo
para sua saída, assim, é necessário fazer uma modificação na placa para utilizar apenas
os contatos e dessa forma acionar a entrada digital no Wemos D1 mini pro. Isso foi feito
Capítulo 5. Desenvolvimento e Resultados 43
Figura 24 – Sonoff mini
retirando a solda do contado do relé com a fase, sendo feito um furo para evitar qualquer
curto, depois foi soldado dois fios nos terminais do relé para facilitar a conexão com o
microcontrolador. A alteração pode ser vista na Figura 25.
Figura 25 – Alteração no Sonoff mini
Depois foi programado o dispositivo para agendar as trocas de estado, assim, a
Tabela 2 descreve como os testes foram feitos e o resultado esperado para cada intervalo,
no primeiro momento apenas meia hora com o sinal ativo, depois outro intervalo de meia
hora fazendo com que uma hora fosse adicionada, o terceiro sendo feito com uma duração
de duas horas, o quarto contabilizando uma hora e meia e o último de mais meia hora,
terminando com seis horas com o sinal ativo.
No dia 28 de Novembro de 2022 foi feita a conexão do Sonoff com o dispositivo
ligado a protoboard que pode ser visto na Figura 26, então foi energizado e começou a
coleta e envio de dados para o SAIOT.
Os resultados podem ser vistos no histórico das duas variáveis do sensor(Fig. 27 e
28) , onde ao longo do dia foram registradas todas as alterações de estado proporcionadas
Capítulo 5. Desenvolvimento e Resultados 44
Tabela 2 – Intervalos para teste com horímetro da bomba
Ligar Desligar Horas totais
11:15 11:45 0
11:50 12:20 1
13:30 15:30 3
16:00 17:00 4
19:00 20:30 5
21:00 21:30 6
Figura 26 – Teste em bancada com protótipo do dispositivo para monitoramento da bomba
pelo Sonoff e contabilizado cada intervalo de tempo e chegando ao resultado esperado pelo
teste, assim, demonstrando que o dispositivo conseguiu realizar o objetivo proposto.
Figura 27 – Gráfico de estado do dispositivo de monitoramento da bomba
Figura 28 – Gráfico de horas do dispositivo de monitoramento da bomba
Capítulo 5. Desenvolvimento e Resultados 45
5.3.2 Medidor de nível
O teste com o medidor de nível foi feito em uma caixa d’água retangular de alvenaria
com dimensões de 230 cm de largura, 125 cm de comprimento e 80 cm de altura. O sensor
foi colocado com uma distância de 21 cm da altura da caixa d’água, onde esses dados
foram colocados na configuração do dispositivo(Fig. 29).
Figura 29 – Configurações do medidor de nível e ambiente de teste
Na Figura 30 pode ser visto como o sensor foi instalado, destacado com um círculo
vermelho, já na figura 31 o posicionamento da placa com o microcontrolador e módulo do
sensor.
O sensor foi instalado e ligado no dia 29 de novembro, realizando medições durante
o dia e enviando um dado novo para o SAIOT com um timeout de dez minutos, a fim
de confrontar os valores lidos pelo sensor. Também foram feitas medições utilizando uma
trena métrica em alguns intervalos e comparando com o valor enviado naquele momento.
Na figura 32 é possível ver o gráfico do nível e volume da caixa.
De acordo com o que é mostrado no gráfico anterior é possível identificar alguns
cenários, como algumas oscilações entre os níveis medidos, isso podendo ser causado pela
Capítulo 5. Desenvolvimento e Resultados 46
Figura 30 – Instalação do sensor na caixa d’água
Figura 31 – Instalação da placa do medidor de nível
resolução do sensor ou por alguma leitura errada que tenha deslocado a média móvel.
Outro ponto a ser destacado é o momento em que a caixa d’água começou a encher,
causando o maior ponto de oscilação no gráfico, sendo por volta de duas horas e vinte e
dois minutos.
A seguir é apresentada a tabela das comparações feitas durante a medição (Tab. 3),
é possível notar uma variação pela própria resolução alcançada com o sensor.
Capítulo 5. Desenvolvimento e Resultados 47
Figura 32 – Gráfico do nível e volume da caixa d’água
Tabela 3 – Resultados do teste com medidor de nível
Horário Nível(%) Altura medida (cm) Altura real (cm)
09:22:55 82.5 66 66.5
10:02:56 82.5 66 65.7
11:02:57 81.25 65 65.4
12:42:58 81.25 65 64.8
13:52:58 77.5 62 62
14:43:01 76.25 61 61
16:02:59 81.25 65 64.7
17:03:00 81.25 65 65.5
18:33:01 83.75 67 66.5
19:53:02 83.75 67 67
Ao realizar a análise dos resultados foram utilizadas duas métricas para verificar o
desempenho do medidor de nível. A primeira ferramenta utilizada é a de erro médio, onde
é feito a somatória dos erros absolutos de cada amostra e depois a média desse somatório
pela quantidade de amostras (PENTEADO, 2021). Segundo os dados coletados o erro
médio absoluto foi de 0.3cm. Outro método foi o do erro médio quadrático, onde cada
erro é elevado ao quadrado e depois é feito a média, dessa forma dando mais peso para os
maiores erros. No caso dessa base de amostras foi calculado um erro médio quadrático de
0.09cm.
De acordo com o que foi verificado, é possível afirmar que o sensor apresentou bons
resultados de leitura, produzindo erros menores que 0.5cm, mas ainda sendo necessário
um melhor posicionamento do sensor em um lugar mais distante da entrada de água e
uma maior quantidade de amostrar para o algoritmo da média móvel, assim, tornando o
sistema menos sensível a essas variações.
48
6 CONCLUSÃO
O trabalho se inicia com a proposta de produzir dispositivos capazes de medir variá-
veis relacionadas ao consumo de água em residencias. Foram produzidos dois dispositivos:
• O medidor de nível de água, onde a partir de um sensor ultrassônico e um microcon-
trolador com comunicação Wi-Fi, o qual possibilitou monitoraruma caixa d’água e
enviar seus dados para uma plataforma na Internet chamada SAIOT. Realizando
medições para comparar os dados do sensor, pode se dizer que os resultado mostraram
que o sensor é capaz de cumprir o objetivo proposto.
• O outro dispositivo foi para acompanhar os estados e período de funcionamento de
uma bomba, onde foi utilizado o mesmo controlador e realizando leituras através
de uma entrada digital foi possível validar a ideia do dispositivo, onde na mesma
plataforma em que foram enviados os dados do sensor, também foram enviados dados
do horímetro.
6.1 Próximas etapas
A partir dos resultados obtidos nesse trabalho é visto que os próximos itens podem
ser realizados para continuação do trabalho:
• O desenvolvimento e a produção uma placa de circuito impresso para os dispositivos,
assim como uma caixa que acomode e proteja todo seu conteúdo.
• O estudo de caso de qual melhor sensor que seja utilizado para utilizar junto ao
dispositivo de monitoramento da bomba.
• Realização de testes por maior período de tempo utilizando os dois dispositivos para
monitorar o mesmo ambiente.
• Desenvolvimento de ferramentas para qualificar o padrão de consumo de acordo com
os dados medidos.
49
REFERÊNCIAS
CANALTI. Modos de transmissão de dados: Simplex, Half-Duplex, Full-
Duplex. 2018. https://www.canalti.com.br/redes-de-computadores/
modos-de-transmissao-de-dados-simplex-half-duplex-full-duplex/.
Accessed: 2022-10-22. 15
CAVALCANTI, R. J. de V. et al. A framework for uniformization of security, network and
management in iot applications. In: 2019 II Workshop on Metrology for Industry 4.0 and
IoT (MetroInd4.0&IoT). [S.l.: s.n.], 2019. p. 196–201. 30
CÔRTE, P. A. B. d. et al. Sistema de gerenciamento autonômico de consumo de água
para casas inteligentes utilizando iot. Florianópolis, SC., 2020. 24, 25
COSTA, J. et al. Home automation architecture based on iot technologies. In: 2018
Workshop on Metrology for Industry 4.0 and IoT. [S.l.: s.n.], 2018. p. 63–67. 29
FREAKS, E. Ultrasonic ranging module hc-sr04. HC-SR04 datasheet, 2016. 27, 28
GANSSLE, J. Embedded systems dictionary. [S.l.]: CRC press, 2003. 12, 14
GARCIA, F. D. Introdução aos sistemas embarcados e microcontroladores. 2018. https:
//embarcados.com.br/sistemas-embarcados-e-microcontroladores/.
Accessed: 2022-10-21. 13
HASAN, M. State of IoT 2022: Number of connected IoT devices growing
18% to 14.4 billion globally. 2022. https://iot-analytics.com/
number-connected-iot-devices/#:~:text=In%202022%2C%20the%
20market%20for,27%20billion%20connected%20IoT%20devices. Accessed:
2022-10-29. 16
INFO, U. Como comunicar o sensor ultrassônico à prova d’água JSN-
SR04T com Arduino? 2022. https://www.usinainfo.com.br/blog/
projeto-sensor-jsn-sr04t-2-0-aj-sr04m-comunicacao-com-arduino/.
Accessed: 2022-10-29. 28
INTERNATIONALIT. Topologia de Rede: Conheça os princi-
pais tipos. 2021. https://www.internationalit.com/post/
topologia-de-rede-conheÃğa-os-principais-tipos. Accessed: 2022-
10-22. 16
LAMB, F. Automação industrial na prática-série Tekne. [S.l.]: AMGH Editora, 2015. 10,
14
LOCATELLI, C. Como usar um Sensor de Nível de Água. 2021.
https://curtocircuito.com.br/blog/Categoria%20Arduino/
como-usar-um-sensor-de-nivel-de-agua. Accessed: 2022-10-26. 22
MARTINS, C. F. et al. Aplicação de um filtro digital implementado em microcontrolador
para sensoreamento óptico. Controle e instrumentação, v. 8, n. 87, p. 50–55, 2003. 37, 38
https://www.canalti.com.br/redes-de-computadores/modos-de-transmissao-de-dados-simplex-half-duplex-full-duplex/
https://www.canalti.com.br/redes-de-computadores/modos-de-transmissao-de-dados-simplex-half-duplex-full-duplex/
https://embarcados.com.br/sistemas-embarcados-e-microcontroladores/
https://embarcados.com.br/sistemas-embarcados-e-microcontroladores/
https://iot-analytics.com/number-connected-iot-devices/#:~:text=In%202022%2C%20the%20market%20for,27%20billion%20connected%20IoT%20devices.
https://iot-analytics.com/number-connected-iot-devices/#:~:text=In%202022%2C%20the%20market%20for,27%20billion%20connected%20IoT%20devices.
https://iot-analytics.com/number-connected-iot-devices/#:~:text=In%202022%2C%20the%20market%20for,27%20billion%20connected%20IoT%20devices.
https://www.usinainfo.com.br/blog/projeto-sensor-jsn-sr04t-2-0-aj-sr04m-comunicacao-com-arduino/
https://www.usinainfo.com.br/blog/projeto-sensor-jsn-sr04t-2-0-aj-sr04m-comunicacao-com-arduino/
https://www.internationalit.com/post/topologia-de-rede-conheça-os-principais-tipos
https://www.internationalit.com/post/topologia-de-rede-conheça-os-principais-tipos
https://curtocircuito.com.br/blog/Categoria%20Arduino/como-usar-um-sensor-de-nivel-de-agua
https://curtocircuito.com.br/blog/Categoria%20Arduino/como-usar-um-sensor-de-nivel-de-agua
Referências 50
NEWS, O. População mundial atinge 8 bilhões de pessoas. 2022. https://news.un.
org/pt/story/2022/11/1805342. Accessed: 2022-12-20. 10
NS, R. Dia da Sobrecarga da Terra: saiba quando o planeta ‘entra no ver-
melho’ em 2022. 2022. https://www.noticiasustentavel.com.br/
dia-sobrecarga-terra-2022/. Accessed: 2022-12-20. 10
ORACLE. O que é IoT? 2014. https://www.oracle.com/br/
internet-of-things/what-is-iot/. Accessed: 2022-10-22. 16
PACHIPALA, Y. et al. Iot based water level meter. In: 2018 International Conference on
Smart Systems and Inventive Technology (ICSSIT). [S.l.: s.n.], 2018. p. 448–456. 23, 24
PENTEADO, K. Métricas de avaliação para séries tem-
porais. 2021. https://www.alura.com.br/artigos/
metricas-de-avaliacao-para-series-temporais#:~:text=O%20erro%
20quadr%C3%A1tico%20m%C3%A9dio%2C%20MSE,desses%20erros%20quadr%
C3%A1ticos%20%C3%A9%20calculada. Accessed: 2022-11-4. 47
RAHA, M. H.; AHMED, S.; PAUL, D. Aqua: Water level audit and alimentation for smart
city. In: 2019 International Conference on contemporary Computing and Informatics
(IC3I). [S.l.: s.n.], 2019. p. 54–58. 5, 21, 22
SANTOS, B. P. et al. Internet das coisas: da teoria à prática. 2016. 17
SANTOS, G. Contator: O Que É, Como Funciona e Tipos. 2022. https:
//www.automacaoindustrial.info/contator/. Accessed: 2022-10-28. 29
SENSOR, U. jsn-sr04t. [S.l.], 2019. 28
SHANKAR, S.; DAKSHAYINI, M. Iot-mobile enabled smart water level controlling
system to regulate water wastage. In: 2018 International Conference on Advances in
Computing, Communications and Informatics (ICACCI). [S.l.: s.n.], 2018. p. 2045–2048. 5,
22, 23
SILVA, D. R. C. et al. A concrete architecture for smart solutions based on iot technologies.
IEEE Instrumentation & Measurement Magazine, v. 22, n. 2, p. 52–59, 2019. 29, 30
TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas digitais. [S.l.]: Pearson Educación,
2010. 12
VAHID, F. Sistemas Digitais. [S.l.]: Bookman Editora, 2008. 13
WEMOS. D1 mini pro. 2021. https://www.wemos.cc/en/latest/d1/d1_mini_
pro.html. Accessed: 2022-10-27. 26
ZHOU, C.; JIANG, P. A design of high-level water tank monitoring system based on
internet of things. In: 2020 7th International Forum on Electrical Engineering and
Automation (IFEEA). [S.l.: s.n.], 2020. p. 769–774. 20, 21
https://news.un.org/pt/story/2022/11/1805342
https://news.un.org/pt/story/2022/11/1805342
https://www.noticiasustentavel.com.br/dia-sobrecarga-terra-2022/
https://www.noticiasustentavel.com.br/dia-sobrecarga-terra-2022/
https://www.oracle.com/br/internet-of-things/what-is-iot/
https://www.oracle.com/br/internet-of-things/what-is-iot/
https://www.alura.com.br/artigos/metricas-de-avaliacao-para-series-temporais#:~:text=O%20erro%20quadr%C3%A1tico%20m%C3%A9dio%2C%20MSE,desses%20erros%20quadr%C3%A1ticos%20%C3%A9%20calculada.
https://www.alura.com.br/artigos/metricas-de-avaliacao-para-series-temporais#:~:text=O%20erro%20quadr%C3%A1tico%20m%C3%A9dio%2C%20MSE,desses%20erros%20quadr%C3%A1ticos%20%C3%A9%20calculada.
https://www.alura.com.br/artigos/metricas-de-avaliacao-para-series-temporais#:~:text=O%20erro%20quadr%C3%A1tico%20m%C3%A9dio%2C%20MSE,desses%20erros%20quadr%C3%A1ticos%20%C3%A9%20calculada.
https://www.alura.com.br/artigos/metricas-de-avaliacao-para-series-temporais#:~:text=O%20erro%20quadr%C3%A1tico%20m%C3%A9dio%2C%20MSE,desses%20erros%20quadr%C3%A1ticos%20%C3%A9%20calculada.

Outros materiais

Perguntas relacionadas