RFID(Radio Frequency Identification)是一种非接触的自动识别技术,其基本原理是利用射频信号和空间耦合(电感或电磁耦合)传输特性,实现对被识别物品的自动识别。
无线射频识别技术是一项易于操控、简单实用且特别适合用于自动化控制的技术,其所具备的独特优越性是其它识别技术无法企及的。它既支持只读工作模式也支持读写工作模式,且无需接触或瞄准;可自由工作在各种恶劣环境下;可进行高度的数据集成。另外,由于该技术很难被仿冒、侵入,使RFID具备了极高的安全防护能力。
RFID标签中载有关于目标物的各类相关信息,如:该目标物的名称,目标物运输起始终止地点、中转地点及目标物经过某一地的具体时间等,还可以载入诸如温度等指标。RFID可灵活附着于从车辆到载货底盘的各类物品。
RFID系统一般由三个部分组成:
1. RFID标签(Tag or Transponder):按照标签获取电能的方式不同可以分为主动式标签和被动式标签。
2. 阅读器(Reader):阅读器一般包含一个产生射频信号的射频收发器(rf transceiver) 和一个在阅读器及RFID标签间传输射频信号的天线。
3. 打印机(Printer):打印机的功能主要是向RFID标签中写入信息。
RFID技术的主要应用领域包括:
IBM Premises Server V6.1的主要功能和应用场景
下面我们将以示例应用程序Dock Door Receiving为例,介绍Premises Server是如何与传感器以及RFID阅读器协同工作的。
Dock Door Receiving可以被应用于零售业的商店或者配送中心,用于对仓库中货物的进出进行跟踪和统计。在这个应用场景中,首先需要在商店或者配送中心的仓库门口安装一个检测门(在Premises Server中称为Portal),包含如下设备:
其中,天线,开关,传感器,反馈设备都连接到RFID阅读器上。
如下图 1 所示:
Premises server通过I/O Agent、Reader Agent和Portal Controller Agent控制以上物理设备,完成整个业务逻辑:
Dock Door Receiving是Premises Server提供的一个简单的示例应用程序,客户还可以通过Premises Server API编写自己的应用程序,达到实现复杂业务逻辑的目的。
IBM Premises Server V6.1 API概述
Premises API为读取Premises Server信息和控制Premises Server提供了广泛的接口,可以应用于各种各样的用户场景。比如,
通过Premises Server API可以查询Premises Server的以下信息:
通过Premises Server API提供了以下基本的控制命令
用户可以通过本地(和Premises Server安装在一台机器上)或者远程(和Premises server安装在不同的机器上)(通过Web Services)的接口方式来调用Premises Server API。为了读者对API有个更清晰的了解,下面介绍一下Premises Server API中常用的核心类和其它类。
IBM Websphere Premises Server API 中常用的核心类
以下是IBM Websphere Premises Server API库的核心类的列表:
1. PremisesAccess
用来对API库进行初始化。这是我们使用这个 API 中的第一个类。
2. PremisesAccessLocal
从PremisesAccess继承而来,表示API连接到一个本地的Premises server。
3. PremisesAccessRemote
从PremisesAccess继承而来,表示API连接到一个远程的Premises server。
4. Premises Context
这个类有个静态函数GetPremisesAccess用来返回一个PremisesAccess对象。
5. Printer
Printer类用来处理打印机的信息。比如读取打印机的IP地址,端口号,同时也可以通过该类的submit方法来打印RFID标签。
6. PrinterType
用来描述在Premises server上的打印机的类型定义。
7. PrintTemplate
用来描述一个已经在Premises server上定义好的打印机模板(Printer template).PrintTemplate 对象不能创建,改变或者删除已经在Premises server上定义好的打印机模板。PrintTemplate对象允许自己定制标签(Labels)。PrintTemplate对象保留了一个指向ZIP包的URL字符串,这个被指向的ZIP包含了打印机模板的详细信息。
8. Reader
让我们可以处理Reader的信息。比如读取RFID阅读器的IP地址,端口号,同时也可以通过该类的start/stop方法来控制RFID阅读器的开始和结束。
9. ReaderType
用来描述在Premises Server上的RFID阅读器类型定义。
10. PremisesAccessException
缺省的异常类。
在使用IBM Webpshere Premises Server API库时,您会发现还有其他一些类也非常有用
1. SupplyChainProfile
用来描述供应链的信息。
2. PackType
继承于SupplyChainprofile,用来描述供应链的包裹类型(PackType)
3. Device
用来描述在Premises Server中已经配置了的Device对象。Device类提供了Device ID、Location ID、配置组名、设备状态等信息可访问。
4. Location
用来描述在Premises Server中已经配置了的Location对象。
5. Controller
用来描述在Premises Server中已经配置了的Controller对象。它提供了Controller ID,User Name以及相关联的Location ID等信息可供访问。
接下来,我们再介绍一下怎样在Eclipse环境下安装和配置Premises Server API。
在Eclipse 3.3下安装和配置IBM Websphere Premises Server API
要将Webpshere Premises Server API设置为与WebSphere Premises Server一起工作,请执行以下步骤。
本示例展示了如何使用Websphere Premises Server API来实现Dock Door Receiving应用场景。在下载本示例之后,我们需要使用 Eclipse 的导入功能将工程导入到Eclipse的workspace中。导入之后,就可以启用这个示例程序。下面介绍示例中使用的主要功能:
static final String PremiseIP = new String("xxx.xxx.xxx.xxx");
static final String PremisePort = new String("9080");
PremisesAccess access;
InvokePremisesAPI()
{
access = PremisesContext.getPremisesAccess(PremiseIP,PremisePort);
}
|
public void SetStartLocation (String LocationID)
{
try
{
access.startLocation(LocationID);
} catch (PremisesAccessException e)
{
e.printStackTrace();
}
}
|
public void SetstopLocation (String LocationID)
{
try
{
access.stopLocation(LocationID);
} catch (PremisesAccessException e)
{
e.printStackTrace();
}
}
|
public void SetSendAcceptToLightStack(String LocationID)
{
try
{
access.sendAcceptToLightStack(LocationID);
}catch (PremisesAccessException e)
{
e.printStackTrace();
}
}
|
public void SetSendRejectToLightStack(String LocationID)
{
try
{
access.sendRejectToLightStack(LocationID);
}catch (PremisesAccessException e)
{
e.printStackTrace();
}
}
|
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14789789/viewspace-589252/ ,如需转载,请注明出处,否则将追究法律责任。