公私有状态标签的操作方法及装置
技术领域
本发明涉及通信领域,具体而言,涉及一种公私有状态标签的操作方法及装置。
背景技术
射频识别(Radio Frequency Identification,简称为RFID)系统通常包括阅读器(Reader)、电子标签(TAG)和上层应用。
阅读器即射频标签读写设备,是RFID系统的信息控制和处理中心,用于通过空间信道向电子标签发送读写命令;电子标签接收读写命令后做出必要的响应,阅读器还从上层应用获取写入电子标签的数据,或者向上层应用上报从电子标签读取的数据。
一般情况下,阅读器与上层应用之间通过特定的命令格式或约定的协议进行数据交互,该交互功能通过阅读器需与上层应用之间的应用程序编程接口(ApplicationProgram Interface,简称为API)实现。大多数阅读器与上层应用之间的API接口采用阅读器接口驱动或阅读器驱动装置(Reader Interface Driver,简称为RID)实现对阅读器的链接控制以及读、写等基本操作,RID将相应的信息封装成动态链接库(Dynamic LinkLibrary,简称为DLL)的格式提供给上层应用以便进行开发。
现阶段的阅读器主要是支持对ISO18000-6-C协议及ISO18000-6-B协议类型标签进行清点、读写等业务操作,而对公私有状态(Impinj)标签的业务操作的支持还存在问题。公私有状态标签是一种相对特殊的ISO18000-6-C协议标签,公私有状态标签状态可以置为公有状态或私有状态。在公私有状态标签置为公有状态时,其标签各个区域是均可访问的,和普通的ISO18000-6-C一致;若公私有状态标签处于私有状态时,则标签有些区域处于保护状态,不能进行访问。在一些应用中对公私有状态标签的使用就会受到限制,或是对多种标签进行兼容同时使用时,现有的RID不支持公私有状态标签的使用。
针对相关技术中阅读器接口驱动不支持公私有状态标签的问题,目前尚未提出有效的解决方案。
发明内容
针对阅读器接口驱动不支持公私有状态标签的问题,本发明提供了一种公私有状态标签的操作方法及装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种公私有状态标签的操作方法,包括:接收对公私有状态标签进行操作的操作消息;将所述公私有状态标签的状态临时转换成公有状态;依据所述操作消息对临时转换成公有状态的所述公私有状态标签进行操作。
优选地,将所述公私有状态标签的状态临时转换成公有状态,包括:确定所述公私有状态标签的当前状态为私有状态;将当前状态为私有状态的所述公私有状态标签的状态临时转换成公有状态。
优选地,依据所述操作消息对临时转换成公有状态的所述公私有状态标签进行操作,包括:向阅读器发送所述操作消息,其中,所述阅读器用于依据所述操作消息对临时转换成公有状态的所述公私有状态标签进行操作;接收所述阅读器返回的操作结果;向上层应用发送所述操作结果。
优选地,依据所述操作消息对临时转换成公有状态的所述公私有状态标签进行操作之后,还包括:将临时转换成公有状态的所述公私有状态标签的状态还原为转换前的状态。
根据本发明的另一个方面,提供了一种公私有状态标签的操作装置,包括:接收模块,用于接收对公私有状态标签进行操作的操作消息;转换模块,用于将所述公私有状态标签的状态临时转换成公有状态;处理模块,用于依据所述操作消息对临时转换成公有状态的所述公私有状态标签进行操作。
优选地,所述转换模块包括:确定单元,用于确定所述公私有状态标签的当前状态为私有状态;转换单元,用于将当前状态为私有状态的所述公私有状态标签的状态临时转换成公有状态。
优选地,所述处理模块,包括:第一发送单元,用于向阅读器发送所述操作消息,其中,所述阅读器用于依据所述操作消息对临时转换成公有状态的所述公私有状态标签进行操作;接收单元,用于接收所述阅读器返回的操作结果;第二发送单元,用于向上层应用发送所述操作结果。
优选地,所属装置还包括:恢复模块,用于在依据所述操作消息对临时转换成公有状态的所述公私有状态标签进行操作之后,将临时转换成公有状态的所述公私有状态标签的状态还原为转换前的状态。
根据本发明的又一个方面,提供了一种阅读器接口驱动,包括:公私有状态标签操作接口模块,用于接收对公私有状态标签进行操作的操作消息,将公私有状态标签的状态临时转换成公有状态,向阅读器发送所述操作消息,以及接收所述阅读器返回的操作结果。
优选地,还包括:ISO18000-6C协议接口模块,用于接收对ISO18000-6C协议类型标签进行操作的操作消息,实现对ISO18000-6C协议类型标签进行操作;和/或ISO18000-6B协议接口模块,用于接收对ISO18000-6B协议类型标签进行操作的操作消息,实现对ISO18000-6B协议类型标签进行操作。
优选地,还包括:通信模块,用于建立所述阅读器接口驱动与所述阅读器的链接,向所述阅读器发送所述操作消息,以及向所述公私有状态标签操作接口模块返回所述阅读器的处理结果。
优选地,还包括:阅读器管理接口模块,用于设置所述阅读器接口驱动与所述阅读器的通信模式,以及维护所述阅读器接口驱动与所述阅读器的链接状态,其中,所述通信模式内包括串口模式和网口模式。
根据本发明的再一个方面,提供了一种射频识别RFID系统,包括:本发明提供的上述任意的阅读器接口驱动,以及阅读器,其中,所述阅读器,用于依据所述阅读器接口驱动发送的操作消息对公私有状态标签进行操作。
通过本发明,接收对公私有状态标签进行操作的操作消息,将公私有状态标签的状态临时转换成公有状态,并依据上述操作消息对临时转换成公有状态的公私有状态标签进行操作,实现了对公私有状态标签的访问和操作。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的公私有状态标签的操作方法的流程图;
图2是根据本发明实施例的公私有状态标签的操作装置的结构框图;
图3是根据本发明实施例优选的转换模块的结构框图;
图4是根据本发明实施例的优选的处理模块的结构框图;
图5是根据本发明实施例优选的公私有状态标签的操作装置的结构框图;
图6是根据本发明实施例的阅读器接口驱动的结构框图;
图7是根据本发明实施例优选的阅读器接口驱动的结构框图一;
图8是根据本发明实施例优选的阅读器接口驱动的结构框图二;
图9是根据本发明实施例优选的阅读器接口驱动的结构框图三;
图10是根据本发明实施例的射频识别系统的示意图;
图11是根据本发明实例二的支持公私有状态标签业务操作的驱动装置的结构框图;
图12是根据本发明实例三的射频识别系统通信的流程图;
图13是根据本发明实例三的阅读器作为客户端时建链的流程图;
图14是根据本发明实例三的阅读器作为服务端时建链的流程图;
图15是根据本发明实例三的公私有状态标签操作接口操作的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
根据本发明实施例,提供了一种公私有状态标签的操作方法,用以实现对公私有状态标签进行访问和操作。
图1是根据本发明实施例的公私有状态标签的操作方法的流程图,如图1所示,该方法可以包括步骤S102至步骤S106。
步骤S102,接收对公私有状态标签进行操作的操作消息。
步骤S104,将上述公私有状态标签的状态临时转换成公有状态。
步骤S106,依据上述操作消息对临时转换成公有状态的上述公私有状态标签进行操作。
通过本发明实施例,接收对公私有状态标签进行操作的操作消息,将公私有状态标签的状态临时转换成公有状态,并依据上述操作消息对临时转换成公有状态的公私有状态标签进行操作,实现了对公私有状态标签的访问和操作。
相关技术中,公私有状态标签存在公有状态和私有状态,在公私有状态标签处于公有状态时,阅读器可以对公私有状态标签进行访问;在公私有状态标签处于私有状态时,公私有状态标签的某些区域处于保护状态,阅读器不能对公私有状态标签进行访问或操作。
在本发明实施例中,可以在对公私有状态标签进行操作之前,将公私有状态标签的状态临时转换成公有状态。在本发明实施例的一个优选实施方式中,将公私有状态标签的状态临时转换成公有状态时,可以确定公私有状态标签的当前状态为私有状态,将当前状态为私有状态的公私有状态标签的状态临时转换成公有状态。例如,可以查询公私有状态标签当前的状态,如果处于公有状态,则可以直接对公私有状态标签进行操作;如果处于私有状态,则将当前处于私有状态的公私有状态标签临时转化成公有状态。
在本发明实施例的一个优选实施方式中,依据上述操作消息对临时转换成公有状态的公私有状态标签进行操作时,可以向阅读器发送操作消息,其中,阅读器用于依据操作消息对临时转换成公有状态的公私有状态标签进行操作,并在阅读器对公私有状态标签操作完成后,接收阅读器返回的操作结果,向上层应用发送操作结果。
进一步的,依据操作消息对临时转换成公有状态的公私有状态标签进行操作之后,还可以将临时转换成公有状态的公私有状态标签的状态还原为转换前的状态。
在本发明实施例中,对公私有状态标签的操作可以包括清点、读、写、锁定、标签模式查询,以及标签模式转换等。例如,可以向阅读器发送读操作指令,阅读器对公私有状态标签进行读操作,并将读取到的数据返回给上层应用。或者,向阅读器发送标签模式查询指令,阅读器获取公私有状态标签当前的模式,并将当前的模式信息返回给上层应用。或者,可以向阅读器发送标签模式转换指令,由阅读器转换公私有状态标签的状态,将公私有状态标签转换成私有状态或公有状态,状态的转换可以是临时的,也可以是没有时间限制的。
根据本发明实施例,还提供了一种公私有状态标签的操作装置,用以实现本发明实施例的上述方法。
图2是根据本发明实施例的公私有状态标签的操作装置的结构框图,如图2所示,该装置主要包括:接收模块10、转换模块20和处理模块30。其中,接收模块10,用于接收对公私有状态标签进行操作的操作消息;转换模块20,与接收模块10相耦合,用于将公私有状态标签的状态临时转换成公有状态;处理模块30,与转换模块20相耦合,用于依据操作消息对临时转换成公有状态的公私有状态标签进行操作。
通过本发明实施例,接收模块10接收对公私有状态标签进行操作的操作消息,转换模块20将公私有状态标签的状态临时转换成公有状态,并由处理模块30依据上述操作消息对临时转换成公有状态的公私有状态标签进行操作,实现了对公私有状态标签的访问和操作。
图3是根据本发明实施例优选的转换模块的结构框图,如图3所示,转换模块20可以包括:确定单元202,用于确定公私有状态标签的当前状态为私有状态;转换单元204,与确定单元202相耦合,用于将当前状态为私有状态的公私有状态标签的状态临时转换成公有状态。
图4是根据本发明实施例的优选的处理模块的结构框图,如图4所示,处理模块30可以包括:第一发送单元302,用于向阅读器发送操作消息,其中,阅读器用于依据操作消息对临时转换成公有状态的公私有状态标签进行操作;接收单元304,与第一发送单元302相耦合,用于接收阅读器返回的操作结果;第二发送单元306,与接收单元304相耦合,用于向上层应用发送操作结果。
图5是根据本发明实施例优选的公私有状态标签的操作装置的结构框图,如图5所示,该装置还可以包括:恢复模块40,与处理模块30相耦合,用于在依据操作消息对临时转换成公有状态的公私有状态标签进行操作之后,将临时转换成公有状态的公私有状态标签的状态还原为转换前的状态。
根据本发明实施例,还提供了一种公阅读器接口驱动,位于射频识别系统中上层应用与阅读器之间,作为上层应用与阅读器之间的接口驱动,用以实现对公私有状态标签的访问和操作。
图6是根据本发明实施例的阅读器接口驱动的结构框图,如图6所示,该阅读器接口驱动主要包括:公私有状态标签操作接口模块600,用于接收对公私有状态标签进行操作的操作消息,将公私有状态标签的状态临时转换成公有状态,向阅读器发送操作消息,以及接收阅读器返回的操作结果。
通过本发明实施例,公私有状态标签操作接口模块接收对公私有状态标签进行操作的操作消息,将公私有状态标签的状态临时转换成公有状态,向阅读器发送操作消息,以及接收阅读器返回的操作结果,提供了上层应用与阅读器的接口,实现了阅读器对公私有状态标签的访问和操作。
图7是根据本发明实施例优选的阅读器接口驱动的结构框图一,如图7所示,该阅读器接口驱动还可以包括:ISO18000-6C协议接口模块602,用于接收对ISO18000-6C协议类型标签进行操作的操作消息,实现对ISO18000-6C协议类型标签进行操作;和/或ISO18000-6B协议接口模块604,用于接收对ISO18000-6B协议类型标签进行操作的操作消息,实现对ISO18000-6B协议类型标签进行操作。通过本优选实施方式,阅读器接口驱动可以支持多种标签协议,实现对多种电子标签的访问和操作,在上层应用需要对多中类型的电子标签进行访问或操作时,只需调用相应的接口,降低了开发成本,提高了开发效率和灵活度。
图8是根据本发明实施例优选的阅读器接口驱动的结构框图二,如图8所示,该阅读器接口驱动还可以包括:通信模块606,用于建立阅读器接口驱动与阅读器的链接,向阅读器发送操作消息,以及向公私有状态标签操作接口模块返回阅读器的处理结果。
图9是根据本发明实施例优选的阅读器接口驱动的结构框图三,如图9所示,该阅读器还可以包括:阅读器管理接口模块608,用于设置阅读器接口驱动与阅读器的通信模式,以及维护阅读器接口驱动与阅读器的链接状态,其中,通信模式内包括串口模式和网口模式。
在本发明实施例中,阅读器管理接口模块608,可以用于管理阅读器的链接状态,包括阅读器打开、阅读器关闭、链路监听和链路检测等。上层应用与阅读器进行交互时,阅读器用于接收打开或关闭通信模块606,从而与阅读器建立链接或者断开链接。
阅读器接口驱动的通信模式包括串口模式或网口模式,阅读器与阅读器接口驱动在串口模式下实现通信时,上层应用调用阅读器管理接口模块608,并将阅读器接口驱动中相应的参数对象设置为串口参数,打开通信模块606的串口与阅读器建立链接,链接完成后阅读器管理接口模块608关闭与阅读器的链接。
网口模式包括阅读器服务端模式和阅读器客户端模式。在阅读器服务端模式下,阅读器启动后,上层应用调用阅读器接口驱动中的阅读器管理接口608,并将阅读器接口驱动中相应的参数对象设置为需要链接的阅读器的IP信息,打开通信模块606的网口与该阅读器实现链接,链接完成后,上层应用可调用阅读器管理接口608断开链接。在阅读器客户端模式下,上层应用调用阅读器管理接口608,监听阅读器并等待阅读器建链,建链完成后,可停止链路监听断开与阅读器的链接。
阅读器管理接口608可以用于在链接过程中实时或者定期检测阅读器的链接状态,从而判断当前与上层应用链接的阅读器数量,以及各个阅读器是否与上层应用正常链接等,如果某个阅读器已经断开链接则可上报上层应用。优选地,可以采用心跳的检测方式,在链接过程中链路检测模块定期回复阅读器的心跳信息,例如,心跳间隔时间默认为5s,如果10秒内无法收到心跳信息则认为阅读器断开链接,还可定期向阅读器发送心跳信息并等待回应。
在本发明实施例的一个优选实施方式中,该阅读器接口驱动还可以包括:消息处理模块,该消息处理模块包括:编码模块和解码模块。其中,编码模块,用于将来自各个接口的消息转换成比特(bit)流的格式传输至通信模块;解码模块,用于将来自通信模块的操作消息转换成Message格式,并相应传输至各个接口。
进一步的,消息处理模块还可以包括:缓存区,用于存储来自通信模块的消息,并将存储的消息提供给解码模块。消息处理模块还可以包括:队列处理模块,用于将解码模块完整解码的消息添加至消息队列后,提供给对应的接口。消息处理模块还可以包括:消息查找模块,用于从消息队列中查找特定的消息后,提供给对应的接口。
在本发明实施例中,公私有状态标签操作接口模块600相当于本发明上述实施例提供的公私有状态标签的操作装置,实现对公私有状态标签的访问和操作。由于将上述装置作为一个接口模块,可以将多种协议封装成不同的接口模块,上层应用只需要调用相应的接口模块就可以实现对不同电子标签的访问和操作,提高了阅读器接口驱动的应用范围
根据本发明实施例,还提供可一种RFID系统。
图10是根据本发明实施例的射频识别系统的示意图,如图10所示,该射频识别系统可以包括:本发明实施例提供的阅读器接口驱动,以及用于依据阅读器接口驱动发送的操作消息对公私有状态标签进行操作的阅读器。
下面通过具体实例对本发明实施例的上述方法、装置进行详细描述。
实例一
根据本发明实例,提供一种支持公私有状态标签业务操作的阅读器驱动装置,包括阅读器管理接口、ISO18000-6C协议接口、ISO18000-6B协议接口、公私有状态标签操作接口、消息处理模块和通信模块。其中,
ISO18000-6C协议接口,用于对ISO18000-6C协议类型标签进行处理,包括清点、读、写、锁定、杀死业务接口。ISO18000-6B协议接口,用于对ISO18000-6B协议类型标签进行处理,包括清点、读、写、锁定、锁查询业务接口;
公私有状态标签业务操作接口,用于对公私有状态标签的业务操作,包括公私有状态标签清点接口、公私有状态标签读接口、公私有状态标签写接口、公私有状态标签锁定接口、公私有状态标签杀死接口、标签模式查询接口、标签模式转换接口。
在本实例中,标签模式转换接口,可以用于对公私有状态标签所处状态进行转换,例如,永久公有转私有、永久私有转公有、临时私有转公有、临时公有转私有。标签模式查询接口,用于对公私有状态标签所处状态进行查询,可以获取到公私有状态标签当前处于私有状态,或处于公有状态。公私有状态标签读接口,用于对公私有状态标签的读取操作,公私有状态标签处于公有状态或处于私有状态时均可进行读取操作。同样,公私有状态标签写接口、公私有状态标签锁定接口也可对处于公有状态或私有状态的公私有状态标签进行操作。
消息处理模块包括:编码模块和解码模块。其中,编码模块,用于将来自上述接口的消息转换成比特(bit)流的格式传输至通信单元;解码模块,用于将来自通信单元的操作消息转换成Message格式,并相应传输至各个接口。
进一步的,消息处理模块还可以包括:缓存区,用于存储来自通信单元的消息,并将存储的消息提供给解码模块。优选地,消息处理模块还可以包括:队列处理模块,用于将解码模块完整解码的消息添加至消息队列后,提供给对应的接口。消息处理模块还可以包括:消息查找模块,用于从消息队列中查找特定的消息后,提供给对应的接口。
阅读器管理接口,主要用于控制阅读器开关,及对阅读器进行链路管理和配置管理。阅读器管理接口可以包括:阅读器打开模块和阅读器关闭模块。其中,阅读器打开模块用于通过设置相应的参数对象,打开通信单元与阅读器建立链接,阅读器关闭模块用于关闭通信模块与阅读器的链接。
进一步的,阅读器管理接口还可以包括:链路监听模块,用于在阅读器客户端模式下监听阅读器。阅读器管理接口还可以包括:链路检测模块,用于检测阅读器的链接状态。
通信模块,用于实现接口与阅读器之间的信息交互。各个业务操作接口和阅读器管理接口通过RID的通信模块与阅读器之间进行信息交互。
进一步地,进行RID与阅读器通信之前,还包括RID通过以下任一方式与阅读器建立链接的步骤:1)串口模式,在串口模式下,上层应用调用阅读器管理接口,并将阅读器打开模块中相应的参数对象设置为串口参数;2)阅读器服务端模式,在阅读器服务端模式下,上层应用调用阅读器管理接口,并将阅读器打开模块中相应的参数对象设置为需要链接的阅读器的IP信息;3)阅读器客户端模式,在阅读器客户端模式下,上层应用调用阅读器管理接口,并通过链路监听模块监听阅读器,等待阅读器建链。
优选地,在下行方向,RID将来自上层应用的各种操作命令的消息格式转换成bit流的格式,并将等到的bit流传输给阅读器;在上行方向,RID将来自阅读器的各种操作消息转换成Message格式,并提供给上层应用。
通过本实例,提供了一种支持识别多种协议类型标签的阅读器驱动,使得用户不必局限于只能对一种协议类型标签进行操作,或者是对不同协议类型标签进行操作时,需要用到多套接口,用户只需通过本发明提供的多协议应用接口即可对不同协议类型标签进行操作。与现有技术相比,显著降低了开发成本,提高了开发效率和灵活度。
实例二
在本实例中,阅读器接口驱动还能够控制阅读器的链接状态,通过多种通信模式与阅读器进行数据交互,可广泛应用于多种工作场景。
图11是根据本发明实例二的支持公私有状态标签业务操作的驱动装置的结构框图,如图11所示,该驱动装置包括:上层应用、阅读器和阅读器驱动装置。
其中,上层应用能够调用阅读器驱动装置中的不同接口,从而实现阅读器链接控制,配置及业务操作控制。例如,阅读器链接控制包括打开阅读器、关闭阅读器、链路检测、阅读器服务端模式下的链路监听等;配置操作控制包括查询基础配置、更新基础配置、获取能力;业务操作控制包括ISO18000-6C协议的对电子标签的清点、读、写、锁定、杀死,ISO18000-6B协议的对电子标签的清点、读、写、锁定、锁查询,对公私有状态标签的清点、读、写、锁定、杀死、模式转换、模式查询等,可用于实现对阅读器的二次开发。
阅读器通过原语接口和RID进行信息交互。
RID包括阅读器管理接口、配置接口、ISO18000-6C协议接口、ISO18000-6B协议接口、Impinj业务操作接口、消息处理模块和通信单元。阅读器管理接口、配置接口、ISO18000-6C协议接口、ISO18000-6B协议接口、公私有状态标签业务操作接口都根据上层应用的调用实现相应的操作控制;通信单元用于实现上述接口与阅读器之间的消息以及数据信息的交互。
其中,阅读器管理接口用于管理阅读器的链接状态,包括阅读器打开模块、阅读器关闭模块、链路监听模块和链路检测模块。上层应用与阅读器进行交互时,阅读器打开模块或阅读器关闭模块分别用于接收打开或关闭通信单元,从而与阅读器建立链接或者断开链接。
RID的通信模式包括串口模式或网口模式,阅读器与RID在串口模式下实现通信时,上层应用调用阅读器管理接口,并将阅读器打开模块中相应的参数对象设置为串口参数,RID即可打开通信单元的串口与阅读器建立链接,链接完成后调用阅读器关闭模块断开与阅读器的链接。
网口模式包括阅读器服务端模式和阅读器客户端模式。在阅读器服务端模式下,阅读器启动后,上层应用调用RID中的阅读器管理接口,并将阅读器打开模块中相应的参数对象设置为需要链接的阅读器的IP信息,RID打开通信单元的网口与该阅读器实现链接,链接完成后,上层应用可调用阅读器关闭模块断开链接。在阅读器客户端模式下,上层应用调用阅读器管理接口,利用链路监听模块监听阅读器并等待阅读器建链,建链完成后,可停止链路监听断开与阅读器的链接。
链路检测模块用于在链接过程中实时或者定期检测阅读器的链接状态,从而判断当前与上层应用链接的阅读器数量,以及各个阅读器是否与上层应用正常链接等,如果某个阅读器已经断开链接则可上报上层应用。优选地,可以采用心跳的检测方式,在链接过程中链路检测模块定期回复阅读器的心跳信息,例如心跳间隔时间默认为5s,如果10秒内无法收到心跳信息则认为阅读器断开链接,还可由链路检测模块定期向阅读器发送心跳信息并等待回应。
ISO 18000-6C/ISO 18000-6B操作接口主要实现阅读器对ISO 18000-6C/ISO18000-6B协议类型标签进行业务操作,包括清点标签、读标签、写标签、锁定标签、杀死标签等业务操作。例如ISO18000-6C清点标签操作,RID的ISO18000-6C清点接口接收上层应用的调用后,需要与阅读器之间进行消息交互后实现一项基本业务,ISO18000-6C清点接口对收到的阅读器返回消息进行封装后,提供给上层应用。
公私有状态标签业务操作接口主要是对公有或私有标签进行业务操作,例如,公私有状态标签读操作,RID的公私有状态标签读操作接口接收到上层应用的调用后,下发一个转换操作,临时转换标签到私有模式,再下发一个读操作命令给阅读器,接收阅读器返回的操作结果,处理消息结果返回给上层应用,完成公私有状态标签读操作。
消息处理模块用于对上述各个接口下发的消息进行相应的编解码,包括编码模块、解码模块、缓存区、队列处理模块、消息查找模块等。在下行方向,编码模块用于将来自配置、业务等接口的操作消息转换成bit流的格式传输至通信单元。在上行方向,解码模块用于将来自通信单元的bit流转换成Message格式的消息,并相应地转发至配置、业务等接口。
在上行方向,缓存区用于存储来自通信单元的bit流格式的消息,并按照相应的接收状态进行接收处理后传输至所述解码模块。缓存区内消息的接收状态包括READY、FRAMEERROR、NEED MORE等三种状态,分别代表接收到完整的一帧消息、接收错误、需继续接收。
队列处理模块用于将解码流程完整解码的操作消息添加至消息队列,并按照消息队列的顺序提供给配置、业务等接口。消息查找模块用于从消息队列中查找特定的消息,并将其提供给对应的配置、业务等接口。
实例三
在本实例中,上层应用与阅读器之间通过以上实例提供的RID实现操作消息的交互。具体地,阅读器与RID实现链接后,在下行方向,上层应用调用RID的相应接口,将操作消息转换成bit流的格式,并将bit流传输给阅读器;在上行方向,RID将来自阅读器的bit流格式的操作消息转换成Message格式,并通过相应的接口提供给上层应用。
图12是根据本发明实例三的射频识别系统通信的流程图,如图12所示,该流程主要包括步骤S1202至步骤S1210。
步骤S1202,上层应用调用RID的阅读器管理接口与阅读器建立链接。链接过程中,通信单元的通信模式可以设置为串口模式或网口模式,网口模式包括阅读器服务端模式或阅读器客户端模式。
在上述步骤S1202中,可以通过多种通信模式与阅读器进行数据交互,下面结合图13和图14对阅读器接口驱动与阅读器的通信模式进行描述。
图13是根据本发明实例三的阅读器作为客户端时建链的流程图,如图13所示,RID工作在阅读器客户端模式时,阅读器作为客户端的链接流程包括步骤S1301至步骤S1307:
步骤S1301:RID启动链路监听模块监听阅读器,链路监听模块首先调用Windows网络编程接口WSAStart初始化Winsock,从而创建一个socket函数;
步骤S1302:调用socket函数创建一个监听;
步骤S1303:绑定监听为socket函数指定的通信对象;
步骤S1304:调用listen等待链接;
步骤S1305:调用accept接受链接,并生成会话socket;
步骤S1306:调用send()和recv()与阅读器进行会话;
步骤S1307:链接完成后,调用closesocket函数关闭socket,停止阅读器监听。
图14是根据本发明实例三的阅读器作为服务端时建链的流程图,如图14所示,RID工作在阅读器服务端模式时,阅读器作为服务端的链接流程包括步骤S1401至步骤S1404:
步骤S1401:RID启动阅读器打开模块,阅读器打开模块首先调用Windows网络编程接口WSAStart初始化Winsock,从而创建一个socket函数;
步骤S1402:调用socket函数创建一个会话;
步骤S1403:会话创建成功后调用connect,相应的参数对象设置为需要链接的阅读器的IP信息;
步骤S1403:调用send()和recv(),通过通信单元与阅读器进行会话;
步骤S1404:链接完成后,阅读器关闭模块调用closesocket函数关闭socket,停止阅读器监听。
链接成功后,上层应用还可调用RID的配置操作接口查询及更新阅读器的基本配置,包括天线功率、天线在位检测、天线状态查询、前反向速率、编码类型、调制方式、通信类型参数、协议类型、设备编码、定频跳频等常用参数。协议类型、天线功率等配置完成后,即可与阅读器实现业务基本操作消息的交互。
步骤S1204,RID通过业务操作接口发送业务操作消息给阅读器,可以针对不同类型标签调用不同接口,例如,操作公私有状态标签可调用公私有状态标签业务操作接口完成对其进行业务操作。
下面结合图15对步骤S1204中公私有状态标签操作接口的操作方法进行描述。
图15是根据本发明实例三的公私有状态标签操作接口操作的流程图,如图15所示,该流程包括步骤S1501至步骤S1508:
步骤S1501,进入公私有状态标签读接口,传入阅读器唯一标识,读参数等;
步骤S1502,根据阅读器唯一标识判断RID中是否存在此阅读器,如果是,可以进行后续读操作,如果否,直接返回,结束读操作;
步骤S1503,清空消息容器内容,准备接收读操作返回消息;
步骤S1504,删除阅读器所有访问操作(Access Operation,简称为为AO),如果阅读器中有AO,会存在干扰;
步骤S1505,添加阅读器中阅读器操作(Reader Operation,简称为RO)规则;
步骤S1506,添加阅读器中AO,同时下发临时公有转私有操作(Operation,简称为OP)和读OP;
步骤S1507,添加AO成功后,启动RO;
步骤S1508,启动RO后,开始接收阅读器返回结果。在没有事件通知时,将接收到RO报告,提取读结果后,删除所有AO,完成公私有状态标签读操作;在有事件通知时,先接收到StartRoEvent事件,通知即将上报RO报告,之后接收RO报告,解析读结果,再进行接收EndRoEvent事件,删除所有AO,完成公私有状态标签读操作。
公私有状态标签写、锁定流程和读流程类似,只是添加的OP是写OP及锁定OP。公私有状态标签清点操作流程和杀死操作流程和ISO18000-6C流程一样。
步骤S1206,RID操作消息通过通信单元把操作消息转换成bit流下发给阅读器,阅读器执行RID下发的操作命令,返回操作结果。
步骤S1208,RID通过消息处理模块接收阅读器返回的结果。
步骤S1210,RID对返回结果进行消息处理,返回给上层应用从而确定操作是否成功,结束一个操作流程。
通过本实例提供的支持公私有状态标签业务操作的阅读器驱动方法,使得用户可对公私有状态标签进行操作,对阅读器的操作支持标签范围更广,提高阅读器的通用性及灵活性。与现有技术相比,阅读器支持范围广泛,同时应用开发灵活,更进一步的会降低开发成本。
从以上的描述中,可以看出,本发明实现了如下技术效果:提供了一种支持识别多种协议类型标签的阅读器驱动,使得用户不必局限于只能对一种协议类型标签进行操作,或者是对不同协议类型标签进行操作时,需要用到多套接口,用户只需通过本发明提供的多协议应用接口即可对不同协议类型标签进行操作。与现有技术相比,显著降低了开发成本,提高了开发效率和灵活度。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。