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.
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(" ");
}
}