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代表操作失?。?1]。讀卡器通過對響應后綴的判定來決定下一步操作,成功則取出實際傳輸的數據,失敗則拋出異常。

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 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 波多野结衣无码视频在线观看| 91精品国产综合久久不国产大片| 国产极品嫩模在线观看91| 亚洲欧美不卡| 久久99久久无码毛片一区二区 | 国产嫖妓91东北老熟女久久一| 黄色网在线| 热99精品视频| 欧美中文一区| 老司机aⅴ在线精品导航| 国产欧美日韩综合在线第一| 国产无码精品在线播放| 无码又爽又刺激的高潮视频| 国产美女91视频| 青青国产成人免费精品视频| 国产午夜不卡| 91亚洲精选| 婷婷色中文| 国产91精品调教在线播放| www.99在线观看| 国产农村妇女精品一二区| 国产成人精品亚洲日本对白优播| 欧美精品伊人久久| 亚洲三级片在线看| 老司机精品一区在线视频| 在线观看精品自拍视频| 亚洲欧美h| 99久久国产精品无码| 在线视频精品一区| 国产成人精品免费视频大全五级| 亚洲天堂免费观看| 国产黄视频网站| 99re精彩视频| 久久久久免费精品国产| 亚洲色图在线观看| 青青久久91| 喷潮白浆直流在线播放| 亚洲精品在线观看91| 黄色一及毛片| 日韩一级二级三级| 欧美国产日韩在线| 波多野吉衣一区二区三区av| 黄色在线不卡| 激情综合婷婷丁香五月尤物| 天堂成人av| 欧美亚洲第一页| 啦啦啦网站在线观看a毛片| 国产在线精品美女观看| 在线看片中文字幕| 日韩精品成人在线| 2022国产91精品久久久久久| 婷婷色狠狠干| 精品免费在线视频| 韩国v欧美v亚洲v日本v| 亚洲无码高清视频在线观看 | 午夜精品久久久久久久无码软件 | 天堂网国产| 国产精选自拍| 久久香蕉国产线看观看式| 亚洲免费黄色网| 国产精品hd在线播放| 国内精品视频| 久久精品视频亚洲| 成年人福利视频| 欧美成人在线免费| 亚洲无码精彩视频在线观看| 99热这里只有精品免费| 精品久久蜜桃| 久久久精品久久久久三级| 欧美自慰一级看片免费| 色妞www精品视频一级下载| 97亚洲色综久久精品| 乱人伦视频中文字幕在线| 国产婬乱a一级毛片多女| 色噜噜狠狠狠综合曰曰曰| 欧美精品另类| 99国产在线视频| 毛片久久网站小视频| 91午夜福利在线观看| 亚洲另类色| 国产丝袜第一页| 日本欧美中文字幕精品亚洲|