标签芯片 | 读写器 | 天线 | 中间件 | 智能卡 | 生物识别 | 条码 | 制造设备 | 物流 | 零售 | 防伪 | 交通 | 停车 | 资产管理 | 动物 | 身份识别 | 军事 | 航空 | 门禁 | 一卡通
供求商机 资讯中心 产品中心 企业资料 人才招聘
 
 首页 >> 技术中心>> 正文
RFID开发介绍—Edge Server (2)
来源:RFID射频快报   2006-9-6 18:44:03
关键词: RFID  BEA  开发  读卡器  RFID中间件  标签  工作流  Edge Server  


提要RFID开发介绍—Edge Server (2)上篇文章中我们简单介绍了BEA Edge Server的安装、使用和简单的标签读、写过程。接下来我们介绍Edge Server中的一些其他读写方式和工作流模块,大家可以根据实际情况,在此基础上开发自己的应用。

 

上篇文章中我们简单介绍了BEA Edge Server的安装、使用和简单的标签读、写过程。接下来我们介绍Edge Server中的一些其他读写方式和工作流模块,大家可以根据实际情况,在此基础上开发自己的应用。

一、关于Immediate读取方式的更多说明

1、事件周期和可靠性

有很多原因会造成读卡器不能在一个读周期内检测到标签,可能是因为RFID标签本身的不可靠特性,也有可能是在像托盘这样的大容器负载很多标签缓慢通过读卡器时,有标签并没有产生ALE事件。通过ALE,我们配置一个事件周期包括多个读周期,这样就能提高所有的标签都被包含在结果报告中的概率。

我们可以通过下面的实验来模拟读不到某些标签的现象,并且通过配置ECSpec中的durationReadCycles来使一个事件周期包括多个读周期,以提高读卡成功率。

  1. 打开两个读卡模拟器,在上一篇文章有操作说明。在其中一个读卡模拟器中设置“可靠性”参数为50%:

    图1

  2. 重复运行ImmediateSample程序,观察运行结果,会发现并不是每次都可以读到所有标签。
  3. 使用ECSpec编辑器导入ECSpec.xml文件,并且定位到durationReadCycles参数,将当前值1修改为10。导出 ECSpec 到<edge_home>samplesImmediateSample 目录下,覆盖原有的文件。

    图2

  4. 重新运行ImmediateSample,观察运行结果,会发现每次都可以读到所有标签。

2、复合读卡器

可以通过管理控制台定义“复合读卡器”,复合读卡器可以包含一个活着多个逻辑读卡器。使用复合读卡器而不是在ECSpec中定义多个逻辑读卡器带来的好处是复合读卡器可以是业务上下文相关的,而不用考虑具体的读卡器,例如可以将复合读卡器命名为“DockDoor21”并且其中包含“ConnecTerra1”, “ConnecTerra2”等一组逻辑读卡器,这样在应用程序的ECSpec中就只要按照“DockDoor21”使用就可以,而不用考虑是不是“ConnecTerra1”, “ConnecTerra2”等等。

  1. 打开管理控制台,在设备浏览器中选择“Composite Readers”,然后在右边窗口选择“New”:

    图3

  2. 配置一个如下的,包含ConnecTerra2 和ConnecTerra4的复合读卡器CompositeReader1:

    图4

  3. 在第二个读卡模拟器的第二个天线的配置中,将每个EPC值增加1,例如

    gid-64-i.38000.171.1 应该改为gid-64-i.38000.172.1 :

    图5

  4. 使用管理控制台的测试功能进行测试:

    图6

  5. 选择读卡器为 CompositeReader1,默认在选择后测试就开始,可以选择左下角的开始、停止按钮控制测试。观察测试结果,可以看到14个标签,其中7个来自于ConnecTerra2,7个是ConnecTerra4的,如果此时读卡模拟其中的“可靠性”参数还是设置为50%的话,可以看到某些EPC旁边有红色的“X”,当可靠性提高的100%这些警告标志就会消失。

    图7

3、不同的边界条件

ALE规范允许设置不同的边界条件来控制事件周期的开始和结束。最基本的边界条件就是指定持续时间,如我们在前面做过的实验,指定持续5000ms或者包含10个读周期。此外,事件周期也可以是被外界事件所触发的。

其中一个很有意思并且很有用的边界条件是称为“稳定集合间隔时间”,稳定集合间隔时间是用来指定一段时间,在这段时间的读周期里面再没有新的标签出现,这是事件周期就算是结束。

下面的图可以用来说明稳定集合间隔时间的概念。该图表示一些RFID标签会通过一个假想的读卡通道,例如一个叉车的托盘中有8个贴了RFID标签的物件要通过仓库大门。当叉车通过大门的时候,在任何读周期都可能会检测到不同的RFID标签。例如,在第一个读周期检测到了EPC #1 and EPC #2,在第三个读周期检测到了EPC #1 and EPC #5,……

在经过一段持续的读周期后,所有的8个标签就都至少被检测到一次了。这样读卡器不会再检测到新的标签出现,在这样的状态持续“稳定集合间隔时间”后,就会生成ECReport。如下图中,每个读周期的时间设为1000ms,“稳定集合间隔时间”设为4000ms。

图8

在第一个读周期,检测到EPC #1 和 EPC #2两个标签。因为这个连个新检测到的标签,所以此时Edge Server会开始一个持续时间为4000 ms的定时器,即“稳定集合间隔时间”。如果在接下来的4000 ms的定时中没有检测到新的标签,Edge Server就会产生ECReport并且返回给应用程序。

然而在第二个读周期,又有一个新的标签EPC #5被检测到。因为在“稳定集合间隔时间”内有新的标签被检测到,定时器复位,即重新开始计时4000 ms。类似的,在第四个和第六个读周期又出现了新的标签,所以定时器都被复位。

在第八个读周期中,最后一个新的标签EPC #6被检测到。在接下来的4个读周期中,不再有新的标签出现。所以事件周期结束,并且返回生成的ECReport。

下面我们来看看在BEA Edge Server中如何配置和使用这样的边界条件:

  1. 使用管理控制台重新导入<edge_home>samplesImmediateSample 目录下面的ECSpec。选择CompositeReader1作为逻辑读卡器,设置“Stable Set Interval”为15000 ms。

    图9

  2. 接下来将ConnecTerra2和ConnecTerra4的所有标签都去除选中,其中ConnecTerra2是第一个模拟器的第二个天线,ConnecTerra4是第二个模拟器的第二个天线

    图10

  3. 开始运行ImmediateSample,每3到4秒选中一个去掉的EPC,直到将所有的14个EPC都选中。在选中所有EPC后大约15秒,事件周期会结束。
  4. 分析命令行窗口中产生的报告,注意其中的terminationCondition和totalMilliseconds值。可以参考如下ECReports:
    Immediate Sample, XML-based
      sending request to Edge Server...
      ...received response.
    Received the following ECReports:
    <ale:ECReports ALEID="SAVANT_ID" creationDate="2006-08-13T04:01:56.239Z" date="2
    006-08-13T04:01:56.239Z" schemaURL="http://schemas.connecterra.com/EPCglobal/ale
    -1_0.xsd" schemaVersion="1" specName="=89" terminationCondition="STABLE_SET" totalMilliseconds="40359" xmlns:ale="urn:epcglobal:ale:xsd:1" xmlns:aleex
    t="http://schemas.connecterra.com/EPCglobal-extensions/ale">
     <reports>
      <report reportName="ImmediateSample Report">
       <group>
        <groupList>
         <member>
          <tag>urn:epc:tag:gid-64-i:38000.172.1</tag>
         </member>
         <member>
          	…………
         <member>
          <tag>urn:epc:tag:gid-64-i:38000.4971.7</tag>
         </member>
        </groupList>
        <groupCount>
         <count>14</count>
        </groupCount>
       </group>
       <aleext:applicationData></aleext:applicationData>
      </report>
     </reports>
     <aleext:applicationData>Application specific data can go here</aleext:applicati
    onData>
     <aleext:failedLogicalReaders/>
     <aleext:physicalReaders>
      <aleext:physicalReader>SimReadr2</aleext:physicalReader>
      <aleext:physicalReader>SimReadr</aleext:physicalReader>
     </aleext:physicalReaders>
     <aleext:totalReadCycles>150</aleext:totalReadCycles>
    </ale:ECReports>
    
  5. 也可以使用ECSpec的测试功能来运行上述的测试。

    图11

二、用subscribe方式读取标签信息

1、运行Subscribe示例

Subscribe示例是使用ALE的“subscribe”方式实现异步报告发布,同时也展现了一起ALE API中的其它可管理方式。

它和“Immediate”示例不同的地方是:

  • 可以定义多个ECSpecs,每个都有各自的名字
  • 使用subscribe命令,给“事件周期”添加一个或者多个“订购者”,来获取报告
  • 在定义“事件周期”和“订购者”之后,Edge Server执行“事件周期”,并且异步的给“订购者”返回报告

具体操作步骤如下:

  1. 打开读卡模拟器、Edge Sever和管理控制台
  2. 打开资源管理器,浏览目录 <edge_home>samples SubscribeSample.
  3. 修改run.bat

    set EDGEHOST=localhost

    set EDGEPORT=6060

  4. 点击run.bat,注意到命令行窗口显示的命令行参数使用方法
  5. 使用ECSpec editor导入SubscribeSample 目录内的ECSpec.xml
  6. 导入成功后,选择File->Deploy As,部署一个新的叫做“MengSpec”的ECSpec
  7. 再部署一个叫做“Meng2Spec”的ECSpec
  8. 在命令行输入如下命令:

    >run subscribe Meng2Spec console:test

  9. 看到输出:

    Target ALE Service: http://localhost:6060/axis/services/EPCglobalALEService

    ubscribing notification handler for spec Meng2Spec in Edge Server.

  10. 观察管理控制台的变化:

    图12

  11. 运行以下命令可以停止发布报告:

    >run.bat unsubscribe Meng2Spec console:test

    由于SubscribeSample的代码相对比较冗长,限于篇幅,本文不在这里进行详细的分析。读者可以自己参看代码和相应的注释,尤其注意其中的非immediate方式的处理过程和所调用的ALE API。

2、报告和报告发送方式

BEA Edge Server 支持很多种报告发送方式,包括命令行方式、文件系统、HTTP和TCP等。前面我们已经看到使用命令行方式,下面以文件系统为例展示其它的报告发送方式。

  1. 首先创建两个临时目录:

    >mkdir c: emple1

    >mkdir c: emple2

  2. 执行如下命令:

    >run.bat subscribe MengSpec file:///c:/temp/ale1

  3. 执行如下命令:

    >run.bat subscribe Meng2Spec file:///c:/temp/ale2/file.txt

  4. 在运行几秒钟以后, unsubscribe 上述的ECSpecs (MengSpec and Meng2Spec).

    >run.bat unsubscribe MengSpec file:///c:/temp/ale1

    >run.bat unsubscribe Meng2Spec file:///c:/temp/ale2/file.txt

  5. 察看这两个临时目录下面的内容。在ale1目录下,由于在命令行指定的是目录,所以不同的ECReports被保存在不同的文件中,而在ale2目录下,ECReports被保存在同一个在命令行指定了名称的文件中。

三、Edge Server和工作流

BEA Edge Server 提供可配置的工作流模块,使用户可以快速配置中间件来处理RFID部署环境中的通用物料运输工作流。下面我们讨论一个比较特殊的工作流—有方向工作流。

有方向工作流的思想非常简单:用户或者说是应用程序可能会需要了解一个标签移动的方向,例如一个贴有标签的商品正在从仓库移动向商场货架。有方向工作流模块记录附加了时戳的流动方向,并且可以通过配置将该数据作为一个ECReport发送给企业中央服务器。

一个有方向的工作流最少需要两个读卡器,然后由标签先通过其中一个读卡器后通过另外一个读卡器而推断出其流动方向。在实际部署中,会有很多异常情况导致方向推断过程出错,例如两个读卡器同时读到同一个标签或者在一个读卡器读到该卡后,另一个读卡器一直没有检测到该卡。

限于文章篇幅,大家可以参考下面链接的示例来建立自己的工作流:http://edocs.bea.com/rfid/edge_server/docs21/workflow_reference/config_use.html#wp424256

在这篇文章中,我们介绍了Edge Server中Immediate方式的一些更复杂得配置、一些其他读写方式和工作流模块。限于作者的水平和文章的篇幅,没有能够更多深入探讨和分析,希望能起到让大家入门和上手的效果吧。大家在实际项目中,可以根据具体的需求情况,在本文介绍的基础上开发自己的应用程序。如果需要对BEA Edge Server体系结构有更完整地认识或者需要能具体深入地了解该产品的话,可以参考BEA的文档:http://edocs.bea.com/rfid/edge_server/docs21/

 

作者:BEA中国 孟和


      
推荐 】【 打印 】【 发表评论 】【 加入收藏

 相关文章
· RFID技术在高速公路边坡远程自动在线监测中
· 基于RFID技术的实验楼智能安全管理系统设计
· RFID中间件系统关键模块的设计与实现
· 基于射频IC卡的应用系统研究与设计
· 基于嵌入式Linux的便携式RFID信息采集与处
· 将RFID技术用于小港机场紧急救护
· 基于射频识别技术的联机型门禁系统设计
· 一种基于时隙ALOHA的RFID系统防碰撞算法
· RFID系统的组态管理软件设计
· 如何进行RFID的现场勘验(Site Survey)
 最新供求
·射频检测器
·求枪支离位报警项目合作
·求购类似马来西亚身份证卡
·求购远距离读写器(固定与手持两种)及配套标
·求医院用13.56特殊标签和读写器
·求车辆管理系统方案和报价
·buy 2.5 Million RFID Tag for library use
·大量采购2.45G有源电子标签和读写器
·求购915MHz电子标签(量大)
·求购PA薄膜
 相关关键词搜索
·资讯中心RFID  BEA  开发  读卡器  RFID中间件  标签  工作流  Edge Server  
·技术中心RFID  BEA  开发  读卡器  RFID中间件  标签  工作流  Edge Server  
 
 
 
业界资讯 纵深报道 技术学院
国际资讯 | 国内资讯 | 国内企业 | 国外企业 | Global News
  重点专题
· 自动识别协会射频工作组 · RFID圈内企业动态
· RFID行业高层访谈 · 智能卡与一卡通
· RFID与食品安全 · Scan China展会专题
· 远望谷IPO之路 · RFID与医疗卫生
· NFC手机与支付 · RFID联盟产业园建设介绍
· RFID与智能交通 · 各国RFID频段标准与政策
· 出租车停运以及解决办法 · 863计划RFID专项
  相关产品

MSP430单片机无线模块学习板
nRF24Z1无线模块
FN HFM0218读写器
2.4G无线音响模块
Intermec CK3 耐用型移动计算机
激光条码扫描器
带串口的nRF905无线模块
Alien-9900读写器
篮牙无线扫描笔
  推荐文章
· 新西兰航空公司利用RFID技术简化登机手续
· 1GHz以下全球免许可频段短距离无线系统的设
· 德国租赁公司使用RFID技术管理物品
· 美包伯·琼斯大学使用RFID系统加强校园安全
· 美国社区居民利用RFID技术回收垃圾
· 美国港口运用RFID技术减少空气污染
· 拉美零售巨头使用RFID改善服装库存管理
· 沙特珠宝商利用RFID改善库存管理
· 基于RFID技术的运输车辆及汽车衡称重防作弊
· 加拿大宠物用品公司采用RFID系统快速满足沃
  相关案例和方案
· 加拿大宠物用品公司采用RFID系统快速满足沃
· 美诊所采用无源RFID系统减少标本瓶贴标错误
· RFID远距离人员识别系统解决方案
· 台湾科学工艺博物馆应用RFID于顾客服务及分
· 东欧石油公司采用Hi-G-Tek RFID封条管理燃
· 灵蛙RFID仓储物流系统解决方案
  相关资讯文章
· 中山通电子收费系统正式启动
· RFID、手掌静脉闪耀2008富士通论坛
· 质检总局快报(2008-11-24)
· 金融危机海啸无碍深港创新圈的资助计划
· 博科北大讲坛 “赢在物流”计划启动
· RFID中间件香气四溢
快 报 论 坛
· 金属环境中屏蔽抗干扰材料资料,用于NFC/RFI
· 昆明联联国际门禁系统|考勤机
· 昆明防盗报警|红外报警器-昆明联联国际
· 昆明联联国际红外|昆明报警|红外报警
· 昆明监控报警系统 |防盗系统-昆明联联国际
· 昆明监控安防|监控|监控报警|监控报警系统|
快 报 问 吧
· 是否可以通过中继的方式,提高识别距离
· 标签读取的时候能读远读不了近?
· 请教门禁卡有哪几部分组成?
· private string RFID_CM的意思是什么?
· 解析服务、目录服务及信息发布技术研究
· 资产管理一般用什么频率的?
快 报 博 客
· 突发奇想,如果许三多成了酬勤的员工?
· 手掌静脉--告诉你到底是谁?
· 看了一遍我哭了,希望珍惜眼前人。。!!!!!(结
· 如何把条码引入固定资产管理系统?
· 如何利用条码来防伪防窜货管理系统?
· 喷码机(旗舰型)

关于我们 | 广告服务 | 帮助中心 | 联系我们 | 友情链接 | 版权申明
客服电话:0531-82679069   编辑部电话:0531-82679328   节假日电话:0531-89180705   客服QQ:651127860 QQ群:41109672  47658979  MSN:RFIDinfo@126.com
版权所有©2003-2008  RFID射频快报 鲁ICP备05021498号 增值电信业务经营许可证鲁B2-20050166号