In this tutorial we are going to learn how to hit an API and get response data using library HTTPClient.h and ArduinoJson.h library. we will use open api website provided by https://reqres.in. here is the code :
#include <Arduino.h> #include <WiFi.h> #include <ESP32Ping.h> #include <HTTPClient.h> #include <ArduinoJson.h> // Deklarasi Variable dan Konstanta String wifiSSID = "smartbuilding_wifi"; String wifiPassword = "smartbuilding@2020"; const IPAddress routerIp(192, 168, 0, 1); String googlDotCom = "www.google.com"; // Deklarasi Fungsi void connectWifi(); void getHttp(); void setup() { Serial.begin(9600); connectWifi(); getHttp(); } void loop() { } void getHttp() { String url = "https://reqres.in/api/users/2"; HTTPClient http; String response; http.begin(url); http.GET(); response = http.getString(); Serial.println(response); StaticJsonDocument<1024> doc; deserializeJson(doc, response); JsonObject obj = doc.as<JsonObject>(); String data = obj[String("data")]; String support = obj[String("support")]; Serial.println(data); Serial.println(support); } void connectWifi() { Serial.println("Connecting To Wifi"); WiFi.begin(wifiSSID.c_str(), wifiPassword.c_str()); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.println("Wifi Connected"); Serial.println(WiFi.SSID()); Serial.println(WiFi.RSSI()); Serial.println(WiFi.macAddress()); Serial.println(WiFi.localIP()); Serial.println(WiFi.gatewayIP()); Serial.println(WiFi.dnsIP()); if (Ping.ping(googlDotCom.c_str())) { Serial.println("Connected to Internet"); } }
video tutorial available on my youtube channel