ESP32 - Webserver Wachtwoord

In deze tutorial ontdekken we hoe u een ESP32 webserver maakt die beschermd wordt met een gebruikersnaam en wachtwoord voor het inloggen. Voordat u toegang krijgt tot de webpagina op de ESP32, wordt de gebruiker gevraagd zijn gebruikersnaam/wachtwoord in te voeren.

ESP32 webserver gebruikersnaam wachtwoord

Hardware Vereist

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over ESP32 en Webserver

Als u nog niet bekend bent met de ESP32 en webserver (inclusief pinout, hoe het werkt en programmeren), kunt u hierover leren via de volgende tutorials:

ESP32 Code - Webserver Gebruikersnaam/Wachtwoord

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/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("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(); }

Snelle Stappen

  • Als u voor het eerst een ESP32 gebruikt, bekijk dan hoe de omgeving in te stellen voor ESP32 op Arduino IDE.
  • Verbind de ESP32 board met uw pc via een micro USB-kabel
  • Open Arduino IDE op uw pc.
  • Selecteer het juiste ESP32 board (bijv. ESP32 Dev Module) en de juiste COM-poort.
  • Open de Library Manager door te klikken op het Library Manager icoon in de linker navigatiebalk van Arduino IDE.
  • Zoek naar “DIYables ESP32 WebServer” en vind de Web Server bibliotheek die door DIYables is gemaakt.
  • Klik op de Installeren knop om de Web Server bibliotheek te installeren.
ESP32 Web Server bibliotheek
  • Kopieer de bovenstaande code en open deze met Arduino IDE
  • Pas de wifi-informatie (SSID en wachtwoord) in de code aan naar uw eigen gegevens
  • Klik op de Upload knop in Arduino IDE om de code naar de ESP32 te uploaden
  • Open de Seriële Monitor
  • Bekijk het resultaat in de Seriële Monitor.
COM6
Send
Connecting to WiFi... Connected to WiFi ESP32 Web Server's IP address: 192.168.0.3
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • U ziet een IP-adres in de Seriële Monitor, bijvoorbeeld: 192.168.0.3
  • Typ dit IP-adres in de adresbalk van een webbrowser op uw smartphone of pc.
  • Let op: u moet 192.168.0.3 vervangen door het IP-adres dat u in de Seriële Monitor heeft gekregen.
  • U ziet een pagina waarop u wordt gevraagd uw gebruikersnaam en wachtwoord in te voeren.
ESP32 Webpagina wachtwoord
  • Vul de gebruikersnaam/wachtwoord in die in de ESP32 code staan, in dit voorbeeld: admin als gebruikersnaam en esp32 als wachtwoord
  • Als u gebruikersnaam/wachtwoord correct invoert, verschijnt de webinhoud van de ESP32:
ESP32 Webpagina login

※ Notiz:

  • U kunt de gebruikersnaam en het wachtwoord aanpassen door de waarden van de twee variabelen www_username en www_password in de code te wijzigen
  • U kunt deze code aanpassen om de HTML/CSS/JavaScript code van uw eigen webpagina toe te voegen
  • In de code ontbreekt HTML-code voor het inlogformulier (gebruikersnaam/wachtwoord). Niet schrikken! Het inlogformulier wordt door de webbrowser zelf gegenereerd.

Geavanceerde Kennis

Deze sectie legt uit hoe het gebruikersnaam/wachtwoord-systeem werkt zonder HTML voor het inlogformulier.

  • Wanneer u het IP-adres van de ESP32 in een webbrowser invoert, verstuurt de browser een HTTP-verzoek naar de ESP32 zonder gebruikersnaam/wachtwoord gegevens.
  • Bij ontvangst van dit verzoek controleert de ESP32-code of er een gebruikersnaam/wachtwoord is meegezonden. Is dat niet het geval, dan reageert de ESP32 niet met de pagina-inhoud, maar met een HTTP-bericht dat headers bevat die de browser instrueren de gebruiker om zijn gebruikersnaam/wachtwoord te vragen. Deze respons bevat dus geen HTML voor het inlogformulier.
  • De webbrowser leest de HTTP-headers en herkent dat de ESP32 om een gebruikersnaam/wachtwoord vraagt. Daardoor genereert de browser dynamisch een inlogformulier waarmee de gebruiker zijn inloggegevens kan invoeren.
  • De gebruiker voert zijn gebruikersnaam/wachtwoord in het formulier in.
  • De webbrowser stuurt de ingevulde gebruikersnaam/wachtwoord mee in een HTTP-verzoek naar de ESP32.
  • De ESP32 controleert de ontvangen gebruikersnaam/wachtwoord. Is deze correct, dan stuurt hij de gevraagde inhoud van de pagina terug. Is deze onjuist, dan vraagt hij opnieuw om de juiste gegevens in te voeren.
  • Als de gebruiker eenmaal het correcte gebruikersnaam/wachtwoord heeft ingevoerd, hoeft hij die niet steeds opnieuw in te voeren. Dit komt doordat de webbrowser de inloggegevens onthoudt en automatisch meestuurt bij volgende verzoeken.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!