#include <WiFi.h>
#include <HTTPClient.h>
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 5
#define RST_PIN 22
MFRC522 rfid(SS_PIN, RST_PIN);
const char* ssid = "Wokwi-GUEST";
const char* password = "";
/* استخدم HTTP */
String server = "http://localhost/api.php?card=";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.print("Connecting WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("WiFi Connected");
SPI.begin(18,19,23,5);
rfid.PCD_Init();
Serial.println("RFID Ready - Scan Card");
}
void loop() {
if (!rfid.PICC_IsNewCardPresent()) return;
if (!rfid.PICC_ReadCardSerial()) return;
String cardID = "";
for (byte i = 0; i < rfid.uid.size; i++) {
if (rfid.uid.uidByte[i] < 0x10) cardID += "0";
cardID += String(rfid.uid.uidByte[i], HEX);
}
cardID.toUpperCase();
Serial.println("Card ID: " + cardID);
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
String url = server + cardID; // + "&i=1";
Serial.println("Request URL:");
Serial.println(url);
http.begin(url);
/* حل مشكلة حماية JavaScript */
http.addHeader("User-Agent", "ESP32");
int httpCode = http.GET();
Serial.print("HTTP Code: ");
Serial.println(httpCode);
if (httpCode > 0) {
String payload = http.getString();
Serial.println("Server Response:");
Serial.println(payload);
} else {
Serial.println("Connection Failed");
}
http.end();
}
delay(3000);
}