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.
 

Forum istatistikleri

Konular
6,624
Mesajlar
112,496
Üyeler
2,719
Son üye
oatmealcrazycake

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top