2014年由于苹果的加入,NFC快速进入大众视野,国内各厂商也跃跃欲试,想在这一领域能分到一杯羹,但是很多人还搞不清NFC是啥东西,除了支付它还能干啥?有没有我们可以深耕的空间.....
1.什么是NFC?
其实NFC也是像蓝牙一样,有一套协议栈规范的。它是建立在13.56MHZ频段上的一套短距的通讯规范,通常的通讯距离也就在3厘米左右,最远也不超过10厘米,关于它有什么好处和有优势大家百度一下就知道了,我不在这里赘叙,它是兼容RFID协议的一种支持主从呼唤的协议,比原来的RFID更有优势,并能兼容以前的无线ID卡应用场景。以前的RFID是主机只能是主机,不能切抱成tag(从机)的角色。
2.NFC能干啥?
很多人知道NFC都是从支付开始的,因为现在苹果在做apple pay,谷歌在做gogle Wallet,中移动,支付宝等都在用NFC在做支付了,招商银行也推出了闪付通这样的服务....
但是支付涉及到银联认证,涉及各方的利益多了入门槛就高了,不是一般公司与个人能玩的了,我个人觉得普通想参与NFC阵营的朋友,别想NFC支付了,没我们什么事的,那都是大公司大财团玩的,那不关注NFC支付,NFC还能做啥呢?
NFC其实全称是Near field communication ,中文就是近场通信,支付只是它的一个典型应用,其实可以用它来传输任意数据。但是能做与要做是两回来,要用NFC来做什么,这取决于它的特点和优势,NFC的特点是通信建立时间非常快而传输速率比较慢, 所以适合用于传输数据量比较小而过程短又快的场景。
两个应用方向我觉得是重点:
1,读写非接触IC卡 (各种ID卡、IC卡)
2,P2P(点对点)通信--可以传自定义数据
在安防领域:NFC可以做动态密码的门禁,甚至是能同时兼容手机和ID卡的高级身份识别系统,也可以作为签到系统,贵重物品设备管理等等。。。
NFC在智能门禁中应用(同时支持手机+门卡)
在防伪朔源方面:也是大有可为,也是我等普通人可以做的事情,例如五粮液等产品已使用NFC标签用于防伪朔源。
在专业应用领域:主要是使用NFC 的P2P通信,可以让手机与工业设备任意互相传输数据,方便地利用上手机的处理能力还有便捷性,例如工业机器只要装上NFC,就可以用手机来配置参数,读取工业设备的状态数据等等。特别是现在银行的ATM也开始用P2P方式来开展业务了,例如小额支付,无卡取款等,都可以用手机来完成,通过P2P传输加密了卡号和密码的数据,安全又灵活,比卡模拟的操作空间更大,例如风火轮的SMC532模组已在国内某些ATM机器中使用,就是为了小额取款无卡取款等方面的应用,让用户手机打开应用绑定银行卡,然后可在ATM取款机上刷一下,就可以取款,省去了输密码或忘记带银行卡的烦恼。其中用到的就是SMC532模组的NFC点对点通信功能 ,该模组可以有NFC功能的手机互相传输数据,这些数据都是ATM应用经过加密的,保证了安全又得到了方便。
NFC在广告机中应用(发优惠券等数据)
3.如何快速开发NFC功能?
要开发NFC功能,必须得按照NFC协议来进行通讯,而NFC的应用协议栈,为了兼顾安全和效率等因素,自然也是相当复杂,应用起来也不是一时半会能摸透它。
要想快速开发NFC功能,最好还是使用内置了协议栈的NFC模组,例如风火轮科技的SMC532模组,它里面有一颗MCU,把NFC的应用协议栈都做到里面了,所以使用者根本不用去了解NFC的协议栈等,只需要通过串口发一串命令,就能实现复杂的NFC功能,无论是单片机,还是跑有嵌入式系统(WINCE,ucos-II,Android)的设备,都可以快速的加入NFC功能,一条串口命令对应一个NFC功能,例如读卡、写卡、P2P....,都是一条命令搞定,
NFC模组 读到卡号还有P2P数据等也是自动通过串口直接就传出来,非常方便快捷,特别是设备NFC与手机的P2P通信,用的是NDEF格式,里面涉及到的协议有LLCP,LIBNFC,SNEP,NEDF等,如果自已开发起来工作量非常大,如果你的设备主控是单片机做的,也跑不了这些协议栈,所以最好是使用SMC532这种模组,会省事很多,NFC传输的细节就不用管了,只要操心要传什么数据,读什么数据等等业务逻辑相关的事情就好。
举例:
读卡:当有NFC卡进入天线范围,SMC532自动读取某地址的值,通过串口发出来
PS.这个默认读取的某地址,是可以通过命令配置的。
写卡:
例如需要往02地址块里写入数据01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16,命令如下:
给手机发送 NFC数据(P2P方式)
用户通过SMC532模组与手机进行P2P通信,NDEF数据格式,可传任意数据,风火轮提供了各平台的DEMO示例程序源码,并提供手机上的演示程序源码,让你快速实现自定义NFC功能。
.....................00 FF
以上数据都是16进制。
设置了这些数据,当NFC手机靠近过来,运行了风火轮 P2P的软件,模组就会发送红色的数据到手机上。
手机给模组发送NFC数据
风火轮提供的手机程序界面如下
当SMC532 NFC模组收到手机传来的P2P数据,如果是大数据,它会分帧传给主机,模组通过串口传给主机的数据中,有两种帧格式:
看到了吧,真的很简单的操作,就能实现NFC的复杂功能了。
----- 开发NFC,就这么简单。。。。