#include <Arduino.h>
#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
void setup() {
Serial.begin(115200);
// Menghubungkan ke jaringan WiFi
Serial.println("Menghubungkan ke jaringan WiFi...");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Tersambung ke WiFi!");
// Melakukan request HTTP untuk satu Pokémon
getSinglePokemonData("ditto");
}
void loop() {
// Tidak ada yang perlu dilakukan di loop
}
void getSinglePokemonData(String pokemonName) {
bool success = false;
while (!success) {
HTTPClient http;
Serial.print("Mulai mengambil data dari API...");
String url = "https://pokeapi.co/api/v2/pokemon/" + pokemonName;
http.begin(url);
int httpCode = http.GET();
if (httpCode == HTTP_CODE_OK) {
// Parsing JSON response
DynamicJsonDocument doc(2048);
DeserializationError error = deserializeJson(doc, http.getString());
if (!error) {
Serial.println("Berhasil mengambil data!");
// Mendapatkan data dari JSON
String name = doc["name"];
int id = doc["id"];
int weight = doc["weight"];
int height = doc["height"];
Serial.println("Data Pokémon:");
Serial.println("Nama: " + name);
Serial.println("ID: " + String(id));
Serial.println("Berat: " + String(weight));
Serial.println("Tinggi: " + String(height));
success = true; // Berhasil mendapatkan data, keluar dari loop
} else {
Serial.println("Gagal parsing JSON.");
}
} else {
Serial.println("Gagal mengambil data. Mencoba lagi...");
delay(500);
}
http.end();
}
}