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