Successfully reported this slideshow.
NFC & RFIDwith Android     Tod E. Kurt, ThingMWhere 2.0 2011, Santa Clara, CA
What is this talk?Why you should care about RFID & NFCOverview of what RFID & NFC is technically                  How Andr...
Who is this guy? @todbot does...Crystal Monster                            BlinkM Smart LEDs             ScrewShield      ...
Why Should I Care About RFID?    Exxon           Mastercard PayPass        IdentificationSpeedPass            Financial Tra...
Why Should I Care About NFC?Some of the things NFC promises...                                     http://www.nfc-forum.org
Also...
Why I like RFIDThingM: WineM                                             AFK: SeaWorld in Dubai         ThingM: Ghost Tour...
RFID
RFID is EasyRFID tag – just a serial number, a unique IDUID 32-bit or 56-bitSome tags UP TO 4kB! (wow!) of writeable data
Why RFID instead of......barcodes– can have a lot more data, no ugly barcode...QR codes– can write data, no camera lag, no...
What RFID is NotNOT localizationNOT proximity detectionNOT fast data transferNOT secure (for non-smartcard)Be careful usin...
How RFID works“reader”                         “tag”expensive ($10)                cheap ($0.10)
Passive Tag Internals
Some Interesting RFID Examples
Waterpark ticketday-pass vs season passage-based restrictionspayment of food, beverages, merchandise
Casino Chips Theft Fail                             man steals $1.5M in chips,                             cashes them in ...
NFC
NFC: Near Field Communication                             web-like semantics for RFID                                     ...
NFC Technical Architecture                  http://www.nfc-forum.org/
NDEF: NFC data exchange format        some example NDEF formats                                    http://wiki.forum.nokia...
Some cool NFC ideasTap Your Top10 – Send top 10 list to DJ by tapping phoneHouseMood – Tap your house so it knows your moo...
NFC Capabilities on AndroidCurrently available Android NFC phones: Google Nexus SUse Android 2.3.3 (API Level 10) as the N...
What works now on Android?  Tag reader/writer  Tag emulation (of certain NFC NDEF tags)  P2P communication (Android-specific)
What doesn’t workTag emulation of Smart CardsPeer-to-peer with Nokia NFC phones
Nexus S NFC Hardware
Current App Landscape
taglet & AnyTag        “bit.ly for RFID tags”        maps UID –> URL        works with any tag phone can read        but b...
Tags App           System App           Two functions:           - tag reader           - tag emulator           Makes sha...
NFC TagInfo  most useful
NXP TagWriterlets you format tags for NDEF use
NXP TagWriter
App DemosLet’s try to show some demos...
Developing NFC on AndroidDisclaimer: I’m not a big Android programmer.Good docs at http://developer.android.com/guide/topi...
Quick Android SDK Setup IntroAndroid apps are written in Java using Eclipse IDEInstall Eclipse (or other favorite IDE)Down...
App Activity lifecycle              Apps have at least one Activity              Activities triggered from system         ...
Main Steps to add NFC■ Edit app’s AndroidManifest.xml, set: ■ Minimum SDK version ■ Hardware permissions ■ Intent filters■ ...
Permissions in ManifestSet SDK version to get to NFC APIs:<uses-sdk android:minSdkVersion="10"/>Request permission from th...
Intent Filter in ManifestNFC intent filters tell Android your Activity can handle NFCAnd let you control what kind of tags ...
Intent Filter            Can even filter on NFC mime-type<intent‐filter>

<action
android:name="android.nfc.action.NDEF_DIS...
TechFilter  Filter for what kind of tag hardware you care about<resourcesxmlns:xliff="urn:oasis:names:tc:xliff:document:1....
Get Tag Data            In onCreate() if using intent filters,            or anywhere using foreground dispatchIntent inten...
FakeTagsActivity
Hacking NFC                        not on AndroidGet a USB or serial readerGet some tags (SF Muni Clipper, your prox card,...
Touchatag           http://touchatag.comInexpensive ($40) USB NFC readerComes with 10 read-only 64-byte tagsWorks with lib...
Proxmarkhttp://www.proxmark.org/                           GPL RFID hardware reader                           Build it you...
SonMicro RFID  http://sonmicro.com                        13.56 MHz RFID reader                        Libraries for Proce...
LibNFC           http://www.libnfc.org/Multi-platform library for NFC explorationWorks with most all NFC/RFID USB readersU...
Open NFChttp://www.open-nfc.org/
TagAge.net             Create custom NFC             tags with custom             graphics, all online
Linkshttp://developer.android.com/sdk/android-2.3.3.htmlhttp://developer.android.com/guide/topics/nfc/index.htmlhttp://dev...
Thank Youimagine these guys with NFC tags
Thank Youimagine these guys with NFC tags
Tod E. Kurthttp://thingm.com/http://todbot.com/blog/
Upcoming SlideShare
Loading in …5
×

NFC & RFID on Android

166,713 views

Published on

The Google Nexus S offers support for Near Field Communication (NFC), an extension to an RFID smart card protocol popularly used for secure access, metro passes (Oyster/Clipper), and electronic money (FeliCa/Octopus). NFC in smartphones promises adding these features to the phone you carry by allowing the it to emulate both RFID tag and reader.

NFC additionally adds new capabilities like exchanging configuration data such as WiFi settings, trading vCard contact information, reading URLs, triggering SMS text messages or initiating calls, and secure bi-directional communication between NFC devices.

This session will cover what NFC and RFID is and is not, what Android on the Nexus S is currently capable of, and some examples of how to add NFC to your apps.

http://where2conf.com/where2011/public/schedule/detail/18443

Published in: Technology
  • nfc rfid reader: http://www.elecfreaks.com/store/rfidnfc-shield-shdnfc-p-479.html
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • WorkDaddy is the best application for office/corporate management in Android platform. Fully compatible with RFID/NFC cards. Can keep attendance calculate working hour, plan event and also if the user requires WorkDaddy can generate salary. But the salary generation plugin is not built in in Google Play version. As per the user demand it can be added. WorkDaddy is available in Google Play. Try it now. Trust me its worthy of downloading.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • good.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • very good thanks
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • good
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

NFC & RFID on Android

  1. 1. NFC & RFIDwith Android Tod E. Kurt, ThingMWhere 2.0 2011, Santa Clara, CA
  2. 2. What is this talk?Why you should care about RFID & NFCOverview of what RFID & NFC is technically How Android implements NFC What Android can and cannot do Some existing Android apps Tips on how to add NFC to your Android app Non-Android NFC hacking
  3. 3. Who is this guy? @todbot does...Crystal Monster BlinkM Smart LEDs ScrewShield Spooky ArduinoWiichuck adapter
  4. 4. Why Should I Care About RFID? Exxon Mastercard PayPass IdentificationSpeedPass Financial TransactionsAsset tracking Access control SF Muni Clipper pass Supply chain
  5. 5. Why Should I Care About NFC?Some of the things NFC promises... http://www.nfc-forum.org
  6. 6. Also...
  7. 7. Why I like RFIDThingM: WineM AFK: SeaWorld in Dubai ThingM: Ghost Tours at Henry Ford !
  8. 8. RFID
  9. 9. RFID is EasyRFID tag – just a serial number, a unique IDUID 32-bit or 56-bitSome tags UP TO 4kB! (wow!) of writeable data
  10. 10. Why RFID instead of......barcodes– can have a lot more data, no ugly barcode...QR codes– can write data, no camera lag, no ugly qr code...Bluetooth– cheaper, low-overhead, easier setup...WiFi / GPS localization– cheap, definite, closely-spaced location
  11. 11. What RFID is NotNOT localizationNOT proximity detectionNOT fast data transferNOT secure (for non-smartcard)Be careful using it for identification, use it instead for fun
  12. 12. How RFID works“reader” “tag”expensive ($10) cheap ($0.10)
  13. 13. Passive Tag Internals
  14. 14. Some Interesting RFID Examples
  15. 15. Waterpark ticketday-pass vs season passage-based restrictionspayment of food, beverages, merchandise
  16. 16. Casino Chips Theft Fail man steals $1.5M in chips, cashes them in for $0 and jail“RFID can void the stolenchips, like a registrationthat’s no longer valid,”Kendall said.“When we manufactureRFID-embedded chips andsend them to a casino,they’re not worth anythinguntil they register the codes.Until then, they’re nothing butfreight.”
  17. 17. NFC
  18. 18. NFC: Near Field Communication web-like semantics for RFID Built on existing RFID tech Multi-part, mime-typed, textual data Devices can have 3 modes: - tag reader/writerNokia 3220 NFC - tag emulation - peer-to-peer data transferNFC products available since 2005
  19. 19. NFC Technical Architecture http://www.nfc-forum.org/
  20. 20. NDEF: NFC data exchange format some example NDEF formats http://wiki.forum.nokia.com/
  21. 21. Some cool NFC ideasTap Your Top10 – Send top 10 list to DJ by tapping phoneHouseMood – Tap your house so it knows your moodHiRes 4SQ – Precise, hyper-dense checkins with foursquare
  22. 22. NFC Capabilities on AndroidCurrently available Android NFC phones: Google Nexus SUse Android 2.3.3 (API Level 10) as the NFC APIs drasticallychanged from 2.3.2.New Intent Filter and TechFilter APIs for registering interest intypes of cards, types of NDEF messages, types of NFC events
  23. 23. What works now on Android? Tag reader/writer Tag emulation (of certain NFC NDEF tags) P2P communication (Android-specific)
  24. 24. What doesn’t workTag emulation of Smart CardsPeer-to-peer with Nokia NFC phones
  25. 25. Nexus S NFC Hardware
  26. 26. Current App Landscape
  27. 27. taglet & AnyTag “bit.ly for RFID tags” maps UID –> URL works with any tag phone can read but both don’t seem to work on 2.3.3
  28. 28. Tags App System App Two functions: - tag reader - tag emulator Makes sharing contact info & URLs easy
  29. 29. NFC TagInfo most useful
  30. 30. NXP TagWriterlets you format tags for NDEF use
  31. 31. NXP TagWriter
  32. 32. App DemosLet’s try to show some demos...
  33. 33. Developing NFC on AndroidDisclaimer: I’m not a big Android programmer.Good docs at http://developer.android.com/guide/topics/nfc/go read them.Instead, look at the process from a high levelAnd at the lower-level setup and gotchas
  34. 34. Quick Android SDK Setup IntroAndroid apps are written in Java using Eclipse IDEInstall Eclipse (or other favorite IDE)Download Android SDKHook Android SDK up to EclipseTell SDK to download needed extra packagesThen you can start a new Eclipse Android project
  35. 35. App Activity lifecycle Apps have at least one Activity Activities triggered from system events, “intents” Activities are paused & resumed by Android system
  36. 36. Main Steps to add NFC■ Edit app’s AndroidManifest.xml, set: ■ Minimum SDK version ■ Hardware permissions ■ Intent filters■ Two ways to work: ■ Intent Dispatch – run your Activity on tag presence ■ Foreground Dispatch – intercept tag intents
  37. 37. Permissions in ManifestSet SDK version to get to NFC APIs:<uses-sdk android:minSdkVersion="10"/>Request permission from the user to use NFC hardware:<uses‐permission
android:name="android.permission.NFC">
  38. 38. Intent Filter in ManifestNFC intent filters tell Android your Activity can handle NFCAnd let you control what kind of tags your Activity sees<intent-filter>  <action android:name="android.nfc.action.NDEF_DISCOVERED"/>  <data android:mimeType="mime/type" /></intent-filter><intent-filter>  <action android:name="android.nfc.action.TECH_DISCOVERED"/>  <meta-data android:name="android.nfc.action.TECH_DISCOVERED"                android:resource="@xml/nfc_tech_filter.xml" /></intent-filter><intent-filter>  <action android:name="android.nfc.action.TAG_DISCOVERED"/></intent-filter>
  39. 39. Intent Filter Can even filter on NFC mime-type<intent‐filter>

<action
android:name="android.nfc.action.NDEF_DISCOVERED"/>

<data
android:mimeType="text/x‐vcard"/>

<category
android:name="android.intent.category.DEFAULT"/></intent‐filter>
  40. 40. TechFilter Filter for what kind of tag hardware you care about<resourcesxmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">    <tech-list>        <tech>android.nfc.tech.IsoDep</tech>        <tech>android.nfc.tech.NfcA</tech>                <tech>android.nfc.tech.NfcB</tech>        <tech>android.nfc.tech.NfcF</tech>        <tech>android.nfc.tech.NfcV</tech>        <tech>android.nfc.tech.Ndef</tech>        <tech>android.nfc.tech.NdefFormatable</tech>        <tech>android.nfc.tech.MifareClassic</tech>        <tech>android.nfc.tech.MifareUltralight</tech>    </tech-list></resources>
  41. 41. Get Tag Data In onCreate() if using intent filters, or anywhere using foreground dispatchIntent intent = getIntent();NdefMessage[] msgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGESs);for (int i = 0; i < msgs.length; i++) { NdefRecord[] records = msgs[i].getRecords();}
  42. 42. FakeTagsActivity
  43. 43. Hacking NFC not on AndroidGet a USB or serial readerGet some tags (SF Muni Clipper, your prox card, etc.)Get some appsHook it up to your PC or Arduino
  44. 44. Touchatag http://touchatag.comInexpensive ($40) USB NFC readerComes with 10 read-only 64-byte tagsWorks with libnfc
  45. 45. Proxmarkhttp://www.proxmark.org/ GPL RFID hardware reader Build it yourself, if you’re hardcore Read/emulate any RFID tag $300
  46. 46. SonMicro RFID http://sonmicro.com 13.56 MHz RFID reader Libraries for Processing & Arduino Read/write tags Limited NFC, no emulation $30 avail from SparkFun
  47. 47. LibNFC http://www.libnfc.org/Multi-platform library for NFC explorationWorks with most all NFC/RFID USB readersUnderstands most all NFC/RFID tag typesActive developer community
  48. 48. Open NFChttp://www.open-nfc.org/
  49. 49. TagAge.net Create custom NFC tags with custom graphics, all online
  50. 50. Linkshttp://developer.android.com/sdk/android-2.3.3.htmlhttp://developer.android.com/guide/topics/nfc/index.htmlhttp://developer.android.com/reference/android/nfc/NfcAdapter.htmlhttp://www.rfid-handbook.com/rfid/http://www.nfc-research.at/http://www.nfc-forum.org/http://www.proxmark.org/
  51. 51. Thank Youimagine these guys with NFC tags
  52. 52. Thank Youimagine these guys with NFC tags
  53. 53. Tod E. Kurthttp://thingm.com/http://todbot.com/blog/

×