Beispiel fuer das Auslesen von RFID Tags mittels RFID Reader

Dependencies:   MFRC522 mbed

ReaderTags
RFID ReaderRFID Tags

RFID (engl. radio-frequency identification - „Identifizierung mit Hilfe elektromagnetischer Wellen“) bezeichnet eine Technologie für Sender-Empfänger-Systeme zum automatischen und berührungslosen Identifizieren und Lokalisieren von Objekten (Produkte - Lebewesen) mit Radiowellen.

Ein RFID-System besteht aus einem Transponder (umgangssprachlich auch Funketikett genannt), der sich am oder im Gegenstand bzw. Lebewesen befindet und einen kennzeichnenden Code enthält, sowie einem Lesegerät zum Auslesen dieser Kennung.

RFID-Transponder können so klein wie ein Reiskorn sein und implantiert werden, etwa bei Menschen oder Haustieren.

Die Kopplung geschieht durch vom Lesegerät erzeugte magnetische Wechselfelder geringer Reichweite oder durch hochfrequente Radiowellen. Damit werden nicht nur Daten übertragen, sondern auch der Transponder mit Energie versorgt.

Der RFID Reader benötigt die MFRC522 Library. Der Reader wir via SPI angesprochen. Auf den Shields ist ein entsprechender Steckplatz vorgesehen.

Anwendungen

  • Fahrzeugidentifikation
  • Banknoten
  • Bezahlkarten
  • Identifizierung von Personen
  • Textilien und Bekleidung
  • Tieridentifikation
  • Waren- und Bestandsmanagement
  • Müllentsorgung
  • Zutrittskontrolle und Zeitkontrolle

Der RFID Reader hat einen eigenen Steckplatz oben auf dem Shield

Committer:
marcel1691
Date:
Fri Mar 25 17:07:01 2016 +0000
Revision:
4:00eaa9fcd3ef
Parent:
3:8725b25bcb6f
undo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
stefan1691 0:11e985b9e380 1 /** Beispiel fuer das Auslesen von RFID Tags mittels RFID Reader
stefan1691 0:11e985b9e380 2 */
stefan1691 0:11e985b9e380 3 #include "mbed.h"
stefan1691 0:11e985b9e380 4 #include "MFRC522.h"
marcel1691 4:00eaa9fcd3ef 5
stefan1691 1:b74bf480b4bf 6 // NFC/RFID Reader (SPI)
stefan1691 0:11e985b9e380 7 MFRC522 rfidReader( D11, D12, D13, D10, D8 );
marcel1691 4:00eaa9fcd3ef 8
stefan1691 0:11e985b9e380 9 int main()
stefan1691 0:11e985b9e380 10 {
stefan1691 0:11e985b9e380 11 printf("RFID Reader MFRC522 Test\n");
stefan1691 0:11e985b9e380 12 rfidReader.PCD_Init();
marcel1691 4:00eaa9fcd3ef 13
stefan1691 0:11e985b9e380 14 while ( 1 )
stefan1691 0:11e985b9e380 15 {
stefan1691 0:11e985b9e380 16 // RFID Reader
stefan1691 0:11e985b9e380 17 if ( rfidReader.PICC_IsNewCardPresent())
stefan1691 0:11e985b9e380 18 if ( rfidReader.PICC_ReadCardSerial())
stefan1691 0:11e985b9e380 19 {
stefan1691 2:d4578984e864 20 // Print Card UID (2-stellig mit Vornullen, Hexadecimal)
marcel1691 4:00eaa9fcd3ef 21 printf("Card UID: ");
stefan1691 2:d4578984e864 22 for ( int i = 0; i < rfidReader.uid.size; i++ )
marcel1691 4:00eaa9fcd3ef 23 printf("%02X:", rfidReader.uid.uidByte[i]);
marcel1691 4:00eaa9fcd3ef 24 printf("\n");
stefan1691 2:d4578984e864 25
stefan1691 0:11e985b9e380 26 // Print Card type
stefan1691 2:d4578984e864 27 int piccType = rfidReader.PICC_GetType(rfidReader.uid.sak);
marcel1691 4:00eaa9fcd3ef 28 printf("PICC Type: %s \n", rfidReader.PICC_GetTypeName(piccType) );
stefan1691 0:11e985b9e380 29 }
stefan1691 0:11e985b9e380 30 wait( 0.2f );
stefan1691 0:11e985b9e380 31 }
stefan1691 0:11e985b9e380 32 }