ESP32 veebiserver, mis kasutab Arduino IDE-d

Esp32 Veebiserver Mis Kasutab Arduino Ide D



ESP32 on mikrokontrolleri plaat, mis saab GPIO kontaktide abil ühendada mitme seadmega. Sellel on kahetuumaline protsessor koos sisseehitatud Wi-Fi ja Bluetoothi ​​liidesega. Mõlemad funktsioonid muudavad ESP32 sobivaks plaadiks asjade Interneti projektide kujundamiseks. ESP32 plaadi üks peamisi omadusi on selle võime ühenduda olemasoleva pääsupunktiga. Mitte ainult see, vaid see võib luua ka oma pääsupunkti, et teised seadmed saaksid sellega ühenduse luua.

Selles ESP32 artiklis uurime, kuidas saame ühendada ESP32 plaadi pääsupunktiga ja kujundada selle veebiserveri. Seda veebiserverit kasutades juhime releemooduli abil LED-e ja vahelduvvooluseadmeid.

Sisu:

1. ESP32 veebiserver

Veebiserveril on spetsiaalne programm, mis suudab veebilehti veebiklientidele töödelda ja saata. Veebisaidi avamiseks kasutame veebibrauserit. Seda veebibrauserit nimetatakse ka veebikliendiks. Veebisait, mida soovite näha, on salvestatud teise arvutisse, mida nimetatakse veebiserveriks.







Omavahel rääkimiseks kasutavad veebiserver ja veebiklient ühist keelt nimega HTTP. See toimib nii: veebiklient küsib veebiserverilt veebilehte HTTP päringu abil. Veebiserver saadab nõutud veebilehe tagasi. Kui veebilehte pole, näete veateadet.



ESP32-s saame kujundada veebiserveri, kuna ESP32 ei saa mitte ainult võrgu kaudu ühendust võtta teiste seadmetega, vaid saab luua ka oma veebiserveri ja vastata saadud päringutele. See kõik on võimalik, kuna ESP32 saab töötada kolmes erinevas režiimis:



  • Jaam
  • Pöörduspunkt
  • Nii jaam kui ka juurdepääsupunkt

Saate vaadata seda artiklit, et saada ülevaade kõigist kolmest ESP32 režiimist.





ESP32 pääsupunkti (AP) seadistamine Arduino IDE abil

2. ESP32 veebiserveri loomine Arduino IDE abil

ESP32 veebiserveri loomiseks Arduino IDE abil saate ESP32 ühendada pääsupunktiga ja luua veebiserveri jaoks IP-aadressi. Saate oma serveriliidese kujundamiseks rakendada HTML-i ja CSS-i.



Kui olete aru saanud, et ESP32 pääsupunkt töötab, saate hõlpsalt kujundada ESP32 veebiserveri, kasutades Arduino IDE koodi. ESP32 veebiserveri kood kasutab ESP32 Wi-Fi teeki. See muudab meie töö lihtsamaks, kuna see teek sisaldab kõiki olulisi funktsioone, mis on vajalikud ESP32 ühendamiseks pääsupunktiga.

Kujundame ESP32 veebiserveri, kasutades Arduino IDE koodi.

3. ESP32 veebiserveri kood

ESP32 veebiserveri kood hõlmab ESP32 ühendust pääsupunktiga ja serveri IP-aadressi hankimist. Kui olete IP-aadressi saanud, peate ESP32 veebiserverile juurdepääsuks looma ühenduse sama võrguga. Sealt saate juhtida LED-e ja muid seadmeid.

Avage Arduino IDE ja ühendage oma ESP32 plaat sellega:

ESP32 plaadi installimine Arduino IDE-sse

Kui ESP32 plaat on ühendatud, laadige oma plaadile üles järgmine kood.

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

Linuxhint.com
ESP32 veebiserver LED-ide juhtimiseks

**************/
// Importige raamatukogu jaoks Wi-Fi ühendus
#include
// Sisestage oma Wi-Fi nimi ja parool
konst char * ssid = 'ESP32' ;
konst char * parool = '123456789' ;
// Valige pordi number jaoks veebiserver
WiFiServeri server ( 80 ) ;
// Looge veebipäringu salvestamiseks muutuja
Stringi päis;
// Loo muutujad väljundite oleku salvestamiseks
Stringi väljund26Olek = 'VÄLJAS' ;
Stringi väljund27Olek = 'VÄLJAS' ;
// Määrake muutujatele väljundviigud
const int väljund26 = 26 ;
const int väljund27 = 27 ;
märgita pikk voolAeg = millis ( ) ;
allkirjastamata kaua eelmineAeg = 0 ;
// Vali aega piiri jaoks veebipäring sisse millisekundid
const pikk aegAeg = 2000 ;
tühine seadistus ( ) {
Serial.begin ( 115 200 ) ;
// Seadke väljundtihvtid nagu väljundid
pinMode ( väljund26, VÄLJUND ) ;
pinMode ( väljund27, VÄLJUND ) ;
// Lülitage väljundid välja
digitalWrite ( väljund26, LOW ) ;
digitalWrite ( väljund27, LOW ) ;
// Ühendage Wi-Fi võrguga
Serial.print ( 'Ühendamine' ) ;
Serial.println ( ssid ) ;
WiFi.begin ( ssid, parool ) ;
// Oota kuni ühendus on loodud
samal ajal ( WiFi.status ( ) ! = WL_CONNECTED ) {
viivitus ( 500 ) ;
Serial.print ( '.' ) ;
}
Serial.println ( '' ) ;
Serial.println ( 'WiFi ühendatud.' ) ;
Serial.println ( 'IP-aadress: ' ) ;
Serial.println ( WiFi.localIP ( ) ) ;
server.begin ( ) ;
}

tühi silmus ( ) {
WiFiClient klient = server.available ( ) ; // Kontrollima jaoks uusi kliente
kui ( klient ) { // Kui klient on ühendatud,
praegune aeg = millis ( ) ;
previousTime = praegune aeg;
Serial.println ( 'Uus klient.' ) ; // Teavitage jadaporti
String currentLine = '' ; // Kliendiandmete salvestamiseks looge string
samal ajal ( klient.ühendatud ( ) && praegune aeg – eelmine aeg = 0 ) {
Serial.println ( 'GPIO 26 sees' ) ;
väljund26Olek = 'PEAL' ;
digitalWrite ( väljund26, KÕRGE ) ;
} muidu kui ( header.indexOf ( 'HANGI /26/alla' ) > = 0 ) {
Serial.println ( 'GPIO 26 off' ) ;
väljund26Olek = 'VÄLJAS' ;
digitalWrite ( väljund26, LOW ) ;
} muidu kui ( header.indexOf ( 'HANGI /27/on' ) > = 0 ) {
Serial.println ( 'GPIO 27 sees' ) ;
väljund27Olek = 'PEAL' ;
digitalWrite ( väljund27, KÕRGE ) ;
} muidu kui ( header.indexOf ( 'HANGI /27/alla' ) > = 0 ) {
Serial.println ( 'GPIO 27 off' ) ;
väljund27Olek = 'VÄLJAS' ;
digitalWrite ( väljund27, LOW ) ;
}

klient.println ( '' ) ;
klient.println ( '' ) ;
klient.println ( '' ) ;
// CSS nuppude stiiliks
klient.println ( '