基于RFID在Rifidi中的仿真研究
射频识别(Radio Frequency Identification,RFID)技术,作为快速、实时、准确采集与处理信息的高新技术和信息标准化的基础,已经被公认为本世纪十大重要技术之一。
本课题主要讲述射频识别(RFID)在仿真软件Rifidi中的仿真应用。RFID是一种新型的自动识别技术,具有很多优点。但由于在射频识别 (RFID)读写器和天线的安装过程中,实施人员有时要绞尽脑汁地满足速率要求和反复调试各种方案才能达到最好的读取效果。另外,即便实施人员已经设计了一种安装方案并调试成功,但是该方案在实际应用中究竟有多大的作用依然是个未知数,一旦不能满足实际应用的需要,调整方案所带来的“回滚”不仅会耗费大量的人力、物力,更有可能使测试工作回到“原点”。
基于这个目的,可以利用一个有趣的工具Rifidi,Rifidi软件仿真工具可以快速地评估多种不同的系统配置和方案的应用,并同时从每一次分析中获取比物理测试所能提供的更多的信息。其基本思想是,在一个完全仿照读写器和标签安装环境的模拟环境中,仿真RFID读写器和标签的性能以及实际生产线的运作情况。通过预测RFID标签和读写器在实际工作环境下的回波率和回波损耗,预测生产线的阻塞情况和运行效率,工程师可以方便、快捷地估计各种设计参数,确定发生RFID读取速度和效率问题以及生产线阻塞的根本原因。因此,本课题设计了一个基于RFID的新的感知应用平台,一个虚拟的店员,并通过用 Rifidi仿真软件模拟分析了一个在真实的公司可运作的业务流程。
1 RFID的背景介绍
1.1 RFID的系统组成
最简单的RFID系统一般由阅读器(Reader)和标签(Tag)组成。标签放置在被识别的物体上;阅读器可以是读或写/读装置,取决于所使用的结构和技术。射频标签与阅读器之间通过天线架起空间电磁波传输的通道。空间传输通道中的发生的过程可归结为三种事件模型。数据交换式目的,时序是数据交换的实现方式,能量是时序得以实现的基础。
1.2 RFID系统分类
1)按信号频段分类低频(9~135 kHz):使用这个频段的系统有一个缺点,识读距离只有几厘米。但是由于该频段的信号能穿透动物体内的高湿环境,因此被应用于动物识别。
高频(13.56 MHz):这是一个开放频段,标签的识读距离最远至1~1.5 m,写入距离最远也可达1 m。
超高频(300 MHz~1.2 GHz):这个频段的标签和阅读器在空气中的有效通讯距离最远。
微波(2.45~5.2 GHz):这个频段的优势在于其受各种强电磁场(如电机、焊接系统等)的干扰较小,识别距离介于高频和超高频系统之间,而且标签可以设计得很小,但是成本较高。
2)按标签分类标签可以通过阅读器发射的无线电信号产生感应磁场而获得电源,也可以由内置的电池驱动。前者称为被动标签,后者为主动标签。被动标签范围为几厘米到10 m,而主动标签读取距离可达1~200 m。
2 RFID仿真软件Rifidi的介绍
Rifidi是建立在RFID各个方面应用的一个完整的中间件平台。与业界领先的原型制作工具和先进的RFID中间件服务器相联系,Rifidi可以使你对RFID的设计理念变成实际生产中的应用。Rifidi平台主要是有两个不同组件组成的,一个注重原型的设计,一个注重产品的应用发展及部署规划。
Rifidi工具包是Eclipse依据集成电路设备旨在Rifidi环境中塑造和模拟RFID硬件和RFID事件。用这个工具包我们可以构建一个真实环境中拥有相同的阅读器,标签和事件的一个虚拟的RFID环境。
Rifidi Edge是开发和部署RFID应用的强大的中间件平台。Rifidi Edge为RFID与其他传感器设备的相互作用的复杂性提供了便捷,并且提供一个叫Esper(一个复杂事件处理和事件流处理应用的组件)作为它的规则引擎,该引擎已经为RFID数据处理定制。建立一个轻量级,模块化部署的服务器平台叫做Equinox OSGI,Rifidi Edge为你提供了强大的商业应用环境,促使RFID硬件和RFID数据处理之间可以相互通信交流。
Rifidi工具包是一个为建立面向RFID原型的产品套件。该Rifidi工具包的核心是一个可以模拟RFID阅读器到它的通信协议和标签读取的仿真引擎。Rifidi工具包是由一个仿真引擎和三个不同的软件一起组合使用,从而才能帮助执行一个完整的RFID原型产品。
Rifidi工具包主要包括以下3部分:Emulator(仿真器),Designer(设计),Tag Streamer(标签流)。
Emulator:Rifidi Emultor 是Rifidi工具包的核心开发工具。它能够模拟阅读器和标签,并且能够很好的和硬件连接起来,它还集成了一个脚本引擎来给标签和标签的阅读创建3D场景。
Designer:Rifidi Designer是一个建立在仿真引擎基础上自定义演示工具,可以提供丰富的3D场景供演示。
Tag Streamer:Rifidi Tag streamer是一个负载测试工具,允许你生成大量的虚拟阅读器和标签来测试RFID系统。
3 RFID在Rifidi中的设计与实现
3.1 Rifidi工具包
Rifidi作为一款RFID系统的的仿真软件工具,它可以创建真实环境中RFID的所需要的3D场景。它也就是一种可以仿真RFID阅读器在阅读器和客户机端直接的程序,也就是说一个用户可以像和一个真正的阅读器一样和Rifidi阅读器进行信息交流,以下将主要用Designer和Emu-ltor进行仿真实验。
3.1.1 Designer
打开这个软件时候,可以看到整个窗口主要由4部分组成如图1所示。
在屏幕的左上方的方框中可以看到构建3D场景所必须的一些元器件(包括gate,box等);
在左下方可以看到3D场景的迷你图形;
在屏幕的中心便是所要构建的3D,可以在这里贴加所需的元器件;
在窗口的3D场景下有一系列的性能列表,可以改变其性能值;
首先,创建一个新的场景,并给它一个名称,选择合适的大小放置在合适的地方。它允许贴加一些预定义的对象如conveyors,gates,push- arm,boxes等。每个对象都有它特定的属性(例如灵敏度和速度),这取决于对象的类型。放置在3D场景中的物体都可以被旋转,删除,并且它们之间要通过GPIO(通过输出输入)相互影响作用。特别是,此属性必须被激活在创建对象的时候使用。GPIO的典型使用push-arm被门激活(例如,如果一个阅读器检测到某个RFID标签,Push-arm将会被激活,从而去移动标记有该标签的问题)。每个添加到3D场景中的对象可以在运行当中被启用或禁用。
每个门都拥有特定的IP地址和端口,通过它这样就可以监测通过门的标签。一个控制台可以帮助用户分析每次读取的标记的过程当一个虚拟盒子通过时。
3.1.2 Emultor
Rifidi Emulator是用来研究仿真项目的另个重要工具。
首先第一步打开Emultor,创建如下4个阅读器:FS和DS IP地址和端口地址为127.0.0.1:20000;FC和DC IP地址和端口地址为127. 0.0.1:21000,添加标签到阅读器中。
打开workbench,创建连接设置如图2所示,打开Emuhor的阅读器,读取标签的具体信息如图3所示。
Rifidi Designer和Rifidi Emulator之间最大的实际区别在于对于标签的管理方式。在Bifidi Designer中,标签是在系统中自动形成和随机分配的,而在Rifidi Emulator中标签可由用户自己贴加形成,用户可以从阅读器中自主的放置或删除标签。
3.2 案例研究虚拟商店助理(Virtual Shop Assistant(VSA))
在这个案例研究中,选择了一家代表普通的服装商店如图4所示。顾客在琳琅满目的各种衣柜里寻找自己合适的衣服。当一位顾客想要买一件衣服时,通常她\他都会先试穿下,看是否适合自己。此时,该人在更衣室中换衣服。通常在服装商店买衣服,唯一了解这衣服是否适合自己的通常就两种情况,穿在镜子前面或征求其他人的意见(例如店员)。而现在,可以用虚拟商店助理来完成。
VSA是一个基于RFID的感知应用程序,它能够检测被顾客带进更衣室的衣服的类别并且为他们提供建议(其他可能符合顾客品味的服装,鞋子和衬衫特定的搭配等项目)。因此,VSA既可以给顾客提供一次快乐的购物经历,也方便了商店的店主自动拟定某些销售政策。最重要的一点是它为一些在世界各地拥有很多的分店的知名品牌的大公司的销售管理提供了很大便捷。
使用VSA系统时,每一件衣物都有加上一个RFID标签。当顾客拿了一些货架上的服装去更衣室试穿时,位于旁边的RFID系统将读取数据,显示客户所选择的衣物现状为[busy]。这种RFID阅读器监视服装被取出或被放回原处,和管理衣物现状,如图5所示。
在每一个更衣室的入口处安置另一个RFID阅读器,读取这一更衣室衣物的进出状况(图6)和更新衣物的现状及它们现在放在某个更衣室。
更衣室内有一台监视器(图4)显示顾客选择服装的信息和其他相关的细节。该显示器显示在房间里的衣服总价钱,以及所选择项目(或在货架上类似的衣物)的折扣等。你可以在显示器上找寻相关服装的详细资料(例如,尺码,品牌,材料)。此外,系统还可以向该客户建议其它感兴趣的服装。
虽然在这项工作的范围内,提供人工智能是不可能的,但可以施行一个简单的建议机制,如[其他买X的客户,也常常买Y,因此,如果一个客户正在更衣室试穿 X,就建议他试穿Y ],[X是一项有折扣,替代Y型的商品X。当然,售货员也可以加上一些时尚或品味的标准建议。最后,系统显示的货品必须目前在商店中有适当的尺码存货。
3.3 虚拟店员助理的软件体系结构
在图7中,展示了以RFID为基础的应用软件体系结构。该系统的核心是虚拟店员助理(VSA)。这个模块允许所有不同组件之间进行信息交流,尤其是以下3 个部分:数据库,RFID读写器,图形用户界面。下面将介绍各个部分的功能,而主要是对VSA的分析。从本质上来说,VSA的分析是通过由RFID读取的数据,它管理RFID标签并补充资料的数据库。这个信息因RFID阅读器类型的不同而改变。比如,当把RFID阅读器放置在衣柜上时,在这种情况下,系统读取的将是有关各类衣服的信息。而当阅读器放置在更衣室的入口处时,阅读器将会读取顾客所要去试穿的这件衣服的相关信息,并传至更衣室内的显示器中。此外,VSA将通过更衣室内的显示器和顾客交流更多的信息。
3.3.1 数据库
在该项目中,商店网络数据库应创建数据库管理系统。
主要包括以下几个内容:
服装:它包含所有有关服装的信息(如大小,颜色,品牌,价格等);
颜色:它包含要与服装相关的颜色;
品牌:它包含品牌的说明;
类型:它包含服装的种类;
位置:它包含了货架上的位置;
建议:它包含各类标签间的联系,如果X被选择了,那么就建议试穿Y;
意见类型:包括工作人员,顾客,和折扣等。
3.3.2 RFID阅读器
对一个RFID阅读器是通过一个客户端服务器连接的。每一个RFID阅读器都有一个特定的IP地址和特定的端口。阅读器就像一个服务器一样,读取标签上的信息,然后通过应用程序传至客户端。因而,当VSA和RFID阅读器建立连接时我们首先要设定适当的参数值。当读取一个标签的信息传达到VSA客户端可能有以下两种信息:1)当衣服从衣架上取走时,现在该项为“正在使用”;2)当衣服被带进更衣室时。
很明显这两个动作取决于RFID阅读器的类型。在这个案例研究中,因为是属于近距离传输,为了避免相邻近的更衣室服装相互之间的干扰,所以采样低频的RFID阅读器和标签,而且这种RFID标签更便宜。
3.3.3 图形用户界面
这主要用于为顾客提供他们所选择的服装的基本信息(价格,折扣,总结额等),通过衣服上的RFID标签直接通过阅读器与数据库相连,从而可以实时的将信息反馈到更衣室的显示屏上,为顾客提供全方位的服务。
3.4 Rifidi仿真研究
在这个项目测试中,考虑使用4个RFID AlienALR9008阅读器,它可以与其他物体对象进行相互交流,如push-arm。在这个3D环境中用盒子代表标签,这些盒子标签将在push- arm的帮助下在传输带上进行移动。RFID阅读器分配在4个不同的位置,当该标签盒通过时,代表着如下4种情况:1)顾客从货架拿走1件或多件服装;2)顾客走进更衣室;3)顾客从更衣室出来;4)顾客把服装放回货架上。
Rifidi的操作主要分成两个部分:
1)控制台和货架上的阅读器进行了连接,假设事实上存在着一个中央计算机管理着全部的阅读器并设置连接。当服装被从货架上取走时,它将会在数据库中自动设置成[Busy]状态,而当衣服被放回时,又会设置成[Free]状态。可将这部分的IP地址设置为127.0.0.1,端口地址设置为20 000。
2)在这部分主要是管理更衣室里的阅读器,在这里主机可用实时的将用户所要试穿的服装的具体信息传到各个更衣室单元的显示屏上。这里将IP地址设为127.0.0.1,端口地址为21 000。
具体操作步骤如下:
①点击开始Designer软件,构建一个场景如图8所示;
②添加构建场景所需的组件,选择阅读器类型为AlienALR9800,标签类型为DOD9GEN2如图9所示;
③点击“Perpecstives”设置好GPIO,从而激活Push-arm。
3. 5 Rifidi重点问题分析
在本次项目的测试仿真中,在Rifidi Designer和Rifidi Emuitor中都遇到了一些Bug。特别是在Rifidi Designer中主要有以下几个问题:
1)门的性能比如IP地址和端口只能在最开始创建的时候设置,之后就不可更改;
2)如果有一个以上的GPIO连接,在GPIO视角里只有第一个可被可视化,而其余的即使存在也不能被可视化;
3)如果有许多相同类型的对象,在GPIO视角里仅第一个可以被重新命名;
4)程序计算繁重,需要占有大量的CPU时间和内存资源。
而Ritidi Emultor中主要存在以下两个问题:
1)用户不能同时在两个仿真器中设置一样标签;
2)用户无法生成自己特定的标签,即使提供所有标签的数字。
总的来说,Rifidi作为一款开源软件,虽然还存在着很多问题等待去解决,但其应用前景是毋庸置疑的。
4 结论
随着物联网的兴起,RFID作为物联网中的重要组成部分,将扮演着越来越重要的作用。但不幸的是,基于目前REID标签价格的昂贵,企业在实际的商业运作当中要花费大量的人力和物力,从而降低了企业的效益。而Rifidi作为一款开源软件,它的出现极大地降低了企业的支出。Rifidi可以快速地评估多种不同的系统配置和方案的应用,从而使企业以最小的投入得到最大的效益产出。本论文的仿真研究是主要基于Rifidi套件中Designer环境中进行测试仿真,但随着Rifidi的更加完善,在以后的工作中也可以在Prototyper中进行仿真研究。Prototyp-er是一款基于Ritldi Emulator的仿真软件。仿真阅读器可以被创建并被放置,通过它将会使你更容易地测试工作流程和业务逻辑,而不需要昂贵的硬件设置就可以在这款软件查找出可能出现的问题并得以纠正。