欢迎访问火狐体育最新下载(上海)信息科技股份官方网站!
E-mail: service@shanghaijuqiang.com   |   电话: 86-021-51876135

RFID盘点车

依据嵌入式RFID 中间件的标签数据处理
发布时间:2022-10-01 12:28:22 来源:火狐体育最新下载

  本文提出一种可直接运转于各种嵌入式阅读器设备,依据EPCglobal ALE 规范的嵌入式 RFID 中间件,并具体研讨其间的标签数据处理流程。

  射频辨认(Radio Frequency Identification, RFID)中间件介于RFID 阅读器和上层运用之间,用来屏蔽不同类型的阅读器和各种协议规范的标签,为上层运用软件供给一致接口。别的,还担任整合和过滤数据,发生报表,削减运用层软件的处理担负,使海量标签数据的传输和运用成为可能。现在,国内外的RFID 中间件体积巨大,只适用于PC 机,不能移植到嵌入式阅读器中。本文提出一种可直接运转于各种嵌入式阅读器设备,依据EPCglobal ALE 规范的嵌入式 RFID 中间件,并具体研讨其间的标签数据处理流程。

  嵌入式 RFID 中间件体系结构如图1 所示。选用Linux 2.4.18 作为操作体系,操作体系自带有网络驱动和串口驱动。DSP 驱动是为本阅读器DSP 模块开发的驱动模块,相当于一个连接到中间件服务器的阅读器。中间层是GoAhead Web 服务器和嵌入式数据库SQLite,上层是阅读器办理,阅读器协议服务和ALE 服务模块。

  GoAhead Web 服务器是一款面向嵌入式体系的Web 服务器,作为中间件的数据转发和模块承载渠道。阅读器与客户端之间,阅读器与阅读器之间的数据通信都是由GoAhead Web服务器完结。ALE 服务模块,数据库办理模块,阅读器办理模块,阅读器协议服务模块等的开发也是建立在GoAhead 基础上。

  数据库选用 SQLite 3.3.9。SQLite 是轻型,免费和开源的嵌入式数据库。供给绝大多数规范的SQL92 句子,作业速度快,满意中间件数据处理的实时要求。在嵌人式体系中,数据库办理、履行、保护的简单化比企业数据库供给的杂乱运用更重要。因而选用SQLite数据库在巨细和功用方面是一个抱负的折中。

  ALE 协议服务模块是过滤和统计数据的底层部件与高层运用程序之间的接口。ALE 协议服务模块选用EPCglobal ALE 规范,为高层软件供给了通用接口。

  SQLite 的运用开发是在GoAhead 基础上对数据进行接纳、过滤和分组处理。客户端将用户填写的XML 表单经过HTTP 协议发送到GoAhead 服务器端。GoAhead 进程中的主线程接纳XML文件,将文件内容经过指令音讯通道传给ALE子进程。ALE子进程经过ezXML模块把XML 文件解析出来,提取出数据存入ECSpec 结构体中。

  DSP 解调出二进制EPC 数据,经过DSP 驱动发送到接纳模块。接纳模块滤除重复EPC码,屏蔽阅读器数据格局差异,转换成一致数据格局后将数据送入到SQLite 中,作为数据库操作的数据源。每个 ECSpec 对应创立一个线程。该线程依据ECSpec 结构体履行数据库操作,将查询成果封装成XML 数据报表经过数据音讯通道发送给XML 陈述线程。XML 陈述线程经过TCP 协议发送给客户端。数据流程图如图2 所示。下面以EPC 标签数据的活动方向进行具体分析。

  在数据转化规范[6]中,EPC 有四种标明办法:二进制、URI、不带物品序列号的纯辨认URI 和EAN/UCC 编码。在中间件中需要将阅读器发送过来的二进制EPC 编码转换成规范URI 方式,才干便利数据库的分组过滤操作。办法是首先将EPC 二进制数据转换成一个字符一位的‘0’和‘1’字符串。选出代表版本号的头部,依据头部查询EPC 格局表找到这种类型标签的分段结构,然后依据该分段结构别离提取出各个部分。例如96 位标签数据300833B2DDD07(十六进制数标明)转换成URI 格局为urn:epc:pat:sgtin-96:0.0867360217.005.。

  由于用户端的 filter 或group 指令是以URI 指令格局发送,查询成果也是以URI 格局回来,所以在二进制EPC 码抵达数据库时,当即转化为URI 格局存储到SQLite 中,便利查询操作。tableURI 便是用来保存URI 方式标签数据的信息表。tableURI 分红七个字段存贮URI 标签数据:Header,Filter,Company,Class,Serial,ReaderID,Time。前五个字段都是EPC 码URI 格局的组成部分,ReaderID 为阅读器ID 号,标明EPC 码来自哪个物理阅读器。Time 为DSP 上交标签数据的时刻,是操控发生报表的边界条件。EPC 数据转化成规范URI 后提取各个数据段,运用sqlite3_mprintf 函数将数据段的值添加到SQL 句子中,然后经过sqlite3_exec 函数履行该SQL 句子把标签数据刺进到数据库中。

  filter 是依据所给规矩对数据进行过滤挑选,找出契合过滤条件的标签数据。整个filter指令包含若干includePattern 和若干excludePattern,成果集为包含于任何一个或多个includePattern 中可是不包含于任何一个excludePattern 中的EPC 码。用调集方式标明为:

  group 是依据用户所给规矩对标签数据进行分组归类,不属于任何group 指令条件的EPC 码主动归为default group 组中。分组操作的URI 指令可呈现:确认数值/部分值[low-high]/一切值*/分组X(即按该字段分组,有不同的值就分组,相同值的EPC 码分到同一组中)。如:urn:epc:pat:sgtin-96:0.0867360217.X.*。

  groupPattern 无堆叠,即可进行分组操作。分组时URI 指令明确指出头部分,查询时直接运用SELECT 操作。其他4 个字段,由于格局可选(确认的数值/部分值[low-high]/一切值*/分组X),所以要对各个字段逐一判别其格局类型,对不同格局别离生成SQL 句子,将各部分生成的SQL 句子汇总到一句中。例如分组指令urn:epc:pat:sgtin-96:0.X.*.[20000-90000],终究发生SQL 操作句子为:

  每个 EventCycle(中间件向客户端供给报表的时刻距离,客户端界说ECSpec 时设置)结束时依据Time 字段,选取生成视图中当时EventCycle 的数据封装成XML 数据报表发送给客户端。相应操作句子为:

  为了使中间件能长时间安稳作业,有必要定时删去过期数据。过期数据包含屡次刺进数据库的重复URI 以及过滤和分组发生的暂时视图。对重复发生的URI 标签数据,只保存最新记载。标签数据表table URI 总记载条数大于某个值时调用数据备份程序,将表中的数据存贮到另一个目录下,供用户进一步处理。EventCycle 结束时删去相应视图。

  经编译运转测验,该体系体积十分小,除掉 SQLite 动态库缺乏1MB。兼容不同类型阅读器,安稳牢靠,标签数据处理速度高。客户端运用过滤和分组指令能十分便利地订阅所需数据。SQLite 凭仗轻型,易于移植,免费开源的长处,除了能够作为RFID 中间件的数据库,还可广泛用于其它嵌入式范畴,比方嵌入式家庭网关,POS 终端、智能手机和长途监控体系等。

火狐体育最新下载(上海)信息科技股份 © 版权所有 沪ICP备18022337号