Jak ustawić punkt dostępu ESPTOP 10 za pomocą Arduino IDE

Jak ustawić punkt dostępu ESPTOP 10 za pomocą Arduino IDE

Płytki ESP32 mają wbudowany moduł Wi-Fi, który otwiera drzwi do nieograniczonej liczby opcji łączności. ESP32 może być podłączony do dowolnego punktu dostępu, takiego jak router lub może działać jako hotspot i zapewnić punkt dostępu do innych urządzeń. Tutaj skonfigurujemy ESP32 w trybie punktu dostępu i podłączymy go z innymi urządzeniami.

Tryby WIFI ESP32

Zanim pójdziemy naprzód, musimy mieć wiedzę na temat trybów pracy ESP32 WIFI. Esp32 WiFi można użyć w trzy różne tryby.

  • Stacja
  • Punkt dostępu
  • Stacja + punkt dostępu

Następujące tryby można wywołać za pomocą Wifi.tryb() funkcja poprzez definiowanie pożądanego trybu w argumencie tej funkcji.

Tryb WiFi Funkcjonować
Stacja Wifi.tryb (wifi_sta)
Punkt dostępu Wifi.tryb (wifi_ap)
Stacja + punkt dostępu Wifi.tryb (wifi_sta_ap)

W większości sytuacji ESP32 działa Stacja tryb. W tym trybie ESP32 jest podłączony do Wi -Fi dowolnego punktu dostępu, takiego jak router. Następujący obraz pokazuje ESP32 w trybie stacji podłączony do routera, który jest punktem dostępu.

Ale możemy również użyć WIFI ESP32 do pracy jako hotspoty dla innych urządzeń. Krótko mówiąc Wifi.tryb (wifi_ap) polecenie będziemy używać ESP32 jako Dostęp punkt gdzie stworzy własną sieć Wi -Fi. Teraz każde urządzenie z możliwościami Wi -Fi może się z nim połączyć.

Poniższy obraz pokazuje działanie ESP32 jako punkt dostępu dla innych urządzeń.

Ponieważ płyta ESP32 nie ma możliwości sieciowej, obsługuje tylko sieci bezprzewodowe, więc nazwaliśmy ten punkt dostępu jako Soft-AP (Miękki punkt dostępu).

Ostatni tryb Wi -Fi dla płyty ESP32 to jedno i drugie Dostęp I Punkt stacji. Tutaj płyta ESP32 będzie podłączona do innego routera i będzie działać jako stacja, podczas gdy reklamuje swój hotspot z innymi urządzeniami, aby mogły połączyć się z ESP32 Wi-Fi.

Zdjęcie podane poniżej podkreśla strukturę płyty ESP32 działającej zarówno w stacji, jak i punkcie dostępu.

Jak podłączyć płytę ESP32 jako punkt dostępu

Podłącz płytę ESP32 z komputerem i otwórz Arduino IDE. Wybierz prawą płytę i port COM. Otwórz edytor IDE i zapisz podany kod. Ten kod włączy WIFI ESP32, które będą działać dostęp punkt tryb.

Teraz podłącz LED do pin GPIO 25. Będziemy kontrolować tę diodę LED za pomocą serwera WWW zaprojektowanego na adresie IP płyty ESP32. Urządzenie Wi -Fi, takie jak komputer lub smartfon, zostanie podłączone do Wi -Fi ESP32 i sterowania LED za pomocą serwera WWW.

Kod punktu dostępu ESP32

Teraz prześlij kod podany poniżej na płytę ESP32:

#include /*biblioteka wifi zawiera* /
const char* ssid = "esp32"; /*Ssid zdefiniowany dla ap*/
const char* hasło = "123456789"; /*Zdefiniowane hasło, usunięte dla otwartej sieci*/
WiFiserver Server (80); /*Port serwera WWW 80*/
Nagłówek sznurka; /*zmienna przechowuje żądanie HTTP*/
String outputgpio25 = "off"; /*zmienna do przechowywania bieżącego wyjścia*/
const int output_25 = 25; /*Pin GPIO 25 przypisany do zmiennej*/
void setup ()
Seryjny.rozpocząć (115200);
pinmode (output_25, wyjście); /*Zmienna inicjalizuj dla wyjścia*/
DigitalWrite (Output_25, niski); /*Wyjście ustawione na niski*/
Seryjny.print („Ustawienie AP (punkt dostępu)…”);
Wifi.softap (ssid, hasło); /*ESP32 WIFI ustawione w trybie punktu dostępu*/
Ipaddress ip = wifi.softapip (); /*Adres IP jest inicjowany*/
Seryjny.print („AP adres IP:”);
Seryjny.println (ip); /*Wydrukuj adres IP*/
serwer.zaczynać();

void Loop ()
WIFFLENT CLIENT = SERWER.dostępny(); /*Sprawdź żądanie klientów*/
if (klient) /*warunek sprawdzania nowego klienta* /
Seryjny.println („nowy klient.");
String currentline = ""; /*ciąg do przechowywania danych*/
While (klient.Connected ()) /*pętla do sprawdzania połączenia klienta* /
if (klient.Dostępne ()) /*odczyt, jeśli dostępne dane* /
char c = klient.Czytać();
Seryjny.Napisz (c);
nagłówek += c;
if (c == '\ n') /*jeśli bajt jest nowym znakiem* /
/*W przypadku, gdy bieżąca linia jest pusta, dostępne będą dwa nowe znaki linii*/
/*koniec żądania HTTP klienta*/
if (CurrentLine.długość () == 0)
/* HTTP Zacznij od kodu odpowiedzi HTTP/1.1 200 OK */
/* i typ treści, więc klient wie, co nadchodzi, a potem pusta linia:*/
klient.println ("http/1.1 200 OK ”);
klient.println („Content-Type: Text/html”);
klient.println („Connection: Close”);
klient.println ();
/*Włącza gpios 25 na i wyłączają*/
if (nagłówek.indexof ("get /25 /on")> = 0)
Seryjny.println („GPIO 25 on”);
Outputgpio25 = "on";
DigitalWrite (Output_25, High);
else if (nagłówek.indexof („get /25 /off”)> = 0)
Seryjny.println („GPIO 25 OFF”);
OutputgPIO25 = "off";
DigitalWrite (Output_25, niski);

/*Kod HTML dla serwera*/
klient.println („”);
klient.println („”);
klient.println („”);
/*w tym CSS do dostosowania przycisku*/
klient.println ("html color w tle: #c4cccc8; Font-Family: Fantasy; Display: Inline-block; margin: 0px auto; text-align: Center;");
klient.println (".przycisk kolor tła: #000000; Wyświetlacz: Block Inline; RADIUS ODZIENNY: 30px; granica: 2px stały szary; kolor biały; Wyściółka: 16px 40px; ”);
klient.println („Dekoracja tekstowa: brak; rozmiar czcionki: 30px; margin: 2px; kursor: wskaźnik;”);
klient.println (".button2 kolor tła: #f70d05; ");
/*Nagłówki strony internetowej*/
klient.println ("

Serwer WWW ESP32

");
klient.println ("

Linuxhint.com

");
// Wyświetl bieżący stan i przyciski włączania/wyłączania dla GPIO 25
klient.println ("

GPIO 25 LED „ + wyjściowegpio25 +”

");
// Jeśli wyjście GPIO25 jest wyłączone, wyświetla przycisk ON
if (outputgpio25 == „off”)
klient.println ("

/25/on ">