采用有源RFID的倉(cāng)庫(kù)管理系統(tǒng)設(shè)計(jì)方案
在硬件之上,是各個(gè)硬件模塊的驅(qū)動(dòng),包括SPI、串口、片內(nèi)Flash、加速度傳感器和射頻芯片CC11 OO驅(qū)動(dòng)。其中,CC11 00驅(qū)動(dòng)又是物理層的一部分,提供了射頻芯片的頻率等參數(shù)設(shè)定和無(wú)線收發(fā)功能。物理層之上是本系統(tǒng)設(shè)計(jì)的MAC 層協(xié)議棧。
MAC層協(xié)議棧包括,RFID數(shù)據(jù)包格式的定義、節(jié)點(diǎn)地址的分配和數(shù)據(jù)包的發(fā)送接受。其中共定義了1 2種類(lèi)型的RFID數(shù)據(jù)包,4種用于門(mén)禁管理,8種用于貨物管理;RFID的網(wǎng)絡(luò)地址由一個(gè)字節(jié)表示;并設(shè)計(jì)了4個(gè)函數(shù)用于數(shù)據(jù)包的發(fā)送與接收。在驅(qū)動(dòng)和物理層之上,除MAC層之外,還定義了一部分系統(tǒng)調(diào)用來(lái)提供MCU和射頻芯片的狀態(tài)切換,移動(dòng)節(jié)點(diǎn)運(yùn)動(dòng)狀態(tài)的探測(cè)和貨物管理中貨物信息在Flash上的記錄等功能。以上介紹的各協(xié)議層詳細(xì)結(jié)構(gòu)如圖4所示。
有了底層軟件結(jié)構(gòu)的支持,在最上層的軟件體系結(jié)構(gòu)對(duì)應(yīng)的是OSI模型中應(yīng)用層和網(wǎng)絡(luò)層的功能,實(shí)現(xiàn)了門(mén)禁管理、貨物管理等功能。這一層分為上下兩層,下層對(duì)應(yīng)網(wǎng)絡(luò)層的職能,為RFID 讀卡器和標(biāo)簽之間的通信設(shè)計(jì)了一套帶低功耗算法的通信規(guī)約(見(jiàn)4。2節(jié))?;诰W(wǎng)絡(luò)層的通信規(guī)約,門(mén)禁和貨物管理這兩大功能才能在應(yīng)用層進(jìn)行實(shí)現(xiàn)。
4.2 RFID通信規(guī)約
如4.1節(jié)所述,RFID讀卡器和移動(dòng)節(jié)點(diǎn)之間的通信規(guī)約構(gòu)成倉(cāng)庫(kù)管理系統(tǒng)兩大主要功能的軟件基礎(chǔ)。通信規(guī)約的設(shè)計(jì)主要分成兩部分,一部分用于移動(dòng)節(jié)點(diǎn)的定位時(shí)的數(shù)據(jù)通信,另一部分用于貨物信息查詢(xún)和管理時(shí)的數(shù)據(jù)通信。
首先,本系統(tǒng)中采用了RSSI算法來(lái)對(duì)移動(dòng)節(jié)點(diǎn)進(jìn)行定位,RSSI算法根據(jù)節(jié)點(diǎn)之間通信時(shí)信號(hào)的強(qiáng)弱作為定位的參數(shù)。但是由于信號(hào)強(qiáng)度與距離并非完全表現(xiàn)為單調(diào)關(guān)系,所以根據(jù)實(shí)際測(cè)量的信號(hào)強(qiáng)度數(shù)據(jù),把定位精度降低,以5米為單位,把每5米內(nèi)的信號(hào)強(qiáng)度取平均值,這樣就得到了信號(hào)強(qiáng)度和距離之間單調(diào)遞減的關(guān)系?;谶@點(diǎn),就可以根據(jù)RSSI算法對(duì)移動(dòng)節(jié)點(diǎn)進(jìn)行定位。
具體定位過(guò)程如下:采用類(lèi)似TCP/IP協(xié)議中二次握手協(xié)議,確保通信的魯棒性。讀卡器廣播位置查詢(xún)請(qǐng)求,此請(qǐng)求中包含代表不同范圍的N個(gè)閾值。當(dāng)移動(dòng)節(jié)點(diǎn)接受到此請(qǐng)求,檢測(cè)當(dāng)前信號(hào)強(qiáng)度值,把它與這N個(gè)閥值分別進(jìn)行比較,確定自己目前所處的位置,并進(jìn)行應(yīng)答。當(dāng)讀卡器接收到某個(gè)標(biāo)簽的應(yīng)答,則再向該標(biāo)簽發(fā)送一個(gè)二次確認(rèn)請(qǐng)求,標(biāo)簽回復(fù)此請(qǐng)求。這時(shí)讀卡器才認(rèn)為對(duì)這個(gè)標(biāo)簽定位成功,并通過(guò)串口把結(jié)果返回到控制臺(tái)。
對(duì)于第二類(lèi)貨物查詢(xún)管理的通信,具體過(guò)程如下:PC控制臺(tái)向讀卡器發(fā)送貨物管理命令。貨物管理命令包括查詢(xún)、修改、增加和刪除某輛貨車(chē)(或某個(gè)集裝箱)中的貨物信息。當(dāng)讀卡器接收到指令后,把指令轉(zhuǎn)發(fā)給移動(dòng)節(jié)點(diǎn),移動(dòng)節(jié)點(diǎn)根據(jù)指令的內(nèi)容,在內(nèi)部Flash中進(jìn)行相應(yīng)的操作,如查詢(xún)和修改,并把結(jié)果返回給讀卡器。讀卡器收到結(jié)果后返回給控制臺(tái),控制臺(tái)更新數(shù)據(jù)庫(kù)。
4.3低功耗算法
本系統(tǒng)中,移動(dòng)節(jié)點(diǎn)設(shè)計(jì)成有源RFID,那么低功耗就成為一個(gè)必須要解決的問(wèn)題。本系統(tǒng)中應(yīng)用了以下幾個(gè)方法實(shí)現(xiàn)低功耗算法。首先,移動(dòng)節(jié)點(diǎn)不工作時(shí)出于睡眠狀態(tài),平均3秒鐘喚醒一次,每次喚醒4ms左右。由于睡眠狀態(tài)下功耗可以忽略不計(jì),因此實(shí)際使用的功耗約為喚醒狀態(tài)的1/1 000。其次,移動(dòng)節(jié)點(diǎn)可以利用加速度傳感器檢測(cè)當(dāng)前自己的運(yùn)動(dòng)狀態(tài),如果節(jié)點(diǎn)在移動(dòng)中,說(shuō)明貨物很可能正在通過(guò)倉(cāng)庫(kù)大門(mén),這時(shí)為了監(jiān)控的正確性,把喚醒時(shí)間縮短到0.5秒:而平時(shí)當(dāng)節(jié)點(diǎn)靜止時(shí),可以增加喚醒的時(shí)間間隔。這一方法可以使電量得到更好的分配,進(jìn)一步降低功耗。其三,在進(jìn)行定位時(shí),移動(dòng)節(jié)點(diǎn)會(huì)記錄自己上次所處的位置,如果在新的一次查詢(xún)中,自己位置并未發(fā)生變化,則不再和讀卡器進(jìn)行下一步通信,直接進(jìn)入睡眠狀態(tài)。
4.4數(shù)據(jù)加密
此外,由于RFID通過(guò)射頻芯片進(jìn)行數(shù)據(jù)的傳輸,傳輸過(guò)程的數(shù)據(jù)存在被截獲的可能,從而導(dǎo)致倉(cāng)庫(kù)信息的泄露或被惡意更改。因此,在系統(tǒng)應(yīng)用層協(xié)議棧的設(shè)計(jì)中,加入數(shù)據(jù)加密。這樣保證了應(yīng)用層以下處理的數(shù)據(jù)都是加密后的數(shù)據(jù),也就是說(shuō)傳輸過(guò)程的數(shù)據(jù)包都是經(jīng)過(guò)加密的。當(dāng)接受節(jié)點(diǎn)收到數(shù)據(jù)包,并逐層解析到它的應(yīng)用層是才會(huì)加密的信息在返回到控制臺(tái)后,才由控制臺(tái)進(jìn)行解密,這樣可以保證倉(cāng)庫(kù)數(shù)據(jù)的安全性,使此系統(tǒng)適用于對(duì)安全性要求較高的軍用倉(cāng)庫(kù)中。
5 總結(jié)
本文提出了基于有源RFID的倉(cāng)庫(kù)管理系統(tǒng),不僅給出了硬件設(shè)計(jì)方案和節(jié)點(diǎn)間的通信規(guī)約的設(shè)計(jì),并且加入低功耗算法,使得系統(tǒng)能切實(shí)地應(yīng)用于倉(cāng)庫(kù)管理,對(duì)于提高倉(cāng)庫(kù)的車(chē)輛和集裝箱進(jìn)出管理,以及記錄貨物信息有重要的實(shí)際意義,可以很大程度地降低人力成本,提高效率。
評(píng)論