基于ZigBee無線傳感器網(wǎng)絡(luò)的智能倉儲節(jié)點設(shè)計
摘要:針對傳統(tǒng)倉儲管理自動化程度不高、人工依賴性等問題,提出一種基于ZigBee技術(shù)的智能倉儲管理。文章給出了協(xié)調(diào)器節(jié)點及終端節(jié)點的硬件框圖及主要軟件運行流程,并對節(jié)點的能耗進行分析,實現(xiàn)對倉儲溫度、濕度等環(huán)境參數(shù)進行無線傳輸和實時監(jiān)測的設(shè)計。
關(guān)鍵詞:智能倉儲;Z_Stack;CC2530;能耗
0 引言
隨著現(xiàn)代物流業(yè)和供應(yīng)鏈管理理念的不斷發(fā)展,倉儲管理在物流管理中的重要性日益提高,倉儲管理己成為物流管理的核心部分和關(guān)鍵環(huán)節(jié)。目前我國倉儲管理存在自動化程度不高、人工依賴性強等諸多問題,降低了倉儲管理的效率。本文設(shè)計了一種基于ZigBee無線傳感器網(wǎng)絡(luò)的智能倉儲系統(tǒng),在原有倉儲系統(tǒng)的基礎(chǔ)上引入ZigBee技術(shù),利用無線傳感器節(jié)點能耗低、網(wǎng)絡(luò)容量大、成本低的特點,在倉儲區(qū)域內(nèi)讓其自組織構(gòu)成智能測控網(wǎng)絡(luò)。這樣能夠有效地解決傳統(tǒng)倉儲存在的各種問題,同時還能夠?qū)囟?、濕度等環(huán)境參數(shù)進行實時監(jiān)測,從而構(gòu)建了智能化的倉儲環(huán)境監(jiān)測系統(tǒng)。
1 系統(tǒng)方案設(shè)計
為了保證系統(tǒng)的可靠運行,必須選擇合適的網(wǎng)絡(luò)拓撲結(jié)構(gòu)。由于本倉儲系統(tǒng)節(jié)點有限,節(jié)點位置較為固定,因而采用了節(jié)點易于擴充、尋找路徑比較方便的樹型結(jié)構(gòu)。樹型結(jié)構(gòu)由網(wǎng)絡(luò)協(xié)調(diào)器、路由器、終端設(shè)備組成,其中網(wǎng)絡(luò)協(xié)調(diào)器通過串口與PC機相連,主要負責網(wǎng)絡(luò)的建立、發(fā)送PC機的指令和接收節(jié)點的數(shù)據(jù),并將接收的數(shù)據(jù)發(fā)送給PC機。路由節(jié)點作為一種中介使協(xié)調(diào)器與終端設(shè)備通信,實現(xiàn)路由通信功能,同時也可以采集數(shù)據(jù)。終端設(shè)備完成對數(shù)據(jù)的控制和數(shù)據(jù)的采集,包括溫度、濕度、空氣成分等數(shù)據(jù)。
2 節(jié)點硬件設(shè)計
傳感器節(jié)點是無線傳感器網(wǎng)絡(luò)的基本單元,它負責傳感和信息預(yù)處理,響應(yīng)監(jiān)控主機的指令發(fā)送數(shù)據(jù)等。傳感器節(jié)點由傳感器、處理器、無線通信和能量供應(yīng)等模塊組成,其結(jié)構(gòu)如圖1所示。
CC2530是TI公司生產(chǎn)的一款基于具有SOC(片上系統(tǒng)),支持IEEE802.15.4、ZigBee、ZigBee PRO標準,芯片集成了2.4GHz直接序列擴頻RF收發(fā)器、工業(yè)級增強型8051微處理器、高達256kB閃存、8kBRAM、8通道12位ADC,2個USART接口,21個通用接口GPIO等,4種供電模式,具有較高的無線接收靈敏度和抗干擾性能,傳輸距離大于75m,最高傳輸速率250kbps。
傳感器模塊主要包括溫度傳感器和濕度傳感器。溫度傳感器采用CC2530上的模擬溫度傳感器,使能時電流消耗(不包括ADC電流)為0.5 mA,溫度系數(shù)為4.5/10℃,壓力系數(shù)為1/0.1V。濕度傳感器采用瑞士Sensirion公司推出的SHT75,默認的濕度測量分辨率為12bit,工作的最低電壓為2.4V,濕度的量程范圍0~100%RH,溫度的量程范圍為一40~123.8℃。
3 節(jié)點軟件設(shè)計
節(jié)點的軟件以TI公司推出的ZigBee協(xié)議棧Z_Stack為基礎(chǔ),通過添加傳感器采集函數(shù)和應(yīng)用層函數(shù)完成。Z_stack可實現(xiàn)絕大部分代碼公用,大大增加了項目的通用性和易移植性。Z-Stack協(xié)議棧是以簡單的任務(wù)輪詢形式運行的,該協(xié)議棧的主循環(huán)結(jié)構(gòu)如下:
主要任務(wù)有八個,其中macEventloop負責MAC層事件處理;nwk event loop負責網(wǎng)絡(luò)層路由處理;Hal ProcessEvent完成硬件管理的任務(wù);MT ProcessEvent模塊主要用于網(wǎng)絡(luò)調(diào)試工具;應(yīng)用支持子層處理函數(shù)APS event loop一般用戶不要修改;ZDApp event loop為應(yīng)用層處理函數(shù),可根據(jù)需要修改;SennorApp ProcessEvent和SerialApp ProcessEvent為用戶應(yīng)用層處理函數(shù),前者主要用于終端和路由設(shè)備的溫度、濕度等數(shù)據(jù)采集及發(fā)送模塊,后者主要用于協(xié)調(diào)器與主機間串口通信模塊。
3.1 協(xié)調(diào)器節(jié)點軟件設(shè)計
網(wǎng)絡(luò)協(xié)調(diào)器需要在應(yīng)用層添加SerialApp ProcessEven處理函數(shù),協(xié)調(diào)器工作的主程序如圖2所示,協(xié)調(diào)器上電后,由啟動代碼來初始化硬件系統(tǒng)和軟件架構(gòu)需要的各個模塊,然后協(xié)調(diào)器會在默認的信道上建立一個網(wǎng)絡(luò),并指定網(wǎng)絡(luò)標號PANID,協(xié)調(diào)器建網(wǎng)成功后進入監(jiān)控模式,當有路由或者終端節(jié)點申請加入時,對其分配16位短地址;當有數(shù)據(jù)請求時協(xié)調(diào)器會接收數(shù)據(jù)并將數(shù)據(jù)發(fā)送給PC機。
本文中協(xié)調(diào)器采用的ZStack 2.4.0版本協(xié)議,協(xié)調(diào)器組網(wǎng)要進行如下步驟:1)首先從NV中讀出設(shè)備的邏輯類型并將設(shè)備邏輯類型改寫為ZG_DEVICETYPE_COORDINATOR,設(shè)置設(shè)備的啟動方式為ZCD_STARTOPT_AUTO_START;2)設(shè)備、任務(wù)初始化后,進入事件處理函數(shù)處理ZB_ENT RY_EVENT事件,執(zhí)行zb_StartRequest(),該函數(shù)的功能是啟動ZigBee協(xié)議棧,建立網(wǎng)絡(luò);3)設(shè)備啟動完成后進去回調(diào)函數(shù)zb_StartConfir m,如果設(shè)備成功啟動,修改設(shè)備狀態(tài)為APP START,如果設(shè)備啟動失敗,設(shè)置定時器,重新執(zhí)行zb_StartRequest()。在與PC機通信時為了數(shù)據(jù)能夠及時收發(fā),降低能耗,需要在程序中增加采用中斷方式的UARTO處理函數(shù),再通過串口寫函數(shù)HaUARTWrite()在上位機上顯示接收到的信息。
3.2 終端節(jié)點軟件設(shè)計
終端節(jié)點需要在應(yīng)用層添加SennorApp ProcessEvent處理函數(shù),使節(jié)點具有數(shù)據(jù)采集和無線數(shù)據(jù)傳輸?shù)墓δ?,傳感器?jié)點工作流程如圖3所示。終端節(jié)點需上電后立即搜尋并請求加入網(wǎng)絡(luò),直接在ZB_ENTRY_EVENT事件的處理中執(zhí)行zb_StartRequest(),新插入的節(jié)點必須通過已存在網(wǎng)絡(luò)中的全功能設(shè)備(包括路由器和協(xié)調(diào)器)才能成功進入網(wǎng)絡(luò),在通信范圍內(nèi)的全功能設(shè)備會響應(yīng)請求加入網(wǎng)絡(luò)的數(shù)據(jù)包,然后為該節(jié)點分配一個唯一的網(wǎng)絡(luò)地址。然后進入“睡眠-喚醒采集數(shù)據(jù)-睡眠”低功耗工作模式,其中通過編寫void myApp_Measure()函數(shù)來采集并發(fā)送數(shù)據(jù)。
4 節(jié)點的能耗分析
能耗是無線傳感器網(wǎng)絡(luò)的重要指標,決定網(wǎng)絡(luò)的使用壽命。為了降低整個網(wǎng)絡(luò)的綜合能耗,本設(shè)計中終端設(shè)備節(jié)點采用“睡眠-喚醒采集數(shù)據(jù)-睡眠”低功耗工作模式。
下面對網(wǎng)絡(luò)節(jié)點的電池壽命進行了評估。測試中節(jié)點使用兩節(jié)1.5V的南孚電池供電。如果使節(jié)點每15min進行一次數(shù)據(jù)采集的話,那么一次工作循環(huán)的能耗應(yīng)為節(jié)點采集一次數(shù)據(jù)發(fā)送的能量(35.58mAh)加上睡眠時的能耗(360 μAh),試驗中3V電池電壓下工作,電量大約是2200mAh,經(jīng)實際測試節(jié)點上CC2530模塊最低電壓供電量為2.0V,傳感器模塊中濕度傳感器的最低工作電壓為2.4V,因此節(jié)點的最低供電電壓應(yīng)為2.4V。根據(jù)文獻中介紹的能耗估算方法可知:電池能提供約為440mAh的電量使得節(jié)點有效工作,經(jīng)計算得一個傳感器節(jié)點可以有效工作44519次,工作時間約為1.27年。
5 結(jié)論
基于CC2530的ZigBee技術(shù)的智能倉儲系統(tǒng)可以對目標區(qū)域內(nèi)溫度、濕度等環(huán)境參數(shù)進行無線遠程采集與管理,開發(fā)成本低,能量消耗低,并且安裝維護比較簡單,只需一次安裝就可以長期使用,具備了傳統(tǒng)倉儲管理無法比擬的優(yōu)勢,較好地解決了傳統(tǒng)倉儲管理中設(shè)備復(fù)雜、效率低下等問題。