Tryby WIFI ESP32
Esp32 WiFi można użyć w trzy różne tryby. 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) |
Stacja Wi -Fi
Używanie ESP32 jako stacji Wi -Fi pozwala używać go jak router Wi -Fi w domu. Gdy ESP32 jest podłączony do sieci za pomocą routera Wi -Fi, router przypisuje unikalny adres IP na płytę ESP32. Aby wymienić informacje z innym sprzętem podłączonym do tego samego routera, musimy wywołać ich unikalny adres IP w kodzie ESP32.
Po podłączeniu routera z płytą ESP32 ma to samo połączenie internetowe jak inne urządzenia. Korzystając z Internetu, możemy przesyłać dane do serwera lub kontrolować inne urządzenia podłączone do tego samego routera Wi -Fi. Możemy również odczytać dane z interfejsów API, takie jak dane pogodowe, a także publikować obrazy danych lub ikony na serwerach internetowych.
Połącz ESP32 jako stacja Wi -Fi
Aby podłączyć płytę ESP32 jako stactwo Wi-Fi Pierwszą rzeczą, którą musimy zrobić, jest ustawienie trybu Wi-Fi za pomocą wspomnianego polecenia:
Wifi.tryb (wifi_sta)
Jeśli ESP32 jest podłączony do dowolnej innej sieci, aby sieć była w trybie stacji, aby użyć jej z ESP32.
Następnie za pomocą Wifi.zaczynać() funkcja i przekazując sieć SSID i hasło jako jego argument, możemy połączyć się z dowolną siecią. Poniżej znajduje się składnia płyty ESP32 do łączenia się z siecią Wi-Fi w trybie stacji:
Wifi.Rozpocznij (hasło SSID)
Po ustaleniu połączenia pojawi się następujące wyjście:
While (WiFi.status() != Wl_connected)
Punkt dostępu
Gdy ESP32 jest w trybie punktu dostępu, każde urządzenie posiadające Wi -Fi można do niego podłączyć, tak jak konwencjonalny router. Może również dostarczać urządzeniom połączenie internetowe i możemy zbudować wokół niego własną sieć Wi-Fi. W trybie punktu dostępu możemy kontrolować urządzenia niezależnie od posiadania oddzielnego routera Wi-Fi.
Punkt dostępu ESP32 nie jest jak normalny router Wi-Fi, ponieważ tylko opcja łączności jest bezprzewodowa. ESP32 nie obsługuje połączenia przewodowego dla Internetu jak normalny router, więc nazywa się on Soft AP (Miękki punkt dostępu).
Podłącz ESP32 jako punkt dostępu
Najpierw zdefiniuj tryb Wi -Fi jako punkt dostępu za pomocą podanego polecenia:
Wifi.tryb (wifi_ap)
Następnie za pomocą softap () Funkcja podaje SSID nazwę sieci ESP32 i hasło, które inne urządzenia potrzebowały połączyć się z ESP32. Oba są przekazywane jako argumenty funkcji softap (). W przypadku, gdy nie jest potrzebne hasło, ustaw je na zero.
Wifi.softap (ssid, hasło);
Istnieją kilka opcjonalnych parametrów, które możemy również przekazać softap () funkcjonować.
Wifi.softap (const char* ssid, const char* hasło, int kanał, int ssid_hidden, int max_connection)
Stacja + punkt dostępu
Aby ustawić ESP32 jako stację Wi-Fi i punkt dostępu, postępuj zgodnie z podanym poleceniem poniżej:
Wifi.tryb (wifi_ap_sta)
Zeskanuj sieć Wi -Fi
Aby skanować w poszukiwaniu pobliskich połączeń Wi-Fi, będziemy używać przykładu skanowania Wi-Fi ESP32, aby upewnić się, że płyta ESP32 jest zainstalowana w Arduino IDE. Aby przeczytać o instalacji ESP32 w Arduino IDE, kliknij tutaj.
Iść do: Pliki> Przykłady> WIFI> skanowanie Wi -Fi:
Następujący kod zostanie otwarty w nowym oknie. Wybierz port COM ESP32 i prześlij kod:
#include "wifi.H"
void Setup ()
Seryjny.rozpocząć (115200);
// Ustaw esp32 Wi -Fi na tryb stacji
Wifi.tryb (wifi_sta);
Wifi.rozłączyć się();
opóźnienie (100);
Seryjny.println („konfiguracja dokonana”);
Void Loop ()
Seryjny.println („skanowanie start”);
// wifi.Scannetworks da całkowitą znalezione sieci WiFi
int n = wifi.ScannetWorks ();
Seryjny.println („skanowanie zrobione”);
if (n == 0)
Seryjny.println („brak sieci”);
w przeciwnym razie
Seryjny.druk (n);
Seryjny.println („Sieci znalezione”);
dla (int i = 0; i < n; ++i)
// Wydrukuj nazwę SSID i siłę sygnału
Seryjny.wydrukować (i + 1);
Seryjny.print („:”);
Seryjny.Drukuj (Wi -Fi.Ssid (i));
Seryjny.print („(”);
Seryjny.Drukuj (Wi -Fi.Rssi (i));
Seryjny.wydrukować(")");
Seryjny.println ((wifi.Szyfrowanie (i) == wifi_auth_open)?„”: „*”);
opóźnienie (10);
Seryjny.println („”);
// Opóźnienie na 5 sekund
opóźnienie (5000);
Tutaj w powyższym kodzie Wifi.ScannetWorks () Zwróci całkowitą dostępną sieć w zakresie płyt ESP32.
Po skanowaniu wszystkich sieci możemy uzyskać dostęp do ich SSID za pomocą poniższego polecenia:
Seryjny.Drukuj (Wi -Fi.Ssid (i));
Wifi.RSSI () Funkcja da nam RSSI (wskaźnik wytrzymałości sygnału) sieci sieci. Jest to szacowany poziom mocy lub siła sygnału, którą ESP32 odbiera z punktu dostępu.
Wyjście
Po wydrukowaniu na monitorze szeregowym wyświetlającym nas wszystkie dostępne sieci, które zeskanowała płyta ESP32:
Połącz się z siecią Wi-Fi
Aby połączyć ESP32 z siecią Wi-Fi, musimy znać SSID i jego hasło. Dodatkowo sieć, którą należy podłączyć, musi wejść do zakresu ESP32. Aby sprawdzić, czy określony Wi-Fi znajduje się w zakresie ESP32, czy nie uruchom przykładowego skanowania podanego powyżej.
Prześlij poniższy kod, aby podłączyć płytę ESP32 do sieci Wi-Fi:
#włączać
const char* ssid = "twoja nazwa SSID";
const char* hasło = "ssid hasło";
void setup ()
Seryjny.rozpocząć (115200);
opóźnienie (1000);
Wifi.tryb (wifi_sta);
Wifi.początek (SSID, hasło);
Seryjny.println („\ nconnecting”);
While (WiFi.status() != Wl_connected)
Seryjny.wydrukować(".");
opóźnienie (100);
Seryjny.println („\ nconnected to the WIFI Network”);
Seryjny.print („lokalny esp32 ip:”);
Seryjny.println (wifi.localIP ());
void Loop ()
Kod zaczyna się od włączenia Wifi.H biblioteka. Następnie wprowadzamy sieci SSID i hasło, z którymi chcemy się połączyć. Następny ESP32 jest umieszczony w trybie stacji, który jest opcjonalny, można zignorować, ponieważ domyślnie ESP32 jest w trybie stacji.
Następnie za pomocą Wifi.początek (SSID, hasło); Funkcja ESP32 będzie wyszukiwać zdefiniowaną sieć i spróbuje połączyć. Po podłączeniu ESP32 adres IP sieci zostanie wyświetlony na monitorze szeregowym:
Uzyskaj informacje o sieci Wi-Fi
Aby sprawdzić szczegółowe informacje na temat sieci Wi-Fi, do której zastosowana zostanie płyta ESP32, następującym kodem:
#włączać
const char* ssid = "twoja nazwa SSID";
const char* hasło = "ssid hasło";
void get_network_info ()
if (wifi.status () == wl_connected)
Seryjny.print („ESP32 podłączony do”);
Seryjny.println (ssid);
Seryjny.println („BSSID:” + wifi.Bssidstr ());
Seryjny.print („Gateway IP:”);
Seryjny.println (wifi.gatewayip ());
Seryjny.print („Maska podsieci:”);
Seryjny.println (wifi.maska podsieci());
Seryjny.println ((string) „rssi:” + wifi.Rssi () + „db”);
Seryjny.print („ESP32 IP:”);
Seryjny.println (wifi.localIP ());
void setup ()
Seryjny.rozpocząć (115200);
opóźnienie (1000);
Wifi.początek (SSID, hasło);
Seryjny.println („\ nconnecting”);
While (WiFi.status() != Wl_connected)
Seryjny.wydrukować(".");
opóźnienie (100);
Seryjny.println („\ nconnected to the WIFI Network”);
get_network_info ();
void Loop ()
Wyjście poda następujące informacje związane z ESP32 podłączoną siecią Wi-Fi:
Wszystkie te wyniki można zobaczyć na monitorze szeregowym:
Wniosek
ESP32 to tablica mikrokontrolera, która jest wyposażona w obsługę Wi-Fi i podwójną obsługą Bluetooth. W tym artykule podkreślono główne funkcje używane do kontrolowania Wi-Fi ESP32. Płyta ESP32 może działać w trzech trybach Wi-Fi i może być połączona z dowolną siecią, znając SSID i hasło sieci. Ten zapis pomoże w kontrolowaniu Wi-Fi ESP32 za pomocą Arduino IDE.