首頁

網站建設

移動端開發

設計

案例

網絡營銷

新聞動態

關于我們

當前位置:首頁 > 新聞動態 > 常州APP開發 >常州APP開發公司分析無線近場通訊NFC技術應用

常州APP開發公司分析無線近場通訊NFC技術應用

責任編輯:常州開發近場通訊NFC 點擊: 發表時間:2021-01-11 11:31:36

無線近場通訊技術(Near Field Communication,NFC),最早是Sony和Philip這兩家公司共同開發的一種非接觸式識別和互聯技術,現在已經發展為國際性的非盈利組織 NFC Forum。該組織相當于藍牙技術聯盟(Bluetooth SIG)和WIFI聯盟負責相關技術的規范制定和認證。

1.2技術原理

NFC利用無線射頻技術實現設備之間的通信,工作頻率為13.56MHz,有效距離為4cm左右,目前支持的數據傳輸速率有106Kbps、212Kbps和424Kbps這三種。

1.3技術應用

NFC提供了一種簡單的、非接觸式的解決方案,在移動設備、消費電子產品和智能設備間讓使用者簡單直觀的交換信息、訪問內容和服務。當前NFC技術整合了非接觸式讀卡器、非接觸式智能卡和點對點(Peer-to-Peer)通信功能,為消費者創造了一個全新便利的生活方式

 1-1.png

2 工作模式

NFC工作模式可以分為主動模式、被動模式與雙向模式這三種。

2.1主動模式(讀卡器模式)

NFC設備作為非接觸讀卡器使用,主動發出自己的射頻場去識別具有NFC標簽的設備,或者向NFC標簽設備讀寫數據。常州開發APP公司點個贊科技指出NFC技術應用領域包括廣告讀取、車票讀取、電影海報讀取、電影門票銷售等。作為讀卡器的NFC設備需要供電使用。

2.2被動模式(仿真卡模式)

具有NFC功能的設備模擬成一張NFC標簽或非接觸卡,只能在其他設備發出的射頻場中被動響應。利用供電主設備產生的射頻場轉換成電能為自己供電接受主設備的數據并利用負載調制技術將自己的數據傳回主設備。應用領域包括支持NFC功能的手機作為門禁卡、銀行卡、公交卡等。

2.3雙向模式(點對點模式)

具備NFC功能的設備間都主動發出射頻場來建立點對點的連接進行數據交換。應用領域包括兩個具備NFC功能的手機建立連接傳輸文件等。

3 數據結構

NDEF:NFC Data Exchange Format,NFC數據交換格式,NFC Forum約定的NFC Tag中的數據格式。一個NDEF message包含多個Record記錄,真正的數據則都是封裝在Record中的,NDEF與Record之間的關系及數據結構如圖所示。

NDEF message:4 NFC技術在Android中的應用

Android2.3.1(API Level = 9)才開始支持NFC技術,但Android2.x和Android3.x對NFC的支持還是非常有限的,而從Android4.0(API Level = 14)開始,Google向NFC發力才使得NFC技術在Android中得到了更進一步的支持。尤其是Android4.1,可以利用NFC技術傳遞較大的數據(NFC Handover也就是Android Beam技術)。Android9已經全面支持NFC的三種工作模式,從而以下關于常州開發APP點個贊科技公司分析的無線近場通訊NFC技術應用也都是基于Android9。

5 NFC在安卓系統中的架構

NFC系統架構圖:

2-1.png

5.1 NFC Framework

Android對外提供NFC功能的API,API主要方法都在android.nfc包中,android.nfc.tech包補充了非NDEF數據格式的標簽類型的連接及數據交互接口。

相關Application直接通過NfcAdapter.getDefaultAdapter(Context)就可獲取到NFC的適配器,應用apk的所有對NFC的操作都需要通過NfcAdapter來工作。

NFC framework initialize:

3-1.png

5.2 NFC Service

NFC service服務是由NFC apk提供的,源碼路徑為:packages\apps\Nfc…,編譯后會生成

NfcNci.apk  和 libnfc_nci_jni.so (下一節介紹)。

NfcNci.apk的AndroidManifest.xml中設置了安卓開機自啟動屬性:persistent=“true”,所以我們直接從NfcApplication.java開啟NFC服務進程的講解。

5.3 NFC JNI

源碼路徑:packages\apps\Nfc\nci\jni,編譯生成 libnfc_nci_jni.so。由于編譯JNI的so庫包含有NFC Stack的so庫,所以能直接在JNI中調用NFC協議棧中的相關方法。

5-1.png

5.4 NFC HAL Server

HAL(硬件抽象層)是Google為了保護硬件廠商的利益而在Android架構中加入了HAL的概念,使得上層不需關心硬件實現的具體細節,只需傳入抽象層所需參數,就可以達到控制硬件的目的。

初始化的NFC協議棧通過HIDL技術獲取到了NFC HAL Server端的對象。HAL Server中通過HAL技術打開NFC Controller提供的so庫,從而可以操作NFC硬件。


售前咨詢 定制開發在線咨詢 售后咨詢 QQ : 2776216202 電話溝通 免費咨詢 :0519-8996-6566

嘿,掃碼咨詢客服唄~

常州點個贊信息科技有限公司 | 版權所有

Copyright2015-2020 | © 蘇ICP備18008139號-3

免费的三级黄网站