Hvordan sette et esptop 10 tilgangspunkt ved hjelp av Arduino IDE

Hvordan sette et esptop 10 tilgangspunkt ved hjelp av Arduino IDE

ESP32-brett har en innebygd Wi-Fi-modul som åpner døren for ubegrensede tilkoblingsalternativer. ESP32 kan kobles til et hvilket som helst tilgangspunkt som en ruter eller kan fungere som et hotspot og gi et tilgangspunkt til andre enheter. Her vil vi sette opp ESP32 i Access Point -modus og koble den til andre enheter.

ESP32 WiFi -modus

Før vi går videre, må vi ha kunnskap om esp32 wifi arbeidsmodus. Esp32 wifi kan brukes i tre forskjellige moduser.

  • Stasjon
  • Tilgangspunkt
  • Stasjon + tilgangspunkt

Følgende modus kan kalles ved hjelp av Wifi.modus() funksjon ved å definere ønsket modus i argumentet til denne funksjonen.

WiFi -modus Funksjon
Stasjon Wifi.Mode (wifi_sta)
Tilgangspunkt Wifi.modus (wifi_ap)
Stasjon + tilgangspunkt Wifi.modus (wifi_sta_ap)

I de fleste av situasjonene fungerer ESP32 i Stasjon modus. I løpet av denne modusen er ESP32 koblet til WiFi for et hvilket som helst tilgangspunkt som ruteren. Følgende bilde viser ESP32 i stasjonsmodus koblet til ruteren som er et tilgangspunkt.

Men vi kan også bruke ESP32 WiFi til å fungere som hotspots for andre enheter. Kort sagt ved hjelp av Wifi.modus (wifi_ap) Kommando vil vi bruke ESP32 som en Adgang punkt hvor det vil lage sitt eget wifi -nettverk. Nå kan enhver enhet med WiFi -funksjoner koble seg til den.

Det gitte bildet nedenfor demonstrerer arbeidet med ESP32 som et tilgangspunkt for andre enheter.

Ettersom ESP32 -styret ikke har kablet nettverksevne, støtter det bare trådløse nettverk, så vi kalte dette tilgangspunktet som Myk-ap (Myk tilgangspunkt).

Siste modus for wifi for ESP32 -styret er begge deler Adgang og Stasjonspunkt. Her vil ESP32-styret være koblet til en annen ruter og vil fungere som en stasjon mens det også annonserer hotspot til andre enheter, slik at de kan koble seg til ESP32 Wi-Fi.

Bilde gitt nedenfor fremhever strukturen til ESP32 -brettet som jobber i både stasjon og tilgangspunkt.

Hvordan koble til ESP32 -brettet som et tilgangspunkt

Koble til ESP32 -kortet med PC og Open Arduino IDE. Velg riktig brett og COM -port. Åpne IDE -redaktøren og skriv gitt kode. Denne koden vil aktivere ESP32 WiFi som vil fungere i adgang punkt modus.

Koble nå en LED til GPIO PIN 25. Vi vil kontrollere denne LED ved hjelp av en webserver designet på IP -adressen til ESP32 -tavlen. En wifi -enhet som en PC eller smarttelefon vil være koblet til WiFi til ESP32 og kontroll -LED ved hjelp av webserveren.

ESP32 tilgangspunktkode

Last nå opp koden gitt nedenfor til ESP32 -styret:

#include /*wifi -bibliotek inkludert* /
const char* ssid = "esp32"; /*Ssid definert for ap*/
const char* passord = "123456789"; /*Passord definert, fjernet for et åpent nettverk*/
Wifisererver Server (80); /*Webserverport 80*/
Strenghode; /*Variable lagrer HTTP -forespørsel*/
String outputgpio25 = "off"; /*Variabel for å lagre gjeldende utgang*/
const int output_25 = 25; /*GPIO PIN 25 tildelt variabel*/
void setup ()
Serie.Begin (115200);
pinmode (output_25, output); /*variabel initialiser for utgang*/
digitalwrite (output_25, lav); /*Utgangssett til lav*/
Serie.print ("Setting AP (Access Point) ...");
Wifi.softap (SSID, passord); /*ESP32 WiFi Sett i tilgangspunktmodus*/
IpAddress IP = wifi.softapip (); /*IP -adresse er initialisert*/
Serie.print ("ap ip -adresse:");
Serie.println (ip); /*Skriv ut IP -adresse*/
server.begynne();

void loop ()
WIFICLIENT -klient = server.tilgjengelig(); /*Sjekk for kundenes forespørsel*/
if (klient) /*tilstand for å se etter ny klient* /
Serie.Println ("Ny klient.");
String currentLine = ""; /*streng for å holde data*/
mens (klient.tilkoblet ()) /*loop for klientforbindelseskontroll* /
hvis (klient.tilgjengelig ()) /*Les hvis data tilgjengelig* /
char c = klient.lese();
Serie.skriv (c);
header += c;
if (c == '\ n') /*hvis byte er newline -tegn* /
/*I tilfelle hvis gjeldende linje er tomt, vil to nye linjetegn være tilgjengelige*/
/*Slutt på klienten HTTP -forespørsel*/
hvis (CurrentLine.lengde () == 0)
/* Http Start med en svarskode HTTP/1.1 200 OK */
/* og innholdstype så klienten vet hva som kommer, deretter en tom linje:*/
klient.println ("http/1.1 200 OK ");
klient.println ("innholdstype: tekst/html");
klient.println ("tilkobling: lukk");
klient.println ();
/*vender GPIOS 25 av og på*/
hvis (header.indexof ("Get /25 /on")> = 0)
Serie.Println ("GPIO 25 ON");
Outputgpio25 = "på";
digitalwrite (output_25, høy);
annet hvis (header.indexof ("Get /25 /off")> = 0)
Serie.Println ("GPIO 25 OFF");
Outputgpio25 = "off";
digitalwrite (output_25, lav);

/*HTML -kode for server*/
klient.println ("");
klient.println ("");
klient.println ("");
/*inkludert CSS for å tilpasse knappen*/
klient.println ("html bakgrunnsfarge: #c4ccc8; font-family: fantasy; display: inline-block; margin: 0px auto; text-align: center;");
klient.Println (".knapp bakgrunnsfarge: #000000; Display: Inline-block; Border-Radius: 30px; grense: 2px solid grå; Farge: Hvit; polstring: 16px 40px; ");
klient.Println ("Tekstdekorasjon: ingen; fontstørrelse: 30px; margin: 2px; markør: peker;");
klient.Println (".Button2 bakgrunnsfarge: #F70D05; ");
/*Websideoverskrifter*/
klient.Println ("

Webserver ESP32

");
klient.Println ("

Linuxhint.com

");
// Vis gjeldende tilstand, og av/på -knapper for GPIO 25
klient.Println ("

GPIO 25 LED " + outputgpio25 +"

");
// Hvis outputgpio25 er av, viser den ON -knappen
if (outputgpio25 == "off")
klient.Println ("

/25/på ">