NFC進場通信總結概述


簡介

本文介紹Nokia設備所支持的近場通信技術(NFC)及相關的功能。旨在為使用 Qt/Symbian/Java™ API為Nokia手機開發應用的開發者 剛開始接觸NFC開發時提供有用的信息。

什么是NFC?

NFC是Near Field Communication的縮寫,即近場通信。這是一種短距離無線電技術,使得兩台設備在接觸或靠得很近時互相通信。

  • NFC是一種開放平台技術,由NFC論壇標准化。
  • NFC基於RFID的擴展。NFC工作在13.56 MHz的頻率。
  • NFC通信距離最大10cm。但是為了在Nokia手機上獲得最佳用戶體驗,建議兩台手機互相接觸。
  • NFC標准支持不同的數據傳輸率如 106 kBps, 212 kBps, 和424 kBps。

標簽和讀取器

兩台設備進行基於NFC的通信時,可能是一台設備做為讀/寫者,另一個做為標簽。

標簽

標簽是一個簡單的薄薄的設備,包含一個天線和小容量的存儲空間。標簽是一個被動設備,由電磁場提供電力。標簽的內存有只讀,可擦寫,只能寫一次 這些不同的類型。 NFC1tag.PNG

讀取器

讀取器是一個主動設備,產生無線電信號與標簽通信。在被動通信模式,當讀取器與被動設備靠得很近時,讀取器為被動設備提供電力。

NFC2Reader.PNG

NFC模式

通信模式

NFC設備支持兩種通信模式。

主動模式

在這種模式,目標設備和發起通信設備都有動力,互相之間可以輪流傳輸信號。

被動模式

發起設備差生無線電信號,目標設備由這個信號的電磁場提供動力。目標設備通過調制電磁場回應發起設備。

操作模式

NFC可以運行在ISO/IEC 18092, NFC IP-1, 和ISO/IEC 14443三種無線智能卡標准下(contactless smart card standard)

讀/寫

在這種模式,開啟NFC功能的手機可以讀寫任何支持的標簽, 讀取其中的NFC數據格式標准的數據。

點對點

在這種模式下,兩個NFC設備可以交換數據。 例如,你可以分享啟動藍牙或Wi-Fi連接的參數來啟動 藍牙或Wi-Fi連接。你可以交換如虛擬名片或數字相片等數據。點對點模式符合ISO/IEC 18092標准。
注意:NFC的symbian實現現在支持建立藍牙連接,還不支持Wi-Fi。Java實現還不支持點對點模式。

模擬卡片

支持NFC的手機在與標簽交互時扮演讀取器的角色。在這種模式手機也可做為標簽或被讀取的無線卡片。 注意:Symbian和Java實現還不支持這種模式。

NFC3CardEmulation.PNG

NFC用例

本章我們來看看NFC的使用場景和案例

用於啟動服務

在這種場景中,你可以使用帶有NFC功能的Nokia手機觸及NFC標簽,接收URL,電話號,文本,然后可以用這些來定義啟動某項服務所需要得信息。

智能海報是這種應用的例子,在智能海報背面貼上NFC標簽,當帶有NFC功能的Nokia手機觸及NFC標簽時,手機讀取標簽的信息,然后根據信息的種類,Nokia手機會打開一個視頻流,或打開網頁瀏覽器,或詢問用戶是否願意撥打一個電話。

NFC4SmartPoster.PNG

用於分享

帶有NFC功能的手機可以在點對點模式下分享數據。

例如,兩台具有NFC的Nokia手機可以分享名片信息。當一個用戶選擇要分享的聯系人信息后,手機向另一台手機在NFC無線范圍內發送一個無線信號,另一台手機會識別NFC數據格式中包含的分享信息。

注意:分享不是通過NFC完成的。NFC會初始化藍牙服務,分享實際是通過藍牙完成的。

用於連接設備

NFC能幫助建立設備鏈接,而不需要任何配置或安裝。例如,只需用帶NFC的手機觸及藍牙耳機即可建立藍牙配對。藍牙耳機中內置一個NFC標簽,其中有建立藍牙配對所需要的所有信息,信息保存成NFC數據格式。這里手機扮演一個讀取者的角色。

用於買票

帶NFC的手機可以用於票務應用,作為車票可以替代傳統物理車票。使用是手機接觸讀票器。用戶,可以在售票機支付后,用手機接觸售票機給手機票充值。這里NFC手機扮演卡片的角色,工作在模擬卡片模式。

要使用NFC手機作為旅行票,手機里必須有一個叫保密元素(secure element)的保密環境。保密環境運行票務應用,這里保存比如,剩余的旅行時間,或預付的旅程。

注意:票務用例目前不被Nokia手機支持。

用於支付

帶NFC的手機可以像信用卡一樣用於支付。 支付時,用戶必須將手機與支付終端接觸。這里NFC手機扮演一個卡片(帶芯片的信用卡),支付終端是讀取者,工作在模擬卡片模式。

NFC手機必須有保密元素,在其中像基於芯片的信用卡一樣運行支付應用程序。

注意:支付用例目前不被Nokia手機支持。

NFC標簽

NFC標簽可以用在如海報的應用,記錄少量信息提供給活動的NFC設備。儲存的數據可以包括任何數據例如URL,電話號碼或日歷信息等。

為了使不同NFC標簽提供者和NFC設備制造商的產品相互協作,NFC論壇定義了四種標簽。

要查看目前Symbian和MeeGo 1.2支持的標簽,請看‘NFC 標准和標簽支持’。

NFC論壇標簽種類

NFC 論壇是一個推廣NFC技術的聯盟,NFC論壇推出技術規范來保證設備和服務之間的配合,並為市場提供NFC技術培訓。

在NFC論壇的技術規范網站http://www.nfc-forum.org/specs/spec_list/查看NFC論壇的標簽種類。 標簽的規范定義了實現 閱讀器/擦寫器的技術信息和相應的與之互動的NFC設備的控制功能

標簽類型1

類型1標簽比較便宜適合於多種NFC應用。

  • 基於ISO-14443A標准
  • 可讀可重寫,可配置成只讀
  • 96 byte內存,可擴展到2KB
  • 傳輸速率 106kbits/s
  • 沒有數據沖突保護
  • 市場上有兼容的產品 ———— Innovision Topaz, Broadcom BCM20203

NFC論壇設備如何操作類型1標簽,如何發現,讀取和寫入NDEF數據(參看章節'NDEF')參看類型1標簽操作規范:http://www.nfc-forum.org/specs/spec_list/

標簽類型2

類型2與類型1類似,也是由NXP/Philips MIFARE Ultralight標簽衍生而來的。

  • 基於ISO-14443A標准
  • 可讀可重寫,可配置成只讀
  • 傳輸速率 106kbits/s
  • 支持數據沖突保護
  • 市場上有兼容的產品 ———— NXP MIFARE Ultralight

標簽類型3

類型3由索尼FeliCa標簽的非保密部分衍生而來。比類型1,2的標簽昂貴。

  • 基於日本工業標准(JIS) X 6319-4
  • 在生產時定義可讀,可重寫或只讀的屬性。
  • 可變內存,每個服務最多1MB空間
  • 支持兩種傳輸速率: 212或424kbits/s
  • 支持數據沖突保護
  • 市場上有兼容的產品 ———— Sony FeliCa

標簽類型4

類型4與類型1類似,是由NXP DESFire標簽衍生而來的。

  • 基於ISO-14443A標准
  • 在生產時定義可讀,可重寫或只讀的屬性。
  • 可變內存,每個服務最大32kB
  • 支持三種傳輸速率: 106,212或424kbits/s
  • 支持數據沖突保護
  • 市場上有兼容的產品 ———— NXP DESFire, SmartMX-JCOP

NXP規范標簽類型

這是由NXP半導體定義的私有標簽類型。

MIFARE類型經典標簽

  • 基於ISO-14443A標准
  • 可讀可重寫,可配置成只讀
  • 可變內存192/768/3584 bytes
  • 傳輸速率 106kbits/s
  • 支持數據沖突保護
  • 市場上有兼容的產品 ———— NXP MIFARE Classic 1K, MIFARE Classic 4K, and Classic Mini

更多關於 MIFARE經典標簽的信息請查看 NXP網站:http://www.nxp.com/.

NFC相關規范

更多關於Symbian和MeeGo 1.2 Harmattan平台支持的標准請看'NFC標准和支持的標簽'一章。

ISO 14443

ISO 14443是著名的國際標准,原來是為非接觸芯片卡片在13.56MHz無線電通信設計的。 ISO 14443 從無線層到命令協議定義了一個協議棧。 無線層ISO14443-2有兩個版本,具有不同的調制和bit編碼方法。稱為A,B版。類似的,ISO 14443指定了兩個版本的包框架和底層協議部分(ISO 14443-3)。 ISO協議棧的最高層定義了傳輸信息的命令接口(ISO 14443-4)。

NFC5ISO14443.PNG

NFCIP-1

兩台NFC設備間的點到點通信是由近場通信--接口和協議規范,NFCIP-1定義的機制實現的。這個NFC關鍵規范也被稱為ISO 18092和ECMA-340。

NFCIP-1的協議棧基於ISO 14443. 主要的不同時一個新的命令協議,替換了之前協議棧的最高層。

NFCIP-1 包括兩個通信模塊使得NFC設備之間能工作在點對點的模式,也支持與基於NFCIP-1的NFC標簽通信。

NFC6NFCIP.PNG

MIFARE

MIFARE 指由NXP半導體開發的NFC標簽類型。MIFARE標簽被廣泛用於運輸工具應用的內存卡。 ISO 14443定義了從無線層到命令協議的協議棧。

NFC7MIFARE.PNG

FeliCa

FeliCa是Sony公司開發的的專利NFC標簽技術,被廣泛用於專買支付和亞洲的運輸工具應用。FeliCa標簽也被集成在移動FeliCa系統的手機模型中。Felica標簽屬於日本的工業標准。標簽基於被動模式的ISO 18902,帶有額外的認證和加密功能。

NFC8FeliCa.PNG

NFC論壇標准

NDEF NFC數據交換格式

為實現標簽和NFC設備,及NFC設備之間的交互通信,NFC論壇定義了稱為NFC數據交換格式(NDEF)的通用數據格式。

NDEF是輕量級的緊湊的二進制格式,可帶有URL,vCard和NFC定義的各種數據類型。

NDEF使得NFC的各種功能能容易的中使用各種支持的標簽類型傳輸數據,因為NDEF封裝了標簽的種類細節信息,使得應用不用關心與何種標簽在通信。

NDEF交換的信息由一系列記錄組成。每條記錄包含一個有效載荷。自愛和內容可以似乎URL,MIME媒質,或NFC定義的數據類型。使用NFC定義的數據類型,載荷內容必須被定義在一個NFC記錄類型定義(RTD)文件中。

記錄中數據的類型和大小由記錄載荷的頭部注明。

頭部包含,類型域用來指定載荷的類型。載荷的長度數的單位是字節(octet)。可選的指定載荷是否帶有一個NDEF記錄。

類型域的值由類型名字格式指定,請在NFC論壇網站http://www.nfc-forum.org/specs/spec_list/ 的NDEF技術規范的3.2.6章查看支持的類型及相應的TNF值。

NFC9NDEF.PNG

RTD 記錄類型定義

NFC論壇定義了幾種優化的記錄類型,用在NDEF記錄中。每個NFC論壇記錄類型定義在記錄類型定義(RTD)文檔中
NFC定義了一下RTD:

  • NFC文本RTD
  • NFC URI RTD
  • NFC 智能海報 RTD
  • NFC 通用控制 RTD
  • NFC 簽名 RTD

最簡單的文本記錄類型,可攜帶Unicode字符串。文本記錄可包含在NDEF信息中作為另一條記錄的描述文本。 URI記錄類型可用於存儲網站地址,郵件,和電話號碼,存儲成經過優化的二進制形式。

智能海報RTD第一了如何將,URL,短信或電話號碼編入NFC論壇標簽,及如何在設備間傳遞這些信息。

LLCP 邏輯鏈路控制協議

為加強點對點模式的操作,NFC論壇定義了一個鏈路級的協議稱為 邏輯鏈路控制協議(LLCP)。 在NFC點對點協議棧中,LLCP提供對NFCIP-1/ISO18092的額外支持。

LLCP提供兩種鏈路層連接,都支持收發數據,使用下面的數據交換方法:

  • 定向連接傳輸, 這里數據交換是可知的
  • 無連接傳輸,這里數據交換不可知

在Nokia手機中所使用NFC

Qt API

Qt NFC API包含在跨平台的Qt Mobility工程中。做為connectivity API的一部分,集成在Qt SDK中。

注意:截止本文發布時間,NFC API可能還處在技術預覽階段。

更多關於Qt Mobility API的NFC信息,請參閱 http://doc.qt.nokia.com/qtmobility-1.2.0-tp1/connectivity-api.html. Qt Mobility 信息請參閱 Qt Mobility 開發

用例

Qt NFC API支持一下用例:

  • 與NFC論壇標簽和NFC論壇設備交互
  • 目標發現和丟失
  • 注冊NDEF消息 handler
  • 向NFC論壇標簽讀寫NDEF消息
  • 發送指定標簽命令
  • 用於點對點通信的客戶端和服務器的LLCP socket連接

API 描述
QLlcpServer NFC LLCP 基於socket的服務器
QLlcpSocket NFC LLCP socket
QNdefFilter 過濾符合條件的 NDEF 消息的過濾器
QNdefMessage NFC NDEF 消息
QNdefNfcTextRecord NFC 文本 RTD
QNdefNfcUriRecord NFC URI RTD
QNdefRecord NFC NDEF 記錄
QNearFieldManager 通過這個類訪問NFC事件的通知
QNearFieldTagType1 與NFC Tag Type 1 標簽通信的接口
QNearFieldTagType2 與NFC Tag Type 2 標簽通信的接口
QNearFieldTagType3 與NFC Tag Type 3 標簽通信的接口
QNearFieldTagType4 與NFC Tag Type 4 標簽通信的接口
QNearFieldTarget 與目標設備通信的接口

例子

  • NFC注釋URL: 從NFC標簽顯示包含在NDEF消息中的URL,包含標題和圖片。
  • NDEF編輯器: 創建Connectivity API支持的NDEF記錄保存到支持的NFC論壇標簽中。

Symbian API

Symbian^3 提供下列NFC API:

API Description
NFC Discovery API 提供訂閱和發現標簽和NDEF消息的方法
NFC Tag Extension API 提供實現和訪問(讀/寫)各種NFC目標的方法
NDEF API 提供處理NDEF消息和訪問NDEF消息的方法
NFC Peer-to-Peer API Provides LLCP API for peer-to-peer communication between NFC devices
NFC Content Handler API 提供訂閱和接收NDEF消息的ECOM插件接口

用例

Symbian API 支持一下用例:

  • 創建內容處理器插件
  • 建立藍牙連接
  • 分享文件或數據
  • 讀取NDEF信息
  • 發現NFC標簽
  • 與NFC論壇類型4標簽交換數據
  • 讀取NFC論壇類型1,2,3標簽
  • 向NFC論壇類型1,2,3標簽寫數據
  • 使用(無連接)LLCP 棧傳輸和接收“Hello World!”ASCII文本
  • 使用(定向連接)LLCP 棧傳輸和接收“Hello World!”ASCII文本

注意:NFC的Symbian實現不支持模擬卡模式的操作。

例子

  • 使用NFC棧和AIW框架分享: 演示了標簽發現,NDEF發現API(Tag Discovery API,NDEF Discovery API),和各種標簽上的讀寫操作
  • 標簽發現和NDEF發現: 演示了如何通過NFC通道建立兩台設備的配對,並使用次級通訊渠道(如藍牙)分享文件。通過使用AIW框架,演示了如何分享vCard和vCal。

在Nokia開發者文檔庫查看Symbian^3 開發者庫中的NFC Symbian API,並下載例子: http://library.developer.nokia.com/topic/GUID-E35887BB-7E58-438C-AA27-97B2CDE7E069/GUID-7A72B008-901E-454D-AD93-F99555CA904A.html#GUID-7A72B008-901E-454D-AD93-F99555CA904A.

Java API

JSR 257 Contactless Communication API 1.0 在Symbian 設備上支持NFC功能。 Contactless Communication API使中間件(MIDlet)能使用移動設備上的NFC功能。中間件能讀寫標簽(集成電路)上的小量數據。

用例

Contactless Communication API支持下列用例:

  • 發現非接觸目標
  • 與非接觸目標間交換數據

注意:NFC的Java實現不支持模擬卡模式或點對點模式的操作。

 

例子

  • UIDReader: 顯示如何創建從非接觸目標中讀取數據的中間件
  • URLWriter: 顯示如何創建件向非接觸目標寫入數據的中間件

參看Nokia開發者文檔庫中Java開發者庫的NFC Java API用例並下載例子: http://library.developer.nokia.com/index.jsp?topic=/Java_Developers_Library/GUID-9248DD7F-23BE-40A6-A8DC-823783443F10.html.

支持NFC的Nokia手機

在下面鏈接查看支持NFC的Nokia手機信息:

http://www.developer.nokia.com/Devices/Device_specifications/?filter1=all&filter2=nfc.

支持的NFC標准和標簽種類

Symbian和MeeGo 1.2 Harmattan平台都支持下列NFC標准和標簽:

  • NFC A technology
  • NFC B technology
  • NFC F technology (JIS 6319-A)
  • ISO DEP protocol (ISO 14443)
  • NFC DEP protocol (NFCIP1 - ISO 18092)

支持下列NFC論壇標簽種類

  • NFC 論壇標簽種類 1
  • NFC 論壇標簽種類 2
  • NFC 論壇標簽種類 3
  • NFC 論壇標簽種類 4
   注意: NFC的Java實現不支持NFC 論壇標簽種類 4

其他支持的專利標簽種類:

  • MIFARE Classic

Nokia手機中的NFC數據處理

Symbian實現中應用程序不能在后台處理保留RTD如 智能海報,URI, 藍牙耳機,和其他通用MIME類型。

當發現一個包含保留RTD的標簽時(參看下面的章節)應用程序的UI前台會收到一個callback,類似的,分享(或快捷設置)智能當應用程序在前台是觸發。

盡管如此,用戶可以定義自己的數據類型,這樣應用程序在前台后台都可以處理用戶自定義數據類型。

NDEF記錄處理

Symbian實現支持多NDEF記錄處理,首先讀取第一條記錄,檢查是否有處理器(NFC DIscovery API 或者一個NFC Content Handler API 客戶端)更具記錄類型來處理數據。如果有,則停止處理,將整個NDEF消息交給特定的處理器。。 如果第一條記錄沒找到處理器,則移向第二條,重復查找過程。就是說,如果找到一個記錄的任何處理器,則整個NDE消息都交給這個處理器處理。

注意: 支持多NDEF記錄但不支持多NDEF消息。

支持的保留RTD

NFC的Symbian實現提供對一下RTD處理的支持:

RTD Identifier
Bluetooth 2.0 urn:nfc:ext:nokia.com:bt
Bluetooth 2.1 application/vnd.bluetooth.ep.oob
Handover Request urn:nfc:wkt:Hr
Handover Select urn:nfc:wkt:Hs
Smart Poster urn:nfc:wkt:Sp
URI record urn:nfc:wkt:U

要處理保留RTD,應用程序必須在前台,不能從后台進程讀取保留NDEF,參見 “ Nokia手機中的NFC數據處理 ”章節。

支持的MIME類型

Symbian實現可以從NFC標簽中讀取一下文件類型:

類型 子類型
image 支持所有子類型
audio 支持所有子類型
text 支持所有子類型
video 支持所有子類型
application vnd.Nokia.ringing-tone
application vnd.symbian.install
application java-archive
application x-java-archive
application vnd.wap

處理智能海報RTD


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM