techtutorialsx
Tujuan dari kode contoh ESP32 ini adalah untuk menjelaskan cara melakukan pengalihan
menggunakan pustaka server web HTTP async pada inti Arduino. Pengujian tutorial ESP32 ini
dilakukan dengan menggunakan perangkat ESP-WROOM-32 DFRobot yang terintegrasi dalam
papan ESP32 FireBeetle .
pengantar
Tujuan dari kode contoh ESP32 ini adalah untuk menjelaskan cara melakukan pengalihan
menggunakan pustaka server web HTTP async pada inti Arduino. Jika Anda belum menginstalnya,
silakan periksa di sini cara melakukannya.
Pengujian tutorial ESP32 ini dilakukan dengan menggunakan perangkat ESP-WROOM-32 DFRobot
yang terintegrasi dalam papan ESP32 FireBeetle .
Untuk tutorial lebih lanjut tentang server asinkron HTTP, silakan lihat bagian posting terkait. Untuk
versi video dari tutorial ini, silakan periksa saluran YouTube saya di bawah.
https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 1/13
10/12/2020 ESP32 Arduino HTTP server: external and internal redirects - techtutorialsx
Kode
Bagian pertama dari kode ini mirip dengan apa yang telah kita bahas di posting tutorial
sebelumnya tentang server web HTTP async. Jadi, seperti biasa, kami mulai dengan memasukkan
pustaka yang diperlukan untuk menyiapkan semuanya.
Selanjutnya, kami mendeklarasikan dua variabel global yang akan menyimpan kredensial yang
diperlukan untuk terhubung ke jaringan WiFi. Untuk menyelesaikan deklarasi variabel global, kita
juga membutuhkan sebuah instance dari kelas AsyncWebServer , yang akan kita gunakan untuk
mengatur server HTTP.
1 #include "WiFi.h"
2 #include "ESPAsyncWebServer.h"
3
https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 2/13
10/12/2020 ESP32 Arduino HTTP server: external and internal redirects - techtutorialsx
4 const char* ssid = "yourNetworkName";
5 const char* password = "yourNetworkPassword";
6
7 AsyncWebServer server(80);
Pada fungsi setup, kita akan mulai dengan membuka koneksi serial kemudian menghubungkan
ESP32 ke jaringan WiFi. Setelah koneksi, kami akan mencetak IP lokal yang ditugaskan padanya.
1 Serial.begin(115200);
2
3 WiFi.begin(ssid, password);
4
5 while (WiFi.status() != WL_CONNECTED) {
6 delay(1000);
7 Serial.println("Connecting to WiFi..");
8 }
9
10 Serial.println(WiFi.localIP());
Sekarang kita akan mengkonfigurasi rute server kita. Pertama, kita membutuhkan rute sederhana
untuk menjadi tujuan pengalihan internal. Fungsi penanganan rute ini akan mengembalikan pesan
tekstual ke klien. Kami akan menyebut rute ini " / halo ".
Sekarang kita memiliki rute kerja, kita akan mengkonfigurasi rute kedua untuk melakukan
pengalihan internal.
Deklarasi rute dan pengikatan ke fungsi penanganan dilakukan dengan cara yang sama seperti
yang sebelumnya. Meskipun demikian, dalam penerapan fungsi penanganan, kita akan memanggil
metode lain dari objek permintaan untuk melakukan pengalihan.
Jadi, untuk melakukan pengalihan, kita memanggil metode pengalihan dari objek permintaan ,
meneruskan sebagai masukan string dengan rute yang kita inginkan untuk mengarahkan klien.
Perhatikan bahwa karena pengalihan bersifat internal, kita hanya perlu menentukan jalur (“ / hello
“), kita tidak perlu menentukan URL secara keseluruhan.
Rute ketiga dan terakhir yang akan kami tentukan akan melakukan pengalihan eksternal.
Konfigurasinya persis sama tetapi sekarang kita akan meneruskan URL situs web ke metode
pengalihan. Karena sekarang kita akan mengarahkan ke lokasi eksternal, kita perlu menggunakan
seluruh URL situs web, yang menyertakan nama domain (atau IP).
Akhirnya, setelah mengatur semua rute, kita perlu memanggil metode begin pada objek server,
sehingga metode tersebut mulai mendengarkan permintaan HTTP yang masuk. Anda dapat
memeriksa seluruh kode sumber di bawah ini.
1 #include "WiFi.h"
2 #include "ESPAsyncWebServer.h"
3
4 const char* ssid = "yourNetworkName";
5 const char* password = "yourNetworkPassword";
6
7 AsyncWebServer server(80);
8
9 void setup(){
10
11 Serial.begin(115200);
12
13 WiFi.begin(ssid, password);
14
15 while (WiFi.status() != WL_CONNECTED) {
16 delay(1000);
17 Serial.println("Connecting to WiFi..");
18 }
19
20 Serial.println(WiFi.localIP());
21
22 server.on("/hello", HTTP_GET, [](AsyncWebServerRequest *request){
23 request->send(200, "text/plain", "Hello from ESP32 server route");
24 });
25
26 server.on("/redirect/internal", HTTP_GET, [](AsyncWebServerRequest *request){
27 request->redirect("/hello");
28 });
29
30 server.on("/redirect/external", HTTP_GET, [](AsyncWebServerRequest *request){
31 request->redirect("https://techtutorialsx.com/");
32 });
33
34 server.begin();
35 }
36
37 void loop(){}
Menguji kode
Untuk menguji seluruh kode, pertama-tama kompilasi dan unggah ke mikrokontroler ESP32 Anda
dan kemudian buka monitor serial Arduino IDE.
Setelah koneksi ke Jaringan Nirkabel dibuat, IP lokal yang ditetapkan ke ESP32 harus dicetak. Salin,
karena kita akan menggunakannya untuk menjangkau server.
Sekarang, buka browser web pilihan Anda, ketikkan URL berikut dan ubah # yourDeviceIp # dengan
IP yang baru saja Anda salin dan # ketik # dengan kata-kata eksternal atau internal .
1 http://#yourDeviceIp#/redirect/#type#
https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 4/13
10/12/2020 ESP32 Arduino HTTP server: external and internal redirects - techtutorialsx
Untuk pengalihan server internal, browser Anda harus diarahkan ke rute yang mengembalikan
pesan halo, seperti yang ditunjukkan pada gambar 1. Perhatikan bahwa jika kita membuka konsol
pengembang browser (dalam kasus saya, saya menggunakan Google Chrome), itu adalah mungkin
untuk memeriksa bahwa rute " redirect / internal " akan mengembalikan status 302 , yang sesuai
dengan pengalihan.
Untuk pengalihan eksternal, browser harus diarahkan ke situs web yang ditentukan, seperti yang
ditunjukkan pada gambar 2. Dalam kasus ini, kami telah membuka informasi permintaan di konsol
pengembang untuk mengonfirmasi bahwa server mengembalikan respons HTTP 302, di samping
dengan URL tujuan di tajuk tanggapan.
Pos terkait
https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 5/13
10/12/2020 ESP32 Arduino HTTP server: external and internal redirects - techtutorialsx
Bagikan ini:
Seperti ini:
Like
16 bloggers like this.
YUULYE
14 JANUARI 2018 PUKUL 22.30
https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 6/13
10/12/2020 ESP32 Arduino HTTP server: external and internal redirects - techtutorialsx
Liked by 1 person
Balasan
GEMBALA
15 JANUARI 2018 PUKUL 11:13 MALAM
Hai!
Pointer memang sedikit rumit pada awalnya, tetapi setelah Anda terbiasa, petunjuk tersebut
akan sangat berguna.
My recommendation is that you try to understand how they work and start using them to get used
to it, since they will give a lot of flexibility to your coding tools.
There are plenty of online resources about them, my suggestion is that you try to pick a good
guide that teaches them from start to finish, since picking up a couple of explanations here and
there may be confusing.
Best regards,
Nuno Santos
Liked by 1 person
Reply
Ad
YUULYE
JANUARY 14, 2018 AT 10:30 PM
Like
Reply
ANTEPHER
JANUARY 15, 2018 AT 11:13 PM
Hi!
Pointers are indeed a little bit tricky at first, but once you get used to them they will be very
useful.
My recommendation is that you try to understand how they work and start using them to get used
to it, since they will give a lot of flexibility to your coding tools.
There are plenty of online resources about them, my suggestion is that you try to pick a good
guide that teaches them from start to finish, since picking up a couple of explanations here and
there may be confusing.
Best regards,
Nuno Santos
Loading...
Reply
Pingback: ESP32 Arduino HTTP server: route not found handling | techtutorialsx
Pingback: ESP32 Arduino HTTP server: route not found handling | techtutorialsx
Pingback: ESP32 Arduino async server: Controlling HTTP methods allowed | techtutorialsx
Pingback: ESP32 Arduino async server: Controlling HTTP methods allowed | techtutorialsx
https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 8/13
10/12/2020 ESP32 Arduino HTTP server: external and internal redirects - techtutorialsx
Pingback: ESP32 Arduino: Temperature, humidity and CO2 concentration web server | techtutorialsx
Pingback: ESP32 Arduino: Temperature, humidity and CO2 concentration web server | techtutorialsx
Leave a Reply
Enter your comment here...
https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 9/13
10/12/2020 ESP32 Arduino HTTP server: external and internal redirects - techtutorialsx
Cari … Sea
Sort by Relevance
https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 10/13
10/12/2020 ESP32 Arduino HTTP server: external and internal redirects - techtutorialsx
Categories
C# (8)
Electronics (21)
ESP32 (322)
ESP8266 (99)
IoT (7)
Javascript (17)
Mikrokontroler (21)
Lain-lain (4)
OBLOQ (15)
Python (52)
Raspberry Pi (15)
Sipeed M1 (4)
SQL (5)
Masukkan alamat email Anda untuk mengikuti blog ini dan menerima pemberitahuan posting baru
melalui email.
Email Address
https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 11/13
10/12/2020 ESP32 Arduino HTTP server: external and internal redirects - techtutorialsx
Mengikuti
https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 12/13
10/12/2020 ESP32 Arduino HTTP server: external and internal redirects - techtutorialsx
https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 13/13