The technology of wireless sensor network apply in logistics warehousing system
張 濤,王成林
ZHANG Tao, WANG Cheng-lin
(北京物資學(xué)院 物流學(xué)院,北京 101149)
?
無(wú)線傳感器網(wǎng)絡(luò)技術(shù)在物流倉(cāng)儲(chǔ)系統(tǒng)中的應(yīng)用
The technology of wireless sensor network apply in logistics warehousing system
張濤,王成林
ZHANG Tao, WANG Cheng-lin
(北京物資學(xué)院 物流學(xué)院,北京 101149)
摘 要:將基于ZigBee協(xié)議的無(wú)線傳感器節(jié)點(diǎn)應(yīng)用到倉(cāng)儲(chǔ)環(huán)節(jié),實(shí)現(xiàn)倉(cāng)儲(chǔ)系統(tǒng)數(shù)據(jù)的實(shí)時(shí)監(jiān)測(cè)。文章完成節(jié)點(diǎn)軟硬件設(shè)計(jì)與測(cè)試,充分利用ZigBee節(jié)點(diǎn)能耗小、成本低、安裝維護(hù)便捷等特點(diǎn),構(gòu)建倉(cāng)儲(chǔ)系統(tǒng)的監(jiān)測(cè)網(wǎng)絡(luò),實(shí)現(xiàn)倉(cāng)儲(chǔ)系統(tǒng)中各項(xiàng)環(huán)境參數(shù)的實(shí)時(shí)采集與無(wú)線傳輸,并以“邵武市食用菌農(nóng)村合作社專業(yè)化生產(chǎn)項(xiàng)目”完成測(cè)試需求,實(shí)現(xiàn)溫濕度的有效監(jiān)測(cè)。
關(guān)鍵詞:倉(cāng)儲(chǔ)系統(tǒng);溫濕度監(jiān)測(cè);無(wú)線傳感器網(wǎng)絡(luò);ZigBee協(xié)議
倉(cāng)儲(chǔ)環(huán)節(jié)是現(xiàn)代物流的關(guān)鍵環(huán)節(jié),如何高效、準(zhǔn)確掌握倉(cāng)儲(chǔ)過(guò)程中的環(huán)境信息,保障物品的安全存儲(chǔ),在現(xiàn)代倉(cāng)儲(chǔ)中起著至關(guān)重要的作用。無(wú)線傳感器網(wǎng)絡(luò)能夠?qū)崟r(shí)監(jiān)測(cè)、感知網(wǎng)絡(luò)范圍內(nèi)對(duì)象的各種信息,為物流倉(cāng)儲(chǔ)系統(tǒng)的各項(xiàng)指標(biāo)監(jiān)測(cè)提供了有效的解決方案。本文將無(wú)線傳感器網(wǎng)絡(luò)技術(shù)應(yīng)用到倉(cāng)儲(chǔ)系統(tǒng),并與福建省“菜籃子”工程“邵武市食用菌農(nóng)村合作社專業(yè)化生產(chǎn)項(xiàng)目”共建,為食用菌倉(cāng)儲(chǔ)車間的建設(shè)提供無(wú)線的溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)方案。
設(shè)計(jì)基于ZigBee協(xié)議的無(wú)線傳感器節(jié)點(diǎn),實(shí)現(xiàn)倉(cāng)儲(chǔ)系統(tǒng)數(shù)據(jù)的實(shí)時(shí)監(jiān)測(cè),將為實(shí)現(xiàn)倉(cāng)儲(chǔ)系統(tǒng)的智能化管理提供技術(shù)與信息支持,具有很好的應(yīng)用前景。研究?jī)?nèi)容不僅僅針對(duì)農(nóng)產(chǎn)品物流倉(cāng)儲(chǔ)系統(tǒng)監(jiān)測(cè)展開(kāi),同時(shí)也為物流領(lǐng)域中其他復(fù)雜倉(cāng)儲(chǔ)系統(tǒng)的環(huán)境監(jiān)測(cè)提供一種參考方案。
基于ZigBee無(wú)線傳感網(wǎng)絡(luò)技術(shù)的倉(cāng)儲(chǔ)環(huán)境監(jiān)測(cè)系統(tǒng)結(jié)構(gòu)如圖1所示,主要由下位機(jī)監(jiān)測(cè)系統(tǒng)和上位機(jī)監(jiān)測(cè)顯示系統(tǒng)兩部分構(gòu)成。本文主要從以上兩方面的設(shè)計(jì)與實(shí)現(xiàn)來(lái)進(jìn)行分析。
1.1 下位機(jī)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
1)下位機(jī)系統(tǒng)硬件設(shè)計(jì)
下位機(jī)系統(tǒng)硬件設(shè)計(jì)主要包括硬件結(jié)構(gòu)的確定、各模塊的選型以及無(wú)線節(jié)點(diǎn)硬件的電路設(shè)計(jì)。
(1)硬件結(jié)構(gòu)與選型
無(wú)線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)的匯聚節(jié)點(diǎn)和終端接點(diǎn)結(jié)構(gòu)圖分別如圖2、圖3所示。終端節(jié)點(diǎn)與傳感器相連,采集信息并送到匯聚節(jié)點(diǎn)。匯聚節(jié)點(diǎn)接收來(lái)自終端節(jié)點(diǎn)的數(shù)據(jù),通過(guò)USB接口與上位機(jī)直接相連。
圖1 基于Zigbee的倉(cāng)儲(chǔ)環(huán)境監(jiān)測(cè)系統(tǒng)總結(jié)構(gòu)
圖2 匯聚節(jié)點(diǎn)結(jié)構(gòu)圖
圖3 終端節(jié)點(diǎn)結(jié)構(gòu)圖
本文采用星型拓?fù)浣Y(jié)構(gòu)。節(jié)點(diǎn)的無(wú)線通信網(wǎng)絡(luò)模塊采用北京云天創(chuàng)科技有限公司提供的ATZGB-780-F5Zigbee無(wú)線多功能模塊進(jìn)行系統(tǒng)設(shè)計(jì),其主處理芯片為Stm32 F103C8T6,無(wú)線通信芯片為AT86RF212。溫濕度傳感器采用SHT11。
圖4 下位機(jī)硬件電路原理圖
(2)無(wú)線節(jié)點(diǎn)硬件電路設(shè)計(jì)
基于Protel 99 SE開(kāi)發(fā)平臺(tái)進(jìn)行了電路原理的設(shè)計(jì),設(shè)計(jì)了穩(wěn)壓電路、狀態(tài)指示電路、溫濕度采集電路、圖像采集電路、復(fù)位電路、無(wú)線通信電路等,電路原理圖如圖4所示。
對(duì)無(wú)線傳感網(wǎng)絡(luò)節(jié)點(diǎn)硬件的PCB板進(jìn)行了布局設(shè)計(jì),根據(jù)設(shè)計(jì)好的電路原理圖和PCB板設(shè)計(jì)圖,印制了PCB電路板,選購(gòu)元器件并焊接調(diào)試。硬件實(shí)物如圖5所示,最終的節(jié)點(diǎn)與匯聚節(jié)點(diǎn)硬件如圖6、圖7所示。
圖5 硬件實(shí)體圖
圖6 終端節(jié)點(diǎn)的實(shí)體圖
圖7 匯聚節(jié)點(diǎn)的實(shí)體圖
2)無(wú)線節(jié)點(diǎn)軟件設(shè)計(jì)
下位機(jī)WSN節(jié)點(diǎn)的程序是下位機(jī)設(shè)計(jì)的核心,由三部分組成:微處理器控制程序、溫濕度數(shù)據(jù)采集程序和數(shù)據(jù)無(wú)線傳輸程序。微處理器控制整個(gè)下位機(jī)子系統(tǒng)所有程序的運(yùn)轉(zhuǎn),對(duì)子系統(tǒng)中的端口以及時(shí)鐘等進(jìn)行配置,確保子系統(tǒng)的正常運(yùn)行。
(1)微處理器控制程序的設(shè)計(jì)
微處理器控制程序流程如圖8所示。
首先,對(duì)微處理器進(jìn)行初始化,配置系統(tǒng)時(shí)鐘,初始化GPIO、NVIC、EXTI、USART;其次,微處理器通過(guò)外部中斷對(duì)控制指令進(jìn)行監(jiān)測(cè),若為采集指令,便向溫濕度傳感器發(fā)出采集指令,WSN節(jié)點(diǎn)上的傳感器收到指令之后便進(jìn)行溫濕度測(cè)量,將原始溫濕度參數(shù)送入緩沖區(qū);當(dāng)原始數(shù)據(jù)反饋完成之后,微處理器計(jì)算判斷原始數(shù)據(jù)是否正確,若不正確,發(fā)送二次采集命令;若正確,則將緩沖區(qū)內(nèi)的數(shù)據(jù)整理成標(biāo)準(zhǔn)數(shù)據(jù)幀的格式,并送入輸出緩沖區(qū);最后,微處理器對(duì)輸出緩沖區(qū)進(jìn)行判斷,若緩沖區(qū)內(nèi)有待發(fā)送數(shù)據(jù)幀,則調(diào)用無(wú)線發(fā)送模塊,將數(shù)據(jù)發(fā)往的匯聚節(jié)點(diǎn)。
(2)溫濕度數(shù)據(jù)采集程序的設(shè)計(jì)
微處理器與溫濕度傳感器之間的通信主要依靠?jī)删€雙向的串行接口,實(shí)現(xiàn)數(shù)據(jù)和控制信號(hào)的傳輸。在程序設(shè)計(jì)中,通過(guò)對(duì)IO口的輸入/輸出模式進(jìn)行定義,一方面通過(guò)SCK線傳輸自定義的時(shí)鐘,另一方面通過(guò)Data線傳送相應(yīng)的命令信號(hào)或接收監(jiān)測(cè)信號(hào)。
圖8 微處理器控制程序流程圖
(3)數(shù)據(jù)無(wú)線傳輸程序的設(shè)計(jì)
在無(wú)線數(shù)據(jù)通信的程序設(shè)計(jì)中,核心的設(shè)計(jì)部分主要包括數(shù)據(jù)傳輸協(xié)議和數(shù)據(jù)池結(jié)構(gòu)的設(shè)計(jì)。
①數(shù)據(jù)傳輸協(xié)議數(shù)據(jù)幀的設(shè)計(jì)
為了統(tǒng)一無(wú)線傳感節(jié)點(diǎn)間交換數(shù)據(jù)的順序和格式,確保傳輸數(shù)據(jù)的準(zhǔn)確性,本本文設(shè)計(jì)了數(shù)據(jù)幀的結(jié)構(gòu),如表1所示。
②數(shù)據(jù)池結(jié)構(gòu)的設(shè)計(jì)
為了確保系統(tǒng)對(duì)溫濕度數(shù)據(jù)測(cè)量實(shí)時(shí)性,本文設(shè)計(jì)了一種基于堆棧思想的數(shù)據(jù)池,結(jié)構(gòu)如圖9所示。數(shù)據(jù)池的容量為3個(gè)數(shù)據(jù)幀,圖中start和end用于固定數(shù)據(jù)池的定位,而head和tail是用于指示現(xiàn)在的存儲(chǔ)情況。
表1 數(shù)據(jù)幀結(jié)構(gòu)表
圖9 數(shù)據(jù)池結(jié)構(gòu)圖
1.2 上位機(jī)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)
倉(cāng)儲(chǔ)環(huán)境監(jiān)測(cè)上位機(jī)顯示子系統(tǒng)的設(shè)計(jì)框架如圖10所示,主要由串口數(shù)據(jù)通信模塊、溫濕度窗口顯示模塊和溫濕度數(shù)據(jù)管理模塊組成。
圖10 上位機(jī)監(jiān)測(cè)顯示系統(tǒng)的設(shè)計(jì)框架
WSN中的匯聚節(jié)點(diǎn)含有USB模塊,可以與上位機(jī)連接。VB與其通信實(shí)際是通過(guò)虛擬串口,因此首先應(yīng)該在上位機(jī)安裝虛擬串口驅(qū)動(dòng),將USB口轉(zhuǎn)換為串口實(shí)現(xiàn)數(shù)據(jù)通信。
上位機(jī)監(jiān)測(cè)軟件窗口顯示模塊進(jìn)行的操作主要分為數(shù)據(jù)的初步處理與解析、溫濕度的計(jì)算和窗口的顯示三大部分。
1)數(shù)據(jù)的初步處理與解析
上位機(jī)接收到數(shù)據(jù)幀之后,根據(jù)數(shù)據(jù)幀中的校驗(yàn)位對(duì)數(shù)據(jù)幀的各位數(shù)據(jù)進(jìn)行校驗(yàn);在校驗(yàn)無(wú)誤的前提下,通過(guò)后臺(tái)程序?qū)囟葦?shù)據(jù)與濕度數(shù)據(jù)的參數(shù)提取出來(lái),放在全局變量中,實(shí)現(xiàn)對(duì)串口數(shù)據(jù)有效位的提取。
2)溫濕度的后臺(tái)計(jì)算
利用轉(zhuǎn)換后的SHT11溫濕度字節(jié)數(shù)據(jù),依據(jù)以下公式進(jìn)行實(shí)時(shí)溫濕度的計(jì)算。
SHT11溫度計(jì)算公式:
根據(jù)所選型號(hào)查閱各參數(shù)的數(shù)值,在式(1)中的參數(shù)d1為-39.6,d2為0.01,SQT為下位機(jī)回傳的2字節(jié)SHT溫度數(shù)據(jù),基計(jì)算結(jié)果的單位為℃。
SHT11濕度計(jì)算公式:
根據(jù)所選型號(hào)查閱各參數(shù)的數(shù)值,式(2)中c1= -2.0468,c2=+0.0367,c3=-0.0000015955;在式(3)中,t1=+0.01,t2=+0.00008,T℃為當(dāng)前溫度的攝氏度值;兩式中的SORH為下位機(jī)傳回來(lái)的2字節(jié)SHT濕度數(shù)據(jù)。
3)溫濕度窗口的顯示
在VB工程的可視界面中,設(shè)計(jì)了6個(gè)文本控件來(lái)顯示溫濕度,同時(shí)設(shè)計(jì)有按鈕控件,通過(guò)觸發(fā)控件可以刷新監(jiān)測(cè)數(shù)據(jù)。將計(jì)算得到的溫濕度數(shù)據(jù)直接賦值給了文本控件,用于實(shí)現(xiàn)所讀取數(shù)據(jù)的實(shí)時(shí)顯示。
2.1 溫濕度傳感器數(shù)據(jù)收發(fā)實(shí)驗(yàn)
圖11 實(shí)驗(yàn)中一個(gè)測(cè)量溫度周期的波形圖
通過(guò)Jlink仿真器,在Keiluvision 4環(huán)境中對(duì)下位機(jī)程序進(jìn)行單步執(zhí)行各種命令函數(shù),并通過(guò)示波器來(lái)監(jiān)測(cè)下位機(jī)終端節(jié)點(diǎn)在實(shí)驗(yàn)過(guò)程中的時(shí)序圖,例如圖11所示的波形圖為一個(gè)測(cè)量溫度周期的波形圖。與此同時(shí),還進(jìn)行濕度測(cè)量、通訊復(fù)位等命令的跟蹤執(zhí)行。示波器所顯示的波形圖與數(shù)據(jù)手冊(cè)中的指令時(shí)序圖完全吻合,說(shuō)明程序邏輯的正確性以及SHT11的穩(wěn)定性。
2.2 無(wú)線數(shù)據(jù)傳輸實(shí)驗(yàn)
在對(duì)終端節(jié)點(diǎn)進(jìn)行單步執(zhí)行追蹤監(jiān)測(cè)的同時(shí),通過(guò)串口助手軟件查看匯聚節(jié)點(diǎn)的數(shù)據(jù)接收情況,得到如圖12所示的結(jié)果,結(jié)果與終端節(jié)點(diǎn)監(jiān)測(cè)數(shù)據(jù)一致,說(shuō)明無(wú)線數(shù)據(jù)傳輸功能的實(shí)現(xiàn)。
圖12 匯聚節(jié)點(diǎn)串口數(shù)據(jù)接收結(jié)果
2.3 上位機(jī)顯示軟件運(yùn)行實(shí)驗(yàn)
在倉(cāng)儲(chǔ)場(chǎng)景中,安裝放置傳感器節(jié)點(diǎn),連接匯聚節(jié)點(diǎn),運(yùn)行上位機(jī)軟件,得到圖13所示結(jié)果。對(duì)數(shù)據(jù)進(jìn)行保存操作,并通過(guò)打開(kāi)Access數(shù)據(jù)庫(kù)文件查看數(shù)據(jù)內(nèi)容,得到如圖14的結(jié)果。
圖13 軟件運(yùn)行窗口
圖14 Access數(shù)據(jù)庫(kù)中的溫濕度數(shù)據(jù)表
本文分析了WSN技術(shù)應(yīng)用于物流倉(cāng)儲(chǔ)環(huán)境監(jiān)測(cè)的優(yōu)勢(shì)和應(yīng)用前景,給出了基于Zigbee技術(shù)的倉(cāng)儲(chǔ)環(huán)境監(jiān)測(cè)系統(tǒng)的總體設(shè)計(jì)方案,對(duì)系統(tǒng)進(jìn)行了性能測(cè)試實(shí)驗(yàn)。
本文設(shè)計(jì)的倉(cāng)儲(chǔ)環(huán)境監(jiān)測(cè)系統(tǒng)在程序控制方面,終端節(jié)點(diǎn)采用喚醒模式,進(jìn)而大量節(jié)省無(wú)線網(wǎng)絡(luò)中各節(jié)點(diǎn)的能耗,延長(zhǎng)節(jié)點(diǎn)的使用壽命;在數(shù)據(jù)處理方面,設(shè)計(jì)了基于堆棧思想的數(shù)據(jù)池,確保監(jiān)測(cè)數(shù)據(jù)的在穩(wěn)定傳輸?shù)耐瑫r(shí),具有較好的實(shí)時(shí)性。
在倉(cāng)儲(chǔ)環(huán)境中,所設(shè)計(jì)的WSN終端節(jié)點(diǎn)集成一體,體積較小,便于移動(dòng)和安置,能夠?qū)Σ煌膫}(cāng)位進(jìn)行多方位的監(jiān)測(cè);上位機(jī)顯示軟件,能夠?qū)⒏鱾€(gè)節(jié)點(diǎn)的數(shù)據(jù)直觀地顯示出來(lái),便于物流倉(cāng)儲(chǔ)人員對(duì)倉(cāng)儲(chǔ)環(huán)境的管理,同時(shí)也能夠?qū)⑦@些數(shù)據(jù)存儲(chǔ)在到數(shù)據(jù)庫(kù)中。
實(shí)施過(guò)程由一個(gè)終端節(jié)點(diǎn)與匯聚節(jié)點(diǎn)的通信展開(kāi),進(jìn)而到多個(gè)終端與匯集節(jié)點(diǎn)實(shí)現(xiàn)通信,構(gòu)建出星型網(wǎng)絡(luò),在此基礎(chǔ)上還可以進(jìn)行節(jié)點(diǎn)的拓展開(kāi)發(fā);無(wú)線傳感器節(jié)點(diǎn)的硬件上設(shè)計(jì)有拓展開(kāi)發(fā)的IO口,可以進(jìn)行多傳感器的進(jìn)一步開(kāi)發(fā),更全面地對(duì)倉(cāng)儲(chǔ)環(huán)境進(jìn)行監(jiān)測(cè);在上位機(jī)方面,實(shí)現(xiàn)了顯示和數(shù)據(jù)存儲(chǔ)功能,可以在此基礎(chǔ)上進(jìn)行其他功能的開(kāi)發(fā)。
參考文獻(xiàn):
[1] 孫利民,李建中,陳渝,等.無(wú)線傳感器網(wǎng)絡(luò)[M].清華大學(xué)出版社,2005.
[2] 王青林,等.電路設(shè)計(jì)與制板:Protel 99 SE基礎(chǔ)教程(修訂版)[M].人民郵電出版社,2012.
[3] 劉炳文.Visual Basic程序設(shè)計(jì)教程[M].4版.清華大學(xué)出版社,2009.
[4] 呂然.ZigBee標(biāo)準(zhǔn)及其進(jìn)展[J].移動(dòng)通信.2013,(9):73-77
[5] 徐志鵬.基于ZigBee技術(shù)的智能倉(cāng)儲(chǔ)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱工業(yè)大學(xué).2011.
[6] 江峰.無(wú)線傳感器網(wǎng)絡(luò)在智能物流中的設(shè)計(jì)分析[J].通信技術(shù). 2013,46(5):34-36.
[7] 戰(zhàn)美玲.基于ZigBee無(wú)線傳感器網(wǎng)絡(luò)的倉(cāng)儲(chǔ)環(huán)境監(jiān)控系統(tǒng)研究[D].山東師范大學(xué).2012.
[8] 王璐超,等.無(wú)線傳感器網(wǎng)絡(luò)在物流中應(yīng)用的關(guān)鍵技術(shù)與前景分析[J].物流技術(shù).2010(03):141-143.
作者簡(jiǎn)介:張濤(1991 -),女,山西人,研究生,研究方向?yàn)槲锪鞴こ獭?/p>
基金項(xiàng)目:北京市教育委員會(huì)專項(xiàng)資金
收稿日期:2015-12-06
中圖分類號(hào):TN929
文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1009-0134(2016)01-0148-05