Crie um Dashboard Web com ESP32: Monitoramento em Tempo Real

Imagine poder monitorar em tempo real diversas variáveis do seu ambiente, como temperatura🦠 Analisador de Qualidade da Água Portátil🦠 Analisador de Qualidade da Água PortátilConfira o tutorial completo que integra sensores IoT e ESP32 para monitorar pH, turbidez, condutividade e temperatura em tempo real com relatórios PDF., umidade ou até mesmo a luminosidade, tudo isso acessando uma página web no seu computador ou smartphone. Neste artigo, vamos explorar como criar um dashboard webIntegração com Aplicativos Móveis e WebIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. utilizando o ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!, permitindo que você visualize dados de sensores em tempo realExibindo Dados no Monitor Serial com ESP32Exibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT. através de uma interface amigável.

Introdução ao ESP32 e Seu Potencial🔗

O ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! é um microcontrolador poderoso com conectividade Wi-FiControle de LEDs e Relés através do Web Server do ESP32Controle de LEDs e Relés através do Web Server do ESP32Aprenda a controlar LEDs e relés usando um Web Server no ESP32. Este tutorial completo ensina montagem, configuração e programação para automação IoT. e Bluetooth integradas, tornando-o ideal para projetos de Internet das Coisas (IoTSegurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Segurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Proteja a conexão Wi-Fi do ESP32 com dicas de criptografia, senhas fortes e monitoramento, garantindo segurança e integridade dos dados.). Sua capacidade de hospedar um servidor webIntrodução ao Desenvolvimento de um Web Server com ESP32Introdução ao Desenvolvimento de um Web Server com ESP32Desenvolva seu web server com ESP32 e gerencie dispositivos IoT com controle remoto. Siga o tutorial passo a passo e garanta segurança e eficiência. permite que dispositivos conectados à mesma rede acessem informações fornecidas por ele.

O Que é um Dashboard Web?🔗

Um dashboard webIntegração com Aplicativos Móveis e WebIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. é uma interface gráfica que apresenta dados em tempo realExibindo Dados de Sensores em Tempo Real no NavegadorExibindo Dados de Sensores em Tempo Real no NavegadorAprenda a configurar o ESP32 para monitorar sensores em tempo real via navegador, integrando Wi-Fi e AJAX para visualização dinâmica. de forma visualmente intuitiva, geralmente através de gráficos, tabelas e indicadores. Ele é amplamente utilizado em sistemas de monitoramento para fornecer insights rápidos sobre o desempenho ou estado de processos e dispositivos.

Por Que Usar um Dashboard com o ESP32?🔗

Componentes Necessários🔗

Antes de começar, você precisará dos seguintes componentes📜 Quadro Digital com Tela E-Ink de 32 Polegadas📜 Quadro Digital com Tela E-Ink de 32 PolegadasDescubra como combinar eficiência energética, tecnologia E-Ink e ESP32 para criar quadros digitais, dashboards interativos e arte generativa com soluções IoT.:

Configurando o Ambiente de Desenvolvimento🔗

Certifique-se de que o Arduino IDEInstalando o Arduino IDE para ESP32 no WindowsInstalando o Arduino IDE para ESP32 no WindowsEste tutorial passo a passo ensina como instalar o Arduino IDE e configurar o ESP32 no Windows, garantindo um ambiente ideal para IoT. está configurado para programar o ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!:

1. Abra o Arduino IDEInstalando o Arduino IDE para ESP32 no WindowsInstalando o Arduino IDE para ESP32 no WindowsEste tutorial passo a passo ensina como instalar o Arduino IDE e configurar o ESP32 no Windows, garantindo um ambiente ideal para IoT..

2. Acesse File > Preferences.

3. No campo Additional Boards Manager URLs, adicione:

https://dl.espressif.com/dl/package_esp32_index.json

4. Vá em Tools > Board > Boards Manager.

5. Procure por ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! e instale o pacote fornecido pela Espressif Systems.

Conectando o Sensor ao ESP32🔗

Para este exemplo, usaremos o sensorProgramando o ESP32 para Integração de SensoresProgramando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. DHT22Exibindo Dados de Sensores em Tempo Real no NavegadorExibindo Dados de Sensores em Tempo Real no NavegadorAprenda a configurar o ESP32 para monitorar sensores em tempo real via navegador, integrando Wi-Fi e AJAX para visualização dinâmica. para ler temperatura🦠 Analisador de Qualidade da Água Portátil🦠 Analisador de Qualidade da Água PortátilConfira o tutorial completo que integra sensores IoT e ESP32 para monitorar pH, turbidez, condutividade e temperatura em tempo real com relatórios PDF. e umidade.

Esquema de Ligação

Montagem

Utilize os cabos jumpers para fazer as conexões conforme descrito. Se desejar, use a protoboard para organizar os componentes📜 Quadro Digital com Tela E-Ink de 32 Polegadas📜 Quadro Digital com Tela E-Ink de 32 PolegadasDescubra como combinar eficiência energética, tecnologia E-Ink e ESP32 para criar quadros digitais, dashboards interativos e arte generativa com soluções IoT..

Programando o ESP32🔗

Vamos agora escrever o códigoDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! que:

1. Lê os dados do sensorProgramando o ESP32 para Integração de SensoresProgramando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código..

2. Configura um servidor webIntrodução ao Desenvolvimento de um Web Server com ESP32Introdução ao Desenvolvimento de um Web Server com ESP32Desenvolva seu web server com ESP32 e gerencie dispositivos IoT com controle remoto. Siga o tutorial passo a passo e garanta segurança e eficiência..

3. Apresenta os dados em uma página webIntegração com Aplicativos Móveis e WebIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT..

Bibliotecas Necessárias

Antes de começar, certifique-se de instalar as seguintes bibliotecas no Arduino IDEInstalando o Arduino IDE para ESP32 no WindowsInstalando o Arduino IDE para ESP32 no WindowsEste tutorial passo a passo ensina como instalar o Arduino IDE e configurar o ESP32 no Windows, garantindo um ambiente ideal para IoT.:

Para instalarInstalando o Arduino IDE para ESP32 no macOSInstalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns.:

1. Vá em Sketch > Include Library > Manage Libraries.

2. Pesquise pelas bibliotecasHospedando Múltiplas Páginas Web no ESP32Hospedando Múltiplas Páginas Web no ESP32Descubra como hospedar múltiplas páginas web no ESP32 com um guia passo a passo. Aprenda a configurar rotas e interagir via HTTP. mencionadas e instale-as.

Código Fonte

Vamos dividir o códigoDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! em partes para facilitar a compreensão.

Importando as Bibliotecas

#include <WiFi.h>
#include <WebServer.h>
#include <DHT.h>
#include <DHT_U.h>

Definindo Constantes e Variáveis

// Definições do Wi-Fi
const char* ssid = "SEU_SSID";
const char* password = "SUA_SENHA";
// Configuração do servidor web na porta 80
WebServer server(80);
// Definições do sensor DHT
#define DHTPIN 4      // Pino onde o sensor está conectado
#define DHTTYPE DHT22 // Tipo de sensor
DHT dht(DHTPIN, DHTTYPE);
// Variáveis para armazenar os valores dos sensores
float temperatura = 0.0;
float umidade = 0.0;

Configurando o Setup

void setup()
{
  // Inicializando a comunicação serial
  Serial.begin(115200);
  // Inicializando o sensor DHT
  dht.begin();
  // Conectando ao Wi-Fi
  Serial.println("Conectando ao Wi-Fi...");
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("Wi-Fi conectado com sucesso!");
  Serial.print("Endereço IP: ");
  Serial.println(WiFi.localIP());
  // Configurando as rotas do servidor web
  server.on("/", handleRoot);
  server.onNotFound(handleNotFound);
  // Iniciando o servidor
  server.begin();
  Serial.println("Servidor web iniciado.");
}

Loop Principal

void loop()
{
  // Lê os valores do sensor
  lerSensor();
  // Lida com as requisições do cliente
  server.handleClient();
  // Pequeno atraso para evitar leituras muito frequentes
  delay(2000);
}

Função para Ler o Sensor

void lerSensor()
{
  // Lendo a umidade relativa
  umidade = dht.readHumidity();
  // Lendo a temperatura em Celsius
  temperatura = dht.readTemperature();
  // Verificando se houve falha na leitura
  if (isnan(umidade) || isnan(temperatura))
  {
    Serial.println("Falha ao ler do sensor DHT!");
    return;
  }
  Serial.print("Umidade: ");
  Serial.print(umidade);
  Serial.print("%  Temperatura: ");
  Serial.print(temperatura);
  Serial.println("°C");
}

Manipuladores de Requisições

void handleRoot()
{
  // Construindo a página HTML
  String pagina = "<!DOCTYPE html><html>";
  pagina += "<head><meta http-equiv='refresh' content='5'/>";
  pagina += "<title>Dashboard ESP32</title>";
  pagina += "<style>body { font-family: Arial; text-align: center; }</style>";
  pagina += "</head><body>";
  pagina += "<h1>Dashboard de Monitoramento</h1>";
  pagina += "<p>Temperatura: ";
  pagina += temperatura;
  pagina += " &deg;C</p>";
  pagina += "<p>Umidade: ";
  pagina += umidade;
  pagina += " %</p>";
  pagina += "</body></html>";
  // Enviando a resposta ao cliente
  server.send(200, "text/html", pagina);
}
void handleNotFound()
{
  server.send(404, "text/plain", "Página não encontrada!");
}

Explicação do Código

Observações Importantes

Melhorando o Dashboard com Estilo e Interatividade🔗

Para tornar o dashboard mais atraente e interativo, podemos adicionar CSSImplementando Formulários Web para Controle no ESP32Implementando Formulários Web para Controle no ESP32Descubra como utilizar formulários web no ESP32 para controlar dispositivos e automatizar seu ambiente de forma simples e eficaz. e JavaScript ao nosso códigoDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! HTML.

Adicionando Estilos com CSS

Vamos incorporar estilos CSSImplementando Formulários Web para Controle no ESP32Implementando Formulários Web para Controle no ESP32Descubra como utilizar formulários web no ESP32 para controlar dispositivos e automatizar seu ambiente de forma simples e eficaz. para melhorar a apresentação.

pagina += "<style>";
pagina += "body { font-family: Arial; background-color: #f0f0f0; }";
pagina += "h1 { color: #333; }";
pagina += "p { font-size: 1.5em; }";
pagina += ".data { display: inline-block; margin: 20px; padding: 20px; border: 1px solid #ccc; background-color: #fff; }";
pagina += "</style>";

Estruturando o Conteúdo

Organizamos os dados em divs para melhor layout.

pagina += "<div class='data'>";
pagina += "<h2>Temperatura</h2>";
pagina += "<p>";
pagina += temperatura;
pagina += " &deg;C</p>";
pagina += "</div>";
pagina += "<div class='data'>";
pagina += "<h2>Umidade</h2>";
pagina += "<p>";
pagina += umidade;
pagina += " %</p>";
pagina += "</div>";

Implementando Atualização em Tempo Real com AJAX

Para atualizar os dados sem recarregar a página, utilizamos AJAXAtualização Dinâmica de Páginas com AJAX no ESP32Atualização Dinâmica de Páginas com AJAX no ESP32Atualize páginas ESP32 dinamicamente com AJAX. Este tutorial prático ensina a integrar sensores e melhorar a interatividade em projetos IoT..

Modificando o Código do Servidor

Adicionamos uma nova rota para fornecer os dados em formato JSON.

server.on("/dados", handleDados);

E criamos a função handleDados:

void handleDados()
{
  String json = "{";
  json += "\"temperatura\":";
  json += temperatura;
  json += ",";
  json += "\"umidade\":";
  json += umidade;
  json += "}";
  server.send(200, "application/json", json);
}

Atualizando a Página HTML com JavaScript

No códigoDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! HTML, adicionamos um script para solicitar os dados em intervalos regulares.

pagina += "<script>";
pagina += "setInterval(function() {";
pagina += "var xhttp = new XMLHttpRequest();";
pagina += "xhttp.onreadystatechange = function() {";
pagina += "if (this.readyState == 4 && this.status == 200) {";
pagina += "var dados = JSON.parse(this.responseText);";
pagina += "document.getElementById('temp').innerHTML = dados.temperatura + ' &deg;C';";
pagina += "document.getElementById('umid').innerHTML = dados.umidade + ' %';";
pagina += "}";
pagina += "};";
pagina += "xhttp.open('GET', '/dados', true);";
pagina += "xhttp.send();";
pagina += "}, 2000);";
pagina += "</script>";

E modificamos as partes do HTMLImplementando Formulários Web para Controle no ESP32Implementando Formulários Web para Controle no ESP32Descubra como utilizar formulários web no ESP32 para controlar dispositivos e automatizar seu ambiente de forma simples e eficaz. que exibem os dados:

pagina += "<p id='temp'>";
pagina += temperatura;
pagina += " &deg;C</p>";
pagina += "<p id='umid'>";
pagina += umidade;
pagina += " %</p>";

Explicação das Modificações

Testando o Dashboard🔗

Após carregar o códigoDesafios Práticos: Experimentando com Múltiplos LEDsDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! no ESP32:

1. Abra o monitor serialConfigurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoConfigurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoAprenda passo a passo a conectar seu ESP32 à rede Wi-Fi com segurança e estabilidade. Descubra dicas práticas e estratégias de otimização. para verificar se a conexão Wi-Fi foi estabelecida com sucesso.

2. Anote o endereço IP exibido.

3. No seu navegador, digite o endereço IP do ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!.

4. A página com o dashboard deve ser carregada.

5. Observe os valores de temperatura🦠 Analisador de Qualidade da Água Portátil🦠 Analisador de Qualidade da Água PortátilConfira o tutorial completo que integra sensores IoT e ESP32 para monitorar pH, turbidez, condutividade e temperatura em tempo real com relatórios PDF. e umidade atualizando em tempo real.

Possíveis Expansões🔗

Tratamento de Erros e Depuração🔗

É importante implementar mecanismos para lidar🚧 Barreira Virtual com Sensores Lidar🚧 Barreira Virtual com Sensores LidarExplore o uso de sensores Lidar integrados ao ESP32 para monitorar espaços, detectar intrusos e aprimorar a segurança com tecnologia de ponta. com possíveis erros:

Segurança Básica🔗

Embora nosso exemplo não implemente autenticaçãoSegurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Segurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Proteja a conexão Wi-Fi do ESP32 com dicas de criptografia, senhas fortes e monitoramento, garantindo segurança e integridade dos dados., em aplicações reais é crucial proteger o acesso ao dashboard:

Otimização do Código🔗

Conclusão🔗

Criar um dashboard webIntegração com Aplicativos Móveis e WebIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. com o ESP32O que é o ESP32: Introdução e Conceitos BásicosO que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! é uma maneira poderosa de monitorar ambientes e sistemas em tempo realExibindo Dados no Monitor Serial com ESP32Exibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT.. Com conhecimentos básicos de programação e web, é possível desenvolver interfaces personalizadas que atendem a diversas necessidades.

Este projeto demonstra as capacidades do ESP32 em aplicativos de IoT, unindo leitura de sensores, conectividade Wi-FiControle de LEDs e Relés através do Web Server do ESP32Controle de LEDs e Relés através do Web Server do ESP32Aprenda a controlar LEDs e relés usando um Web Server no ESP32. Este tutorial completo ensina montagem, configuração e programação para automação IoT. e hospedagem de um servidor web. A partir daqui, as possibilidades são vastas, permitindo que você expanda e adapte o sistema conforme suas demandas específicas.

Próximos Passos🔗

Dicas Finais🔗

Boa sorte no seu projeto e feliz codificação!

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados