Automação ESP32: Controle Web e Monitoramento dos GPIOs
Captive Portal ESP32: Guia Prático para Configuração Wi-Fi
Configurar dispositivos embarcados para se conectarem a redes Wi-Fi
Configurando IP Estático e Dinâmico no ESP32 via Wi-FiEste tutorial detalha como configurar IP estático e dinâmico no ESP32 via Wi-Fi, garantindo comunicação estável e integração perfeita em projetos IoT. pode ser um desafio, especialmente para usuários com pouco conhecimento técnico. Uma solução elegante para esse problema é a implementação de um captive portal no ESP32, que permite configurar as credenciais de Wi-Fi através de uma interface web intuitiva. Neste artigo, vamos explorar em detalhes como criar e implementar um captive portal no ESP32 para facilitar a configuração da conexão Wi-Fi
Configurando 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..
O Que é um Captive Portal?🔗
Um captive portal é uma página web que é automaticamente apresentada aos usuários ao se conectarem a uma rede Wi-Fi específica. É comumente usado em ambientes como hotéis, aeroportos e cafeterias para gerenciar o acesso à internet
Protocolos Nativos: Wi-Fi (2.4 GHz), Bluetooth Classic e BLEDescubra como utilizar os protocolos Wi-Fi, Bluetooth Classic e BLE no ESP32, com exemplos práticos e dicas para projetos IoT inovadores.. No contexto do ESP32, um captive portal permite que os usuários configurem facilmente as credenciais de Wi-Fi do dispositivo sem a necessidade de programação ou acesso físico ao hardware.
Por Que Implementar um Captive Portal no ESP32?🔗
Implementar um captive portal no ESP32
O 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! oferece vários benefícios:
- Facilidade de Configuração
Instalando 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.: Usuários podem configurar
Instalando 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. o dispositivo sem necessidade de ferramentas especiais ou conhecimentos de programação. - Flexibilidade: Permite alterar as redes Wi-Fi
Configurando IP Estático e Dinâmico no ESP32 via Wi-FiEste tutorial detalha como configurar IP estático e dinâmico no ESP32 via Wi-Fi, garantindo comunicação estável e integração perfeita em projetos IoT. às quais o dispositivo se conecta sem reprogramação. - Experiência do Usuário: Proporciona uma interface amigável, melhorando a usabilidade do dispositivo.
Pré-requisitos🔗
Antes de começarmos, certifique-se de ter os seguintes componentes
📜 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.:
- ESP32
O 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!: Qualquer placa de desenvolvimento compatível com o ESP32
O 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!. - Cabo USB: Para programar o ESP32
O 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! a partir do computador. - Arduino IDE
Instalando 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.: Ambiente de desenvolvimento integrado
Integraçã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. configurado para o ESP32. - Bibliotecas
Hospedando 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. Necessárias: Vamos utilizar a biblioteca WiFiManager.
Configurando o Ambiente de Desenvolvimento🔗
Instalando o Suporte ao ESP32 na Arduino IDE
Se ainda não o fez, adicione o suporte ao ESP32 na Arduino IDE
Instalando 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. Vá em Arquivo > Preferências.
3. No campo URLs Adicionais para Gerenciadores de Placas
Instalando 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., adicione:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
4. Clique em OK.
5. Vá em Ferramentas > Placa > Gerenciador de Placas
Instalando 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..
6. Pesquise por esp32
O 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 a versão mais recente.
Instalando a Biblioteca WiFiManager
A biblioteca WiFiManager simplifica a implementação de um captive portal. Para instalá-la:
1. Vá em Ferramentas > Gerenciar Bibliotecas
Hospedando 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..
2. Pesquise por WiFiManager.
3. Instale a biblioteca WiFiManager by tzapu.
Implementando o Captive Portal🔗
Vamos criar um programa básico que configura o captive portal utilizando a biblioteca WiFiManager.
Incluindo as Bibliotecas Necessárias
Nos primeiros linhas do código, inclua as bibliotecas
Hospedando 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.:
#include <WiFi.h>
#include <WiFiManager.h>
Configurando o Programa
Inicialmente, vamos configurar
Instalando 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. o serial e declarar o WiFiManager:
void setup()
{
Serial.begin(115200);
// Criando uma instância do WiFiManager
WiFiManager wifiManager;
// Inicia o captive portal
wifiManager.autoConnect("ESP32_Config_Portal");
Serial.println("Conectado à rede Wi-Fi!");
}
void loop()
{
// Seu código principal aqui
}
Explicação do Código
- Serial
Enviando Dados do ESP32 para o ArduinoDescubra como enviar dados do ESP32 para o Arduino com comunicação serial simples e robusta, garantindo integração e monitoramento em tempo real..begin(115200);: Inicializa a comunicação serial para depuração
Exibindo 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.. - WiFiManager wifiManager;: Cria um objeto WiFiManager.
- wifiManager.autoConnect("ESP32_Config_Portal");: Tenta se conectar à rede Wi-Fi
Exemplos de Código e BibliotecasDescubra exemplos práticos e bibliotecas essenciais para utilizar o ESP32 em projetos de IoT, automação, Wi-Fi, OTA, MQTT e BLE. salva; caso não consiga, inicia um ponto de acesso com o SSID "ESP32_Config_Portal".
Funcionamento do Captive Portal
Quando o ESP32 não consegue se conectar a uma rede Wi-Fi conhecida, ele cria um ponto de acesso Wi-Fi chamado "ESP32_Config_Portal". Ao conectar-se a esse ponto de acesso, qualquer tentativa de acessar um site redireciona o usuário a uma página web hospedada no ESP32, permitindo inserir as credenciais da rede Wi-Fi
Conectando o ESP32 à Rede Wi-Fi: Seus Primeiros PassosDescubra como conectar seu ESP32 à rede Wi-Fi com segurança e eficiência. Siga o guia passo a passo e otimize seus projetos de IoT com facilidade. desejada.
Personalizando o Captive Portal🔗
Para aprimorar a experiência, podemos personalizar o captive portal.
Adicionando Parâmetros Personalizados
Podemos solicitar informações adicionais, como o nome do usuário ou configurações
Instalando 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. específicas.
WiFiManagerParameter custom_field("key", "Descrição", "valor padrão", tamanho);
void setup()
{
// ... código anterior ...
// Adicionando o parâmetro personalizado
wifiManager.addParameter(&custom_field);
// ... restante do código ...
}
Exemplo: Solicitando um Token de Acesso
WiFiManagerParameter custom_token("token", "Token de Acesso", "", 32);
void setup()
{
// ... código anterior ...
wifiManager.addParameter(&custom_token);
// ... restante do código ...
}
Após a conexão, podemos recuperar o valor inserido:
String token = custom_token.getValue();
Serial.println("Token de Acesso: " + token);
Salvando as Configurações
Para que os parâmetros personalizados persistam após reinicializações, precisamos salvá-los em memória não volátil
Gerenciando Múltiplas Redes Wi-Fi com o ESP32Aprenda a configurar o ESP32 para gerenciar diversas redes Wi-Fi automaticamente, garantindo conexão robusta e estável com práticas simples e seguras..
Usando o SPIFFS para Armazenar Dados
Inclua as bibliotecas
Hospedando 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. necessárias:
#include <FS.h>
#include <SPIFFS.h>
Inicialize o SPIFFS
Utilizando SPIFFS para Armazenamento de Arquivos WebAprenda a usar SPIFFS para armazenar arquivos web no ESP32, otimizando o desempenho e facilitando a criação de interfaces IoT com segurança e eficiência. no setup():
void setup()
{
// ... código anterior ...
// Inicializa o SPIFFS
if(!SPIFFS.begin(true))
{
Serial.println("Erro ao montar o SPIFFS");
}
// ... restante do código ...
}
Salvando e Carregando Configurações
Crie funções para salvar e carregar as configurações
Instalando 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.:
void saveConfig()
{
// Abre o arquivo para escrita
File configFile = SPIFFS.open("/config.json", "w");
if(!configFile)
{
Serial.println("Falha ao abrir o arquivo de configuração para escrita");
return;
}
// Cria um objeto JSON
DynamicJsonDocument doc(1024);
doc["token"] = custom_token.getValue();
// Grava os dados no arquivo
serializeJson(doc, configFile);
configFile.close();
}
void loadConfig()
{
if(SPIFFS.exists("/config.json"))
{
// Abre o arquivo para leitura
File configFile = SPIFFS.open("/config.json", "r");
if(configFile)
{
size_t size = configFile.size();
std::unique_ptr<char[]> buf(new char[size]);
configFile.readBytes(buf.get(), size);
DynamicJsonDocument doc(1024);
if(deserializeJson(doc, buf.get()) == DeserializationError::Ok)
{
String token = doc["token"];
Serial.println("Token carregado: " + token);
// Use o token conforme necessário
}
else
{
Serial.println("Erro ao analisar o arquivo de configuração");
}
configFile.close();
}
}
}
Chame loadConfig() no início do setup() e saveConfig() após a conexão.
Modificando o Comportamento do Captive Portal
Podemos ajustar como o captive portal funciona, definindo callbacks e tempos limite.
Definindo um Callback de Configuração
void configModeCallback(WiFiManager *myWiFiManager)
{
Serial.println("Entrou no modo de configuração");
Serial.println("Conecte-se ao AP: " + String(myWiFiManager->getConfigPortalSSID()));
}
void setup()
{
// ... código anterior ...
wifiManager.setAPCallback(configModeCallback);
// ... restante do código ...
}
Configurando um Tempo Limite
wifiManager.setTimeout(180); // Tempo limite em segundos
if(!wifiManager.autoConnect("ESP32_Config_Portal"))
{
Serial.println("Tempo limite excedido. Reiniciando...");
ESP.restart();
}
Segurança no Captive Portal🔗
Para evitar acessos não autorizados, podemos adicionar uma senha
Configurando 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. ao ponto de acesso:
wifiManager.autoConnect("ESP32_Config_Portal", "senha_segura");
Alternativamente, podemos implementar autenticação
Seguranç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. na página web.
Testando o Captive Portal🔗
1. Inicialização: Carregue o código no ESP32 e abra o monitor serial
Configurando 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..
2. Sem Credenciais Salvas: Se o ESP32 não tiver credenciais Wi-Fi
Testando e Solucionando Problemas no Sistema de Alarme com ESP32Confira nosso guia prático de testes e diagnósticos para sistemas de alarme com ESP32, solucionando falhas e otimizando seu projeto com dicas essenciais. salvas, ele iniciará o captive portal.
3. Conecte-se ao AP
Protocolos Nativos: Wi-Fi (2.4 GHz), Bluetooth Classic e BLEDescubra como utilizar os protocolos Wi-Fi, Bluetooth Classic e BLE no ESP32, com exemplos práticos e dicas para projetos IoT inovadores.: No seu dispositivo (computador ou smartphone), conecte-se à rede Wi-Fi
Conectando o ESP32 à Rede Wi-Fi: Seus Primeiros PassosDescubra como conectar seu ESP32 à rede Wi-Fi com segurança e eficiência. Siga o guia passo a passo e otimize seus projetos de IoT com facilidade. "ESP32_Config_Portal".
4. Acessando o Portal: O navegador deve abrir automaticamente a página de configuração
Instalando 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.. Se não abrir, acesse qualquer endereço (por exemplo, http).
Protocolos Nativos: Wi-Fi (2.4 GHz), Bluetooth Classic e BLEDescubra como utilizar os protocolos Wi-Fi, Bluetooth Classic e BLE no ESP32, com exemplos práticos e dicas para projetos IoT inovadores.://192.168.4.1
5. Configurando a Rede Wi-Fi
Conectando o ESP32 à Rede Wi-Fi: Seus Primeiros PassosDescubra como conectar seu ESP32 à rede Wi-Fi com segurança e eficiência. Siga o guia passo a passo e otimize seus projetos de IoT com facilidade.: Selecione sua rede Wi-Fi
Conectando o ESP32 à Rede Wi-Fi: Seus Primeiros PassosDescubra como conectar seu ESP32 à rede Wi-Fi com segurança e eficiência. Siga o guia passo a passo e otimize seus projetos de IoT com facilidade. e insira a senha.
6. Parâmetros Personalizados: Insira quaisquer parâmetros adicionais solicitados.
7. Conexão Estabelecida: O ESP32 tentará se conectar à rede Wi-Fi
Exemplos de Código e BibliotecasDescubra exemplos práticos e bibliotecas essenciais para utilizar o ESP32 em projetos de IoT, automação, Wi-Fi, OTA, MQTT e BLE. fornecida. Verifique o monitor serial para confirmações.
Possíveis Problemas e Soluções🔗
- Portal Não Abre Automaticamente: Alguns dispositivos não redirecionam automaticamente. Acesse manualmente
httpno navegador.
Protocolos Nativos: Wi-Fi (2.4 GHz), Bluetooth Classic e BLEDescubra como utilizar os protocolos Wi-Fi, Bluetooth Classic e BLE no ESP32, com exemplos práticos e dicas para projetos IoT inovadores.://192.168.4.1 - Falha na Conexão Wi-Fi
Configurando 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.: Verifique se as credenciais estão corretas e se o sinal Wi-Fi
Conectando o ESP32 à Rede Wi-Fi: Seus Primeiros PassosDescubra como conectar seu ESP32 à rede Wi-Fi com segurança e eficiência. Siga o guia passo a passo e otimize seus projetos de IoT com facilidade. é forte o suficiente. - Configurações
Instalando 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. Não Persistem: Certifique-se de que o SPIFFS
Utilizando SPIFFS para Armazenamento de Arquivos WebAprenda a usar SPIFFS para armazenar arquivos web no ESP32, otimizando o desempenho e facilitando a criação de interfaces IoT com segurança e eficiência. está funcionando corretamente e que as funções de salvamento e carregamento estão sendo chamadas.
Aplicações Práticas🔗
Implementar um captive portal no ESP32
O 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! é especialmente útil em projetos onde:
- Dispositivos São Implantados em Vários Locais: Facilita a configuração
Instalando 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. por diferentes usuários finais. - Necessidade de Atualizações Frequentes de Rede: Permite mudar facilmente as redes Wi-Fi
Configurando IP Estático e Dinâmico no ESP32 via Wi-FiEste tutorial detalha como configurar IP estático e dinâmico no ESP32 via Wi-Fi, garantindo comunicação estável e integração perfeita em projetos IoT. sem reprogramar o dispositivo. - Interação com Usuários Finais: Pode coletar informações ou preferências diretamente do usuário.
Considerações Finais🔗
A implementação de um captive portal é uma maneira eficaz de tornar dispositivos baseados no ESP32 mais acessíveis e fáceis de configurar
Instalando 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.. Com a ajuda da biblioteca WiFiManager, esse processo se torna relativamente simples, mesmo para aqueles com pouco conhecimento em programação ou eletrônica.
Próximos Passos🔗
Com o captive portal funcionando, você pode expandir seu projeto:
- Adicionar Mais Parâmetros: Coletar outras configurações
Instalando 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. úteis do usuário. - Melhorar a Interface do Usuário: Customizar a página web
Integraçã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 HTML e CSS para torná-la mais atraente. - Implementar Segurança Avançada
📞 Interfone IP com Vídeo ChamadaDescubra como integrar interfone IP com vídeo chamada utilizando ESP32 para segurança residencial e corporativa, com streaming e criptografia avançada.: Usar HTTPS ou autenticação
Seguranç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. mais robusta para proteger o acesso ao portal. - Integrar com Serviços da Nuvem: Enviar dados para plataformas como MQTT
Introdução ao MQTT: Conceitos Básicos e Benefícios para o ESP32Aprenda os fundamentos do MQTT para ESP32, explorando conceitos, benefícios e exemplos práticos para projetos robustos em IoT e automação., AWS IoT ou Google Cloud.
A automação e a IoT oferecem um vasto campo de possibilidades. Ao facilitar a configuração
Instalando 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. e a usabilidade dos dispositivos através de técnicas como o captive portal, estamos um passo mais próximos de integrar ainda mais a tecnologia ao nosso cotidiano. Continue explorando, aprendendo e inovando!
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- Arduino IDE Official Website: arduino.cc
- Documentação do ESP32 Arduino Core: docs.espressif.com/projects/arduino-esp32
- Repositório do ESP32 Arduino Core: github.com/espressif/arduino-esp32
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 8 meses atrás
há 8 meses atrás
há 8 meses atrás
há 8 meses atrás
há 8 meses atrás
há 8 meses atrás
há 8 meses atrás
há 8 meses atrás
há 8 meses atrás
há 8 meses atrás
há 8 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás