基于RFID图书馆智能书架设计实例有源RFID产品与系统,图书RFID技术文章

随着图书馆向“藏借阅一体”全开架管理模式转变,原本一直困扰图书馆工作的乱架问题变得愈发严重。无论是配发书位牌、还是专设临时书架等方法,都无法很好地解决乱架问题,从而造成馆内死书不断产生,带来了文献资源的大量浪费。在RFID(RadioFrequencyIdentification)引入图书馆后,为解决图书乱架问题提供了一种全新的技术手段。现通行的主流方式是由管理员手持RFID读取器,沿书架依次扫描,根据报警提示,及时发现乱架图书。相比传统方法,在效率上有了极大提高,但仍需要管理员进行走动管理,逐架检查,要花费不少人力。本文基于RFID技术,构建了智能书架设计实例一则,以期实现对乱架图书的自动检查。

智能书架的主要设计目的是采用RFID技术,来改进图书馆现有在架、外借图书的统计工作,是以即时书库检查和乱架图书检查为主要功能的系统。它通过对书库的扫描,检查并找出乱架图书,并提供与之对应的正确架位。此外,系统还将根据图书的最新状态显示细节,即哪些在架、哪些已外借以及正在馆内使用的图书。

1硬件需求

智能书架所应用的硬件主要包括:UHF(UltraHighFrequency)电子标签、RFID读取器以及天线。系统采用C/S架构,硬件需求以馆内现有服务器为准。

1.1UHF电子标签

尽管绝大多数应用RFID技术的图书馆都采用了HF(HighFrequency)方案,但在本案中通过对HF与UHF进行对比后(表1、表2[1]),选择了后者。

从以上对比可以看出,UHF相对于HF具有标签较小,读取距离远,读取速度快,适用于远场数据传输,天线尺寸合适,电磁噪声小等优点,因此本案选择的是频率为920MHz的UHF电子标签。由于实验选择用书厚度不均,仅保证每层书架存放30册图书,因此标签一律置于图书的第二页。

1.2读取器及天线

与手持式RFID读取器不同,智能书架采用的是固定读取器,安装于书架顶部及底部。书架每层各有2根天线,分别置于两侧。具体读取器和天线的安装数量,取决于书架的层数。如果一个书架有4层,每层安装2根天线,就需要用到2个读取器和8根天线。在本案中仅设计了2层书架,只需要1个读取器和4根天线。采用成本较低的钢制天线盒,将天线盒安装于每层书架的两侧(见图1)。

在电源方面,通过测试最终确定最适用于读取器的功率为29.50dBm。

2系统设计

管理员登入:在进入系统工作界面之前,设置了管理员登陆窗口,用以限制用户。有权限的管理员键入ID及相应的密码后即可登陆系统主页。

3数据库开发

本案数据库系统采用C#和SQLSever2008开发,此处重点介绍数据库SOLSever2008的使用。

首先,创建一个名为Library的数据库,在该库中初始创建了3个永久表:Librarian、Antennalocation、Book。当书架上的天线检查到某本图书,参照天线位置图,就可以知道该书在哪个书架的第几层。

系统运行后,会创建4个新的临时表:Reader、Inventorylatest、Misplace、Correctplace。这4个表中所记录的内容都需要及时更新,因此可以随机写入和清除。系统每运行1次,这4个表都会被重新创建1次。

数据库内所有图书的初始状态均被置为使用中,当图书被借出时,其状态更新为已外借,当图书通过借还书系统归还后又将恢复使用状态,当图书被置于书架上时,状态则被更新为在架。以上状态的更改变化均通过读取器读取电子标签自动完成。

3.1书库检查

查询语句1

UpdateBook

setStatus=’Using’

fromBook.Reader

whereReader.BookID<>Book.BookIDandBook.Status<>’Borrowed’

该查询语句用于更新那些非已外借和使用中的图书状态,当读取器没有读取到图书的ID,并且图书的状态也不是已外借,则该书的状态被更新为使用中(Reader表中的图书ID与Book表不同,并且图书状态为非已外借)。其功能主要是清除之前读取到的状态。

查询语句2

updateBook

setStatus=’Available’

fromBook,Reader

whereBook.BookID=Reader.BookID

该查询语句用于更新可外借图书的状态为在架,当读取器读取到图书ID并且该ID存在于Book表中,该书的状态即被更新为在架(Reader表中的图书ID与Book表中的ID一致)。

3.2乱架检查

当系统启动人工乱架检查后,系统会自行判断乱架检查进程是否是初次运行。如果是初次运行,程序将通过查询语句3,继续将书库检查中的最新数据保存至Inventorylatest表,然后执行查询语句4,将最新的数据表(Inventorylatest)与原始数据表(Book)进行比对,同时将乱架图书信息保存至Misplace表中。

如果曾经运行过乱架检查,系统将首先清除原有Inventorylatest、Misplace、Correctplace表中内容,然后再将书库检查中的最新数据保存至Inventorylatest表,并将最新的数据表(Inventorylatest)与原始数据表(Book)进行比对,同时将乱架图书信息保存至Misplace表中。

比对结束后,如果有乱架图书,程序将通过查询语句5创建Correctplace表,以获取乱架图书的正确位置。然后通过查询语句6,以乱架图书的乱架位置、正确位置为题头,显示人工乱架检查结果。如果没有乱架图书,系统将会显示没有乱架图书的检查结果。如果要终止人工乱架检查,只需要点击页面上的退出按钮即可。

该部分用到的查询语句:

查询语句3

selectR.BookID,B.Title,A.Shelf,A.LevellintoinventorylatestfromReaderR,BookB,AntennalocationAwhereR.BookID=B.BookIDandR.Antenna=A.Antenna

查询语句4

selectTitle,Shelf,LevellintomisplacefrominventorylatestWHERENOTEXISTS(SELECTTitle,Shelf,LevellFROMBookWHEREBook.BookID=inventorylatest.BookIDandBook.Shelf=inventorylatest.ShelfandBook.Levell=inventorylatest.Levell)

查询语句5

selectA.Title,B.Shelf,B.LevellintofrommisplaceA,BookBwhereB.Title=A.Title

查询语句6

SelectA.Title,A.Shelf,A.Levell,B.Shelf,B.LevellFROMmisplaceALEFTJOINcorrectplaceBONA.Title=B.Title

4系统测试

4.1读取器读取能力测试

在本案所设的两层书架上,每层各安置30册图书,共计60册。为了验证读取器的读取能力,本案在10分钟内,每隔2分钟进行1次读取测试,一共进行了5轮测试,结果如表3。

由以上数据可以看出,读取器的读取能力还是非常可靠,总共25次测试当中24次成功读取全部图书,1次读取到59册图书,准确率达96%。

4.2书库检查准确率测试

从书架上随机取出1本图书,然后启动书库检查程序,验证其准确率。测试重复进行了10次,结果如表4。表4书库检查准确率测试

由以上数据可以看出,书库检查系统对于不在架图书的检测10全部成功,准确率达到100%。

4.3乱架检查准确率测试

本案将书架分为6个分区(见图3),每层3个分区,每个分区各放置一本乱架图书,然后分别运行人工检查和自动检查程序,测试各重复5次,结果如表5、表6。

由以上数据可以看出,人工检查在对6个分区的5次测试中,全部成功。自动检查在对6个分区的5次测试中,成功29次,失败1次,准确率达到97%。

4.4乱架检查流程测试

将自动检查定时器设置为间隔1小时,然后运行自动乱架检查程序,结果如下:

第一次:正常运行自动乱架检查程序,1小时后,检查结果自动弹出。

第二次:启动人工乱架检查程序,并记录结果,1小时后,人工乱架检查结果自动关闭,自动乱架检查结果自动弹出。

第三次:连续点击两次书库检查按钮启动按钮,1小时后,自动乱架检查结果自动弹出,此后没有第二次弹出。

由以上结果可以看出,整个系统流程运行正常,没有出现意外卡死或报错。

5结语

以上智能书架系统设计,作为一个小型的实验模型来讲基本达到了最初的设计目的,能够实现对馆藏图书的自动检查、比对,以及对乱架图书的自动报错,这也证实了基于RFID设计智能书架是完全可行的。但本案仅仅是对局部进行了小范围实验,对于动辄数千个书架的整体馆藏规模尚没有充分的验证,因此扩大实验样本后的准确率究竟有多高,还无法做出明确的估计。而且本案在整个设计过程中对于成本问题没有过多的考虑,对于推广应用中的成本核算也没有明确的预估。从这些角度来看,本案仍有待于进一步改进提高。

RFID世界网公众号

为业界提供实时、全面、高质量的RFID行业新闻、方案、案例与技术资讯与深度报道,打造全球权威的RFID产业中文信息门户!

THE END
1.C#图书馆管理系统实战教程与代码资源简介:本项目是一个由C#开发的图书馆管理系统,包含完整的源代码和数据库文件,适合作为学习C#和数据库应用的实例。系统由用户界面、业务逻辑、数据访问层组成,涵盖用户管理、图书管理、借阅管理等模块。介绍了系统的功能模块、数据库设计、源代码结构,并指出了开发工具和学习实践价值。项目提供了C#编程、数据库设计、软件https://blog.csdn.net/weixin_32287387/article/details/143870501
2.LCSP为什么需要新一代图书馆管理系统? 图书馆系统升级迭代,选择的不仅是系统和功能,还包括未来的发展战略和发展途径。 ﹀ 图书馆在服务转型创新中的四大困难 大平台-信息化建设面临的困境 维护成本越来越高,系统间功能难以协调,自主性越来越差,甚至被迫升级; https://lib.gdpnc.edu.cn/2022/1013/c15a38434/page.htm
3.C++实现简易图书馆管理系统C语言这篇文章主要为大家详细介绍了C++实现简易图书馆管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!【 如果你想靠AI翻身,你先需要一个靠谱的工具!】 本文实例为大家分享了C++实现简易图书馆管理系统的具体代码,供大家参考,具体https://www.jb51.net/article/240545.htm
4.图书馆管理系统(c#.net源码)图书馆管理系统 - .Net源码 - C# 应用了几乎所有.net1.0的技术制作的图书馆管理系统,有详细的设计文档。 立即下载 上传者: applekill 时间: 2009-01-15 C# .net 图书馆管理系统~原创作品,带C#和SQL2005源码 C# .net 图书馆管理系统~原创作品,带C#和SQL2005源码用LINQ to SQL 连接数据库 ,可以注https://www.iteye.com/resource/leo_han-11008805
5.形考作业3:基于UML的大学图书馆图书信息管理系统设计实验.docx形考作业3:基于UML的大学图书馆图书信息管理系统设计实验.docx,面向对象方法的系统设计规格 系统设计规格说明书 基于UML的大学图书馆图书信息管理系统设计实验 1、图书信息管理系统课题研究背景及意义 随着信息技术和 网络技术的迅速 发展,信息化和网络化也将成为必然的趋https://max.book118.com/html/2022/0702/8077120103004114.shtm
6.C#制作图书管理系统简介:本文讲解使用C#类和对象,来制作一个图书管理系统。 算法思路 设计思路如下: 创建Book类:这个类表示图书,包含图书的属性(例如标题、作者)以及一个标识图书是否可借阅的布尔值属性。可以根据需要添加其他属性和方法。 创建Library类:这个类表示图书馆或图书管理系统,负责管理图书的借还操作。它应该包含一个图书列表https://developer.aliyun.com/article/1421605
7.图书管理系统设计与实现设计图书馆的管理系统可以提高图书管管理的效率;降低工作人员的工作量;完善图书馆的各项功能。网上图书馆系统应该具有出借还子系统、查询子系统、电子图书下载子系统、留言板以及系统维护子系统等,这几个子系统包括了图书馆管理的主要业务工作,可以全面实现对图书馆的查询、借还、下载、留言等在线功能实现。考虑到图书馆https://www.360wenmi.com/f/file63vsn7c9.html
8.C#图书管理系统(源代码+数据库+系统流程图)老谢C#于 2024-11-21 上传 【实例简介】 本课题主要的任务是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。 (1) 管理员对功能的需求: https://www.haolizi.net/example/view_171888.html
9.C#项目开发全程实录好知网重拾学习乐趣家庭视频监控系统05:数据库设计http://www.howzhi.com/course/632/lesson/6990
10.图书管理系统项目个人总结(通用14篇)受高校的委托,开发一个图书馆管理系统,其开发宗旨是实现图书管理的系统化、规范化和自动化,达成图书资料集中、统一管理的目标。 二、个人在项目中承担的任务: 图书馆管理系统是图书馆管理工作中不可缺少的部分,它对于图书馆的管理者和使用者都非常重要,所以图书馆管理系统应该为管理者与读者提供充足的信息和快捷的数https://www.unjs.com/fanwenwang/gerenzongjie/20220701084952_5248465.html
11.基于Python的图书管理系统的设计与实现论文基于python的图书馆作为信息存储的主要媒体之一的图书,其数量、规模比以往任何时候都大得多。因此,对图书馆信息管理水平的要求也越来越高,对图书信息的管理需要严格的科学管理,必须运用现代科学技术手段进行图书馆的信息化网络化管理。本系统采用Python编程语言,Django框架,前端Vue技术,MySQL为后台数据库。https://blog.51cto.com/u_16213587/9725681
12.手把手实现Java图书管理系统(附源码)Javaweb项目:基于JavaWeb的图书管理系统(有源码) 源码如下 实现功能 数据库 运行环境 数据库设计 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。图书馆信息管理作为计算机应用的一个分支,有着手工管理无法比拟https://cloud.tencent.com/developer/article/2129040
13.国家图书馆联合编目系统书目和馆藏上载接口说明书项目代号 文档名称 产品版本 项目名称 国家图书馆联合编目系统书目和馆藏上载接口说明书 页数 密级 无 国家图书馆联合编目系统 书目和馆藏上载接口说明书 V 1.0.4 作者:索晶 2013 年 6 月 18 日 目录 目录 目录2 1 引言http://olcc.nlc.cn/file-download-119-left.mhtml