Lesen und Schreiben von NFC NTAG213 Transpondern in Visual Studio mit C#

Technik | 26. März 2020

Lesen und Schreiben von NFC NTAG213 Transpondern in Visual Studio mit C#

Der NFC-Reader ACR122U von ACS ist günstig (schon ab 40 EUR z.B. bei Amazon) und recht einfach mit C# zu implementieren. Der Reader und NFC generell, bzw. auch RFID im Allgemeinen, kann z.B. für folgende Einsatzzwecke verwendet werden:

  • Zutrittskontrolle
  • Zeiterfassung
  • KANBAN Nachbestellungssysteme mit NFC
  • Payment
  • Steuerung von Prozessen in der Industrie 4.0
  • Inventurprozesse
  • Usw.

NFC kann sowohl stationär, als auch mobil über sogenannte MDE-Geräte gelesen und beschrieben werden.

Dank der PCSC Schnittstelle in Microsoft Windows 10 wird der Reader beim Anschließen per USB automatisch als Smartcard Reader erkannt.

Der NFC-Reader erkennt jetzt schon NFC-Transponder, kann diese aber nicht anzeigen oder irgendwie in Windows weiterverarbeiten. Um die NFC-Transponderdaten auszulesen gibt es eine C#-Library, die mit nuget in Visual Studio runtergeladen werden kann:

NFC-ACR122U

https://www.nuget.org/packages/NFC-ACR122U/ 

Die Verwendung der Klasse Sydesoft.NfcDevice.ACR122U ist sehr einfach. Die Initialisierung des Readers erfolgt mit wenigen Zeilen Code:

acr122u.Init(false, 50, 4, 4, 200);
acr122u.CardInserted += Acr122u_CardInserted;
acr122u.CardRemoved += Acr122u_CardRemoved;

 

Der Parameter mit dem Wert 50 steht für die maximal zu beschreibende oder zu lesende Datenmenge. Die beiden Parameter mit dem Wert 4 beschreiben die Blocklänge und den Startblock, beides ist wichtig für NTAG213-Transponder.

Zum Auslesen und Beschreiben müssen die beiden EventHandler implementiert werden:

 

private static void Acr122u_CardInserted(PCSC.ICardReader reader)

{

Console.WriteLine(„NFC Transponder wurde aufgelegt.“);

Console.WriteLine(„Unique ID: “ +
BitConverter.ToString(acr122u.GetUID(reader)).Replace(„-„, „“));

string data = „Hello World“;

Console.WriteLine(„Daten auf NFC Transponder schreiben: “ + data);

bool ret = acr122u.WriteData(reader, Encoding.UTF8.GetBytes(data));

Console.WriteLine(„Schreibvorgang: “ +
(ret ? „erfolgreich“ : „fehlgeschlagen“));

Console.WriteLine(„Daten von NFC Transponder auslesen: “ +
Encoding.UTF8.GetString(acr122u.ReadData(reader)));

}

private static void Acr122u_CardRemoved()
{
Console.WriteLine(„NFC Transponder wurde entfernt.“);
}

 

Die Ausgabe sieht für die beiden EventHandler folgendermaßen aus:

 

Hier die wichtigsten Funktionen und EventHandler im Überblick:

  • Init
  • CardInserted
  • CardRemoved
  • GetUID
  • ReadData
  • WriteData

NTAG213

Der NTAG213 NFC-Transponder besitzt einen Speicher von 180 bytes, diese sind aufgeteilt in 45 Speicherseiten zu je 4 bytes. Die ACR122UU C#-Klasse kann auch andere Transpondertypen schreiben und lesen. Dazu kann entsprechend die Blockgröße beim Initialisieren angepasst werden.

PC/SC

Die C#-Klasse verwendet PC/SC. Dafür gibt es ebenfalls eine C# Implementierung die mit nuget runtergeladen werden kann: https://www.nuget.org/packages/PCSC/

 

, , , , , , ,

Aktuelles aus Technik

Elektronikgeräte richtig reinigen

Elektronikgeräte richtig reinigen

Verstaubte Elektrogeräte wie die Spielekonsole, der Computer oder Fernseher bringen nicht ...

Die Auswirkungen von Künstlicher Intelligenz auf die Welt der Softwareentwicklung

Die Auswirkungen von Künstlicher Intelligenz auf die Welt der Softwareentwicklung

Künstliche Intelligenz (KI) bezeichnet die Fähigkeit von Computern, Aufgaben zu lösen, ...

Refurbished PC vs. gebrauchter PC

Refurbished PC vs. gebrauchter PC

Es gibt verschiedene Möglichkeiten, günstige Computer zu kaufen. Neben Angeboten, Rabatten ...

Was macht ein IT-Systemhaus?

Was macht ein IT-Systemhaus?

IT Systemhäuser gibt es in so gut wie jeder etwas größeren ...

Geschichte der Getränkeautomaten

Geschichte der Getränkeautomaten

Jeder kennt sie zum Beispiel von Bahnhöfen oder Flughäfen, von Einkaufszentren ...

Sie möchten einen Banner für die Kategorie "Technik" buchen? Sprechen Sie uns an!

Ähnliche Beiträge

Folgt uns

Neuste Beiträge

Betonschalungen: Schlüssel zur Stabilität und Präzision im modernen Bauwesen

Betonschalungen: Schlüssel zur Stabilität und Präzision im modernen Bauwesen

Betonschalungen sind ein essenzielles Werkzeug im Bauwesen. Sie bieten ...

Wasser sparen beim Duschen: so geht’s!

Wasser sparen beim Duschen: so geht’s!

Wasser ist eine wertvolle Ressource, die in den Ländern ...

Kleidung richtig waschen: worauf achten beim Waschen von Baumwolle?

Kleidung richtig waschen: worauf achten beim Waschen von Baumwolle?

Baumwolle ist dank der robusten, hautfreundlichen und pflegeleichten Eigenschaften ...

Beliebte Beiträge

Top 10 Kostenlose Stock Foto Anbieter

Top 10 Kostenlose Stock Foto Anbieter

Für seine Internetprojekte benötigt man auch immer wieder hochwertige ...

Firmenhomepage Fehler

Firmenhomepage Fehler

In der Artikelserie "Firmenhomepage Fehler" geht es um Kleinigkeiten ...

Müllabfuhrkalender & Siri bzw. HomePod: Allgemeine Fragen

Müllabfuhrkalender & Siri bzw. HomePod: Allgemeine Fragen

Wie man einen Kurzbefehl für Siri baut, durch den ...

Nanoleaf Essentials & Alexa

Nanoleaf Essentials & Alexa

Nanoleaf hat vor Kurzem erste Leuchtmittel mit dem neuen ...

Top RSS Feeds

Top RSS Feeds

RSS Feeds gibt es seit Anfand der 2000er Jahre. ...

Ähnliche Filme finden

Ähnliche Filme finden

Wer kennt es nicht? Man hat einen Film gesehen ...

Artikelverzeichnis Liste

Artikelverzeichnis Liste

Artikelverzeichnisse werden von vielen SEOs nicht mehr benutzt. Gerade ...

10 Tipps zur Conversion Optimierung Teil 1

10 Tipps zur Conversion Optimierung Teil 1

Der Großteil der Webseite im Internet zielt darauf ab, ...

In eigener Sache: responsive Design

In eigener Sache: responsive Design

Zum Jahresende haben wir Neuigkeiten: Wir haben es endlich ...