IOT PARA CONTROLE E GERENCIAMENTO RESIDENCIAL

INTERNET OF THINGS (IOT) FOR HOME MONITORING AND AUTOMATION

REGISTRO DOI: 10.5281/zenodo.7977340


Hugo Joaquim da Silva Santos;
Juarez da Paz Santos;
Marcos José Alef Toloni Moreno de Jesus;
Rafael Themístocles Ribeiro de Carvalho;
Orientador: Jeison Fonseca.


RESUMO:

O projeto tem como objetivo a descrição e implantação de monitoramento em tempo real de tensão, corrente, temperatura e potência elétrica com os recursos do hardware ESP32 e dois sensores: SCT 013 e DHT11. No projeto será configurado os sensores de tensão e corrente elétrica, para que assim sejam coletados registros com dados gerados, podendo ser visualizados para monitoramento de alertas, falhas e informações.

Seguindo o processo de estudos, resolução de problemas e instalação, será feita a integração da biblioteca de publicação e assinatura Client, permitindo a comunicação com o servidor Message Queuing Telemetry Transport (MQTT), sendo possível atualização em tempo real dos dados coletados.

Após isso será realizada a configuração de comunicação entre ESP32 e o sistema de monitoramento Node-Red. O Node-Red é um framework de monitoramento e gerenciamento de dados, sendo possível visualizar registros coletados através da ESP32, que permite análise e geração de gráficos.

Esses dados coletados serão visualizados tanto no servidor MQTT quanto no sistema de monitoramento Node-Red, possibilitando a visualização em tempo real do consumo de energia para mitigar gastos desnecessários.

Por fim, o projeto visa implantar uma solução capaz de monitorar um quadro de distribuição elétrico com precisão, fornecendo monitoramento online para que seja possível realizar tomadas de decisão.

Palavras chaves: Monitoramento, Sensores, ESP32.

ABSTRACT

The project aims to describe and implement of real-time monitoring of voltage, current and power with ESP32 hardware resources and two sensors: SCT 013 and ZMP. In the project the voltage and current sensors will be configured, so that records are collected with data generated, which can be viewed for monitoring alerts, faults and information.

Following the study process, troubleshooting and installation, the integration of the publishing library and subscription Client will be done, allowing communication with the Message Queuing Telemetry Transport (MQTT) server, being possible to update the collected data in real time.

After that the communication configuration between ESP32 and the Node-Red monitoring system will be performed. Node-red is a framework for monitoring and managing framework, and it is possible to view records collected through the ESP32, which allows for analysis and graphics generation.

This collected data will be visualized on both the MQTT server and the Note-Red monitoring system, enabling real-time visualization of energy consumption to mitigate unnecessary expenses.

Finally, the project aims to implement a solution capable of monitoring an electrical switchboard with precision, providing online monitoring to enable decision making.

Keywords: Monitoring, Sensors, ESP32

1 INTRODUÇÃO

Na atualidade, ações com o objetivo de otimizar processos que muitas vezes são burocráticos e cansativos, estão se tornando cada vez mais procurados por diversos segmentos industriais, administrativos e até mesmo residências. Sendo possível obter ferramentas gratuitas na internet para sanar atividades repetitivas, como um boot de planilhas que realiza aplicações dentro de uma célula. Na indústria estão sendo criados vários recursos com IoT(Internet of Things) que utilizam várias tecnologias com padrões conhecidos pelo mundo, ou seja, muitos dos sistemas concebidos com IoT são equiparados aos existentes na rede mundial de computadores (Martins e Ursini, Emiliano 2017, p. 04). Pensando nisso, observando processos dentro do ambiente residencial, foi possível encontrar problemas e limitações ao administrar um quadro de distribuição de circuito elétrico em uma residência, onde nem sempre é fácil ou possível de monitorar em tempo real o consumo do circuito de forma não invasiva e de maneira que não traga riscos para a instalação ou usuário. Sendo assim, realizamos uma análise de modelo de solução que visa o monitoramento de temperatura, corrente e tensão utilizando frameworks como recursos de visualização e sensores capazes de capturar dados em campo, de forma integrada aos sensores está um microcontrolador (ESP 32) responsável pela aquisição e envio, via protocolo MQTT ( Message Queuing Telemetry Transport ) dos dados para o estágio de visualização.

1.1 Justificativa

A gestão de energia em residências é um desafio importante devido ao aumento do consumo energético nos últimos anos e às preocupações ambientais relacionadas à produção e uso de energia (MORAES, 2015). Além disso, a IoT tem sido cada vez mais utilizada em diversas áreas, incluindo a gestão de energia em residências, e apresenta grande potencial para auxiliar na monitoração e automação dos processos envolvidos (CUNHA, 2018). Dessa forma, a pesquisa científica pode contribuir para a identificação de tecnologias e soluções aplicáveis ao contexto de monitoramento e automação residencial para consumo energético, bem como para a avaliação da efetividade dessas soluções em termos de economia de energia, facilidade de uso e aceitação pelo usuário.A base teórica utilizada para a sustentação e validação das ideias propostas incluirá referências acadêmicas que abordam a aplicação da IoT em coleta e monitoramento da gestão energética residencial, bem como estudo e implantação prática de uma soluções de automação residencial para monitorar indicadores como tensão, corrente, potência e consumo de energia em um medidor inteligente.

2. Objetivo Geral

O objetivo deste projeto é realizar um estudo de caso através de uma implantação das ferramentas de gerenciamento com hardware e sensores. Integrando com um sistema embarcado que seja capaz de coletar dados através de sensores para assim, realizar um estudo da melhor forma de transmitir essa informação de modo que chegue ao framework corretamente. Assim sendo possível criar templates e dashboards de visualização legíveis ao usuário. Podendo esclarecer quais foram as dificuldades, e progressos na integração de hardware, software, e protocolos que tornam um sistema reconhecido como IoT (Internet of things).

2.1 Objetivos Específicos

  • Investigar as ferramentas e soluções de IOT que melhor se adequam ao cenário no qual foi proposto a melhoria no monitoramento de dados para um ambiente de quadro elétrico.
  • Propor diretrizes e recomendações para monitorar e analisar o consumo de energia residencial.
  • Avaliar e analisar se será efetivo ou não a instalação do sistema em um ambiente real.

3. Desenvolvimento

As ferramentas e tecnologias que serão apresentadas neste item fornecerão o embasamento teórico que são necessários para auxiliar na aplicação e implementação do projeto, para isso temos que explorar os conceitos e teorias relacionadas para utilizar esses conhecimentos.

3.1 IoT (Internet das Coisas)

A Internet das Coisas (IoT) é uma tecnologia nova que cresce cada vez mais, que tem como objetivo conectar objetos à internet, ou seja, permite a troca de dados e informações entre eles. Essa conexão de dispositivos gera um ambiente mais inteligente e que possui uma gama de variações e aplicações inovadoras em diversas áreas, como a residencial, saúde, transporte, agricultura, indústria, entre outras.

É previsto que o mercado de IoT movimente aproximadamente US$32 bilhões na América Latina até 2023. Somente em 2021, ano da pandemia, os investimentos em software e hardware para suportar a IoT na Europa ultrapassaram a marca dos US$200 bilhões e as projeções de crescimento são de dois dígitos até o final dessa década, de acordo com os dados do International Data Corporation. (Statista, 2022)

De acordo com a Oracle, o número de dispositivos IoT conectados globalmente ultrapassa 7 bilhões, e estima-se que esse número possa chegar a 22 bilhões até 2025. Esses dados evidenciam a significativa importância da IoT em escala global e a perspectiva de expansão desse mercado nos próximos anos, impulsionada pelo contínuo avanço tecnológico.

3.2 ESP32

É um microcontrolador que devido ao seu alto desempenho e baixo custo se tornou muito popular na indústria de eletrônica e de projetos referentes à IoT (Internet das coisas).

A ESP32 foi desenvolvida pela empresa chinesa Espressif Systems, que tem como principal ramo em soluções de conectividade sem fio. Em 2014 a Espressif teve o objetivo de criar um microcontrolador que fosse muito poderoso e versátil, para que pudesse atender os requisitos e demandas do mercado referente às integrações de IoT, com isso eles desenvolveram a ESP8266, que rapidamente se tornou uma opção usual para projetos de IoT de baixo custo.

Figura 1 – ESP32

Fonte: Do Autor

Apesar do sucesso estrondoso da ESP8266, eles observaram um nicho no mercado e que havia a necessidade de melhorar o microcontrolador, com isso surgiu o projeto da ESP32.

A Espressif Systems e a sua equipe de engenharia começaram a trabalhar no desenvolvimento da ESP32, que tinha como principal objetivo melhorar significamente as capacidades da ESP8266. A ESP32 tem uma maior capacidade de processamento de dados e uma execução mais rápido de tarefas visto que seu processador é um Tensilica LX6 um processador dual-core de 32 bits com uma frequência de até 240 MHz, ao invés do processador single-core de 8 bits que está presente no ESP8266.

Além disso, desenvolveram em aumentar a quantidade de memória RAM com 520 KB de RAM podendo chegar até a 8MB, dependendo da versão e do módulo instalado, a ESP32 está disponível com diferentes opções de memória flash embutida, geralmente variando de 4 MB a 16 MB, isso foi crucial para lidar com tarefas e aplicativos mais complexos que precisam de mais memória.

Entretanto, as maiores modificações estão relacionadas à sua conectividade Wi-Fi e Bluetooth que estão integradas dentro de seu chip, isso faz com que seja amplamente escolhida para projetos que necessitam de conexão sem fios. Segundo seu datasheet, a ESP32 suporta diversos modos de configuração de WiFi, incluindo o modo AP(Acess Point), que permite que a ESP32 se comporte como um ponto de acesso Wi-Fi, ou seja, permite que outros dispositivos se conectem a ela como se estivesse se conectando a um roteador Wi-Fi tradicional. Outro modo de configuração é o modo estação que é amplamente utilizado em projetos de IoT, onde a ESP32 precisa se conectar a uma rede Wi-Fi para acessar serviços online, enviar dados para servidores ou receber comandos externos. Por último, temos o modo promíscuo que a ESP32 monitore e capture todos os pacotes de dados que são transmitidos pela rede Wi-Fi, mesmo que esses pacotes não sejam direcionados especificamente para ela. Essa capacidade de captura de pacotes no modo promíscuo é útil em projetos de análise de tráfego de rede, depuração ou segurança, onde é necessário examinar e analisar detalhadamente o tráfego de dados.

Outro recurso importante no desenvolvimento da ESP32 foi a adição de uma variedade de interfaces periféricas, de entradas e saídas, permitindo que tenha uma ampla capacidade de opções de conectividade, incluindo GPIO, UART, I2C, SPI e muito mais, permitindo que possam se conectar facilmente projetos que necessitam de sensores, atuadores e outros componentes eletrônicos.

Figura 2 – Pinagem ESP32

Fonte : Curto Circuito

Ela possui um conversor analógico-digital de alta precisão, permitindo a leitura de sinais analógicos, como sensores de temperatura, luz, pressão, etc.

Sua faixa de tensão de alimentação geralmente costuma variar de 2,2V até 3,3V. Podendo ser alimentado por baterias ou por uma fonte de tensão, é capaz de funcionar de forma confiável em diversos tipos de ambientes, desde os mais hostis até os mais simples, a temperatura de operação varia de –40°C a +125°C.

Tabela 1 – Diferença entre a ESP32 e a ESP8266

Fonte : Curto Circuito

Após esse processo de desenvolvimento e aperfeiçoamento, a ESP32 foi oficialmente lançada no final de 2016, e assim como a sua antecessora, foi um sucesso no mercado para implantações de tecnologias IoT, desde então, a Espressif Systems tem atualizado e continuado a aprimorar o microcontrolador, lançando atualizações e melhorando seu ambiente de desenvolvimento.

É compatível com várias bibliotecas de software para desenvolvimento, a Espressif tem a sua própria ferramenta de desenvolvimento, o ESP-IDF(Espressif IoT Development Framework), fornece APIs e bibliotecas para melhorar e facilitar o desenvolvimento de códigos para implementação de projetos, onde recebe muitas atualizações.

Com a combinação do poder de processamento da ESP32 e sua capacidade de desenvolvimento de projetos com a comunidade e bibliotecas, é amplamente utilizada em uma variedade de aplicações, desde automação residencial e sistemas de monitoramento até dispositivos médicos e projetos de prototipagem rápida. Sua história de desenvolvimento destaca o compromisso da Espressif Systems em oferecer soluções de conectividade eficientes e acessíveis para a Internet das Coisas.

3.3 IDE (Arduino)

A IDE do Arduino é um ambiente aberto de desenvolvimento integrado que foi desenvolvido para programar microcontroladores, principalmente para o Arduino. É um software de código aberto que dispõe de uma interface amigável e simplificada para diversos níveis de experiência em desenvolvimento de programadores.

Ela possui recursos que permite escrever, compilar e carregar código nos microcontroladores de forma simples e prática. Sua interface é de fácil entendimento e visualização, sendo muito intuitiva. Sua linguagem utilizada é a linguagem de programação C/C++ e utiliza uma estrutura de programação simples, com funções como setup() e loop(). A função setup() é executada uma vez no início do programa, enquanto a função loop() é executada continuamente, permitindo a criação de programas que respondem a eventos ou executam tarefas repetitivas, podendo ser adicionadas mais funções dependendo da biblioteca utilizada ou da necessidade do programa. Esses programas são mais conhecidos como sketch.

Figura 3 – IDE Arduino

Fonte: Autores

Uma das principais características da IDE é a possibilidade de acessar diversas bibliotecas de códigos abertos disponíveis, também tem diversos fóruns, blogs, para tirar dúvidas e fornecer informações sobre as variadas bibliotecas disponíveis para integrar o seu hardware. Essas bibliotecas oferecem uma variedade de funções pré-programadas que facilitam a interação com diferentes periféricos e módulos, como sensores, atuadores, displays, comunicação sem fio e muito mais. Os desenvolvedores podem facilmente incluir essas bibliotecas em seus projetos para adicionar funcionalidades específicas sem a necessidade de escrever todo o código do zero.

Outra característica da IDE é a sua simplicidade e acessibilidade, fazendo com que se torne a principal escolha entre os estudantes e profissionais de desenvolvimento de programas. Ela possui uma interface muito intuitiva, de fácil manuseio e uma comunidade ativa de usuários, onde os desenvolvedores podem compartilhar projetos, ideias e obter suporte. Além de que ela é compatível com diversos sistemas operacionais, com uma instalação simplificada.

Para o nosso projeto optamos por utilizar a ESP32, ela é compatível com a IDE do Arduino, porém é necessário uma adaptação para que a IDE seja configurada e que possa ser possível realizar a compilação do código, para isso precisamos instalar a biblioteca nas configurações da IDE.

A Espressif Systems disponibiliza um link com uma biblioteca oficial chamada que permite utilizar a ESP32 na IDE do Arduino. Essa biblioteca fornece todas as funcionalidades necessárias para programar e aproveitar os recursos da ESP32, como acesso ao Wi-Fi, Bluetooth, GPIOs, comunicação serial, entre outros.

Figura 4 – Link ESP32

Fonte: Autores

Com a biblioteca da ESP32 instalada, é possível escrever código para a ESP32 na mesma interface da IDE do Arduino, aproveitando as vantagens da programação simplificada e acessando as bibliotecas disponíveis, basta apenas selecionar a placa correta. Facilitando o desenvolvimento de projetos mais simples até os mais complexos que tiram proveito dos recursos avançados da ESP32, como o desenvolvimento de dispositivos IoT, sistemas de monitoramento, transferência de dados, etc

3.4 MQTT

MQTT (Message Queue Telemetry Transport), é um protocolo de comunicação leve baseado em TCP/IP criado por Andy Stanford-Clarck da IBM e Arlen Nipper em 1999. Desenvolvido para conectar-se a sensores de oleodutos a satélites para uma empresa de petróleo e gás (Stanford-Clark, A., & Nipper, A. 1999).

Camadas de Protocolo: é operado na camada de aplicação na pilha de rede, sendo estritamente dependente das camadas de apresentação, sessão, transporte, rede enlace e física para que seja entregue uma conexão com segurança mesmo sendo possível utilizar o protocolo UDP ( User Datagram Protocol ) que tem como característica não realizar verificações e recuperação de erros. (Architectural Framework, and Challenes. In Mobile Networks and Applications (vol. 24, pg 1 a 14)).

Tópicos e assinaturas: os dados são organizados em tópicos de tabelas quando um dispositivo publica a mensagem, que logo envia para um tópico com sua referência específica. Outros dispositivos podem ser inscritos neste tópico para receber as mensagens sendo um sistema eficiente para o direcionamento de mensagens.

Broker: Tratasse de um servidor com a função de gerenciar a comunicação entre os dispositivos.

Recebe as mensagens publicadas pelos clientes, direciona para todos os clientes inscritos naquele determinado tópico. Também é capaz de autenticar dispositivos e realizar o QOS ( Quality of Service ).

QoS (Quality of Service) trata a qualidade de serviço entregue da mensagem, sendo descritos em três níveis.

Qos 0 – A mensagem é enviada uma única vez, porém não a garantia de que a mensagem será entregue pois não existe uma retransmissão da mensagem. No entanto é a mais efetiva por ter menos latência e menos uso da largura de banda.

QoS 1 – a mensagem é enviada, notando se houver algum tipo de falha é enviada mais uma vez. Porém há risco de duplicidade na entrega. Normalmente usado na impossibilidade de perda da mensagem.

QoS 2 – a mensagem segue um critério maior para que a mensagem seja entregue apenas uma vez e não haja duplicidade (Escolha mais efetiva para protocolos de mensagens de sistema de IoT: MQTT, CoAP, AMQP and HTTP).

3.5 Node-Red

É uma plataforma de programação visual por fluxos de código aberto que foi desenvolvido pela IBM Emerging Technology, lançado em 2013, inicialmente foi criada para que fosse possível implementar e conectar dispositivos de IoT, posteriormente foi adaptado para que permitisse a conexão de dispositivos e hardware realizando a sua integração com os serviços web e outros softwares.

Como está em seu próprio nome, por meio dos “nodes” ou nós, que são blocos de construção em que é possível conectá-los para criar um fluxo de dados, onde que cada nó apresenta uma funcionalidade, assim sendo possível realizar a leitura de arquivos CSV, eventos http, tcp, websocket, MQTT, entre diversos outros.

Possui um editor baseado em utilizar uma interface gráfica em navegadores para gerir e construir fluxos usando os nodes.

Com o Node-Red, é possível arrastar os nodes e soltá-los na área de construção conhecida como área de trabalho. Eles têm diversas funções, podem receber dados de sensores, processar informações, realizar tomadas de decisão, enviar dados e comandos para os dispositivos de IoT conectados, plotar gráficos, variáveis, entre diversas outras. O Node-Red tem uma comunidade muito ativa de desenvolvedores, onde eles costumam disponibilizar muitos recursos atualizados e funções novas para os nós, além de que possuem muitos tutoriais de como trabalhar com essa plataforma.

Possui uma interface de fácil manuseio, onde é possível visualizar e interagir com os fluxos construídos em tempo real, onde possui uma representação visual simples em que é possível acompanhar e entender o comportamento do seu fluxo de dados.

Uma das vantagens e facilidades de utilizar o Node é por conta de sua adaptação e extensibilidade, pois como é um software que tem como base o JavaScript, pode ser alterado para que os nodes recebam funções personalizadas.

Figura 5 – Note-Red

Fonte: Autores

Os fios são as conexões entre os nós de entrada de dados e saídas de fluxos.

3.6 Lei de Ampère

A Lei de Ampère foi formulada pelo físico e matemático francês André-Marie Ampère em 1826, em resumo, ela diz que um fio condutor que possui uma corrente elétrica possui proporcionalmente ao seu redor um campo magnético. No uso dos transformadores a corrente que flui através do enrolamento primário, acaba gerando um campo magnético, esse campo magnético induz uma tensão no enrolamento secundário que é proporcional à corrente que está fluindo no primário.

3.6.1 Corrente Elétrica Alternada

É o movimento ordenado de elétrons dentro de um meio condutor. No sistema internacional de unidades, o ampere (A) é a unidade de medida para corrente elétrica.

A corrente alternada é caracterizada pelo seu comportamento que trabalha como uma senóide, portanto, acaba oscilando ao longo do tempo variando do ponto mais positivo até o ponto máximo negativo, esse comportamento de oscilação trabalha com um frequência de 60Hz, segundo as normas do Brasil, isso significa que os pontos positivos (a) e negativos (c) variam 60 vezes por segundo, como pode ser observado na imagem abaixo:

Figura 6 – Corrente Alternada

Fonte: Portal Vida de Sicilio

Com uma corrente percorrendo ao redor de um condutor, o campo magnético irá girar e a sua intensidade vai variar de acordo de como a corrente mude ao longo do tempo.

3.6.2 Lei de Faraday

Essa lei foi criada pelo físico e químico Michael Faraday, em 1831, a partir do descobrimento do fenômeno de indução eletromagnética. Ela diz que quando um campo magnético que varia ao longo do tempo através de um circuito elétrico, irá induzir em uma espira uma força eletromotriz e que a partir disso irá gerar uma corrente elétrica proporcional à intensidade do campo magnético

Figura 7 – Lei de Faraday

Fonte: Portal Vida de Silicio

3.7 Transformador de Corrente

Após apresentarmos os pilares e precursores para a criação de um transformador, iremos abordar um pouco sobre o mesmo e seu funcionamento.

São dispositivos muito utilizados para a medição de corrente elétrica em circuitos, residenciais, industriais, entre diversos outros. Possibilita realizar a medição de circuitos de alta e baixa tensão, fazendo com que o ela se transforme em um sinal de corrente menor, devido aos seus enrolamentos.

Seu funcionamento é baseado na indução eletromagnética. Seu núcleo geralmente é feito de ferro envolto por um enrolamento primário além do enrolamento secundário, quando a corrente elétrica passa pelo enrolamento do primário, acaba gerando um campo magnético que é transmitido para o núcleo e assim acaba entrando em contato com o enrolamento secundário. O enrolamento secundário, dos transformadores de corrente, tem uma diferença de número de espiras em relação ao primário, isso se chama razão de transformação, normalmente nesse tipo de transformador o número de espiras do secundário é maior, portanto, a corrente elétrica é transformada em uma corrente menor e assim pode ser feita a leitura.

3.8 Sensor de temperatura DHT 11

É um componente eletrônico usualmente utilizado para coletar dados de temperatura e umidade em diversos tipos de ambientes, por ser compacto e por ser um equipamento que consegue medir essas duas variáveis. Ele utiliza um termistor NTC (Negative Temperature Coeficient) para medir a temperatura ambiente e um medidor capacitivo para medir a umidade do ar, ambos são integrados no mesmo chip. Portanto, se torna uma opção mais econômica, por ser um sensor de baixo custo e assim se torna viável para projetos que necessitam desses dados.

Ele permite realizar medições de temperatura na faixa de 0 a 50 graus Celsius, a umidade fica na faixa de 20 a 90%. O termistor, que é utilizado para realizar a coleta de temperatura, possui uma resistência elétrica que se altera com as variações de temperatura do ambiente, assim, quando a temperatura diminui, a resistência do termistor aumenta, sendo vice-versa. O medidor capacitivo utiliza dois eletrodos que são separados por um dielétrico (material isolante) que consegue efetuar a medição da capacitância através de um substrato, a mesma, varia em relação à umidade do ar, essa variação de resistividade é coletada pelo sensor e processado pelo circuito integrado que envia os valores pelo pino DATA do sensor.

Figura 8 – Funcionamento DHT11

Fonte: Flavio Babos

Para a sua implementação na IDE do Arduino, é preciso baixar a biblioteca DHT11.
Sua faixa de precisão de medição de temperatura é de 2 graus, e da medição de umidade de 5%.

Figura 9 – DHT 11

Fonte: ArduinoeCia

O sensor possui 4 pinos, porém o pino 3 não utilizamos e assim não deve ser conectado ao circuito.

É necessário adicionar um resistor pullup de 10k ohms para efetuar a ligação do pino de dados ao microcontrolador.

Especificações:

  • Dimensões: 23mm x 12mm x 5mm (juntamente terminais);
  • Alimentação: 3,0 a 5,0 VDC;
  • Corrente: 200uA a 500mA, em stand by de 100uA a 150 uA;
  • Faixa de medição de umidade: 20 a 90% UR;
  • Faixa de medição de temperatura: 0º a 50ºC;
  • Precisão da medição de umidade: ± 5,0% UR;
  • Precisão da medição de temperatura: ± 2.0 ºC;
  • Tempo de resposta: aproximadamente 5s.

3.9 Sensor de corrente SCT 013 000

É um componente eletrônico amplamente conhecido por realizar medições de corrente elétrica alternada, principalmente em projetos de monitoramento de energia de forma não invasiva, ou seja, não precisa abrir o circuito elétrico para que entre em contato com os fios energizados para coletar os valores, necessitando apenas colocar a “garra” abraçando o fio para realizar tais medições.

O nome SCT é uma sigla de Split-core Current Transformer, que significa transformador de corrente de núcleo dividido, ou seja, esse tipo de transformador permite que seu núcleo de ferrite seja basculado ou aberto do restante do transformador. Com isso, utilizando o princípio de indução eletromagnética que transforma a corrente elétrica em um sinal de tensão que seja proporcional.

Figura 10 – SCT013

Fonte: Autores

Ele aguenta temperaturas que variam de 25ºC e pode chegar até 70ºC. O sensor escolhido para o projeto foi de 100A, ou seja, ele consegue efetuar medições que variam de 0 até 100A.

Para realizar as medições da corrente, o sinal de saída deve estar adaptado e condicionado para atender os requerimentos necessários analógicos da ESP32, ela efetua a leitura dos níveis de tensão em suas entradas analógicas entre os valores de 0V a 3,3V, segundo seu datasheet. Assim é necessário que haja uma conversão do sinal de corrente alternada medida pelo SCT para um valor de tensão que esteja dentro dos parâmetros de leitura da ESP32.

Para isso temos que ligar os cabos do sensor em um circuito que abaixe essa tensão.

Para iniciarmos é necessário adicionar um resistor de carga e realizarmos o cálculo do mesmo.

Figura 11 – Resistor de carga

Fonte: Portal Vida de Silício

3.9.1 Cálculo do resistor de carga

Seguindo as especificações do SCT e levando em consideração os requisitos da ESP32, precisamos que o sinal de corrente seja convertido em um sinal de tensão, para isso iremos precisar de um resistor de sobrecarga, isso para preservar o micro controlador.

A corrente máxima captada pelo SCT será de 100A, esse valor é o de corrente RMS, também conhecido como o valor eficaz. Ele é calculado pelo máximo valor que a corrente pode alcançar (corrente de pico) dividido pela raiz quadrada.

Necessitamos converter a corrente máxima de RMS em corrente de pico, portanto temos que multiplicar por.

Após calcularmos a corrente de pico primário precisamos calcular a corrente de saída do sensor, corrente do secundário:

Segundo o datasheet do SCT013, o número de espiras do secundário é 2000, portanto.

Para obtermos o valor ideal para o resistor de sobrecarga, devemos pegar a metade da tensão de referência da ESP32 e dividi-la pela corrente da medida pelo sensor, portanto temos os seguintes valores:

Ω

O resistor mais adequado para a montagem do circuito e que seja mais fácil de ser encontrado seria o de 22 ohms.

Para iniciarmos é preciso montar um circuito divisor de tensão, utilizando a alimentação 3v3 da ESP32, colocando dois resistores (R1 e R2) em série, ambos de 10k ohms, para que a tensão sobre cada um seja igual, pois em um circuito em série a tensão em resistências de mesmo valor se divide igualmente.

Figura 12 – Circuito divisor de tensão

Fonte: Portal Vida de Silicio

Prosseguindo, é necessário adicionar um capacitor de 10uF entre o GND e a saída Vout do divisor de tensão, esse circuito funciona como uma bateria de 1,66V, fornecendo essa tensão para a fonte, fazendo com que a senóide fique entre 0 volts e 3,3 volts, esse ajuste é chamado de offset.

Figura 13 – Circuito adaptado para o SCT 013.

Fonte: Adaptado pelo Autores

4. Materiais e Métodos

Para o projeto foi desenvolvido um circuito elétrico com a utilização de sensores e um microcontrolador para a captação de dados de energia elétrica. Levando em consideração os parâmetros a serem medidos optamos pelos seguintes componentes.

4.1 Lista de materiais:

  • ESP32;
  • Protoboard;
  • Cabos Jumpers Macho/Femêa;
  • Sensor de temperatura DHT11;
  • Sensor de corrente SCT 013-000;
  • Cabo de carregamento de dados tipo MicroUSB;
  • Bateria Íon de Lítio 18650;
  • 2 resistores de 10k ohms;
  • 1 resistor de 22 ohms;
  • 1 capacitor eletrolítico de 10uF.

4.2 Montagem do Hardware

Para a montagem do hardware utilizamos a protoboard para a fixação dos sensores e da ESP32, os sensores DHT11 e SCT013 foram conectados à placa ESP32 por meio de pinos específicos.

Figura 14 – Circuito montagem real

Fonte: Autores

Inicialmente o sensor DHT11 foi conectado ao pino de entrada digital D34 da ESP32 pelo seu pino 2, o de DATA ,para enviar os dados de temperatura e umidade captados pelo mesmo, o pino 1 do DHT11 foi conectado ao pino de alimentação da ESP32, o 3V3, por último o pino 4 do DHT foi conectado ao GND.

Figura 15 – Ligação DH11

Fonte : Adaptado pelos Autores

Após efetuar a ligação do sensor de temperatura, efetuamos a ligação do sensor de corrente SCT 013, para a implantação do sensor é necessário utilizar um circuito à parte, como mencionado anteriormente para adequação aos parâmetros da ESP32, utilizando um circuito conhecido como offset.

Figura 16 – Circuito montagem SCT013

Fonte : Adaptado pelos Autores

4.3 Software

Utilizando o software de desenvolvimento do Arduino foi possível implementar a leitura dos sensores e a coleta de dados para visualização posterior com as seguintes bibliotecas.

Para a configuração da IDE do Arduino, utilizamos a versão 2.1.0 e como citado anteriormente, é necessário a instalação da biblioteca da placa da ESP32, que pode ser feita adicionando a URL do pacote da ESP32, às preferências da IDE do Arduino, se tornando compatível com o microcontrolador.

Para o código de implementação dos sensores DHT11 e SCT013, foi necessário a instalação de duas bibliotecas específicas, a biblioteca “Dht Sensor Library” para a implementação do sensor de temperatura e umidade, já para o sensor de corrente foi necessário a importação da biblioteca “Energy Monitoring Library”, conhecida como EmonLib. Ambas bibliotecas podem ser obtidas por meio do site GitHub, um site que disponibiliza bibliotecas de desenvolvedores de códigos abertos.

Além das bibliotecas dos sensores, foi necessário para implementação dos dados lidos para um dashboard a instalação da biblioteca “PubSubClient”, uma biblioteca desenvolvida para utilização de protocolos MQTT.

Figura 17 – Bibliotecas

Fonte: Autores

O código fonte foi criado a partir dos exemplos das bibliotecas citadas, efetuando as devidas alterações para a sua compilação e implementação de acordo com a necessidade do projeto, assim sendo possível coletar os dados de leitura dos sensores, calcular a potência consumida pelo quadro de distribuição evidenciado e o envio dos dados para um servidor Broker MQTT.

4.4 Configuração do dashboard

Para iniciarmos a configuração do dashboard de apresentação, primeiramente foi necessário a configuração do servidor MQTT, para isso foi necessário implementar as informações de conexão do servidor MQTT, optamos por utilizar o HiveMQ, uma plataforma digital e gratuita que é gerida na nuvem, projetada para lidar com grandes volumes de mensagens e altas cargas de tráfego.

Figura 18 – Configuração do Servidor MQTT

Fonte: Autores

Os envios de dados do consumo de energia, temperatura e umidade são enviados ao servidor broker MQTT, por meio das publicações e subscrições, elas são armazenadas em credenciais próprias, conhecidas como tópicos.

Para realizar o teste e verificar o funcionamento das publicações dos dados coletados pelo microcontrolador, utilizamos o aplicativo MQTTBox, é uma plataforma que viabiliza a conexão com brokers MQTT, possibilitando a visualização e tráfego de dados. Ele suporta TCP, SSL/TLS, MQTT, entre outros.

Figura 19 – Publicação e Assinatura MQTTBOX

Figura 19.1 – Publicação e Assinatura MQTTBOX

Fonte: Autores

Após a realização dos testes, prosseguiremos para a instalação da plataforma de apresentação de dados, o Node-Red.

Para a sua instalação, o site de referência “Node.js”, fornece diversas opções de versões de acordo com o seu sistema operacional. Para a implementação do projeto foi utilizada a versão 18.16.0 do Windows de 64 bits. Após baixar o programa, para realizar a sua instalação é necessário abrir o Prompt de Comando do Windows e digitar a seguinte linha de código.

Comando para instalar no CMD: npm install -g –unsafe-perm node-red

Após finalizar a instalação, precisamos digitar outra linha de comando no CMD: node-red

Este comando irá fornecer as informações necessárias sobre o nosso servidor, assim como o endereço de acesso e a porta onde o serviço está sendo executado.

Figura 20 – CMD Node-red

Fonte : Autores

Observa-se que ele mostra a versão do Node, assim como o local em que o servidor está alocado, para acessá-lo basta digitar na URL em seu navegador, “https://127.0.0.1:1880/”, assim irá abrir a plataforma de código aberto para a configuração da tela de visualização.

Figura 21 – Plataforma Node-Red

Fonte: Autores

Com a plataforma aberta, podemos observar que na esquerda estão os nodes(nós), como o projeto necessita de um plugin de MQTT, é necessário que seja feita a instalação de um node que o contenha, para isso, precisamos ir no Menu, e depois em Manage Palatte, após isso é necessário ir em Install, é nessa interface que iremos instalar os nodes compatíveis com o MQTT e de dashboard para apresentação.

Figura 22- Manage Palatte

Fonte : Autores

Com os plugins de acesso MQTT e as ferramentas de montagem do dashboard devidamente instalados, é necessário efetuar a conexão dos nós, para isso temos que arrastá-los até a área de trabalho e efetuar a ligação.

Figura 23 – Montagem dos nodes

Fonte: Autores

Com os plugins na área de trabalho, é necessário efetuar a integração dos nodes com o nosso servidor broker MQTT, respeitando cada tópico de publicação/assinatura, a porta de leitura e todas as outras informações,podendo até ter uma segurança informando o usuário e senha, portanto os dados lidos pelos sensores serão direcionados para seu respectivo gráfico.

Figura 24 – Configuração Node MQTT

Fonte : Autores

E para finalizar, após os nodes estarem devidamente configurados e atrelados aos gráficos, temos que efetuar os testes finais e averiguar se seu funcionamento foi satisfatório e esperado, para isso devemos clicar em Deploy e ir no mesmo endereço de URL com o final /ui.

Figura 25- Dashboard Node-Red

Fonte: Autores

5. Resultados

Com o projeto foi possível entender escopos e ferramentas que auxiliam muito na integração de ideias em soluções de hardware e software, criando melhorias de análise dos estudos e soluções para desenvolver da melhor forma possível a criação de um projeto que entregasse de forma factível um projeto IOT ( internet of things). sendo plausível com ambientes de código aberto, protocolos que criam regras e meios de comunicação para um determinado segmento de trocas de dados.

A instalação do hardware ESP32, combinado com sensores de corrente e tensão, e conectado a um servidor MQTT. os resultados forneceram uma ilustração convincente de como a integração de várias tecnologias em desenvolvimento pode produzir um sistema de monitoramento e gerenciamento de energia mais eficaz e potente.

Com seus poderosos recursos de processamento e comunicação, o hardware ESP32 acabou sendo uma excelente escolha para o nosso projeto. o uso do ESP32, equipado com sensores de corrente, tensão, temperatura e umidade. Permitiu avaliar com precisão o consumo de energia em tempo real e transmitir dados pela rede com eficiência, design leve de publicação/assinatura do protocolo MQTT, o sistema foi capaz de se conectar com o servidor de forma eficaz, usando menos largura de banda.

O sistema de monitoramento de energia se mostrou confiável, eficaz e altamente adaptável. A iniciativa é uma evidência da força e adaptabilidade das tecnologias IoT (Internet of Things) e, sem dúvida, estimulará mais pesquisas no futuro.

6. Considerações finais e Conclusão:

Ao longo do projeto, foram abordados espectros de implementação do hardware, ESP32 integrando ao servidor MQTT, sendo desenvolvido a melhor forma de visualização por meio do Node-RED. Com toda análise feita foi possível proporcionar uma metodologia eficiente tratando de um ambiente de monitoramento em tempo real em um quadro elétrico de distribuição.

A seleção de do microcontrolador ESP32 de alto desempenho com recursos de conectividade Wi-fi e bluetooth, possui um poder de processamento adequado para o desenvolvimento onde provou ser uma escolha viável tratando de coleta de dados proveniente dos sensores, a escolha dos sensores foram de suma vantagem pois além de serem de baixo custo, são instalados de forma não invasiva, evitando ao máximo qualquer risco no processo de instalação.

Tratando do protocolo MQTT mostrou ser de grande relevância, visto que se trata de um protocolo de rede com baixo consumo de recursos, sendo extremamente viável ao objetivo abordado. Como a arquitetura do MQTT é baseada em publicação e assinatura proporcionando flexibilidade e eficiência na transferência e visualização de dados. Também sendo possível utilizar o recurso de QoS garantindo a integridade e segurança na entrega das mensagens.

O uso da Node-Red como plataforma de dashboard e apresentação dos dados foi uma escolha acertada, pois ela é uma ferramenta de programação visual em blocos, ou seja, facilita a criação da lógica para o fluxo de dados e a integração de diferentes dispositivos de IoT. Ainda sendo possível personalizar o dashboard para exibir os dados coletados pelos sensores para uma visualização mais clara para os usuários.

No entanto, como um projeto, também apresentou grandes desafios no decorrer do desenvolvimento. Como na compreensão de bibliotecas e sua implementação no microcontrolador ESP32, além da dificuldade na integração do protocolo MQTT com o framework Node-Red.

Com a conclusão deste projeto foi possível evidenciar a integração de microcontrolador com protocolos e frameworks, sendo uma solução eficaz para monitoramento de sistemas elétricos. Com o avanço da internet das coisas, soluções como esta se tornam fundamentais para desenvolvimentos e integração a nível global.

7. Referências Bibliográficas:

SEVERINO, S. ;VASCONCELOS, R.D; ANDRADE, C.M.R. Monitoramento Inteligente de Consumo Energético em Ambiente Residencial utilizando IoT, 10 p., 2020. Dissertação (Mestrado) – Universidade Federal do Ceará (UFC);Instituto Federal de Educação,Ciência e Tecnologia do Ceará (IFCE).

WAHLBRINCK, Alan Junior. Monitoramento da rede elétrica por meio de aplicação WEB e IOT, 89 p., 2018. Monografia (Graduação em Engenharia da Computação) – Universidade do Vale do Taquari (Univates).

TRIZÓLIO, ANA BEATRIZ CATARIM. Módulo didático IOT para automação residencial baseado no ESP8266 ESP-12, 52 p., 2019. Trabalho de conclusão de graduação (Graduação em Engenharia Elétrica) – Universidade Estadual Paulista (UNESP).

CARREIRO, F.B ; NASCIMENTO, J.F; SOUSA, G.M.L. Modelagem e Desenvolvimento de uma Solução de IoT e Gêmeo Digital para Medição de Consumo de Energia Residencial

, 8 p., 2020. Dissertação (Mestrado) – Instituto Federal do Maranhão (IFMA).

LOCATELLI, Carolina. – Conhecendo a ESP 32 – Disponível em: <https://curtocircuito.com.br/blog/conhecendo-esp32/> Acesso em: 10 abril de 2023.

DEMETRAZ, EZEQUIEL – SCT013- Sensor de Corrente – Disponível em <https://portal.vidadesilicio.com.br/sct-013-sensor-de-corrente-alternada/>. Acesso em 14 de maio de 2023.

Arduino e Cia – Sensor de umidade e temperatura – Disponível em < https://www.arduinoecia.com.br/sensor-de-umidade-e-temperatura-dht11//>. Acesso em 15 de maio de 2023.

BABOS, Flavio. Sensor DHt 11 – Disponível em < https://flaviobabos.com.br/dht11-arduino/>. Acesso em 15 de maio de 2023.

A dashboard UI for Node-RED, Disponível em – <https://github.com/node-red/node-red-dashboard> Acesso em 20 de maio de 2023.

M. Blackstock, R. Lea, “Toward a distributed data flow platform for the web of things (distributed node-red)”, 5th International Workshop on Web of Things. ACM, 2014, pp. 34–39. Disponível em: https://nodered.org/, Acesso em 20 de maio de 2023.

Latin America: automotive IoT revenue 2019-2023 – Published by Statista Research Department, Mar 31, 2023 Disponível em <https://www.statista.com/statistics/1049206/automotive-iot-market-latin-america/>

Acesso em 18 de maio de 2023.

O que é IoT – Disponível em <https://www.oracle.com/br/internet-of-things/what-is-iot/> Acesso em 18 de maio de 2023.

CARDOSO, 2015. ESTUDO SOBRE O PANORAMA DA ENERGIA ELÉTRICA NO BRASIL E TENDÊNCIAS FUTURAS Disponível em <https://repositorio.unesp.br/bitstream/handle/11449/132645/000852309.pdf> Acesso em 19 de maio de 2023.

HENRIQUE, Caio. Aplicação de Internet of Things no desenvolvimento de um sistema de monitoramento e gerenciamento de energia elétrica Disponível em <https://seer.uscs.edu.br/index.php/revista_informatica_aplicada/article/download/6932/3023/21126> Acesso em 19 de maio de 2023.


Listas de Siglas e Abreviaturas

IoT – Internet of Things (Internet das Coisas)

ICMP – Internet Control Message Protocol (Protocolo de Mensagens de Controle da Internet)

JMX – Java Management Extensions (Extensões de Gerenciamento Java)

IPMI – Intelligent Platform Management Interface (Interface de Gerenciamento de Plataforma Inteligente)

MHz – MegaHertz

KB – Kilobyte

MB – Megabyte

RAM – Random Acess Memory (Memória de acesso aleatório)

AP – Access Point (Ponto de acesso)

GPIO – General Purpose Input/Output (Entrada/Saída de Propósito Geral)

UART – Universal Asynchronous Receiver/Transmitter (Receptor/Transmissor Universal Assíncrono)

I2C – Inter-Integrated Circuit (Circuito Inter-Integrado)

SPI – Serial Peripheral Interface (Serial Protocolo de Interface Periférica)

C – Graus Celsius

V – Volts

ESP IDF – Espressif IoT Development Framework (Estrutura de Desenvolvimento IoT da Espressif)

IDE – Integrated Development Environment (Ambiente de desenvolvimento integrado)

Hz – Hertz

NTC – Negative Temperature Coefficient (Coeficiente de Temperatura Negativo)

DATA – Dados

mm – Milímetro

A – Amper

mA – MiliAmper

uA – MicroAmper

VDC – Volts Direct Current (Volts Corrente Contínua)

UR – Unregulated (Não regulado)

s – Segundos

SCT – Split-core Current Transformer (Transformador de corrente de núcleo dividido)

R – Resistor

GND – Ground (terra, referência comum)

F – Faraday

uF – MicroFaraday

TCP – Transmission Control Protocol (Protocolo de controle de transmissão)

SSL/TLS – Secure Sockets Layer/ Transport Layer Security (Camada de Soquetes Segura/Segurança de Camada de Transporte)

MQTT – Message Queuing Telemetry Transport (Protocolo de Telemetria para Filas de Mensagens)

IBM – International Business Machines Corporation (Corporação Internacional de Máquinas de Negócio)

HTTP – Hypertext Transfer Protocol (Protocolo de Transferência de Hipertexto)

QoS – Quality of Service (Qualidade de Serviço)