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