Windows PC Sperren/Entsperren mit RFID
Komponenten und Verbrauchsmaterialien
| × | 1 | ||||
| × | 1 | ||||
| × | 3 |
Notwendige Werkzeuge und Maschinen
|
Apps und Onlinedienste
|
Über dieses Projekt
Hallo!
Wie oft haben Sie es satt, jedes Mal, wenn es gesperrt wurde, das Passwort einzugeben, um Ihren PC/Laptop zu entsperren? Ich bin es gewohnt, es jeden Tag mehrmals zu sperren, und nichts ist ärgerlicher, als das Passwort / die PIN immer wieder einzugeben, jedes Mal, wenn ich es entsperren möchte. Wenn das Bedürfnis nach etwas unentbehrlich wird, sind Sie gezwungen, Wege zu finden, es zu bekommen. Wie das Sprichwort sagt, "Not macht erfinderisch", begann der faule Geist in mir jedes Mal, wenn ich ihn sperren musste, an eine einfache und kostengünstige Möglichkeit zu denken, meinen PC/Laptop zu entsperren. Als ich meine Sachen durchging, fand ich ein RC522-RFID-Modul. Da habe ich mich entschieden, ein RFID-System zu entwickeln.
RFID: Die Radiofrequenz-Identifikation (RFID) ist eine der ältesten Funktechnologien. RFID-Chips werden verwendet, um Informationen digital zu speichern, die dann zwischen Objekten durch elektromagnetische Felder und Funkwellen ausgetauscht werden können. Es ist vielleicht nicht sehr fortschrittlich, aber viele Hersteller sehen in der Technologie echtes Potenzial, egal wie alt sie ist.
In diesem Projekt erkläre ich, wie man ein einfaches RFID-System herstellt, das Ihren Windows-Computer mit nur einer Bewegung einer RFID-Karte / eines Tags sperren / entsperren kann. Mit diesem System müssen Sie Ihren Laptop/PC nicht mehr jedes Mal entsperren, wenn Sie ihn sperren.
Das Herzstück dieses Projekts ist das Arduino Pro Micro (oder Sie können Arduino Leonardo verwenden) mit dem ATmega32U4 Chip. Für dieses Projekt ist es sehr wichtig, ein Entwicklungsboard mit dem ATmega32U4 zu wählen Chip. Wir können für diese Anwendung keine Entwicklungsboards wie Arduino Uno, Mega 2560, Pro Mini oder Arduino Nano verwenden. Die Details finden Sie in den folgenden Schritten.
Bau des Prototyps.
Ich empfehle Ihnen, einen Prototyp auf dem Steckbrett zu bauen, bevor Sie die Schaltung auf eine Platine löten. Dies wird Ihnen helfen, die Verbindungen besser zu verstehen und alle Fehler zu beheben, die beim Verknüpfen von Verbindungen auftreten. Der Bau des Prototyps ist angesichts dieses Projekts keine schwere Aufgabe. Wir müssen nur ein paar Verbindungen herstellen und können den Code hochladen. Die Anschlüsse werden im Folgenden beschrieben. Auf dem Arduino sind viele der Pins nicht veränderbar. Da dieses Gerät den SPI-Bus verwendet, erlaubt es kein Schalten von Pins, Pins 14, 15 und 16 müssen wie gezeigt bleiben. RST und SDA sind benutzerdefiniert.
- Das RC-522 RFID-Modul ist für eine Eingangsspannung von nur 3,3 Volt ausgelegt . Da es sich um ein sehr empfindliches Gerät handelt, können höhere Werte zu einer Überhitzung und Beschädigung des Moduls führen. Der VCC aus Arduino Pro Micro versorgt Sie mit 5 Volt. Stellen Sie einen Spannungsteiler wie im Schaltplan gezeigt her (oder verwenden Sie ein 5 V bis 3,3 V Abwärtsmodul), um eine Versorgungsspannung von 3,3 Volt zu erzeugen. Verbinden Sie die 3,3-V-Versorgung mit dem VCC des RFID-Moduls.
- RST an Pin 5 von Arduino. (Sie können diesen Pin im Code ändern.)
- Verbinde den GND-Pin mit Masse.
- IRQ-Pin - Nicht verbunden.
- MISO an Pin 14 von Arduino.
- MOSI an Pin 16 von Arduino.
- SCK an Pin 15 von Arduino.
- SDA an Pin 10 von Arduino. (Dies ist auch ein benutzerdefinierter Pin.)
Das ist alles!, Einfach und leicht. Stecken Sie einfach das Kabel ein und wir können den Code hochladen und das Gerät testen.
Der Kodex.
Der Arduino Leonardo/Micro mit dem ATmega32u4-Chip verfügt über eine integrierte USB-Kommunikation. Dadurch kann das Leonardo/Micro einem angeschlossenen Computer als Maus oder Tastatur erscheinen.
Wir verwenden die Kernbibliothek keyboard.h, damit das Arduino die Tastenanschläge an einen angeschlossenen Computer sendet.
Die Funktionsweise des Codes ist sehr einfach.
- Die UID Ihrer RFID-Karte/-Tag und Ihr Windows-Passwort/-PIN wird im Code gespeichert.
- Wenn dem RFID-Leser die richtige Karte gezeigt wird, sendet das Arduino gleichzeitig Tastenanschläge zum Sperren der Fenster und Ihr Passwort zum Entsperren der Fenster.
- Wenn das Fenster gesperrt ist, haben die Tastenanschläge zum Sperren keine Wirkung und der Befehl entsperrt den gesperrten Computer.
- Oder wenn das Fenster bereits entsperrt ist, wird es durch die Befehle gesperrt. (Der Entsperrcode kommt auch gleichzeitig, aber da es nur eine kleine Verzögerung zwischen den Tastenanschlägen zum Sperren und Entsperren gibt, führt Windows den Sperrbefehl aus und liest den zu diesem Zeitpunkt kommenden Entsperrcodebefehl nicht.)
Sie müssen einige kleine Änderungen an dem von mir bereitgestellten Code vornehmen, um ihn zu erkunden und für sich selbst zu verwenden.
- Verbinde den Prototyp mit dem Computer.
- Starten Sie die Arduino-IDE und öffnen Sie den Code, den ich hier angegeben habe.
- Gehen Sie in der Symbolleiste zu Tools -> Board und wählen Sie Arduino Leonardo für Arduino Pro micro und Arduino Leonardo aus.
- Überprüfen Sie, ob der COM-Port ausgewählt ist.
- Laden Sie den Code auf das Arduino hoch.
- Öffnen Sie den seriellen Monitor (Strg+Umschalt+M).
- Scannen Sie Ihre Karte/Ihren Tag.
- Die erste Zeile der im seriellen Monitor angezeigten Ausgabe ist die UID Ihrer Karte/Ihres Tags. Notieren Sie sich diesen Wert.
- Gehen Sie nun zurück zum Code-Editor und ändern Sie den Wert der Zeichenfolge "card1 " zu der gerade notierten UID (In meinem Code finden Sie sie in Zeile 41).
- Gehen Sie zum letzten Teil des Codes und Sie finden eine Zeile mit der Aufschrift "Keyboard.print("PASSWORD"); " (Zeilennummer 80 im Code.). Ändern Sie diesen Wert in Ihren Windows-Entsperrcode.
- Laden Sie nun den geänderten Code in das Arduino hoch.
- Scannen Sie die Karte/das Etikett, um den Prototyp zu testen.
Dies ist ein grundlegender Code zum Eingeben von Passwörtern in Ihren Computer mithilfe von RFID-Tags. Sie können den Code ändern, um weitere Karten/Tags hinzuzufügen und unterschiedliche Passwörter für jede Karte für verschiedene Anwendungen festzulegen.
Löten.
Dies ist eine sehr kleine und einfache Schaltung. Es ist besser, dies in eine Prototyping-Leiterplatte einzulöten, als viel Zeit damit zu verbringen, eine benutzerdefinierte Leiterplatte herzustellen.
Verwenden Sie immer Header, um das Arduino und das RFID-Modul zu verbinden, da andernfalls eine längere Hitzeeinwirkung beim Löten diese Platinen dauerhaft beschädigen kann.
Löten Sie alle Anschlüsse wie im Schaltplan gezeigt und verbinden Sie das Arduino- und RFID-Modul mit der Platine. Ich habe das RFID-Modul horizontal mit einer rechtwinkligen Buchsenleiste mit der Leiterplatte verbunden, um es bequem zu machen.
Testen Sie das Gerät nach dem Löten immer auf mögliche Wackelkontakte oder Fehlfunktionen.
Eine Anlage erstellen.
Ich habe ein einfaches Gehäuse aus Kartons gebaut, die ich in meiner Garage gefunden habe. Ich habe einen Ständer dafür mit dem gleichen Karton gemacht und Löcher in das Gehäuse zum Anschließen des Kabels und für die LEDs im Arduino ausgeschnitten. Dann habe ich das gesamte Setup mit Kohlefaser-Texturaufklebern umwickelt und einen halbtransparenten dunklen Aufkleber für das Loch angebracht, in dem sich die LEDs in der Platine befinden.
Die Herstellung des Gehäuses ist ganz Ihrer Fantasie überlassen. Teilen Sie Ihre Gedanken in den Kommentaren unten mit.!
Das Ergebnis.
Sehen Sie sich das Video an, um das Gerät in Aktion zu sehen.
Denken Sie daran, dass dies nur ein einfaches Hobbyprojekt ist und die Arbeit für einen Heimanwender perfekt erledigt. Berücksichtigen Sie die potenziellen Sicherheitslücken, bevor Sie dies für Ihren persönlichen Gebrauch implementieren. Ich kann keine Sicherheit garantieren.
Es gibt zahlreiche Möglichkeiten, RFID + keyboard.h in unserem täglichen Leben einzusetzen. Ich habe es zum Sperren / Entsperren meines Computers gemacht. Was wirst du tun? Lass es mich unten in den Kommentaren wissen!
Danke!
Code
- Windows-PC sperren/entsperren mit RFID.
Windows-PC sperren/entsperren mit RFID.C/C++
Arduino Code.#include#include #include #define SS_PIN 10#define RST_PIN 5#define KEY_RETURN 0xB0 //Der Hex-Wert für die Return-Taste ist 0xB0 . MFRC522 mfrc522 ( SS_PIN, RST_PIN );char Enter =KEY_RETURN; //Return-Taste wird als Enter.String deklariert readid;String card1="48b45a10"; //Ändern Sie diesen Wert in die UID Ihrer Karte. Void setup () {Serial.begin (9600); Tastatur.begin(); SPI.begin(); mfrc522.PCD_Init();}void temp(byte *buffer, byte bufferSize) // Funktion zum Speichern der Karten-UID als String-Datentyp.{ readid=""; for(byte i =0;i
Schaltpläne
Herstellungsprozess