BLOG - Sistemas Embarcados

Este blog tem como autores os participantes do projeto Smart Campus e alunos das disciplinas: Sistemas Embarcados(Engenharia de Controle e Automação) e Plataformas de prototipação para Internet das Coisas (Especialização Lato Sensu em Internet das Coisas). O objetivo é a divulgação de trabalhos em desenvolvimento no campus que envolvam a utilização de conceitos de sistemas embarcados, internet das coisas, telemetria e outras tecnologias para a resolução de problemas da indústria, meio ambiente, cidades inteligentes, fazendas inteligentes, ....
Coordenação: Prof. Marcos Chaves

[ LOGIN ] [ Autores ]

numero de postagens:1

(MTUA) Monitoramento de Temperatura e Umidade em Ambientes

O monitoramento de temperatura e umidade em ambientes é uma tarefa essencial em diversos contextos, desde residências até instalações industriais. Para implementar projetos dessa natureza, é necessário utilizar tecnologias e técnicas específicas que garantam a coleta precisa e eficiente dos dados. Neste texto, exploraremos as etapas fundamentais envolvidas nesse processo, incluindo a integração de um microcontrolador ESP32 com sensores, a comunicação via protocolo MQTT, o armazenamento de dados em um banco de dados MySQL e a criação de um dashboard para visualização dos dados coletados utilizando o Node-RED.

A primeira etapa consiste na seleção adequada dos sensores de temperatura e umidade. Existem diversas opções disponíveis no mercado, mas para esse projeto, vamos considerar sensores específicos para medir essas grandezas. Os sensores serão conectados ao microcontrolador ESP32, que será responsável por capturar os dados e enviá-los para processamento.

O ESP32 é uma placa de desenvolvimento amplamente utilizada em projetos de IoT, devido às suas capacidades de comunicação e processamento. Com o microcontrolador ESP32, é possível programar o seu funcionamento utilizando a linguagem de programação Arduino. Assim, será possível controlar a leitura dos sensores e o envio dos dados para a plataforma de processamento.

A comunicação entre o microcontrolador e a plataforma de processamento pode ser realizada através do protocolo MQTT (Message Queuing Telemetry Transport). O MQTT é um protocolo leve e eficiente, especialmente projetado para aplicações de IoT. Ele permite a troca de mensagens entre dispositivos conectados, seguindo o modelo publicador/assinante. No caso do monitoramento de temperatura e umidade, o ESP32 atuará como um dispositivo publicador, enviando os dados dos sensores para um servidor MQTT.

Para implementar a plataforma de processamento, utilizaremos o Node-RED. Trata-se de uma ferramenta de programação visual que permite criar fluxos de dados de forma intuitiva. O Node-RED possui uma ampla gama de nodes disponíveis, o que facilita a integração de diferentes dispositivos e serviços. Com o Node-RED, criaremos um fluxo que receberá as mensagens MQTT enviadas pelo ESP32, extrairá os dados de temperatura e umidade e os armazenará em um banco de dados MySQL.

O MySQL é um sistema de gerenciamento de banco de dados relacional muito popular. Utilizaremos o Node-RED para estabelecer a conexão com o banco de dados MySQL e criar as tabelas necessárias para armazenar os dados coletados. Assim, será possível registrar as medições de temperatura e umidade de forma organizada e acessível para consultas futuras.

Além do armazenamento dos dados, é importante visualizá-los de forma clara e intuitiva. Para isso, criaremos um dashboard utilizando as funcionalidades oferecidas pelo Node-RED. Com o uso de nodes específicos para a criação de gráficos e interfaces de usuário, poderemos construir um dashboard personalizado que apresente as informações de temperatura e umidade em tempo real, facilitando a interpretação dos dados coletados.

Portanto, a implementação de um projeto de monitoramento de temperatura e umidade em ambientes envolve a integração do microcontrolador ESP32 com sensores, a comunicação através do protocolo MQTT, o armazenamento dos dados em um banco de dados MySQL e a criação de um dashboard para visualização dos dados coletados utilizando o Node-RED. Essas tecnologias e técnicas fornecem uma solução completa e eficiente para a coleta e análise dessas informações.

Materiais:
Componentes:
   - Protoboard
   - 2 Potenciômetros (para simular os sensores de temperatura e umidade)
   - ESP32
   - Cabos e jumpers para conexões

Software e Ferramentas:
   - Arduino IDE (para programar o ESP32)
   - Node-RED (para criar o fluxo de dados e o dashboard)
   - MySQL (banco de dados para armazenamento dos dados)
   - Servidor Ubuntu (para hospedar o banco de dados e executar o Node-RED)

Metodos:
Inicialmente, realizou-se uma análise dos requisitos do projeto, com o objetivo de identificar os parâmetros do processo a serem monitorados e controlados.

Posteriormente, programou-se o microcontrolador para adquirir dados dos sensores. Através da Arduino IDE, foi possível escrever o código necessário para ler os dados dos sensores, estabelecer a comunicação com os módulos de sensores, e enviar esses dados para um servidor externo.

Código disponivel em: Programação Esp32.

Para permitir a transmissão dos dados coletados, configurou-se a conexão Wi-Fi no microcontrolador, possibilitando o envio dos dados para um servidor externo.

No lado do servidor, foi configurado um ambiente apropriado para receber e processar os dados provenientes do microcontrolador. Utilizando o Ubuntu Server como sistema operacional, instalou-se e configurou-se o Mosquitto como broker MQTT, bem como o MySQL como sistema de gerenciamento de banco de dados. Essas configurações garantiram um ambiente confiável para o armazenamento e gerenciamento dos dados coletados.

Utilizando o Node-RED, desenvolveu-se a interface de usuário do sistema. Essa plataforma visual permitiu a criação de dashboards interativos, nos quais foi possível visualizar os dados coletados do ambiente monitorado. Foram criados gráficos, tabelas e outras representações visuais dos dados, proporcionando uma melhor compreensão do processo monitorado.
flow disponivel em: Node-red, Mqtt, Mysql.

Por fim, foi estabelecida a integração entre o Node-RED e o banco de dados MySQL, permitindo o armazenamento persistente dos dados coletados e viabilizando análises futuras.

Com base nesses procedimentos e na utilização dos componentes mencionados, foi possível implementar um sistema de monitoramento de temperatura e umidade em ambientes. A utilização da protoboard, dos potenciômetros para simular os sensores, do ESP32, da Arduino IDE, do Node-RED, do protocolo MQTT, do MySQL e do servidor Ubuntu permitiu a aquisição, o armazenamento e a visualização dos dados coletados por meio de um dashboard interativo.

Procedimentos adotados:

Configuração física:
   - Monte a protoboard e conecte os potenciômetros aos pinos analógicos do ESP32.
   - Conecte o ESP32 à protoboard e faça as conexões elétricas necessárias.
   - Certifique-se de que todos os componentes estejam alimentados corretamente.

Programação do ESP32:
   - Abra o Arduino IDE e configure-o para programar o ESP32.
   - Escreva o código necessário para ler os valores dos potenciômetros e enviar os dados para o Node-RED através do protocolo MQTT.
   - Carregue o código no ESP32 e verifique se está funcionando corretamente.

Configuração do Node-RED:
   - Instale o Node-RED no servidor Ubuntu seguindo as instruções do site oficial.
   - Abra o Node-RED no navegador e crie um novo fluxo.
   - Adicione nodes MQTT para receber as mensagens enviadas pelo ESP32. 
   - Utilize nodes de processamento para extrair os dados dos tópicos MQTT e prepará-los para o armazenamento no banco de dados.
   - Adicione nodes de banco de dados MySQL para conectar-se ao banco de dados e inserir os dados coletados.
   - Configure corretamente as credenciais do banco de dados e as consultas SQL para criar tabelas e armazenar os dados.
   - Adicione nodes de dashboard para criar interfaces gráficas que mostrem os dados em tempo real.

Configuração do banco de dados MySQL:
   - Instale o servidor MySQL no servidor Ubuntu.
   - Crie um novo banco de dados e tabelas correspondentes para armazenar os dados de temperatura e umidade.
   - Certifique-se de que as credenciais do banco de dados no Node-RED estejam corretas e permitam a conexão com o MySQL.

Configuração da rede Wi-Fi:
   - Verifique se todos os dispositivos (ESP32, servidor Ubuntu e computador com Node-RED) estão conectados à mesma rede Wi-Fi.
   - Certifique-se de que a rede Wi-Fi esteja configurada corretamente e funcionando adequadamente.

Execução e Monitoramento:
   - Inicie o Node-RED no servidor Ubuntu e verifique se o fluxo está sendo executado corretamente.
   - Acesse o dashboard no Node-RED através do navegador para visualizar os dados de temperatura e umidade em tempo real.
   - Ajuste os potenciômetros na protoboard para simular diferentes valores de temperatura e umidade e observe como os dados são atualizados no dashboard.

Com base nos materiais utilizados e no fluxo de trabalho descrito acima, foi possível implementar um sistema de monitoramento de temperatura e umidade em ambientes, simulando os sensores com potenciômetros e visualizando os dados em tempo real no dashboard do Node-RED.

Resultados alcançados:

  -Implementação bem-sucedida do sistema, com todos os componentes funcionando corretamente.
  - Monitoramento em tempo real da temperatura e umidade.
  - Visualização intuitiva dos dados por meio de um dashboard no Node-RED.

  - Dashboard node-red:
  - Armazenamento persistente dos dados em um banco de dados MySQL:
  - Sistema confiável e estável durante todo o período de monitoramento.
  - Potencial de escalabilidade para futuras expansões e melhorias.

Em resumo, o projeto obteve sucesso ao desenvolver um sistema funcional e eficiente para monitorar e visualizar a temperatura e umidade em ambientes, proporcionando informações em tempo real e facilitando a análise dos dados coletados.

Conclusão:

O projeto de monitoramento de temperatura e umidade em ambientes foi concluído com sucesso. Através da análise cuidadosa dos requisitos, seleção adequada dos componentes e configuração correta do ambiente de desenvolvimento, conseguimos implementar um sistema funcional e eficiente.

Utilizando a protoboard, potenciômetros, ESP32, Arduino IDE, Node-RED, protocolo MQTT, MySQL e o servidor Ubuntu, conseguimos adquirir os dados dos sensores simulados, estabelecer a comunicação Wi-Fi e enviar os dados para o servidor. A configuração do ambiente do servidor, com Mosquitto como broker MQTT e MySQL como sistema de gerenciamento de banco de dados, permitiu o armazenamento seguro e o acesso aos dados coletados.

Graças ao Node-RED, foi possível criar um dashboard intuitivo e interativo para visualizar os dados em tempo real, com gráficos e tabelas representativas. A integração com o banco de dados MySQL garantiu a persistência dos dados, possibilitando análises futuras.

O projeto demonstrou a viabilidade e eficácia do monitoramento de temperatura e umidade em ambientes, utilizando tecnologias como ESP32, MQTT, MySQL e Node-RED. Os resultados alcançados confirmaram a importância do monitoramento preciso e em tempo real desses parâmetros, contribuindo para a tomada de decisões informadas e aprimoramento dos processos.

Com a conclusão bem-sucedida desse projeto, abre-se um leque de possibilidades para aplicar essa solução em diferentes cenários, contribuindo para a melhoria da qualidade e eficiência em diversas áreas, como agricultura, indústria e monitoramento ambiental.

[ID:134] Autor:Daniel Luna Junior - Criado em: 2023-05-20 16:19:09 - [ Compartilhar ]