NFC-Entwicklung
Die NFC-Technologie ist besonders für Entwickler interessant, da sich mit ihr zahlreiche neue Interaktionsmöglichkeiten ergeben. Dank wohldefinierter Standardformate lässt sich NFC vergleichsweise einfach in existierende Systeme integrieren. In folgendem Leitfaden möchten wir zunächst ein paar Grundlagen zum Thema Entwickeln mit NFC erläutern und anschließend Details zu den einzelnen Plattformen diskutieren.
Was mit NFC möglich ist
NFC ermöglicht grundsätzlich die kontaktlose Kommunikation mit einer Reichweite von 0-8 cm. Kommunikation kann zwischen zwei NFC-fähigen Geräten erfolgen oder zwischen NFC-Endgerät und NFC-Tag. Beide Anwendungsfälle haben jeweils ihre Stärken in unterschiedlichen Szenarien, die nachfolgend dargestellt werden:
Kommunikation zwischen zwei NFC-Endgeräten
Die Kommunikation zwischen zwei Endgeräten wird auch als P2P-Modus (Peer-to-Peer) bezeichnet. Dadurch, dass beide Geräte aktiv miteinander kommunizieren können, ist grundsätzlich ein freier Datenaustausch möglich. Voraussetzung ist jedoch, dass beide Geräte die Kommunikation "verstehen", indem die dafür benötigte Anwendung auf beiden Geräten installiert ist. Typische Anwendungsfälle sind hier zum Beispiel:
- Austausch von Schlüsselpaaren für den Aufbau einer adHoc WIFI-Verbindung (Android Beam)
- Die kontaktlose Bezahlung, bei der ein NFC-Lesegerät mit dem Smartphone kommuniziert
In den SDKs der jeweiligen Plattformen sind meist Grundfunktionen für den P2P-Modus vorhanden. Der Entwicklungsaufwand ist jedoch im Allgemeinen deutlich höher einzuschätzen als die standardisierte Kommunikation mit NFC-Tags. Darüber hinaus sollten alle unterstützten Geräte gewissenhaft getestet werden um plattformspezifische Fehler zu vermeiden. Nichts desto trotz spielt die aktive P2P Kommunikation ihre Stärken aus, wenn die zu übertragenden Daten flexibel gehalten werden sollen.
Kommunikation NFC-Endgerät mit NFC-Tag
Ziel der Kommunikation zwischen NFC-Endgerät und NFC-Tag liegt im Auslesen und interpretieren der auf dem Tag gespeicherten Daten. Auf das wesentliche reduziert, ist ein NFC-Tag nicht anderes als ein Datenträger, der beschrieben und ausgelesen werden kann. Für die Entwicklung muss zunächst die Entscheidung getroffen werden, ob die Daten in einem standardisieren Format (NDEF) hinterlegt werden oder in einer eigenen proprietären Kodierung. Zusammengefasst lassen sich unter anderem folgende Szenarien realisieren:
-
Standard NDEF-Typen (URL, Text, vCard): Die so kodierten Daten sind durch alle NDEF-fähigen Endgeräte interpretierbar und führen die dazugehörigen Aktionen aus (z.B. Browser öffnen bei einer hinterlegten URL).
-
NDEF mit eigenem MIME-Type: Daten auf NFC-Tags können als eigene Inhaltstypen (MIME-Type) hinterlegt werden. Die selbst erstellte Anwendung kann sich anschließend für den Typen im System registrieren und wird fortan automatisch aufgerufen, wenn ein Tag des Typens gescannt wird.
-
Proprietäre Formate: Die Daten werden ohne NDEF-Kodierung hinterlegt. Die dazugehörige Anwendung liest und interpretiert die Daten selbstständig. Oftmals ist dies nur mit direktem Zugriff auf die Hardwareebene des Chips/der NFC-Schnittstelle möglich.
Was zur Entwicklung von NFC-Apps benötigt wird
Um mit der NFC-Entwicklung loslegen zu können benötigt man zum einen passende, NFC-fähige Endgeräte oder alternativ universelle Lesegeräte und natürlich NFC-Tags. Sollen Anwendungen im P2P Modus entwickelt werden, ist ein zweites Endgerät nötig.
NFC-fähige Endgeräte zum Entwickeln - Smartphones
Ein NFC-fähiges Endgerät besitzt einen aktiven Transmitter für die Kommunikation im HF 13,56 MHz Bereich nach dem ISO 14 443 Standard. Eine Liste NFC-fähiger Smartphones finden Sie in unserer Smartphone Übersicht.
Besitzen Sie mehr als ein geeignetes Endgerät, können Sie eines verwenden, um NFC Tags zu simulieren. Eine günstigere Alternative besteht in der Verwendung von NFC-Tags.
NFC-fähige Endgeräte zum Entwickeln - USB Reader
NFC-USB Reader ermöglichen die Entwicklung von NFC-Anwendungen die zunächst unabhängig von der Softwareplattform sind. Dadurch, dass NFC-USB Reader den PCSC (Personal Computer/Smart Card)-Standard unterstützen, kann die NFC-Kommunikation auf PCSC Basis Plattformneutral erfolgen und ist leicht auf das Zielsystem portierbar.
NFC-Tags für die Entwicklung
Bei NFC-Tags handelt es sich um passive Transmitter für die Near Field Communication. Passiv bedeutet, dass die Tags keine eigene Stromquelle besitzen, sondern auf die Energie eines aktiven Partners angewiesen sind.
Speicherkapazität, Reichweite und Wiederbeschreibbarkeit sind von den verwendeten Schaltkreisen des NFC-Tags abhängig. So können die Tags selbst beschrieben und mehrfach verwendet werden. Damit sind diese ideal für Experimente und Entwicklung mit NFC geeignet. In unseren NFC-Tag Starter Kits erhalten Sie eine Auswahl von NFC-Tags, um mit verschiedenen Formfaktoren und Speichergrößen zu experimentieren. Eine Einschätzung, wie viel Speicher für typische Anwendungsfälle nötig ist, finden Sie hier: