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.
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 :
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"}]
Komentar
Posting Komentar