Modos Wi -Fi ESP32
Esp32 wifi pode ser usado em três modos diferentes. Os modos a seguir podem ser chamados usando o Wi-fi.modo() função definindo o modo desejado dentro do argumento desta função.
Modo wifi | Função |
Estação | Wi-fi.modo (wifi_sta) |
Ponto de acesso | Wi-fi.modo (wifi_ap) |
Estação + ponto de acesso | Wi-fi.modo (wifi_sta_ap) |
Estação Wi -Fi
O uso do ESP32 como uma estação WiFi permite que você o use como um roteador WiFi em casa. Quando o ESP32 está conectado a uma rede usando um roteador WiFi, o roteador atribui um endereço IP exclusivo à placa ESP32. Para trocar informações com outro hardware conectado ao mesmo roteador, temos que chamar seu endereço IP exclusivo no código ESP32.
Depois que o roteador estiver conectado à placa ESP32, ele tem a mesma conexão com a Internet que outros dispositivos. Usando a Internet, podemos fazer upload de dados para o servidor ou controlar outros dispositivos conectados ao mesmo roteador wifi. Também podemos ler dados de APIs como dados climáticos e também podemos publicar imagens ou ícones de dados em servidores da web.
Conecte o ESP32 como estação WiFi
Para conectar a placa ESP32 como uma estação Wi-Fi, a primeira coisa que precisamos fazer é definir o modo WiFi usando o comando mencionado:
Wi-fi.modo (wifi_sta)
Se o ESP32 estiver conectado a qualquer outra rede para que a rede esteja no modo de estação para usá -la com ESP32.
Próximo usando Wi-fi.começar() função e passando o SSID e a senha da rede como seu argumento, podemos conectar a qualquer rede. A seguir, a sintaxe da placa ESP32 para conectar-se a uma rede Wi-Fi no modo de estação:
Wi-fi.Begin (senha do SSID)
Quando a conexão for estabelecida, a seguinte saída aparecerá:
enquanto (wifi.status() != Wl_connected)
Ponto de acesso
Quando o ESP32 está no modo de ponto de acesso, qualquer dispositivo com wifi pode ser conectado a ele como um roteador convencional. Ele também pode fornecer aos dispositivos uma conexão com a Internet e podemos construir nossa própria rede Wi-Fi em torno dela. No modo de ponto de acesso, podemos controlar dispositivos independentemente de ter um roteador Wi-Fi separado.
O ponto de acesso ESP32 não é como o roteador Wi-Fi normal, porque é apenas a opção de conectividade é sem fio. O ESP32 não suporta conexão de fio para a Internet como um roteador normal, por isso é chamado de SOFT AP (Ponto de acesso suave).
Conecte o ESP32 como ponto de acesso
Primeiro defina o modo WiFi como ponto de acesso usando o comando fornecido:
Wi-fi.modo (wifi_ap)
Em seguida, usando o softap () A função fornece um nome ao SSID à sua rede e senha do ESP32, quais outros dispositivos necessários para se conectar ao ESP32. Ambos são passados como argumentos para a função Softap (). Caso se nenhuma senha for necessária, defina -a como Nill.
Wi-fi.softap (ssid, senha);
Existem alguns parâmetros opcionais que também podemos passar para o softap () função.
Wi-fi.softap (const char* ssid, const char* senha, int canal, int ssid_hidden, int max_connection)
Estação + ponto de acesso
Para definir o ESP32 como estação Wi-Fi e ponto de acesso, siga o comando fornecido abaixo:
Wi-fi.modo (wifi_ap_sta)
Digitalize uma rede wifi
Para digitalizar as conexões Wi-Fi próximas, usaremos um exemplo de digitalização Wi-Fi ESP32 para garantir que a placa ESP32 esteja instalada no Arduino IDE. Para ler sobre a instalação do ESP32 no Arduino IDE, clique aqui.
Vá para: Arquivos> Exemplos> WiFi> WiFi Scan:
O código a seguir será aberto em uma nova janela. Selecione a porta COM do ESP32 e faça o upload do código:
#include "wifi.h "
configuração void ()
Serial.começar (115200);
// Defina o WiFi ESP32 para o modo de estação
Wi-fi.modo (wifi_sta);
Wi-fi.desconectar();
atraso (100);
Serial.println ("Setup Coned");
Void Loop ()
Serial.println ("scan start");
// Wi-fi.Scannetworks dará às redes Wi -Fi Total encontradas
int n = wifi.scannetworks ();
Serial.println ("Scan DOED");
if (n == 0)
Serial.println ("Nenhuma rede encontrada");
outro
Serial.impressão (n);
Serial.println ("redes encontradas");
para (int i = 0; i < n; ++i)
// Imprima o nome do SSID e a força do sinal
Serial.impressão (i + 1);
Serial.imprimir(": ");
Serial.Imprimir (wifi.Ssid (i));
Serial.imprimir(" (");
Serial.Imprimir (wifi.Rssi (i));
Serial.imprimir(")");
Serial.println ((wifi.EncryptionType (i) == wifi_auth_open)?"": "*");
atraso (10);
Serial.println ("");
// atraso para 5 segundos
atraso (5000);
Aqui no código acima Wi-fi.scannetworks () Retornará a rede total disponível dentro da faixa de placas ESP32.
Depois que todas as redes forem digitalizadas, podemos acessar seu SSID usando o comando abaixo:
Serial.Imprimir (wifi.Ssid (i));
O Wi-fi.Rssi () A função nos dará o RSSI (indicador de força de sinal recebido) de uma rede. É um nível estimado de potência ou força de sinal que um ESP32 está recebendo de um ponto de acesso.
Saída
A seguir, a saída é impressa no monitor serial que exibe todas as redes disponíveis que a placa ESP32 digitalizou:
Conecte-se a uma rede Wi-Fi
Para conectar o ESP32 com uma rede Wi-Fi, precisamos conhecer o SSID e sua senha. Além disso, a rede que precisa ser conectada deve entrar dentro da faixa de ESP32. Para ver se um certo Wi-Fi está sob o alcance esp32 ou não executa a varredura de exemplo dada acima.
Carregue o código abaixo para conectar a placa ESP32 à rede Wi-Fi:
#incluir
const char* ssid = "Seu nome SSID";
const char* senha = "senha ssid";
Void Setup ()
Serial.começar (115200);
atraso (1000);
Wi-fi.modo (wifi_sta);
Wi-fi.BEGIN (SSID, senha);
Serial.println ("\ NConnecting");
enquanto (wifi.status() != Wl_connected)
Serial.imprimir(".");
atraso (100);
Serial.println ("\ nConnected to the WiFi Network");
Serial.print ("Local ESP32 IP:");
Serial.println (wifi.localip ());
void loop ()
O código começa incluindo o Wi-fi.h biblioteca. Em seguida, inserimos o SSID e a senha da rede à qual queremos conectar. Em seguida, o ESP32 é colocado no modo de estação, que é opcional, pode -se ignorar porque o ESP32 por padrão vem no modo de estação.
Em seguida, usando o Wi-fi.BEGIN (SSID, senha); A função ESP32 procurará a rede definida e tentará conectar -se. Depois que o ESP32 estiver conectado, o endereço IP da rede será exibido no monitor serial:
Obtenha informações de rede Wi-Fi
Para verificar os detalhes da rede Wi-Fi à qual a placa ESP32 está conectada a seguir o código será usado:
#incluir
const char* ssid = "Seu nome SSID";
const char* senha = "senha ssid";
void get_network_info ()
if (wifi.status () == wl_connected)
Serial.print ("Esp32 conectado a");
Serial.println (ssid);
Serial.println ("bssid:" + wifi.Bssidstr ());
Serial.print ("gateway ip:");
Serial.println (wifi.IP do gateway());
Serial.print ("máscara de sub -rede:");
Serial.println (wifi.subnetMask ());
Serial.println ((string) "rssi:" + wifi.Rssi () + "dB");
Serial.print ("ESP32 IP:");
Serial.println (wifi.localip ());
Void Setup ()
Serial.começar (115200);
atraso (1000);
Wi-fi.BEGIN (SSID, senha);
Serial.println ("\ NConnecting");
enquanto (wifi.status() != Wl_connected)
Serial.imprimir(".");
atraso (100);
Serial.println ("\ nConnected to the WiFi Network");
get_network_info ();
void loop ()
A saída nos fornecerá as seguintes informações relacionadas à rede Wi-Fi conectada ESP32:
Todos esses resultados podem ser vistos no monitor serial:
Conclusão
Esp32 é uma placa de microcontrolador que vem com Wi-Fi e suporte duplo de Bluetooth. Este artigo destaca as principais funções usadas para controlar o Wi-Fi do ESP32. A placa ESP32 pode trabalhar em três modos de Wi-Fi e pode ser conectada a qualquer rede enquanto conhece o SSID e a senha da rede. Este artigo ajudará no controle do ESP32 Wi-Fi usando o Arduino IDE.