好吊视频一区二区三区-国产精品V欧美精品V日韩精品-老司机亚洲精品影院-国产精品视频免费播放

物聯傳媒 旗下網站
登錄 注冊
RFID世界網 >  技術文章  >  圖書  >  正文

基于RFID圖書館智能書架設計實例

作者:韓亮 郎筠
來源:現代情報
日期:2018-01-11 15:49:05
摘要:為徹底解決圖書館亂架問題,根據RFID技術特點,利用C#和SQL Sever2008,設計了一個基于RFID的圖書館智能書架系統。該系統硬件主要由頻率為920MHz的UHF電子標簽、RFID讀取器、天線組成,軟件系統包含書庫檢查和亂架檢查兩大部分,能夠實現對在架、外借圖書的清點、統計工作。通過RFID讀取器讀取電子標簽信息,并將結果與數據庫進行比對,從而檢查并找出亂架圖書以及相對應的正確架位。經過測試,結果表明該系統運行穩定,數據讀取精確度較高,查找、比對結果達到預期目的,在實際工作中既可以節省人力,又可以提高工作效率。

  隨著圖書館向“藏借閱一體”全開架管理模式轉變,原本一直困擾圖書館工作的亂架問題變得愈發嚴重。無論是配發書位牌、還是專設臨時書架等方法,都無法很好地解決亂架問題,從而造成館內死書不斷產生,帶來了文獻資源的大量浪費。在RFID(Radio Frequency Identification)引入圖書館后,為解決圖書亂架問題提供了一種全新的技術手段。現通行的主流方式是由管理員手持RFID讀取器,沿書架依次掃描,根據報警提示,及時發現亂架圖書。相比傳統方法,在效率上有了極大提高,但仍需要管理員進行走動管理,逐架檢查,要花費不少人力。本文基于RFID技術,構建了智能書架設計實例一則,以期實現對亂架圖書的自動檢查。

  智能書架的主要設計目的是采用RFID技術,來改進圖書館現有在架、外借圖書的統計工作,是以即時書庫檢查和亂架圖書檢查為主要功能的系統。它通過對書庫的掃描,檢查并找出亂架圖書,并提供與之對應的正確架位。此外,系統還將根據圖書的最新狀態顯示細節,即哪些在架、哪些已外借以及正在館內使用的圖書。

  1 硬件需求

  智能書架所應用的硬件主要包括:UHF(Ultra High Frequency)電子標簽、RFID讀取器以及天線。系統采用C/S架構,硬件需求以館內現有服務器為準。

  1.1 UHF電子標簽

  盡管絕大多數應用RFID技術的圖書館都采用了HF(High Frequency)方案,但在本案中通過對HF與UHF進行對比后(表1、表2[1]),選擇了后者。

基于RFID圖書館智能書架設計實例

  從以上對比可以看出,UHF相對于HF具有標簽較小,讀取距離遠,讀取速度快,適用于遠場數據傳輸,天線尺寸合適,電磁噪聲小等優點,因此本案選擇的是頻率為920MHz的UHF電子標簽。由于實驗選擇用書厚度不均,僅保證每層書架存放30冊圖書,因此標簽一律置于圖書的第二頁。

  1.2 讀取器及天線

  與手持式RFID讀取器不同,智能書架采用的是固定讀取器,安裝于書架頂部及底部。書架每層各有2根天線,分別置于兩側。具體讀取器和天線的安裝數量,取決于書架的層數。如果一個書架有4層,每層安裝2根天線,就需要用到2個讀取器和8根天線。在本案中僅設計了2層書架,只需要1個讀取器和4根天線。采用成本較低的鋼制天線盒,將天線盒安裝于每層書架的兩側(見圖1)。

基于RFID圖書館智能書架設計實例

  在電源方面,通過測試最終確定最適用于讀取器的功率為29.50dBm。

  2 系統設計

  管理員登入:在進入系統工作界面之前,設置了管理員登陸窗口,用以限制用戶。有權限的管理員鍵入ID及相應的密碼后即可登陸系統主頁。

  系統主要有兩部分組成:書庫檢查和亂架檢查部分。書庫檢查部分的功能是進行及時書目校對,并根據圖書的狀態顯示在架、外借、使用中等細節。亂架檢測部分被分為人工生成和自動生成兩個小部分,其功能是顯示所有亂架圖書、亂架位置及其正確位置。其中自動檢查會根據設定的檢查時間,自動生成并彈出亂架圖書頁面,管理員需根據頁面信息將亂架圖書歸位,否則該頁面會一直停留,直至全部亂架圖書歸位。

基于RFID圖書館智能書架設計實例

  書庫檢查部分,系統設有啟動、暫停兩個按鈕,用于啟動、暫停、重新啟動書庫檢查工作進程。此處需調取館內現有書目數據庫的相關數據,用于更新已外借圖書狀態。當按下啟動鍵,系統自動讀取電子標簽,并將讀取結果與書目數據庫進行比對,如數據狀態發生改變,則更新數據庫,如果沒有改動則繼續讀取、比對進程直至結束。最終將書目數據按在架、已外借、使用中3個狀態分別列表在頁面上顯示。在架表示圖書可外借,已外借表示圖示已被借出,使用中表示圖書正在館內使用或放于館內某處。

  系統還設置有啟動和終止人工亂架檢查和自動亂架檢查的按鈕,用于啟動或終止人工或自動亂架檢查進程。但不管哪種運行方式,最終結果均按照亂架圖書、亂架位置、正確架位分類顯示不同之處在于,人工操作可以在任意時間選擇任意架次執行,而自動操作則是書庫檢查結束后,按照設定時間,每隔一定時間進行自動檢查(本案設為1小時),并彈出檢查結果,直至管理員將亂架圖書歸位后才能再次激活書庫檢查系統。

  3 數據庫開發

  本案數據庫系統采用C#和SQL Sever2008開發,此處重點介紹數據庫SOL Sever2008的使用。

  首先,創建一個名為Library的數據庫,在該庫中初始創建了3個永久表:Librarian、Antennalocation、Book。當書架上的天線檢查到某本圖書,參照天線位置圖,就可以知道該書在哪個書架的第幾層。

  系統運行后,會創建4個新的臨時表:Reader、Inventorylatest、Misplace、Correctplace。這4個表中所記錄的內容都需要及時更新,因此可以隨機寫入和清除。系統每運行1次,這4個表都會被重新創建1次。

  數據庫內所有圖書的初始狀態均被置為使用中,當圖書被借出時,其狀態更新為已外借,當圖書通過借還書系統歸還后又將恢復使用狀態,當圖書被置于書架上時,狀態則被更新為在架。以上狀態的更改變化均通過讀取器讀取電子標簽自動完成。

  3.1 書庫檢查

  當系統啟動書庫檢查后,讀取器按照定時器設定的時間間隔,定時讀取電子標簽(本案設為10秒讀取1次)。讀取到的信息被存入數據庫的Reader表中。以下是用于顯示圖書狀態的查詢語句:

  查詢語句1

  Update Book

  set Status=’Using’

  from Book.Reader

  where Reader.BookID<>Book.BookID and Book.Status<>’Borrowed’

  該查詢語句用于更新那些非已外借和使用中的圖書狀態,當讀取器沒有讀取到圖書的ID,并且圖書的狀態也不是已外借,則該書的狀態被更新為使用中(Reader表中的圖書ID與Book表不同,并且圖書狀態為非已外借)。其功能主要是清除之前讀取到的狀態。

  查詢語句2

  update Book

  set Status=’Available’

  from Book,Reader

  where Book.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

  select R.BookID,B.Title,A.Shelf,A.Levell into inventorylatest from Reader R,Book B,Antennalocation A where R.BookID=B.BookID and R.Antenna=A.Antenna

  查詢語句4

  select Title,Shelf,Levell into misplace from inventorylatest WHERE NOT EXISTS (SELECT Title,Shelf,Levell FROM Book WHERE Book.BookID=inventorylatest.BookID and Book.Shelf=inventorylatest.Shelf and Book.Levell=inventorylatest.Levell)

  查詢語句5

  select A.Title,B.Shelf,B.Levell into from misplace A,Book B where B.Title=A.Title

  查詢語句6

  Select A.Title,A.Shelf,A.Levell,B.Shelf,B.Levell FROM misplace A LEFT JOIN correctplace B ON A.Title=B.Title

  自動亂架檢查與人工檢查程序大致相同,不同之處在于需要設置一個定時器,確保自動亂架檢查結果每隔一定的時間彈出1次(本案設為1小時)。此外,自動亂架檢查結果頁面將會保持停留狀態,直至管理員將圖書歸位,并且點擊核實按鈕,系統將會再次進行亂架檢查,確保是否還有亂架圖書。如果沒有,則關閉頁面返回主頁。如果有,頁面將會停留,管理員此時無法進行其他操作。

  4 系統測試

  4.1 讀取器讀取能力測試

  在本案所設的兩層書架上,每層各安置30冊圖書,共計60冊。為了驗證讀取器的讀取能力,本案在10分鐘內,每隔2分鐘進行1次讀取測試,一共進行了5輪測試,結果如表3。

基于RFID圖書館智能書架設計實例

  由以上數據可以看出,讀取器的讀取能力還是非常可靠,總共25次測試當中24次成功讀取全部圖書,1次讀取到59冊圖書,準確率達96%。

  4.2 書庫檢查準確率測試

  從書架上隨機取出1本圖書,然后啟動書庫檢查程序,驗證其準確率。測試重復進行了10次,結果如表4。表4 書庫檢查準確率測試

基于RFID圖書館智能書架設計實例

  由以上數據可以看出,書庫檢查系統對于不在架圖書的檢測10全部成功,準確率達到100%。

  4.3 亂架檢查準確率測試

  本案將書架分為6個分區(見圖3),每層3個分區,每個分區各放置一本亂架圖書,然后分別運行人工檢查和自動檢查程序,測試各重復5次,結果如表5、表6。

基于RFID圖書館智能書架設計實例

基于RFID圖書館智能書架設計實例

基于RFID圖書館智能書架設計實例

  由以上數據可以看出,人工檢查在對6個分區的5次測試中,全部成功。自動檢查在對6個分區的5次測試中,成功29次,失敗1次,準確率達到97%。

  4.4 亂架檢查流程測試

  將自動檢查定時器設置為間隔1小時,然后運行自動亂架檢查程序,結果如下:

  第一次:正常運行自動亂架檢查程序,1小時后,檢查結果自動彈出。

  第二次:啟動人工亂架檢查程序,并記錄結果,1小時后,人工亂架檢查結果自動關閉,自動亂架檢查結果自動彈出。

  第三次:連續點擊兩次書庫檢查按鈕啟動按鈕,1小時后,自動亂架檢查結果自動彈出,此后沒有第二次彈出。

  由以上結果可以看出,整個系統流程運行正常,沒有出現意外卡死或報錯。

  5 結 語

  以上智能書架系統設計,作為一個小型的實驗模型來講基本達到了最初的設計目的,能夠實現對館藏圖書的自動檢查、比對,以及對亂架圖書的自動報錯,這也證實了基于RFID設計智能書架是完全可行的。但本案僅僅是對局部進行了小范圍實驗,對于動輒數千個書架的整體館藏規模尚沒有充分的驗證,因此擴大實驗樣本后的準確率究竟有多高,還無法做出明確的估計。而且本案在整個設計過程中對于成本問題沒有過多的考慮,對于推廣應用中的成本核算也沒有明確的預估。從這些角度來看,本案仍有待于進一步改進提高。