CN102289636B - 基于llrp协议的阅读器驱动装置、系统及方法 - Google Patents
基于llrp协议的阅读器驱动装置、系统及方法 Download PDFInfo
- Publication number
- CN102289636B CN102289636B CN201010204581.2A CN201010204581A CN102289636B CN 102289636 B CN102289636 B CN 102289636B CN 201010204581 A CN201010204581 A CN 201010204581A CN 102289636 B CN102289636 B CN 102289636B
- Authority
- CN
- China
- Prior art keywords
- message
- reader
- llrp
- module
- interface
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/0008—General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10009—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
- G06K7/10297—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for handling protocols designed for non-contact record carriers such as RFIDs NFCs, e.g. ISO/IEC 14443 and 18092
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种基于LLRP协议的阅读器驱动装置、系统及方法,装置包括基础接口、扩展接口和通信接口;基础接口用于与上层应用之间进行LLRP基本操作消息的交互;扩展接口用于与上层应用之间进行LLRP扩展操作消息的交互;通信接口用于实现所述基础接口或扩展接口与阅读器之间的信息交互。本发明便于用于对阅读器基于LLRP协议进行二次开发,显著降低了开发成本,提高了开发效率和灵活度。
Description
技术领域
本发明涉及RFID(Radio Frequency Identification:射频识别)领域,尤其涉及一种基于LLRP(Low-level reader protocol:低层读写器标准)协议的阅读器驱动装置、系统及方法。
背景技术
RFID系统通常包括阅读器(Reader)、电子标签(TAG)和上层应用。
阅读器即射频标签读写设备,是RFID系统的信息控制和处理中心,用于通过空间信道向电子标签发送读写命令;电子标签接收读写命令后做出必要的响应,阅读器还从上层应用获取写入电子标签的数据,或者向上层应用上报从电子标签读取的数据。一般情况下,阅读器与上层应用之间通过特定的命令格式或约定的协议进行数据交互,该交互功能通过阅读器需与上层应用之间的API(Application Program Interface:应用程序编程接口)实现。大多数阅读器与上层应用之间的API接口采用RID(Reader Interface Driver:阅读器接口驱动或阅读器驱动装置)实现对阅读器的链接控制以及读、写等基本操作,RID将相应的信息封装成DLL(Dynamic Link Library:动态链接库)的格式提供给上层应用以便进行开发。由于阅读器与上层应用之间的通信协议没有完全统一,不同的阅读器设备商一般都定义了自己的API,因此不同设备商提供的阅读器需要使用特定的RID实现接口驱动。这些接口驱动虽然都提供了设备访问功能,但可能具有互不相容的控制模块、命令参数甚至是支持不同的空口协议,因此无法通用。而且当驱动程序更新时,上层应用也随之升级,如果系统采用了不同设备商的产品,显然会增加维护成本。
LLRP协议的推出为阅读器集成提供了一个共用的接口,它提供了对空口操作和空口协议命令参数的控制能力,增强了更底层阅读器操作的访问能力,解决了阅读器与上层应用之间的通信协议不能完全统一的问题。LLRP协议除了目前对EPC(电子产品代码)协议的支持外,还具备一定的扩展能力,能够支持其它可能出现的空口协议。然而,用户基于LLRP协议对阅读器进行应用开发的前提是深入了解LLRP协议以及EPC协议等,开发的复杂性较高,这对于只需要对阅读器进行简单二次开发的用户带来困难。
发明内容
本发明要解决的主要技术问题是,提供一种易于实现阅读器二次开发的基于LLRP协议的阅读器驱动装置、系统及方法。
为解决上述技术问题,本发明提供一种基于低层读写器标准LLRP协议的阅读器驱动装置,包括基础接口、扩展接口和通信单元;
基础接口用于与上层应用之间进行LLRP基本操作消息的交互;
扩展接口用于与上层应用之间进行LLRP扩展操作消息的交互;
通信单元用于实现所述基础接口或扩展接口与阅读器之间的信息交互。
进一步地,还包括消息处理单元,所述消息处理单元包括编码模块和解码模块;
编码模块用于将来自所述基础接口的LLRP基本操作消息、或来自所述扩展接口的LLRP扩展操作消息转换成bit流的格式传输至所述通信单元;
解码模块用于将来自所述通信单元的LLRP基本操作消息或LLRP扩展操作消息转换成Message格式,并相应传输至所述基础接口或扩展接口。
优选地,所述消息处理单元还包括缓存区,用于存储来自所述通信单元的LLRP基本操作消息或LLRP扩展操作消息,并提供给所述解码模块。
优选地,所述消息处理单元还包括队列处理模块,用于将所述解码模块完整解码的LLRP基本操作消息或LLRP扩展操作消息添加至消息队列后,提供给对应的基础接口或扩展接口。
所述消息处理单元还包括消息查找模块,用于从所述消息队列中查找特定的LLRP基本操作消息或LLRP扩展操作消息后,提供给对应的基础接口或扩展接口。
进一步地,所述扩展接口包括消息读取模块、解析模块和扩展操作模块;
所述消息读取模块用于从上层应用读取XML格式的LLRP扩展操作消息,并发送给所述解析模块,还用于将解析模块转发的XML格式的LLRP扩展操作消息提供给上层应用;
解析模块用于将所述XML格式的LLRP扩展操作消息转换成Message格式,并转发给相应的扩展操作模块,还用于将所述Message格式的LLRP扩展操作消息解析成XML格式,并转发给所述消息读取模块;
扩展操作模块用于将所述Message格式的LLRP扩展操作消息转发至通信单元,还用于接收来自所述通信单元的Message格式的LLRP扩展操作消息,并转发给所述解析模块。
所述扩展操作模块包括RO规则模块、AO规则模块、配置模块、报告模块中至少一种;
RO规则模块用于将来自解析模块的Message格式的RO规则消息转发至通讯单元,还用于将来自所述通讯单元的Message格式的RO规则消息转发给所述解析模块;
AO规则模块用于将来自解析模块的Message格式的AO规则消息转发至通讯单元,还用于将来自所述通讯单元的Message格式的AO规则消息转发给所述解析模块;
配置模块用于将来自解析模块的Message格式的规则配置消息转发至通讯单元,还用于将来自所述通讯单元的Message格式的规则配置消息转发给所述解析模块;
报告模块用于将来自解析模块的Message格式的报告规则消息转发至通讯单元,还用于将来自所述通讯单元的Message格式的报告规则消息转发给所述解析模块。
进一步地,还包括阅读器管理接口,所述阅读器管理接口包括阅读器打开模块和阅读器关闭模块;
阅读器打开模块用于通过设置相应的参数对象,打开所述通信单元与阅读器建立链接,阅读器关闭模块用于关闭所述通讯单元与阅读器断开链接。
以及,所述阅读器管理接口还包括链路监听模块,用于在阅读器客户端模式下监听所述阅读器。
所述阅读器管理接口还包括链路检测模块,用于检测所述阅读器的链接状态。
本发明还保护了一种基于LLRP协议的阅读器控制系统,包括阅读器、上层应用,还包括基于LLRP协议的阅读器驱动装置,所述阅读器驱动装置包括基础接口、扩展接口和通信单元;
基础接口用于与上层应用之间进行LLRP基本操作消息的交互;
扩展接口用于与上层应用之间进行LLRP扩展操作消息的交互;
通信单元用于实现所述基础接口或扩展接口与阅读器之间的信息交互。
本发明还保护了一种基于LLRP协议的阅读器驱动方法,上层应用分别与阅读器驱动装置的基础接口和扩展接口之间进行LLRP基本操作消息和LLRP扩展操作消息的交互;
所述基础接口或扩展接口通过所述阅读器驱动装置的通讯单元与阅读器之间进行信息交互。
进一步地,进行所述LLRP基本操作消息和LLRP扩展操作消息的交互之前,还包括阅读器驱动装置通过以下任一方式与阅读器建立链接的步骤:
串口模式下,上层应用调用阅读器管理接口,并将阅读器打开模块中相应的参数对象设置为串口参数;
阅读器服务端模式下,上层应用调用阅读器管理接口,并将阅读器打开模块中相应的参数对象设置为需要链接的阅读器的IP信息;
阅读器客户端模式下,上层应用调用阅读器管理接口,并通过链路监听模块监听阅读器,等待阅读器建链。
进一步地,所述交互的具体方式为:
在下行方向,阅读器驱动装置将来自所述上层应用的LLRP基本操作消息或LLRP扩展操作消息转换成bit流的格式,并将所述bit流传输给阅读器;
在上行方向,阅读器驱动装置将来自所述阅读器的LLRP基本操作消息或LLRP扩展操作消息转换成Message格式,并提供给上层应用。
本发明的有益效果是:本发明提供的基于LLRP协议的RID和驱动方法使得用户不必深入了解复杂的LLRP协议,只需调用相应的接口,即可通过简单的信息交互实现阅读器的扩展业务和基本操作业务,便于对阅读器进行二次开发,与现有技术相比,显著降低了开发成本,提高了开发效率和灵活度。
本发明还能够控制阅读器的链接状态,通过多种通讯模式与阅读器进行数据交互,可广泛应用于多种工作场景。
附图说明
图1为本发明一种实施例基于LLRP协议的阅读器控制系统示意图;
图2为本发明一种实施例基于LLRP协议的通讯流程图;
图3为阅读器作为客户端的链接流程图;
图4为阅读器作为服务端的链接流程图;
图5为本发明实现上行消息的队列处理的流程图;
图6为本发明查找特定消息的工作流程图;
图7为本发明的解码流程图;
图8为解码流程中获取完整一帧消息的流程图;
图9为本发明的编码流程图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
本发明提供了阅读器与上层应用之间进行通过LLRP协议实现数据交互的驱动装置和方法,能够支持阅读器与上层应用之间LLRP基本操作消息和LLRP扩展操作消息的传输。
实施例一:
请参考图1,本发明基于LLRP协议的阅读器控制系统包括上层应用10、阅读器20和阅读器驱动装置(简称RID)30。
其中,上层应用10能够调用阅读器驱动装置30中的不同接口,从而实现阅读器链接控制,基本操作控制以及扩展操作控制。例如阅读器链接控制包括打开阅读器、关闭阅读器、链路检测、阅读器服务端模式下的链路监听等;基本操作控制包括控制阅读器对于电子标签的读、写、清点、锁定、杀死、查询基础配置、更新基础配置、获取能力等基本业务;扩展操作控制包括控制阅读器的RO(READER OPERATION:阅读器操作)规则、AO(ACESS OPERATION:访问操作)规则、配置规则、报告规则、规则管理等,可用于实现阅读器20的二次开发。
阅读器20包括支持LLRP协议的LLRP原语接口21,用于和RID 30进行信息交互。
RID 30包括阅读器管理接口31、基础接口32、扩展接口33、消息处理单元34和通信单元35。阅读器管理接口31、基础接口32、扩展接口33都根据上层应用10的调用实现相应的操作控制;通讯单元35用于实现基础接口32或扩展接口33与阅读器20之间的LLRP基本操作消息或LLRP扩展操作消息以及其他数据信息的交互。
其中,阅读器管理接口31用于管理阅读器20的链接状态,包括阅读器打开模块311、阅读器关闭模块312、链路监听模块313和链路检测模块314。上层应用10与阅读器20进行交互时,阅读器打开模块311或阅读器关闭模块312分别用于接收打开或关闭通信单元35,从而与阅读器20建立链接或者断开链接。
RID 30的通讯模式包括串口模式或网口模式,阅读器20与RID 30在串口模式下实现通信时,上层应用10调用阅读器管理接口31,并将阅读器打开模块31中相应的参数对象设置为串口参数,RID 30即可打开通信单元35的串口与阅读器20建立链接,链接完成后调用阅读器关闭模块312断开与阅读器20的链接。
网口模式包括阅读器服务端模式和阅读器客户端模式。在阅读器服务端模式下,阅读器20启动后,上层应用10调用RID 30中的阅读器管理接口31,并将阅读器打开模块311中相应的参数对象设置为需要链接的阅读器20的IP信息,RID 30即可打开通信单元35的网口与该阅读器20实现链接,链接完成后,上层应用10可调用阅读器关闭模块312断开链接。在阅读器客户端模式下,上层应用10调用阅读器管理接口31,利用链路监听模块31监听阅读器20并等待阅读器20建链,建链完成后,可停止链路监听断开与阅读器20的链接。
链路检测模块314用于在链接过程中实时或者定期检测阅读器20的链接状态,从而判断当前与上层应用10链接的阅读器20数量,以及各个阅读器20是否与上层应用10正常链接等,如果某个阅读器20已经断开链接则可上报上层应用10。优选采用心跳的检测方式,即链接过程中链路检测模块314定期回复阅读器20的心跳信息,例如心跳间隔时间默认为5s,如果10秒内无法收到心跳信息则认为阅读器20断开链接,还可由链路检测模块314定期向阅读器20发送心跳信息并等待回应。
基础接口32用于与上层应用10之间进行LLRP基本操作消息的交互,从而控制阅读器20的基本业务。LLRP基本操作消息包括基于LLRP协议实现写标签、读标签、清点标签、锁定标签、杀死标签、查询基础配置、更新基础配置接口的各种消息,例如包括多条RO规则消息、AO规则消息等。接收上层应用10的调用后,接触接口32通常需要与阅读器20之间进行几次消息交互才能实现一项基本业务,基础接口32对各项消息中的参数进行封装后,提供给上层应用10。目前超高频标签主要有两种:ISO18000-6B协议标签和EPC C1G2(ISO18000-6C)协议标签,ISO18000-6B协议是ISO/IEC组织推出的超高频标签和阅读器之间的通信协议,与EPC C1G2协议在物理层数据编码、调制方式、防碰撞算法等一些关键技术上有所不同;根据标签类型的不同,基础接口32可对两种标签独立地实现基本业务操作。
LLRP基本操作消息在下行方向主要以Message(消息)格式下发,经过编码后转换成bit(输出)流后,通过通信单元35与阅读器20进行交互;在上行方向,对bit流格式的LLRP基本操作消息进行解码后,转换成Message格式,并提取结果输出给上层应用10。
扩展接口33用于与上层应用10之间进行LLRP扩展操作消息的交互,从而控制阅读器20的扩展业务,LLRP扩展操作消息包括基于LLRP协议控制RO规则、AO规则、配置规则、报告规则等的各种消息,一般情况下仅包括一条RO规则消息、AO规则消息或其他规则消息等。接收上层应用10的调用后,扩展接口33通常只需与阅读器20之间进行一次信息交互即可实现一项扩展业务,通常用于独立地设置某一参数,例如用于某一RO规则的添加、删除、启动、停止、激活等,报告规则消息用于获取阅读器20返回的报告消息等。LLRP扩展操作消息在下行方向主要以XML(可扩展标记语言)文件格式下发,首先解析成Message格式,经过编码转换成bit流后,再通过通信单元35传输给阅读器20;在上行方向,对bit流格式的LLRP基本操作消息进行解码转换成Message格式后,再生成XML文件上报给上层应用10。
扩展接口33包括消息读取模块331、解析模块332和多个扩展操作模块333。
在下行方向,消息读取模块331用于从上层应用10读取XML格式的LLRP扩展操作消息,并发送给解析模块332;在上行方向,用于将解析模块332转发的XML格式的LLRP扩展操作消息提供给上层应用10。
在下行方向,解析模块332用于将XML格式的LLRP扩展操作消息转换成Message格式,并转发给相应的扩展操作模块333;在上行方向,用于将消息格式的LLRP扩展操作消息解析成XML格式,并转发给消息读取模块331。
在下行方向,扩展操作模块333用于将Message格式的LLRP扩展操作消息转发至通信单元35;在上行方向,还用于接收来自通信单元35的Message格式的LLRP扩展操作消息,并转发给解析模块332。
根据不同的扩展操作业务,扩展操作模块333包括RO规则模块、AO规则模块、配置模块、报告模块中至少一种或多种,分别控制RO规则、AO规则、配置规则、报告规则等。具体地,针对RO规则消息、AO规则消息、配置规则消息、报告规则消息等LLRP扩展操作消息,RO规则模块用于将来自解析模块332的Message格式的RO规则消息转发至通讯单元35,还用于将来自通讯单元35的Message格式的RO规则消息转发给解析模块332;AO规则模块用于将来自解析模块332的Message格式的AO规则消息转发至通讯单元35,还用于将来自通讯单元35的Message格式的AO规则消息转发给解析模块332;配置模块用于将来自解析模块332的Message格式的规则配置消息转发至通讯单元35,还用于将来自通讯单元35的Message格式的规则配置消息转发给解析模块332;报告模块用于将来自解析模块332的Message格式的报告规则消息转发至通讯单元35,还用于将来自通讯单元35的Message格式的报告规则消息转发给解析模块332。
消息处理单元34用于对LLRP基本操作消息或LLRP扩展操作消息进行相应的编解码,包括编码模块341、解码模块342、缓存区343、队列处理模块344、消息查找模块345等。
在下行方向,编码模块341用于将来自基础接口32的Message格式的LLRP基本操作消息、或来自扩展接口32的Message格式的LLRP扩展操作消息转换成bit流的格式传输至通信单元35。
在上行方向,解码模块342用于将来自通信单元35的bit流转换成Message格式的LLRP基本操作消息或LLRP扩展操作消息,并相应地转发至基础接口32或扩展接口33。基于LLRP协议的Message主要由参数(Parameter)和域(Field)构成,以下将结合图6至图8详细描述解码流程。
在上行方向,缓存区343用于存储来自通信单元35的bit流格式的LLRP基本操作消息或LLRP扩展操作消息,并按照相应的接收状态进行接收处理后传输至所述解码模块342。缓存区343内消息的接收状态包括READY、FRAME_ERROR、NEED_MORE等三种状态,分别代表接收到完整的一帧消息、接收错误、需继续接收。
队列处理模块344用于将解码流程342完整解码的LLRP基本操作消息或LLRP扩展操作消息添加至消息队列,并按照消息队列的顺序提供给基础接口32或扩展接口33。
消息查找模块345用于从消息队列中查找特定的LLRP基本操作消息或LLRP扩展操作消息,并将其提供给对应的基础接口32或扩展接口33,可根据消息类型或者ID号进行查找,查找完成后从消息队列中删除消息。例如RID 30发送一个AddROSpec(增加RO规则)消息给阅读器20,阅读器20接收后会返回AddROSpecResponse(增加RO规则回应)消息,这时RID 30需要到从消息队列中查找该AddROSpecResponse消息,若该AddROSpecResponse消息的ID号与AddROSpec的ID号一致,则判断找到AddROSpec的回应消息,提取该AddROSpecResponse消息给基础接口32或扩展接口33后,从消息队列中删除该消息。
本发明还保护了一种基于LLRP协议的阅读器驱动方法,上层应用10与阅读器20之间通过以上所述的RID 30实现LLRP基本操作消息和LLRP扩展操作消息的交互。具体地,阅读器20与RID 30实现链接后,在下行方向,上层应用10调用RID 30的相应接口,将LLRP基本操作消息或LLRP扩展操作消息转换成bit流的格式,并将bit流传输给阅读器20;在上行方向,RID 30将来自阅读器20的bit流格式的LLRP基本操作消息或LLRP扩展操作消息转换成Message格式,并通过相应的接口提供给上层应用10。
如图2所示,本发明一种实施例基于LLRP协议的通讯流程,RID 30用于控制阅读器20利用一种RO规则实现清点操作,包括以下步骤:
步骤S201:RID 30与阅读器20建立链接。链接过程中,通信单元35的通讯模式可以设置为串口模式或网口模式,网口模式包括阅读器服务端模式或阅读器客户端模式。链接成功后,上层应用10还可调用RID 30的基础接口32查询及更新阅读器20的基本配置,包括天线功率、天线在位检测、天线状态查询、前反向速率、编码类型、调制方式、通信类型参数、协议类型、设备编码、定频跳频等常用参数。协议类型、天线功率等配置完成后,即可与阅读器20实现LLRP基本操作消息或LLRP扩展操作消息的交互。
步骤S202:根据LLRP协议标准,RID 30通过基础接口32发送AddROSpec消息给阅读器20,指示添加RO规则。LLRP协议通常采用各种Spec命令来声明阅读器20的各种参数对象,每个Spec命令代表一种操作的规则或者说一种操作本身。
步骤S203:基础接口32接收阅读器20返回的AddROSpecResponse消息(即添加RO规则回应),从而确定AddROSpec操作成功。
步骤S204:基础接口32向阅读器20发送EnableROSpec消息,指示激活RO规则。
步骤S205:基础接口32接收阅读器20返回的EnableROSpecResponse(激活RO规则回应)消息,从而确定EnableROSpec操作成功。
步骤S206:基础接口32向阅读器20发送StartROSpec(开始执行RO规则)消息,指示阅读器20开始根据RO规则中的具体参数执行清点操作。
步骤S207:基础接口32接收阅读器20返回的清点操作结果,并提供清点操作结果给上层应用10。
步骤S208:基础接口32向阅读器20发送StopROSpec(停止执行RO规则)
消息,指示停止RO规则。
步骤S209:基础接口32向阅读器20发送DeleteROSpec(删除RO规则)消息,指示删除RO规则。
如图3所示,RID 30工作在阅读器客户端模式时,阅读器20作为客户端的链接流程包括以下步骤:
步骤S301:RID 30启动链路监听模块313监听阅读器20,链路监听模块313首先调用Windows网络编程接口WSAStart初始化Winsock,从而创建一个socket函数。
步骤S302:调用socket函数创建一个监听。
步骤S303:绑定监听为socket函数指定的通信对象。
步骤S304:调用listen等待链接。
步骤S305:调用accept接受链接,并生成会话socket。
步骤S306:调用send()和recv()与阅读器20进行会话。
步骤S307:链接完成后,调用closesocket函数关闭socket,停止阅读器20监听。
如图4所示,RID 30工作在阅读器服务端模式时,阅读器20作为服务端的链接流程包括以下步骤;
步骤S401:RID 30启动阅读器打开模块311,阅读器打开模块311首先调用
Windows网络编程接口WSAStart初始化Winsock,从而创建一个socket函数。
步骤S402:调用socket函数创建一个会话。
步骤S403:会话创建成功后调用connect,相应的参数对象设置为需要链接的阅读器20的IP信息。
步骤S403:调用send()和recv(),通过通信单元35与阅读器20进行会话。
步骤S404:链接完成后,阅读器关闭模块311调用closesocket函数关闭socket,停止阅读器20监听。
图5为本发明一种实现上行消息的队列处理的工作流程图;
步骤S501:流程开始。
步骤S502:通信单元35通过串口或网口接收来自阅读器20的bit流格式的LLRP基本操作消息或LLRP扩展操作消息。
步骤S503:将接收到的bit流储存在缓存区343。
步骤S504:判断消息状态,如果是消息状态是NEED MORE则进入步骤S502继续接收,如果是FRAME ERROR则进入步骤S508,如果是READY则进入步骤S505。
步骤S505:通过解码模块342解析bit流格式的LLRP基本操作消息或LLRP扩展操作消息,解码流程如图7所示。
步骤S506:判断是否得到完整消息?是则进入步骤S507,否则进入步骤S508。
步骤S507:通过队列处理模块344将解析后的完整的LLRP基本操作消息或LLRP扩展操作消息添加到消息队列中。
步骤S508:清空缓存区343,进入步骤S502继续接收消息。
图6为本发明一种查找特定消息的工作流程图:
步骤S601:流程开始。
步骤S602消息查找模块345开始独占消息队列,从消息队列中查找具有特定类型或ID号的消息。
步骤S603:如果找到对应的特定消息,则进入步骤S604,否则进入步骤S606。
步骤S604:提取对应特定消息并对应转发至基础接口32或扩展接口33,并从消息队列中删除该特定消息。
步骤S605:取消对消息队列的独占,并进入步骤S609。
步骤S606:判断是否遍历整个消息队列,是则进入步骤S607,否则回到步骤S602继续查找。
步骤S607:取消对消息队列的独占。
步骤S608:还可通过一定的定时机制控制该查找操作,如果预定时间到则进入步骤S609,否则进入步骤S602。
步骤S609:查找流程结束,对于不同的业务,例如清点业务,还可多次循环该流程。
图7为本发明的解码流程包括以下步骤:
步骤S701:开始解码。
步骤S702:本发明的解码过程用于将bit流转换为消息对象,解码模块342首先获得完整的一帧bit流格式的数据,具体获取过程如图8所示。
步骤S703:首先解析帧头得到三种参数MessageType,MessageLength,MessageID,分别指消息类型、消息长度和消息的ID号
步骤S704:根据MessageType创建一个Message对象。
步骤S705:解析Message对象所带的field部分,对相应的value设置参数的对象属性。
步骤S706:接着解析Message对象所带的Parameter部分,由于TLV类型参数的Pameter中的Fields可能是value或者子参数,首先判断参数类型是否为TLV类型,是则进入步骤S707,否则进入步骤S708。
步骤S707:遍历子参数,接着进入步骤S708。
步骤S708:对相应的value设置参数的对象属性。
步骤S709:得到Message对象完整的Parameter部分。
步骤S710:解码流程结束。
图8为解码流程中获取完整一帧消息的流程图;
步骤S801:流程开始。
步骤S802:RID 30接收到二进制的bit流后,编码模块342首先对其进行解析得到当前帧长CurrentFrameLength。
步骤S803:判断是否CurrentFrameLength小于10字节,是则进入步骤S804,否则进入步骤S805。
步骤S804:继续接收数据,直到CurrentFrameLength大于10字节时进入步骤S805。
步骤S805:CurrentFrameLength大于10字节时,表明帧头接收完成,分析消息头得到总帧长度TotalFrameLength。
步骤S806:判断是否CurrentFrameLength<TotalFrameLength,是则进入步骤S807,否则进入步骤S808。
步骤S807:继续接收直到CurrentFrameLength=TotalFrameLength时进入步骤S808。
步骤S808:得到完整的一帧消息。
步骤S809:接收流程结束。
图9为本发明的编码流程图。
步骤S901:编码开始。
步骤S902:编码模块341首先获取消息对象。
步骤S903:根据得到的消息对象生成消息头。
步骤S904:遍历所有的消息参数生成二进制的bit流。
步骤S905:处理消息头中的消息字节流长度。
步骤S906:编码流程结束。
本发明提供的基于LLRP协议的RID和驱动方法使得用户不必深入了解复杂的LLRP协议,只需调用相应的接口,即可通过简单的信息交互实现阅读器的扩展业务和基本操作业务,便于用于对阅读器进行二次开发,与现有技术相比,显著降低了开发成本,提高了开发效率和灵活度。
本发明还能够控制阅读器的链接状态,通过多种通讯模式与阅读器进行数据交互,可广泛应用于多种工作场景。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (14)
1.一种基于低层读写器标准LLRP协议的阅读器驱动装置,其特征在于:包括基础接口、扩展接口和通信单元;
基础接口用于与上层应用之间进行LLRP基本操作消息的交互;
扩展接口用于与上层应用之间进行LLRP扩展操作消息的交互;
通信单元用于实现所述基础接口或扩展接口与阅读器之间的LLRP基本操作消息或LLRP扩展操作消息交互。
2.如权利要求1所述的装置,其特征在于,还包括消息处理单元,所述消息处理单元包括编码模块和解码模块;
编码模块用于将来自所述基础接口的LLRP基本操作消息、或来自所述扩展接口的LLRP扩展操作消息转换成bit流的格式传输至所述通信单元;
解码模块用于将来自所述通信单元的LLRP基本操作消息或LLRP扩展操作消息转换成Message格式,并相应传输至所述基础接口或扩展接口。
3.如权利要求2所述的装置,其特征在于,所述消息处理单元还包括缓存区,用于存储来自所述通信单元的LLRP基本操作消息或LLRP扩展操作消息,并提供给所述解码模块。
4.如权利要求3所述的装置,其特征在于,所述消息处理单元还包括队列处理模块,用于将所述解码模块完整解码的LLRP基本操作消息或LLRP扩展操作消息添加至消息队列后,提供给对应的基础接口或扩展接口。
5.如权利要求4所述的装置,其特征在于,所述消息处理单元还包括消息查找模块,用于从所述消息队列中查找特定的LLRP基本操作消息或LLRP扩展操作消息后,提供给对应的基础接口或扩展接口。
6.如权利要求2至5中任一项所述的装置,其特征在于,所述扩展接口包括消息读取模块、解析模块和扩展操作模块;
所述消息读取模块用于从上层应用读取XML格式的LLRP扩展操作消息,并发送给所述解析模块,还用于将解析模块转发的XML格式的LLRP扩展操作消息提供给上层应用;
解析模块用于将所述XML格式的LLRP扩展操作消息转换成Message格式,并转发给相应的扩展操作模块,还用于将所述Message格式的LLRP扩展操作消息解析成XML格式,并转发给所述消息读取模块;
扩展操作模块用于将所述Message格式的LLRP扩展操作消息转发至通信单元,还用于接收来自所述通信单元的Message格式的LLRP扩展操作消息,并转发给所述解析模块。
7.如权利要求6所述的装置,其特征在于,所述扩展操作模块包括RO规则模块、AO规则模块、配置模块、报告模块中至少一种;
RO规则模块用于将来自解析模块的Message格式的RO规则消息转发至通讯单元,还用于将来自所述通讯单元的Message格式的RO规则消息转发给所述解析模块;
AO规则模块用于将来自解析模块的Message格式的AO规则消息转发至通讯单元,还用于将来自所述通讯单元的Message格式的AO规则消息转发给所述解析模块;
配置模块用于将来自解析模块的Message格式的规则配置消息转发至通讯单元,还用于将来自所述通讯单元的Message格式的规则配置消息转发给所述解析模块;
报告模块用于将来自解析模块的Message格式的报告规则消息转发至通讯单元,还用于将来自所述通讯单元的Message格式的报告规则消息转发给所述解析模块。
8.如权利要求2至5中任一项所述的装置,其特征在于,还包括阅读器管理接口,所述阅读器管理接口包括阅读器打开模块和阅读器关闭模块;
阅读器打开模块用于通过设置相应的参数对象,打开所述通信单元与阅读器建立链接,阅读器关闭模块用于关闭所述通讯单元与阅读器断开链接。
9.如权利要求8所述的装置,其特征在于,所述阅读器管理接口还包括链路监听模块,用于在阅读器客户端模式下监听所述阅读器。
10.如权利要求8所述的装置,其特征在于,所述阅读器管理接口还包括链路检测模块,用于检测所述阅读器的链接状态。
11.一种基于LLRP协议的阅读器控制系统,包括阅读器、上层应用,其特征在于,还包括基于LLRP协议的阅读器驱动装置,所述阅读器驱动装置包括基础接口、扩展接口和通信单元;
基础接口用于与上层应用之间进行LLRP基本操作消息的交互;
扩展接口用于与上层应用之间进行LLRP扩展操作消息的交互;
通信单元用于实现所述基础接口或扩展接口与阅读器之间的LLRP基本操作消息或LLRP扩展操作消息交互。
12.一种基于LLRP协议的阅读器驱动方法,其特征在于,上层应用分别与阅读器驱动装置的基础接口和扩展接口之间进行LLRP基本操作消息和LLRP扩展操作消息的交互;
所述基础接口或扩展接口通过所述阅读器驱动装置的通讯单元与阅读器之间进行LLRP基本操作消息或LLRP扩展操作消息交互。
13.如权利要求12所述的方法,其特征在于,进行所述LLRP基本操作消息和LLRP扩展操作消息的交互之前,还包括阅读器驱动装置通过以下任一方式与阅读器建立链接的步骤:
串口模式下,上层应用调用阅读器管理接口,并将阅读器打开模块中相应的参数对象设置为串口参数;
阅读器服务端模式下,上层应用调用阅读器管理接口,并将阅读器打开模块中相应的参数对象设置为需要链接的阅读器的IP信息;
阅读器客户端模式下,上层应用调用阅读器管理接口,并通过链路监听模块监听阅读器,等待阅读器建链。
14.如权利要求12所述的方法,其特征在于,所述交互的具体方式为:
在下行方向,阅读器驱动装置将来自所述上层应用的LLRP基本操作消息或LLRP扩展操作消息转换成bit流的格式,并将所述bit流传输给阅读器;
在上行方向,阅读器驱动装置将来自所述阅读器的LLRP基本操作消息或LLRP扩展操作消息转换成Message格式,并提供给上层应用。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010204581.2A CN102289636B (zh) | 2010-06-21 | 2010-06-21 | 基于llrp协议的阅读器驱动装置、系统及方法 |
PCT/CN2010/076960 WO2011160341A1 (zh) | 2010-06-21 | 2010-09-15 | 基于llrp协议的阅读器驱动装置、系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010204581.2A CN102289636B (zh) | 2010-06-21 | 2010-06-21 | 基于llrp协议的阅读器驱动装置、系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102289636A CN102289636A (zh) | 2011-12-21 |
CN102289636B true CN102289636B (zh) | 2014-04-30 |
Family
ID=45336051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010204581.2A Expired - Fee Related CN102289636B (zh) | 2010-06-21 | 2010-06-21 | 基于llrp协议的阅读器驱动装置、系统及方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102289636B (zh) |
WO (1) | WO2011160341A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761518B (zh) * | 2011-04-25 | 2015-04-01 | 中兴通讯股份有限公司 | 一种支持多种套接字连接模式的通信方法及服务器 |
CN103488469A (zh) * | 2012-06-13 | 2014-01-01 | 中兴通讯股份有限公司 | 一种阅读器及其业务操作的实现方法和装置 |
CN103544050B (zh) * | 2012-07-13 | 2017-05-31 | 天津中兴智联科技有限公司 | 一种阅读器驱动装置、方法及阅读器控制系统 |
CN103634357A (zh) * | 2012-08-27 | 2014-03-12 | 中兴通讯股份有限公司 | 射频识别控制器、系统及射频识别阅读器的控制方法 |
CN103679081B (zh) * | 2012-09-21 | 2017-03-29 | 天津中兴智联科技有限公司 | 射频识别方法及系统、阅读器、业务应用装置 |
CN105139053B (zh) * | 2015-10-15 | 2018-01-30 | 江苏本能科技有限公司 | 射频识别读写器接口协议调试装置及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101086763A (zh) * | 2007-06-15 | 2007-12-12 | 广东电子工业研究院有限公司 | 一种相互之间可协同工作的rfid阅读器及其协同工作的方法 |
-
2010
- 2010-06-21 CN CN201010204581.2A patent/CN102289636B/zh not_active Expired - Fee Related
- 2010-09-15 WO PCT/CN2010/076960 patent/WO2011160341A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101086763A (zh) * | 2007-06-15 | 2007-12-12 | 广东电子工业研究院有限公司 | 一种相互之间可协同工作的rfid阅读器及其协同工作的方法 |
Non-Patent Citations (4)
Title |
---|
基于EPCglobal初级阅读器协议的简单模型的设计与实现;蔡磊;《计算机系统应用》;20091015(第10期);134-137,151 * |
射频识别系统底层协议开发工具包的设计;武君胜等;《计算机测量与控制》;20100125;第18卷(第1期);179-182,185 * |
武君胜等.射频识别系统底层协议开发工具包的设计.《计算机测量与控制》.2010,第18卷(第1期), |
蔡磊.基于EPCglobal初级阅读器协议的简单模型的设计与实现.《计算机系统应用》.2009,(第10期), |
Also Published As
Publication number | Publication date |
---|---|
CN102289636A (zh) | 2011-12-21 |
WO2011160341A1 (zh) | 2011-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102289636B (zh) | 基于llrp协议的阅读器驱动装置、系统及方法 | |
CN101356543B (zh) | 使用rfid技术的增强型控制器 | |
US7030786B2 (en) | RFID readers and RFID tags communicating using extensible bit vectors | |
JP5266386B2 (ja) | 近距離通信における多重アプリケーション管理方法及びシステム | |
CN102714666B (zh) | 用于利用web服务增强遗留nfc系统的应用使能数据交换机 | |
US20080288958A1 (en) | Near Field Communication Host Controller Interface | |
CN102404404B (zh) | 一种分布式web应用与远程设备消息通信方法 | |
CN104517146A (zh) | Nfc标签、通信方法和系统 | |
CN104322012A (zh) | 平台独立的管理控制器 | |
CN102855506A (zh) | 电子货架标签系统 | |
CN101739575A (zh) | 无线射频识别系统中多硬件设备集中管理的数据处理方法 | |
CN115988053A (zh) | 一种通信节点、数据传输方法及存储介质 | |
CN102479313A (zh) | 基于llrp协议的阅读器驱动方法 | |
CN102646205B (zh) | 一种阅读器驱动装置、方法及阅读器控制系统 | |
CN202551356U (zh) | 物联网接入传输模块 | |
CN102486838A (zh) | 一种多标准rfid标签数据集成与转换方法 | |
CN105656760A (zh) | 软件插件之间的通信方法及系统 | |
US9130840B2 (en) | Method and apparatus for optimizing management and configuration of radio frequency identification readers | |
CN103853602A (zh) | 一种阅读器驱动装置、方法及阅读器控制系统 | |
KR101036200B1 (ko) | 무선인식 태그간 데이터 중계 장치 | |
CN101282201B (zh) | 一种通讯设备中消息监控的方法和设备 | |
CN103632173A (zh) | 标签的访问、访问处理方法及装置 | |
CN103632174B (zh) | 公私有状态标签的操作方法及装置 | |
CN103544050B (zh) | 一种阅读器驱动装置、方法及阅读器控制系统 | |
CN105706113A (zh) | 用于控制识别标签的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20161009 Address after: 300308 Tianjin Airport Economic Zone, Binhai New Area seven East Road No. 2 Zhongxing Industrial Base Patentee after: ZTE INTELLIGENT IOT TECHNOLOGY CO., LTD. Address before: 518057 Nanshan District science and Technology Park, Guangdong, South Road, ZTE building, science and Technology Park Patentee before: ZTE Corporation |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140430 Termination date: 20190621 |