Pelayan Web ESP32 Menggunakan Arduino IDE

Pelayan Web Esp32 Menggunakan Arduino Ide



ESP32 ialah papan mikropengawal yang boleh menyambung dengan berbilang peranti menggunakan pin GPIOnya. Ia mempunyai pemproses dwi-teras dengan antara muka Wi-Fi dan Bluetooth terbina dalam. Kedua-dua ciri ini menjadikan ESP32 papan yang sesuai untuk mereka bentuk projek IoT. Salah satu ciri utama papan ESP32 ialah keupayaannya untuk menyambung dengan pusat akses sedia ada. Bukan itu sahaja, tetapi ia juga boleh mencipta pusat aksesnya, jadi peranti lain boleh berhubung dengannya.

Dalam artikel ESP32 ini, kami akan meneroka cara kami boleh menyambungkan papan ESP32 dengan pusat akses dan mereka bentuk pelayan webnya. Menggunakan pelayan web itu, kami akan mengawal LED dan peralatan AC dengan bantuan modul geganti.

kandungan:

1. Pelayan Web ESP32

Pelayan Web mempunyai program khas yang boleh memproses dan menghantar halaman web kepada pelanggan web. Untuk membuka laman web, kami menggunakan pelayar web. Pelayar web ini juga dipanggil klien web. Laman web yang anda ingin lihat disimpan pada komputer lain yang dipanggil pelayan web.







Untuk bercakap antara satu sama lain, pelayan web dan klien web menggunakan bahasa biasa yang dipanggil HTTP. Beginilah ia berfungsi: klien web meminta pelayan web untuk halaman web menggunakan permintaan HTTP. Pelayan web menghantar semula halaman web yang diminta. Jika halaman web tidak ada, anda akan melihat mesej ralat.



Dalam ESP32, kami boleh mereka bentuk pelayan Web, kerana ESP32 bukan sahaja boleh menyambung dengan peranti lain melalui rangkaian tetapi juga boleh mencipta pelayan webnya dan membalas permintaan yang diterima. Ini semua mungkin kerana ESP32 boleh beroperasi dalam tiga mod berbeza:



  • Stesen
  • Pusat akses
  • Kedua-dua Stesen dan Titik Akses

Anda boleh menyemak artikel ini untuk mendapatkan pandangan tentang ketiga-tiga mod ESP32:





Cara Menetapkan Titik Akses (AP) ESP32 Menggunakan Arduino IDE

2. Cara Membuat Pelayan Web ESP32 Menggunakan Arduino IDE

Untuk mencipta pelayan web ESP32 menggunakan Arduino IDE, anda boleh menyambungkan ESP32 ke titik Akses dan menjana alamat IP untuk pelayan Web. Anda boleh menggunakan beberapa HTML dan CSS untuk mereka bentuk antara muka pelayan anda.



Sebaik sahaja anda memahami titik akses ESP32 berfungsi, anda boleh mereka bentuk pelayan web ESP32 dengan mudah menggunakan kod IDE Arduino. Kod pelayan web ESP32 menggunakan perpustakaan Wi-Fi ESP32. Ini menjadikan kerja kami lebih mudah, kerana perpustakaan ini mengandungi semua fungsi penting yang diperlukan untuk menyambungkan ESP32 ke pusat akses.

Mari kita reka pelayan Web ESP32 menggunakan kod IDE Arduino.

3. Kod Pelayan Web ESP32

Kod pelayan web ESP32 melibatkan sambungan ESP32 dengan titik akses dan mendapatkan alamat IP untuk pelayan. Sebaik sahaja anda mendapat alamat IP, anda perlu menyambung ke rangkaian yang sama untuk mengakses pelayan web ESP32. Dari sana anda boleh mengawal LED dan peranti lain.

Buka Arduino IDE dan sambungkan papan ESP32 anda dengannya:

Memasang Papan ESP32 dalam Arduino IDE

Setelah papan ESP32 disambungkan, muat naik kod berikut ke papan anda.

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

Linuxhint.com
Pelayan Web ESP32 Untuk Mengawal LED

**************/
// Import perpustakaan untuk Sambungan Wi-Fi
#include
// Masukkan nama dan kata laluan Wi-Fi anda
const char * ssid = 'ESP32' ;
const char * kata laluan = '123456789' ;
// Pilih nombor port untuk pelayan web
Pelayan WiFiServer ( 80 ) ;
// Buat pembolehubah untuk menyimpan permintaan web
Pengepala rentetan;
// Cipta pembolehubah untuk menyimpan status output
Output rentetan26State = 'MATI' ;
Output rentetan27State = 'MATI' ;
// Berikan pin output kepada pembolehubah
const int output26 = 26 ;
const int output27 = 27 ;
masa semasa panjang tidak ditandatangani = millis ( ) ;
tidak ditandatangani lama sebelumnyaMasa = 0 ;
// Pilih yang masa had untuk permintaan web dalam milisaat
const masa tamat masa yang panjang = 2000 ;
persediaan kosong ( ) {
Bersiri.mulakan ( 115200 ) ;
// Tetapkan pin output sebagai keluaran
pinMod ( output26, OUTPUT ) ;
pinMod ( output27, OUTPUT ) ;
// Matikan output
digitalWrite ( keluaran26, RENDAH ) ;
digitalWrite ( keluaran27, RENDAH ) ;
// Sambung ke rangkaian Wi-Fi
Bersiri.cetak ( 'Menyambung ke' ) ;
Serial.println ( ssid ) ;
WiFi.mulakan ( ssid, kata laluan ) ;
// Tunggu sehingga sambungan diwujudkan
sementara ( WiFi.status ( ) ! = WL_CONNECTED ) {
kelewatan ( 500 ) ;
Bersiri.cetak ( '.' ) ;
}
Serial.println ( '' ) ;
Serial.println ( 'WiFi disambungkan.' ) ;
Serial.println ( 'Alamat IP: ' ) ;
Serial.println ( WiFi.localIP ( ) ) ;
pelayan.mulakan ( ) ;
}

gelung kosong ( ) {
Pelanggan WiFiClient = pelayan.tersedia ( ) ; // Semak untuk pelanggan baru
jika ( pelanggan ) { // Jika pelanggan disambungkan,
Masa semasa = millis ( ) ;
sebelumnyaMasa = semasaMasa;
Serial.println ( 'Pelanggan Baru.' ) ; // Maklumkan port bersiri
Talian arus rentetan = '' ; // Cipta String untuk menyimpan data klien
sementara ( klien.bersambung ( ) && currentTime - previousTime = 0 ) {
Serial.println ( 'GPIO 26 hidup' ) ;
output26Negeri = 'HIDUP' ;
digitalWrite ( output26, TINGGI ) ;
} lain jika ( header.indexOf ( 'DAPAT /26/potong' ) > = 0 ) {
Serial.println ( 'GPIO 26 diskaun' ) ;
output26Negeri = 'MATI' ;
digitalWrite ( keluaran26, RENDAH ) ;
} lain jika ( header.indexOf ( 'DAPATKAN /27/pada' ) > = 0 ) {
Serial.println ( 'GPIO 27 hidup' ) ;
output27Negeri = 'HIDUP' ;
digitalWrite ( output27, TINGGI ) ;
} lain jika ( header.indexOf ( 'DAPAT /27/potong' ) > = 0 ) {
Serial.println ( 'GPIO 27 diskaun' ) ;
output27Negeri = 'MATI' ;
digitalWrite ( keluaran27, RENDAH ) ;
}

klien.println ( '' ) ;
klien.println ( '' ) ;
klien.println ( '' ) ;
// CSS untuk menggayakan butang
klien.println ( '