[TUTORIAL] HTTP Get Request dengan ESP32 di Wokwi dan Arduino IDE

Assalamu‘alaikum wr. wb.

Hello guys, Kembali lagi bersama Inzaghi's Blog! Jika sebelumnya sudah pernah membuat beberapa Tutorial IoT seperti Blynk, ThingSpeak, dan ThingsBoard dengan Wokwi. Sekarang, kita akan membahas Tutorial melakukan HTTP Get Request dengan ESP32 di Wokwi dan Arduino IDE.

Sumber Artikel Tutorial : Randomnerdtutorials.com dan Techtutorialsx.com

Tujuan dari posting ini adalah menjelaskan bagaimana melakukan permintaan HTTP GET sederhana menggunakan ESP32 dan lingkungan Arduino. Untuk melakukannya, kita akan menggunakan library HTTPClient.h.

Penting: Harap dicatat bahwa pada saat penulisan posting ini, library ini baru saja digabungkan dengan kode master Github, seperti yang dapat dilihat di sini. Jadi, kemungkinan Anda perlu memperbarui versi dari library dukungan ESP32 Arduino. Anda dapat melihat instruksi tentang cara melakukannya di sini.

Perhatikan bahwa Anda mungkin perlu membuka Git GUI dan menjalankan file get.exe sebagai administrator, di Windows, agar perubahan dapat berlaku. Jika semuanya berjalan dengan baik, di menu contoh Arduino IDE, Anda harus memiliki entri untuk contoh-contoh HTTPClient. Anda juga dapat melihat contoh-contohnya di Github.

Meskipun sebelum library HTTPClient tersedia, kita bisa melakukan permintaan HTTP, hal ini lebih kompleks karena kita harus berurusan dengan seluruh protokol HTTP melalui koneksi socket, seperti yang dapat dilihat dalam contoh ini. Untungnya, library ini akan menyembunyikan sebagian besar kompleksitas dan hanya mengekspos fungsi-fungsi yang mudah digunakan.

Jadi, dalam contoh sederhana kita, kita akan terhubung ke jaringan WiFi dan melakukan beberapa permintaan HTTP GET ke website rest API palsu yang berada online. Anda dapat menjelajahi website ini di sini.

Kode di bawah ini didasarkan pada salah satu contoh dasar yang disediakan dengan library HTTPClient, yang saya dorong Anda untuk mencobanya.

A. Kode Program

Pertama-tama, kita perlu menyertakan pustaka untuk menghubungkan ke jaringan WiFi dan untuk melakukan permintaan HTTP. Untuk lebih detail cara menyambungkan jaringan WiFi dengan ESP32 bisa kamu cek di postingan sebelumnya ini.

Kami juga perlu menyimpan kredensial jaringan WiFi, sehingga kami dapat menyambungkannya pada fungsi penyiapan. Untuk melakukannya, kami akan mendeklarasikan dua variabel global, seperti yang dapat dilihat di bawah. Perhatikan bahwa Anda harus mengubah nilai dengan kredensial jaringan Anda.

#include <WiFi.h>
#include <HTTPClient.h>
  
const char* ssid = "namaJaringanAnda";
const char* password = "passwordJaringanAnda";

Sekarang, di fungsi setup, kita akan membuka koneksi serial, untuk mencetak pesan debug, dan terhubung ke jaringan WiFi. Silakan periksa posting sebelumnya yang disebutkan jika Anda memerlukan penjelasan rinci tentang prosedurnya. Pertahankan penundaan sebelum panggilan WiFi.begin, untuk menjamin bahwa semua yang dilakukan di latar belakang oleh perpustakaan berjalan dengan baik. Pada saat penulisan, jika kami tidak menyertakan penundaan, sebagian besar koneksi ke jaringan WiFi akan gagal.

void setup() {
  
  Serial.begin(115200);
  delay(4000);
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi..");
  }
  
  Serial.println("Connected to the WiFi network");
  
}

Kita akan mengirimkan permintaan HTTP pada loop utama Arduino. Pertama-tama, kita mendeklarasikan objek dari kelas HTTPClient. Kelas ini akan menyediakan banyak metode yang akan membantu kita bekerja dengan fungsionalitas HTTP tanpa perlu khawatir dengan detail implementasi tingkat rendah. Anda dapat memeriksa file header untuk daftar metode tersebut.

Sehingga, inilah Kode Program secara keseluruhan :

#include <WiFi.h>
#include <HTTPClient.h>
const char* ssid = "namaJaringanAnda";
const char* password = "passwordJaringanAnda";
 
void setup() {
 
  Serial.begin(115200);
  delay(4000);
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi..");
  }
 
  Serial.println("Connected to the WiFi network");
 
}
 
void loop() {
 
  if ((WiFi.status() == WL_CONNECTED)) { //Check the current connection status
 
    HTTPClient http;
 
    http.begin("http://jsonplaceholder.typicode.com/comments?id=10"); //Specify the URL
    int httpCode = http.GET();                                        //Make the request
 
    if (httpCode > 0) { //Check for the returning code
 
        String payload = http.getString();
        Serial.println(httpCode);
        Serial.println(payload);
      }
 
    else {
      Serial.println("Error on HTTP request");
    }
 
    http.end(); //Free the resources
  }
 
  delay(10000);
}

B. Menggunakan Wokwi

Pertama, merilah kita buka Situs Wokwi di sini (Wokwi.com). Kemudian, Masuklah menggunakan Akun Google.

Kemudian, Scroll ke bawah sampai menemukan "Start from Scratch". Kemudian pilih Arduino Uno.

Maka akan seperti ini tampilannya :

Kemudian, ketiklah Kode Program berikut ini :

#include <WiFi.h>
#include <HTTPClient.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
 
void setup() {
 
  Serial.begin(115200);
  delay(4000);
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi..");
  }
 
  Serial.println("Connected to the WiFi network");
 
}
 
void loop() {
 
  if ((WiFi.status() == WL_CONNECTED)) { //Check the current connection status
 
    HTTPClient http;
 
    http.begin("http://jsonplaceholder.typicode.com/comments?id=10"); //Specify the URL
    int httpCode = http.GET();                                        //Make the request
 
    if (httpCode > 0) { //Check for the returning code
 
        String payload = http.getString();
        Serial.println(httpCode);
        Serial.println(payload);
      }
 
    else {
      Serial.println("Error on HTTP request");
    }
 
    http.end(); //Free the resources
  }
 
  delay(10000);
}

Tinggal Ganti saja pada SSID dan Password menjadi seperti pada Program di atas. Untuk di Wokwi, kosongkan saja Password-nya, sehingga menjadi seperti ini :

const char* ssid = "Wokwi-GUEST"; const char* password = "";

Selanjutnya, klik dan tunggu saja proses menghubungkan API Get Request :

Jika ada Kode 200, artinya sudah berhasil.


Anda, juga bisa mencobanya dengan Kode Program lainnya untuk menguji Get Request dengan HTTP menggunakan ESP32.

C. Menggunakan Arduino IDE

Selanjutnya, kita juga mencobanya dengan ESP32 secara Fisik menggunakan Arduino IDE untuk menguji HTTP Get Request.

Pertama, bukalah Arduino IDE pada Komputer PC Anda, kemudian Salinlah Kode Program di bawah ini.

#include <WiFi.h>
#include <HTTPClient.h>
const char* ssid = "Inzaghi";
const char* password = "cemara32";
 
void setup() {
 
  Serial.begin(115200);
  delay(4000);
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi..");
  }
 
  Serial.println("Connected to the WiFi network");
 
}
 
void loop() {
 
  if ((WiFi.status() == WL_CONNECTED)) { //Check the current connection status
 
    HTTPClient http;
 
    http.begin("http://jsonplaceholder.typicode.com/comments?id=10"); //Specify the URL
    int httpCode = http.GET();                                        //Make the request
 
    if (httpCode > 0) { //Check for the returning code
 
        String payload = http.getString();
        Serial.println(httpCode);
        Serial.println(payload);
      }
 
    else {
      Serial.println("Error on HTTP request");
    }
 
    http.end(); //Free the resources
  }
 
  delay(10000);
}

Kemudian, isilah pada bagian SSID dan Password yang sesuai dengan WiFi yang Anda gunakan, sehingga menjadi seperti ini :

const char* ssid = "Inzaghi";
const char* password = "cemara32";

Kemudian, Jalankan dengan mengeklik Tombol Panah (→) dan tunggu saja beberapa Detik.


VIDEO

Inilah Sumber Video untuk Tutorial HTTP Get Request dengan ESP32 menggunakan Arduino IDE.


Itulah Tutorial mengontrol LED Sederhana menggunakan Blynk IoT dengan ESP32 di Wokwi dan Arduino.

Terima Kasih 😄😘👌👍 :)

Wassalamu‘alaikum wr. wb.

Post a Comment

Previous Post Next Post