一种基于android的nc移动终端的设计与实现_第1页
一种基于android的nc移动终端的设计与实现_第2页
一种基于android的nc移动终端的设计与实现_第3页
一种基于android的nc移动终端的设计与实现_第4页
一种基于android的nc移动终端的设计与实现_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一种基于android的nc移动终端的设计与实现

0整体系统模型短距离通信技术(rcm)是一种新型的短距离非接触无线通信技术,近年来取得了迅速的进展。NFC的工作频段是13.56MHz,传输速率为106、212或424Kbps,理论上可以达到1Mbps或更高;有效的通信距离一般在10cm以内,最常用的是在3~6cm范围内。该特性能够很好地保证数据通信过程安全。NFC技术与现有的基于射频识别技术(RadioFrequencIdentification,RFID)的智能卡及读卡设备等基础设施兼容。遵循ECMA340、ISO/IEC18902、ISO14443及ISO15693等协议标准[1-2](如图1),可实现NFC设备之间建立简单快速的临时通信网络,安全地进行信息交换、内容读取及身份鉴别等操作。随着移动互联网的快速发展,支持NFC功能的移动智能终端,尤其是Android智能手机等,也呈爆发式增长。根据市场研究公司BergInsight的数据:2012年支持NFC的智能终端增长量约为7000万部,年增长率超过200%,各种基于NFC的第三方应用也将大量出现。NFC技术因其独特的安全性主要被用于移动支付、身份鉴定、门禁等系统中[3],但在其他方面应用少之又少,相关研究也更为缺乏。移动互联网技术越来越多地被应用在日常生活中,为生活创造便利。基于互联网和新兴通信技术的智能卡种类越来越多,如交通卡、门禁卡、礼品卡、一卡通等,单人持有智能卡的数量大幅增加给消费者的携带和使用带来了很大的不便。据统计(如图2),16岁至35岁之间的青年人中,高达75%的被调查者表示出行必需持有不止一张卡,其中60%以上希望能够将这些日常生活出行经常用到且需要随身携带的“必需卡”进行整合,实现“一卡通”或“无卡化”出行。本研究设计出一种智能卡集成系统模型,结合现有移动智能终端和NFC技术,将各种智能卡简单快速扫描,并存储在移动智能终端中,使用时可通过匹配算法进行智能识别并激活指定的卡片进行刷卡操作和交易行为。系统不需要对现有的RFID等射频识别类的基础设施进行更换,能够节省大量的人工和设备成本。该系统模型既实现了智能卡的无卡化集成,解决了个人多张卡片携带不便和容易遗失等问题,又实现了个人卡片的综合管理,为日常生活带来方便、快捷的智能卡应用和优质的服务体验。1nfc功能扩展AndroidOS自2.3.3版本开始支持NFC功能,Google已经实现了基于NFC的一些基础API技术接口,这就使得支持并带有NFC芯片的Android智能设备均可以作为该智能卡集成系统的应用平台。本系统模型基于搭载Android4.0.4的三星GalaxyS3智能手机上进行开发和初步测试。另外,对于没有NFC芯片不支持该功能的设备,该系统模型也提出了相应的解决方法,可通过嵌有NFC芯片的设备外壳或直接将NFC功能模块贴在设备上来实现快速便捷的NFC功能扩展,原理图如图3。在图3中,NFC功能模块由NFC芯片、主控芯片、蓝牙芯片及其他必需的辅助电路和电源构成,其中,NFC芯片和Bluetooth芯片通过ISP接口进行标准化信息传递。由于蓝牙技术现已成为智能设备的标配功能,所以我们的设计将NFC功能模块通过Bluetooth的对象交换协议(ObjectExchange,简称OBEX)与不支持NFC功能的终端设备进行通信,实现命令和数据的交互和传递;安装相应的驱动和库文件后,不支持NFC的终端设备就具备了NFC功能。这样设备可以通过扩展的NFC功能模块与其他NFC设备或者Tag标签进行NFC通信,实现快速的内容访问及数据读写等操作。本研究中的模型由恩智浦公司的NFC芯片PN532开发板、通用蓝牙模块和主控芯片STM32F103CR开发板等搭建而成。主控芯片STM32F103CR主要负责数据格式的转换和命令转发。本研究只是进行了该硬件套件的功能性验证,实现了蓝牙设备之间的自动匹配链接,不需手工输入蓝牙通行码进行身份验证即可成功配对连接,并可实现蓝牙数据格式和NFC数据格式的转换和通信等基础功能。下面是蓝牙设备无输入自动配对功能的实现过程:1)首先将NFC功能模块上的蓝牙设备设置通行码,例如0000。2)智能手机端应用中在蓝牙打开时将其注册为Receiver,使其处于等待响应状态。3)在智能手机端蓝牙设备收到广播时,将NFC功能模块上蓝牙的通行码设置进去。4)实现蓝牙配对、绑定状态校验等相关函数方法。这样就实现了蓝牙自动配对。本研究并没有进行该套件的外观、母版电路等设计,重点进行了软件系统部分的研究和设计开发。2roid平台该系统功能主要由软件应用部分组成。基于Android平台开发,通过卡识别与信息处理和卡匹配模拟两个子系统实现智能卡识别、数据扫描和读取、卡存储及智能卡模拟激活等部分的具体功能。2.1nfc未发挥作用检测卡识别与信息处理子系统,即卡集成子系统,实现的功能主要包括卡识别、信息读取和信息存储等部分,该子系统的操作和处理流程如图4所示。根据GoogleDevelopers网站上相关开发文档中的说明,Android系统对NFC的支持和API接口主要封装在android.nfc和android.nfc.tech两个包中。其中,该子系统中检测并发现NFC对象的方法在android.nfc中定义,一个NFC芯片对应一个NFC适配器(NFCAdapter)。检测和发现过程为:1)NFC初始化时构造一个NFCManager对象,通过调用getDefaultAdapater方法获取对NFC芯片的控制权,同时完成对NFC芯片等硬件的初始化工作。2)NFCAdapter通过消息分发系统(TagDispatchSystem)自动创建一个包含NFCTag的Intent进行广播,通讯场中的NFCTag收到该广播后进行应答,应答成功则完成了Tag的发现过程[4]。需要注意的是,NFCDispatchSystem定义了3种不同优先级的Intent,从高到低分别为NDEF_DISCOVERED、TECH_DISCOVERED、TAG_DISCOVERED,优先级越高,则NFCAdapter越优先和该Intent建立通信连接[5]。数据读取的相关方法在android.nfc.tech中定义,NFCAdapter将Tag数据封装成NFC数据交换格式(NFCDataExchangeFormat,NDEF)数据包,之后才能够进行数据的读取和传输,最后将一张智能卡的所有数据信息转换为指定的格式(.nfcadapater)进行存储。通过扫描智能卡获取器信息,并将信息转换为特定格式的数据存储在手机中,这就完成了一张智能卡的集成工作;多张智能卡只要一一进行扫描,就可以将多张智能卡集成在智能设备中了。2.2电子注重技术卡匹配模拟子系统实现为指定的智能卡读卡设备寻找匹配相应的.nfcadapater数据,模拟出卡片进行刷卡操作并进行相应的操作日志记录的功能。其操作的流程图如图5。智能卡.nfcadapater数据的匹配,可以通过和相对实体智能卡的UID、SAK、HASH及RFTechnology[4]等信息建立信息对照表,通过一定的匹配算法进行选择,实现对智能卡读卡设备的智能化识别。对于匹配到多个.nfcadapater数据的情况,也可以通过误差计算和轮询来进行二次匹配,提高匹配算法的有效率和成功率。目前,智能卡集成系统采用的匹配算法可以简单地表述为:NFC目标读卡机发现→RFTechnology类型获取→根据RFTechnology查询卡数据中的所有记录→若有SAK数据则根据SAK值进行过滤查询到的卡数据记录→轮询激活尝试和NFC读卡机通讯→卡片确认,将该卡数据添加该读卡机的UID标识,并更新HASH→建立通信链接并交换数据。该匹配算法在存有大量相同RFTechnology类型的卡数据时,效率低等缺点明显,但考虑到单个用户所持有的智能卡的数量一般为3~8张,所以每个用户的系统里面存储的卡数据有限,不会严重影响该匹配算法的效率。怎么样改进匹配算法的效率和成功率依然是后续研究的主要工作之一,后续也将通过更加复杂的关联匹配等方法完善匹配算法,提升其效率。Android系统暂时没有提供用NFC功能模块直接模拟无源NFC标签的NFC卡模拟技术的相关API函数方法,所以电子钱包应用的技术方案实际上是P2P的数据交互。但NFC芯片的底层驱动已经支持通过NFC模拟出无源标签的功能,通过对nfclib类库进行功能扩展,并编写相应的Java类作为中间件提供给Android系统调用,同样实现了NFC的CardEmulation功能。目前采用软件模拟的方法,即通过智能手机的处理器为NFC芯片划分资源,并提供信息处理、通信响应及部分SE安全单元的功能。这种方案不用增加专门的SE等硬件,实现起来相对比较方便,同时也大大提高了该解决方案的适用性。NFC卡模拟技术是本研究的重要组成部分。目前已经实现的NFC-SIM芯片解决方案、NFC-SD芯片解决方案等的技术说明,对SWP单线协议进行了研究并基于此进行了多次反复试验,最后较好地实现了卡模拟的目标。3测试结果及分析该智能卡集成系统模型通过智能手机终端、APP应用和未加密的RFID智能卡进行功能验证,结果表明NFC功能扩展、卡识别、数据存储、卡模拟等主要功能和整个流程全部可以走通。其APPDemo截图和NFC扩展套件验证电路如图6所示。图6中的软件系统调试结果是建立在以下几个条件之下的:1)Android4.04系统SamsungS3智能手机。2)测试智能卡为数据未加密的普通“维络城”卡和北京“八达通”公交卡。3)“维络城”优惠券打印终端。4)智能卡集成系统APP测试bata版。测试结果显示:卡识别和存储功能经多次测试,两类卡的成功率均高于90%;“维络城”卡模拟成功,并可以在其优惠券打印终端上验证身份通过,模拟成功率在30%左右;但加密的“八达通”公交卡进行多次模拟均不成功。测试结果证明该研究中的解决方案可行,但系统需要进一步进行功能的优化和稳定性的改善。在研究过程中,为了扩充NFC能够兼容的传统智能卡协议,采用了软协议转换的方式,尝试将ISO7816-3智能卡标准协议转换为NFC可以支持的ISO14443或ISO15693等;对多种智能卡标准协议和NFC支持协议进行学习和分析,目前没有取得满意的效果。研究仍在进行中,并希望通过软协议转换的方法实现兼容扩展,从而实现NFC应用范围的扩展;由于不同协议的差异性相对比较明显,预计这方面取得成果还需要大量的工作和时间。智能手机终端存储记录的目标卡数据,如何在接近读卡设备时能够快速进行识别和匹配,也是本研究的一个创新点。在研究过程中,对于同一协议标准类型智能卡和不同协议标准类型的智能卡的特点进行分析和汇总,提取UID、SAK、HASH及RFTechnology等信息,并根据这些信息生成智能卡集成系统内部的标识码,建立一张新的映射表;提供简单查询和多种组合查询方式,以提高查找匹配效率及其成功率。目前,该系统模型还存在较多问题,如NFC卡模拟功能的不稳定并会造成死机;智能卡.nfcadapater数据智能匹配效率低;加密智能卡的数据访问权限、数据读取和解密相关处理方法暂时还没有实现,该系统模型还需要进一步合理化设计改造等,还需要进一步的研究和学习,继续完善和实现本系统模型的设计目标,同时进一步探索NFC技术可用的应用场景。4微织构系统fc技术NFC技术正在快速普及,除了索尼、三星等大厂商从NFC诞生起就加入了NFCFORUM,以支持其发展,近两年Google、HTC也加入了NFCFORUM,为NFC技术推广提供支持,此外,包括中兴、联想、小米等国内设备厂商也开始在其设备中内置NFC芯片,据苹果公司最近的相关专利申请情况显示,其有可能在新一代设备中加入NFC功能。可以预见,在不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论