Lokal webserver på ESP32 med Mongoose og TTGO T-Display

  • June 10, 2025

Mongoose er et indlejret netværksbibliotek fra Cesanta. Det kan bruges til at give en ESP32 en lokal webbrugerflade og API-endpoints. Mongoose-biblioteket og Mongoose OS er forskellige projekter; sørg for at bruge dokumentationen til det, du faktisk installerer.

Start med et vedligeholdt eksempel

Brug Cesantas ESP32 Device Dashboard eller den aktuelle Mongoose-dokumentation som startpunkt. Eksemplets board, SDK og buildsystem skal passe sammen. En ESP32-C6-konfiguration kan ikke uden videre bruges til et originalt TTGO T-Display med ESP32.

En konkret arbejdsrækkefølge

  1. Find den præcise TTGO-model, chip, flashstørrelse og USB-interface på boardet. Notér også den displaycontroller, som dit board faktisk bruger.
  2. Følg eksemplets angivne ESP-IDF-version og buildkommandoer. Gem versions- eller commitreferencen i dit projekt.
  3. Byg det uændrede netværkseksempel først, før du tilføjer display og sensorer.
  4. Konfigurér dit eget testnetværk efter eksemplets anvisninger. Hold adgangskoder uden for et offentligt kodearkiv.
  5. Læs den lokale IP-adresse i loggen, og åbn siden fra en klient på samme netværk.
  6. Tilføj ét endpoint med en ufølsom testværdi. Test både et korrekt svar og en ukendt URL.
  7. Integrer først derefter displayet med et bibliotek og pinout, der passer til netop TTGO-versionen.

Event-loopet skal have tid

Mongoose arbejder med hændelser og et netværks-event-loop. Langvarige blokeringer i sensorkode eller skærmopdatering kan gøre webserveren langsom eller ustabil. Brug korte opgaver, mål responstiden og test over tid. Kopiér ikke funktionsnavne eller såkaldte glue-filer fra et gammelt eksempel uden at kontrollere, at de findes i den anvendte version.

HTTP er ikke automatisk HTTPS

Et fungerende HTTP-endpoint bliver ikke sikkert blot ved at skifte tekst i en browseradresse. TLS kræver konkret opsætning af blandt andet nøgler og certifikater samt plads i enheden. Brug projektets aktuelle TLS-eksempler, og verificér forbindelsen i klienten. Et bibliotek alene etablerer heller ikke adgangskontrol eller sikre opdateringer.

Test og licens

Begynd på et isoleret testnetværk, og undlad port-forwarding til en ubeskyttet prototype. Kontrollér bibliotekslicensen og eventuelle kommercielle vilkår for din anvendelse. En tutorial er et læringsprojekt; produktionsbrug kræver en separat gennemgang af autentifikation, lagrede hemmeligheder, inputvalidering og opdateringsstrategi.

Find udviklingsboards, eller byg først eksemplet med den hardware, du allerede har.

Efterlad en kommentar

Bemærk venligst, at kommentarer skal godkendes, før de offentliggøres.