2024年1月31日发(作者:)
基于Android系统NFC模块的IC卡模拟器研究与实现--文献综述
一、为什么要做这个题目
在移动互联网大行其道的今天,手机的功能越来越强大,许多日常活动都可以用手机来完成。NFC作为手机的一个功能模块,其功能却只限于读写IC卡和P2P通信,作为三大功能之一的卡模拟功能几乎没有在生活中用到过。从技术上讲,使用NFC卡模拟可以让手机完全等同于一张非接触式IC卡。因此,日常生活中非接触式的门禁卡,交通卡,购物卡等都可以使用带有NFC功能的手机来替代。当手机接触到终端读卡器时,能自动获取当前需要的卡片类型,从手机绑定的卡片中选出一张进行模拟,进行信息交互。正是因为有这样的实用性,NFC开发大有可为。
二、参考的资料以及发现的问题
赵波的《Android NFC开发实战详解》[1],本书详细叙述了NFC的工作原理,带有NFC芯片的手机的三种工作模式:读写模式、p2p模式、卡模拟模式。前两种模式已经获得了较普遍的应用形式,对于卡模拟模式未能普遍推广的原因,该书也进行了分析。卡模拟模式面临的最主要的问题有:原生Android对卡模拟功能接口并没有开放;手机生产商采用的NFC芯片标准、使用NFC功能的运营商要求的标准、Android系统的NFC相关标准三者无统一规范。虽然该书指出了NFC卡模拟未能得到应用的原因,但是并没有给出解决方案,仅仅只是提供了一些与解决方案相关的参考网址。
杨婷《基于Android和NFC技术的校园一卡通的关键技术研究》[2]。本文从技术上探讨了使用Android手机NFC技术模拟校园一卡通的关键技术及初步方案。最终在模拟器上实现了部分功能,但是没有实现NFC卡模拟。其中java card和applet的结合使用是卡模拟功能实现的核心。通过applet获取NFC天线的数据,经过处理之后再控制NFC天线返回数据,不需要用户参与控制,甚至手机无需供电。只要对NFC芯片进行初始化手机就可以完全替代IC卡。不过最终作者仅仅在计算机上实现了除NFC卡模拟之外的其他功能,对困难之处因时间关系而未涉足。
潘雪峰《基于NFC_近场通信技术_的_智能卡包_系统模型的设计和研究》[3]。本文讲述了使用“智能卡包”实现NFC前2种工作模式,进行标签信息的读写,最终在三星Galaxy
S3上面运行成功。Android系统提供的“智能卡包”即SmartCard API是卡模拟的主要实现
手段。
石旭东《基于Android平台的NFC技术的研究与实现》[4]。本文讲述了使用Android系统提供的API,通过手机的NFC芯片读写IC卡标签,并在此基础上实现不同的刷不同的IC卡时手机模式自动切换的功能。
以上两人实现的都是简单的功能,并不是难点所在。读完《基于NFC技术和云服务的新型门禁系统设计与实现》[5]、《基于Android的NFC移动支付系统设计与实现》[6]这两篇文章,发现也是类似的内容,这里不在赘述。
综上,NFC卡模拟模式的实现仍然是大家研究的盲区,之所以如此也是因为其编程难度太大,耗时太长且难以取得进展。没有前任成功的范例,自己只能按照提示一步步摸索,这也将是我所面临的主要问题。
三、毕业设计的总体规划
首先尝试已有的例子,通过实现NFC的读写卡模式和P2P模式,了解当前可以使用的接口。之后根据以上文献中提到的卡模拟的方法,结合网上论坛的资料,尝试阅读并修改Android源代码,编译出可以使用SmartCard API的Android系统,最终在带有NFC 芯片的手机上运行卡模拟程序,尝试实现卡模拟器的功能。
参考文献:
[1] 赵波. Android NFC开发实战详解 [M]. 北京:人民邮电出版社,2014.
[2]杨婷.基于Android和NFC技术的校园一卡通的关键技术研究[D].北京:北京邮电大学,
2015:1-64.
[3]]潘雪峰.基于NFC_近场通信技术_的_智能卡包_系统模型的设计和研究[D].上海:华东师范大学, 2014:1-88.
[4]石旭东.基于Android平台的NFC技术的研究与实现[J]软件,2013,34(1):64-68.
[5]]孙恒.基于NFC技术和云服务的新型门禁系统设计与实现[J]实验室研究与探索,2016,35(1):114-120.
[6]陈平顺.基于Android的NFC移动支付系统设计与实现[J]技术方案,2015.1(1):5-14.


发布评论