فتح الكمبيوتر باستخدام RFID و ESP32

28 أبريل 2026
المتجر
فتح الكمبيوتر باستخدام RFID و ESP32

🔐 فتح الكمبيوتر باستخدام RFID و ESP32

💡 الفكرة

في هذا المشروع استخدمت ESP32 مع RFID لتحويل الكرت إلى وسيلة تسجيل دخول للكمبيوتر.

بمجرد تمرير الكرت، يقوم الجهاز بإرسال الباسورد تلقائيًا وكأنه كيبورد.

⚙️ كيف يعمل؟

  1. قراءة الكرت عبر RFID
  2. التحقق من رقم الكرت (UID)
  3. إذا كان مسموح → إرسال أوامر كيبورد عبر Bluetooth
  4. ضغط Enter → كتابة الباسورد → Enter

🧩 المكونات

  • ESP32
  • MFRC522 RFID Module
  • كرت RFID
  • كمبيوتر يدعم Bluetooth

🔌 التوصيل

تم توصيل RFID مع ESP32 باستخدام بروتوكول SPI:

  • SDA → GPIO 5
  • SCK → GPIO 18
  • MOSI → GPIO 23
  • MISO → GPIO 19
  • RST → GPIO 22
  • VCC → 3.3V

💻 البرمجة

تم استخدام مكتبتين:

  • MFRC522 لقراءة الكرت
  • BLE Keyboard لتحويل ESP32 إلى كيبورد بلوتوث


#include <SPI.h>

#include <MFRC522.h>

#include <BleKeyboard.h>


#define SS_PIN 5

#define RST_PIN 22


MFRC522 rfid(SS_PIN, RST_PIN);

BleKeyboard bleKeyboard("RFID-PC-KEY");


String password = "123456"; // اكتب باسورد الكمبيوتر هنا


byte card1[4] = {رقم البطاقه};

byte card2[4] = {رقم البطاقه};


bool checkUID(byte card[]) {

for (byte i = 0; i < 4; i++) {

if (rfid.uid.uidByte[i] != card[i]) {

return false;

}

}

return true;

}


void setup() {

Serial.begin(115200);


SPI.begin();

rfid.PCD_Init();


bleKeyboard.begin();


Serial.println("Ready - Pair Bluetooth with RFID-PC-KEY");

}


void loop() {

if (!bleKeyboard.isConnected()) {

Serial.println("Bluetooth not connected");

delay(1000);

return;

}


if (!rfid.PICC_IsNewCardPresent()) return;

if (!rfid.PICC_ReadCardSerial()) return;


if (checkUID(card1) || checkUID(card2)) {

Serial.println("Access Granted");


delay(800);


// Enter أول عشان يطلع من شاشة القفل

bleKeyboard.write(KEY_RETURN);

delay(700);


// كتابة الباسورد

bleKeyboard.print(password);

delay(200);


// Enter لتسجيل الدخول

bleKeyboard.write(KEY_RETURN);


delay(3000); // يمنع التكرار السريع

} else {

Serial.println("Access Denied");

}


rfid.PICC_HaltA();

rfid.PCD_StopCrypto1();

}



عند قراءة كرت صحيح:

  • يتم إرسال Enter
  • ثم كتابة الباسورد
  • ثم Enter مرة أخرى

🔑 آلية الأمان

تم حفظ UID لكرتين مسموح لهم فقط بالدخول.

أي كرت آخر يتم رفضه.

🔗 الربط مع الكمبيوتر

  • يتم عمل Pairing بين ESP32 والكمبيوتر عبر Bluetooth
  • يظهر الجهاز كأنه كيبورد
  • بعد الربط، يتم الاتصال تلقائيًا