Image of eBits Academy airquality illustration

Driva en enkel webbserver på ESP32 – Serien om en luftkvalitetsstation, avsnitt 15

  • April 15, 2025
  • |
  • Teofil Corad

Lektionens syfte

Målet med den här lektionen är att introducera dig till nätverksbegrepp inom IoT. När du har avslutat lektionen kommer du att förstå vikten av nätverksanslutning i IoT-enheter och ha upprättat en WiFi-anslutning.

Introduktion

I den här lektionen går vi djupare in i IoT-världen genom att lära oss hur man ansluter ESP32-mikrokontrollern till ett WiFi-nätverk. En av de viktigaste egenskaperna hos IoT-enheter är förmågan att skicka och ta emot data via internet, vilket möjliggör fjärrövervakning, styrning och dataanalys.

Att upprätta en WiFi-anslutning är det första steget mot att låta IoT-enheten samverka med omvärlden. Det ger din ESP32 möjlighet att skicka sensordata till molnplattformar, utlösa larm eller till och med driva webbservrar som du kan nå via en webbläsare på en enhet i samma nätverk.


Lista över nödvändiga komponenter:

 


WiFi-anslutning i IoT

WiFi-anslutning är en viktig funktion i många IoT-enheter eftersom den möjliggör trådlös kommunikation över långa avstånd utan fysiska anslutningar. Genom att ansluta din ESP32 till ett lokalt WiFi-nätverk kan enheten:

  • Kommunicera med webbservrar.

  • Skicka data till molntjänster.

  • Ta emot kommandon på distans.

  • Visa realtidsdata på webbsidor.

Det är just dessa möjligheter som gör IoT så kraftfullt – med fjärrövervakning, enhetsstyrning och automatisering.


Steg 1: Förbered WiFi-anslutningen

Innan vi går till koden behöver du ha följande klart:

  1. Nätverksuppgifter: Du behöver SSID (nätverksnamn) och lösenord till ditt WiFi-nätverk. Se till att du har tillgång till ett stabilt nätverk med internetanslutning.

  2. Uppdaterade bibliotek: Se till att Arduino IDE är uppdaterad och att biblioteket WiFi.h är inkluderat (det följer med ESP32 som standard). Biblioteket behövs för att ansluta till WiFi.


Steg 2: Anslut ESP32 till WiFi – förklaring av koden

Tack vare det inbyggda WiFi.h-biblioteket är det relativt enkelt att ansluta ESP32 till WiFi. Vi tittar på kodens grundstruktur:

#include <WiFi.h>

// Indsæt dine netværksoplysninger
const char* ssid = "Your_SSID"; // Dit netværksnavn
const char* password = "Your_Password"; // Dit netværkskodeord

void setup() {
  Serial.begin(115200); // Start seriel kommunikation
  delay(100);

  // Forbind til WiFi
  WiFi.begin(ssid, password);
  Serial.print("Forbinder til WiFi");

  // Vent til der er forbindelse
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(".");
  }

  // Udskriv IP-adresse når der er forbindelse
  Serial.println();
  Serial.println("Forbundet til WiFi!");
  Serial.print("IP-adresse: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  // Her kan du lave ekstra funktioner mens der er WiFi-forbindelse
}

 


Förklaring av koden


Bibliotek: WiFi.h-biblioteket ger tillgång till funktionerna för WiFi-anslutning.

Nätverksuppgifter: ssid och password innehåller nätverkets namn och lösenord. Ersätt "Your_SSID" och "Your_Password" med dina egna uppgifter.

WiFi-anslutning: WiFi.begin(ssid, password) startar anslutningen.

Anslutningsloop: while (WiFi.status() != WL_CONNECTED) kontrollerar anslutningen och fortsätter tills den är upprättad.

IP-adress: När anslutningen är upprättad visas ESP32:s IP-adress via WiFi.localIP().


Steg 3: Testa anslutningen

Följ dessa steg för att säkerställa att ESP32 är korrekt ansluten:

  1. Ladda upp koden till ESP32 via Arduino IDE.

  2. Öppna Serial Monitor (Ctrl + Shift + M eller under Tools > Serial Monitor) i Arduino IDE. Ställ in baudhastigheten på 115200.

  3. Följ utmatningen: du ser punkter varje gång ESP32 försöker ansluta. När den är ansluten visas "Connected to WiFi!" och IP-adressen.


Felsökningstips

  • Felaktiga uppgifter: Kontrollera SSID och lösenord för skrivfel.

  • Dålig signal: Se till att ESP32 är inom nätverkets räckvidd.

  • Nätverkssäkerhet: Vissa nätverk tillåter inte nya enheter. Prova vid behov ett annat nätverk eller kontakta nätverksadministratören.


Steg 4: Vad händer när anslutningen är upprättad?

När anslutningen är upprättad blir ESP32 en del av ditt lokala nätverk. Det gör det möjligt att kommunicera med andra enheter i nätverket, skicka data till molnet eller driva webbservrar.


Slutsats

I den här lektionen har vi gått igenom grunderna i WiFi-anslutning för IoT-enheter och anslutit ESP32 till ett lokalt nätverk. Det är ett viktigt steg i alla IoT-projekt eftersom det möjliggör kommunikation med internet och andra nätverksanslutna enheter.

Genom att behärska WiFi-anslutning har du fått tillgång till en kraftfull ESP32-funktion som öppnar för fjärrövervakning, dataöverföring och interaktiva webbtillämpningar. Bra jobbat!

Om mätningarna: Stationen i den här serien mäter temperatur och relativ luftfuktighet med AHT10. Det är mätningar av inomhusklimatet, inte direkta mätningar av CO2, VOC eller partiklar. Seriens benämning ”luftkvalitetsövervakning” ska förstås med denna begränsning.

Steg 5: Starta din första webbserver

Ersätt din sketch med det här kompletta exemplet och ange ditt eget nätverksnamn och lösenord. WebServer ingår i Arduino-kärnan för ESP32. WiFi-delen upprepar inställningen ovan; server.on() kopplar startsidan till ett svar, server.begin() startar servern och server.handleClient() måste anropas löpande.

#include <WiFi.h>
#include <WebServer.h>

const char* ssid = "Your_SSID";
const char* password = "Your_Password";
WebServer server(80);

void setup() {
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println();
  Serial.println(WiFi.localIP());
  server.on("/", []() {
    server.send(200, "text/html; charset=utf-8",
                "<!doctype html><html><body><h1>Hello from ESP32!</h1></body></html>");
  });
  server.begin();
}

void loop() {
  server.handleClient();
  delay(2);
}

Ladda upp, öppna Serial Monitor vid 115200 baud och hitta IP-adressen. Öppna http:// följt av den visade IP-adressen i en webbläsare på samma lokala nätverk, till exempel http://192.168.1.50/. Sidan ska visa ”Hello from ESP32!”. Internetåtkomst behövs inte för det här lokala testet. Om sidan inte öppnas ska du kontrollera nätverket, IP-adressen och eventuell klientisolering i gästnätverk.

Det här enkla HTTP-exemplet saknar inloggning och kryptering och är avsett för ditt lokala testnätverk. Vidarebefordra inte porten till internet. I avsnitt 16 ersätter vi den fasta hälsningen med temperatur- och luftfuktighetsdata.

API kontrollerat mot Espressifs officiella HelloServer-exempel.

Lämna en kommentar

Observera att kommentarer måste godkännas innan de publiceras.