Arduino Nano ESP32 - Contraseña del servidor web

En esta guía, aprenderemos a crear un servidor web Arduino Nano ESP32 con protección por nombre de usuario y contraseña para iniciar sesión. Antes de acceder a cualquier página web en el ESP32, se pedirá a los usuarios que introduzcan su nombre de usuario y contraseña.

Arduino Nano ESP32 servidor web nombre de usuario y contraseña

Hardware Requerido

1×Arduino Nano ESP32
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano ESP32

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca de Arduino Nano ESP32 y Servidor Web

Si no estás familiarizado con Arduino Nano ESP32 y con un servidor web (incluido el pinout, cómo funciona y la programación), puedes aprender sobre ellos a través de los siguientes tutoriales:

Código Arduino Nano ESP32 - Servidor web Nombre de usuario/Contraseña

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-web-server-password */ #include <DIYables_ESP32_WebServer.h> // WiFi credentials const char WIFI_SSID[] = "YOUR_WIFI_SSID"; const char WIFI_PASSWORD[] = "YOUR_WIFI_PASSWORD"; // Authentication credentials const char* www_username = "admin"; const char* www_password = "esp32"; // Create web server instance DIYables_ESP32_WebServer server; // Main page handler void handleRoot(WiFiClient& client, const String& method, const String& request, const QueryParams& params, const String& jsonData) { server.sendResponse(client, "<html><body><h1>Login Successful!</h1><p>You are now logged in.</p></body></html>"); } void setup() { Serial.begin(9600); delay(1000); // Configure the main route server.addRoute("/", handleRoot); // Start server with WiFi connection (handles connection automatically) server.begin(WIFI_SSID, WIFI_PASSWORD); // Enable basic authentication server.enableAuthentication(www_username, www_password, "Esp32"); Serial.print("IP Address: "); Serial.println(WiFi.localIP()); Serial.println("Arduino Nano ESP32 Server ready with authentication enabled"); Serial.print("Username: "); Serial.println(www_username); Serial.print("Password: "); Serial.println(www_password); } void loop() { // Handle all client requests (including authentication) server.handleClient(); }

Pasos R\u00e1pidos

  • Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para Arduino Nano ESP32 en Arduino IDE.
  • Conecta la placa Arduino Nano ESP32 a tu PC mediante un cable micro USB.
  • Abre Arduino IDE en tu PC.
  • Selecciona la placa Arduino Nano ESP32 y el puerto COM.
  • Abre el Administrador de Bibliotecas haciendo clic en el icono Administrador de Bibliotecas en la barra de navegación izquierda de Arduino IDE.
  • Busca “DIYables ESP32 WebServer”, luego encuentra la biblioteca Web Server creada por DIYables.
  • Haz clic en el botón Instalar para instalar la biblioteca Web Server.
Librería de servidor web para Arduino Nano ESP32
  • Copia el código anterior y ábrelo con Arduino IDE
  • Cambia la información de wifi (SSID y contraseña) en el código por la tuya
  • Haz clic en el botón Subir en Arduino IDE para subir el código al ESP32
  • Abre el Monitor Serial
  • Verifica el resultado en el Monitor Serial
COM6
Send
Connecting to WiFi... Connected to WiFi Arduino Nano ESP32 Web Server's IP address: 192.168.0.3
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Verás una dirección IP en el Monitor Serial, por ejemplo: 192.168.0.3
  • Escribe la dirección IP en la barra de direcciones de un navegador web en tu teléfono inteligente o PC.
  • Ten en cuenta que debes cambiar 192.168.0.3 por la dirección IP que obtuviste en el Monitor Serial.
  • Verás una página que te solicite introducir un nombre de usuario y una contraseña.
Contraseña de la página web de Arduino Nano ESP32
  • Escribe el nombre de usuario y la contraseña que están en el código de Arduino Nano ESP32, en este caso: admin como nombre de usuario, esp32 como contraseña
  • Si introduces el nombre de usuario y la contraseña correctamente, se mostrará el contenido web de Arduino Nano ESP32:
Inicio de sesión en la página web de Arduino Nano ESP32

※ Nota:

  • Puedes ajustar el nombre de usuario web y la contraseña directamente dentro del código modificando los valores asignados a dos variables: www_username y www_password.
  • Tienes la opción de personalizar este código incorporando tu propio código HTML, CSS y JavaScript para tu página web.
  • Cabe señalar que no hay código HTML dentro del propio código para el formulario de inicio de sesión (nombre de usuario/contraseña). ¡No te sorprendas! En su lugar, el formulario de inicio de sesión se genera dinámicamente por el navegador web.

Conocimiento Avanzado

Esta sección ofrece ideas avanzadas sobre cómo funciona el sistema de nombre de usuario y contraseña sin HTML para el formulario de inicio de sesión:

  • Inicialmente, cuando ingresas la dirección IP del Arduino Nano ESP32 en un navegador web, el navegador envía una solicitud HTTP al Arduino Nano ESP32 sin credenciales de nombre de usuario y contraseña.
  • Al recibir esta solicitud, el código del Arduino Nano ESP32 verifica si se han proporcionado credenciales de nombre de usuario y contraseña. Si no, el Arduino Nano ESP32 no responde con el contenido de la página solicitada. En su lugar, responde con un mensaje HTTP que contiene encabezados que indican al navegador que solicite al usuario su nombre de usuario y contraseña. Es importante destacar que esta respuesta no incluye código HTML para el formulario de inicio de sesión.
  • Al recibir esta respuesta, el navegador interpreta los encabezados HTTP, entendiendo la solicitud del ESP32 de nombre de usuario y contraseña. En consecuencia, el navegador genera dinámicamente un formulario de inicio de sesión, que permite al usuario introducir sus credenciales.
  • Luego, el usuario introduce su nombre de usuario y contraseña en el formulario.
  • El navegador web incluye el nombre de usuario y la contraseña ingresados en la solicitud HTTP y la envía al ESP32.
  • El Arduino Nano ESP32 verifica el nombre de usuario y la contraseña incluidos en la solicitud HTTP. Si son correctos, devuelve el contenido de la página solicitada. Si son incorrectos, repite el proceso, solicitando al usuario que introduzca las credenciales correctas nuevamente.
  • Una vez que el usuario introduce correctamente el nombre de usuario y la contraseña por primera vez, las solicitudes subsiguientes no requieren que vuelvan a ingresar sus credenciales. Esto se debe a que el navegador web guarda automáticamente las credenciales, incluyéndolas en las solicitudes siguientes.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!