Rfid ile Pc'de Oturum Açma-Kapatma

Zexij

Yeni Üye
Katılım
29 Ağustos 2023
Mesajlar
1
Merhaba, Arduino Leonardo R3 Klon ve RC522 RFID kullanarak bilgisayara şifre girip oturum açıp kapatmak istiyorum. İnternetten oturum açma ile ilgili bir çok hazır kod var fakat hiç birinde oturum durumunu kontrol edip açıksa kapatmak kapalıysa açma şeklinde bi detay bulunmuyor. Bu konuda yardıma ihtiyacım var.

Genel bilgiler
Yaklaşık 70 tane Rfid kartımız var bu kartların idleri kodlara eklenecek. Şifresi aynı olan 3 bilgisayarda kart okuma sistemi kullanılacak. kart çalışmaya başladığında örnek bi değerimizi 0 atayacağız bu değer bilgisayar açıldığında 1 e eşit olacak. değer 1 ise oturum açık olduğu için windows + L tuşlarına bastırıp oturumu kapatacağız ve değeri yine 0 a eşitleyeceğiz tekrar kart okununca değer 0 ise ve oturun acmak için şifre girilip oturum açılacak düşüncem bu yönde bu cok zor ücretli yapabilirim diyen olursada görüşebiliriz.


Kod:
#include <SPI.h>       
#include <MFRC522.h>   
#include <Keyboard.h>
int RST_PIN = 9;       
int SS_PIN = 10;       
                      
MFRC522 rfid(SS_PIN, RST_PIN);     
byte ID[4] = {135, 182, 189, 84};     
byte ID1[4] = {49, 24, 125, 76};   
void setup() {
 
  Serial.begin(9600);         
  SPI.begin();               
  rfid.PCD_Init();           
}
 
void loop() {

  if ( ! rfid.PICC_IsNewCardPresent())   
    return;

  if ( ! rfid.PICC_ReadCardSerial())     
    return;
    

  if (rfid.uid.uidByte[0] == ID[0] &&     
    rfid.uid.uidByte[1] == ID[1] &&
    rfid.uid.uidByte[2] == ID[2] &&
    rfid.uid.uidByte[3] == ID[3] ) {
        Serial.println("Oturum acildi");
        ekranaYazdir();
          Keyboard.press(KEY_ESC);
          delay(300);
          Keyboard.print("12345");//write your password in between the qouts
          Keyboard.press(KEY_RETURN);
          delay(100);
          Keyboard.releaseAll();
          delay(2000);
    }

    else if (rfid.uid.uidByte[0] == ID1[0] &&     
    rfid.uid.uidByte[1] == ID1[1] &&
    rfid.uid.uidByte[2] == ID1[2] &&
    rfid.uid.uidByte[3] == ID1[3] ) {
        Serial.println("Oturum acildi");
        ekranaYazdir();
          Keyboard.press(KEY_ESC);
          delay(300);
          Keyboard.print("12345");
          Keyboard.press(KEY_RETURN);
          delay(100);
          Keyboard.releaseAll();
          delay(2000);
    }
    else{                                 
      Serial.println("Yetkisiz Kart");
      ekranaYazdir();
    }
  rfid.PICC_HaltA();
}
void ekranaYazdir(){
  Serial.print("ID Numarasi: ");
  for(int sayac=0; sayac<4; sayac++){
    Serial.print(rfid.uid.uidByte[sayac]);
    Serial.print(" ");
  }
}
 
HID protokolü tek yönlü, o yüzden üzerinden oturumun açık olup olmadığının kontrolünün yapılabileceğini sanmıyorum. O sadece PCye bilgi (klavye/mouse hareketi) gönderecektir.

Arduino dışında PC tarafında da bir yazılım geliştirmeniz ikisini USB üzerinden konuşturmanız gerekiyor.
 

Çevrimiçi personel

Forum istatistikleri

Konular
7,907
Mesajlar
130,761
Üyeler
3,168
Son üye
zolotoy

Son kaynaklar

Son profil mesajları

Mutluluğun resmi illa güzel çizilmiş tablo olmak zorunda değil.Bazen basit bir çizgi,doğru bir renk,yada küçük bir detay
Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
az bilgili çok meraklı
Back
Top