PDF 941kB - Hochschule Ulm
PDF 941kB - Hochschule Ulm
PDF 941kB - Hochschule Ulm
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