999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

近場通信設備間的P2P通信設計與實現

2015-02-20 08:15:22何晨暉鄭紫微
計算機工程 2015年3期
關鍵詞:設備

何晨暉,鄭紫微

(寧波大學通信技術研究所,浙江寧波315211)

近場通信設備間的P2P通信設計與實現

何晨暉,鄭紫微

(寧波大學通信技術研究所,浙江寧波315211)

為實現不同近場通信(NFC)設備間的互通,以NFC設備的點對點通信(P2P)為研究對象,設計并實現基于Android平臺的NFC移動終端與讀卡器之間的點對點(P2P)通信方案。NFC移動終端與讀卡器以NFC數據交換格式(NDEF)的數據為通信單元,在簡單NDEF交換協議的基礎上,一方作為客戶端發送傳輸消息請求,另一方作為服務器對客戶端的請求做出響應。通過應用協議數據單元中的命令-響應消息對使NFC移動終端與讀卡器進行交互。測試結果表明,NFC移動終端與NFC讀卡器均可以主動給對方發送消息,較好地實現了兩者之間的P2P通信。

安卓平臺;近場通信;點對點通信;移動終端;讀卡器;應用協議數據單元

1 概述

近場通信(Near Filed Communication,NFC)是近年來新興的一種半雙工通信技術[1]。相對于藍牙、紅外線、Zigbee等傳統通信技術,NFC技術具有低功耗、低成本、便捷迅速、安全性高的優勢[2-3],因此NFC技術應用于移動支付、門禁、電子票務、身份認證等領域具有廣闊的應用前景。在智能手機廣泛普及的今天,智能手機與NFC技術的結合將開創全新的生活方式,給人們生活帶來極大便利。

NFC設備有3種工作模式[1]:(1)讀寫模式, NFC設備充當讀卡器對NFC標簽進行讀/寫操作[4];(2)卡模式,NFC設備模擬成NFC標簽被讀卡器讀/寫數據[5];(3)點對點(Peer to Peer,P2P)模

式,2個NFC設備都處于主動模式進行通信[6]。本文主要針對NFC設備的P2P模式展開討論,研究并實現NFC移動終端與NFC讀卡器之間的P2P通信。

2 NFC P2P通信中的傳輸技術

NFC論壇制定了一系列的標準來規范NFC技術。NFC數據交換格式(NFC Data Exchange Format, NDEF)[7]規定了NFC通信時的數據封裝格式。簡單NDEF交換協議(Simple NDEF Exchange Protocol, SNEP)[8]規定了NFC P2P模式下2個NFC設備通信的規范。與讀卡器通信還有專屬的應用協議數據單元(Application Protocol Data Unit,APDU)命令,通過不同的數據交換命令可以使讀卡器做出不同操作。

2.1 NFC數據交換格式

NDEF規定了2個NFC設備或者NFC設備與NFC標簽之間數據交換時的數據封裝格式。NDEF機制中數據封裝格式以NDEF消息形式存在,NDEF消息由若干個NDEF記錄組成。一條NDEF消息對包含的NDEF記錄數量是沒有限制的,第一個NDEF記錄由MB(Message Begin)標志位標記,最后一個NDEF記錄由ME(Message End)標志位標記。一個NDEF記錄中有3種參數:有效負載長度,有效負載類型,有效負載標識符。這3種參數用來描述該條NDEF記錄中的有效負載,有效負載中的內容是用戶實際讀/寫的數據。通常一條NDEF消息由多個NDEF記錄組成,因此,完整的數據是分散放在每個NDEF記錄中的有效負載內。

2.2 NFC數據交換協議

SNEP是一個應用層協議,適用于2個NFC設備處于P2P模式時,用NDEF格式數據交換信息的情況。圖1為SNEP通信模型。SNEP客戶端發送一個請求到SNEP服務器,請求消息包括協議版本、請求操作、消息主體長度、消息主體。SNEP服務器接收到請求后對SNEP客戶端做出響應,響應的消息包括協議版本、成功/失敗狀態碼、消息主體長度、消息主體。SNEP通信時的單條數據除了消息主體外的部分統稱為消息頭,消息主體中存放的是NDEF格式封裝的消息。SNEP消息主體對NDEF消息數量是有限制的,最大數量不超過232-1。如果消息長度超過單個SNEP消息的容量,SNEP消息就會被分段傳輸。圖2為SNEP請求與響應分段交換的模型。為讓接收方知道分段消息的字節數,第1個片段必須要包含完整的SNEP消息頭。SNEP客戶端發出第1個請求片段后,SNEP服務器響應“繼續”,SNEP客戶端才能將剩余的片段請求發送給服務器。如果SNEP服務器不希望處理剩下的SNEP請求,SNEP服務器將響應“拒絕”,此時,客戶端與服務器之間的連接會強制斷開。SNEP服務器的分段響應過程也是相同原理。在實際通信中, SNEP請求和SNEP響應中只有其中一個分段傳輸也是可能的。

圖1 SNEP通信模型

圖2 分段信息交換模型

2.3 APDU命令-響應消息對

應用協議數據單元(Application Protocol Data Unit,APDU)是智能卡與讀卡器之間通信的最小信息單元[9]。APDU命令-響應消息對分成APDU命令和APDU響應。根據ACR122U NFC Reader API[10]的闡釋,NFC移動設備與讀卡器ACR122U通信實際是和讀卡器中的PN532芯片通信,本文采用直接傳輸將數據包發送到NFC移動設備或NFC讀卡器。讀卡器發送的APDU命令頭是:0xff 0x00 0x00 0x00 0xii,其中,ii表示數據域字節數。ACR122U讀卡器處于Target模式,在APDU命令后跟隨命令碼。0xd4 0x8c代表對讀卡器初始化;0xd4 0x86代表讀卡器讀取數據;0xd4 0x8e代表讀卡器寫入數據[11]。根據不同的數據交換命令,ACR122U讀卡器能與NFC移動設備進行P2P通信。

ACR122U讀卡器在發送APDU命令后NFC移動設備回饋的APDU響應會有2個字節的響應后綴

SW1,SW2。根據響應后綴,讀卡器可以判定APDU命令執行的成功與否。0x90 0x00代表操作成功完成;0x63 0x7f代表PN532命令有誤;0x63 0x00代表操作失敗[11]。讀卡器通過對響應后綴的判定來決定下一步操作,成功則取出實際傳輸的數據,失敗則拋出異常。

2.4 Android Beam簡介

Android Beam是Android 4.0后開發的一個功能,目的是實現NFC移動設備間的數據交換。當2個NFC設備間要傳數據時,先保證設備沒有鎖屏,然后將2個NFC設備背靠背貼近,此時發送數據的NFC設備會有“觸摸即可發送”的提示,當用戶點擊屏幕時待傳輸數據即發送到另一個NFC設備[12]。為實現NFC移動設備與讀卡器的P2P通信,Android Beam是必不可少的。

3 NFC P2P通信的實現

本文提出實現NFC移動終端與NFC讀卡器之間P2P通信的方法。P2P通信的實現分成2個部分:移動終端發送數據到讀卡器,讀卡器發送數據到移動終端。

3.1 P2P通信客戶端的實現

客戶端的開發環境是Eclipse4.3.2,ADT22.0.1, Android4.0,jdk-7-windows-i586。測試用的NFC移動終端型號是Nexus 4,操作系統Android 4.4。

客戶端主要用到的包有4個[13-14]:(1)android.nfc.NfcAdapter包,處理NFC操作的輔助類; (2)android.nfc.NfcEvent包,產生的事件對象通常作為其他方法的參數,比如適配器的參數;(3)android.nfc.NdefRecord包,產生NDEF記錄;(4)android.nfc.NdefMessage,創建標準NDEF格式消息。

3.1.1 客戶端數據發送

移動終端向讀卡器發送的數據是NDEF格式消息,而一條NDEF消息是由若干NDEF記錄組成的。以下是生成NDEF消息的部分代碼:

為使NDEF格式消息正確發送需要實現2個接口:(1)CreateNdefMessageCallback實現接口,在主線程調用setNdefPushMessage Callback()方法,當NFC移動終端貼近讀卡器,應用會自動創建一條NDEF消息。(2)OnNdefPushCompleteCallback實現接口,在主線程調用setOnNdefPushCompleteCall back()方法,可以監聽NDEF消息是否發送成功,通常回調后的處理操作是在子線程中完成。

3.1.2 客戶端數據接收

移動終端接收從讀卡器發送來的消息時,客戶端是通過Intent做媒介獲取數據的,再通過解析Intent中的內容獲得實際數據。由于SNEP協議數據交換只含有NDEF格式數據[8],因此intent filter中只定義對ACTION_NDEF_DISCOVERED類型的Intent感興趣,并且可以將此類型的Action作為處理數據的判斷條件。以下是處理接收數據的部分代碼:

3.2 P2P通信服務器的實現

服務器的開發環境是jdk-7-windows-i586, Eclipse4.3.2。測試用讀卡器型號是ACR122U。使用時,讀卡器通過USB口連接PC端。

服務器主要用到的包:(1)javax.smartcardio.Card包,創建卡對象,以及通過該包獲得卡對象的基本屬性; (2)javax.smartcardio.CardChannel包,創建卡信道對象,使讀卡器與智能卡建立連接;(3)javax.smartcardio.CardTerminal包,創建終端對象,在該包獲得讀卡器信息;(4)javax.smartcardio.CommandAPDU包,構建APDU命令;(5)javax.smartcardio.ResponseAPDU包,構建APDU響應[13-14]。

3.2.1 服務器數據發送

讀卡器向移動終端發送消息是主動發送SNEP請求的過程。圖3為讀卡器發送消息的流程。當讀卡器收到“發送”命令時,讀卡器首先進行初始化,初始化內容包括讀卡器模式、協議版本、超時參數等基本信息。讀卡器發出SNEP請求后,當得到移動終端的“成功”響應后,讀卡器發送實際消息。讀卡器確認移動終端成功接收到消息后,中斷與移動終端的連接。

圖3 讀卡器發送消息流程

3.2.2 服務器數據接收

移動終端向讀卡器發送消息是讀卡器被動接收SNEP請求的過程。圖4為讀卡器接收消息的流程。當讀卡器收到“接收”命令時,讀卡器首先進行初始化,初始化內容跟讀卡器發送消息類似。由于此時發送SNEP請求的一方為移動終端,讀卡器需在初始化后等待與移動終端的連接請求,若連接成功,讀卡器將繼續等待移動終端發送的SNEP請求。下一步,讀卡器對接收到的內容做判斷,若接收的內容長度大于5,則被認為是移動終端發送的實際消息。讀卡器發出命令“請求已收到”,且讀卡器在確認回復“成功”后,斷開與移動終端的連接。

圖4 讀卡器接收消息流程

4 測試結果與分析

圖5為讀卡器向移動終端發送消息的過程。

圖5 讀卡器向移動終端發送消息的示意圖

圖5(a)為讀卡器發送SNEP請求,觸發了移動終端的Android Beam。由于此時是讀卡器向移動終端發送數據,因此無需在移動終端進行“傳遞”操作,只需等待讀卡器發送完消息。圖5(b)為讀卡器傳遞的實際內容。移動終端接收到的消息觸發了定義的Action,然后將實際內容“Good Job!”從Intent中解析出來。

圖6為移動終端向讀卡器發送消息的過程。圖6(a)為移動終端向讀卡器發送SNEP請求觸發了Android Beam。用戶需要觸摸屏幕傳達“發送”命令,否則讀卡器將因超時得不到移動終端發送的數據。圖6(b)為讀卡器成功接收消息并且向移動終端響應“成功”后,移動終端以Toast形式做出的提示信息。

圖6 移動終端向讀卡器發送消息的示意圖

5 結束語

本文研究并實現了基于Android的NFC移動終端與NFC讀卡器的P2P通信,從NFC數據交換格式NDEF、簡單NDEF數據交換協議、應用協議數據單元、Android Beam 4個方面闡述了NFC P2P通信原理及方式,實現的移動終端與讀卡器間的P2P通信,包括移動終端發送消息給讀卡器、讀卡器發送消息給移動終端2個功能。NFC技術作為新興的通信方式與移動終端結合,在移動支付、門禁等領域有較大的應用價值。測試結果表明,移動終端與讀卡器間的P2P通信,較好地實現消息在兩者之間的收發、應答,為很多實際應用提供了新的依據。下一步將主要從P2P通信傳輸數據的安全性、便利性2個方面研究NFC設備P2P通信應用于移動支付領域的可行性及解決方案。

[1]Coskun V,Ozdenizci B,Ok K.A Survey on Near Field Communication(NFC)Technology[J].Wireless Personal Communications,2013,71(3):2259-2294.

[2]Pesonen J,HorsterE.NearFieldCommunication Technology inTourism[J].TourismManagement Perspectives,2012,31(4):11-18.

[3]Sharma V,Gusain P,Kumar P.Near Field Communication[C]//Proceedings of Conference on Communication and Control Systems.Washington D.C.,USA:IEEE Press,2013.

[4]IEEE.ISO/IEC l8092-2013 Information Technologytelecommunications and Information Exchange Between Systems——Near Field Communication Interface and Protocol(NFCIP-1)[S].2013.

[5]馬 捷,鄂金龍.基于近場通信的WiFi傳輸連接方案[J].計算機工程,2013,39(6):1-6.

[6]劉 翔,肖 堃.跨平臺NFC軟件棧的研究與架構設計[J].電子科技大學學報,2014,43(1):88-94.

[7]NFC Forum.NFCDataExchangeFormat(NDEF) Technical Specification[EB/OL].[2014-04-09].http:// www.nfc-forum.org/specs/spec_list/.

[8]NFC Forum.Simple NDEF Exchange Format(SNEP) Technical Specification[EB/OL].[2014-04-09].http:// www.nfc-forum.org/specs/spec_list/.

[9]Belter I.Smart Card APDU Analysis[Z].2008.

[10]白翠翠,夏春蕾,戴曙光.非接觸式CPU卡讀寫器的設計與實現[J].無線電通信技術,2012,(5):50-52,70.

[11]吳毓書,張寶峰,張翀斌,等.基于APDU數據交換協議的安全U盤通信模型[J].清華大學學報:自然科學版,2012,52(10):1496-1499.

[12]IEEE.ISO/IEC 7816-4-2013 Identification Cards——IntegratedCircuitCards——Part4:Organization, Security and Commands for Interchange[S].2013.

[13]Coskun V,Kerem O,Ozdenizci B.Professional NFC Application Development for Android[M].Hoboken, USA:John Wiley&Sons,Inc.,2013.

[14]石 韻.Android移動平臺中NDEF標簽的掃描應用研究[J].計算機光盤軟件與應用,2014,(19): 292-294.

編輯 陸燕菲

Design and Implementation of P2P Communication Between Near Field Communication Devices

HE Chenhui,ZHENG Ziwei
(Institute of Communication Technology,Ningbo University,Ningbo 315211,China)

To achieve interconnection between different Near Field Communication(NFC)devices,Peer to Peer(P2P) communication of NFC device as the object of study,this paper designs and implements P2P communication between NFC mobile terminal and NFC reader based on Android platform.NFC mobile terminal and NFC reader takes NFC Data Exchange Format(NDEF)as the communication unit,based on the Simple NDEF Exchange Protocol(SNEP)protocol,a party is as a client to send the message transmission request,and the other is as a server to respond client request.It is to enable NFC mobile terminal interact with NFC reader through command-response message pair in Application Protocol Data Unit(APDU).Test results show that both NFC mobile terminal and NFC reader can take the initiative send messages to each other,and better achieve P2P communication between NFC mobile terminal and NFC reader.

Android platform;Near Field Communication(NFC);Peer to Peer(P2P)communication;mobile terminal;card reader;Application Protocol Data Unit(APDU)

何晨暉,鄭紫微.近場通信設備間的P2P通信設計與實現[J].計算機工程,2015,41(3):77-80,87.

英文引用格式:He Chenhui,Zheng Ziwei.Design and Implementation of P2P Communication Between Near Field Communication Devices[J].Computer Engineering,2015,41(3):77-80,87.

1000-3428(2015)03-0077-04

:A

:TP319

10.3969/j.issn.1000-3428.2015.03.014

國家自然科學基金資助項目(60972063);國家科技重大專項基金資助項目(2011ZX03002-004-02);浙江省杰出青年科學基金資助項目(R1110416);教育部高等學校博士學科點專項科研基金資助項目(20113305110002);寧波市科技創新團隊基金資助項目(2011B81002)。

何晨暉(1989-)女,碩士研究生,主研方向:無線移動通信;鄭紫微,教授、博士生導師。

2014-04-16

:2014-05-12E-mail:hechenhuicn@foxmail.com

猜你喜歡
設備
諧響應分析在設備減振中的應用
調試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發射設備中平衡輸入與不平衡輸入的轉換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
HTC斥資千萬美元入股虛擬現實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 色天堂无毒不卡| 国产美女自慰在线观看| 国产精品13页| 无码AV日韩一二三区| 18禁影院亚洲专区| 在线看免费无码av天堂的| 午夜少妇精品视频小电影| 农村乱人伦一区二区| 国产尤物jk自慰制服喷水| 国产一区成人| 麻豆国产原创视频在线播放| a欧美在线| 色综合天天视频在线观看| 国产白浆一区二区三区视频在线| 激情爆乳一区二区| 九色在线观看视频| 国产传媒一区二区三区四区五区| 无码精油按摩潮喷在线播放 | 一本一道波多野结衣一区二区| 2048国产精品原创综合在线| 中文国产成人久久精品小说| 欧美成a人片在线观看| 99热在线只有精品| 国产在线视频导航| 激情五月婷婷综合网| 77777亚洲午夜久久多人| 国产精品三区四区| 亚洲精品视频免费看| 香蕉网久久| 久久五月视频| 日本伊人色综合网| 亚洲天堂精品视频| 99er精品视频| 老司机aⅴ在线精品导航| 亚洲伊人天堂| 亚洲 欧美 日韩综合一区| 日本不卡在线播放| 黄色片中文字幕| 久久人人爽人人爽人人片aV东京热 | 一级毛片高清| 亚洲国产在一区二区三区| 超碰免费91| 欧美成人日韩| 99人妻碰碰碰久久久久禁片| 久久动漫精品| 欧美午夜视频在线| 国产99视频免费精品是看6| 狠狠色噜噜狠狠狠狠色综合久 | 免费高清a毛片| 亚洲国产精品一区二区高清无码久久| 一级毛片在线播放| 一级毛片中文字幕| 亚洲精品中文字幕午夜| 国产一国产一有一级毛片视频| 国模沟沟一区二区三区| 极品性荡少妇一区二区色欲| 国产精品高清国产三级囯产AV| 中文字幕在线免费看| 国产Av无码精品色午夜| 日韩视频免费| 日韩在线欧美在线| 久久无码高潮喷水| 91九色国产在线| 99草精品视频| 国产流白浆视频| 欧美曰批视频免费播放免费| 91在线高清视频| 国产成人AV男人的天堂| 亚洲最大综合网| 一区二区三区国产精品视频| 免费看美女自慰的网站| 中文字幕乱码二三区免费| 亚洲国产成人综合精品2020| 国产91成人| 国产成人精品高清不卡在线| 久久国产精品影院| 中日韩一区二区三区中文免费视频| 精品国产福利在线| 国产18在线播放| 精品免费在线视频| 久久综合九九亚洲一区| 欧美在线天堂|