
Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03



Você está familiarizado com o WiFiManager? É uma biblioteca que funciona como um gerenciador de conexão sem fio e, com ela, temos uma maneira mais fácil de configurar um Ponto de Acesso e uma Estação. Recebi várias sugestões para discutir este assunto; então, hoje vou apresentar a você esta biblioteca e suas funções. Também farei uma demonstração de seu uso com ESP32 e ESP8266.
Etapa 1: PINOUT

Aqui mostro o PINOUT dos dois dispositivos que usaremos:
- NodeMCU ESP-12E
- NodeMCU ESP-WROOM-32
Etapa 2: WiFiManager
O WiFiManager nada mais é do que uma biblioteca escrita em cima do WiFi.h para facilitar o gerenciamento de conexões sem fio. Lembre-se que com ele, temos uma facilidade maior para configurar tanto um Ponto de Acesso quanto uma Estação. Para o modo Estação, configuramos através de um portal no navegador.
Algumas funcionalidades:
• Depende da conectividade automática
• Inicialização do portal de configuração não automática
• Opera seletivamente em modo duplo
Etapa 3: como funciona


O ESP iniciará um portal de configuração WiFi quando conectado e salvará os dados de configuração na memória não volátil. Posteriormente, o portal de configuração só será reiniciado se um botão for pressionado no módulo ESP.
Aqui você pode verificar o fluxo de configuração e seguir este passo a passo:
1. Usando qualquer dispositivo habilitado para WiFi com um navegador, conecte-se ao ponto de acesso recém-criado e digite o endereço 192.168.4.1.
2. Na tela, você terá duas opções para se conectar a uma rede existente:
• Configurar WiFi
• Configurar WiFi (sem digitalização)
3. Escolha uma das redes e digite a senha (se necessário). Em seguida, salve e espere o ESP reiniciar.
4. No final da inicialização, o ESP tenta se conectar à rede salva. Se você não puder fazer isso, habilitará um Ponto de Acesso.
Etapa 4: Bibliotecas

Adicionar biblioteca "WifiManager-ESP32".
Acesse https://github.com/zhouhan0126/WIFIMANAGER-ESP32 e faça download da biblioteca.
Descompacte o arquivo e cole-o na pasta de bibliotecas do Arduino IDE.
C: / Arquivos de programas (x86) / Arduino / bibliotecas
Adicione a biblioteca "DNSServer-ESP32".
Acesse o link https://github.com/zhouhan0126/DNSServer---esp32 e baixe a biblioteca.
Descompacte o arquivo e cole-o na pasta de bibliotecas do Arduino IDE.
C: / Arquivos de programas (x86) / Arduino / bibliotecas
Adicione a biblioteca "WebServer-ESP32".
Acesse o link https://github.com/zhouhan0126/WebServer-esp32 e baixe a biblioteca.
Descompacte o arquivo e cole-o na pasta de bibliotecas do Arduino IDE.
C: / Arquivos de programas (x86) / Arduino / bibliotecas
Observação:
A biblioteca WiFiManager-ESP32 já possui as configurações que funcionam com ESP8266, então usaremos apenas isso, em vez de duas bibliotecas WiFiManager (uma para cada tipo de chip).
Como veremos mais tarde, ESP8266WiFi e ESP8266WebServer são bibliotecas que não precisamos baixar, porque já vêm quando instalamos ESP8266 no IDE do Arduino.
Etapa 5: Funções



Aqui estão algumas funções que o WiFiManager nos oferece.
1. autoConnect
A função autoConnect é responsável por criar um Ponto de Acesso. Podemos usá-lo de três maneiras.
• autoConnect ("nome da rede", "senha"); - cria uma rede com o nome e senha definidos.
• autoConnect ("nome da rede"); - cria uma rede aberta com o nome definido.
• autoConnect (); - cria uma rede aberta e nomeada automaticamente com o nome sendo 'ESP' + chipID.
2. startConfigPortal
A função startConfigPortal é responsável por criar um ponto de acesso sem tentar se conectar a uma rede salva anteriormente.
• startConfigPortal ("nome da rede", "senha"); - cria uma rede com o nome e senha definidos.
• startConfigPortal (); - cria uma rede aberta e nomeada automaticamente com o nome sendo 'ESP' + chipID.
3. getConfigPortalSSID
Retorna o SSID do portal (Ponto de Acesso)
4. getSSID
Isso retorna o SSID da rede à qual está conectado.
5. getPassword
Isso retorna a senha da rede à qual está conectado.
6. setDebugOutput
A função setDebugOutput é responsável por imprimir mensagens de depuração no monitor serial. Essas mensagens já estão definidas na biblioteca. Conforme você avança pelas funções, os dados são impressos.
Por padrão, esta função é definida como TRUE. Se você deseja desativar as mensagens, basta definir a função para FALSE.
7. setMinimumSignalQuality
A função setMinimumSignalQuality é responsável por filtrar as redes com base na qualidade do sinal. Por padrão, o WiFiManager não mostrará redes de logon abaixo de 8%.
8. setRemoveDuplicateAPs
A função setRemoveDuplicateAPs é responsável por remover duplicatas da rede.
Por padrão, é definido como TRUE.
9. setAPStaticIPConfig
A função setAPStaticIPConfig é responsável por definir as configurações de endereço estático quando no modo de ponto de acesso.
(IP, GATEWAY, SUBNET)
10. setSTAStaticIPConfig
A função setSTAStaticIPConfig é responsável por definir as configurações de endereço estático quando no modo de estação.
(IP, GATEWAY, SUBNET)
Você deve adicionar o comando antes do autoConnect !!!
11. setAPCallback
A função setAPCallback é responsável por informar que o modo AP foi iniciado.
O parâmetro é uma função que deve ser criada para indicá-lo como um retorno de chamada;
12. setSaveConfigCallback
A função setSaveConfigCallback é responsável por informar que uma nova configuração foi salva e a conexão foi concluída com sucesso.
O parâmetro é uma função para criar e indica isso como um allback.
Você deve adicionar o comando antes do autoConnect !!!
Etapa 6: Montagem

Exemplo
Em nosso exemplo, criaremos um ponto de acesso com ESP (o código servirá tanto ESP8266 quanto ESP32). Após a criação do AP, acessaremos o portal através do IP 192.168.4.1 (que é o padrão para acessá-lo). Então, vamos obter as redes disponíveis, selecione uma e salve. A partir daí, o ESP será reiniciado e tentará se conectar a ele, e então funcionará como uma estação e não mais como um ponto de acesso.
Depois de entrar no modo de estação, você pode fazer o ESP retornar ao modo Ponto de Acesso apenas por meio do botão.
Etapa 7: Código
Bibliotecas
Primeiro, vamos definir as bibliotecas que usaremos.
Observe que temos os comandos #if definidos, #else e #endif. Eles são condicionais para incluir as bibliotecas necessárias pertencentes ao chip. Esta parte é extremamente importante para executar o mesmo código no ESP8266 e no ESP32.
#if definido (ESP8266)
#include // ESP8266 Core WiFi Library #else #include // ESP32 Core WiFi Library #endif
#if definido (ESP8266)
#include // WebServer local usado para servir o portal de configuração
#outro
#include // Servidor DNS local usado para redirecionar todas as solicitações ao portal de configuração (https://github.com/zhouhan0126/DNSServer---esp32)
#fim se
#include // WebServer local usado para servir o portal de configuração (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINAL)
Etapa 8: configuração
Na instalação, estamos configurando nosso WiFiManager da maneira mais simples. Vamos apenas definir os callbacks e criar a rede.
const int PIN_AP = 2;
void setup () {Serial.begin (9600); pinMode (PIN_AP, INPUT); // declaração do objeto wifiManager WiFiManager wifiManager;
// usando esse comando, as configurações são apagadas da memória // caso tenha salvo alguma rede para conectar automaticamente, ela é apagada. // wifiManager.resetSettings (); // callback para quando entra em modo de configuração AP wifiManager.setAPCallback (configModeCallback); // retorno de chamada para quando se conecta em uma rede, ou seja, quando passa a trabalhar em modo estação wifiManager.setSaveConfigCallback (saveConfigCallback); // cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }
Etapa 9: Loop
No loop, leremos o pino do botão para ver se ele foi pressionado e, em seguida, chamaremos o método para reativar o modo AP.
void loop () {
WiFiManager wifiManager; // se o botão foi pressionado if (digitalRead (PIN_AP) == HIGH) {Serial.println ("resetar"); // tenta abrir o portal if (! wifiManager.startConfigPortal ("ESP_AP", "12345678")) {Serial.println ("Falha ao conectar"); atraso (2000); ESP.restart (); atraso (1000); } Serial.println ("Conectou ESP_AP !!!"); }
Quando você pressiona o botão, o ESP sai do modo Estação e abre seu Ponto de Acesso e portal.
Lembre-se de que não usamos o comando resetSettings (). As configurações ainda são salvas para a próxima vez que o ESP for inicializado.
Etapa 10: Chamadas de retorno
As funções de callback, que estão associadas a eventos, servem para você ter o momento exato de uma operação, no nosso caso, entrar em modo AP e modo Estação. Podemos então implementar alguma rotina desejada, como recuperar o SSID da rede conectada, por exemplo.
// callback que indica que o ESP entrou no modo AP
void configModeCallback (WiFiManager * myWiFiManager) {// Serial.println ("Modo de configuração inserido"); Serial.println ("Entrou no modo de configuração"); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP Serial.println (myWiFiManager-> getConfigPortalSSID ()); // imprime o SSID criado da rede
}
// callback que indica que salvamos uma nova rede para se conectar (modo estação)
void saveConfigCallback () {// Serial.println ("Deve salvar a configuração"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP}
Recomendado:
Estação meteorológica profissional usando ESP8266 e ESP32 DIY: 9 etapas (com imagens)

Estação meteorológica profissional usando ESP8266 e ESP32 DIY: LineaMeteoStazione é uma estação meteorológica completa que pode ter interface com sensores profissionais da Sensirion, bem como alguns componentes do instrumento Davis (pluviômetro, anemômetro). O projeto é destinado a uma estação meteorológica DIY, mas requer apenas o
Comunicação sem fio LoRa de 3 km a 8 km com dispositivo E32 (sx1278 / sx1276) de baixo custo para Arduino, Esp8266 ou Esp32: 15 etapas

LoRa 3Km a 8Km de comunicação sem fio com baixo custo E32 (sx1278 / sx1276) Dispositivo para Arduino, Esp8266 ou Esp32: Eu crio uma biblioteca para gerenciar EBYTE E32 baseada na série Semtech de dispositivos LoRa, um dispositivo muito poderoso, simples e barato. Você pode encontrar Versão de 3Km aqui, versão de 8Km aqui Eles podem trabalhar em uma distância de 3000m a 8000m, e têm muitos recursos e
Tutorial do ESP32 Bluetooth - Como usar o Bluetooth embutido do ESP32: 5 etapas

Tutorial do ESP32 Bluetooth | Como usar o Bluetooth embutido do ESP32: Olá pessoal, uma vez que a placa ESP32 vem com WiFi & Bluetooth ambos, mas para nossos projetos principalmente, geralmente usamos apenas Wifi, não usamos Bluetooth. Portanto, nestes instructables, vou mostrar como é fácil usar o Bluetooth do ESP32 & Para seus projetos básicos
Primeiros passos com ESP32 CAM - Streaming de vídeo usando ESP CAM por Wifi - Projeto de câmera de segurança ESP32: 8 etapas

Primeiros passos com ESP32 CAM | Streaming de vídeo usando ESP CAM por Wifi | Projeto de câmera de segurança ESP32: Hoje vamos aprender como usar esta nova placa ESP32 CAM e como podemos codificá-la e usá-la como uma câmera de segurança e obter um streaming de vídeo por wi-fi
Introdução ao ESP32 - Instalando placas ESP32 no IDE Arduino - Código ESP32 Blink: 3 etapas

Introdução ao ESP32 | Instalando placas ESP32 no IDE Arduino | ESP32 Blink Code: Neste instructables veremos como começar a trabalhar com esp32 e como instalar placas esp32 no IDE do Arduino e iremos programar esp 32 para executar o código blink usando arduino ide