Server web ESP32 folosind IDE Arduino

Server Web Esp32 Folosind Ide Arduino



ESP32 este o placă de microcontroler care se poate conecta cu mai multe dispozitive folosind pinii săi GPIO. Are un procesor dual-core cu interfață Wi-Fi și Bluetooth încorporate. Ambele caracteristici fac din ESP32 o placă potrivită pentru proiectarea proiectelor IoT. Una dintre principalele caracteristici ale plăcii ESP32 este capacitatea sa de a se conecta la punctul de acces existent. Nu numai asta, dar își poate crea și punctul de acces, astfel încât alte dispozitive să se poată conecta la el.

În acest articol ESP32, vom explora modul în care putem conecta o placă ESP32 la un punct de acces și vom proiecta serverul său web. Folosind acel server web, vom controla LED-urile și aparatele AC cu ajutorul unui modul releu.

Continut:

1. ESP32 Web Server

Serverul Web are un program special care poate procesa și trimite pagini web către clienții web. Pentru a deschide un site web, folosim un browser web. Acest browser web se mai numește și client web. Site-ul web pe care doriți să-l vedeți este stocat pe un alt computer numit server web.







Pentru a vorbi unul cu celălalt, serverul web și clientul web folosesc un limbaj comun numit HTTP. Acesta este modul în care funcționează: clientul web solicită serverului web o pagină web folosind o solicitare HTTP. Serverul web trimite înapoi pagina web care este solicitată. Dacă pagina web nu este prezentă, veți vedea un mesaj de eroare.



În ESP32, putem proiecta un server web, deoarece ESP32 se poate conecta nu numai cu alte dispozitive printr-o rețea, dar poate și crea serverul său web și răspunde solicitărilor primite. Toate acestea sunt posibile deoarece ESP32 poate funcționa în trei moduri diferite:



  • Statie
  • Punct de acces
  • Atât stația, cât și punctul de acces

Puteți consulta acest articol pentru a obține o perspectivă asupra tuturor celor trei moduri ale ESP32:





Cum să setați un punct de acces ESP32 (AP) folosind Arduino IDE

2. Cum se creează un server web ESP32 utilizând Arduino IDE

Pentru a crea un server web ESP32 folosind Arduino IDE, puteți conecta ESP32 la un punct de acces și puteți genera o adresă IP pentru serverul web. Puteți aplica ceva HTML și CSS pentru a vă proiecta interfața serverului.



Odată ce înțelegeți funcționarea punctului de acces ESP32, puteți proiecta cu ușurință un server web ESP32 folosind codul IDE Arduino. Codul serverului web ESP32 utilizează biblioteca Wi-Fi ESP32. Acest lucru ne ușurează munca, deoarece această bibliotecă conține toate funcțiile importante necesare pentru conectarea ESP32 la un punct de acces.

Să proiectăm un server web ESP32 folosind codul IDE Arduino.

3. Codul serverului web ESP32

Codul serverului web ESP32 implică conexiunea ESP32 cu punctul de acces și obținerea adresei IP pentru server. Odată ce obțineți adresa IP, trebuie să vă conectați la aceeași rețea pentru a accesa serverul web ESP32. De acolo puteți controla LED-urile și alte dispozitive.

Deschideți Arduino IDE și conectați-vă placa ESP32 cu el:

Instalarea plăcii ESP32 în Arduino IDE

Odată ce placa ESP32 este conectată, încărcați următorul cod pe placa dvs.

/**************

Linuxhint.com
Server web ESP32 pentru controlul LED-urilor

**************/
// Importă biblioteca pentru Conexiune Wi-Fi
#include
// Introduceți numele și parola Wi-Fi
const char * ssid = „ESP32” ;
const char * parola = „123456789” ;
// Alegeți numărul portului pentru serverul web
Server WiFiServer ( 80 ) ;
// Creați o variabilă pentru a stoca cererea web
Antet șir;
// Creați variabile pentru a stoca starea ieșirilor
String output26State = 'OFF' ;
String output27State = 'OFF' ;
// Atribuiți pinii de ieșire variabilelor
const int output26 = 26 ;
const int output27 = 27 ;
unsigned long currentTime = milis ( ) ;
nesemnat lung previousTime = 0 ;
// Alege timp limită pentru cererea web în milisecunde
const long timeoutTime = 2000 ;
anulează configurarea ( ) {
Serial.begin ( 115200 ) ;
// Setați pinii de ieșire la fel de iesiri
pinMode ( output26, IEȘIRE ) ;
pinMode ( ieșire27, IEȘIRE ) ;
// Opriți ieșirile
digitalWrite ( output26, LOW ) ;
digitalWrite ( output27, LOW ) ;
// Conectați-vă la rețeaua Wi-Fi
Serial.print ( „Se conectează la” ) ;
Serial.println ( ssid ) ;
WiFi.începe ( ssid, parola ) ;
// Aștepta pana cand se stabilește legătura
in timp ce ( WiFi.status ( ) ! = WL_CONECTAT ) {
întârziere ( 500 ) ;
Serial.print ( '.' ) ;
}
Serial.println ( '' ) ;
Serial.println ( „Wi-Fi conectat”. ) ;
Serial.println ( 'Adresa IP: ' ) ;
Serial.println ( WiFi.localIP ( ) ) ;
server.begin ( ) ;
}

buclă goală ( ) {
Client WiFiClient = server.disponibil ( ) ; // Verifica pentru noi clienti
dacă ( client ) { // Dacă un client este conectat,
currentTime = milis ( ) ;
previousTime = currentTime;
Serial.println ( „Client nou”. ) ; // Notificați portul serial
String currentLine = '' ; // Creați un șir pentru a stoca datele clientului
in timp ce ( client.conectat ( ) && currentTime - previousTime = 0 ) {
Serial.println ( „GPIO 26 activat” ) ;
output26State = 'PE' ;
digitalWrite ( output26, HIGH ) ;
} altfel dacă ( header.indexOf ( „GET /26/off” ) > = 0 ) {
Serial.println ( „GPIO 26 oprit” ) ;
output26State = 'OFF' ;
digitalWrite ( output26, LOW ) ;
} altfel dacă ( header.indexOf ( „GET /27/on” ) > = 0 ) {
Serial.println ( „GPIO 27 activat” ) ;
output27State = 'PE' ;
digitalWrite ( output27, HIGH ) ;
} altfel dacă ( header.indexOf ( „GET /27/off” ) > = 0 ) {
Serial.println ( „GPIO 27 oprit” ) ;
output27State = 'OFF' ;
digitalWrite ( output27, LOW ) ;
}

client.println ( „” ) ;
client.println (' ) ;
client.println (' ) ;
// CSS pentru a stila butoanele
client.println (