Baixe o app para aproveitar ainda mais
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.
Compartilhar