F11: Q&A og bransjen

Avslutning

Innlevering 2

Scanning

  • Bruk MifareUltralight
  • Scan 4 pages (ett kall til readPages)
  • pageOffset = 8 (32 byte)
    • byte[] payload = tag.readPages(8)
    • new String(payload) <-- ID-en
       
  • Det er noen tags for testing i biblioteket!

Tips

  • Tror du det er inne i en butikk? Spør dem!
     
  • Er det umulig å finne en tag?
    • Ikke bruk 100 år på det
    • Den kan ha blitt stjålet/fjernet/borte
    • Si fra til martin@westerdals.no pls
       
  • Hint-felt…

Fagevaluering!

  • Hva har vært bra?
     
  • Hva har vært dårlig?
     
  • Innlevering 2
    • Gøy?
    • Kjipt med dårlig kommunikasjon?
    • Dumt at ting kom på plass sent?
    • SKRIV DET PLS.

NFC

https://developer.android.com/guide/topics/connectivity/nfc/nfc.html

  • Near Field Communication
     
  • En liten mikrokontroller
     
  • Sender ut en ID og/eller payload
     
  • To viktige use cases
    • Les data (fra en device eller tag)
    • Skriv ("beam") data til en annen device

NFC access

Begynnelsen på IoT!

  • Transport (containers)
  • Reisekort
  • Inngangskort (sikkerhet)
     
  • Aktiv vs. passiv
    • Aktiv = powered av batteri (ranged)
    • Passiv = powered av NFC-leseren

Intent filter

<intent-filter>
    <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:mimeType="text/plain" />
</intent-filter>


<intent-filter>
    <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
    <category android:name="android.intent.category.DEFAULT"/>
   <data android:scheme="http"
              android:host="developer.android.com"
              android:pathPrefix="/index.html" />
</intent-filter>
  • Filtrer på mimeType eller noe annet
  • Ikke trigg chooser-dialogen hvis mulig

Starter Activity-en med et intent

Tag/NDEF discovery

<intent-filter>
    <action android:name="android.nfc.action.TECH_DISCOVERED"/>
    <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:mimeType="text/plain"/>
</intent-filter>
  • Vær spesifikk
  • Alt som trengs til innlevering 2

Tag encoding

https://developer.android.com/guide/topics/connectivity/nfc/nfc.html

Tag vendor

Hent ut data om tag

String action = getIntent().getAction();
if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)
        || NfcAdapter.ACTION_TAG_DISCOVERED.equals(action)) {
    Tag tag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);
    MifareUltralight ultralight = MifareUltralight.get(tag);

// ...
  1. Connect
  2. Read(/write)
  3. Close
ultralight.connect();
byte[] payload = ultralight.readPages(8);
payloadTextView.setText(new String(payload));

NFC Tools

https://play.google.com/store/apps/details?id=com.wakdev.wdnfc&hl=en

  • Android-app
  • Nyttig for NFC
  • Leser fra/skriver til tags!

Eksamen

13. juni

 

Skriftlig skoleeksamen (3 timer)

 

Spørsmål fra hele pensum

 

Ser etter forståelse!

 

Samme form som tidligere eksamensoppgaver

(Robin)

Q&A!

Made with Slides.com