NFC 基础
来源:互联网 发布:程序化交易软件 编辑:程序博客网 时间:2024/06/07 18:45
一、什么是NFC
NFC 是 Near Field Communication (近场通信)的缩写,是一种短距离的无线通信技术,在4cm以内才能建立连接。与蓝牙、WiFi相比,NFC的通信距离更短,数据传输速度更快。NFC允许在NFC标签与Android设备或Android设备之间传输数据。NFC主要有三种通信模式:读写模式、P2P模式、卡模拟模式。
读写模式:允许带NFC功能的设备读写NFC 标签。(例如手机便可以充当NFC标签的读卡器或写卡器)
P2P模式:允许NFC设备与其他NFC设备(如带NFC功能的Android手机之间)交换数据,这种操作模式在Android Beam中被使用。
卡模式模式:允许NFC设备将自己模拟成一张NFC卡。而这张模拟出来的NFC卡可以供其他NFC reader 读取信息。
二、NFC的使用场景
NFC前景光明,已经成为时下讨论的一个热点,与蓝牙、WiFi在通信方面形成鼎立之势,越来越多手机也开始支持NFC,NFC 在生活中的应用场景越来越广泛。
- NFC手机变身公交卡、门禁卡…
- NFC支付与充值
- 耳机、打印机、镜头以及各种智能穿戴设备可以利用NFC快速配对连接
- 预先写入功能的NFC贴片让手机快速进行场景切换。
- NFC交换名片
- …………..
三、NFC 数据交换格式
虽然NFC标签所含储存的数据可为任何形式,但许多Android Frameword API 基于NFC 论坛标准的一种数据格式 NDEF(NFC Data Exchange Format).
NFC 通过 NDEF Message (NDEF消息)传输数据,而NDEF Message 由多条 NDEF Record(NDEF记录)组成。
NDEF Record 的格式如下:
其中第一个byte记录的信息含义如下:
四、TNF 和 RTD
- Empty:该Record 中没有数据,即相当于一个空的NFC Record
- NFC Forum Well-Known Type :由NFC Forum 定义的一些常见的数据类型,包括 URI 、TEXT等,其格式遵循NFC Forum RTD (Record Type Definition)规范。
- MIME:Multipurpose Internet Mail Extensions的缩写,遵循RFC2046规范。
- Absolute URI:绝对URI
- NFC Forum External Type : 为第三方组织定义的类型
- Unknown:表示Payload中的数据类型未知。
- Unchanged:这种类型的数据用于NFC Record分片。例如一个大的数据需要 通过多个NFC Record来承载,除第一个NFC Record分片外,该数据对应的其他NFC Record分片都必须设置TNF为Unchanged。
在TNF七大类型中,NFC Forum通过RTD规范定义了其中的WKT(Well-Known Type)和External Type两种类型。
WKT就是NFC Forum自己定义的一些常用数据类型,目前常用类型如下:
URI Record Type:用于存储URI数据,Record中Type取值为 “U”
Text Record Type:用于存储文本数据,Record中Type取值为 “T”
Signature Record Type:用于存储数字签名数据,Record中Type取值为”Sig”
Smart Poster Record Type:智能海報,用于存储与海报相关的一些咨询信息,如图片、相关介紹等,Record中Type取值为”Sp”。
Generic Control Record Type:用于传递控制信息,Record中Type取值 为”Ge”
External Type:为第三方组织定义的类型,目前NFC Forum沒有定义相关的数据类型
五、Well-Known Type (TNF=ox01)
RTD_TEXT
文本记录类型,NDEF Record中Type取值为 “T”,Payload的组成结构如下:
RTD_TEXT 实例分析
NDEF数据: D1 01 0F 54 02 65 6E 68 65 6C 6C 6F 2C 77 6F 72 6C 64 21
解析结果: hello,world!
RTD_URI
URI 记录类型,NDEF Record中Type取值为 “U”,Payload的组成结构如下:
URI Identifier Code 对应表
RTD_URI 实例分析
NDEF数据: D1 01 0A 55 01 62 61 69 64 75 2E 63 6F 6D
解析结果: http://www.baidu.com
对NFC协议知识的理解和掌握,是开发Android NFC 应用的必备基础。后续将会整理 Android NFC 开发中的三种模式:读写模式、点对点模式、卡模拟模式。
- 链接:NFC:NFC基础
- NFC 基础
- NFC基础
- NFC基础
- NFC基础
- NFC 基础
- NFC基础
- NFC基础
- NFC基础汇总
- 手机NFC基础
- 黑马程序员_android NFC基础
- 黑马程序员_android NFC基础
- Android NFC基础开发教程
- NFC技术的基础应用
- Android NFC P2P开发基础
- [NFC] Android近场通信---NFC基础(一)
- [NFC]Android近场通信---NFC基础(二)
- [NFC]Android近场通信---NFC基础(三)
- Spring集成ActiveMQ
- 第三方App接入微信登录
- ping命令的应用
- Matlab与线性代数 -- 数组的乘法与除法
- Unity UI框架开发(4)--实现UIWindowCtrl
- NFC 基础
- CC2530协议栈工作流程
- 第九周 项目二 【对称矩阵压缩存储的实现与应用(1)】
- [模板] Other
- 基于中国剩余定理的加密算法初探
- 栈空间和堆空间大小
- HDU 5952 Counting Cliques(2016ACM/ICPC亚洲区沈阳站-重现赛)
- 【我的Android进阶之旅】如何在浏览器上使用Octotree插件树形地展示Github项目代码?
- Java-关键字