13.01.2014 Aufrufe

PDF 941kB - Hochschule Ulm

PDF 941kB - Hochschule Ulm

PDF 941kB - Hochschule Ulm

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Implementierung<br />

Reader<br />

Senden<br />

NFC<br />

App<br />

Empfangen<br />

Bearbeiten<br />

Bearbeiten<br />

Empfangen<br />

NFC<br />

Senden<br />

Abbildung 25: Abstrakte Beschreibung der Aufgaben vom Reader und der App.<br />

Wie zu erkennen ist, ist der typische Ablauf empfangen, bearbeiten und senden. Die verwendeten<br />

Klassen in diesen Aufgaben wurden so umgesetzt, dass diese sowohl im Reader<br />

als auch in der App ohne plattformspezifische Anpassungen funktionieren. Die wesentlichen<br />

Klassen die Umgesetzt wurden, sind, Aes, Checksum, EllipticCurveDiffieHellman<br />

und Nfc. Ohne auf die Klassen an dieser Stelle näher einzugehen, können die Klassen<br />

wie folgt den Aufgaben zugeordnet werden: Die Klasse Nfc übernimmt das senden und<br />

empfangen. Hingegen übernehmen alle anderen Klassen das die Aufgabe bearbeiten.<br />

7.2 Handshake<br />

Doch bevor eine Kommunikation zwischen Reader und App beginnen kann, muss ein<br />

Handshake-Protokoll definiert werden. Im Wesentlichen wird aus der NDEF Library for<br />

Proximity APIs / NFC ein NdefRecord Objekt, geschachtelt in einem NdefMessage<br />

Objekt, erzeugt und übertragen. In dem NdefRecord Objekt wird neben dem Payload,<br />

welches die Nutzdaten in Form eines Byte-Arrays repräsentiert, eine Id vergeben, die<br />

als Sequenznummer dient. Anhand der Property Id kann die Anwendung ermitteln, in<br />

welchem Schritt des Protokolls sie sich befindet. Daher sind die vergebenen Sequenznummern<br />

beim Reader gerade und bei der App ungerade, wie in Abbildung 26 verdeutlicht<br />

wird.<br />

48

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!