基于物联网技术的智能货架研究与应用
2015-05-30陈威屹张云慧张军
陈威屹 张云慧 张军
作者简介:陈威屹,女,北京物资学院信息学院,研究生,研究方向:智能物流、物流信息化。
张云慧,女,北京物资学院物流学院,研究生,研究方向:智能物流。
张军,北京物资学院信息学院,研究生,研究方向:智能物流、物流信息化。
摘要:本文重点研究了以物联网技术为主的智能货架应用,将RFID技术作为应用的关键技术,使货架能够实现物品监控、数量统计、库存管理的功能,同时,结合展示系统,智能货架可完成物品促销的功能,除此之外,本文还对部分功能实现后的系统界面进行了展示与说明。
关键词:RFID;智能货架;数量统计;库存管理;物品信息展示
1. 引言
随着物联网在当今时代的快速发展,是一个信息化、智能化高度发展的时代,越来越多的人们感受到物联网技术给人们的生活带来的巨大变化。当前,在物联网技术领域RFID技术是我们应用最为广泛的技术之一,RFID技术具有体积小、数据容量大、使用寿命长、可重复使用等多种特点[1],主要应用于物品的追踪与管理等方面,比如,惠普公司在全球的供应链管理上的应用,在提高生产效率的同时降低了大量的管理成本[2]。当前,RFID技术也走进了我们的生活,我们日常随处可见的公交卡,以及身份证等都是基于RFID技术实现。本文中,将RFID技术应用到了一个新的领域——商品货架中,将RFID技术与数据处理相结合运用到普通货架中,使其实现部分智能化功能,在普通货架功能的基础上,以用户使用最优化为原则整合而成的具有数据统计、检测,库存提醒等功能于一体的新型货架。智能货架的产生是为了能够更好的满足管理者快速轻松管理物品以及消费者对于物品基本信息详细了解的需求。
2. 智能货架功能设计
智能货架一种集多种功能于一身的并能够實现与使用者进行信息交互的货架,智能货架适用于多种场合:物品管理,物品库存管理等。在本文所设计的以RFID技术作为主要技术手段的智能货架中包括数据统计功能、物品信息展示功能、库存管理功能,同时结合报警系统完成安全库存提醒功能,下面就以上功能分别进行介绍。
2.1 物品数量统计
RFID技术在智能货架物品管理系统中的运用是数据准确统计的保证。智能货架上是9格设计,为了能够更加准确的确定货格内的物品及数量,我们对每一货格都配有独立的RFID天线与阅读器,在智能货架上的每个物品上都有一个RFID标签,每个RFID标签独立承载相应物品信息。由于RFID系统是对数据进行实时统计,当货格内放入或取下附有RFID标签的物品时,RFID系统就会自动产生数据变化,完成数据的实时统计。统计完成的数据,会通过上位机系统进行数据的处理与整合,生成更多信息,供管理者进行参考。
2.2 物品信息展示
在常规的智能货架中,我们需要通过销售人员的介绍增加对产品知识的了解。而本文中,我们在智能货架的展示区设置了RFID读写器,与后台数据库相连,当消费者想要了解关于物品的相关信息时,消费者只需要在展示区的刷卡区域刷一下物品对应的RFID标签,此时展示区就会显示出相应物品基本信息,例如:物品图像与名称,物品价格,当前折扣,物品位置等。智能货架的此种设计,是为了让消费者很轻松的获取商品信息,在提高了产品服务质量的同时,在很大程度上降低了销售人员的工作量。
2.3 物品库存管理
物品库存管理,是智能货架中的另一重要功能,由于RFID技术的本身的特殊性,可以对货架上物品数量进行实时读取与统计并反馈至上位机数据库系统中,管理者可以在智能货架系统中监测货架物品数量信息,减少手工清点数量环节并及时准确的确定所有物品数量以及相应物品的补货量。管理者还可以对不同的商品设置安全库存量,根据上位机中数据统计结果,当数量少于安全库存设定值时,智能货架系统会触发警报系统,进行提醒。这个功能可以提醒物品管理者及时进行商品货架上的补货,避免由于物品短缺而造成的销售损失。此功能还可以用在仓库库存管理中,为物品的数量盘点和仓库安全库存管理带来了很大的方便。
3. 智能货架功能实现
3.1 RFID设备选型
> 标签
RFID标签包括按照其能量来源可以分为主动式标签,半主动式标签和被动式标签。主动式与半主动式标签由于需要自身提供自身的工作能量,所以体积较大,不易隐蔽且价格较高。由于在智能货架中,对读写的距离要求较低且对标签的可隐蔽性要求较高,我们选择外形较为轻便,价格相对低廉且较易隐藏的被动式标签[3]。
> 读写器
在智能货架中,由于读取数据量相对较少且读写器与标签的距离较近,同时由于智能货架空间较小,考虑到整体货架的美观性以及与其他设备连接的可行性,我们选择了型号为MUR-100的读写器,其支持ISO14443-4协议,使用USB接口与上位机进行通信。
> RFID天线
本文所设计的智能货架中共有9个货位,共10个读写器。考虑到数据读写的准确性与差异性,以及外观的美观程度,我们选择了棒状天线。由于标签之间的距离较近,为了避免数据碰撞确保货物标签数量和环境数据的读取精度,实现货物精确定位和货物状态监控,我们在现有的货架层与层之间距离的基础上调整天线的位置,以达到最好读取效果。经过反复测试时,我们选择了中心频率为915mhz,带宽100MHZ,增益5db的棒状天线。
> USB Hub与电源适配器
智能货架上共需要10个阅读器同时完成工作,由于中心服务器上的USB接口较少,选取一个USB Hub将十个读写器的数据集中传给中心服务器从而解决了读写器的数据传输问题,其可以支持windows XP/vista/7系统。在读写器的供电方面,由于每个读写器的电流为1A,电压为5V,所以我们选用输入电压为AC100-240,50-60HZ,输出电压为DC5V,输出电流为5A电源适配器为十个读写器供电保障。
3.2 功能實现
本文所设计的智能货架主要包括数据统计,数据分析以及商品库存提醒这两个功能。针对以上功能,我们对所涉及出的结果展示如下:
> 数据统计
本功能的功能实现主要来自RFID系统对数据的采集,是对智能货架上得物品数量信息进行实时监控。实现的界面如下所示:
图1智能货架数据统计界面
数据统计功能实现代码如下:
exports.startUDPListening = function()
{_.each(readerPortNameMapList, function(_readerPortNameMap)
{__startNewInventoryUnit(
{listeningPort: _readerPortNameMap.port, ep: g_EventProxy,
minTagReadedConfirmCount: _readerPortNameMap.minTagReadedConfirmCount|| defaultMinTagReadedConfirmCount
, maxTagReadInterval: _readerPortNameMap.maxTagReadInterval || defaultmaxTagReadInterval});
serverList.push({readerName:_readerPortNameMap.readerName, port:_readerPortNameMap.port, tagList:[], subscriber:[]});
});}
> 物品信息展示
物品信息展示,是由RFID系统在读取物品以后,将数据传输至上位机,并由上位机将信息发送给智能货架展示系统,以实现物品信息展示,其系统实现界面如下:
图2智能货架展示系统
在智能货架信息展示实现代码如下:
public override bool RecData(ref string aRecPack)
{List
try
{ int n = _comPort.BytesToRead;
byte[] buf = new byte[n];
_comPort.Read(buf, 0, n);
maxbuf.AddRange(buf);
while (maxbuf.Count > 1 && maxbuf[0] != 170)
{ maxbuf.RemoveAt(1); }
while (maxbuf.Count >= 19 && maxbuf[maxbuf.Count - 1] == 85)
{ if (maxbuf[2] == 17 && maxbuf.Count > 3)
{ byte[] binary_data_1 = new byte[maxbuf[1] + 2];
maxbuf.CopyTo(0, binary_data_1, 0, maxbuf[1] + 2);
StringBuilder str0 = new StringBuilder();
foreach (byte b in binary_data_1)
{ str0.Append(b.ToString(“X2”));}
aRecPack = str0.ToString().Substring(12, (maxbuf[1] - 5) * 2);
if (type == “ReadOnce”)
SendData(“aa021255”, type);
// DecodeUIIData(id); // maxbuf.RemoveRange(0, maxbuf[1] + 3);}
maxbuf.RemoveRange(0, maxbuf[1] + 2);}
if (aRecPack.Length > 0)
{ // _comPort.DiscardInBuffer();return true;}
else return false; }
catch
{ return base.RecData(ref aRecPack); }
}
> 物品库存提醒
智能货架中得数据分析,是通过RFID在进行数据收集以后,智能货架系统会根据一段时间内的数据收集进行数据统计,并以图形的形式展现出来,当库存数量少于安全库存时,系统就会发出警报,提醒用户进行库存完善。智能货架系统库存预警界面展示如下所示:
图3智能货架库存预警界面
物品库存系统功能实现代码如下:
function __startInventoryAlert()
{var alertInventories = _.without(
_.map(minInventorySettings, function(_setting)
{var inventoryCrt = _.findWhere(inventoryRecords,
{productCode: _setting.productCode});
if(inventoryCrt != null && _setting.value > inventoryCrt.value)
{return {productName: inventoryCrt.productName, value: (_setting.value - inventoryCrt.value)};
}else return {productName: _setting.productName, value: (_setting.value)};
}), null);
console.log('inventory alert => '.info);
console.dir(alertInventories);
if(_.size(alertInventories) <= 0) return;
var cmdStr = _.reduce(alertInventories, function(_str, _alertInventory){
return _str + _alertInventory.productName + '缺货数量 ' + _alertInventory.value + ' ';
}, '');
var cmd = {name:'led', msgType:'push', para: cmdStr};
var str = (JSON.stringify(cmd));
console.log(('command => ' + str).info);
if(WebSocketEventCenter != null){
WebSocketEventCenter.send(str);
}}
4. 結束语
智能货架中还有很多需要进一步改进地方和需要发掘的功能。未来一代的智能货架能够实现物品的瞬间信息显示即当使用者将物品从货架取出时即可显示系统即可显示物品信息无需标签读取;未来的智能货架还有可能实现语音交互系统,当物品较多时,可以方便物品寻找功能等。智能货架的应用远不止于此,智能货架可以对物品的资产安全管理[4]以及对医药行业的药品监管[5]等,随着物联网技术的进一步发展和不断完善,相信未来的货架会向着更加智能,更加自动化的方向发展。(作者单位:北京物资学院)
参考文献:
[1]李立强,申振,廖国琼等.数字技术与应用[J].2013(30-31)
[2]三宅信一郎,周文豪.RFID物联网世界最新应用[X].2012(18-38)
[3]王玉泉,朱韶红.基于RFID技术的智能货架的研究.微计算机信息[J].2010(26),132-133.
[4]RFID射频网,中国防伪报道[J].2013(01),56-58
[5]冯端浩,赵冠仁等.中国药房[J].2012(45),4248-4250