楊恒源,陳宇,姚晨彧,孟祥祥,胡驍原
(合肥工業(yè)大學 機械工程學院,合肥 230009)
RFID技術可以通過射頻識別的方式實現(xiàn)非接觸雙向信息識別。RFID技術具有存儲信息量大、使用壽命長等優(yōu)點[1]。近年來,在書本管理方面,RFID技術憑借其電子標簽體積小、記憶容量大、響應迅速及可穿透等特點,實現(xiàn)了圖書館24 h自助借還、智能書本清點等無人值守操作,但在書本分類歸還入庫方面應用尚少,目前市場上書本分揀多采用人工分揀或條形碼識別分揀等傳統(tǒng)分揀方式,分揀效率較低。
本文在現(xiàn)有RFID技術應用的基礎上設計了一種用于書本分揀的系統(tǒng),以樹莓派為控制核心,能夠?qū)崿F(xiàn)書本的分離、識別、分揀等功能,實現(xiàn)書本的自動化管理,減少書本管理的成本,提高管理工作效率,具有較好的發(fā)展空間。
本文設計的系統(tǒng)結(jié)構(gòu)主要由用于分離書本的分離模塊、RFID讀寫模塊、控制模塊及執(zhí)行機構(gòu)組成[3],總體結(jié)構(gòu)框架如圖1所示。
圖1 系統(tǒng)模塊關系
如圖2所示,在執(zhí)行系統(tǒng)中,系統(tǒng)分離模塊主要用于將整摞書分離開來,以方便后續(xù)書本分揀工作的進行。書本傳送模塊承上啟下,分離模塊將書本推送至傳送帶上,由傳送帶將書本送至各個分揀模塊,進行書本的分揀工作,在此期間,書本經(jīng)過RFID讀寫器,并讀取書本內(nèi)含的電子標簽中的唯一UID編碼,以檢索書本的類別信息。控制系統(tǒng)對相關信息進行分析,下達書本的分離指令。
圖2 系統(tǒng)整體結(jié)構(gòu)
書本分揀模塊通過在傳送模塊中間設立若干分揀口以實現(xiàn)不同類別書本的分揀,當書本匹配到正確的分揀口時,由樹莓派控制分揀模塊將書本分揀完畢。
在書本內(nèi)頁中貼上電子標簽,通過電子標簽UID的唯一性進行書本識別,UID編碼方案采取基于ISO/IEC15962的編碼方案,可以在128字節(jié)的基本代碼長度中存儲書本信息。系統(tǒng)采用模塊化的系統(tǒng)設計管理方法,采用13.56 MHz頻段,并按照ISO 15693標準要求進行系統(tǒng)設計[6]。在書本管理員將書本放置在自動分揀系統(tǒng)中后,由書本分離模塊將整摞書分離開來,書本將在傳送過程中經(jīng)過RFID讀寫器讀取到UID編碼,并由終端在數(shù)據(jù)庫中檢索到書本的相關信息,以確定書本的最終分揀口,待書本傳送至相應分揀口后,由樹莓派控制書本分揀模塊相應電動機,從而實現(xiàn)書本的分揀,具體工作流程如圖3所示。
圖3 系統(tǒng)工作流程
系統(tǒng)硬件設計主要分為控制系統(tǒng)的設計與RFID讀寫系統(tǒng)的設計。其中,控制系統(tǒng)采用樹莓派開發(fā)板作為嵌入式Linux板卡,與傳統(tǒng)的單片機等微型嵌入式控制器相比,樹莓派具有更加靈活多樣的設計能力,擁有較高的開發(fā)水平,在開發(fā)語言的選擇上也有更大的空間。采取RFID讀寫器進行書本的掃描識別,主控核心接有迪文串口屏,以方便用戶管理操作,并連有Big Fish擴展板,擴展板與各傳感器和驅(qū)動電動機通過RS-485 協(xié)議接口連接,具體連接方式如圖4所示[4]。
圖4 控制系統(tǒng)連接示意圖
而在RFID 讀寫系統(tǒng)中,RFID讀寫器在射頻識別系統(tǒng)中負責讀取或?qū)懭腚娮訕撕炆系男畔ⅰS捎陔娮訕撕灥姆墙佑|性質(zhì),必須借助位于樹莓派控制終端中的控制系統(tǒng)與電子標簽之間的RFID讀寫器來完成通信的建立。
在系統(tǒng)結(jié)構(gòu)中,樹莓派作為主動方向RFID讀寫器發(fā)出讀寫指令,而讀寫器則作為從動方對操作指令做出響應。在讀寫器接收到相關操作指令后,回應的結(jié)果就是在空間中產(chǎn)生高頻發(fā)射能量,激活電子標簽并為其供能。由于RFID讀寫系統(tǒng)采用全雙工的工作模式,當讀寫器的接收電路在接收來自電子標簽反饋的微弱信號時,發(fā)射電路本身也在同時維持相對較大功率的無調(diào)制載波,給電子標簽提供能量,建立通信控制關系。因此,相對于電子標簽而言,讀寫器變成指令的主動方[6],如圖5所示。
圖5 系統(tǒng)硬件通信關系
如圖6所示,在上述的系統(tǒng)硬件基礎結(jié)構(gòu)的設計基礎上,考慮RFID書本分揀系統(tǒng)的用戶數(shù)據(jù)處理需求,將整個系統(tǒng)劃分為表現(xiàn)層(UI)、業(yè)務邏輯層(DAL)和數(shù)據(jù)訪問層(DAL),以此實現(xiàn)整個系統(tǒng)的“高內(nèi)聚,低耦合”[2]。表現(xiàn)層向用戶提供系統(tǒng)界面,即用戶使用整個系統(tǒng)時的所見所得;業(yè)務邏輯層能夠根據(jù)用戶的具體需求,采取對整個數(shù)據(jù)層的直接操作,對數(shù)據(jù)業(yè)務進行邏輯處理;數(shù)據(jù)訪問層能夠直接操作數(shù)據(jù)庫,針對書本信息數(shù)據(jù)進行增、刪、改、查。
圖6 系統(tǒng)運行總體架構(gòu)
3.2.1 防碰撞算法
在書本信息讀取過程中,會出現(xiàn)存在多個電子標簽位于同一個讀寫器的可讀范圍內(nèi)的情況,或出現(xiàn)外界干擾影響數(shù)據(jù)傳輸?shù)耐暾院驼_性。圖7所示為標簽碰撞的產(chǎn)生過程,為防止這些碰撞的產(chǎn)生,需要在RFID系統(tǒng)中設置相關命令,這些操作和命令稱為防碰撞命令或算法(Anti-collision Algorithms)。
圖7 電子標簽的碰撞
為有效防止標簽中的數(shù)據(jù)包在讀寫器中互相碰撞影響,本文采取基于輪詢辦法[6]的二進制防碰撞算法,其基本原理如圖8所示,將處在碰撞狀態(tài)中的2個電子標簽分為左右2個子集0和1,首先對子集0進行查詢,若沒有發(fā)生碰撞,則正確識別;若發(fā)生碰撞,則繼續(xù)分裂,將子集0分成00 和01兩個子集,依此類推,直至能夠正確識別出子集0中的所有電子標簽,再按此程序查詢子集1[8]。
圖8 二進制防碰撞算法模型
3.2.2 程序設計
RFID讀寫器控制程序主要由通信握手、數(shù)據(jù)的接收與發(fā)送、譯碼糾錯、RS-232通信、讀取電子標簽數(shù)據(jù)及控制執(zhí)行模塊子程序組成。其中關鍵在于讀取書本電子標簽數(shù)據(jù)及控制執(zhí)行模塊子程序。
電子標簽讀寫程序的主要功能是讀取RFID電子標簽中的標簽信息,并將這些信息存入文本文檔中;然后程序?qū)⒔馕鲞@個文件,并獲取標簽的UID;最后程序?qū)⒃撾娮訕撕灥腢ID與數(shù)據(jù)庫進行比較,得到書本類別信息,并調(diào)用相應控制執(zhí)行模塊子程序。
3.3.1 數(shù)據(jù)庫概念結(jié)構(gòu)設計
在本文的應用場景中,首先需要設計書本卡片信息實體[5],由RFID讀寫器讀取電子標簽的UID,對應檢索到書本的卡片信息,其中包含書本類別編號、名稱、作者、出版社等相關信息。
數(shù)據(jù)庫管理程序主要完成數(shù)據(jù)庫中數(shù)據(jù)的實時查詢、設置,負責接收從讀寫器傳來的數(shù)據(jù)并進行相應處理操作。
3.3.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計
在數(shù)據(jù)庫邏輯結(jié)構(gòu)設計中,需要解決的核心技術問題在于如何通過最高效、最合理的方式實現(xiàn)對書本信息的存取與查詢操作。本文對數(shù)據(jù)存取的操作流程如圖9所示。
圖9 書本信息存取操作流程
3.3.3 系統(tǒng)表現(xiàn)層設計
如圖10所示,為方便管理員的操作與管理,需要對系統(tǒng)進行表現(xiàn)層設計,該管理系統(tǒng)能夠執(zhí)行的操作有書本信息的讀取和錄入、書本分揀情況統(tǒng)計、故障報警等。在進行書本數(shù)據(jù)信息錄入及處理時,讀取數(shù)據(jù)由在程序運行時就已經(jīng)創(chuàng)建的線程在后臺完成,RFID讀寫器將數(shù)據(jù)傳送存放至程序緩沖區(qū)中,該緩沖區(qū)由程序初始化時分配。當檢測到程序緩沖區(qū)傳來數(shù)據(jù)時,直接進行數(shù)據(jù)處理后寫入數(shù)據(jù)庫。
圖10 系統(tǒng)軟件流程圖
基于RFID技術與樹莓派的智能書本分揀系統(tǒng)具有讀取快、準確率高等優(yōu)點,可有效降低書本分揀領域的人力成本。本文研究了電子標簽防碰撞、硬件設計、數(shù)據(jù)庫搭建、軟件設計等問題,以實現(xiàn)書本的自動化分揀。同時,該系統(tǒng)具有較好的開發(fā)性,可適應不同的分揀情景,在大規(guī)模分揀領域具有良好的發(fā)展前景。