RFID Karten / Chip Lesegerät für Windows Login

Hier hat jeder die Möglichkeit sein eigenes Projekt zu präsentieren!
Antworten
Benutzeravatar
Hannes
Administrator
Beiträge: 27
Registriert: Mi 17. Jan 2018, 10:32
Kontaktdaten:

RFID Karten / Chip Lesegerät für Windows Login

Beitrag von Hannes » Di 10. Jul 2018, 19:16

Hallo,

Ein kleines Projekt nebenbei. Um das lästige Entsperren (Anmelden) und Sperren am PC durch die Passworteingabe zu vereinfachen, habe ich mir ein RFID Chiplesegerät gebastelt. Wenn man mit dem Chip oder der Karte zum Gerät kommt, wird die Windows Anmeldung automatisch durchgeführt. bei erneutem Check wird der PC wieder gesperrt. Doch sehr praktisch.

Der Aufbau ist mit einem Arduino Leonardo/Micro und einem RFID - MFRC522 Modul umgesetzt. Wer Interesse hat, kann mich gerne kontaktieren. Den Code stelle ich hier gerne bereit. In diesem ist lediglich das eigene Passwort einzufügen. Dazu einfach in der Zeile wo in Klammer "Passwort" steht, dieses durch eures ersetzen. Um einen RFID Chip oder Karte anzulernen müsst ihr nur den seriellen Monitor vom Arduino starten, den Chip zum Leser halten und dann wird euch als erstes die UID Nummer angezeigt, welche ihr ebenfalls im Code noch durch meinen Platzhalter (UID-NUMMER) ersetzen müsst. Sonst einfach kurzes Mail. Viel Spaß

1.jpg
2.jpg
3.jpg

Hier der Code für den Arduino Leo. Wichtig ist natürlich noch den Sketch Keyboard.h in eure Library einfügen!!!

Code: Alles auswählen

#include <Keyboard.h>
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 5
#define KEY_RETURN 0xB0                
 
MFRC522 mfrc522 ( SS_PIN, RST_PIN ) ;
char Enter = KEY_RETURN;                
String readid;
String card1="UID-NUMMER";              //Hier eure UID-Nummer eintragen
 
void setup( ) 
{
 Serial.begin(9600);
 Keyboard.begin();
 SPI.begin();
 mfrc522.PCD_Init();
}

void temp(byte *buffer, byte bufferSize)
{
  readid="";
  for(byte i = 0;i<bufferSize; i++)
  {
    readid=readid+String(buffer[i], HEX);
  }
}
void loop( ) 
{
 if(!mfrc522.PICC_IsNewCardPresent())
 {
  return;
 }
 if(!mfrc522.PICC_ReadCardSerial()) 
 {
  return;
 }
 mfrc522.PICC_DumpToSerial(&(mfrc522.uid)); 
 temp(mfrc522.uid.uidByte, mfrc522.uid.size);
 if(readid==card1)
 { 
  Keyboard.press(KEY_LEFT_GUI);             
  Keyboard.press('l');                      
  Keyboard.releaseAll();                    
  delay (500);
  Keyboard.press(Enter);                   
  Keyboard.release(Enter);                  
  delay(100);
  Keyboard.print("PASSWORT");                // Hier euer Passwort hinterlegen
  Keyboard.releaseAll();
  delay(100);
  Keyboard.press(Enter);
  Keyboard.releaseAll();
 }
 else
 {
  return;
 } 
}


Antworten