AEQ-WEB

Android NFC RFID TAG Reader Writer
Arduino
05.01.2019

Arduino RFID Karten

Für dieses Projekt gibt es auch ein Video auf Youtube: RFID NFC Karten lesen und beschreiben mit dem Arduino und einem RC552 Modul


NFC Karten sind mittlerweile aus dem Alltag nicht mehr wegzudenken. Die Karten werden gerne für kontaktloses Bezahlen, als Alternative zum Schlüssel (Türöffner) oder auch als Personalkarte für die Zeiterfassung und größeren Unternehmen verwendet. In diesem Artikel zeigen wir, wie so eine Karte und das Lese/Schreibgerät mit dem Arduino funktionieren.


Verdrahtungsplan

Das RFID-RC522 Modul arbeitet mit 3,3 Volt Versorgungsspannung. Die Datenübertragung erfolgt über SPI (Serial Peripheral Interface) und benötigt daher die üblichen 4 Datenleitungen von Pin D10 bis D13. Die digitalen Pins arbeiten mit 5 Volt, was für das Modul kein Problem darstellt. Auf den Pin 5 ist noch die RST-Leitung angeschlossen.


Arduino RFID RC522 NFC Module Wiring

Arduino Library

Es gibt in Internet sehr viele verschiedene Librarys. Achtung: Bei der Verwendung von mehreren Librarys, gibt es immer die gleiche Datei "MFRC522.h". Diese Datei wird jedoch gerne modifiziert und ist dann mit anderen Codebeispielen aus dem Internet nicht kompatibel. Deshalb sollte immer mit den Codebeispielen der aktuell verwendeten Library gearbeitet werden und die anderen Bibliotheken entfernt werden. Wir haben hier die Library von Miguel Balboa verwendet, die auch für Einsteiger noch verständlich ist.


Beschreiben der Karte

Die Module sind in der Lage, RF-ID Karten zu lesen und zu beschreiben. In der oben erwähnten Bibliothek gibt es einen Beispielcode (rfid_write_personal_data), der es erlaubt, Daten auf die Karte zu schreiben. Wenn der Code hochgeladen wurde und das Modul sowie die Karte erkannt wurde, kann die RFID-Card beschreiben werden. Über den Serial Monitor wird ein Name eingegeben, der dann auf die Karte geschrieben und gespeichert wird. Dieser Name kann dann von Reader gelesen werden. Anstatt den Namen, kann man hier auch einen Schlüssel speichern, der dann für eine Authentifizierung verwendet werden kann.


Arduino RFID Write to Card Serial Monitor

Lesen der Karte

Nachdem die erste Karte erfolgreich bespielt wurde, kann diese Karte jetzt ausgelesen werden. Dazu wird auf das Arduino Board der zweite Beispielcode (rfid_read_personal_data) hochgeladen. Wenn auch hier das Modul lesebereit ist, sieht man im Serial Monitor den zuvor auf die Karte gespeicherten Namen.


Arduino RFID Read from Card Serial Monitor

Sicherheitsinfo

Grundsätzlich werden die Daten bei RFID-Karten unverschlüsselt gespeichert. Deshalb gibt es auch keinen Schutz, der zu 100% einen Kopierschutz garantiert. Jedoch hat jede Karte eine eindeutige UID. Diese UID ist fest im Chip programmiert und kann nicht verändert werden. Sollte das Projekt wirklich für sicherheitsrelevante Anwendungen verwendet werden, so muss unbedingt auch die UID Nummer verglichen werden.


RFID mit Smartphones

RF-ID Karten können teilweise auch mit dem Smartphone gelesen werden. Unter Android haben wir eine App (RFID NFC Werkzeug), die es ermöglicht über NFC die UID und die Schlüssel der Karte auszulesen. Neben Mifare unterstützt die App auch noch andere gängige NFC Karten. Der auf die Karte geschriebene Name ist hier allerdings nur als Hexadezimaler Schlüssel sichtbar, da die Library ein eigenes Konvertierungsverfahren hat.


Android NFC RFID TAG Reader App