Anda di halaman 1dari 13

10/12/2020 ESP32 Arduino HTTP server: external and internal redirects - techtutorialsx

techtutorialsx 

Die neue schweizer


Uhrmacherei
Wir interpretieren die Kreation
außergewöhnlicher schweizer
mechanischer Armbanduhren
neu
CODE41 Watches

Server HTTP ESP32 Arduino: pengalihan


eksternal dan internal
ESP32 / 9 Komentar

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.

Kami akan memeriksa cara mengarahkan ke URL internal dan eksternal.

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

ESP32 Arduino HTTP web server: redirects

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 ".

1 server.on("/hello", HTTP_GET, [](AsyncWebServerRequest *request){


2 request->send(200, "text/plain", "Hello from ESP32 server route");
3 });

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.

Kami akan menyebut rute ini " / redirect / internal ".

1 server.on("/redirect/internal", HTTP_GET, [](AsyncWebServerRequest *request){


2 request->redirect("/hello");
3 });

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).

Kami akan menyebut rute ini " / redirect / external ".


https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 3/13
10/12/2020 ESP32 Arduino HTTP server: external and internal redirects - techtutorialsx
1 server.on("/redirect/external", HTTP_GET, [](AsyncWebServerRequest *request){
2 request->redirect("https://techtutorialsx.com/");
3 });

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.

Gambar 1 - Pengalihan internal.

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.

Gambar 2 - Pengalihan eksternal.

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

ESP32 Arduino: Server HTTP melalui soft AP


ESP32 Arduino HTTP Server: Melayani HTML dan JavaScript
ESP8266 Arduino: Server web HTTP asinkron
Server HTTP ESP32 Arduino: Menjalankan beberapa contoh server
ESP32 Arduino HTTP server: Mendapatkan parameter kueri
ESP32 Arduino async HTTP server: Melayani halaman HTML dari PROGMEM
ESP32 Arduino async HTTP server: Melayani HTML
ESP32 Arduino: server web HTTP Asinkron

Bagikan ini:

 Indonesia  Facebook  Reddit  Lebih

Seperti ini:

Like
16 bloggers like this.

Die neue schweizer Uhrmacherei


Wir interpretieren die Kreation außergewöhnlicher schweizer mechanischer
Armbanduhren neu

← Posting Sebelumnya Posting berikutnya →

9 pemikiran tentang "ESP32 Arduino HTTP server: pengalihan eksternal


dan internal"

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

Saya tidak akan pernah mengerti pointer *

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

Ultrasonic Sensing Project


Learn how to do Ultrasonic Measurements with Arduino and 1Sheeld App

Circuit Cellar Open

YUULYE
JANUARY 14, 2018 AT 10:30 PM

I will never understand pointer*


https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 7/13
10/12/2020 ESP32 Arduino HTTP server: external and internal redirects - techtutorialsx

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

Pingback: ESP32 Arduino web server: getting client IP | 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 web server: getting client IP | techtutorialsx

Pingback: ESP32 Arduino: Temperature, humidity and CO2 concentration web server | techtutorialsx

Pingback: ESP32 Arduino: Temperature, humidity and CO2 concentration web server | techtutorialsx

Pingback: ESP32 Arduino web server: Add header to response | techtutorialsx

Pingback: ESP32 Arduino web server: Add header to response | techtutorialsx

Pingback: ESP32 Async HTTP web server: websockets introduction | techtutorialsx

Pingback: ESP32 Async HTTP web server: websockets introduction | techtutorialsx

Pingback: ESP32 HTTP web server: Handling body data – techtutorialsx

Pingback: ESP32 HTTP web server: Handling body data – 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)

LinkIt Smart (14)

Mikro: bit (30)

Mikrokontroler (21)

Lain-lain (4)

OBLOQ (15)

Python (52)

Raspberry Pi (15)

Sipeed M1 (4)

SQL (5)

Ikuti Blog melalui Email

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

Hak Cipta © 2020 Techtutorialsx

https://techtutorialsx.com/2018/01/14/esp32-arduino-http-server-external-and-internal-redirects/ 13/13

Anda mungkin juga menyukai