Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
READER DRIVER DEVICE, SYSTEM AND METHOD BASED ON LLRP (LOW-LEVEL READER PROTOCOL)
Document Type and Number:
WIPO Patent Application WO/2011/160341
Kind Code:
A1
Abstract:
A reader driver device, a system and a method based on a LLRP (Low-level reader protocol) protocol are provided, wherein, the reader driver device based on LLRP protocol comprises a base interface, an extension interface and a communication interface. The base interface is configured to interact with upper layer application about LLRP base operation messages. The extension interface is configured to interact with upper layer application about LLRP extension operation messages. The communication interface is configured to implement the message interaction between the base interface or the extension interface and the reader. The device is convenient to re-develop the reader based on LLRP protocol, reduces the development cost obviously, and improves the development efficiency and flexibility.

Inventors:
LU, Na (ZTE Plaza, Keji Road South Hi-Tech Industrial Park, Nansha, Shenzhen Guangdong 7, 518057, CN)
陆娜 (中国广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦, Guangdong 7, 518057, CN)
LIU, Wanli (ZTE Plaza, Keji Road South Hi-Tech Industrial Park, Nansha, Shenzhen Guangdong 7, 518057, CN)
Application Number:
CN2010/076960
Publication Date:
December 29, 2011
Filing Date:
September 15, 2010
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZTE CORPORATION (ZTE Plaza, Keji Road South Hi-Tech Industrial Park, Nansha, Shenzhen Guangdong 7, 518057, CN)
中兴通讯股份有限公司 (中国广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦, Guangdong 7, 518057, CN)
LU, Na (ZTE Plaza, Keji Road South Hi-Tech Industrial Park, Nansha, Shenzhen Guangdong 7, 518057, CN)
陆娜 (中国广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦, Guangdong 7, 518057, CN)
International Classes:
G06K7/00
Attorney, Agent or Firm:
AFD CHINA INTELLECTUAL PROPERTY LAW OFFICE (Suite B 1601A, 8 Xue Qing Rd.Haidian, Beijing 2, 100192, CN)
Download PDF:
Claims:
权 利 要 求 书

1、 一种基于低层读写器标准 LLRP协议的阅读器驱动装置, 其包括: 基 础接口、 扩展接口和通信单元;

基础接口设置为, 与上层应用之间进行 LLRP基本操作消息的交互; 扩展接口设置为, 与上层应用之间进行 LLRP扩展操作消息的交互; 通信单元设置为, 实现所述基础接口或扩展接口与阅读器之间的信息交 互。

2、 如权利要求 1所述的装置, 所述装置还包括消息处理单元, 所述消息 处理单元包括编码模块和解码模块;

编码模块设置为, 将来自所述基础接口的 LLRP基本操作消息、 或来自 所述扩展接口的 LLRP扩展操作消息转换成比特流的格式传输至所述通信单 元;

解码模块设置为, 将来自所述通信单元的 LLRP基本操作消息或 LLRP 扩展操作消息转换成消息格式, 并相应传输至所述基础接口或扩展接口。

3、 如权利要求 2所述的装置, 其中, 所述消息处理单元还包括緩存区, 其设置为存储来自所述通信单元的 LLRP基本操作消息或 LLRP扩展操作消 息, 并将 LLRP基本操作消息或 LLRP扩展操作消息提供给所述解码模块。

4、 如权利要求 3所述的装置, 其中, 所述消息处理单元还包括队列处理 模块, 其设置为将所述解码模块完整解码的 LLRP基本操作消息或 LLRP扩 展操作消息添加至消息队列后, 提供给对应的基础接口或扩展接口。

5、 如权利要求 4所述的装置, 其中, 所述消息处理单元还包括消息查找 模块, 其设置为从所述消息队列中查找特定的 LLRP基本操作消息或 LLRP 扩展操作消息后, 提供给对应的基础接口或扩展接口。

6、 如权利要求 2至 5中任一权利要求所述的装置, 其中, 所述扩展接口 包括消息读取模块、 解析模块和扩展操作模块;

所述消息读取模块设置为, 从上层应用读取可扩展标记语言 XML格式 的 LLRP扩展操作消息,并发送给所述解析模块;以及将解析模块转发的 XML 格式的 LLRP扩展操作消息提供给上层应用;

解析模块设置为,将所述 XML格式的 LLRP扩展操作消息转换成消息格 式, 并转发给相应的扩展操作模块; 以及将所述消息格式的 LLRP扩展操作 消息解析成 XML格式, 并转发给所述消息读取模块;

扩展操作模块设置为 , 将所述消息格式的 LLRP扩展操作消息转发至通 信单元; 以及接收来自所述通信单元的消息格式的 LLRP扩展操作消息, 并 转发给所述解析模块。

7、 如权利要求 6所述的装置, 其中, 所述扩展操作模块包括阅读器操作 RO规则模块、 访问操作 AO规则模块、 配置模块、 报告模块中的至少一种; RO规则模块设置为,将来自解析模块的消息格式的 RO规则消息转发至 通讯单元; 以及将来自所述通讯单元的消息格式的 RO规则消息转发给所述 解析模块;

AO规则模块设置为,将来自解析模块的消息格式的 AO规则消息转发至 通讯单元; 以及将来自所述通讯单元的消息格式的 AO规则消息转发给所述 解析模块;

配置模块设置为, 将来自解析模块的消息格式的规则配置消息转发至通 讯单元; 以及将来自所述通讯单元的消息格式的规则配置消息转发给所述解 析模块;

报告模块设置为, 将来自解析模块的消息格式的报告规则消息转发至通 讯单元; 以及将来自所述通讯单元的消息格式的报告规则消息转发给所述解 析模块。

8、如权利要求 2至 5中任一权利要求所述的装置, 所述装置还包括阅读 器管理接口 , 所述阅读器管理接口包括阅读器打开模块和阅读器关闭模块; 阅读器打开模块设置为, 通过设置相应的参数对象, 打开所述通信单元, 阅读器关闭模块设置为, 关闭所述通讯单元。

9、 如权利要求 8所述的装置, 其中, 所述阅读器管理接口还包括链路监 听模块, 其设置为在阅读器客户端模式下监听所述阅读器。

10、 如权利要求 8所述的装置, 其中, 所述阅读器管理接口还包括链路 检测模块, 其设置为检测所述阅读器的链接状态。

11、 一种基于低层读写器标准 LLRP协议的阅读器控制系统, 包括阅读 器、 上层应用和基于 LLRP协议的阅读器驱动装置, 所述阅读器驱动装置包 括基础接口、 扩展接口和通信单元;

基础接口设置为, 与上层应用之间进行 LLRP基本操作消息的交互; 扩展接口设置为, 与上层应用之间进行 LLRP扩展操作消息的交互; 通信单元设置为, 实现所述基础接口或扩展接口与阅读器之间的信息交 互。

12、 一种基于低层读写器标准 LLRP协议的阅读器驱动方法, 所述方法 包括:

上层应用分别与阅读器驱动装置的基础接口和扩展接口之间进行 LLRP 基本操作消息和 LLRP扩展操作消息的交互; 以及

所述基础接口或扩展接口通过所述阅读器驱动装置的通讯单元与阅读器 之间进行信息交互。

13、 如权利要求 12所述的方法, 其中, 进行所述 LLRP基本操作消息和

LLRP扩展操作消息的交互之前,所述方法还包括: 阅读器驱动装置通过以下 任一方式与阅读器建立链接的步骤:

串口模式下, 上层应用调用阅读器管理接口, 并将阅读器打开模块中相 应的参数对象设置为串口参数;

阅读器服务端模式下, 上层应用调用阅读器管理接口, 并将阅读器打开 模块中相应的参数对象设置为需要链接的阅读器的 IP信息;

阅读器客户端模式下, 上层应用调用阅读器管理接口, 并通过链路监听 模块监听阅读器, 等待阅读器建链。

14、 如权利要求 12所述的方法, 其中, 所述交互的具体方式为: 在下行方向, 阅读器驱动装置将来自所述上层应用的 LLRP基本操作消 息或 LLRP扩展操作消息转换成比特流的格式, 并将所述比特流传输给阅读 器; 在上行方向, 阅读器驱动装置将来自所述阅读器的 LLRP基本操作消息 或 LLRP扩展操作消息转换成消息格式, 并提供给上层应用。

Description:
基于 LLRP协议的阅读器驱动装置、 系统及方法

技术领域

本发明涉及 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扩展操作消息转换成比特流的格式传输至 述通信单 元;

解码模块设置为, 将来自所述通信单元的 LLRP基本操作消息或 LLRP 扩展操作消息转换成消息格式, 并相应传输至所述基础接口或扩展接口。

优选地, 所述消息处理单元还包括緩存区, 其设置为存储来自所述通信 单元的 LLRP基本操作消息或 LLRP扩展操作消息,并将 LLRP基本操作消息 或 LLRP扩展操作消息提供给所述解码模块。

优选地, 所述消息处理单元还包括队列处理模块, 其设置为将所述解码 模块完整解码的 LLRP基本操作消息或 LLRP扩展操作消息添加至消息队列 后, 提供给对应的基础接口或扩展接口。

所述消息处理单元还包括消息查找模块, 其设置为从所述消息队列中查 找特定的 LLRP基本操作消息或 LLRP扩展操作消息后, 提供给对应的基础 接口或扩展接口。 进一步地, 所述扩展接口包括消息读取模块、解析模块和 扩展操作模块; 所述消息读取模块设置为, 从上层应用读取可扩展标记语言 XML格式 的 LLRP扩展操作消息,并发送给所述解析模块; 及将解析模块转发的 XML 格式的 LLRP扩展操作消息提供给上层应用;

解析模块设置为,将所述 XML格式的 LLRP扩展操作消息转换成消息格 式, 并转发给相应的扩展操作模块; 以及将所述消息格式的 LLRP扩展操作 消息解析成 XML格式, 并转发给所述消息读取模块;

扩展操作模块设置为, 将所述消息格式的 LLRP扩展操作消息转发至通 信单元; 以及接收来自所述通信单元的消息格式的 LLRP扩展操作消息, 并 转发给所述解析模块。

所述扩展操作模块包括阅读器操作 RO规则模块、 访问操作 AO规则模 块、 配置模块、 4艮告模块中的至少一种;

RO规则模块设置为,将来自解析模块的消息格 的 RO规则消息转发至 通讯单元; 以及将来自所述通讯单元的消息格式的 RO规则消息转发给所述 解析模块;

AO规则模块设置为,将来自解析模块的消息格 的 AO规则消息转发至 通讯单元; 以及将来自所述通讯单元的消息格式的 AO规则消息转发给所述 解析模块;

配置模块设置为, 将来自解析模块的消息格式的规则配置消息转 发至通 讯单元; 以及将来自所述通讯单元的消息格式的规则配 置消息转发给所述解 析模块;

报告模块设置为, 将来自解析模块的消息格式的报告规则消息转 发至通 讯单元; 以及将来自所述通讯单元的消息格式的报告规 则消息转发给所述解 析模块。

进一步地, 所述装置还包括阅读器管理接口, 所述阅读器管理接口包括 阅读器打开模块和阅读器关闭模块;

阅读器打开模块设置为, 通过设置相应的参数对象, 打开所述通信单元, 阅读器关闭模块设置为, 关闭所述通讯单元。 以及, 所述阅读器管理接口还包括链路监听模块, 其设置为在阅读器客 户端模式下监听所述阅读器。

所述阅读器管理接口还包括链路检测模块, 其设置为检测所述阅读器的 链接状态。

本发明还保护了一种基于 LLRP协议的阅读器控制系统, 包括阅读器、 上层应用和基于 LLRP协议的阅读器驱动装置, 所述阅读器驱动装置包括基 础接口、 扩展接口和通信单元;

基础接口设置为, 与上层应用之间进行 LLRP基本操作消息的交互; 扩展接口设置为, 与上层应用之间进行 LLRP扩展操作消息的交互; 通信单元设置为, 实现所述基础接口或扩展接口与阅读器之间的 信息交 互。

本发明还保护了一种基于 LLRP协议的阅读器驱动方法, 所述方法包括: 上层应用分别与阅读器驱动装置的基础接口和 扩展接口之间进行 LLRP基本 操作消息和 LLRP扩展操作消息的交互; 以及

所述基础接口或扩展接口通过所述阅读器驱动 装置的通讯单元与阅读器 之间进行信息交互。

进一步地, 进行所述 LLRP基本操作消息和 LLRP扩展操作消息的交互 之前, 所述方法还包括: 阅读器驱动装置通过以下任一方式与阅读器建 立链 接的步骤:

串口模式下, 上层应用调用阅读器管理接口, 并将阅读器打开模块中相 应的参数对象设置为串口参数;

阅读器服务端模式下, 上层应用调用阅读器管理接口, 并将阅读器打开 模块中相应的参数对象设置为需要链接的阅读 器的 IP信息;

阅读器客户端模式下, 上层应用调用阅读器管理接口, 并通过链路监听 模块监听阅读器, 等待阅读器建链。

进一步地, 所述交互的具体方式为:

在下行方向, 阅读器驱动装置将来自所述上层应用的 LLRP基本操作消 息或 LLRP扩展操作消息转换成比特流的格式, 并将所述比特流传输给阅读 器;

在上行方向, 阅读器驱动装置将来自所述阅读器的 LLRP基本操作消息 或 LLRP扩展操作消息转换成消息格式, 并提供给上层应用。

本发明的有益效果是: 本发明提供的基于 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 , 利用链路监听模块 313监听阅 读器 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基本操作消息、 或来自扩展接口 33的 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扩展操作消息添加到消息队列中; 转向步骤 502。

步骤 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,

MessagelD, 分别指消息类型、 消息长度和消息的 ID号

步骤 S704: 根据 MessageType创建一个 Message对象。

步骤 S705: 解析 Message对象所带的 field部分, 对相应的 value设置参 数的对象属性。

步骤 S706: 接着解析 Message对象所带的 Parameter部分, 由于 TLV类 型参数的 Parameter中的 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协议, 只需调用相应的接口, 即可通过简单的信息交互实现阅 读器的扩展业务和基本操作业务, 便于用户对阅读器进行二次开发, 与现有 技术相比, 显著降低了开发成本, 提高了开发效率和灵活度。

本发明还能够控制阅读器的链接状态, 通过多种通讯模式与阅读器进行 数据交互, 可广泛应用于多种工作场景。

本领域普通技术人员可以理解上述方法中的全 部或部分步骤可通过程序 来指令相关硬件完成, 所述程序可以存储于计算机可读存储介质中, 如只读 存储器、 磁盘或光盘等。 可选地, 上述实施例的全部或部分步骤也可以使用 一个或多个集成电路来实现。 相应地, 上述实施例中的各模块 /单元可以釆用 硬件的形式实现, 也可以釆用软件功能模块的形式实现。 本发明不限制于任 何特定形式的硬件和软件的结合。

以上内容是结合具体的实施方式对本发明所作 的进一步详细说明, 不能 认定本发明的具体实施只局限于这些说明。 对于本发明所属技术领域的普通 技术人员来说, 在不脱离本发明构思的前提下, 还可以做出若干简单推演或 替换, 都应当视为属于本发明的保护范围。

工业实用性

本发明提供的基于 LLRP协议的阅读器驱动装置、 系统及方法, 使得用 户不必深入了解复杂的 LLRP协议, 只需调用相应的接口, 即可通过简单的 信息交互实现阅读器的扩展业务和基本操作业 务, 便于对阅读器进行二次开 发, 显著降低了开发成本, 提高了开发效率和灵活度。 并且, 本发明还能够 控制阅读器的链接状态, 通过多种通讯模式与阅读器进行数据交互, 可广泛 应用于多种工作场景。