Tagebuch [MiniTagebuch] PC mit RFID-TAGs schalten (inkl.Video´s) -- Nie wieder Password

chk1987

Komplett-PC-Käufer(in)
[MiniTagebuch] PC mit RFID-TAGs schalten (inkl.Video´s) -- Nie wieder Password

Dieses Projekt ist im Rahmen einer Lehrveranstaltung im Masterstudiengang Informatik und Kommunikationssysteme an der HS Merseburg (FH) entstanden. Das eigentliche Ziel war es, mit einem Mikrocontroller einfache RFID Karten, bzw. deren TAGs auszulesen, um diese auf einem 16x2 LCD anzuzeigen. Jetzt möchte ich, dass mir das Ganze auch Privat nutzt. Ich kam auf die Idee, dass man einen Rechner per RFID-Card sichern könnte und sich somit das Kennwort spart. Vielleicht kann es ja der eine oder andere gebrauchen. Der Nachbau ist relativ einfach.

Ziel:

Mein Rechner soll nicht mehr über den An/Aus-Taster ein- oder ausgeschaltet werden, sondern mit einer RFID-Card / einem RFID-Schlüsselanhänger / einer sonstigen Bauform eines RFID-TAGs.



Wozu?

Wenn man den Rechner ohne die Card nicht einschalten kann, ist auch ein Kennwort hinfällig ;)


Grobes Konzept:

Als erstes muss eine geeignete Hardware entworfen werden, die RFID Tags auswerten kann, um damit den Rechner zu steuern (vorerst nur ein/aus). Hierzu möchte ich einen einfachen Mikrocontroller verwenden. Die Steuerung tritt dann an die Stelle des Ein/Ausschalters.
Es wäre allerdings auch denkbar, über ein Relais direkt die Versorgungsspannung (230V) des Rechners zu schalten. Das möchte ich hier nicht beschreiben, weil ich nicht schuld sein möchte, wenn beim Nachbau Todesfälle auftreten. :(
In jedem Fall übernehme ich keine Verantwortung für Schäden an eurer Hardware, wenn ihr das Projekt nachbaut und verwendet. ;)



Funktionen:

-
Speichern eines RFID-Tags (also registrieren der Zugangskarte/Schlüsselanhänger o.ä.)
-
Auslesen des RFID Tags
o
Entscheidung ob registriertes oder nicht registriertes TAG
o
Ein- Ausschalten des Rechners bei Erkennung des richtigen TAGs
o
Verweigern bei falschem TAG
o
Anzeige auf einem LCD

Los geht’s ;)
Soviel sei gesagt: Es funktioniert bereits. In den folgenden Tagen/Wochen/Monaten möchte ich das RFID Modul vorstellen. Los geht’s mit einem Schaltplan und dem ersten Versuchsaufbau auf einem Steckbrett. So kann schon mal die Funktion überprüft werden.

Der Schaltplan:

Der Schaltplan ist in zwei Seiten unterteilt. Die erste Seite enthält die Beschaltung des Mikrocontrollers AT Mega8. Die zweite Seite beschäftigt sich mit der Beschaltung des EM4095. Diese beiden ICs bilden das eigentliche Herzstück des Projekts. Ich möchte nun kurz erläutern, wie und evtl. auch warum bestimmte Elemente verschalten wurden.

Die Controllerbeschaltung


Schaltplan1.jpg

Diese Schaltung enthält die notwendige Beschaltung des Controllers AT Mega 8. Angebunden ist ein Display, ein Taster zur Nutzereingabe (SAFE_TAG) und ein Reset-Taster um den Controller in den Ausgangszustand zurückzusetzen. Eigentlich müsste man eher sagen, "um das Programm zurückzusetzen". Die grobe Beschaltung des Controllers kann eigentlich schon dem Datenblatt entnommen werden. Dieses findet ihr unter:

DATENBLATT ATMEGA8


Was immer beschalten werden muss:
- VCC / AVCC an 5V Versorgungsspannung
- GND an die Masse bzw. "Minus"-Pol einer Batterie

Zwischen die Betriebsspannung und die Masse sollen laut Datenblatt immer 100nF Kondensatoren geschalten werden, um Störspannungen (AC) vom Controller fern zu halten. Das Prinzip ist dabei einfach. Vereinfacht gesagt stellen die Kondensatoren für Gleichstrom einen unendlichen Widerstand dar. Der Strom fließt also lieber woanders lang (immer nach dem Motto : Der Weg des geringsten Widerstands). Der Gleichstrom fließt also in den Controller, wo er auch hin soll. Sollten auf der Gleichspannung Wechselstromanteile vorhanden sein, fließen diese über die Kondensatoren gegen die Masse. Für AC, also Alternating Current (Wechselstrom) stellt der Kondensator keinen Widerstand dar. Die beschriebenen Kondensatoren könnt ihr im Schaltbild sehen (C11;C13)

Kommen wir zu den Schaltern. Die Schalter schalten gegen Masse. Das heißt: Ist ein Taster gedrückt, detektiert der Controller einen LOW-Pegel, also eine logische Null. Ist der Schalter nicht gedrückt, muss sichergestellt werden, dass die Leitung irgendwie wieder auf
5V Spannung kommt, um eine logische 1 zu signalisieren. Dafür sind die Widerstände R2 und R5 da. Ist der Taster nicht gedrückt, fließt ein sehr kleiner Strom und der Pegel beträgt 5V.

Das Display ist nur durch seine Steckkontakte eingezeichnet. Dieses wird an PORTC des Controllers angebunden. Es gibt vier Datenleitungen (PC0...PC3) und zwei Steuerleitungen (PC4 und PC5). Weiterhin seht ihr einen Widerstand von 100 Ohm. Dieser ist für die Strombegrenzung der Displaybeleuchtung. Dazu kommt natürlich die Betriebsspannung und Masse. Der Trimmer R4 dient der Einstellung des Kontrasts am Display. Weitere Informationen über ein solches Display könnt ihr zum Beispiel folgendem Datenblatt entnehmen.

DATENBLATT DISPLAY

Jetzt haben wir es fast geschafft. Es gibt da jetzt noch einige Leitungen, an denen zwar etwas steht, die aber scheinbar in die "Luft" führen. Das ist natürlich nicht so. Sehen wir uns den Schaltplan des EM4095 an, so werden wir die Leitungen mit der gleichen Bezeichnung finden. Das ist ein übliches Mittel um eine Übersichtlichkeit zu schaffen. Merke: Leitungen die nicht verbunden sind, aber den gleichen Namen haben, sind eigentlich verbunden.

Die Pins, die mit ISP1..6 bezeichnet sind, führen auf eine 2*3 polige Stiftleiste und dienen dem Anschluss des Programmiergeräts. Das wird dann im noch folgenden Bordlayout sichtbar.

Das letzte Element im Schaltplan ist die Ansteuerung eines Transistors, der dann letztendlich den PWR_BTN im Rechner ersetzt. Wird am Controller am Pin 0 des Ports B ein HIGH-Pegel (5V) ausgegeben, steuert der Transistor vollständig durch und schließt die beiden PINS des PWR_Connectors am Mainboard kurz (genauso, wie es auch der PWR_BTN tun würde). Der Widerstand R12 mit 1000 Ohm sorgt für eine Strombegrenzung. Wer noch nie mit Transistoren gearbeitet hat, kann sich das in diesem Fall wie einen kleinen elektronischen Schalter vorstellen (stark vereinfacht).

Die Beschaltung des EM4095

schaltplan2.jpg

Wenn man mal in das Datenblatt des EM4095 schaut, wird man feststellen, dass auch die Beschaltung des EM4095 keine Hexerei ist, sondern vieles bereits vorgegeben wird.

DATENBLATT EM4095

Ausser den Kondensatoren C8,C9,C10 und dem Widerstand R1 kann der Rest der Beschaltung dem Datenblatt entnommen werden. Das einzig schwierige ist die Herstellung eines Serienschwingkreises aus der Luftspule (1,62mH) und den Kondensatoren C8,C9 und C10. Der Widerstand R1 dient auch hier wieder der Strombegrenzung. Der Kondensator C8 ist dierekt mit der Spule (im Schaltplan ANTENNE) in Reihe geschaltet. Parallel dazu sind die Kondensatoren C9 und C10 als kapazitiver Spannungsteiler geschalten. Ich möchte an dieser Stelle nicht weiter darauf eingehen. Dies überlasse ich der Fachliteratur ;) Wie berechnet man nun die richtigen Werte für C8 C9 und C10 ???

Wir wissen, dass wir eine Resonanzfrequenz von f=125kHz für die Spule erzeugen wollen. Dazu kennen wir die Induktivität der Luftspule, bzw. Antenne mit L=1,62mH.

f = 1/ (2PI*SQRT[LC]) ist die Formel für die Resonanzfrequenz des Schwingkreises. Wir wollen die Kapazität von C wissen. ACHTUNG! C setzt sich aus C8, C9 und C10 zusammen.

Man könnte obige Formel erstmal nach C umstellen. Ich habs allerdings durch probieren gemacht. Für C8 habe ich 1nF angenommen und die anderen beiden Werte variiert, bis ich meine Frequenz nach obiger Formel hatte.

C= C8 + [(C9*C10)/(C9+C10)]

Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe... Wenn nicht, fragt einfach. ;)


Materialliste:
- 1x Lochrasterplatine
- 1x AT Mega8 µC
- 2x Taster
- Widerstände (siehe Schaltplan)
- Kondensatoren (siehe Schaltplan)
- 1x Luftspule (1,62 mH)
- 1x EM4095
- 1x 16x2 Display
- Stiftleisten
- Buchsenleiste
- Litzen
- ISP Programmer
- Lötkolben
- RFID TAG(s)



Der Aufbau auf dem Steckbrett:
P1060556.JPG P1060557.JPG P1060558.JPG

Das folgende Video zeigt die Funktion ganz gut. An die Stelle der LED (die leuchtet, wenn das richtige Tag vorhanden ist) rücken dann die PWR_BTN Pins des Mainboards.

VIDEO
Eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Für mehr Informationen besuche die Datenschutz-Seite.

Im Video ist zu sehen, dass vorerst keine der beiden Karten angenommen wird. Dies ist der Fall, wenn der Controller frisch programmiert ist. Es muss also zuerst eine
Karte als "gültige Karte" registriert werden. Dies geschieht über den Taster. Neue Karten können so oft wie nötig registriert werden, zurzeit allerdings nur eine zur selben Zeit.
Wird die richtige Karte über die Luftspule geführt, leuchtet die LED kurz auf. Auf dem Display wird der Status auch noch mal angezeigt.

Erster Test am Rechner:

Für den ersten Test am Rechner ist es wichtig, eine 5V Standbyleitung zu finden, um die Schaltung mit Strom zu versorgen, wenn der Rechner nicht an ist. Ich nutze dazu einfach die USB Header.
Über den Transistor (siehe Schaltplan) werden die beiden Pins auf dem Mainboard kurzgeschlossen, wenn das richtige TAG erkannt wird. Ich denke, dass man das im folgenden Video ganz gut sehen
kann, dass es auch im Prototypenstatus ganz gut funktioniert... ;)

VIDEO
Eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Für mehr Informationen besuche die Datenschutz-Seite.

BOARDLAYOUT

Ich habe für meine Zwecke ein Boardlayout ohne Display erstellt, da man dieses eigentlich nicht braucht. Im RAR-Archiv (unter "Wie kommt das Programm in den Controller?") findet ihr auch die Layoutdateien, die ihr mit dem Programm eagle 6 von CADsoft auch noch nachbearbeiten könnt. Wenn ihr die Platine fertigen lassen wollt, schaut euch mal das hier an: Platinensammler - Leiterkarten für 30ct/cm² - Mikrocontroller.net

Zwischenablage-1.jpg


Schaltplan und Boardlayout (eagle-files) gibts hier: http://db.tt/mJaqr0gM

Wie kommt das Programm in den Controller?


Das Hex-File gibt es hier: http://db.tt/mJaqr0gM



Um das Programm in den Controller zu programmieren braucht man eine geeignete Entwicklungsumgebung und ein Programmiergerät. Ich verwende das AVR Studio in Version 6 und den zugehörigen
kleinsten Programmer aus dem Hause Atmel. Ihr könnt aber auch gerne einen Nachbau verwenden. Es gibt eine ganze Menge von Nachbauten. Schaut euch evtl. auch mal in der Bucht um. Der Haken
daran ist nur, dass es keine Garantie für die Funktion der Nachbauten gibt. Habt ihr also vor, euch etwas intensiver mit den Controllern von Atmel zu beschäftigen, rate ich zum originalen AVR ISP mkII.

Wenn Ihr das Hex-File heruntergeladen habt, müsst ihr den Programmer entsprechend den Pins (ISP1..6) aus dem Schaltplan verdrahten. Startet das Atmel AVR Studio.
In der oberen Buttonleiste startet ihr den Programmiermodus
Schritt 1.jpg

Das Fenster des Programmiermodus sollte sich nun öffnen.
Schritt 2.jpg

1. Tool auswählen
2. Device auswählen
3. APPLY KLICKEN
4. Read Signature klicken.

Wenn bis jetzt keine Fehlermeldung kommt, ist das schon mal sehr gut. Sollte eine Fehlermeldung auftreten, liegt höchstwahrscheinlich ein Verdrahtungsfehler vor.

5. Setzt den ISP Clock auf 125kHz (Wenn ihr einen nagelneuen Controller gekauft habt, ist dieser auf eine interne Arbeitsfrequenz von 1 MHz programmiert worden. Die Programmierfrequenz muss <1/4 des Systemtakts sein. Also < 250kHz)

6. Wechselt am linken Rand in den Reiter Fuses

Schritt 3.jpg

1. Um den Controller mit 8 MHz zu betreiben, müsst ihr dies entsprechend des Bildes einstellen (SUT_CKSEL)
2. Klickt auf Program!
3. Wechselt zurück auf den Reiter Interface Settings und stellt den ISP Clock auf 1MHz
4. Wechselt zum Reiter Memories

Schritt4.jpg

Jetzt kommen wir zum eigentlichen Programmiervorgang.

1. Wählt unter Flash die heruntergeladene Hex-Datei aus.
2. Klickt PROGRAM

Jetzt sollte das Programm auf dem Controller laufen.
 

Anhänge

  • schaltplan1.jpg
    schaltplan1.jpg
    83,1 KB · Aufrufe: 690
Zuletzt bearbeitet:
AW: [MiniTagebuch] PC mit RFID-TAGs schalten -- Nie wieder Password

Also ich finde die Idee richtig geil! Jedoch fehlt mir auf diesem Gebiet einfach der nötige Wissensstand um deine ganzen Schaltpläne und so weiter richtig nach zu vollziehen.
Trotzdem: Geile Sache! So ähnlich wie wenn man bei der Arbeit solche Türen mit ner Karte öffnen kann...
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten -- Nie wieder Password

So ähnlich wie wenn man bei der Arbeit solche Türen mit ner Karte öffnen kann...

Genau, ist genau die gleiche Technik ;) Du könntest dann auch deinen RFID Schlüsselanhänger von der Arbeit am Rechner registrieren und damit den Rechner schalten... (wenns ein 125kHz Chip ist) ;)
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten -- Nie wieder Password

Genau, ist genau die gleiche Technik ;) Du könntest dann auch deinen RFID Schlüsselanhänger von der Arbeit am Rechner registrieren und damit den Rechner schalten... (wenns ein 125kHz Chip ist) ;)

;DD ich glaube das müsste sogar ein 125 KHz sein...ich weiss es zwar nicht ist aber genau so eine weisse karte... ;D
Interessant...hatte auch einmal sowas geplant wusste nur nicht wie ich es umsetzen muss....vielleicht kommt es in meinen nächsten PC rein ;D
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten -- Nie wieder Password

.hatte auch einmal sowas geplant wusste nur nicht wie ich es umsetzen muss....vielleicht kommt es in meinen nächsten PC rein ;D

Ja, jetzt hast du ja eine Vorlage. Ich werde in den nächsten Tagen ein vernünftiges Boardlayout und andere Sachen nachreichen, die zum Nachbau nötig sind. Dann muss man nur noch löten und Controller flashen können, oder jemanden kennen, der das kann ;)
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten -- Nie wieder Password

Nicht schlecht :D
Darf ich fragen wofür der Trimmer R4 auf dem ersten Plan ist?
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten -- Nie wieder Password

Ja, jetzt hast du ja eine Vorlage. Ich werde in den nächsten Tagen ein vernünftiges Boardlayout und andere Sachen nachreichen, die zum Nachbau nötig sind. Dann muss man nur noch löten und Controller flashen können, oder jemanden kennen, der das kann ;)

Dann sollte man das später also auch auf ner normalen 2,4mm Lötplatine selber machen können? Oder brauch ich da was spezielles? Nein Oder?
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten -- Nie wieder Password

Dann sollte man das später also auch auf ner normalen 2,4mm Lötplatine selber machen können? Oder brauch ich da was spezielles? Nein Oder?

Richtig. (2,54mm). Du brauchst natürlich die Bauelemente, die ich oben aufgelistet habe. Bei dem EM4095 wird es ein wenig knifflig. Der ist nicht im DIP Gehäuse verfügbar. Da musst du dann Litzen anlöten um den auf die 2,54 mm Lochrasterplatine zu bekommen. Alternativ könntest du auch ein wenig warten, bis das Bordlayout steht. Ich habe dann auch eine Adresse, wo man die Platine professionell für ungefähr 10€ fertigen lassen kann.
Der nächste Schritt ist dann, das Programm in den Controller zu bekommen. Dabei kann ich dir helfen. Kann man ja, wenn es so weit ist per PN besprechen.
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten -- Nie wieder Password

Update:
Wie kommt das Programm in den Controller hinzugefügt
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten -- Nie wieder Password

Update:
Erläuterung des Schaltplans (in VEREINFACHTER FORM)
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten (inkl.Video´s) -- Nie wieder Password

Wie genial ist das denn !

Die meisten Bauteile und den ISP hab ich vom Coptern sowieso rumliegen...fehlt nur noch Display und RFID-Zeugs.

Danke Mann, das ist einfach eine super Idee :daumen:

Übrigens läuft mein Clone-Programmer wunderbar und billiger gings wirklich nicht mehr. Direkt aus dem Reich der Mitte :
http://dx.com/p/usb-isp-programmer-for-atmel-avr-atmega-attiny-51-board-148046?item=1
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten (inkl.Video´s) -- Nie wieder Password

Wie genial ist das denn !

...

Übrigens läuft mein Clone-Programmer wunderbar und billiger gings wirklich nicht mehr. Direkt aus dem Reich der Mitte :
USB ISP Programmer for ATMEL AVR ATMega ATTiny 51 Board - Free Shipping - DealExtreme

Freut mich, dass es dir gefällt.

Zum Programmer: Ich weiß, dass es günstige Nachbauten gibt, die auch funktionieren. Nur kann ich nicht dafür garantieren. Du scheinst ja auch ein wenig Erfahrung zu haben und weißt daher sicher wie frustrierend es sein kann, wenn man alles richtig gemacht hat und es dann nicht geht, weil man an der Hardware was verbastelt hat ;-) Deswegen empfehl ich Anfängern immer den originalen Programmer um erste Fehlerquellen auszuschließen.
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten (inkl.Video´s) -- Nie wieder Password

Update:
Beispiel für ein Boardlayout hinzugefügt
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten (inkl.Video´s) -- Nie wieder Password

@BrainChecker

Hast du´s schon umgesetzt?
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten (inkl.Video´s) -- Nie wieder Password

krasses Projekt.

Endlich mal was elektronisch anspruchsvolleres. Hab die Platine gleich mal nachgebastelt und bestellt!
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten (inkl.Video´s) -- Nie wieder Password

Oh Super,

habs wegen den sonstigen im Studium anfallenden Projekten noch nicht geschafft das ganze weiterzuverfolgen. Evtl. kannst du ein paar Bilder uploaden, wenns denn eingebaut ist
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten (inkl.Video´s) -- Nie wieder Password

Mach ich, sobald ich das ganze zusammen hab. Hab dem Jakob Kleinen geschrieben. Mein Board ist wahrscheinlich Ende März da...
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten (inkl.Video´s) -- Nie wieder Password

@freak
Hast du dein Board bekommen? Was ist draus geworden?
 
AW: [MiniTagebuch] PC mit RFID-TAGs schalten (inkl.Video´s) -- Nie wieder Password

Hallo werde jetzt versuchen das Projekt nach zubauen.
Könnte man vielleicht den quelcode seien???
 
Zurück