RFID-Kit - Computerzugangsberechtigung (3/3) - AZ-Delivery

Unser heutiger Blogpost ist der dritte Teil mit dem Thema "Einrichten einer Computerzugangsberechtigung" in der dreiteiligen Reihe zu unserem RFID-Kit:

 

Am Ende dieser 3 Teile wirst du wissen:

- Was unser RFID-Kit kann und wie du es einrichtest

- Wie du mit unserem RFID-Kit schreiben und lesen kannst

- Wie es mit unserem RFID-Kit möglich ist, eine Computerzugangsberechtigung zu installieren

 

Die ersten beiden Teile der Blogreihe verpasst? Dann gibt's hier Teil 1 und Teil 2 zum Nachlesen.

 

RFID Projekt: Computer Ein-/Ausschalter

In diesem Projekt ersetzen wir den Ein-/Ausschalter eines Desktop Computers durch einen Mikrocontroller mit RFID Lesegerät. Um den Computer einzuschalten, hält man nach dem Umbau eine RFID Karte an die Gehäusewand und der PC geht an, wenn die Karte als berechtigt einprogrammiert wurde.

 

Material

  • RFID Lesegerät und RFID Chipkarte - beides ist enthalten in unserem RFID-Kit
  • Mikrocontroller - z.B. unseren Nano V3
  • NPN Transistor
  • Mainboard Handbuch
  • RGB LEDs (optional)

 

Mainboard Anschluss

Um den PC ein- und auszuschalten, muss der Mikrocontroller mit dem Mainboard verbunden werden. Ein normaler PC An/Aus-Schalter funktioniert so, dass er während dem Gedrücktwerden eine Verbindung auf dem Mainboard überbrückt. Die Abbildung illustriert diese Funktionalität.

Die Kontrolle dieser Überbrückung soll hier an einen Mikrocontroller übergeben werden. Dazu eignet sich ein NPN-Transistor, der die elektrische Eigenschaft hat, die Anschlüsse Collector und Emitter zu verbinden, wenn am Base-Anschluss eine Spannung anliegt. In der Abbildung ist zu sehen, wie der Mikrocontroller, das Mainboard und der Transistor zusammengeschlossen werden. Wenn an der Base des Transistors eine Spannung anliegt, der digitale Mikrocontroller Output-Pin also auf High gesetzt ist, ist das so, als ob der Power Button gedrückt werden würde.

Um die Verkabelung in deinem PC durchzuführen kannst du entweder die Kabel des Power-Schalters von der Frontblende bis zum Mainboard verfolgen oder im Mainboard Handbuch nachlesen, wo die zuständigen Pins zu finden sind.

 

Im Mainboard Handbuch finden sich Informationen zur genauen Position der Pins.

 

RFID Lesegerät

Das RFID Lesegerät wird mit dem Mikrocontroller verbunden. Details zur Verkabelung findest du in unserem Blog Post RFID Einführung. Im Einsatz liest das RFID Lesegerät den Unique Identifier (UID) der angelegten Karte aus und gleicht diese mit den in einer Liste gespeicherter UIDs ab. In dieser Liste sind nur UIDs von den Karten eingetragen, die Erlaubnis haben, den PC einzuschalten. Die UIDs deiner RFID Karte(n) kannst du nach dem Verkabeln mit dem Read UID Beispiel-Sketch (Link https://github.com/Simsso/Arduino-Examples/blob/master/RFID/ReadUID/ReadUID.ino) einfach per Serial-Monitor auslesen. Notier dir die vier Bytes, die zum Beispiel so aussehen: B5 A3 2B 1B. Erkennt der Mikrocontroller, dass die UID der angelegten RFID Karte in der Liste der akzeptierten Karten vorhanden ist, so schaltet er den Transistor für eine halbe Sekunde. Dieser Vorgang entspricht dem Drücken des PC Schalters.


Die Stromversorgung der Elektronik kann über ein USB Kabel erfolgen, das du von außen in das Gehäuse verlegst. Schöner jedoch ist die Lösung, die internen USB Anschlüsse zu verwenden: Die Position dieser entnimmst du gegebenenfalls auch dem Handbuch deines Mainboards. Die internen USB Anschlüsse liefern 5V und können daher an einen 5V Mikrocontroller (zum Beispiel Arduino Nano, Uno, ...) direkt angeschlossen werden. Dazu müssen die 5V Pins von USB Anschluss und Mikrocontroller und die Ground (GND) Pins verbunden werden.

 

Einbau

Nach der Verkabelung von Mainboard, RFID Lesegerät und Mikrocontroller, geht es an den eigentlichen Einbau. Das RFID Lesegerät kann circa 2 bis 4 cm entfernte Karten erkennen. Es kann daher zum Beispiel auf der Innenseite der Gehäusewand oder hinter einer Laufwerkschacht-Blende (siehe Abbildungen) angebracht werden.



Software

Der verwendete Arduino Sketch kann auf GitHub (Link hierzu) heruntergeladen werden und soll hier auszugsweise erklärt werden. Nach dem Importieren der benötigten Bibliotheken wird ein Array mit berechtigten UIDs angelegt. Alle Chipkarten, deren UID in diesem Array vorkommt können den PC-Schalter betätigen. Trag hier deine UID(s) ein:


const uint8_t PERMITTED_UIDS[UID_COUNT][UID_LENGTH] = {

 { 0xB5, 0xA3, 0x2B, 0x1B },

 { 0x3A, 0x06, 0xE8, 0xAB }

};


In diesem Fall wären die Chipkarten mit den UIDs B5 A3 2B 1B und 3A 06 E8 AB berechtigt, den PC an- und auszuschalten. Bei einer Veränderung der Anzahl an UIDs muss auch die Variable UID_COUNT an die neue Anzahl angepasst werden.


Im eigentlichen Code wird überprüft, ob eine neue Karte am Lesegerät anliegt. Wenn das der Fall ist wird deine UID ausgelesen (Details dazu findest du in unserem Post RFID Lesen und Schreiben) und mit den gespeicherten UIDs abgeglichen. Diese Aufgabe übernimmt die Funktion bool isPermitted(uint8_t *uid).  Existiert ein Match, so wird Pin 2 (an diesem Pin ist die Base des NPN-Transistors angeschlossen) für eine halbe Sekunde auf high geschaltet. Die Kontakte auf dem Mainboard werden dadurch überbrückt und der PC geht an!


Das ganze System kann mit RGB LEDs erweitert werden. Zum Beispiel indem diese bei einer erkannten Karte grün leuchten und bei einer abgelehnten rot. Ein leicht modifizierte Version des oben verlinkten Programms, die eine NeoPixel LED Ring mit 8 RGB LEDs ansteuert, findet sich hier (Link https://github.com/Simsso/Arduino-Examples/blob/master/RFID/ComputerSwitchLED/ComputerSwitchLED.ino).


Zugriff gewährt! Dieser PC wurde durch den RFID Chip eingeschaltet.


Keine Berechtigung!

 

Wir hoffen unser erstes Projekt hat dir gefallen - über Rückmeldungen mithilfe der Kommentarfunktion freuen wir uns sehr!

In unserem nächsten Blog Post gibt es eine Einführung in die Handhabe mit unserem 16x2 LCD Display. Du findest das Tutorial dazu ab morgen auf unserem Blog unter az-delivery.de, also am besten täglich neu vorbeischauen um täglich spannende Tutorials und tolle Projekte zu finden!

Dein

Team AZ-Delivery

Für arduinoProjekte für fortgeschrittene

Leave a comment

All comments are moderated before being published

Recommended blog posts

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery