Arduino Nano ESP32 - Senha do Servidor Web

Neste guia, vamos aprender a criar um servidor web com Arduino Nano ESP32 protegido por usuário e senha para login. Antes de acessar qualquer página web no ESP32, os usuários serão solicitados a informar o nome de usuário e a senha.

Arduino Nano ESP32 web server username password

Hardware Necessário

1×Arduino Nano ESP32
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano ESP32

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre o Arduino Nano ESP32 e o Servidor Web

Se você não está familiarizado com o Arduino Nano ESP32 e o Servidor Web (incluindo pinagem, como funciona e programação), você pode aprender sobre eles nos tutoriais a seguir:

Código Arduino Nano ESP32 - Servidor Web com Usuário/Senha

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.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(); }

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente do Arduino Nano ESP32 na Arduino IDE.
  • Conecte a placa Arduino Nano ESP32 ao seu PC por meio de um cabo micro USB
  • Abra a Arduino IDE no seu PC.
  • Selecione a placa Arduino Nano ESP32 e a porta COM.
  • Abra o Library Manager clicando no ícone Library Manager na barra de navegação à esquerda da Arduino IDE.
  • Pesquise por “DIYables ESP32 WebServer” e encontre a biblioteca Web Server criada pela DIYables.
  • Clique no botão Install para instalar a biblioteca Web Server.
Arduino Nano ESP32 Web Server library
  • Copie o código acima e abra-o na Arduino IDE
  • Altere as informações de WiFi (SSID e senha) no código para as suas
  • Clique no botão Upload na Arduino IDE para fazer o upload do código para o ESP32
  • Abra o Serial Monitor
  • Veja o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' on 'COM15')
New Line
9600 baud
Connecting to WiFi... Connected to WiFi Arduino Nano ESP32 Web Server's IP address: 192.168.0.3
Ln 11, Col 1
Arduino Nano ESP32 on COM15
2
  • Você verá um endereço IP no Serial Monitor, por exemplo: 192.168.0.3
  • Digite o endereço IP na barra de endereços de um navegador web no seu celular ou PC.
  • Observe que você precisa trocar 192.168.0.3 pelo endereço IP que você obteve no Serial Monitor.
  • Você verá uma página que solicita que você informe o usuário/senha.
Arduino Nano ESP32 Web page password
  • Digite o usuário/senha que estão no código do Arduino Nano ESP32, neste caso: admin como usuário, esp32 como senha
  • Se você informar o usuário/senha corretamente, o conteúdo web do Arduino Nano ESP32 será exibido:
Arduino Nano ESP32 Web page login

※ Nota:

  • Você pode ajustar o usuário e a senha web diretamente no código, alterando os valores atribuídos a duas variáveis: www_username e www_password.
  • Você tem a opção de personalizar este código incorporando seu próprio código HTML, CSS e JavaScript para a sua página web.
  • Vale observar que não há código HTML no próprio código para o formulário de login (usuário/senha). Não se surpreenda! Em vez disso, o formulário de login é gerado dinamicamente pelo navegador web.

Conhecimento Avançado

Esta seção fornece informações avançadas sobre como o sistema de usuário/senha funciona sem HTML para o formulário de login:

  • Inicialmente, quando você digita o endereço IP do Arduino Nano ESP32 em um navegador web, o navegador envia uma requisição HTTP para o Arduino Nano ESP32 sem nenhuma credencial de usuário/senha.
  • Ao receber essa requisição, o código do Arduino Nano ESP32 verifica se alguma credencial de usuário/senha foi fornecida. Se não, o Arduino Nano ESP32 não responde com o conteúdo da página solicitada. Em vez disso, ele responde com uma mensagem HTTP contendo cabeçalhos que instruem o navegador a solicitar ao usuário o usuário/senha. É importante notar que essa resposta não inclui código HTML para o formulário de login.
  • Ao receber essa resposta, o navegador web interpreta os cabeçalhos HTTP, entendendo a solicitação do ESP32 por usuário/senha. Consequentemente, o navegador gera dinamicamente um formulário de login, permitindo que o usuário informe suas credenciais.
  • O usuário então informa seu usuário/senha no formulário.
  • O navegador web inclui o usuário/senha informados em uma requisição HTTP e a envia para o ESP32.
  • O Arduino Nano ESP32 verifica o usuário/senha incluídos na requisição HTTP. Se estiverem corretos, ele retorna o conteúdo da página solicitada. Se estiverem incorretos, ele repete o processo, solicitando ao usuário que informe as credenciais corretas novamente.
  • Depois que o usuário informa o usuário/senha corretos pela primeira vez, as requisições seguintes não exigem que ele informe as credenciais novamente. Isso acontece porque o navegador web salva automaticamente as credenciais, incluindo-as nas requisições seguintes.

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!