NFC近場通訊-twMVC#9
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

NFC近場通訊-twMVC#9

  • 1,115 views
Uploaded on

...



RFID 與 NFC 在 Windows8/Windows Phone 8 開發概論

講者:Bill Chung http://www.dotblogs.com.tw/billchung/(現任MVP、Windows 8 與 Windows Phone 8 開發技術講師)

簡介:介紹 RFID 與 NFC 的概要,如何在 Windows 8 / Windows Phone 8 上開發 NFC 應用。

課程時間:50~70分鐘

http://mvc.tw

More in: Business , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,115
On Slideshare
1,115
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
14
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. NFC 近場通訊 Bill Chung 2013/05/25 http://www.dotblogs.com.tw/billchung/
  • 2. http://mvc.tw  Microsoft Visual Basic MVP  台灣微軟特約講師  MSDN 論壇版主  部落格:海角點部落 http://www.dotblogs.com.tw/billchung/ 2 關於我
  • 3. http://mvc.tw 3http://www.microsoft.com/taiwan/events/win8app/
  • 4. http://mvc.tw  Radio Frequency Identification (無線射頻識別系統)  一個在你生活中已經存在已久的東西  頻率  LF:125K/135K Hz (範圍 10K~1MHz)  HF:13.56MHz (範圍1M~400MHz)  UHF:860~960MHz (範圍400M~1GHz)  Microwave:2.4/5.8GHz 4 認識 RFID
  • 5. http://mvc.tw 5 RFID 頻道 10 kHz 100 kHz 1 MHz 10 MHz 100 MHz 1000 MHz 300 GHz Low Freq. EAS Mid. Freq. EAS Cell Phone RFID: Item Management Data Modem AM Radio Toys Garage DoorCB FM RFID: Access Control Animal ID RFID: Toll Roads & Item Management Microwave EAS TV Data Terminal RFID: Smart Cards 2.45 GHz
  • 6. http://mvc.tw 6 常見相關ISO標準
  • 7. http://mvc.tw  NFC (Near Field Communication 近場通訊):為奠基於 RFID 技術的延伸  組織:NFC Forum  相關標準  ISO 18092  ECMA 340  ETSI TS 102 190  操作頻率:13.56 MHz (HF)  距離: < 20公分 7 NFC 基本概觀
  • 8. http://mvc.tw  Max bit rate: 424Kb/s  Communication modes  Active  Passive  Operating modes  Read/Write (Reader Mode)  Peer to Peer  Card emulation (Windows 8/ Phone 8 目前不支援) 8 NFC 基本概觀
  • 9. http://mvc.tw 做為Bluetooth傳輸的認證交握 (Peer to Peer) 設備間直接傳輸 (Peer to Peer)  讀取/寫入 NFC tag (Read/Write)  電子錢包 (需搭配 SIM 卡 / Windows Phone 8) 9 Windows 8 / Phone 8 上的 NFC應用
  • 10. http://mvc.tw  NFC Data Exchange Format  定義 NFC 通訊的內容封裝格式 10 NDEF Format
  • 11. http://mvc.tw NDEF Record Identifiler 11  MB:Message Begin  ME:Message End  CF:Chunk Flag  SR:Short Record  IL:ID Length  IL =0:省略 ID 與 ID Length  TNF:Type Name Format
  • 12. http://mvc.tw NDEF Record Length 12  Type Length  ID Length
  • 13. http://mvc.tw NDEF Record Type 13  Type  ID
  • 14. http://mvc.tw  NFC Forum Type  Type1:  96 bytes of memory, expandable up to 2KB  Compatible products : Broadcom BCM20203  Type2:  96 bytes of memory, expandable up to 2KB  Compatible products : NXP MIFARE Ultralight 14 NFC Tags (1)
  • 15. http://mvc.tw  Type3:  Variable memory, up to 1 MB per service  Compatible products : Sony FeliCa  Type4:  Variable memory, up to 32 KB per service  Compatible products : NXP DESFire, SmartMX-JCOP 15 NFC Tags (2)
  • 16. http://mvc.tw  NXP Specific Type  NXP Mifare Classic  Variable memory 192/768/3584 Bytes  NXP Mifare Classic Mini, 1K, 4K 16 NFC Tags (3)
  • 17. http://mvc.tw  目前 Windows 8/ Windows Phone 8 的 NFC API 只支 援到 NDEF 格式讀寫,Tag 在使用前必須先格式化成 NDEF  NFC 晶片存在相容性的問題  NXP 的 NFC 晶片一般來說是問題比較少的 17 Tag 使用注意事項
  • 18. http://mvc.tw  Windows.Networking.Proximity Namespace  ProximityDevice Class  ProximityMessage Class  WMAppManifest (WP8)  啟用 ID_CAP_PROXIMITY  Package.appxmanifest (Win8)  啟用 Proximity 18 Windows 8/ Phone 8 NFC API
  • 19. http://mvc.tw 19
  • 20. http://mvc.tw 20 NFC Sample 1 (WP8 偵測 NFC) 使用 GetDefault 方法取 得本機的 NFC 裝置 注意: 這兩個事件委派都 會在另一個 Thread 中執 行
  • 21. http://mvc.tw NFC Sample 2 (Win8 偵測 NFC) 21 只有跨執行緒的處理不同
  • 22. http://mvc.tw 22
  • 23. http://mvc.tw Message Protocol 23  Windows  WindowsUri  WindowsMime  Windows:WriteTag  WindowsUri:WriteTag  WindowsMime:WriteTag  LaunchApp:WriteTag  WriteableTag  NDEF  NDEF:ext  NDEF:MIME  NDEF:URI  NDEF:wkt  NDEF:WriteTag  NDEF:Unknown 參考 ProximityDevice.PublishBinaryMessage(String, IBuffer)
  • 24. http://mvc.tw  訊息資料包含 UTF-16LE 編碼的 URI 字串。  Windows 一律藉由提示使用者檢視收到的 URI 來處理 "WindowsUri" 訊息 (在處理特定 URI 通訊協定的 Windows 預設應用程式中),例如,http:// URI 會在預設 Web 瀏覽器 中開啟。Windows 會在預設應用程式中開啟 URI,即使有 其他應用程式也訂閱 "WindowsUri"。 24 WindowUri
  • 25. http://mvc.tw  使用 PublishUriMessage 方法,而不是以這個通訊協定呼 叫 PublishBinaryMessage 方法。  如果您將 URI 發佈至沒有執行 Windows 的電腦,則 URI 會 自動根據您電腦支援的近接感測技術進行格式化。例如,如 果您的電腦使用近接感測的 NFC 硬體,URI 會格式化為 NDEF URI 記錄。 25 WindowUri
  • 26. http://mvc.tw  如果您訂閱的是 "WindowsUri" 訊息,而且 Windows 電腦 會接收電腦支援之近接感測技術所格式化的訊息,則 Windows 會讀取格式化的訊息,並且只傳回 URI 做為訊息 內容。 26 WindowUri
  • 27. http://mvc.tw 訊息資料是特定的 MIME 類型。例如,如果訊息資料是 jpeg 影像,則訊息類型為 "WindowsMime.image/jpeg"。 27 WindowsMime
  • 28. http://mvc.tw Windows 一律藉由提示使用者檢視收到的 MIME 內容 來處理 "WindowsMime" 訊息,即使也已針對 MIME 內容訂閱應用程式。 28 WindowsMime
  • 29. http://mvc.tw 如果您將 "WindowsMime" 訊息發佈至沒有執行 Windows 的電腦,則訊息內容會自動根據您電腦支援 的近接感測技術進行格式化。例如,如果您的電腦使用 近接感測的 NFC 硬體,訊息內容會格式化為 NDEF MIME 記錄。 29 WindowsMime
  • 30. http://mvc.tw  如果您要發行 "WindowsMime" 訊息,您永遠都必須包含 MIME 類型。如果您訂閱的是 "WindowsMime" 訊息,則可 以使用沒有指定 MIME 類型的 "WindowsMime" 來訂閱所 有 MIME 類型訂閱。如果您訂閱的是特定 MIME 類型,而 且 Windows 電腦會接收電腦支援之近接感測技術所格式化 的訊息,則 Windows 會讀取格式化的訊息,並且只傳回 MIME 內容做為訊息內容。如果您訂閱 MIME 類型,則收到 的前 256 個位元組會是 ASCII MIME 類型字串,而剩餘 的位元組就是 MIME 內容。 30 WindowsMime
  • 31. http://mvc.tw 由 Message Protocol 和 Sub type 組合而成  Windows.Sample  WindowsMime.image/jpeg  NDEF:URI.http://contoso.com/sometype WindowsUri 不需要 sub type 31 Message Type
  • 32. Publish Message 32 public long PublishBinaryMessage ( string messageType, IBuffer message, MessageTransmittedHandler messageTransmittedHandler )
  • 33. http://mvc.tw  messageType 類型: System.String  要傳遞給訂閱者之訊息的型別。  message 類型: IBuffer  要傳遞給訂閱者的二進位訊息資料。  messageTransmittedHandler 類型: MessageTransmittedHandler  已傳送訊息時所要呼叫的處理常式。 33 參數
  • 34. http://mvc.tw  類型: System.Int64 [.NET]  已發行訊息的唯一發行集識別碼。  用途  您可以發出多個相同訊息類型的訊息,而每次發出都會有相關 聯的唯一識別碼。  您可以將 PublishBinaryMessage 方法所傳回的發行集識別 碼傳遞至 StopPublishingMessage 方法,藉此停止發行訊息。 34 回傳值
  • 35. http://mvc.tw NFC Sample 3 (WP8 Publish Message) 35 注意: 委派會在另一個 Thread 中執行
  • 36. http://mvc.tw 36 若要改成寫入卡片 只要改 message type 加上 :WriteTag 就可以了
  • 37. Subscribe Message 37 public long SubscribeForMessage ( string messageType, MessageReceivedHandler messageReceivedHandler )
  • 38. http://mvc.tw  messageType 類型: System.String [.NET]  要傳遞給這個訂閱之訊息的型別。  messageReceivedHandler 類型: MessageReceivedHandler  當鄰近提供者在傳遞訊息時將會呼叫的處理常式。 38 參數
  • 39. http://mvc.tw  類型: System.Int64  訂閱的唯一識別碼。  用途  您可以藉由傳遞 SubscribeForMessage 方法傳回至 StopSubscribingForMessage 方法的訂閱識別碼來取消訂閱。 39 回傳值
  • 40. http://mvc.tw NFC Sample 4 (Win8 Subcribe Message) 40 注意: 委派會在另一個 Thread 中執行
  • 41. http://mvc.tw 41
  • 42. http://mvc.tw  純文字  使用 PublishMessage  Uri  使用 PublishUriMessage 42 簡化 Publish
  • 43. http://mvc.tw 以寫入 Uri 為例 43
  • 44. http://mvc.tw  NDEF Library for Proximity APIs (NFC)  使用 PublishBinaryMessage 44 使用 NDEF 協定
  • 45. http://mvc.tw  以下兩種分享方式,可不需程式碼,直接經由 Share Contract 透過輕觸傳送分享  Share StorageItems  Share Link 45 Win8 上的特殊用法 – Share Contract
  • 46. http://mvc.tw 46
  • 47. 謝謝各位 • 本投影片所包含的商標與文字皆屬原著作者所有。 • 本投影片使用的圖片皆從網路搜尋。 • 本著作係採用 Creative Commons 姓名標示-非商業性-相同方式分享 3.0 台灣 (中華民國) 授權條款授權。 h t t p : / / m v c . t w