Genießen Sie von Millionen von eBooks, Hörbüchern, Zeitschriften und mehr - mit einer kostenlosen Testversion

Nur $11.99/Monat nach der Testversion. Jederzeit kündbar.

NFC mit Android und Arduino: Near Field Communication für Maker
NFC mit Android und Arduino: Near Field Communication für Maker
NFC mit Android und Arduino: Near Field Communication für Maker
eBook659 Seiten3 Stunden

NFC mit Android und Arduino: Near Field Communication für Maker

Bewertung: 0 von 5 Sternen

()

Über dieses E-Book

Near Field Communications (NFC) ist eine Übertragungstechnik zum kontaktlosen Datenaustausch per Funktechnik über kurze Strecken.

Praktisch jedes Android-Smartphone ist mit einem NFC-Modul ausgestattet.
Das Buch erläutert den Einsatz dieser rasant wachsenden Technologie mit zahlreichen Anwendungsbeispielen, mit Beispiel-Code, Übungen und Schritt-für-Schritt-Projektanleitungen. Der Leser erfährt, wie eigene NFC-Anwendungen für das Android-Smartphone, für den Arduino und Embedded-Linux-Geräte erstellt werden.
SpracheDeutsch
HerausgeberO'Reilly Media
Erscheinungsdatum1. Juli 2014
ISBN9783955618445
NFC mit Android und Arduino: Near Field Communication für Maker
Vorschau lesen

Ähnlich wie NFC mit Android und Arduino

Ähnliche Bücher

Ähnliche Artikel

Rezensionen für NFC mit Android und Arduino

Bewertung: 0 von 5 Sternen
0 Bewertungen

0 Bewertungen0 Rezensionen

Wie hat es Ihnen gefallen?

Zum Bewerten, tippen

    Buchvorschau

    NFC mit Android und Arduino - Tom Igoe

    Kolophon

    Kapitel 1. Einleitung

    Die Entstehung dieses Buches begann ganz unschuldig im März 2011 mit einer E-Mail von Brian an Tom. Brian dachte, es wäre eine gute Idee, die zweiten Auflage eines anderen Buches über Near Field Communication, Making Things Talk, an der wir damals arbeiteten, um ein paar Zeilen zu ergänzen. Es gab schon ein Kapitel zur Radio Frequency Identification (RFID) im Buch – was konnte daran so schwer sein? Zweieinhalb Jahre später hatten wir viel über NFC gelernt und mit Don Coleman, dem Autor des NFC-Plugins für PhoneGap, einen ausgezeichneten, sachkundigen Mitstreiter gefunden.

    Obwohl NFC viel Potenzial bietet, wurde der Großteil der vorhandenen Texte nicht für den Gelegenheitsprogrammierer geschrieben. Bisher wurde davon ausgegangen, dass Sie auf der Suche nach Informationen zu NFC ganz unten, sozusagen auf der Platine beginnen. Sie mussten die Details der verschiedenen beteiligten RFID-Spezifikationen verstehen und Code schreiben, der den Bytestream eines NFC-Lesers Byte für Byte auswertet. Es ist zwar nützlich, auch diese Ebene zu verstehen, aber unserer Einschätzung nach fände, NFC eine größere Verbreitung, wenn sich die Programmierer darauf konzentrieren könnten, wofür sie NFC einsetzen möchten, statt sich mit den ganzen Grundlagen herumschlagen zu müssen. Die PhoneGap-Bibliothek von Don ist das beste Tool, das wir für diesem Zweck finden konnten. Hiermit können Sie NFC-Kommunikation so einsetzen, wie es sich die Designer aus dem NFC-Forum wohl vorgestellt haben: Sie beschäftigen sich mit den auszutauschenden Nachrichten und kümmern sich nicht um den Rest.

    Ein Großteil dieses Buches orientiert sich an dieser Idee. Sie werden die Grundlagen des NFC Data Exchange Format (NDEF) kennenlernen, indem Sie Nachrichten vom Device zum Tag und zwischen Devices lesen und schreiben. Sie werden ein paar Beispielanwendungen kennenlernen – geschrieben für PhoneGap, Arduino oder Node.js – die auf Embedded Devices wie dem Raspberry Pi oder dem BeagleBone Black laufen. Sie werden etwas über die Muster erfahren, die beim Einsatz von NDEF zum Tragen kommen, und Sie erhalten auch eine Vorstellung von den Überlegungen, die bezüglich der Interaktion von NFC-Anwendungen mit der realen Welt angestellt werden.

    State of the Art bedeutet allerdings auf jeder Plattform etwas anderes. Nicht alles, was in den Spezifikationen des NFC-Forums beschrieben ist, ist für den Gelegenheitsprogrammierer auf jeder Plattform nutzbar. Wir haben versucht, Ihnen in diesem Buch einen entsprechenden Überblick zu verschaffen. In den Kapiteln am Ende des Buches beschreiben wir den aktuellen Entwicklungsstand und wo es noch Verbesserungsbedarf gibt.

    Wir hoffen, dass dieses Buch dem Gelegenheitsprogrammierer dabei hilft, ein Gespür für die Möglichkeiten von NFC zu entwickeln, und die professionellen Entwickler inspiriert, einfach anzuwendende Tools zu bauen, und auf diese Weise zu einer größeren Verbreitung von NFC beizutragen.

    Für wen dieses Buch gedacht ist

    Sie müssen kein ausgewachsener Profi-Programmierer sein, um dieses Buch nutzen zu können. Wir haben es für enthusiastische Programmier geschrieben – Leser, die schon über manches Wissen verfügen, es sich eventuell aber nicht in einem »offiziellen Rahmen« angeeignet haben. Sie werden hier nicht erfahren, wie Sie Code schreiben, der unternehmensfest ist, aber Sie erhalten eine praktische Einweisung in die Near Field Communication und das Programmieren entsprechender Anwendungen für Android, Arduino und Embedded Linux.

    Wir gehen allerdings davon aus, dass Sie schon über ein wenig Programmiererfahrung verfügen. Für die meisten Beispiele in diesem Buch sind Grundlagen in JavaScript und HTML sehr hilfreich. Bei den Arduino-Projekten werden wir Sie mit ein wenig C vertraut machen, aber wenn Sie JavaScript oder Java kennen, werden Sie den Code auch so verstehen. Es handelt sich dabei um fortgeschrittenere Projekte, bei denen auch ein wenig Elektronik-Erfahrung nützlich, aber nicht zwingend notwendig ist.

    Literaturempfehlungen

    »Was? Ich soll noch andere Bücher lesen, um dieses Buch verstehen zu können?« Nein, aber es gibt ein paar Bücher, die wir beim Schreiben dieses Werkes hilfreich fanden. Vielleicht sind Sie auch für Sie von Nutzen.

    JavaScript-Novizen sollten unbedingt JavaScript: The Good Parts von Douglas Crockford lesen. Wenn wir es uns recht überlegen, sollten Sie es auch lesen, wenn Sie JavaScript schon in- und auswendig kennen. Es hilft Ihnen, ein besserer Programmierer zu werden. Douglas Crockford erläutert klar und sauber das theoretische Fundament der Sprache und die besten Entwurfsmuster.

    Für PhoneGap und Android sind die online verfügbaren Getting Started Guides die aktuellsten Referenzen: Sie finden Sie im PhoneGap Developer Portal und auf der Android Developer Site. Eine detailliertere Einführung in Android erhalten Sie in Android 4 App-Entwicklung oder Android Programming: The Big Nerd Ranch Guide.

    Eine umfassende Einführung in NFC aus Ingenieurssicht liefern die NFC Forum Specifications als eigentliche Quelle aller Informationen (wir haben einen kleinen Teil in Anhang A aufgenommen). Außerdem halten wir Professional NFC Application Development von Vedat Coskun, Kerem Ok und Busra Ozdenizci für eine gute Referenz, insbesondere für erfahrene Java-Entwickler. Wir haben bewusst einen »einfacheren« Ansatz gewählt, da es sich bei vielen unserer Leser um Freizeit-Programmierer, Hacker und solche Entwickler, die sich gerne selbstironisch als Stümper bezeichnen, handelt.

    Wenn Sie sich mit Arduino noch nicht auskennen, bietet Arduino für Einsteiger von Massimo Banzi einen ausgezeichneten Einstieg. Making Things Talk von Tom Igoe ist eine Hilfe für erfahrene Programmierer, die etwas darüber erfahren möchten, wie man Arduino-Projekte mit Netzwerken verbindet. Im Arduino Kochbuch von Michael Margolis finden Sie ebenfalls ein paar praktische Rezepte für Arduino-Programme.

    Für Node.js, das später im Buch ins Spiel kommen wird, bietet What is Node? von Brett McLaughlin eine nette, kleine Einführung ohne Code. The Node Beginner Book von Manuel Kiessling und Hands-On Node.js von Pedro Teixeira enthalten ebenfalls hilfreiche Anleitungen für den Einstieg mit Codebeispielen.

    Gute Einführungen zum Raspberry Pi oder den BeagleBone Black (siehe Kapitel 9) finden Sie in den Tutorials von Adafruit. Die Bücher Raspberry Pi für Einsteiger von Matt Richardson und Shawn Wallace sowie BeagleBone für Einsteiger von Matt Richardson sind ebenfalls sehr gut.

    Um was es in diesem Buch geht

    In Kapitel 2 erhalten Sie eine Einführung in die Near Field Communication (NFC) auf Grundlage eines Vergleichs mit der Radio Frequency Identification (RFID). Einfach gesprochen ist NFC eine Übermenge von RFID. Es kann das meiste, was auch das für sehr kurze Entfernungen gedachte RFID kann, und mehr. Sie erhalten eine Vorschau auf die wichtigsten Begriffe, einen Einblick in die Architektur eines NFC-Systems und Sie erfahren, welche Tools Sie benötigen und wo Sie sie erhalten.

    In Kapitel 3 werden PhoneGap und das NFC-Plugin für PhoneGap vorgestellt. Sie werden die erforderlichen Tools für die Entwicklung von PhoneGap-Applikationen für Android installieren und Ihre ersten Apps bauen und ausführen. Am Ende des Kapitels werden Sie Ihr erstes NFC-Tag mit einem Android-Gerät ausgelesen haben.

    In Kapitel 4 erhalten Sie einen umfassenden Überblick über das NFC Data Exchange Format (NDEF). Sie erfahren, wie es aufgebaut ist, und sehen anhand eines Anwendungsbeispiels, wie die verschiedenen grundlegenden Aufgaben mit den unterschiedlichen NDEF-Datensatz-Typen umgesetzt werden. Auf diese Weise finden Sie heraus, wie jeder Datensatz-Typ die Benutzerinteraktion unter Android beeinflusst.

    In Kapitel 5 wird das Empfangen von NDEF-Nachrichten unter Android erläutert. Sie erfahren, wie Sie die verschiedenen Arten von Tags und Nachrichten filtern und wie das Android Tag Dispatch System beim Entwickeln von NFC-Apps genutzt werden kann.

    In Kapitel 6 werden Sie eine vollständige NFC-Applikation für Android bauen, in der eine komplette Benutzeroberfläche enthalten ist und Audio-Wiedergabe und per Web gesteuerte Lichtschalter genutzt werden – alles über NFC-Tags. Das Ziel dieses Kapitels besteht darin, zu zeigen, wie Sie das Interaktions-Design und die Datenstrukturen planen, um NFC möglichst gut einsetzen zu können.

    In Kapitel 7 wird eine weitere Plattform ins Spiel gebracht: der Arduino-Mikrocontroller. Sie werden erfahren, wie Sie mit der Arduino NDEF-Bibliothek NDEF-Nachrichten lesen und schreiben. Zudem werden Sie eine weitere komplette Anwendung mit dem Arduino und Node.js entwickeln.

    In Kapitel 8 werden Ihnen Peer-to-Peer-Transfers mit NFC unter Android vorgestellt. Sie werden erfahren, wie die Datensatz-Typen, die Sie mittels Peer-to-Peer austauschen, das empfangende Gerät beeinflussen, und wie NFC größere Transfers an alternative Übertragungsmedien wie Bluetooth oder WLAN übergeben kann.

    In Kapitel 9 wird der aktuelle Stand der NFC-Entwicklung auf Embedded-Linux-Plattformen anhand des Raspberry Pi und des BeagleBone vorgestellt. Sie erfahren, was mit Embedded Linux möglich ist, und lernen einige Beispielanwendungen in Node.js kennen. In diesem Zusammenhang gibt es noch viele Verbesserungsmöglichkeiten bezüglich der Nutzbarkeit – bei diesem Kapitel dürfen Sie keine Angst vor dem Umgang mit Technik haben! Sie sollten außerdem mit der Befehlszeile von Linux vertraut sein, um dieses Kapitel voll auskosten zu können. Aber hier liegen auch die spannendsten Möglichkeiten von NFC, daher sind entsprechende Vorkenntnisse durchaus von Vorteil.

    Was Sie benötigen

    Um den Beispielen in diesem Buch folgen zu können, benötigen Sie die entsprechende Hardware und Software. Die gesamte Software ist glücklicherweise kostenlos und die teuerste Hardware besteht in einem Android-Gerät mit NFC-Unterstützung. In den folgenden Abschnitten wird beschrieben, was Sie benötigen.

    Hardware

    Um die Beispiele aus dem Buch nachbauen zu können, benötigen Sie folgende Hardware:

    ein Android-Gerät mit NFC-Unterstützung

    diverse NFC-kompatible Tags (Prüfen Sie die Kompatibilität mit Ihren Geräten. In „Passende Devices und Tag-Typen" finden Sie eine Übersicht dazu, welche Geräte mit welchen Tag-Typen zusammenarbeiten)

    Für Kapitel 6 benötigen Sie Folgendes:

    ein Philips Hue Beleuchtungssystem

    ein Bluetooth-Musikempfänger (zum Beispiel den Belkin Bluetooth Musik-Empfänger oder den kabellosen Bluetooth HIFI Musik Adapter mit NFC von HomeSpot)

    Für Kapitel 7 benötigen Sie Folgendes:

    einen Arduino Uno (Er ist bei vielen Anbietern erhältlich, zum Beispiel bei Arduino, Adafruit, Seeed Studio, Watterott und anderen

    ein NFC Shield (Sie können das PN532 NFC/RFID Controller Shield for Arduino von Adafruit, das NFC Shield oder das NFC Shield v2.0 von den Seed Studios einsetzen)

    Wenn Sie das Adafruit Shield nutzen, sollten Sie sich von diesem Anbieter vielleicht auch ein paar lange Steckleisten besorgen.

    ein elektrischer Türöffner (Er muss mit 12 V oder weniger laufen. Wir haben den Amico 0837L DC 12V 8W Open Frame Type Solenoid for Electric Door Lock bei Amazon gekauft. Sie sollten sich einen für Ihr Land passenden Türöffner besorgen. Adafruit verkauft ein ähnliches Produkt Lock-Style Solenoid und Seeed Studio bietet eine Reihe von Modellen an – wenn Sie also dort ein Shield bestellen, finden Sie eventuell auch einen Türöffner.)

    einen TIP120 Darlington-Transistor

    eine Stromversorgung für 12 V und 1000 mA (natürlich wieder für Ihr Land passend und mit 2,1 mm Innen- und 5,5 mm Außendurchmesser, wobei der Innenleiter positiv ist)

    Schaltlitzen oder 22AWG-Kabel

    zwei LEDs in rot und grün (Diese finden Sie bei jedem Elektronik-Händler, aber zu Referenzzwecken geben wir hier das rote LED-Pack und das grüne LED-Pack von Adafruit an.)

    zwei 220-Ω-Widerstände für die LEDs

    Für Kapitel 9 benötigen Sie Folgendes:

    einen BeagleBone Black oder einen Raspberry Pi

    eine Stromversorgung für Ihr Board mit 1 A oder mehr

    ein SCL3711 Contactless USB Smart Card Reader

    Folgende Kompnenten sind optional, aber nützlich:

    ein USB-WLAN-Adapter für Ihr Board (Das Miniature WiFi (802.11b/g/n) Module von Adafruit funktioniert gut)

    ein USB-A-to-A-Verlängerungskabel für Ihren NFC-Adapter

    ein USB to TTL Cable – Debug/Console-Cable

    In Tabelle 1.1 sind die elektronischen Komponenten für dieses Buch aufgeführt – mit den Teilenummern bei einigen Elektronik-Händlern, die wir regelmäßig nutzen.

    Tabelle 1.1 Elektronische Komponenten, die in diesem Buch genutzt werden

    Software

    Um die Projekte im Buch nachvollziehen zu können, benötigen Sie die folgende Software:

    das Android Software Development Kit (siehe „Die Entwicklungsumgebung einrichten")

    das Cordova CLI (Ihre Toolbox für PhoneGap (siehe „Das Cordova CLI für PhoneGap installieren"))

    Node.js und den Node Package Manager (npm)

    einen Texteditor (Wir mögen Sublime Text 2 als plattformübergreifenden GUI-Editor, aber Sie können jede Software nutzen, die eine reine Textdatei erzeugt.)

    Für Kapitel 6 benötigen Sie Folgendes:

    die Zepto jQuery-Bibliothek (Sie erhalten Sie über Zepto.js.)

    Für Kapitel 7 sind folgende Komponenten erforderlich:

    die Arduino IDE

    die Seeed-Studio PN532-Bibliothek

    die Arduino NDEF-Bibliothek (Sie erhalten Sie im GitHub-Repository von Don Coleman.)

    die Time-Bibliothek für Arduino von Michael Margolis

    Machen Sie sich keine Sorgen, dass Sie dies jetzt alles schon einrichten müssen – wir werden es Sie rechtzeitig wissen lassen, wenn Sie eine dieser Komponenten einrichten sollen.

    Weitere nützliche NFC-Apps

    Die folgenden Anwendungen können im Verlauf dieses Buches nützlich sein:

    NFC TagInfo by NXP ermöglicht Ihnen das Lesen eines NFC- oder Mifare-Tags und das Auswerten des NDEF-Datensatzes.

    NFC TagWriter by NXP bietet viele der Features, die auch bei TagInfo vorhanden sind. Zusätzlich lassen sich Tags schreiben und unformatieren, was sehr praktisch ist.

    NFC TagInfo von den NFC Research Labs zeigt Ihnen alle Informationen über ein gegebenes Tag an. Es kann mehr als NXP TagInfo, denn Sie finden hier auch einen Memory Dump des Tags. Bei der Fehlersuche in Ihren Anwendungen ist es unbezahlbar.

    Für Kapitel 4 benötigen Sie Folgendes:

    Trigger von TagStand

    NFC Writer (ebenfalls von TagStand)

    TecTiles von Samsung (Dieses läuft aber nur in den USA und Kanada.)

    App Lancher NFC Tag Writer [sic] von vvakame

    einen Foursquare-Account (wenn Sie nicht schon einen haben) und Foursquare for Android

    In diesem Buch genutzte Konventionen

    Die folgenden typographischen Konventionen werden in diesem Buch genutzt:

    Kursiv

    Steht für neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateiendungen.

    Nichtproportionalschrift

    Wird für Programmlistings genutzt – auch innerhalb von Fließtext für Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen oder Schlüsselwörter.

    Anmerkung

    Dieses Symbol kennzeichnet einen Tipp, einen Vorschlag oder eine allgemeine Anmerkung.

    Warnung

    Dieses Symbol zeigt einen Warnhinweis an.

    Danksagungen

    Uns wurde beim Schreiben dieses Buches von vielen Leuten und Organisationen geholfen. Das PhoneGap-NFC-Plugin ist Kevin Griffins Baby – er und Don haben die erste Version geschrieben und auf dem PhoneGap Day 2011 vorgestellt. Kevin Townsend von Adafruit war mit seinem umfassenden und tiefgehenden Wissen über die NXP-Software und -Hardware eine unschätzbare Hilfe. Yihui Xiong von Seeed Studio, Autor der Seeed Arduino NDEF-Bibliothek, trug maßgeblich zum Erfolg von Kapitel 7 bei. Philippe Teuwen patchte libfreefare auf sehr schnelle Art und Weise und räumte damit große Hindernisse in Kapitel 9 aus dem Weg. Derek Molloys Seiten zum BeagleBone Black waren eine nützliche Quelle. Die Bilder in diesem Buch sehen dank Jody Culkin und Fritzing.org viel besser aus. Die Korrekturleser Ben Light, Sae Huh, Gabrielle Levine, Alex Kauffmann, Fil Maj und Dominick Gruntz lieferten wertvolles Feedback.

    Dieses Buch wurde außerdem nur möglich durch die geduldige Unterstützung seitens unserer Arbeitgeber und Kollegen im Interactive Telecommunications Program (ITP) der NYU, Chariot Solutions LLC, Maker Media und Arduino. Die noch größere Unterstützung durch unsere Familien und Partner war ebenfalls sehr wichtig.

    Kapitel 2. NFC und RFID

    Radio Frequency Identification (RFID) findet momentan eine immer größere Verbreitung im Alltag. Von Tap-and-Go-Bezahlkarten und Fahrkarten über E-ZPass-Devices, die für Mautgebühren genutzt werden, bis hin zu Tags auf und in Produkten, mit denen die Lagerbestände kontrolliert und Diebstähle verhindert werden – die meisten von uns kommen mit RFID-Tags ein paar Mal pro Woche in Kontakt und denken nie darüber nach, was sich mit dieser Technologie anstellen lässt.

    In den letzten Jahren ist ein neuer Begriff im Zusammenhang mit RFID aufgetaucht: Near Field Communication (NFC). Wenn Sie Ihren technikbegeisterten Kollegen fragen, wird der vermutlich sagen: »Oh, das ist wie RFID, nur anders.« Toll, wie anders? RFID und NFC werden oft in einem Atemzug genannt, sind aber nicht das Gleiche. NFC-Leser können zwar manche RFID-Tags lesen und schreiben, NFC bietet aber mehr Möglichkeiten als RFID und damit auch mehr Einsatzbereiche. Sie können sich NFC als Erweiterung von RFID vorstellen, die auf einigen wenigen der vielen RFID-Standards aufbaut, um eine bessere Plattform zum Datenaustausch zu bieten.

    Dieses Buch möchte Ihnen NFC und seine Fähigkeiten praxisbezogen vorstellen. Wenn Sie den Übungen in diesen Kapiteln folgen, werden Sie einige NFC-Anwendungen für ein Android-Gerät mit NFC-Unterstützung und für einen Arduino-Mikrocontroller erstellen. Sie werden erfahren, wo RFID und NFC Gemeinsamkeiten haben und was Sie mit NFC machen können.

    Was ist RFID?

    Stellen Sie sich vor, Sie sitzen abends auf Ihrer Terasse. Sie zünden ein Windlicht an und können die Nachbarskatze sehen, die gerade durch Ihren Garten stromert, weil das Licht der Kerze von ihren Augen zurückgeworfen wird. Dies entspricht passivem RFID. Das Funksignal eines passiven RFID-Lesers erreicht ein Tag, das Tag absorbiert die Energie und »reflektiert« seine Kennung zurück.

    Jetzt stellen Sie sich vor, Sie zünden Ihr Windlicht an, Ihr Nachbar ist zuhause, sieht das Licht und zündet ebenfalls ein Windlicht an, so dass Sie ihn von seiner Terasse aus winken sehen können. Dies entspricht aktivem RFID. Es funktioniert über größere Abstände, weil der Empfänger seine eigene Stromversorgung besitzt und damit sein eigenes Funksignal erzeugen kann, statt mit der Energie auskommen zu müssen, die er vom Sender absorbiert.

    RFID verhält sich sehr ähnlich wie diese beiden Windlichter. Sie und Ihr Nachbar kennen sich gegenseitig, aber Sie lernen nicht viel Neues übereinander. Sie tauschen keine wirklich inhaltsreichenn Nachrichten aus. RFID ist keine Kommunikations-Technik, sondern dient eher der Identifikation. RFID-Tags können kleine Datenmengen enthalten, die Sie auch über RFID-Leser lesen und schreiben können, aber die Größe ist sehr begrenzt – wir sprechen hier von ungefähr eintausend Bytes oder weniger.

    Was ist NFC?

    Jetzt stellen Sie sich vor, dass ein anderer Nachbar am Garten vorbeigeht. Sie sehen ihn und laden ihn zu einen kleinen Plausch auf der Terasse ein. Er setzt sich zu Ihnen, Sie betreiben ein wenig Smalltalk und arbeiten ein paar Minuten an Ihrer nachbarschaftlichen Beziehung. Das entspricht NFC.

    NFC ist so entworfen, dass es auf RFID aufbaut, aber einen komplexeren Datenaustausch zwischen den Teilnehmern ermöglicht. Trotzdem können Sie mit einem NFC-Leser immer noch passive RFID-Tags lesen und deren begrenzten Speicher beschreiben. Mit NFC können Sie auch Daten in einem Standard-Format auf bestimmte Arten von RFID-Tags schreiben – unabhängig vom Tag-Typ. Außerdem ist es möglich, mit anderen NFC-Devices im Duplex-Mode (also in beiden Richtungen) zu kommunizieren. NFC-Devices können Informationen über die eigenen Fähigkeiten austauschen, Datensätze übertragen und eine umfangreiche Kommunikation über andere Kanäle aushandeln.

    So ist es vielleicht möglich, Ihr NFC-fähiges Smartphone in die Nähe einer NFC-fähigen Stereoanlage zu halten. Beide Geräte können sich auf diese Weise gegenseitig identifizieren, ermitteln, dass beide WLAN unterstützen, und die Credentials für die Kommunikation darüber austauschen. Anschließend überträgt das Smartphone dann Audiodaten per WLAN an die Stereoanlage. Warum sollte das Telefon diese nicht über die NFC-Verbindung streamen? Dafür gibt es zwei Gründe: Erstens ist die NFC-Verbindung nur für kurze Entfernungen gedacht – etwa 10 cm oder weniger. Dadurch wird wenig Energie benötigt und man vermeidet Überlagerungen mit anderen Funkvarianten, die die Geräte nutzen. Zweitens ist die Übertragungsgeschwindigkeit im Vergleich zu WLAN, Bluetooth und anderen Kommunikationsprotokollen recht niedrig. NFC ist nicht dazu gedacht, umfangreiche und schnelle Übertragungen durchzuführen. Es dient für kurze Nachrichten, das Austauschen von Credentials und das Einrichten von Verbindungen. Denken Sie noch mal kurz an die Terasse zurück. Wenn Sie sich länger mit Ihrem Nachbarn unterhalten möchten, laden Sie ihn ins Haus zu einer Tasse Tee ein. Bei NFC entspricht das WLAN, Bluetooth und anderen Protokollen, die der umfassenderen Datenübertragung dienen.

    Spannend an NFC ist, dass sich auf diese Weise (ausführlichere) Verbindungen und kurze Anweisungen umsetzen lassen, ohne dass man sich um Passwörter, Pairing und all die anderen komplizierten Schritte der übrigen Protokolle kümmern muss. Wenn Sie und Ihr Freund also Adressen mittels der Mobiltelefone austauschen wollen, müssen Sie die Geräte nur aneinander halten. Wenn Sie mit Ihrem Google Wallet bezahlen möchten, tippen Sie das Lesegerät wie mit einer RFID-fähigen Kreditkarte an.

    Wenn Sie NFC verwenden, ermöglichen Sie dem anderen Gerät keinen Zugriff auf den gesamten Speicher – nur auf die grundlegenden Informationen für einen Datenaustausch. Sie steuern, was und an wen etwas verschickt werden kann – und was nicht.

    Wie RFID arbeitet

    Zu einem RFID-Datenaustausch gehören zwei Beteiligte: Ein Ziel (Target) und ein Initiator. Der Initiator, ein Tag-Leser oder Lese/Schreib-Device, beginnt den Austausch durch Erzeugen eines Funksignals. Dann lauscht er auf etwaige Reaktionen von Zielen, die das Funksignal erreicht hat. Das Ziel, ein Tag, reagiert beim Erkennen des Funksignals des Initiators. Es antwortet mit einer Unique Identifier Number (UID). RFID besitzt zwei Kommunikations-Modi: aktiv und passiv. Beim passiven RFID-Datenaustausch gibt es ein Lese/Schreibgerät und ein Tag ohne eigene Stromversorgung. Die Tags erhalten ihre Energie aus dem Funkfeld selbst. Diese ist natürlich im Allgemeinen sehr schwach, aber sie reicht aus, um ein Signal zurück an den Leser zu senden. Bei aktiver RFID-Kommunikation ist ein Ziel beteiligt, das eine eigene Stromversorgung besitzt. Dadurch kann die Antwort zurück an den Leser eine größere Distanz überwinden. E-ZPass und andere Systeme zum individuellen Erkennen im Verkehrsumfeld verwenden aktives RFID.

    RFID-Tags besitzen einen kleinen Speicher – meist weniger als 1 KB. Ein Initiator-Device kann diese Daten lesen, und wenn es sich um ein Lese-/Schreib-Device handelt, auch beschreiben. Damit können Sie kleine Informationshäppchen auf der Karte unterbringen. Diese Technik wird zum Beispiel manchmal in Systemen für den öffentlichen Nahverkehr verwendet, um auf der Karte zu speichern, wie viel Geld noch vorhanden ist. Aber da RFID-Systeme im Allgemeinen mit einer Datenbank verbunden sind, ist es üblicher, einen Datensatz mit allen relevanten Informationen in einer eigenen Datenbank abzulegen und diesen über die Tag-UID zu indexieren.

    RFID-Standards

    Anders als die meisten glauben gibt es nicht das eine, universelle, systemübergreifende RFID-Protokoll oder genau die eine Technologie. Nein, es gibt Dutzende. RFID-Standards werden von der International Standards Organization (ISO) zusammen mit den wichtigsten Beteiligten auf dem RFID-Markt entworfen. Die ISO funktioniert dabei als Mediator, damit auch Konkurrenten in den verschiedenen Branchen interoperable Standards entwerfen können und deren Technologien irgendwann einmal kompatibel sein werden. Die verschiedenen RFID-Standards definieren die verwendeten Funkfrequenzen, die Datentransferraten, die Datenformate und so weiter. Manche dieser Standards definieren Layer eines Interoperabilitäts-Stacks, wie dies auch bei NFC der Fall ist. Andere Standards definieren eine ganz andere Klasse von Anwendungen. So wurde der Standard ISO-11784 zum Beispiel ursprünglich zum Verfolgen von Tieren entwickelt. Er arbeitet mit Frequenzen zwischen 129 und 139,4 kHz und sein Datenformat enthält Felder, mit denen die zu verfolgenden Tiere beschrieben werden können. Sie finden auch Lesegeräte, die nach dem EM4100-Protokoll arbeiten und die mit den Tags im Bereich von 125 kHz funken. Meist werden sie als Transponderkarten verwendet, die in ihrem Datenprotokoll nur sehr wenig Informationen übertragen – in der Regel nur eine UID. Die Standards von ISO-14443 wurden für Bezahlsysteme und Smartcards entwickelt. Sie arbeiten bei 13,56 MHz. Dafür enthalten sie in ihrem Datenformat zum Beispiel die Möglichkeit, Werte zu addieren oder zu subtrahieren und mit Verschlüsselung zu arbeiten. In der 14443-Familie gibt es viele verschiedene Formate, unter anderem Philips- und NXP Mifare-Tags, Sony FeliCa-Tags und NXP DESFire. Tags nach ISO-14443A sind kompatibel mit NFC, daher werden Sie diesen auf den folgenden Seiten immer wieder begegnen.

    Wie NFC funktioniert

    Sie können sich NFC als Erweiterung von RFID vorstellen. Zur NFC-Kommunikation gehören wie bei RFID ebenfalls ein Initiator und ein Ziel. Aber hier ist mehr möglich, als nur UIDs auszutauschen und Daten des Ziels zu lesen und/oder zu schreiben. Der interessanteste Unterschied zwischen RFID und NFC ist der, dass NFC-Ziele meist programmierbare Devices sind, zum Beispiel Smartphones. Statt also nur statische Daten aus dem Speicher zu übertragen, könnte ein NFC-Device für jeden Datenaustausch einmalig Inhalte erzeugen und zurück an den Initiator übermitteln. Wenn Sie zum Beispiel NFC für den Austausch von Kontakten zwischen zwei Telefonen nutzen, könnte das NFC-Ziel so programmiert werden, dass es nur sehr eingeschränkt Informationen übermittelt, wenn es diesem speziellen Initiator vorher noch nie begegnet ist.

    NFC-Devices besitzen zwei Kommunikations-Modi. Wenn der Initiator die Energie immer per Funk liefert und das Ziel durch das Feld des Initiators mit Energie versorgt wird, handelt es sich um den passiven Kommunikations-Modus. Besitzen sowohl Initiator als auch Ziel ihre eigene Stromversorgung, dann ist es der aktive Kommunikations-Modus. Diese Modi entsprechen den normalen RFID-Kommunikationsmodi.

    NFC-Devices besitzen drei Betriebs-Modi (Operation Modes). Sie können als Lese-/Schreib-Geräte arbeiten, die Daten von einem Ziel lesen und/oder auf es schreiben. Sie können Karten-Emulatoren sein und sich wie RFID-Tags verhalten, wenn sie sich im Feld eines anderen NFC- oder RFID-Devices befinden. Oder sie arbeiten im Peer-to-Peer-Modus, in dem sie Daten in beiden Richtungen austauschen.

    NFC Data Exchange Format (NDEF)

    Daten, die zwischen NFC-Devices und Tags ausgetauscht werden, sind mit Hilfe des NFC Data Exchange Format (NDEF) strukturiert. Diesem Begriff werden Sie häufig begegnen – NDEF ist einer der entscheidenden Vorteile von NFC gegenüber RFID. Es handelt sich um ein allgemein genutztes

    Gefällt Ihnen die Vorschau?
    Seite 1 von 1