NFC手机门禁系统浅析
随着各大手机厂商在手机硬件上对NFC模块的支持,以及微软、谷歌两大操作系统对NFC应用程序API的支持,移动手机通常是作为通信中的发起者,也就是作为NFC 的读写器。智能手机也可以模拟作为NFC通信的接受者并支持P2P通信。基于NFC的移动端门禁系统主要在手机端进行软件封装,运用NFC的通讯技术与感应式读卡器进行通讯,在手机软件内部运用TCP/IP通讯技术,实现手机端与服务器端的通讯,实现权限审核。
Android系统NFC 应用模块
1)NFC管理器(NFCManager):可以用来管理Android设备中指出的所有NFC Adapter,但由于大部分Android设备只支持一个NFC Adapter,可以直接使用getDefaultAapater 来获取系统支持的Adapter。
2)NFC适配器(NFCAdapter)。一个NFC适配器代表一个NFC设备,提供一切NFC的操作,包括NFC设备开关、标签读写、NDEF数据交互、NFC安全访问、点对点通信等。
3)NDEF消息(NdefMessage):NDEF是NFC论坛定义的数据结构,用来有效的存数据到NFC tags.比如文本,URL,和其他MIME类型。在应用程序中通过接ACTION_TAG DISCOVERED Intent来读取NDEF消息。
4)NDEF记录(NDEF Record),是NFC中定义的NDEF数据包的基本组成单元。一个 NDEF数据包可以有一个或多个NDEF三录。
2.2 Android系统NFC 应用模块
在 NFC的Android应用系统架构中,NFC管理器(NFCManager)为应用程序提供编程接口,通过bind和service通信为主程序提供一个NFC适配器的实例。通过这个NFCAdapter,就可以对NFC的一些实体进行操作,比如注册前台tag提醒发布和前台NDEF推送。TAG, 标示一个被动的NFC目标,比如tag,card,钥匙挂扣,甚至是一个电话模拟的的NFC卡。当一个TAG被检测到,一个tag对象将被创建并且封装到一个Intent里,然后NFC 发布系统将这个Intent用 startActivity发送到注册了接受这种Intent的activity里。你可以用getTechList()方法来得到这个tag支持的技术细节和创建一个android.nfc.tech提供的相应的TagTechnology对象。 NFCAdapter作为整个NFC系统模块的实例对象,在整个NFC通讯模块中起着关键的扮演者,Android未其提供了丰富的函数接口,主要实现的功能如下:
1)设备初始化以及开关,相关程序段为
private static synchronized lNfcAdapter setupServiee();
public boolean enable();
public boolean disable();
2)NDEF消息的读写和安全管理链接,相关程序为
public void setLocalNdefMessage(NdefMessage message);
public NdefMessage getIx,calNdefMessage();
public NfcSecureElement createNfcSecureElementConnection0;
3)P2P的后台通信,相关程序段为
public void enableForegroundNdefPush(Activity activity,NdefMessage msg);
public void disableForegroundNdefPush(Activity activity);
这些基本函数都是NFC Binder客户端函数,通过Binder IPC调用Service对应的函数进行通信处理。在NFC Service中主要实现了以下功能:Adapter中的Binder客户端函数对应135 的Service端函数实现,包括INfcTag.Stub,INfcAdapter.Stub等;Service状态管理的消息处理;Java本地接口( Java Native Interface,JNI)的Native代码的访问接口。
2.3 Android系统NFC 门禁功能实现
在具有NFC功能的手机(比如Google Nexus S,操作系统:Android ICS 4.04)系统中安装上述NFC门禁客户端应用程序,并在系统设置中打开手机NFC功能,并在手机电池处于电量充足、低电和掉电三种情况下开展测试。当在有效距离范围内时,移动手机上的NFC硬件设备即可检测到的门禁标签,读取数据后,TAG分发系统会自动创建一个封装了NFC TAG信息的intent,应用程序接收该消息,解析其中的标签数据,并根据手机端客户软件进行密钥匹配,进行权限审核,当手机检测到门禁系统审核TAG 时,客户端软件自动启用界面(Activity)进行匹配,向系统同服务器发送访问请求,服务器返回访问权限。客户 端业务流程与测试结果如图3、4所示。测试结果表明,通过正确的软硬件配置和有效的测试方法,在具备NFC的移动终端上实现门禁系统功能易实施且稳定有效。此外,由于该系统采用Client/Server模式,代码调整灵活,功能增减方便,符合各类使用者不同的门禁性能需求。
目前,搭载NFC功能的移动终端在我国处于起步阶段,随着Android、WP8以及iOS操作系统对于NFC技术越来越广泛的支持,我们甚至可以通过 WP8移动终端NFC装载的信息与门禁系统进行密钥匹配实现权限审核。这一信息化、智能化社区发展趋势最终将促使人们舍弃各类卡片,获得极大的生活便利。(作者简介:董威,男,硕士研究生,主要研究方向:模式识别与智能系统 李德华,男,教授、博士生导师,主要研究方向:人工智能、认知科学.)
以上就是小编今日为大家带来的全部内容,更多手机门禁系统信息访问多奥科技官网:www.duoao.com.cn