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:
stefan1691
Date:
Fri May 01 06:25:07 2015 +0000
Revision:
2:d4578984e864
Parent:
1:b74bf480b4bf
Child:
3:8725b25bcb6f
Spezialdatentypen entfernt

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"
stefan1691 0:11e985b9e380 5
stefan1691 1:b74bf480b4bf 6 // NFC/RFID Reader (SPI)
stefan1691 0:11e985b9e380 7 MFRC522 rfidReader( D11, D12, D13, D10, D8 );
stefan1691 0:11e985b9e380 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();
stefan1691 0:11e985b9e380 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)
stefan1691 0:11e985b9e380 21 printf("Card UID: ");
stefan1691 2:d4578984e864 22 for ( int i = 0; i < rfidReader.uid.size; i++ )
stefan1691 0:11e985b9e380 23 printf("%02X:", rfidReader.uid.uidByte[i]);
stefan1691 0:11e985b9e380 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);
stefan1691 2:d4578984e864 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 }