Cómo establecer un punto de acceso de Esptop 10 usando Arduino IDE

Cómo establecer un punto de acceso de Esptop 10 usando Arduino IDE

Los tableros ESP32 tienen un módulo Wi-Fi incorporado que abre la puerta a opciones de conectividad ilimitadas. ESP32 se puede conectar a cualquier punto de acceso, como un enrutador o puede actuar como un punto de acceso y proporcionar un punto de acceso a otros dispositivos. Aquí configuraremos ESP32 en el modo de punto de acceso y lo conectaremos con otros dispositivos.

Modos Wifi ESP32

Antes de avanzar, debemos tener conocimiento de los modos de trabajo WiFi ESP32. ESP32 WiFi se puede usar en tres Modos diferentes.

  • Estación
  • Punto de acceso
  • Estación + punto de acceso

Se pueden llamar a los siguientes modos utilizando el Wifi.modo() función definiendo el modo deseado dentro del argumento de esta función.

Modo wifi Función
Estación Wifi.modo (wifi_sta)
Punto de acceso Wifi.modo (wifi_ap)
Estación + punto de acceso Wifi.modo (wifi_sta_ap)

En la mayoría de las situaciones, ESP32 funciona en Estación modo. Durante este modo, ESP32 está conectado a WiFi de cualquier punto de acceso, como el enrutador. La siguiente imagen muestra ESP32 en el modo de estación conectado al enrutador, que es un punto de acceso.

Pero también podemos usar WiFi ESP32 para funcionar como puntos de acceso para otros dispositivos. En resumen usando el Wifi.modo (wifi_ap) comando que usaremos ESP32 como un Acceso punto donde creará su propia red WiFi. Ahora cualquier dispositivo con capacidades wifi puede conectarse a él.

La imagen dada a continuación demuestra el funcionamiento de ESP32 como punto de acceso para otros dispositivos.

Como la placa ESP32 no tiene capacidad de red con cable, solo admite redes inalámbricas, por lo que llamamos a este punto de acceso como Suave (Punto de acceso suave).

El último modo de wifi para la placa ESP32 es ambos Acceso y Punto de estación. Aquí, la placa ESP32 se conectará a algún otro enrutador y actuará como una estación, mientras que también anuncia su punto de acceso a otros dispositivos para que puedan conectarse a ESP32 Wi-Fi.

La imagen que se da a continuación destaca la estructura de la placa ESP32 que funciona tanto en la estación como en el punto de acceso.

Cómo conectar la placa ESP32 como punto de acceso

Conecte la placa ESP32 con PC y abra Arduino IDE. Seleccione el tablero correctos y el puerto COM. Abra el editor IDE y escriba el código dado. Este código habilitará ESP32 WiFi que funcionará en acceso punto modo.

Ahora conecte un LED al PIN GPIO 25. Controlaremos este LED utilizando un servidor web diseñado en la dirección IP de la placa ESP32. Se conectará un dispositivo WiFi como una PC o un teléfono inteligente al WiFi de ESP32 y al LED de control utilizando el servidor web.

Código de punto de acceso ESP32

Ahora cargue el código que se proporciona a continuación en la placa ESP32:

#include /*biblioteca wifi incluida* /
const char* ssid = "esp32"; /*SSID definido para AP*/
const char* contraseña = "123456789"; /*Contraseña definida, eliminada para una red abierta*/
Wifiserver Server (80); /*Puerto del servidor web 80*/
Encabezado de cuerda; /*Variable almacena la solicitud HTTP*/
String outputGpio25 = "Off"; /*variable para almacenar la salida actual*/
const int output_25 = 25; /*GPIO PIN 25 Asignado a la variable*/
setup () void
De serie.comenzar (115200);
PinMode (output_25, salida); /*Variable Inicializar para la salida*/
DigitalWrite (output_25, bajo); /*Salida establecida en Low*/
De serie.imprimir ("configurar AP (punto de acceso) ...");
Wifi.Softap (SSID, contraseña); /*ESP32 Wifi establecido en el modo de punto de acceso*/
Ipaddress ip = wifi.softapip (); /*La dirección IP se inicializa*/
De serie.imprimir ("Dirección IP AP:");
De serie.println (ip); /*Imprimir dirección IP*/
servidor.comenzar();

bucle void ()
Wificlient Client = servidor.disponible(); /*Verifique la solicitud de los clientes*/
if (cliente) /*condición para verificar el nuevo cliente* /
De serie.println ("nuevo cliente.");
String CurrentLine = ""; /*cadena para mantener los datos*/
mientras (cliente.connected ()) /*bucle para la verificación de conexión del cliente* /
if (cliente.disponible ()) /*Leer si los datos disponibles* /
char c = cliente.leer();
De serie.escribir (c);
encabezado += c;
if (c == '\ n') /*si el byte es carácter nuevo* /
/*En caso de que si la línea actual está en blanco, estarán disponibles dos caracteres de línea nueva*/
/*Fin de la solicitud HTTP del cliente*/
if (actual línea.longitud () == 0)
/* Http comienza con un código de respuesta http/1.1 200 OK */
/* y tipo de contenido para que el cliente sepa lo que viene, luego una línea en blanco:*/
cliente.println ("http/1.1 200 OK ");
cliente.println ("Content-type: text/html");
cliente.println ("conexión: cerrar");
cliente.println ();
/*enciende y apaga los GPIOS 25*/
if (encabezado.indexOf ("get /25 /on")> = 0)
De serie.println ("GPIO 25 ON");
OutputGpio25 = "On";
DigitalWrite (output_25, alto);
else if (encabezado.indexOf ("get /25 /off")> = 0)
De serie.println ("GPIO 25 OFF");
OutputGpio25 = "Off";
DigitalWrite (output_25, bajo);

/*Código HTML para servidor*/
cliente.println ("");
cliente.println ("");
cliente.println ("");
/*incluyendo CSS para personalizar el botón*/
cliente.println ("html background-color: #c4ccc8; font-family: fantasy; display: inline-block; margen: 0px auto; text-align: center;");
cliente.println (".botón Color de fondo: #000000; Pantalla: bloque en línea; Border-Radius: 30px; borde: 2px gris sólido; color blanco; relleno: 16px 40px; ");
cliente.println ("Decoración de texto: Ninguno; Fuente de tamaño: 30px; margen: 2px; cursor: pointer;");
cliente.println (".Button2 Background-Color: #F70D05; ");
/*Encabezados de la página web*/
cliente.println ("

Servidor web ESP32

");
cliente.println ("

Linuxhint.comunicarse

");
// Muestra el estado actual y los botones de encendido/apagado para GPIO 25
cliente.println ("

GPIO 25 LED " + outputgpio25 +"

");
// Si el outputGpio25 está apagado, muestra el botón ON
if (outputGpIO25 == "Off")
cliente.println ("

/25/on ">