Come impostare un punto di accesso ESPTOP 10 utilizzando Arduino IDE

Come impostare un punto di accesso ESPTOP 10 utilizzando Arduino IDE

Le schede ESP32 hanno un modulo Wi-Fi integrato che apre la porta a opzioni di connettività illimitate. ESP32 può essere collegato a qualsiasi punto di accesso come un router o può fungere da hotspot e fornire un punto di accesso ad altri dispositivi. Qui imposteremo ESP32 in modalità Access Point e lo collegheremo con altri dispositivi.

Modalità WiFi ESP32

Prima di andare avanti, dobbiamo conoscere le modalità di lavoro WiFi ESP32. ESP32 WiFi può essere usato in tre modalità diverse.

  • Stazione
  • Punto di accesso
  • Station + Access Point

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)

Nella maggior parte delle situazioni ESP32 funziona Stazione modalità. Durante questa modalità ESP32 è collegato al WiFi di qualsiasi punto di accesso come il router. La seguente immagine mostra ESP32 in modalità stazione collegata al router che è un punto di accesso.

Ma possiamo anche usare ESP32 WiFi per lavorare come hotspot per altri dispositivi. In breve usando il Wifi.modalità (wifi_ap) comando useremo ESP32 come un Accesso punto dove creerà una propria rete wifi. Ora qualsiasi dispositivo con funzionalità WiFi può connettersi ad esso.

L'immagine indicata di seguito dimostra il funzionamento di ESP32 come punto di accesso per altri dispositivi.

Poiché la scheda ESP32 non ha la capacità di rete cablata, supporta solo reti wireless, quindi abbiamo chiamato questo punto di accesso come Soft-ap (Punto di accesso morbido).

L'ultima modalità WiFi per la scheda ESP32 è entrambi Accesso E Punto di stazione. Qui la scheda ESP32 sarà collegata ad un altro router e fungerà da stazione mentre pubblicizza anche il suo hotspot ad altri dispositivi in ​​modo che possano connettersi a ESP32 Wi-Fi.

Immagine indicata di seguito evidenzia la struttura della scheda ESP32 che funziona sia nella stazione che nel punto di accesso.

Come collegare la scheda ESP32 come punto di accesso

Connetti la scheda ESP32 con PC e Apri Arduino IDE. Seleziona la scheda giusta e la porta com. Apri l'editor IDE e scrivi il codice fornito. Questo codice abiliterà ESP32 WiFi che funzionerà accesso punto modalità.

Ora collega un LED a GPIO PIN 25. Controlleremo questo LED utilizzando un server Web progettato sull'indirizzo IP della scheda ESP32. Un dispositivo WiFi come un PC o uno smartphone sarà collegato al WiFi di ESP32 e LED di controllo utilizzando il Web Server.

ESP32 Codice del punto di accesso

Ora carica il codice indicato di seguito alla scheda ESP32:

#include /*libreria wifi inclusa* /
const char* ssid = "ESP32"; /*SSID definito per ap*/
const char* password = "123456789"; /*Password definita, rimossa per una rete aperta*/
Wifiserver Server (80); /*Porta del server Web 80*/
Intestazione a corda; /*Schema variabile HTTP Richiesta*/
String outputGPIO25 = "Off"; /*variabile per archiviare l'output di corrente*/
const int output_25 = 25; /*Pin GPIO 25 assegnato alla variabile*/
void setup ()
Seriale.Inizia (115200);
pinMode (output_25, output); /*Variabile inizializza per output*/
DigitalWrite (output_25, basso); /*Output impostato su basso*/
Seriale.print ("Impostazione AP (punto di accesso) ...");
Wifi.SoftAP (SSID, password); /*ESP32 WiFi Impostato in modalità punto di accesso*/
IPAddress IP = WiFi.Softapip (); /*L'indirizzo IP è inizializzato*/
Seriale.print ("AP Indirizzo IP:");
Seriale.println (IP); /*Stampa indirizzo ip*/
server.inizio();

void loop ()
Wificlient client = server.disponibile(); /*Controlla la richiesta dei client*/
if (client) /*condizione per verificare il nuovo client* /
Seriale.println ("nuovo client.");
Stringa currentline = ""; /*stringa per tenere i dati*/
mentre (cliente.connesso ()) /*loop per controllo connessione client* /
if (client.disponibile ()) /*leggi se i dati disponibili* /
char c = client.Leggere();
Seriale.scrivere (c);
header += c;
if (c == '\ n') /*if byte è carattere newline* /
/*Nel caso in cui la riga corrente sia vuota, saranno disponibili due nuovi caratteri di riga*/
/*fine client http richiesta*/
if (CurrentLine.lunghezza () == 0)
/* Http inizia con un codice di risposta http/1.1 200 OK */
/* e tipo contenuto Quindi il client sa cosa sta succedendo, quindi una riga vuota:*/
cliente.println ("http/1.1 200 OK ");
cliente.println ("contenuti-type: text/html");
cliente.println ("connessione: chiudere");
cliente.println ();
/*attiva e spegne i GPIO*/
Se (intestazione.IndexOf ("Get /25 /On")> = 0)
Seriale.println ("gpiio 25 on");
OutputGPIO25 = "on";
DigitalWrite (output_25, alto);
else if (header.IndexOf ("Get /25 /Off")> = 0)
Seriale.println ("gpiio 25 off");
OutputGPIO25 = "Off";
DigitalWrite (output_25, basso);

/*Codice HTML per server*/
cliente.println ("");
cliente.println ("");
cliente.println ("");
/*incluso CSS per personalizzare il pulsante*/
cliente.println ("html background-color: #c4ccc8; font-family: fantasy; display: inline-block; margine: 0px auto; text-align: center;");
cliente.println (".Button sfondo: #000000; display: blocco inline; Border-radius: 30px; bordo: 2px grigio solido; colore bianco; imbottitura: 16px 40px; ");
cliente.println ("decorazione del testo: nessuno; dimensione del carattere: 30px; margine: 2px; cursore: puntatore;");
cliente.println (".Button2 background-color: #f70d05; ");
/*Intestazioni della pagina Web*/
cliente.println ("

Web Server ESP32

");
cliente.println ("

Linuxhint.com

");
// Visualizza lo stato corrente e i pulsanti on/off per GPIO 25
cliente.println ("

GPIO 25 LED " + outputgpio25 +"

");
// Se l'outputgpio25 è spento, visualizza il pulsante On
if (outputgpio25 == "off")
cliente.println ("

/25/su ">