ESP 32 HTTP GET Protocol - Arduino IDE

ESP 32 HTTP GET Protocol - Arduino IDE

Tujuan

Kita akan menghubungkan ESP32 kita dengan menggunakan protocol HTTP GET menggunakan Arduino IDE. Kita akan menggunakan library baru dalam pemograman yaitu, HTTPClient.h library.

Dengan adanya library ini kita tidak perlu khawatir untuk membuat HTTP protocol lagi, jadi kita bisa langsung memanfaatkan library ini untuk berkomunikasi dengan REST API (Representional State Transfer Application Programming Interface).

Overview

Disini ESP32 akan bertindak sebagai client terhadap Web, dimana client ini akan mengirimkan protocol HTTP GET ke Web dan akan membaca response atau balasan dari Web. 

ESP 32 HTTP GET Protocol with Arduino IDE



Code

Pertama kita harus memasukkan library HTTPClient.h terlebih dahulu, juga library Wifi.h.

#include <WiFi.h>

#include <HTTPClient.h>

Selanjutnya buat global variable untuk nama wifi dan password wifi.

const char* ssid = "yourNetworkName";

const char* password =  "yourNetworkPassword";

Kemudian pada void setup () kita tulis program untuk koneksi ke jaringan internet menggunakan Wifi.begin() dan open serial komunikasi untuk serial monitor menggunakan Serial.begin()

void setup() {

   Serial.begin(115200);

  WiFi.begin(ssid, password); 

   while (WiFi.status() != WL_CONNECTED) { //Check for the connection

    delay(1000);

    Serial.println("Connecting to WiFi..");

  }

  Serial.println("Connected to the WiFi network");

 }

Setelah itu baru kita masuk ke program void loop () , kita tulis program untuk mengirim permintaan POST ke situs URL dengan cara memasukkan nama URL nya. Disini saya menggunakan menggunakan situs REST API online palsu, dimana situs ini cocok untuk melakukan pengujian ESP32 kita. Kalian bisa mengeceknya di sini.

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

 }

Full Code

#include <WiFi.h>

#include <HTTPClient.h>

 const char* ssid = "onlyone13";

const char* password =  "islam130590";

 void setup() {

   Serial.begin(115200);

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

 }

Testing Code

Untuk testing kode program, kita perlu sambungan wifi untuk ESP32 sesuai dengan nama wifi dan password wifi yang sudah di tulis pada program diatas, kemudian upload program ke ESP32 dan kemudian buka serial monitor. Hasil serial monitor akan seperti berikut :


Pada awal program kita akan mencoba tersambung ke jaringan wifi, kemudian jika sudah tersambung maka kita akan mengirim permintaan POST ke REST API menggunakan protocol HTTP, hasil dari permintaan tadi akan mendapat jawaban atau response, di program kita jawaban dari REST API seperti diatas 

200
[
  {
    "postId": 2,
    "id": 10,
    "name": "eaque et deleniti atque tenetur ut quo ut",
    "email": "Carmen_Keeling@caroline.name",
    "body": "voluptate iusto quis nobis reprehenderit ipsum amet nulla\nquia quas dolores velit et non\naut quia necessitatibus\nnostrum quaerat nulla et accusamus nisi facilis"
  }
]


Kesimpulan

Jadi HTTP GET ke Web API sama saja ketika kita bertanya ke seseorang dan kita menunggu balasan atas pertanyaan kita dari Web API. Semoga membantu, Terima Kasih.


Komentar

Postingan populer dari blog ini

ESP 32 Membuat ESP32 Web Server - Arduino IDE

ESP 32 Koneksi ke Jaringan Wifi

ESP 32 Control LED From Firebase Real Time Database