#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
// Ganti dengan SSID dan password WiFi Anda
const char* ssid = "Wokwi-GUEST";
const char* password = "";
// URL API endpoint
const char* serverName = "https://yellowgreen-mule-372794.hostingersite.com/api/checkCard";
void setup() {
Serial.begin(115200);
delay(1000);
StaticJsonDocument<200> doc;
// Koneksi ke WiFi
Serial.print("Menghubungkan ke WiFi");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("\nWiFi terhubung!");
}
void loop() {
if (WiFi.status() == WL_CONNECTED) {
Serial.println("\nMasukkan card_code:");
// Tunggu input dari Serial Monitor
while (Serial.available() == 0) {
delay(10);
}
String card_code = Serial.readStringUntil('\n');
card_code.trim(); // Hapus spasi atau karakter newline di awal/akhir
if (card_code.length() > 0) {
HTTPClient http;
// Inisialisasi koneksi HTTP
http.begin(serverName);
// Set header dan konten untuk permintaan POST
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
// Data form-urlencoded
String postData = "card_code=" + card_code;
// Indikasi menghubungkan ke server
Serial.println("Menghubungkan ke server...");
// Kirim permintaan POST
int httpResponseCode = http.POST(postData);
if (httpResponseCode > 0) {
String response = http.getString();
Serial.println("Response dari server:");
Serial.println(response);
// Buat objek DynamicJsonDocument
StaticJsonDocument<200> doc; // Sesuaikan ukuran buffer dengan kebutuhan
// Parsing JSON
DeserializationError error = deserializeJson(doc, response);
// Periksa apakah parsing berhasil
if (error) {
Serial.print("Error parsing JSON: ");
Serial.println(error.c_str());
return;
}
// Ambil data dari JSON
bool success = doc["success"];
const char* message = doc["message"];
// Tampilkan hasil
Serial.print("Success: ");
Serial.println(success);
Serial.print("Message: ");
Serial.println(message);
} else {
Serial.print("Error pada request: ");
Serial.println(httpResponseCode);
}
// Akhiri koneksi HTTP
http.end();
}
} else {
Serial.println("WiFi tidak terhubung, mencoba ulang...");
WiFi.reconnect();
}
delay(2000); // Delay sebelum input berikutnya
}