Como definir um ponto de acesso ESPTOP 10 usando Arduino IDE

Como definir um ponto de acesso ESPTOP 10 usando Arduino IDE

As placas ESP32 têm um módulo Wi-Fi embutido que abre a porta para opções de conectividade ilimitadas. O ESP32 pode ser conectado a qualquer ponto de acesso, como um roteador ou pode atuar como um ponto de acesso e fornecer um ponto de acesso a outros dispositivos. Aqui vamos configurar o ESP32 no modo de ponto de acesso e conectá -lo com outros dispositivos.

Modos Wi -Fi ESP32

Antes de avançarmos, devemos ter conhecimento dos modos de trabalho WiFi ESP32. Esp32 wifi pode ser usado em três modos diferentes.

  • Estação
  • Ponto de acesso
  • Estação + ponto de acesso

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)

Na maioria das situações, o ESP32 funciona em Estação modo. Durante esse modo. A imagem a seguir mostra o ESP32 no modo de estação conectado ao roteador, que é um ponto de acesso.

Mas também podemos usar o ESP32 WiFi para trabalhar como hotspots para outros dispositivos. Em suma usando o Wi-fi.modo (wifi_ap) comando, estaremos usando o ESP32 como um Acesso apontar onde criará sua própria rede wifi. Agora qualquer dispositivo com recursos WiFi pode se conectar a ele.

A imagem abaixo dada demonstra o funcionamento do ESP32 como ponto de acesso para outros dispositivos.

Como a placa ESP32 não possui capacidade de rede, ele suporta apenas redes sem fio, chamamos esse ponto de acesso como Ap macio (Ponto de acesso suave).

Último modo de wifi para a placa ESP32 é ambos Acesso e Ponto da estação. Aqui, a placa ESP32 estará conectada a outro roteador e atuará como uma estação enquanto também anuncia seu ponto de acesso para outros dispositivos para que eles possam se conectar ao ESP32 Wi-Fi.

A imagem abaixo destaca a estrutura da placa ESP32 trabalhando em estação e ponto de acesso.

Como conectar a placa ESP32 como ponto de acesso

Conecte a placa ESP32 com PC e abra Arduino IDE. Selecione a placa e a porta com o COM corretas. Abra o editor do IDE e escreva o código dado. Este código permitirá o WiFi ESP32 que funcionará em acesso apontar modo.

Agora conecte um LED ao pino GPIO 25. Vamos controlar esse LED usando um servidor web projetado no endereço IP da placa ESP32. Um dispositivo WiFi como um PC ou smartphone será conectado ao WiFi do ESP32 e LED de controle usando o servidor da Web.

Código de ponto de acesso ESP32

Agora faça o upload do código fornecido abaixo para a placa ESP32:

#include /*biblioteca wifi incluída* /
const char* ssid = "esp32"; /*SSID definido para AP*/
const char* senha = "123456789"; /*Senha definida, removida para uma rede aberta*/
Wifiserver Server (80); /*Porta do servidor da web 80*/
Cabeçalho de string; /*Variable armazena solicitação http*/
String outputgpio25 = "OFF"; /*Variável para armazenar a saída atual*/
const int output_25 = 25; /*GPIO PIN 25 atribuído à variável*/
Void Setup ()
Serial.começar (115200);
pinmode (output_25, saída); /*Variável Inicialize para saída*/
DigitalWrite (output_25, baixo); /*Saída definida como baixa*/
Serial.print ("Configurando AP (ponto de acesso) ...");
Wi-fi.softap (ssid, senha); /*ESP32 WiFi definido no modo de ponto de acesso*/
Ipaddress ip = wifi.softapip (); /*O endereço IP é inicializado*/
Serial.print ("Endereço IP AP:");
Serial.println (IP); /*Imprimir endereço IP*/
servidor.começar();

Void Loop ()
Cliente wificlient = servidor.disponível(); /*Verifique a solicitação de clientes*/
if (client) /*condição para verificar se há novo cliente* /
Serial.println ("novo cliente.");
String currentLine = ""; /*String para manter dados*/
enquanto (cliente.conectado ()) /*loop para verificação de conexão do cliente* /
if (cliente.disponível ()) /*Leia se os dados disponíveis* /
char c = cliente.ler();
Serial.escreva (c);
cabeçalho += c;
if (c == '\ n') /*se byte for um caractere newline* /
/*Caso se a linha atual esteja em branco, dois novos caracteres de linha estarão disponíveis*/
/*Fim da solicitação HTTP do cliente*/
if (CurrentLine.comprimento () == 0)
/* HTTP Iniciar com um código de resposta HTTP/1.1 200 ok */
/* e o tipo de conteúdo para que o cliente saiba o que está por vir, depois uma linha em branco:*/
cliente.println ("http/1.1 200 ok ");
cliente.println ("Content-Type: text/html");
cliente.println ("conexão: fechar");
cliente.println ();
/*vira os GPIOS 25 ligados e desligados*/
if (cabeçalho.indexOf ("get /25 /on")> = 0)
Serial.println ("gpio 25 on");
OutputGpio25 = "ON";
DigitalWrite (output_25, alto);
else if (cabeçalho.indexOf ("get /25 /off")> = 0)
Serial.println ("gpio 25 off");
Outputgpio25 = "OFF";
DigitalWrite (output_25, baixo);

/*Código html para servidor*/
cliente.println ("");
cliente.println ("");
cliente.println ("");
/*incluindo CSS para personalizar o botão*/
cliente.println ("html background-color: #c4ccc8; font-family: fantasy; exibição: bloqueio embutido; margem: 0px automático; text-align: Center;");
cliente.println (".Botão Background-Color: #000000; Exibição: bloco embutido; Radio de fronteira: 30px; borda: 2px cinza sólido; cor branca; preenchimento: 16px 40px; ");
cliente.println ("Decoração de texto: nenhum; tamanho da fonte: 30px; margem: 2px; cursor: pontente;");
cliente.println (".Button2 Background-Color: #F70D05; ");
/*Cabeças da página da web*/
cliente.println ("

Servidor da web esp32

");
cliente.println ("

Linuxhint.com

");
// Exibir o estado atual e os botões ON/OFF para GPIO 25
cliente.println ("

GPIO 25 LED " + outputgpio25 +"

");
// Se o outputgpio25 estiver desligado, exibe o botão ON
if (outputgpio25 == "off")
cliente.println ("

/25/on ">