Modalità WiFi ESP32
ESP32 WiFi può essere usato in tre modalità diverse. Le seguenti modalità possono essere chiamate usando il Wifi.modalità() funzione definendo la modalità desiderata all'interno dell'argomento di questa funzione.
Modalità WiFi | Funzione |
Stazione | Wifi.modalità (wifi_sta) |
Punto di accesso | Wifi.modalità (wifi_ap) |
Station + Access Point | Wifi.modalità (wifi_sta_ap) |
Stazione wifi
L'uso di ESP32 come stazione WiFi ti consente di usarlo come un router WiFi a casa. Quando ESP32 è collegato a una rete utilizzando un router WiFi, il router assegna un indirizzo IP univoco alla scheda ESP32. Per scambiare informazioni con altri hardware connessi allo stesso router dobbiamo chiamare il loro indirizzo IP univoco nel codice ESP32.
Una volta che il router è connesso alla scheda ESP32, ha la stessa connessione Internet di altri dispositivi. Utilizzando Internet, possiamo caricare dati sul server o controllare altri dispositivi connessi allo stesso router WiFi. Possiamo anche leggere i dati da API come i dati meteorologici e possiamo anche pubblicare immagini o icone di dati su server Web.
Connetti ESP32 come stazione wifi
Per collegare la scheda ESP32 come una stazione Wi-Fi la prima cosa che dobbiamo fare è impostare la modalità WiFi usando il comando menzionato:
Wifi.modalità (wifi_sta)
Se ESP32 è collegato a qualsiasi altra rete in modo che la rete sia in modalità stazione per utilizzarla con ESP32.
Poi usando Wifi.inizio() funzione e passando la rete SSID e password come argomento possiamo connetterci a qualsiasi rete. Di seguito è riportata la sintassi per la scheda ESP32 per la connessione a una rete Wi-Fi in modalità stazione:
Wifi.Inizia (password SSID)
Quando viene stabilita la connessione, verrà visualizzato il seguente output:
mentre (wifi.stato() != Wl_connected)
Punto di accesso
Quando ESP32 è in modalità punto di accesso qualsiasi dispositivo con WiFi può essere collegato ad esso come un router convenzionale. Può anche fornire dispositivi con una connessione Internet e possiamo costruire la nostra rete Wi-Fi attorno ad essa. Nella modalità punto di accesso possiamo controllare i dispositivi indipendentemente dall'avere un router Wi-Fi separato.
Il punto di accesso ESP32 non è come il normale router Wi-Fi perché è solo l'opzione di connettività. ESP32 non supporta la connessione filo per Internet come un normale router, quindi si chiama A Soft Ap (Punto di accesso morbido).
Connetti ESP32 come punto di accesso
Definire prima la modalità WiFi come punto di accesso usando il comando indicato:
Wifi.modalità (wifi_ap)
Quindi usando il sofAP () La funzione fornisce un nome SSID alla rete e alla password ESP32 che altri dispositivi necessari per connettersi a ESP32. Entrambi questi sono passati come argomenti alla funzione softap (). Nel caso in cui non sia necessaria una password, impostalo su Nill.
Wifi.SoftAP (SSID, password);
Ci sono alcuni parametri opzionali che possiamo anche passare al sofAP () funzione.
Wifi.softap (const char* ssid, const char* password, int canale, int ssid_hidden, int max_connection)
Station + Access Point
Per impostare ESP32 come stazione Wi-Fi e punto di accesso segui il comando indicato di seguito:
Wifi.modalità (wifi_ap_sta)
Scansiona una rete WiFi
Per scansionare le connessioni Wi-Fi vicine, utilizzeremo un esempio di scansione Wi-Fi ESP32 per assicurarsi che la scheda ESP32 sia installata in Arduino IDE. Per leggere l'installazione di ESP32 in Arduino IDE Clicca qui.
Vai a: File> Esempi> WiFi> Scansione WiFi:
Il seguente codice si aprirà in una nuova finestra. Seleziona la porta COM di ESP32 e carica il codice:
#include "wifi.H"
void setup ()
Seriale.Inizia (115200);
// Imposta ESP32 WiFi in modalità stazione
Wifi.modalità (wifi_sta);
Wifi.disconnect ();
ritardo (100);
Seriale.println ("configurazione fatta");
void loop ()
Seriale.println ("scan start");
// Wifi.scannetworks fornirà reti wifi totali trovate
int n = wifi.scannetworks ();
Seriale.println ("scan fad");
if (n == 0)
Seriale.println ("nessuna reti trovata");
altro
Seriale.stampa (n);
Seriale.println ("reti trovate");
per (int i = 0; i < n; ++i)
// stampa il nome SSID e la potenza del segnale
Seriale.stampa (i + 1);
Seriale.stampa(": ");
Seriale.Stampa (wifi.Ssid (i));
Seriale.stampa(" (");
Seriale.Stampa (wifi.Rssi (i));
Seriale.stampa(")");
Seriale.println ((wifi.criptiontype (i) == wifi_auth_open)?"": "*");
ritardo (10);
Seriale.println ("");
// ritardo per 5 sec
ritardo (5000);
Qui nel codice sopra Wifi.scannetworks () restituirà la rete totale disponibile all'interno della gamma di schede ESP32.
Una volta scansionate tutte le reti, possiamo accedere al loro SSID utilizzando il comando seguente:
Seriale.Stampa (wifi.Ssid (i));
IL Wifi.RSSI () La funzione ci darà l'RSSI (indicatore di resistenza al segnale ricevuto) di una rete. È un livello di potenza stimato o una potenza del segnale che un ESP32 sta ricevendo da un punto di accesso.
Produzione
Il seguente output è stampato sul monitor seriale che mostra tutte le reti disponibili che la scheda ESP32 ha scansionato:
Connettiti a una rete Wi-Fi
Per collegare ESP32 con una rete Wi-Fi dobbiamo conoscere l'SSID e la sua password. Inoltre, la rete che deve essere collegata deve entrare nella gamma di ESP32. Per vedere se un determinato Wi-Fi rientra nell'intervallo ESP32 o non esegui la scansione di esempio sopra indicata.
Carica il codice seguente per collegare la scheda ESP32 alla rete Wi-Fi:
#includere
const char* ssid = "il tuo nome ssid";
const char* password = "SSID password";
void setup ()
Seriale.Inizia (115200);
ritardo (1000);
Wifi.modalità (wifi_sta);
Wifi.inizio (SSID, password);
Seriale.println ("\ nconnecting");
mentre (wifi.stato() != Wl_connected)
Seriale.stampa(".");
ritardo (100);
Seriale.println ("\ nconnected alla rete wifi");
Seriale.print ("locale ESP32 IP:");
Seriale.println (wifi.localip ());
void loop ()
Il codice inizia includendo il file Wifi.H biblioteca. Quindi inseriamo la rete SSID e la password a cui vogliamo connetterci. Il prossimo ESP32 viene messo in modalità stazione che è facoltativo che si può ignorare perché ESP32 per impostazione predefinita arriva in modalità stazione.
Poi usando il Wifi.inizio (SSID, password); funzione ESP32 cercherà la rete definita e proverà a connettersi. Una volta collegato ESP32, l'indirizzo IP della rete verrà visualizzato sul monitor seriale:
Ottieni informazioni sulla rete Wi-Fi
Per verificare i dettagli della rete Wi-Fi a cui verrà utilizzato la scheda ESP32 seguendo il seguente codice:
#includere
const char* ssid = "il tuo nome ssid";
const char* password = "SSID password";
void get_network_info ()
if (wifi.status () == wl_connected)
Seriale.print ("ESP32 connesso a");
Seriale.println (SSID);
Seriale.println ("bssid:" + wifi.Bssidstr ());
Seriale.print ("gateway ip:");
Seriale.println (wifi.gateWayip ());
Seriale.print ("maschera sottorete:");
Seriale.println (wifi.Maschera di sottorete());
Seriale.println ((string) "rssi:" + wifi.Rssi () + "db");
Seriale.print ("ESP32 IP:");
Seriale.println (wifi.localip ());
void setup ()
Seriale.Inizia (115200);
ritardo (1000);
Wifi.inizio (SSID, password);
Seriale.println ("\ nconnecting");
mentre (wifi.stato() != Wl_connected)
Seriale.stampa(".");
ritardo (100);
Seriale.println ("\ nconnected alla rete wifi");
get_network_info ();
void loop ()
L'output ci fornirà le seguenti informazioni relative alla rete Wi-Fi connessa ESP32:
Tutti questi risultati possono essere visti sul monitor seriale:
Conclusione
ESP32 è una scheda microcontrollore fornita con Wi-Fi e Dual Bluetooth Support. Questo articolo evidenzia le principali funzioni utilizzate per controllare Wi-Fi di ESP32. La scheda ESP32 può funzionare in tre modalità di Wi-Fi e può essere connessa con qualsiasi rete mentre conosci l'SSID e la password della rete. Questo articolo assisterà a controllare ESP32 Wi-Fi usando Arduino IDE.