Índice:

ESP8266 e ESP32 com WiFiManager: 10 etapas
ESP8266 e ESP32 com WiFiManager: 10 etapas

Vídeo: ESP8266 e ESP32 com WiFiManager: 10 etapas

Vídeo: ESP8266 e ESP32 com WiFiManager: 10 etapas
Vídeo: Подключение к WiFi / Своя точка доступа WiFi / ESP 32 / ESP 8266 12f / WEB + LED (on:off) 2024, Julho
Anonim
Image
Image
PINOUT
PINOUT

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

PINOUT
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

Como funciona
Como funciona
Como funciona
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

Bibliotecas
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

Funções
Funções
Funções
Funções
Funções
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

conjunto
conjunto

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: