如何開速開發(fā)NFC?
2014年由于蘋果的加入,NFC快速進入大眾視野,國內各廠商也躍躍欲試,想在這一領域能分到一杯羹,但是很多人還搞不清NFC是啥東西,除了支付它還能干啥?有沒有我們可以深耕的空間.....
1.什么是NFC?
其實NFC也是像藍牙一樣,有一套協(xié)議棧規(guī)范的。它是建立在13.56MHZ頻段上的一套短距的通訊規(guī)范,通常的通訊距離也就在3厘米左右,最遠也不超過10厘米,關于它有什么好處和有優(yōu)勢大家百度一下就知道了,我不在這里贅敘,它是兼容RFID協(xié)議的一種支持主從呼喚的協(xié)議,比原來的RFID更有優(yōu)勢,并能兼容以前的無線ID卡應用場景。以前的RFID是主機只能是主機,不能切抱成tag(從機)的角色。
2.NFC能干啥?
很多人知道NFC都是從支付開始的,因為現(xiàn)在蘋果在做apple pay,谷歌在做gogle Wallet,中移動,支付寶等都在用NFC在做支付了,招商銀行也推出了閃付通這樣的服務....
但是支付涉及到銀聯(lián)認證,涉及各方的利益多了入門檻就高了,不是一般公司與個人能玩的了,我個人覺得普通想參與NFC陣營的朋友,別想NFC支付了,沒我們什么事的,那都是大公司大財團玩的,那不關注NFC支付,NFC還能做啥呢?
NFC其實全稱是Near field communication ,中文就是近場通信,支付只是它的一個典型應用,其實可以用它來傳輸任意數(shù)據。但是能做與要做是兩回來,要用NFC來做什么,這取決于它的特點和優(yōu)勢,NFC的特點是通信建立時間非??於鴤鬏斔俾时容^慢, 所以適合用于傳輸數(shù)據量比較小而過程短又快的場景。
兩個應用方向我覺得是重點:
1,讀寫非接觸IC卡 (各種ID卡、IC卡)
2,P2P(點對點)通信--可以傳自定義數(shù)據
在安防領域:NFC可以做動態(tài)密碼的門禁,甚至是能同時兼容手機和ID卡的高級身份識別系統(tǒng),也可以作為簽到系統(tǒng),貴重物品設備管理等等。。。

NFC在智能門禁中應用(同時支持手機+門卡)
在防偽朔源方面:也是大有可為,也是我等普通人可以做的事情,例如五糧液等產品已使用NFC標簽用于防偽朔源。
在專業(yè)應用領域:主要是使用NFC 的P2P通信,可以讓手機與工業(yè)設備任意互相傳輸數(shù)據,方便地利用上手機的處理能力還有便捷性,例如工業(yè)機器只要裝上NFC,就可以用手機來配置參數(shù),讀取工業(yè)設備的狀態(tài)數(shù)據等等。特別是現(xiàn)在銀行的ATM也開始用P2P方式來開展業(yè)務了,例如小額支付,無卡取款等,都可以用手機來完成,通過P2P傳輸加密了卡號和密碼的數(shù)據,安全又靈活,比卡模擬的操作空間更大,例如風火輪的SMC532模組已在國內某些ATM機器中使用,就是為了小額取款無卡取款等方面的應用,讓用戶手機打開應用綁定銀行卡,然后可在ATM取款機上刷一下,就可以取款,省去了輸密碼或忘記帶銀行卡的煩惱。其中用到的就是SMC532模組的NFC點對點通信功能 ,該模組可以有NFC功能的手機互相傳輸數(shù)據,這些數(shù)據都是ATM應用經過加密的,保證了安全又得到了方便。

NFC在廣告機中應用(發(fā)優(yōu)惠券等數(shù)據)
3.如何快速開發(fā)NFC功能?
要開發(fā)NFC功能,必須得按照NFC協(xié)議來進行通訊,而NFC的應用協(xié)議棧,為了兼顧安全和效率等因素,自然也是相當復雜,應用起來也不是一時半會能摸透它。
要想快速開發(fā)NFC功能,最好還是使用內置了協(xié)議棧的NFC模組,例如風火輪科技的SMC532模組,它里面有一顆MCU,把NFC的應用協(xié)議棧都做到里面了,所以使用者根本不用去了解NFC的協(xié)議棧等,只需要通過串口發(fā)一串命令,就能實現(xiàn)復雜的NFC功能,無論是單片機,還是跑有嵌入式系統(tǒng)(WINCE,ucos-II,Android)的設備,都可以快速的加入NFC功能,一條串口命令對應一個NFC功能,例如讀卡、寫卡、P2P....,都是一條命令搞定,
NFC模組 讀到卡號還有P2P數(shù)據等也是自動通過串口直接就傳出來,非常方便快捷,特別是設備NFC與手機的P2P通信,用的是NDEF格式,里面涉及到的協(xié)議有LLCP,LIBNFC,SNEP,NEDF等,如果自已開發(fā)起來工作量非常大,如果你的設備主控是單片機做的,也跑不了這些協(xié)議棧,所以最好是使用SMC532這種模組,會省事很多,NFC傳輸?shù)募毠?jié)就不用管了,只要操心要傳什么數(shù)據,讀什么數(shù)據等等業(yè)務邏輯相關的事情就好。
舉例:
讀卡:當有NFC卡進入天線范圍,SMC532自動讀取某地址的值,通過串口發(fā)出來

PS.這個默認讀取的某地址,是可以通過命令配置的。
寫卡:
例如需要往02地址塊里寫入數(shù)據01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16,命令如下:

給手機發(fā)送 NFC數(shù)據(P2P方式)
用戶通過SMC532模組與手機進行P2P通信,NDEF數(shù)據格式,可傳任意數(shù)據,風火輪提供了各平臺的DEMO示例程序源碼,并提供手機上的演示程序源碼,讓你快速實現(xiàn)自定義NFC功能。

.....................00 FF
以上數(shù)據都是16進制。
設置了這些數(shù)據,當NFC手機靠近過來,運行了風火輪 P2P的軟件,模組就會發(fā)送紅色的數(shù)據到手機上。
手機給模組發(fā)送NFC數(shù)據
風火輪提供的手機程序界面如下

當SMC532 NFC模組收到手機傳來的P2P數(shù)據,如果是大數(shù)據,它會分幀傳給主機,模組通過串口傳給主機的數(shù)據中,有兩種幀格式:

看到了吧,真的很簡單的操作,就能實現(xiàn)NFC的復雜功能了。
----- 開發(fā)NFC,就這么簡單。。。。