POS设备NFC接口访问方法、装置、设备及存储介质 |
|||||||
申请号 | CN202311168872.4 | 申请日 | 2023-09-08 | 公开(公告)号 | CN117193981A | 公开(公告)日 | 2023-12-08 |
申请人 | 武汉天喻信息产业股份有限公司; | 发明人 | 姜洲; 苏学东; 彭涛; 杨卓勋; | ||||
摘要 | 本 发明 公开了一种POS设备NFC 接口 访问 方法、装置、设备及存储介质,所述方法通过将Android芯片作为POS设备的主控芯片,通过应用层调用Android原生NFC接口,并通过Framework层保存NFC芯片状态;通过适配 中间件 接收到来自Framework层的转换指令,将NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令;通过嵌入式组件根据可执行命令操作NFC芯片,并封装操作命令给运行在Android侧的适配中间件使用,通过NFC 固件 根据NFC芯片状态和NFC接口与外部非接卡交互;能够适用于各种应用场景,节省了应用开发工作量,无需额外适配,极大降低了开发成本。 | ||||||
权利要求 | 1.一种POS设备NFC接口访问方法,其特征在于,所述POS设备NFC接口访问方法包括: |
||||||
说明书全文 | POS设备NFC接口访问方法、装置、设备及存储介质技术领域[0001] 本发明涉及POS设备通信技术领域,尤其涉及一种POS设备NFC接口访问方法、装置、设备及存储介质。 背景技术[0002] 目前Android原生平台代码已经预留了关于近场通信(Near Field Communication,NFC)芯片的硬件抽象层(Hardware Abstract Layer,HAL)层接口,可以方便设备厂商快速接入NFC芯片,实现NFC功能,这样第三方应用可使用Android原生的NFC接口实现应用开发,并适配不同的Android设备平台。 [0004] 然而部分NFC芯片厂商设计的NFC芯片是针对普通嵌入式芯片平台,并非针对Android平台,或者设备终端开发在Android平台和NFC芯片间挂接了嵌入式中转芯片从而导致原生架构不再适用,比如销售终端(Point Of Sale,POS)机上在Android芯片与NFC芯片间桥接了安全芯片的情况。 [0005] 这种情况下设备厂商往往会自定义NFC相关中间件接口供第三方应用开发使用,但这种方案会让第三方应用无法使用Android原生接口,增加了第三方应用适配的工作量,有时第三方应用是由其它客户开发,不会针对设备厂商特殊的NFC接口做适配;这样在该硬件平台上NFC功能会无法使用。 发明内容[0006] 本发明的主要目的在于提供一种POS设备NFC接口访问方法、装置、设备及存储介质,旨在解决现有技术中NFC芯片挂接了嵌入式中转芯片会导致原生架构不适用,自定义NFC相关中间件接口供第三方应用开发使用会增加第三方应用适配的工作量,适配性较差的技术问题。 [0007] 第一方面,本发明提供一种POS设备NFC接口访问方法,所述POS设备NFC接口访问方法包括以下步骤: [0008] 将Android芯片作为POS设备的主控芯片,通过应用层调用Android原生NFC接口,并通过Framework层保存NFC芯片状态; [0009] 通过适配中间件接收到来自所述Framework层的转换指令,将NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令; [0010] 通过嵌入式组件根据所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,通过NFC固件根据所述NFC芯片状态和所述NFC接口与外部非接卡交互。 [0011] 可选地,所述通过应用层调用Android原生NFC接口,并通过Framework层保存NFC芯片状态之前,所述NFC接口访问方法还包括: [0012] 将嵌入式安全芯片作为所述POS设备的安全芯片,通过所述嵌入式安全芯片处理所述POS设备的敏感数据; [0013] 通过NFC芯片读写支持NFC通信协议的非接卡。 [0014] 可选地,所述嵌入式安全芯片连接在所述Android芯片与所述NFC芯片之间,所述Android芯片不与所述NFC芯片直接相连。 [0015] 可选地,所述应用层与所述Framework层相连,所述Framework层与所述适配中间件相连,所述适配中间件与所述嵌入式组件相连,所述嵌入式组件与所述NFC固件相连。 [0016] 可选地,所述将Android芯片作为POS设备的主控芯片,通过应用层调用Android原生NFC接口,并通过Framework层保存NFC芯片状态,包括: [0017] 将Android芯片作为POS设备的主控芯片; [0018] 所述Framework层对应用层提供Android原生NFC接口,所述应用层运行于所述Android芯片,通过所述应用层调用所述Android原生NFC接口; [0019] 通过所述Framework层调用所述适配中间件对应的接口,通过所述Framework层保存NFC芯片状态,所述Framework层运行于所述Android芯片。 [0020] 可选地,所述通过适配中间件接收到来自所述Framework层的转换指令,将NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令,包括: [0021] 通过适配中间件接收到来自所述Framework层的转换指令,将所述转换指令封装成嵌入式组件对外的命令接口,将来自Android侧的NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令,所述适配中间件运行于所述Android芯片。 [0022] 可选地,所述通过嵌入式组件根据所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,通过NFC固件根据所述NFC芯片状态和所述NFC接口与外部非接卡交互,包括: [0023] 通过嵌入式组件根据NFC芯片厂商的操作手册数据和所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,所述嵌入式组件运行于安全芯片; [0024] 通过NFC固件读写支持NFC通信协议的非接卡,根据所述NFC芯片状态和所述NFC接口与外部非接卡交互,所述NFC固件运行于所述NFC芯片。 [0025] 第二方面,为实现上述目的,本发明还提出一种POS设备NFC接口访问装置,所述POS设备NFC接口访问装置包括: [0027] 所述Android芯片,用于作为POS设备的主控芯片; [0028] 所述应用层,用于调用Android原生NFC接口; [0029] 所述Framework层,用于保存NFC芯片状态; [0030] 所述适配中间件,用于接收到来自所述Framework层的转换指令,将所述NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令; [0031] 所述嵌入式组件,用于根据所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用; [0032] 所述NFC固件,用于根据所述NFC芯片状态和所述NFC接口与外部非接卡交互。 [0033] 第三方面,为实现上述目的,本发明还提出一种POS设备NFC接口访问设备,所述POS设备NFC接口访问设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的POS设备NFC接口访问程序,所述POS设备NFC接口访问程序配置为实现如上文所述的POS设备NFC接口访问方法的步骤。 [0034] 第四方面,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有POS设备NFC接口访问程序,所述POS设备NFC接口访问程序被处理器执行时实现如上文所述的POS设备NFC接口访问方法的步骤。 [0035] 本发明提出的POS设备NFC接口访问方法,通过将Android芯片作为POS设备的主控芯片,通过应用层调用Android原生NFC接口,并通过Framework层保存NFC芯片状态;通过适配中间件接收到来自所述Framework层的转换指令,将NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令;通过嵌入式组件根据所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,通过NFC固件根据所述NFC芯片状态和所述NFC接口与外部非接卡交互;能够适用于各种应用场景,节省了应用开发工作量,保留了Android原生Framework层NFC相关的接口,可以让基于Android framework实现的NFC应用直接运行,无需额外适配,可以让设备厂商快速适配不同的NFC芯片,极大降低了开发成本,提高了POS设备NFC接口访问的速度和效率。附图说明 [0036] 图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图; [0037] 图2为本发明POS设备NFC接口访问方法第一实施例的流程示意图; [0038] 图3为本发明POS设备NFC接口访问方法第二实施例的流程示意图; [0039] 图4为本发明POS设备NFC接口访问方法中POS设备硬件连接示意图; [0040] 图5为本发明POS设备NFC接口访问方法第三实施例的流程示意图; [0041] 图6为本发明POS设备NFC接口访问方法中POS设备软件件架构示意图; [0042] 图7为本发明POS设备NFC接口访问方法第四实施例的流程示意图; [0043] 图8为本发明POS设备NFC接口访问方法第五实施例的流程示意图; [0044] 图9为本发明POS设备NFC接口访问装置第一实施例的功能模块图。 [0045] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。 具体实施方式[0046] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。 [0047] 本发明实施例的解决方案主要是:通过将Android芯片作为POS设备的主控芯片,通过应用层调用Android原生NFC接口,并通过Framework层保存NFC芯片状态;通过适配中间件接收到来自所述Framework层的转换指令,将NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令;通过嵌入式组件根据所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,通过NFC固件根据所述NFC芯片状态和所述NFC接口与外部非接卡交互;能够适用于各种应用场景,节省了应用开发工作量,保留了Android原生Framework层NFC相关的接口,可以让基于Android framework实现的NFC应用直接运行,无需额外适配,可以让设备厂商快速适配不同的NFC芯片,极大降低了开发成本,提高了POS设备NFC接口访问的速度和效率,解决了现有技术中NFC芯片挂接了嵌入式中转芯片会导致原生架构不适用,自定义NFC相关中间件接口供第三方应用开发使用会增加第三方应用适配的工作量,适配性较差的技术问题。 [0048] 参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。 [0049] 如图1所示,该设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。 用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口 1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi‑Fi接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(Non‑Volatile Memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器 1001的存储装置。 [0050] 本领域技术人员可以理解,图1中示出的设备结构并不构成对该设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。 [0051] 如图1所示,作为一种存储介质的存储器1005中可以包括操作装置、网络通信模块、用户接口模块以及POS设备NFC接口访问程序。 [0052] 本发明设备通过处理器1001调用存储器1005中存储的POS设备NFC接口访问程序,并执行以下操作: [0053] 将Android芯片作为POS设备的主控芯片,通过应用层调用Android原生NFC接口,并通过Framework层保存NFC芯片状态; [0054] 通过适配中间件接收到来自所述Framework层的转换指令,将NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令; [0055] 通过嵌入式组件根据所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,通过NFC固件根据所述NFC芯片状态和所述NFC接口与外部非接卡交互。 [0056] 本发明设备通过处理器1001调用存储器1005中存储的POS设备NFC接口访问程序,还执行以下操作: [0057] 将嵌入式安全芯片作为所述POS设备的安全芯片,通过所述嵌入式安全芯片处理所述POS设备的敏感数据; [0058] 通过NFC芯片读写支持NFC通信协议的非接卡。 [0059] 本发明设备通过处理器1001调用存储器1005中存储的POS设备NFC接口访问程序,还执行以下操作: [0060] 所述嵌入式安全芯片连接在所述Android芯片与所述NFC芯片之间,所述Android芯片不与所述NFC芯片直接相连。 [0061] 本发明设备通过处理器1001调用存储器1005中存储的POS设备NFC接口访问程序,还执行以下操作: [0062] 所述应用层与所述Framework层相连,所述Framework层与所述适配中间件相连,所述适配中间件与所述嵌入式组件相连,所述嵌入式组件与所述NFC固件相连。 [0063] 本发明设备通过处理器1001调用存储器1005中存储的POS设备NFC接口访问程序,还执行以下操作: [0064] 将Android芯片作为POS设备的主控芯片; [0065] 所述Framework层对应用层提供Android原生NFC接口,所述应用层运行于所述Android芯片,通过所述应用层调用所述Android原生NFC接口; [0066] 通过所述Framework层调用所述适配中间件对应的接口,通过所述Framework层保存NFC芯片状态,所述Framework层运行于所述Android芯片。 [0067] 本发明设备通过处理器1001调用存储器1005中存储的POS设备NFC接口访问程序,还执行以下操作: [0068] 通过适配中间件接收到来自所述Framework层的转换指令,将所述转换指令封装成嵌入式组件对外的命令接口,将来自Android侧的NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令,所述适配中间件运行于所述Android芯片。 [0069] 本发明设备通过处理器1001调用存储器1005中存储的POS设备NFC接口访问程序,还执行以下操作: [0070] 通过嵌入式组件根据NFC芯片厂商的操作手册数据和所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,所述嵌入式组件运行于安全芯片; [0071] 通过NFC固件读写支持NFC通信协议的非接卡,根据所述NFC芯片状态和所述NFC接口与外部非接卡交互,所述NFC固件运行于所述NFC芯片。 [0072] 本实施例通过上述方案,通过将Android芯片作为POS设备的主控芯片,通过应用层调用Android原生NFC接口,并通过Framework层保存NFC芯片状态;通过适配中间件接收到来自所述Framework层的转换指令,将NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令;通过嵌入式组件根据所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,通过NFC固件根据所述NFC芯片状态和所述NFC接口与外部非接卡交互;能够适用于各种应用场景,节省了应用开发工作量,保留了Android原生Framework层NFC相关的接口,可以让基于Android framework实现的NFC应用直接运行,无需额外适配,可以让设备厂商快速适配不同的NFC芯片,极大降低了开发成本,提高了POS设备NFC接口访问的速度和效率。 [0073] 基于上述硬件结构,提出本发明POS设备NFC接口访问方法实施例。 [0074] 参照图2,图2为本发明POS设备NFC接口访问方法第一实施例的流程示意图。 [0075] 在第一实施例中,所述POS设备NFC接口访问方法包括以下步骤: [0076] 步骤S10、将Android芯片作为POS设备的主控芯片,通过应用层调用Android原生NFC接口,并通过Framework层保存NFC芯片状态。 [0077] 需要说明的是,Android芯片可以作为POS设备的主控芯片,应用层为需要调用Android原生NFC接口的第三方应用程序,通过应用层可以调用Android原生NFC接口,并且可以通过Framework层保存NFC芯片状态。 [0078] 步骤S20、通过适配中间件接收到来自所述Framework层的转换指令,将NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令。 [0079] 可以理解的是,适配中间件接收到来自Framework层相关指令后,可以完成转换操作,即通过适配中间件接收到来自所述Framework层的转换指令,将NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令。 [0080] 步骤S30、通过嵌入式组件根据所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,通过NFC固件根据所述NFC芯片状态和所述NFC接口与外部非接卡交互。 [0081] 应当理解的是,通过嵌入式组件可以根据所述可执行命令操作所述NFC芯片,并且可以封装操作命令给运行在Android侧的适配中间件使用,通过NFC估计可以根据所述NFC芯片状态和所述NFC接口与外部非接卡交互。 [0082] 本实施例通过上述方案,通过将Android芯片作为POS设备的主控芯片,通过应用层调用Android原生NFC接口,并通过Framework层保存NFC芯片状态;通过适配中间件接收到来自所述Framework层的转换指令,将NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令;通过嵌入式组件根据所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,通过NFC固件根据所述NFC芯片状态和所述NFC接口与外部非接卡交互;能够适用于各种应用场景,节省了应用开发工作量,保留了Android原生Framework层NFC相关的接口,可以让基于Android framework实现的NFC应用直接运行,无需额外适配,可以让设备厂商快速适配不同的NFC芯片,极大降低了开发成本,提高了POS设备NFC接口访问的速度和效率。 [0083] 进一步地,图3为本发明POS设备NFC接口访问方法第二实施例的流程示意图,如图3所示,基于第一实施例提出本发明POS设备NFC接口访问方法第二实施例,在本实施例中,所述步骤S10之前,所述POS设备NFC接口访问方法还包括以下步骤: [0084] 步骤S01、将嵌入式安全芯片作为所述POS设备的安全芯片,通过所述嵌入式安全芯片处理所述POS设备的敏感数据。 [0085] 需要说明的是,所述嵌入式安全芯片作为POS机上为安全芯片,通过所述嵌入式安全芯片可以处理所述POS设备的敏感数据。 [0086] 进一步的,所述嵌入式安全芯片连接在所述Android芯片与所述NFC芯片之间,所述Android芯片不与所述NFC芯片直接相连。 [0087] 可以理解的是,所述嵌入式安全芯片连接于Android芯片与NFC芯片之间,用于处理卡片等敏感数据,以保障数据的安全性。 [0088] 在具体实现中,如图4所示,图4为本发明POS设备NFC接口访问方法中POS设备硬件连接示意图,参见图4,Android芯片与嵌入式安全芯片相连,嵌入式安全芯片与NFC芯片相连,所述嵌入式安全芯片连接在所述Android芯片与所述NFC芯片之间,所述Android芯片不与所述NFC芯片直接相连。 [0089] 步骤S02、通过NFC芯片读写支持NFC通信协议的非接卡。 [0090] 可以理解的是,通过所述NFC芯片可以读写支持NFC通信协议的非接卡。 [0091] 本实施例通过上述方案,通过将嵌入式安全芯片作为所述POS设备的安全芯片,通过所述嵌入式安全芯片处理所述POS设备的敏感数据;通过NFC芯片读写支持NFC通信协议的非接卡,能够快速布设POS设备硬件结构,提高了POS设备NFC接口访问的速度和效率。 [0092] 进一步地,图5为本发明POS设备NFC接口访问方法第三实施例的流程示意图,如图5所示,基于第一实施例提出本发明POS设备NFC接口访问方法第三实施例,在本实施例中,所述步骤S10具体包括以下步骤: [0093] 步骤S11、将Android芯片作为POS设备的主控芯片。 [0094] 需要说明的是,将Android芯片作为POS设备的主控芯片。 [0095] 步骤S12、所述Framework层对应用层提供Android原生NFC接口,所述应用层运行于所述Android芯片,通过所述应用层调用所述Android原生NFC接口。 [0096] 应当理解的是,所述Framework层对应用层提供Android原生NFC接口所述应用层运行于所述Android芯片,通过应用层可以调用所述Android原生NFC接口。 [0097] 步骤S13、通过所述Framework层调用所述适配中间件对应的接口,通过所述Framework层保存NFC芯片状态,所述Framework层运行于所述Android芯片。 [0098] 可以理解的是,通过所述Framework层调用所述适配中间件对应的接口,保存NFC芯片状态,并调用适配中间件对应的接口,所述Framework层运行于所述Android芯片。 [0099] 进一步的,所述应用层与所述Framework层相连,所述Framework层与所述适配中间件相连,所述适配中间件与所述嵌入式组件相连,所述嵌入式组件与所述NFC固件相连。 [0100] 在具体实现中,如图6所示,图6为本发明POS设备NFC接口访问方法中POS设备软件件架构示意图,参见图6,通过修改NFC服务中间件来实现Android Framework底层可直接访问NFC芯片,从而不需适配Android HAL层接口和Android驱动,即可兼容Android原生的NFC接口,让第三方应用无需修改代码即可在该硬件平台上使用Android原生NFC功能。 [0101] 本实施例通过上述方案,通过将Android芯片作为POS设备的主控芯片;所述Framework层对应用层提供Android原生NFC接口,所述应用层运行于所述Android芯片,通过所述应用层调用所述Android原生NFC接口;通过所述Framework层调用所述适配中间件对应的接口,通过所述Framework层保存NFC芯片状态,所述Framework层运行于所述Android芯片,能够适用于各种应用场景,节省了应用开发工作量,保留了Android原生Framework层NFC相关的接口,可以让基于Android framework实现的NFC应用直接运行,无需额外适配。 [0102] 进一步地,图7为本发明POS设备NFC接口访问方法第四实施例的流程示意图,如图7所示,基于第一实施例提出本发明POS设备NFC接口访问方法第四实施例,在本实施例中,所述步骤S20具体包括以下步骤: [0103] 步骤S21、通过适配中间件接收到来自所述Framework层的转换指令,将所述转换指令封装成嵌入式组件对外的命令接口,将来自Android侧的NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令,所述适配中间件运行于所述Android芯片。 [0104] 需要说明的是,所述适配中间件接收到来自Framework层相关指令后,可以将所述转换指令封装成嵌入式组件对外的命令接口,进而将来自Android侧的NFC相关命令转化为嵌入式安全芯片可执行的命令,所述适配中间件可以运行于Android芯片。 [0105] 本实施例通过上述方案,通过适配中间件接收到来自所述Framework层的转换指令,将所述转换指令封装成嵌入式组件对外的命令接口,将来自Android侧的NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令,所述适配中间件运行于所述Android芯片;能够适用于各种应用场景,节省了应用开发工作量,保留了Android原生Framework层NFC相关的接口。 [0106] 进一步地,图8为本发明POS设备NFC接口访问方法第五实施例的流程示意图,如图8所示,基于第一实施例提出本发明POS设备NFC接口访问方法第五实施例,在本实施例中,所述步骤S30具体包括以下步骤: [0107] 步骤S31、通过嵌入式组件根据NFC芯片厂商的操作手册数据和所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,所述嵌入式组件运行于安全芯片。 [0108] 需要说明的是,所述嵌入式组件可以根据NFC芯片厂商的文档手册操作NFC芯片,并封装操作命令给运行在Android侧的适配中间件使用,所述嵌入式组件运行于安全芯片。 [0109] 步骤S32、通过NFC固件读写支持NFC通信协议的非接卡,根据所述NFC芯片状态和所述NFC接口与外部非接卡交互,所述NFC固件运行于所述NFC芯片。 [0110] 应当理解的是,所述NFC固件运行于所述NFC芯片,通过NFC固件读写支持NFC通信协议的非接卡,根据所述NFC芯片状态和所述NFC接口与外部非接卡交互。 [0111] 在具体实现中,去掉了Android原生Framework层中的NFC服务、硬件抽象层(Hardware Abstract Layer,HAL)层与驱动层,省去了调试Android驱动和HAL层的步骤,能快速适配不同厂商的NFC芯片,并可以兼容那些不是为Android平台设计的NFC芯片,能支持Android原生Framework层中NFC的相关接口,可兼容基于Android标准NFC接口开发的第三方应用。 [0112] 可以理解的是,当应用调用Android Framework层原生NFC接口时,基于Android接口定义语言(Android Interface Definition Language,AIDL)调用复写的NFC服务(即适配的中间件),把接口封装为与嵌入式芯片通信的命令;然后基于串口通信方式(仅以此种方式举例)与嵌入式组件通信,嵌入式组件接受到相关命令后去操作NFC芯片进行寻卡或写卡等相关操作;在NFC芯片读取到外部的NFC卡或者写数据成功后,将结果返回给嵌入式组件,嵌入式组件将结果封装后返回给适配的中间件,适配的中间件再将其解析成Android原生接口的模式,返回给Framework层。Framework层通过回调的方式把结果返回给应用层;从而实现了应用层直接使用Android原生接口访问NFC芯片的操作。 [0113] 本实施例通过上述方案,通过嵌入式组件根据NFC芯片厂商的操作手册数据和所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,所述嵌入式组件运行于安全芯片;通过NFC固件读写支持NFC通信协议的非接卡,根据所述NFC芯片状态和所述NFC接口与外部非接卡交互,所述NFC固件运行于所述NFC芯片;能够适用于各种应用场景,节省了应用开发工作量,保留了Android原生Framework层NFC相关的接口,可以让基于Android framework实现的NFC应用直接运行,无需额外适配,可以让设备厂商快速适配不同的NFC芯片,极大降低了开发成本,提高了POS设备NFC接口访问的速度和效率。 [0114] 相应地,本发明进一步提供一种POS设备NFC接口访问装置。 [0115] 参照图9,图9为本发明POS设备NFC接口访问装置第一实施例的功能模块图。 [0116] 本发明POS设备NFC接口访问装置第一实施例中,该POS设备NFC接口访问装置包括:硬件架构和软件架构,其中,所述硬件架构包括Android芯片10、嵌入式安全芯片20和NFC芯片30;所述软件架构包括应用层40、Framework层50、适配中间件60、嵌入式组件70及NFC固件80; [0117] 所述Android芯片10,用于作为POS设备的主控芯片; [0118] 所述应用层40,用于调用Android原生NFC接口; [0119] 所述Framework层50,用于保存NFC芯片状态; [0120] 所述适配中间件60,用于接收到来自所述Framework层的转换指令,将所述NFC芯片30的NFC芯片命令转换为嵌入式安全芯片20的可执行命令; [0121] 所述嵌入式组件70,用于根据所述可执行命令操作所述NFC芯片30,并封装操作命令给运行在Android侧的所述适配中间件60使用; [0122] 所述NFC固件80,用于根据所述NFC芯片状态和所述NFC接口与外部非接卡交互。 [0123] 相应地,嵌入式安全芯片20作为所述POS设备的安全芯片,所述嵌入式安全芯片20,还用于处理所述POS设备的敏感数据; [0124] NFC芯片30,还用于读写支持NFC通信协议的非接卡。 [0125] 所述嵌入式安全芯片20,还用于连接在所述Android芯片10与所述NFC芯片30之间。 [0126] 所述Android芯片10不与所述NFC芯片30直接相连。 [0127] 所述应用层40与所述Framework层50相连,所述Framework层50与所述适配中间件60相连,所述适配中间件60与所述嵌入式组件70相连,所述嵌入式组件70与所述NFC固件80相连。 [0128] 将Android芯片10作为POS设备的主控芯片; [0129] 所述Framework层50,还用于对应用层提供Android原生NFC接口; [0130] 所述应用层40,还用于运行于所述Android芯片10; [0131] 所述应用层40,还用于调用所述Android原生NFC接口; [0132] 所述Framework层50,还用于调用所述适配中间件对应的接口; [0133] 所述Framework层50,还用于保存NFC芯片状态,所述Framework层50运行于所述Android芯片。 [0134] 所述适配中间件60,还用于接收到来自所述Framework层的转换指令,将所述转换指令封装成嵌入式组件对外的命令接口,将来自Android侧的NFC芯片30的NFC芯片命令转换为嵌入式安全芯片的可执行命令,所述适配中间件60运行于所述Android芯片。 [0135] 所述嵌入式组件70,还用于根据NFC芯片厂商的操作手册数据和所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件60使用,所述嵌入式组件70运行于安全芯片; [0136] 所述NFC固件80,还用于读写支持NFC通信协议的非接卡,根据所述NFC芯片状态和所述NFC接口与外部非接卡交互,所述NFC固件80运行于所述NFC芯片。 [0137] 其中,POS设备NFC接口访问装置的各个功能模块实现的步骤可参照本发明POS设备NFC接口访问方法的各个实施例,此处不再赘述。 [0138] 此外,本发明实施例还提出一种存储介质,所述存储介质上存储有POS设备NFC接口访问程序,所述POS设备NFC接口访问程序被处理器执行时实现如下操作: [0139] 将Android芯片作为POS设备的主控芯片,通过应用层调用Android原生NFC接口,并通过Framework层保存NFC芯片状态; [0140] 通过适配中间件接收到来自所述Framework层的转换指令,将NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令; [0141] 通过嵌入式组件根据所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,通过NFC固件根据所述NFC芯片状态和所述NFC接口与外部非接卡交互。 [0142] 进一步地,所述POS设备NFC接口访问程序被处理器执行时还实现如下操作: [0143] 将嵌入式安全芯片作为所述POS设备的安全芯片,通过所述嵌入式安全芯片处理所述POS设备的敏感数据; [0144] 通过NFC芯片读写支持NFC通信协议的非接卡。 [0145] 进一步地,所述POS设备NFC接口访问程序被处理器执行时还实现如下操作: [0146] 所述嵌入式安全芯片连接在所述Android芯片与所述NFC芯片之间,所述Android芯片不与所述NFC芯片直接相连。 [0147] 进一步地,所述POS设备NFC接口访问程序被处理器执行时还实现如下操作: [0148] 所述应用层与所述Framework层相连,所述Framework层与所述适配中间件相连,所述适配中间件与所述嵌入式组件相连,所述嵌入式组件与所述NFC固件相连。 [0149] 进一步地,所述POS设备NFC接口访问程序被处理器执行时还实现如下操作: [0150] 将Android芯片作为POS设备的主控芯片; [0151] 所述Framework层对应用层提供Android原生NFC接口,所述应用层运行于所述Android芯片,通过所述应用层调用所述Android原生NFC接口; [0152] 通过所述Framework层调用所述适配中间件对应的接口,通过所述Framework层保存NFC芯片状态,所述Framework层运行于所述Android芯片。 [0153] 进一步地,所述POS设备NFC接口访问程序被处理器执行时还实现如下操作: [0154] 通过适配中间件接收到来自所述Framework层的转换指令,将所述转换指令封装成嵌入式组件对外的命令接口,将来自Android侧的NFC芯片的NFC芯片命令转换为嵌入式安全芯片的可执行命令,所述适配中间件运行于所述Android芯片。 [0155] 进一步地,所述POS设备NFC接口访问程序被处理器执行时还实现如下操作: [0156] 通过嵌入式组件根据NFC芯片厂商的操作手册数据和所述可执行命令操作所述NFC芯片,并封装操作命令给运行在Android侧的所述适配中间件使用,所述嵌入式组件运行于安全芯片; [0157] 通过NFC固件读写支持NFC通信协议的非接卡,根据所述NFC芯片状态和所述NFC接口与外部非接卡交互,所述NFC固件运行于所述NFC芯片。 [0158] 本领域技术人员可以理解,实现上述实施方式方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤;而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。 [0159] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。 [0160] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。 |