首页

网站建设

移动端开发

设计

案例

网络营销

新闻动态

关于我们

当前位置:首页 > 新闻动态 > 常州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-2023 | © 苏ICP备18008139号-3