ESP32 - Webserver op MicroSD-kaart

In deze handleiding gaan we ontdekken hoe u een ESP32 webserver maakt die gehost wordt op een MicroSD-kaart. De HTML, CSS, JavaScript- en afbeeldingsbestanden worden opgeslagen op de MicroSD-kaart.

ESP32 webserver op MicroSD-kaart

Hardware benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×Micro SD-kaart
1×Micro SD-kaartmodule
1×Jumperdraden
1×Breadboard (experimenteerprint)
1×USB 3.0 SD-kaartlezer
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 webservers, MicroSD-kaart (inclusief pinout, werking en programmeren), kunt u hierover leren met de volgende tutorials:

Bedradingsschema

ESP32 Micro SD-kaartmodule bedradingsschema

This image is created using Fritzing. Click to enlarge image

Kopieer HTML-inhoud naar MicroSD-kaart

  • Zorg ervoor dat uw Micro SD-kaart geformatteerd is in het FAT32-formaat zoals hieronder (in Windows OS: rechtermuisklik → formatteren):
Micro SD-kaart formaat FAT32
  • Maak een HTML-bestand aan met de naam index.html en voeg de volgende code toe:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ESP32 Web Page</title> <link rel="icon" href="favicon.ico" type="image/x-icon"> <link rel="stylesheet" href="styles.css"> </head> <body> <div class="container"> <h1>Webpagina gehost op MicroSD-kaart</h1> <img src="luffy.jpg" alt="Een mooie afbeelding"> <p>Gesponsord door <a href="https://amazon.com/diyables">DIYables</a></p> </div> </body> </html>
  • Maak een CSS-bestand aan met de naam styles.css en voeg de volgende code toe:
body { font-family: Arial, sans-serif; margin: 0; padding: 0; background-color: white; } h1 { font-size: 28px; } .container { max-width: 800px; margin: 20px auto; text-align: center; } img { max-width: 80%; height: auto; display: block; margin: 20px auto; }
  • Bereid een afbeelding voor. In deze tutorial wordt luffy.jpg gebruikt, zoals ook in de HTML-code. U kunt deze afbeelding hier downloaden:
luffy
  • (Optioneel) Bereid een favicon-afbeelding voor. Deze tutorial gebruikt deze favicon.ico
  • Plaats alle bestanden in de hoofdmap van de MicroSD-kaart, zoals in onderstaande afbeeldingen:
ESP32 HTML inhoud op microSD-kaart

Let op: u kunt ook andere bestanden toevoegen, zoals JavaScript, txt, csv...

ESP32 Code - Webserver op MicroSD-kaart

/* * 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-on-sd-card */ #include <FS.h> #include <SD.h> #define PIN_SPI_CS 5 // The ESP32 pin GPIO5 // Replace with your network credentials const char* ssid = "YOUR_WIFI_SSID"; // CHANGE IT const char* password = "YOUR_WIFI_PASSWORD"; // CHANGE IT // Create AsyncWebServer object on port 80 AsyncWebServer server(80); void setup() { Serial.begin(9600); // Print the ESP32's IP address Serial.print("ESP32 Web Server's IP address: "); Serial.println(WiFi.localIP()); // init MicroSD Card if (!SD.begin(PIN_SPI_CS)) { while (1) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); delay(1000); } } server.on("/", HTTP_GET, [](AsyncWebServerRequest* request) { request->send(SD, "/index.html", "text/html"); }); server.serveStatic("/", SD, "/"); server.begin(); } ================= #include <DIYables_ESP32_WebServer.h> #include "index.h" // WiFi credentials const char WIFI_SSID[] = "YOUR_WIFI_SSID"; const char WIFI_PASSWORD[] = "YOUR_WIFI_PASSWORD"; // Create web server instance DIYables_ESP32_WebServer server; // Page handlers void handleHome(WiFiClient& client, const String& method, const String& request, const QueryParams& params, const String& jsonData) { server.sendResponse(client, HOME_PAGE); } void setup() { Serial.begin(9600); delay(1000); Serial.println("ESP32 Web Server"); // Configure routes server.addRoute("/", handleHome); // Start web server with WiFi connection server.begin(WIFI_SSID, WIFI_PASSWORD); } void loop() { server.handleClient(); }

Snelle stappen

  • Als u voor het eerst met ESP32 werkt, bekijk dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
  • Verbind het ESP32-bord met uw pc via een micro USB-kabel.
  • Open Arduino IDE op uw pc.
  • Selecteer het juiste ESP32-bord (bijvoorbeeld 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 op “DIYables ESP32 WebServer” en vind de Web Server bibliotheek gemaakt door DIYables.
  • Klik op de Installeren knop om de Web Server bibliotheek te installeren.
ESP32 Web Server bibliotheek
  • Kopieer bovenstaande code en open deze in Arduino IDE.
  • Pas de wifi-gegevens (SSID en wachtwoord) in de code aan naar uw eigen netwerk.
  • Klik op de Uploaden 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 dat u 192.168.0.3 vervangt door het IP-adres dat u in de Seriële Monitor krijgt.
  • U zult een pagina zien die HTML, CSS en afbeeldingen van de SD-kaart laadt.
ESP32 webpagina op SD-kaart
  • Zoals u ziet worden de HTML, CSS en afbeeldingen die op de SD-kaart staan, geladen door de webbrowser.

Nu kunt u de HTML- en CSS-code aanpassen, meer afbeeldingen en JavaScript toevoegen om uw eigen webpagina te maken.

※ 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!