CN114301506B - 用于模拟nfc功能的方法及装置、nfc终端、存储介质 - Google Patents
用于模拟nfc功能的方法及装置、nfc终端、存储介质 Download PDFInfo
- Publication number
- CN114301506B CN114301506B CN202210046716.XA CN202210046716A CN114301506B CN 114301506 B CN114301506 B CN 114301506B CN 202210046716 A CN202210046716 A CN 202210046716A CN 114301506 B CN114301506 B CN 114301506B
- Authority
- CN
- China
- Prior art keywords
- nfc
- nci
- instruction
- driving node
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本申请涉及近场通信技术领域,公开一种用于模拟NFC功能的方法,应用于NFC终端侧,NFC终端设置有NFC软件,NFC软件支持NCI协议,该方法包括:利用预设的第一驱动节点接收NFC软件写入的NCI指令;第一驱动节点被配置为接收NFC软件写入的数据和预设的第二驱动节点写入的数据,并将NFC软件发送的数据写入第二驱动节点;将NCI指令写入第二驱动节点中;第二驱动节点被配置为接收第一驱动节点写入的数据和预设的固件写入的数据,并将固件写入的数据写入第一驱动节点中;利用固件从第二驱动节点中读取NCI指令,并将NCI指令发送给客户端。这样能够模拟NFC功能,便于进行NFC功能的自动化测试。本申请还公开一种用于模拟NFC功能的装置及NFC终端、存储介质。
Description
技术领域
本申请涉及近场通信技术领域,例如涉及一种用于模拟NFC功能的方法及装置、NFC终端、存储介质。
背景技术
目前,Android(安卓)设备上的NFC(Near Field Communication,近场通信)软件架构由运行在NFC芯片中的固件(Firmware)和运行在Android侧的软件(Middleware)配合完成NFC功能。Middleware和Firmware之间通过NCI(NFC Controller interface,NFC控制器接口)协议进行数据交互。对于Firmware的测试验证可以采用开发板+指令透传的方式进行全NCI指令的验证;而对于Middleware的测试验证方式则需要在真机上验证。在日常生活中,尽管很多NFC终端已经集成了NFC功能,但是并没有经过完善的测试,这就导致在使用过程中有很多的不确定性,NFC微小的差异在实际应用中会产生较大的性能偏差。但随着很多NFC应用场景的普及比如移动支付,NFC将成为智能手机里不可或缺的一个无线通信方式。为了达到好的用户体验,NFC是不容许有任何错失的,因此有必要进行NFC功能测试。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
现有技术中在对NFC功能进行测试时,需要依赖于外部条件触发,从而使得NFC芯片与NFC软件进行通信来进行不同场景下的测试,例如:读卡时需要卡片贴近、刷卡时需要POS机贴近等;导致难以进行自动化测试。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于模拟NFC功能的方法及装置、NFC终端、存储介质,以能够便于进行NFC功能的自动化测试。
在一些实施例中,所述用于模拟NFC功能的方法,应用于NFC终端侧,所述NFC终端设置有NFC软件,所述NFC软件支持NCI协议,所述方法包括:利用预设的第一驱动节点接收所述NFC软件写入的NCI指令;所述第一驱动节点被配置为接收所述NFC软件写入的数据和预设的第二驱动节点写入的数据,并将所述NFC软件发送的数据写入所述第二驱动节点;将所述NCI指令写入所述第二驱动节点中;所述第二驱动节点被配置为接收所述第一驱动节点写入的数据和预设的固件写入的数据,并将所述固件写入的数据写入所述第一驱动节点中;利用所述固件从所述第二驱动节点中读取所述NCI指令,并将所述NCI指令发送给客户端。
在一些实施例中,所述用于模拟NFC功能的装置,包括处理器和存储有程序指令的存储器,所述处理器被配置为在运行所述程序指令时,执行上述用于模拟NFC功能的方法。
在一些实施例中,所述NFC终端,包括上述用于模拟NFC功能的装置。
在一些实施例中,所述存储介质存储有程序指令,所述程序指令在运行时,执行上述的用于模拟NFC功能的方法。
本公开实施例提供的用于模拟NFC功能的方法及装置、NFC终端、存储介质,可以实现以下技术效果:利用预设的第一驱动节点接收NFC软件写入的NCI指令;第一驱动节点被配置为接收NFC软件写入的数据和预设的第二驱动节点写入的数据,并将NFC软件发送的数据写入第二驱动节点;将NCI指令写入第二驱动节点中;第二驱动节点被配置为接收第一驱动节点写入的数据和预设的固件写入的数据,并将固件写入的数据写入第一驱动节点中;利用固件从第二驱动节点中读取NCI指令,并将NCI指令发送给客户端。这样,通过预设的第一驱动节点和预设的第二驱动节点进行NCI指令的传输,并通过预设的固件将NCI指令发送给客户端,能够实现对NFC功能的模拟,使得NFC软件能够脱离NFC芯片正常运行,便于进行NFC功能的自动化测试。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1是本公开实施例提供的第一个用于模拟NFC功能的方法的示意图;
图2是本公开实施例提供的第二个用于模拟NFC功能的方法的示意图;
图3是本公开实施例提供的第三个用于模拟NFC功能的方法的示意图;
图4是本公开实施例提供的第四个用于模拟NFC功能的方法的示意图;
图5是本公开实施例提供的一个基于软件模拟的Firmware和NFC芯片功能的软件架构的示意图;
图6是本公开实施例提供的一个用于模拟NFC功能的装置的示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例的说明书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
术语“对应”可以指的是一种关联关系或绑定关系,A与B相对应指的是A与B之间是一种关联关系或绑定关系。
在本发明实施例中,通过模拟NFC功能实现对NFC终端的NFC功能测试,从而避免需要依赖外部条件触发才能进行NFC功能测试,NFC终端为带有NFC芯片的终端设备,该终端设备为智能手机、平板电脑、智能手表等。
结合图1所示,本公开实施例提供一种用于模拟NFC功能的方法,应用于NFC终端侧,NFC终端设置有NFC软件,NFC软件支持NCI协议,该方法包括:
步骤S101,NFC终端利用预设的第一驱动节点接收NFC软件写入的NCI指令;第一驱动节点被配置为接收NFC软件写入的数据和预设的第二驱动节点写入的数据,并将NFC软件发送的数据写入第二驱动节点。
步骤S102,NFC终端将NCI指令写入第二驱动节点中;第二驱动节点被配置为接收第一驱动节点写入的数据和预设的固件写入的数据,并将固件写入的数据写入第一驱动节点中。
步骤S103,NFC终端利用固件从第二驱动节点中读取NCI指令,并将NCI指令发送给客户端。
采用本公开实施例提供的用于模拟NFC功能的方法,NFC终端利用预设的第一驱动节点接收NFC软件写入的NCI指令;第一驱动节点被配置为接收NFC软件写入的数据和预设的第二驱动节点写入的数据,并将NFC软件发送的数据写入第二驱动节点;NFC终端将NCI指令写入第二驱动节点中;第二驱动节点被配置为接收第一驱动节点写入的数据和预设的固件写入的数据,并将固件写入的数据写入第一驱动节点中;NFC终端利用固件从第二驱动节点中读取NCI指令,并将NCI指令发送给客户端。这样,通过预设的第一驱动节点和预设的第二驱动节点进行NCI指令的传输,并通过预设的固件将NCI指令发送给客户端,能够实现对NFC功能的模拟,使得NFC软件能够脱离NFC芯片正常运行,便于进行NFC功能的自动化测试。
可选地,预设的固件包括虚拟NFC本地接口;NFC终端利用预设的固件从第二驱动节点中读取NCI指令,包括:利用虚拟NFC本地接口从第二驱动节点中读取出NCI指令。
在一些实施例中,在利用虚拟NFC本地接口从第二驱动节点中读取出NCI指令的同时,虚拟NFC本地接口能够给第二驱动节点提供写入指令的接口。这样能够进行数据交互,使得第二驱动节点能够接收虚拟NFC服务写入的数据。
可选地,预设的固件包括虚拟NFC服务;NFC终端通过虚拟NFC本地接口从第二驱动节点中读取出NCI指令后,还包括:将NCI指令上报给虚拟NFC服务。
可选地,NFC终端将NCI指令发送给客户端,包括:NFC终端利用虚拟NFC服务将NCI指令上报给客户端。
可选地,客户端包括移动终端或计算机。
结合图2所示,本公开实施例提供一种用于模拟NFC功能的方法,应用于NFC终端侧,NFC终端设置有NFC软件,NFC软件支持NCI协议,该方法包括:
步骤S201,NFC终端利用预设的第一驱动节点接收NFC软件写入的NCI指令;第一驱动节点被配置为接收NFC软件写入的数据和预设的第二驱动节点写入的数据,并将NFC软件发送的数据写入第二驱动节点。
步骤S202,NFC终端将NCI指令写入第二驱动节点中;第二驱动节点被配置为接收第一驱动节点写入的数据和预设的固件写入的数据,并将固件写入的数据写入第一驱动节点中。
步骤S203,NFC终端利用虚拟NFC本地接口从第二驱动节点中读取出NCI指令,并将NCI指令上报给虚拟NFC服务。
步骤S204,NFC终端利用虚拟NFC服务将NCI指令上报给客户端。
采用本公开实施例提供的用于模拟NFC功能的方法,通过预设的第一驱动节点和预设的第二驱动节点进行NCI指令的传输,并通过虚拟NFC本地接口从第二驱动节点中读取出NCI指令上报给虚拟NFC服务,利用虚拟NFC服务将NCI指令上报给客户端,从而能够实现对NFC功能的模拟,使得NFC软件能够脱离NFC芯片正常运行,更加灵活,便于进行NFC功能的自动化测试。
可选地,NFC终端将NCI指令上报给虚拟NFC服务后,还包括:在虚拟NFC服务接收到NCI指令的情况下,发送预设的第一回应信息给NFC软件。
可选地,NFC终端预设的第一回应信息用于表征虚拟NFC服务已经接收到NFC软件发送的NCI指令。
可选地,NFC终端将NCI指令上报给虚拟NFC服务后,还包括:对NCI指令进行数据格式验证;在NCI指令的数据格式不符合预设的格式要求的情况下,发送预设的第二回应信息给NFC软件。
在一些实施例中,虚拟NFC服务在接收到虚拟NFC本地接口上报的NCI指令后,对NCI指令进行数据格式验证,在NCI指令的数据格式不符合预设的格式要求的情况下,发送预设的第二回应信息给NFC软件。可选地,预设的第二回应信息用于表征NCI指令的数据格式错误。
可选地,NFC终端虚拟NFC服务在接收到虚拟NFC本地接口上报的NCI指令后,对NCI指令进行数据格式验证,在NCI指令的数据格式符合预设的格式要求的情况下,将NCI指令上报给客户端。
可选地,NFC终端将NCI指令上报给虚拟NFC服务后,还包括:从NFC软件中调用NFC服务接口给客户端。
可选地,NFC终端利用预设的第一驱动节点接收NFC软件写入的NCI指令;第一驱动节点被配置为接收NFC软件写入的数据和预设的第二驱动节点写入的数据,并将NFC软件发送的数据写入第二驱动节点;将NCI指令写入第二驱动节点中;第二驱动节点被配置为接收第一驱动节点写入的数据和预设的固件写入的数据,并将固件写入的数据写入第一驱动节点中;利用虚拟NFC本地接口从第二驱动节点中读取出NCI指令,并将NCI指令上报给虚拟NFC服务;从NFC软件中调用NFC服务接口给客户端;利用虚拟NFC服务将NCI指令上报给客户端。这样,通过从NFC软件中调用NFC服务接口给客户端,在对NFC功能进行测试时,便于客户端利用NFC服务接口控制测试流程。
结合图3所示,本公开实施例提供一种用于模拟NFC功能的方法,应用于NFC终端侧,NFC终端设置有NFC软件,NFC软件支持NCI协议,该方法包括:
步骤S301,NFC终端利用预设的第一驱动节点接收NFC软件写入的NCI指令;第一驱动节点被配置为接收NFC软件写入的数据和预设的第二驱动节点写入的数据,并将NFC软件发送的数据写入第二驱动节点。
步骤S302,NFC终端将NCI指令写入第二驱动节点中;第二驱动节点被配置为接收第一驱动节点写入的数据和预设的固件写入的数据,并将固件写入的数据写入第一驱动节点中。
步骤S303,NFC终端利用虚拟NFC本地接口从第二驱动节点中读取出NCI指令,并将NCI指令上报给虚拟NFC服务。
步骤S304,NFC终端利用虚拟NFC服务将NCI指令上报给客户端。
步骤S305,客户端根据NCI指令进行NCI流程控制并反馈NCI指令对应的指令回复数据给NFC软件。
采用本公开实施例提供的用于模拟NFC功能的方法,通过预设的第一驱动节点和预设的第二驱动节点进行NCI指令的传输,并通过虚拟NFC本地接口从第二驱动节点中读取出NCI指令上报给虚拟NFC服务,利用虚拟NFC服务将NCI指令上报给客户端,从而能够实现对NFC功能的模拟,使得NFC软件能够脱离NFC芯片正常运行;同时,客户端在完成NCI指令对应的事件的情况下,能够对NFC软件进行通知,便于进行NFC功能的自动化测试。
在一些实施例中,虚拟NFC服务在接收到虚拟NFC本地接口上报的NCI指令后,从NFC软件中调用NFC服务接口给客户端。这样,在对NFC功能进行测试时,便于客户端利用NFC服务接口控制测试流程。
可选地,NFC终端利用预设的固件从第二驱动节点中读取NCI指令后,将NCI指令发送给客户端,触发客户端根据NCI指令进行NCI流程控制并反馈NCI指令对应的指令回复数据给NFC软件。
可选地,客户端能够根据NCI指令进行NCI流程控制。
可选地,在对NFC功能进行测试的情况下,客户端能够调用NFC服务接口控制测试流程。
可选地,指令回复数据包括预设的第一回应信息和/或预设的通知信息。可选地,通知信息用于表征客户端已经处理完NCI指令对应的事件。
结合图4所示,本公开实施例提供一种用于模拟NFC功能的方法,应用于NFC终端侧,NFC终端设置有NFC软件,NFC软件支持NCI协议,该方法包括:
步骤S401,NFC终端利用预设的第一驱动节点接收NFC软件写入的NCI指令;第一驱动节点被配置为接收NFC软件写入的数据和预设的第二驱动节点写入的数据,并将NFC软件发送的数据写入第二驱动节点。
步骤S402,NFC终端将NCI指令写入第二驱动节点中;第二驱动节点被配置为接收第一驱动节点写入的数据和预设的固件写入的数据,并将固件写入的数据写入第一驱动节点中。
步骤S403,NFC终端利用虚拟NFC本地接口从第二驱动节点中读取出NCI指令,并将NCI指令上报给虚拟NFC服务。
步骤S404,NFC终端对NCI指令进行数据格式验证;在NCI指令的数据格式不符合预设的格式要求的情况下,执行步骤S405;或,在NCI指令的数据格式符合预设的格式要求的情况下,执行步骤S406。
步骤S405,NFC终端发送预设的第二回应信息给NFC软件。
步骤S406,NFC终端利用虚拟NFC服务将NCI指令上报给客户端。
采用本公开实施例提供的用于模拟NFC功能的方法,通过虚拟NFC服务在接收到虚拟NFC本地接口上报的NCI指令后,对NCI指令的数据格式进行验证,在NCI指令的数据格式不符合预设的格式要求的情况下,发送预设的第二回应信息给NFC软件,这样
从NFC软件中调用NFC服务接口给客户端,这样在对NFC功能进行测试时,便于客户端利用NFC服务接口控制测试流程。
在一些实施例中,客户端通过调用NFC服务接口能够实现其他功能,例如:打开NFC软件等。
结合图5所示,本公开实施例提供一种基于软件模拟的Firmware和NFC芯片功能的软件架构的示意图。在一些实施例中,通过创建第一驱动节点和第二驱动节点,第一驱动节点和第二驱动节点在Kernel(内核)中;通过第一驱动节点替代NFC软件中原有的驱动节点,通过第一驱动节点接收NFC Hal(硬件抽象层)写入的NCI指令,并将NCI指令写入第二驱动节点中;第二驱动节点用于接收Virtual NFC Service(虚拟NFC服务)写入的数据,并将该数据写入第一驱动节点中;Virtual NFC JNI(虚拟NFC本地接口)用于从第二驱动节点中读取NCI指令,并将NCI指令上报给Virtual NFC Service,同时提供给第二驱动节点写入指令的接口;Virtual NFC Service用于接收Virtual NFC JNI上报的NCI指令,并在接收到NCI指令的情况下,反馈预设的第一回应信息给NFC软件;或,在NCI指令的数据格式有问题的情况下,对NCI指令进行拦截,并反馈预设的第二回应信息给NFC软件;同时,Virtual NFCService还用于从NFC软件中调用NFC Service接口给客户端,便于客户端利用NFC Service接口控制测试流程;客户端在接收到Virtual NFC Service写入的NCI指令后,进行NCI流程控制,同时还能够调用NFC Service接口控制测试流程;客户端在处理完NCI指令对应的事件后,反馈预设的通知信息给Virtual NFC Service,Virtual NFC Service将通知信息写入Virtual NFC JNI,Virtual NFC JNI将通知信息写入第二驱动节点,第二驱动节点将通知信息写入第一驱动节点,第一驱动节点将通知信息写入NFC Hal中,并一层层向上传递,从而实现将通知信息反馈给NFC软件。可选地,客户端包括虚拟NFC客户端或电脑客户端。
可选地,在NFC软件接收到虚拟Firmware软件发送的预设信号的情况下,将与预设信号对应的NCI写入第一驱动节点。可选地,虚拟Firmware软件包括:第一驱动节点、第二驱动节点、Virtual NFC JNI、Virtual NFC Service和Virtual NFC Client(虚拟NFC客户端)。可选地,预设信号为通过Virtual NFC Client模拟读卡、刷卡等动作产生的模拟信号。
在一些实施例中,客户端存储有NCI指令回复脚本,客户端能够根据接收到不同的NCI指令切换不同的回复脚本,从而实现不同测试场景的模拟,同时,通过在NCI指令回复脚本中将回复数据修改为异常数据,就能够便于构建一些异常场景的测试,从而便于用户进行NFC功能的自动化测试。
可选地,客户端存储有多个NCI指令回复脚本,客户端根据接收到不同的NCI指令切换不同的回复脚本,能够对不同的测试场景进行NFC功能测试。这样,能够对Middlware进行白盒测试,对不同的代码逻辑分支的测试,从而实现白盒测试覆盖。
在一些实施例中,NFC Hal可以认为是NFC hidl(HAL Interface DefinitionLanguage,硬件抽象层接口定义语言)接口,向下直接与/dev/nq-nci设备节点交互,向上则主要是NFC Service(NFC服务)调用,是实现NFC功能的核心协议;NFC service(NFC服务),是应用APP调用NFC接口所要经过的一个服务程序。NFC芯片指硬件芯片,NFC近场通信功能的载体。
结合图6所示,本公开实施例提供一种用于模拟NFC功能的装置,包括处理器(processor)600和存储器(memory)601。可选地,该NFC终端还可以包括通信接口(Communication Interface)602和总线603。其中,处理器600、通信接口602、存储器601可以通过总线603完成相互间的通信。通信接口602可以用于信息传输。处理器600可以调用存储器601中的逻辑指令,以执行上述实施例的用于模拟NFC功能的方法。
采用本公开实施例提供的用于模拟NFC功能的装置,NFC终端利用预设的第一驱动节点接收NFC软件写入的NCI指令;第一驱动节点被配置为接收NFC软件写入的数据和预设的第二驱动节点写入的数据,并将NFC软件发送的数据写入第二驱动节点;NFC终端将NCI指令写入第二驱动节点中;第二驱动节点被配置为接收第一驱动节点写入的数据和预设的固件写入的数据,并将固件写入的数据写入第一驱动节点中;NFC终端利用固件从第二驱动节点中读取NCI指令,并将NCI指令发送给客户端。这样,通过预设的第一驱动节点和预设的第二驱动节点进行NCI指令的传输,并通过预设的固件将NCI指令发送给客户端,能够实现对NFC功能的模拟,使得NFC软件能够脱离NFC芯片正常运行,便于进行NFC功能的自动化测试。
此外,上述的存储器601中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器601作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器600通过运行存储在存储器601中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于模拟NFC功能的方法。
存储器601可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器601可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例提供一种NFC终端,包括上述用于模拟NFC功能的装置。
可选地,NFC终端包括智能手机等。
采用本公开实施例提供的NFC终端,NFC终端利用预设的第一驱动节点接收NFC软件写入的NCI指令;第一驱动节点被配置为接收NFC软件写入的数据和预设的第二驱动节点写入的数据,并将NFC软件发送的数据写入第二驱动节点;NFC终端将NCI指令写入第二驱动节点中;第二驱动节点被配置为接收第一驱动节点写入的数据和预设的固件写入的数据,并将固件写入的数据写入第一驱动节点中;NFC终端利用固件从第二驱动节点中读取NCI指令,并将NCI指令发送给客户端。这样,通过预设的第一驱动节点和预设的第二驱动节点进行NCI指令的传输,并通过预设的固件将NCI指令发送给客户端,能够实现对NFC功能的模拟,使得NFC软件能够脱离NFC芯片正常运行,便于进行NFC功能的自动化测试。
本公开实施例提供了一种存储介质,存储有程序指令,程序指令在运行时,执行上述用于模拟NFC功能的方法。
本公开实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述用于模拟NFC功能的方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例。如在实施例的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (10)
1.一种用于模拟NFC功能的方法,其特征在于,应用于近场通信NFC终端侧,所述NFC终端设置有NFC软件,所述NFC软件支持近场通信控制器接口NCI协议,所述方法包括:
利用预设的第一驱动节点接收所述NFC软件写入的NCI指令;所述第一驱动节点被配置为接收所述NFC软件写入的数据和预设的第二驱动节点写入的数据,并将所述NFC软件发送的数据写入所述第二驱动节点;
将所述NCI指令写入所述第二驱动节点中;所述第二驱动节点被配置为接收所述第一驱动节点写入的数据和预设的固件写入的数据,并将所述固件写入的数据写入所述第一驱动节点中;
利用所述固件从所述第二驱动节点中读取所述NCI指令,并将所述NCI指令发送给客户端。
2.根据权利要求1所述的方法,其特征在于,所述固件包括虚拟NFC本地接口;利用所述固件从所述第二驱动节点中读取所述NCI指令,包括:
利用所述虚拟NFC本地接口从所述第二驱动节点中读取出所述NCI指令。
3.根据权利要求2所述的方法,其特征在于,所述固件包括虚拟NFC服务;通过所述虚拟NFC本地接口从所述第二驱动节点中读取出所述NCI指令后,还包括:
将所述NCI指令上报给所述虚拟NFC服务。
4.根据权利要求3所述的方法,其特征在于,将所述NCI指令发送给客户端,包括:
利用所述虚拟NFC服务将所述NCI指令上报给所述客户端。
5.根据权利要求3所述的方法,其特征在于,将所述NCI指令上报给所述虚拟NFC服务后,还包括:
在所述虚拟NFC服务接收到所述NCI指令的情况下,发送预设的第一回应信息给所述NFC软件。
6.根据权利要求3所述的方法,其特征在于,将所述NCI指令上报给所述虚拟NFC服务后,还包括:
对所述NCI指令进行数据格式验证;
在所述NCI指令的数据格式不符合预设的格式要求的情况下,发送预设的第二回应信息给所述NFC软件。
7.根据权利要求3所述的方法,其特征在于,将所述NCI指令上报给所述虚拟NFC服务后,还包括:
从所述NFC软件中调用NFC服务接口给所述客户端。
8.一种用于模拟NFC功能的装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在运行所述程序指令时,执行如权利要求1至7任一项所述的用于模拟NFC功能的方法。
9.一种NFC终端,其特征在于,包括如权利要求8所述的用于模拟NFC功能的装置。
10.一种存储介质,存储有程序指令,其特征在于,所述程序指令在运行时,执行如权利要求1至7任一项所述的用于模拟NFC功能的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210046716.XA CN114301506B (zh) | 2022-01-17 | 2022-01-17 | 用于模拟nfc功能的方法及装置、nfc终端、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210046716.XA CN114301506B (zh) | 2022-01-17 | 2022-01-17 | 用于模拟nfc功能的方法及装置、nfc终端、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114301506A CN114301506A (zh) | 2022-04-08 |
CN114301506B true CN114301506B (zh) | 2022-05-06 |
Family
ID=80977191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210046716.XA Active CN114301506B (zh) | 2022-01-17 | 2022-01-17 | 用于模拟nfc功能的方法及装置、nfc终端、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114301506B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002815A (zh) * | 2022-07-18 | 2022-09-02 | 北京紫光青藤微系统有限公司 | 一种nfc系统的测试方法、装置、可读介质及电子设备 |
CN114942892B (zh) * | 2022-07-26 | 2022-10-28 | 北京紫光青藤微系统有限公司 | 用于与待测试软件通信的方法及装置、设备、存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701505A (zh) * | 2013-09-26 | 2014-04-02 | 上海斯图曼通信技术有限公司 | Nfc装置 |
CN108415512A (zh) * | 2018-03-06 | 2018-08-17 | 三星半导体(中国)研究开发有限公司 | 具有近场通信功能的可穿戴设备以及近场通信控制系统 |
CN113508411A (zh) * | 2021-02-05 | 2021-10-15 | 深圳市汇顶科技股份有限公司 | 虚拟电子卡管理方法、系统及安全芯片、终端和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2806586B1 (en) * | 2013-05-22 | 2017-09-06 | OCT Circuit Technologies International Limited | Built-in self-testing method of a near field communication device |
-
2022
- 2022-01-17 CN CN202210046716.XA patent/CN114301506B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701505A (zh) * | 2013-09-26 | 2014-04-02 | 上海斯图曼通信技术有限公司 | Nfc装置 |
CN108415512A (zh) * | 2018-03-06 | 2018-08-17 | 三星半导体(中国)研究开发有限公司 | 具有近场通信功能的可穿戴设备以及近场通信控制系统 |
CN113508411A (zh) * | 2021-02-05 | 2021-10-15 | 深圳市汇顶科技股份有限公司 | 虚拟电子卡管理方法、系统及安全芯片、终端和存储介质 |
Non-Patent Citations (1)
Title |
---|
NFC技术与NFC手机测试方法;郭寰;《信息通信技术》;20121231;第58-62页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114301506A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114301506B (zh) | 用于模拟nfc功能的方法及装置、nfc终端、存储介质 | |
CN107251069B (zh) | 一种近场通信支付方法及终端 | |
CN110764881A (zh) | 分布式系统后台重试方法及装置 | |
CN103176899A (zh) | 手机模拟器及在宿主机上模拟手机功能的方法 | |
CN103002492B (zh) | 一种移动终端的通信测试方法及装置 | |
CN111581994A (zh) | 近场通信nfc通信方法、装置及电子设备 | |
US9462408B2 (en) | Information processing method and electronic device | |
CN110289039A (zh) | 一种eMMC的调试方法和装置 | |
CN113518341B (zh) | 一种eSIM码号管理方法及装置 | |
CN104660780A (zh) | 电子设备及其控制方法 | |
CN109144850B (zh) | 移动终端的交互通信的测试方法及系统 | |
CN110401934B (zh) | 一种管理设备的方法、管理设备及计算机可读存储介质 | |
CN104536892A (zh) | 一种软件在线调试方法和系统 | |
CN107688479B (zh) | Android系统网络集群及其搭建的方法、Android系统网络集群数据处理的方法和系统 | |
CN104951325A (zh) | 一种信息显示方法及电子设备 | |
CN111443994B (zh) | 一种包含模拟智能卡驱动程序的装置、系统及方法 | |
CN113535558A (zh) | 软件版本传输方法及装置 | |
CN109995931A (zh) | 一种实现自动呼叫的方法及装置 | |
CN107783722B (zh) | 数据传输方法和数据转发装置 | |
CN113535578A (zh) | 一种cts测试方法、装置及测试设备 | |
CN111930624A (zh) | 测试链路报文数据处理方法及装置 | |
KR102368826B1 (ko) | 클라우드 서버 및 클라우드 서버의 동작 | |
CN110971696A (zh) | 一种实现虚拟电子卡通讯的系统和方法 | |
CN110286956A (zh) | 插件的运行方法、装置及电子设备 | |
CN113050974B (zh) | 云计算基础设施在线升级方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |