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

近場通信設備間的P2P通信設計與實現(xiàn)

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

何晨暉,鄭紫微

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

近場通信設備間的P2P通信設計與實現(xiàn)

何晨暉,鄭紫微

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

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

安卓平臺;近場通信;點對點通信;移動終端;讀卡器;應用協(xié)議數(shù)據(jù)單元

1 概述

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

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

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

2 NFC P2P通信中的傳輸技術

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

2.1 NFC數(shù)據(jù)交換格式

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

2.2 NFC數(shù)據(jù)交換協(xié)議

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

圖1 SNEP通信模型

圖2 分段信息交換模型

2.3 APDU命令-響應消息對

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

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

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

2.4 Android Beam簡介

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

3 NFC P2P通信的實現(xiàn)

本文提出實現(xiàn)NFC移動終端與NFC讀卡器之間P2P通信的方法。P2P通信的實現(xiàn)分成2個部分:移動終端發(fā)送數(shù)據(jù)到讀卡器,讀卡器發(fā)送數(shù)據(jù)到移動終端。

3.1 P2P通信客戶端的實現(xiàn)

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

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

3.1.1 客戶端數(shù)據(jù)發(fā)送

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

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

3.1.2 客戶端數(shù)據(jù)接收

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

3.2 P2P通信服務器的實現(xiàn)

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

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

3.2.1 服務器數(shù)據(jù)發(fā)送

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

圖3 讀卡器發(fā)送消息流程

3.2.2 服務器數(shù)據(jù)接收

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

圖4 讀卡器接收消息流程

4 測試結果與分析

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

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

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

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

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

5 結束語

本文研究并實現(xiàn)了基于Android的NFC移動終端與NFC讀卡器的P2P通信,從NFC數(shù)據(jù)交換格式NDEF、簡單NDEF數(shù)據(jù)交換協(xié)議、應用協(xié)議數(shù)據(jù)單元、Android Beam 4個方面闡述了NFC P2P通信原理及方式,實現(xiàn)的移動終端與讀卡器間的P2P通信,包括移動終端發(fā)送消息給讀卡器、讀卡器發(fā)送消息給移動終端2個功能。NFC技術作為新興的通信方式與移動終端結合,在移動支付、門禁等領域有較大的應用價值。測試結果表明,移動終端與讀卡器間的P2P通信,較好地實現(xiàn)消息在兩者之間的收發(fā)、應答,為很多實際應用提供了新的依據(jù)。下一步將主要從P2P通信傳輸數(shù)據(jù)的安全性、便利性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卡讀寫器的設計與實現(xiàn)[J].無線電通信技術,2012,(5):50-52,70.

[11]吳毓書,張寶峰,張翀斌,等.基于APDU數(shù)據(jù)交換協(xié)議的安全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通信設計與實現(xiàn)[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);寧波市科技創(chuàng)新團隊基金資助項目(2011B81002)。

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

2014-04-16

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

猜你喜歡
設備
諧響應分析在設備減振中的應用
調試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發(fā)的設備管理信息系統(tǒng)
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發(fā)射設備中平衡輸入與不平衡輸入的轉換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
HTC斥資千萬美元入股虛擬現(xiàn)實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節(jié)省成本
主站蜘蛛池模板: 中文字幕1区2区| 成人永久免费A∨一级在线播放| 91久久夜色精品国产网站 | 久久亚洲美女精品国产精品| 国产福利在线观看精品| 99ri精品视频在线观看播放| 风韵丰满熟妇啪啪区老熟熟女| 在线国产毛片手机小视频| 成人在线综合| 国产精品蜜臀| 国产精品天干天干在线观看| 亚洲国产天堂久久综合| 国产成人精品在线1区| 9啪在线视频| 97综合久久| 91亚洲免费视频| 欧美精品亚洲日韩a| 毛片a级毛片免费观看免下载| 日韩A级毛片一区二区三区| 亚洲一区二区三区在线视频| 久久久久久尹人网香蕉 | 色综合热无码热国产| 2021精品国产自在现线看| 无码国产伊人| 伊在人亚洲香蕉精品播放| 又爽又大又黄a级毛片在线视频| 国产麻豆精品手机在线观看| 日韩精品无码免费专网站| 欧美色亚洲| 国产精品无码AV片在线观看播放| 欧美视频在线第一页| 亚洲精品无码日韩国产不卡| 91毛片网| 亚洲精品不卡午夜精品| 亚洲国产成人自拍| 亚洲成肉网| 一本色道久久88| 久草青青在线视频| 爽爽影院十八禁在线观看| 五月激激激综合网色播免费| 国产香蕉一区二区在线网站| 国产熟睡乱子伦视频网站| 国产美女精品在线| 伊伊人成亚洲综合人网7777| 国产精品刺激对白在线| 青青草原国产精品啪啪视频| 精品国产Av电影无码久久久| 九九视频免费在线观看| 中文精品久久久久国产网址| 特级aaaaaaaaa毛片免费视频| 99精品视频在线观看免费播放| 亚洲综合极品香蕉久久网| 超碰aⅴ人人做人人爽欧美| 亚洲欧洲国产成人综合不卡| 美女国内精品自产拍在线播放 | 最新国产网站| 国产av无码日韩av无码网站| 亚洲无码视频一区二区三区| 亚洲国产中文精品va在线播放| 国产一级在线观看www色| 欧美精品综合视频一区二区| 日韩黄色在线| 国产国语一级毛片| 99这里只有精品免费视频| 99精品在线看| 2021最新国产精品网站| 无码内射中文字幕岛国片| 久久精品国产电影| 怡春院欧美一区二区三区免费| 亚洲三级视频在线观看| a毛片基地免费大全| 毛片在线看网站| 美女潮喷出白浆在线观看视频| 五月婷婷丁香综合| 久综合日韩| 无码AV动漫| 国产成人亚洲日韩欧美电影| h网址在线观看| 亚洲无码一区在线观看| 99热这里只有免费国产精品| 色悠久久综合| 亚洲黄色激情网站|