通信方式——NFC概述(一)


一.基本简介

NFC 芯片是具有相互通信功能,并具有计算能力,在Felica标准中还含有加密逻辑电路,MIFARE的后期标准也追加了加密/解密模块(SAM)。[1]

NFC标准兼容了索尼公司的FeliCaTM标准,以及ISO 14443 A,B,也就是使用飞利浦的MIFARE标准。在业界简称为TypeA,TypeB和TypeF,其中A,B为Mifare标准,F为Felica标准。

为了推动 NFC 的发展和普及,业界创建了一个非营利性的标准组织——NFC Forum,促进 NFC 技术的实施和标准化,确保设备和服务之间协同合作。目前,NFC Forum在全球拥有数百个成员,包括:SONY、 Phlips、LG、摩托罗拉、NXP、NEC、三星、atoam、Intel、其中中国成员有中国移动、华为、中兴、上海同耀和台湾正隆等公司。


二.特点

与RFID一样,NFC信息也是通过频谱中无线频率部分的电磁感应耦合方式传递,但两者之间还是存在很大的区别。首先,NFC是一种提供轻松、安全、迅速的通信的无线连接技术,其传输范围比RFID小,RFID的传输范围可以达到几米、甚至几十米,但由于NFC采取了独特的信号衰减技术,相对于RFID来说NFC具有距离近、带宽高、能耗低等特点。 其次,NFC与现有非接触智能卡技术兼容,目前已经成为得到越来越多主要厂商支持的正式标准。再次,NFC还是一种近距离连接协议,提供各种设备间轻松、安全、迅速而自动的通信。与无线世界中的其他连接方式相比,NFC是一种近距离的私密通信方式。最后,RFID更多的被应用在生产、物流、跟踪、资产管理上,而NFC则在门禁、公交、手机支付等领域内发挥着巨大的作用。

NFC、红外、蓝牙同为非接触传输方式,它们具有各自不同的技术特征,可以用于各种不同的目的,其技术本身没有优劣差别。

NFC手机内置NFC芯片,比原先仅作为标签使用的RFID更增加了数据双向传送的功能,这个进步使得其更加适合用于电子货币支付的;特别是RFID所不能实现的,相互认证和动态加密和一次性钥匙(OTP)能够在NFC上实现。NFC技术支持多种应用,包括移动支付与交易、对等式通信及移动中信息访问等。通过NFC手机,人们可以在任何地点、任何时间,通过任何设备,与他们希望得到的娱乐服务与交易联系在一起,从而完成付款,获取海报信息等。NFC设备可以用作非接触式智能卡、智能卡的读写器终端以及设备对设备的数据传输链路,其应用主要可分为以下四个基本类型:用于付款和购票、用于电子票证、用于智能媒体以及用于交换、传输数据。

三.工作模式

卡模式(Card emulation):这个模式其实就是相当于一张采用RFID技术的IC卡。可以替代现在大量的IC卡(包括信用卡)场合商场刷卡、公交卡、门禁管制,车票,门票等等。此种方式下,有一个极大的优点,那就是卡片通过非接触读卡器的 RF 域来供电,即便是寄主设备(如手机)没电也可以工作。

点对点模式(P2P mode):这个模式和红外线差不多,可用于数据交换,只是传输距离较短,传输创建速度较快,传输速度也快些,功耗低(蓝牙也类似)。将两个具备NFC功能的设备链接,能实现数据点对点传输,如下载音乐、交换图片或者同步设备地址薄。因此通过NFC,多个设备如数位相机、PDA、计算机和手机之间都可以交换资料或者服务。

读卡器模式(Reader/writer mode):作为非接触读卡器使用,比如从海报或者展览信息电子标签上读取相关信息。


四.实际用途

​NFC设备大家熟悉的主要是应用在手机应用中,NFC技术在手机上应用主要有以下五类:

(1)接触通过(Touch and Go),如门禁管理、车票和门票等,用户将储存车票证或门控密码的设备靠近读卡器即可,也可用于物流管理。[8]

(2)接触支付(Touch and Pay),如非接触式移动支付,用户将设备靠近嵌有NFC模块的POS机可进行支付,并确认交易。

(3)接触连接(Touch and Connect),如把两个NFC设备相连接,进行点对点(Peer-to-Peer)数据传输,例如下载音乐、图片互传和交换通讯录等。

(4)接触浏览(Touch and Explore),用户可将NFC手机接靠近街头有NFC功能的智能公用电话或海报,来浏览交通信息等。

(5)下载接触(Load and Touch),用户可通过GPRS网络接收或下载信息,用于支付或门禁等功能,如前述,用户可发送特定格式的短信至家政服务员的手机来控制家政服务员进出住宅的权限。


以上简介出自360搜索,仅供自己学习。

五.NFC API基本概述

一个带有NFC支持的android设备通常是一个发起者。也可以作为NFC的读


写设备。他将检测NFC tags并且打开一个Activity来处理. 


Android2.3.3还有支持有限的P2P。
Tags分很多种,其中简单的只提供读写段,有的只能读。复杂的tags可以


支持一些运算,加密来控制对tags里数据段的读写。甚至一些tags上有简


单的操作系统,允许一些复杂的交互和可以执行一些代码。
API概览
Android.nfc package包含顶层类用来与本地NFC适配器交互. 这些类可以表示被检测到的tags和用NDEF数据格式。
class    Description
NfcManager  一个NFC adapter的管理器,可以列出所有此android设备支持的NFC 


adapter.只不过大部分android 设备只有一个NFC adapter,所以你大部分情况下可以直接用静态方法 getDefaultAdapter(context)来取适配器

NfcAdapter  表示本设备的NFC adapter,可以定义Intent来请求将系统检测到tags的提醒发送到你的Activity.并提供方法去注册前台tag提醒发布和前台NDEF推送。 前台NDEF推送是当前android版本唯一支持的p2p NFC通信方式。

NdefMessageandNdefRecord NDEF是NFC论坛定义的数据结构,用来有效的存数据到NFC tags.比如文本,URL,和其他MIME类型。一个NdefMessage扮演一个容器,这个容器存哪些发送和读到的数据。一个NdefMessage对象包含0或多个NdefRecord,每个NDEF record有一个类型,比如文本,URL,智慧型海报/广告,或其他MIME数据。在NDEFMessage里的第一个NfcRecord的类型用来发送tag到一个android设备上的activity
.
Tag 标示一个被动的NFC目标,比如tag,card,钥匙挂扣,甚至是一个电话模拟的的NFC卡.当一个tag被检测到,一个tag对象将被创建并且封装到一个Intent里,然后NFC 发布系统将这个Intent用startActivity发送到注册了接受这种Intent的activity里。你可以用getTechList()方法来得到这个tag支持的技术细节和创建一个android.nfc.tech提供的相应的
TagTechnology对象。


android.nfc.techpackage 包含那些对tag查询属性和进行I/O操作的类。这些类分别标示一个tag支持的不同的NFC技术标准。


Class        Description
TagTechnology 这个接口是下面所有tag technology类必须实现的。
NfcA 支持ISO 14443-3A 标准的操作。Provides access to NFC-A (ISO 14443-3A) properties and I/O operations.

NfcB  Provides access to NFC-B (ISO 14443-3B) properties and I/O operations
.
NfcF  Provides access to NFC-F (JIS 6319-4) properties and I/O operations.

NfcV  Provides access to NFC-V (ISO 15693) properties and I/O perations.
IsoDep  Provides access to ISO-DEP (ISO 14443-4) properties and I/O operations.

Ndef  提供对那些被格式化为NDEF的tag的数据的访问和其他操作。
Provides access to NDEF data and operations on NFC tags that have been formatted as NDEF.

NdefFormatable 对那些可以被格式化成NDEF格式的tag提供一个格式化的操作

MifareClassic 如果android设备支持MIFARE,提供对MIFARE Classic目标的属性和I/O操作。

MifareUltralight 如果android设备支持MIFARE,提供对MIFARE Ultralight目标的属性和I/O操作。







  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值