基于RFID技术的智能档案管理研究

叶伟洲 吴汝趁 蔡志岗



摘 要: 需要人工扫描标签的操作一直制约着无线射频识别(RFID)技术在档案管理中的应用。在RFID射频系统中加入工作频率为902~928 MHz的智能天线分支器,通过主分支器和子分支器的四級级联,系统最多支持256路天线切换。再通过Visual Studio上位机编程控制读写器的连接和读取,以及天线分支器查询级联和切换天线,就可以将档案标签和天线位置准确匹配,实现了档案的快速盘点、定位查找和错位提醒。该方法避免布置多个读写器,也不需要人工扫描标签,使得档案管理更加智能快捷。
关键词: RFID; 智能天线分支器; 读写器; 定位查找; 档案管理
中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2017)06?0109?05
Abstract: Manual tags?scan has restricted the wider application of radio frequency identification (RFID) technology in archives management. The intelligent antenna splitter working in 902~928 MHz is added to the RFID system. With four stage cascades of the main splitter and sub splitter, 256 antennas can be switched in the system at most. The connection and reading of the reader, and the splitter query cascade and antenna switching of the antenna splitter are controlled through Visual Studio upper computer, with which the accurate matching of the archive tags and the antenna position can be done. The fast check, locating search and malposition reminding of archive management were realized. This method avoids scanning the tag with multiple readers manually, and makes the archive management more intelligent and convenient.
Keywords: RFID; intelligent antenna splitter; reader; locating search; archives management
0 引 言
档案工作是一项发展型的工作,随着企事业总体工作的不断深化,各种项目的申报、开展实施等,档案资料也越来越多,将对档案管理工作提出更高的要求。所以,档案的信息化建设愈发显得重要[1]。
如果档案管理没有借助其他自动识别工具,档案盘点工作的劳动利用率不是很高,档案的安全管理工作只好借助视频监控来完成[2];对档案进行检索时,检索的信息还是上一次进行盘点之后的信息,信息存在滞后性[3];如果有人为原因造成的档案放置在不同的位置,作为档案管理人员,他们需要知道错位档案的信息,而现在的管理方式多数还不能实现。
本文设计和提出了档案馆采用RFID技术和Visual Studio软件相结合的管理系统。总体规划是:把RFID标签附着于档案盒上,通过天线分支器在各个档案柜里布置天线,各天线实时接收标签数据,可快速准确地获得档案信息与放置位置信息。并且可以知道有哪些档案是错位放置的,及时提醒管理员做相应的移架操作。应用加入天线分支器的RFID系统,使得原本靠人工的繁琐的盘点工作变得便捷。只要使所有天线依次轮询,便可以得到档案馆内的所有档案信息。基于Visual Studio的软件管理,让管理员只要在电脑上便可以实时地掌握档案馆的情况,管理更加人性化,一定程度上可提高档案的利用效率和准确性。
1 系统总体设计
市场上对于档案管理或者图书管理一般的解决方案是设计一个移动读写器(或手持机)进行档案上架、盘点等操作[4],而如果要实现档案馆的盘点功能就要挨个扫面每个密集架内的每个小格子,方法简单,效率低下,而且不能及时地实现档案的错位管理[5]。在考虑现有的解决方案的不足之处,结合市场上现有的产品,提出了RFID读写器加天线分支的解决方案。其总体架构图如图1所示。
天线分支器的工作频率为902~928 MHz(可以根据实际要求调整,而且档案馆是封闭空间)[6]。智能子分支器无需额外的供电电源线路连接,直接复用射频传输线的同轴电缆线由智能主分支器实现取电、通信。上电自动查询子分支器和天线的接入状态,并且支持动态更新当前连接情况。智能主分支器有8个射频信号输出接口,每个接口支持4级智能子分支器级联,当然也可作为天线接口接入天线。每个子分支器最多可接入8个天线,故一个智能主分支器输出接口可以连接多达32个天线。最多支持256路天线切换,且天线切换速度小于100 ms。射频信号输入端到天线端的射频传输线上的距离可达10 m以上。超低功耗设计,智能主分支器9 V电源供电,同时支持RS 232和TCP IP网络等用户接口[7]。
一个读写器天线出口通过智能天线分支器可以接多达256路天线,可以有效减少射频盲区,防止漏读[8]。所以RFID读写器加智能天线分支器在档案管理、仓储管理、设备实时监控、天线管理等管理系统中应用价值非常大,可以节约大量读写器,一定程度降低工程实施造价[9]。
本系统的解决方案为RFID读写器加天线主分支器。RFID读写器和智能天线分支器都由电脑控制,编写上位机程序通过串口通信实现对两者的同时控制,同时要实现轮询和指定某一个天线工作两种模式[10]。智能天线主分支最多可以连接256个天线,所以一个RFID读写器连接一个智能主分支器便可以实现多个位置的定位读取。不用通过布置更多的读写器来实现,这样便大量地减少了方案实施的成本[11]。同时这种方案的优点在于:只要使读写器工作便可以实时检测档案馆的管理情况,不用再走到档案馆用一个手持机(或移动读写器)挨个位置进行档案的扫描管理,管理效率大大提高。
2 系统软件设计
本系统的核心技术在于利用天线分支器连接多个天线,通过主分支器和子分支器的级联系统最多可接入256路天线,再通过软件控制选取特定的某几路或者全部天线读取标签的数据实现轮询功能。在档案馆中对所有金属柜编号,将每路天线分别安装在不同编号的金属柜中,柜中每本档案都贴上标签,由于金属对射频信号的隔离,所以每路天线只能读到所在柜子内的标签,通过标签数据与柜子编号的匹配就能实现档案的定位和错误放置检查,而全部天线轮询则实现所有档案的盘点和查漏。
系统两大核心部件是读写器和天线分支器,天线分支器控制多个天线的连接,通过软件发送获取天线分布命令,才能将天线在档案馆内的连接数量和位置显示在主机上,让管理者对天线的分布有个直观了解。而控制读写器可将主机的读写命令传送到天线,再把电子标签的数据传送到主机,这样管理者才能在主机上完成档案信息的分析与处理。二者都通过USB串口与电脑进行通信,在软件的操作下便可实现对天线的分步控制。只要全部天线显示连接成功,管理者就可控制所有天线轮询,在主机上就能定位和盘点所有档案,并不需要拿着扫描器逐本扫描清点,因此连接多天线对馆内实行区域划分读取数据也是本系统最大的亮点。
2.1 对读写器的控制的实现
在读写器的控制下,天线读取标签的数据可以实现随时开始和停止,管理者就可以根据自己的意愿选择盘点的时间点。因此读写器的控制命令设有开始工作、停止工作和继续工作三个模式。继续工作和开始工作的命令代码是相同的,只是继续工作是在原来读取的标签数据的基础上把读到的数据继续放到显示区,而开始工作是把读取到的数据清空重新开始读取数据。
步骤1 在电脑上获得和读写器相连的串口。开发环境选择Visual Studio 2008,开发语言选择为VB。Visual Studio是微软公司的开发工具包系列产品。VB是一种由微软开发的包含协助开发环境的事件驱动编程语言。它源自于Basic编程语言,用于图形用户界面(GUI)和快速应用程序开发(RAP)系统。本系统的控制面板如图2所示。
步骤2 与读写器进行通信,并获得标签数据。获得标签数据时要比较获得的标签数据是否已经接收过,如果是则把它丢掉继续接收下一个标签的数据;如果没有接收过则把标签数据写入数组显示出来。
对读写器的操作步骤有开始工作和停止工作两个命令,开始工作的指令为:BB 00 36 00 05 02 00 00 00 00 7E 22 0D。停止动作的指令为:BB 00 37 00 00 7E F3 91。获得和读写器相连的串口并初始化串口的VB程序代码为:
For i As Integer=0 To My.Computer.Ports.SerialPortNames.Count-1
ComboBox2.Items.Add(My.Computer.Ports.SerialPortNames(i))
Next
′串口初始化
SerialPort2.BaudRate = 115 200
SerialPort2.PortName = ComboBox2.Text
SerialPort2.DataBits = 8
SerialPort2.StopBits = IO.Ports.StopBits.One
SerialPort2.Parity = IO.Ports.Parity.None
SerialPort2.ReceivedBytesThreshold = 22
SerialPort2.Open()
If (SerialPort2.IsOpen) Then
Label8.Text = "已连接"
Label8.ForeColor = Color.Green
End If
2.2 對天线分支器控制的实现
对天线分支器的控制要同时实现对一个或多个天线控制[12]。第一步要获得天线的级联连接情况,这样便知道是有哪几个天线已经连接在天线分支器上。对天线分支器进行的操作有可以查询级联、查询天线、切换天线等命令。查询级联用于获得主分支器八个端口的子分支器级联情况,查询命令为:EB 02 7D 19 98。上位机发送查询天线命令用于获得主分支器可级联的32个子分支器上的所有天线端口(共256个)连接天线的情况,查询命令为:EB 02 7D 0C 8B。切换天线命令用于打开指定天线通路,命令为EB 02 7C Parity2 0A Select_Ant(1 B),长度为6 B。其中Parity2等于其后面所有字节的异或值再加上0x81。用户需根据当前从主分支器上获得的天线连接情况打开已经接入的天线,打开未扫描到的天线或者不存在的天线将返回打开失败响应。
对天线分支器的控制与对读写器的控制有点类似,首先要编程获得和电脑相连接的天线分支器的串口号,并对它进行相应的控制。控制步骤为:获得天线分支器使用的串口;获得天线主分支器上面的天线连接情况,并显示出来;对天线进行控制;由读写器获得数据。
获得天线的连接情况,把查询天线命令发送给天线主分支器之后,主分支器会返回一条类似这样的指令回来:EB 02 5D Parity2 8B Ant_Info(32 B),一共37 B。前5 B是返回数据的标识,其中Parity2等于其后面所有字节的异或值再加上0x81。后面的32 B反馈获得天线的连接情况。字节1~32分别代表主分支器接口P7~P0,每4 B分别代表一个接口的4级级联。
例如:P.0口接2个子分支器,其中第1级级联的子分支器的P.0口接天线,第2级级联的子分支器的P.3口接天线,则响应为:
EB 22 5D 03 8B [00…00] 08 01
其实第31,32个字节就是0000 0100 0000 0001,若为1,则说明此位置上面有天线连接,响应的天线背景显示为粉红色,否则没有。因此这样便可以根据返回来的数据的位数是否为1以及天线背景是否为粉红色来确定哪个响应的位置是否有天线连接。获取天线流程如图3所示。
由天线的拓扑图可以清楚地知道天线的级联连接情况,一目了然。既可以指定一个天线工作,也可以指定多个。指定一个天线工作之后,会提示切换成功,否则便会提示切换失败。切换成功之后,然后再使读写器开始工作,则会读取到处于天线工作范围内的标签数据。切换天线流程图如图4所示。
2.3 轮询功能的实现
轮询功能的设计对应于档案管理中的盘点工作。此命令要求一条指令同时实现对读写器和天线分支器的控制。此功能模块的实现步骤为:连接读写器; 连接天线分支器;获取天线分布;全部选择已经连接上的天线;开始轮询;结束。执行轮询时,哪一个天线在工作便使那个天线的背景色变为绿色,返回的数据同时包含天线信息和标签信息,并且对返回的数据进行判断,若重复接收则不显示,若首次接收则显示。轮询功能流程图如图5所示。
3 系统测试与分析
3.1 系统测试
根据系统图搭建硬件,将读写器连接到电脑的串口6,天线分支器连接到串口7,由于天线较多,测试过程随机选择几个天线做分析,在每个天线上放置足够的标签,然后在Visual Studio控制界面上操作,分别实现获取天线分布、切换天线、轮询读取等功能,并对读取标签的速度进行测量分析。得到获取天线分布结果如图6所示,背景为黑色表示接上了天线。然后选择切换到特定的天线工作,读取到的标签数据显示在空白框内,操作结果如图7所示。最后选择让所有连接上的天线轮询,轮询中正在读取标签数据的天线背景显示为黑色,操作结果如图8所示。由此证明整个硬件和软件系统运行正常。
3.2 结果分析
对实验测试的结果进行分析发现,单一天线工作需要9 s,也就是256个天线工作需要9×256=2 304 s=38 min,這比起人工移动读取设备时间大大缩短。每个天线每秒可以读取标签17个,9 s读取17×9=153个,所以在现在的应用系统中,每个天线读取范围内的物品数量不超过153个。而一次轮询可读17×9×256=39 168个,所以总共的物品总量最好不超过39 168个。当然,这只是一个参考数值,可根据需要扩展。在实际应用中如果物品数量增加,通过更改程序可适当增加天线的工作时间,从而可以读取更多物品的标签数据,不过每次轮询消耗的总时间也会相应增加。
在本实验系统中,通过实际操作,如果要实现物品的定位功能,可让单一的天线工作,利用标签和天线地址的对应可以实现物品的定位;如果要实现物品的盘点功能,可以让多个或者全部256个天线工作,读取全部物品的数据,利用了轮询功能实现盘点。这样,该系统则同时具有定位和盘点的两大功能,并且效率都比传统方法有所提高。
4 结 语
本文提出的读写器加天线分支器的解决方案,由读写器连接256路天线,实现了档案馆内多区域的档案管理。在解决方案中,使用Visual Stdio工具、VB语言编写上位机程序,通过串口来控制读写器和天线分支器。对读写器的控制实现了获得读写器串口、连接串口、使读写器开始工作接收标签数据和停止读写器。
天线分支的控制实现了获得天线分支器串口、获得和天线主分支相连的天线的拓扑图、指定某一个天线工作和指定某几个天线工作。最重要的是轮询功能的实现,可同时控制读写器和天线分支器,并返回标签数据,同时返回天线数据,即包括此标签是被哪个天线读到的信息。由此便可以获得档案馆中档案数据信息和位置信息,应用此系统可大大提升档案管理的效率和准确性。
参考文献
[1] 景祥祜,蔡孟欣,戴淑儿,等.图书馆导入RFID的标准与互操作探讨:以香港高校图书馆为例[J].大学图书馆学报,2009,27(6):32?38.
[2] 程远东,向晓安.X?RFID智能型图书馆管理系统[J].现代电子技术,2011,34(16):161?163.
[3] 胥亚东.全向圆极化天线[D].成都:电子科技大学,2008.
[4] 张婷.射频技术在物联网中的应用[J].现代电子技术,2014,37(6):56?58.
[5] 王洪金.多天线空分定位RFID阅读器的设计[J].微计算机信息,2007,23(17):229?231.
[6] 许东升,左东广,王国华,等.基于RFID技术的备件管理系统设计与应用[J].现代电子技术,2011,34(16):20?22.
[7] 姚平,黄健,刘殿金,等.RFID系统天线设计[J].现代电子技术,2009,32(21):164?166.
[8] 张厚生,王启云.图书馆服务的无线技术:RFID的应用[J].自动化网络化数字化,2003(7):56?59.
[9] 张锋.RFID智能档案管理系统的设计与实现[J].物联网技术,2013,3(10):23?25.
[10] 胡蓉.基于RFID的实体档案管理研究[J].档案建设,2011(9):17?19.
[11] 魏凤梅.基于RFID技术的档案管理系统[J].中国档案,2013(4):66?67
[12] 周锦云.档案管理系统的设计与实现[D].成都:电子科技大学,2013.