基于ZigBee無(wú)線Mesh網(wǎng)絡(luò)的溫濕度測(cè)量系統(tǒng)設(shè)計(jì)
目前,隨著工業(yè)生產(chǎn)自動(dòng)化程度不斷提升,溫濕度等生產(chǎn)環(huán)境要素監(jiān)控智能化程度也在不斷發(fā)展。傳統(tǒng)測(cè)量設(shè)備功能單一,采用線纜連接各測(cè)量節(jié)點(diǎn),測(cè)量系統(tǒng)架設(shè)復(fù)雜,數(shù)據(jù)處理實(shí)時(shí)性不高。隨著短距離無(wú)線通信技術(shù)、嵌入式技術(shù)和傳感器技術(shù)的發(fā)展,工業(yè)現(xiàn)場(chǎng)測(cè)量系統(tǒng)的網(wǎng)絡(luò)化、智能化得到快速提升。本文開(kāi)發(fā)了基于ZigBee無(wú)線Mesh網(wǎng)絡(luò)的溫濕度測(cè)量系統(tǒng),具有網(wǎng)絡(luò)覆蓋能力強(qiáng)、測(cè)量精度高、現(xiàn)場(chǎng)架設(shè)便捷、系統(tǒng)智能化程度高的特點(diǎn),適合工業(yè)現(xiàn)場(chǎng)大范圍溫濕度測(cè)量監(jiān)控應(yīng)用。
本文引用地址:http://butianyuan.cn/article/201610/306225.htm1 系統(tǒng)總體設(shè)計(jì)方案
無(wú)線溫濕度測(cè)量系統(tǒng)將現(xiàn)場(chǎng)溫濕度驗(yàn)證記錄與ZigBee網(wǎng)絡(luò)融為一體,具備數(shù)據(jù)采集、存儲(chǔ)和處理分析的功能,用戶可通過(guò)上位機(jī)軟件掌握現(xiàn)場(chǎng)環(huán)境數(shù)據(jù)。系統(tǒng)總體結(jié)構(gòu)由無(wú)線測(cè)量終端、無(wú)線基站和上位機(jī)構(gòu)成。使用LabWindows/CVI編程開(kāi)發(fā)的上位機(jī)軟件,實(shí)現(xiàn)對(duì)無(wú)線基站和無(wú)線測(cè)量終端的管理、測(cè)量控制以及數(shù)據(jù)上傳處理。無(wú)線基站采用AT91SAM9263工業(yè)級(jí)微處理器,結(jié)合支持ZigBee應(yīng)用的片上系統(tǒng)芯片CC2530作為硬件平臺(tái),建立和維護(hù)整個(gè)ZigBee網(wǎng)絡(luò)。無(wú)線測(cè)量終端以低功耗處理器MSP430F2618作為控制核心,負(fù)責(zé)傳感器數(shù)據(jù)采集和處理,通過(guò)搭載的CC2530無(wú)線網(wǎng)絡(luò)模塊加入現(xiàn)場(chǎng)測(cè)量網(wǎng)絡(luò)并上傳測(cè)量數(shù)據(jù)。
ZigBee網(wǎng)絡(luò)采用網(wǎng)狀(Mesh)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),其網(wǎng)絡(luò)路由自動(dòng)建立和維護(hù),網(wǎng)絡(luò)節(jié)點(diǎn)可通過(guò)多條路徑傳輸數(shù)據(jù),即便某個(gè)節(jié)點(diǎn)離開(kāi)網(wǎng)絡(luò),與其關(guān)聯(lián)的節(jié)點(diǎn)自動(dòng)尋找其他路徑重新加入網(wǎng)絡(luò),實(shí)現(xiàn)路由修復(fù),提高了網(wǎng)絡(luò)可靠性。ZigBee網(wǎng)絡(luò)中無(wú)線基站和無(wú)線測(cè)量終端分別作為協(xié)調(diào)器和路由器構(gòu)成Mesh網(wǎng)絡(luò),網(wǎng)絡(luò)覆蓋能力強(qiáng),系統(tǒng)架設(shè)靈活。系統(tǒng)結(jié)構(gòu)如圖1所示。
2 硬件設(shè)計(jì)
2.1 無(wú)線基站
無(wú)線基站是無(wú)線溫濕度測(cè)量系統(tǒng)中的關(guān)鍵節(jié)點(diǎn),一方面負(fù)責(zé)與上位機(jī)通信,獲取工程配置信息,測(cè)量結(jié)束后將各網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)據(jù)上傳至PC;另一方面創(chuàng)建和維護(hù)ZigBee網(wǎng)絡(luò)、實(shí)現(xiàn)無(wú)線測(cè)量終端的入網(wǎng)和管理、網(wǎng)絡(luò)數(shù)據(jù)匯集、存儲(chǔ)和轉(zhuǎn)發(fā)。無(wú)線基站采用AT91SAM9263作為控制核心,其內(nèi)部嵌入了高達(dá)220MIPS(每秒百萬(wàn)條指令)的處理器內(nèi)核,96 KB內(nèi)部SRAM,支持外部總線以及豐富的外設(shè)資源。在AT92SAM9263、外部DDRAM和NorFlash組成最小系統(tǒng)基礎(chǔ)上,結(jié)合ZigBee無(wú)線網(wǎng)絡(luò)模塊、串口通信、液晶顯示、SD卡存儲(chǔ),實(shí)現(xiàn)相應(yīng)功能。串口采用RS232電平與PC實(shí)現(xiàn)通信,LCD高彩色液晶顯示系統(tǒng)狀態(tài)及實(shí)時(shí)測(cè)量數(shù)據(jù),SD卡保存所有節(jié)點(diǎn)歷史數(shù)據(jù)。
ZigBee無(wú)線網(wǎng)絡(luò)模塊采用CC2530高度集成片上系統(tǒng)芯片,結(jié)合外圍硬件電路及外置全向天線,配備TI標(biāo)準(zhǔn)ZStack-CC2530協(xié)議棧,作為網(wǎng)絡(luò)協(xié)調(diào)器,實(shí)現(xiàn)對(duì)無(wú)線測(cè)量終端的管理和數(shù)據(jù)傳輸。
無(wú)線基站框圖如圖2所示。
2.2 無(wú)線測(cè)量終端
無(wú)線測(cè)量終端以低功耗處理器MSP430F2618為核心,采用與無(wú)線基站同樣的CC2530片上系統(tǒng)芯片,主要實(shí)現(xiàn)溫濕度數(shù)據(jù)采集、存儲(chǔ)和上傳,作為網(wǎng)絡(luò)路由器節(jié)點(diǎn)完成轉(zhuǎn)發(fā)通信和路由維護(hù)等功能。無(wú)線測(cè)量終端主要包括MSP430F2618微處理器子系統(tǒng)、A/D轉(zhuǎn)換控制、ZigBee無(wú)線網(wǎng)絡(luò)、人機(jī)接口、SD卡存儲(chǔ)、電源管理等單元模塊。
溫度測(cè)量使用鉑電阻傳感器PT100;濕度測(cè)量采用濕度傳感器HC2,傳感器的輸出為0~1 V的電壓信號(hào)。傳感器數(shù)據(jù)采集使用分辨率為16位的Σ-Δ模數(shù)轉(zhuǎn)換芯片AD7715,與MSP430F2618微處理器采用SPI接口通信。無(wú)線測(cè)量終端9路鉑電阻和3路濕度傳感器測(cè)量通道復(fù)用一個(gè)A/D轉(zhuǎn)換芯片,通過(guò)I/O口控制模擬開(kāi)關(guān)和多路選擇器選擇需要測(cè)量的通道進(jìn)行采樣。
人機(jī)接口采用拓普微公司LM2068圖形點(diǎn)陣液晶顯示模塊,液晶與MSP430F2618采用并口連接方式。系統(tǒng)集成的4個(gè)按鍵的小鍵盤,可用于開(kāi)/關(guān)機(jī)、啟動(dòng)測(cè)量和顯示界面切換。無(wú)線測(cè)量終端使用SD卡保存每個(gè)測(cè)量通道的數(shù)據(jù),MSP430F2618采用SPI接口實(shí)現(xiàn)SD卡接口通信。
BQ27501芯片與微處理器之間通過(guò)I2C總線互連,實(shí)現(xiàn)鋰電池電量監(jiān)測(cè)和管理。
無(wú)線測(cè)量終端框圖如圖3所示。
3 軟件設(shè)計(jì)
3.1 Mesh網(wǎng)絡(luò)路由設(shè)計(jì)
Mesh網(wǎng)絡(luò)的路由算法主要實(shí)現(xiàn)選擇快捷的路徑、節(jié)約網(wǎng)絡(luò)資源、減輕系統(tǒng)通信負(fù)荷、提高網(wǎng)絡(luò)通暢率。同時(shí)由于無(wú)線測(cè)量終端采用電池供電,在某個(gè)無(wú)線測(cè)量終端停電導(dǎo)致網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下,必須保證數(shù)據(jù)傳輸鏈路快速恢復(fù)。
Mesh網(wǎng)絡(luò)采用AODV算法與Cluster-Tree算法相結(jié)合的路由設(shè)計(jì)。Cluster-Tree算法中,不需要維護(hù)路由表,節(jié)點(diǎn)收到信息后立即傳輸給下一跳節(jié)點(diǎn)。該算法能夠減少路由協(xié)議的控制開(kāi)銷,但無(wú)法保證建立的路徑為最優(yōu)路徑,造成網(wǎng)絡(luò)各節(jié)點(diǎn)通信流量分配嚴(yán)重失衡。AODV算法是一種按需驅(qū)動(dòng)路由協(xié)議,其路由過(guò)程分為路由發(fā)現(xiàn)和路由維護(hù)兩部分。當(dāng)無(wú)線基站和無(wú)線測(cè)量終端之間需要通信時(shí),源節(jié)點(diǎn)發(fā)起路由發(fā)現(xiàn)過(guò)程,廣播一個(gè)路由請(qǐng)求,鄰居節(jié)點(diǎn)收到路由請(qǐng)求后,判斷自己是否為該次路由發(fā)現(xiàn)的目標(biāo)節(jié)點(diǎn),若是則回復(fù)路由應(yīng)答并在本路徑所有節(jié)點(diǎn)建立路由表,若不是則繼續(xù)轉(zhuǎn)發(fā)路由請(qǐng)求直至到達(dá)目標(biāo)節(jié)點(diǎn)。路由維護(hù)是通過(guò)周期性地組播HELLO報(bào)文來(lái)獲知鄰居節(jié)點(diǎn)通信狀態(tài),以確認(rèn)路由完整。若某個(gè)節(jié)點(diǎn)下一跳離開(kāi)網(wǎng)絡(luò),則向上游節(jié)點(diǎn)報(bào)告路由斷開(kāi)信息,相關(guān)節(jié)點(diǎn)丟棄無(wú)效路由,源節(jié)點(diǎn)開(kāi)始重新路由發(fā)現(xiàn)。該算法能夠快速準(zhǔn)確地創(chuàng)建從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的路由,而且路由節(jié)點(diǎn)不需要保存整個(gè)網(wǎng)絡(luò)的所有路由信息。當(dāng)網(wǎng)絡(luò)中路由狀況發(fā)生變化時(shí),其相關(guān)節(jié)點(diǎn)能夠快速響應(yīng),消除無(wú)效路由信息,實(shí)現(xiàn)路由表的自動(dòng)修復(fù)。
無(wú)線溫濕度測(cè)量系統(tǒng)的網(wǎng)絡(luò)通信遵循以下過(guò)程:(1)終端維護(hù)獲取所有將要使用的終端MAC地址;(2)啟動(dòng)無(wú)線基站,其作為唯一的網(wǎng)絡(luò)協(xié)調(diào)器建立和初始化ZigBee網(wǎng)絡(luò);(3)啟動(dòng)各無(wú)線測(cè)量終端,其作為網(wǎng)絡(luò)路由器加入ZigBee網(wǎng)絡(luò),同時(shí)上傳本終端信息;(4)無(wú)線基站收集所有在線測(cè)量終端信息,向上位機(jī)智能溫濕度測(cè)量管理系統(tǒng)軟件報(bào)告網(wǎng)絡(luò)狀態(tài);(5)上位機(jī)向無(wú)線基站發(fā)送工程配置信息,無(wú)線基站廣播配置信息,根據(jù)配置啟動(dòng)相關(guān)傳感器通道測(cè)量;(6)無(wú)線測(cè)量終端將測(cè)量數(shù)據(jù)通過(guò)路由傳送至無(wú)線基站,無(wú)線基站將數(shù)據(jù)匯集、處理、存儲(chǔ)并上傳給上位機(jī)智能溫濕度測(cè)量管理系統(tǒng)軟件分析處理;(7)網(wǎng)絡(luò)以固定時(shí)間間隔120 s進(jìn)行路由信息維護(hù),若某個(gè)無(wú)線測(cè)量終端離開(kāi)網(wǎng)路,則向無(wú)線基站報(bào)告終端離開(kāi),并重新開(kāi)始相關(guān)節(jié)點(diǎn)的路由發(fā)現(xiàn),進(jìn)行路由修復(fù)。
3.2 上位機(jī)軟件設(shè)計(jì)
上位機(jī)軟件使用LabWindows/CVI軟件編程,實(shí)現(xiàn)工程配置、傳感器校準(zhǔn)和數(shù)據(jù)分析三大功能。工程配置實(shí)現(xiàn)的功能有:(1)傳感器分組設(shè)置;(2)按鍵/越限/周期/定時(shí)啟動(dòng)模式設(shè)置;(3)按鍵/越限/超時(shí)停止測(cè)量設(shè)置;(4)采樣間隔設(shè)置;(5)報(bào)警參數(shù)設(shè)置。傳感器校準(zhǔn)分為鉑電阻校準(zhǔn)和濕度傳感器校準(zhǔn)兩部分。鉑電阻校準(zhǔn)通過(guò)在各溫度節(jié)點(diǎn)采集校準(zhǔn)數(shù)據(jù),利用PC強(qiáng)大的計(jì)算能力進(jìn)行鉑電阻非線性擬合,生成校準(zhǔn)參數(shù)并分析校準(zhǔn)精度。濕度傳感器為線性輸出,只需線性校準(zhǔn)即可。校準(zhǔn)系數(shù)通過(guò)串口下載到測(cè)量終端。測(cè)量結(jié)束后,上位機(jī)導(dǎo)入SD卡中數(shù)據(jù),產(chǎn)生報(bào)警信息并生成數(shù)據(jù)報(bào)表。上位機(jī)程序流程圖如圖4所示。
3.3 無(wú)線基站軟件和無(wú)線測(cè)量終端軟件設(shè)計(jì)
無(wú)線基站軟件實(shí)現(xiàn)下載測(cè)量工程文件、無(wú)線測(cè)量終端控制、測(cè)量數(shù)據(jù)匯集、存儲(chǔ)和上傳。軟件編程采用操作系統(tǒng)抽象層(OSAL)多任務(wù)資源分配機(jī)制,根據(jù)系統(tǒng)功能內(nèi)聚性及時(shí)間緊迫程度按優(yōu)先級(jí)由高到低將任務(wù)劃分為網(wǎng)絡(luò)任務(wù)、串口任務(wù)、SD卡存儲(chǔ)任務(wù)和顯示任務(wù)。各任務(wù)初始化以后,系統(tǒng)處于空閑狀態(tài),采用事件輪詢方式,當(dāng)事件發(fā)生時(shí),喚醒系統(tǒng)進(jìn)行相應(yīng)任務(wù)處理,處理完回到空閑狀態(tài)。若幾個(gè)事件同時(shí)發(fā)生,按優(yōu)先級(jí)依次處理。
無(wú)線測(cè)量終端軟件實(shí)現(xiàn)系統(tǒng)所有測(cè)量功能,主要包括網(wǎng)絡(luò)通信、傳感器通道測(cè)量、數(shù)據(jù)存儲(chǔ)、界面顯示、低功耗等任務(wù)。軟件同樣采用OSAL多任務(wù)處理機(jī)制,在系統(tǒng)空閑狀態(tài)進(jìn)入睡眠狀態(tài),系統(tǒng)外設(shè)全部關(guān)閉,極大地降低系統(tǒng)功耗。
4 系統(tǒng)測(cè)試
在PC上安裝上位機(jī)智能溫濕度測(cè)量管理系統(tǒng)軟件,使用串口連接電腦與無(wú)線基站,將10個(gè)無(wú)線測(cè)量終端分別布置在室外及室內(nèi),連續(xù)測(cè)量48小時(shí)室內(nèi)外溫濕度變化情況。使用上位機(jī)智能溫濕度測(cè)量管理系統(tǒng)軟件讀取采樣數(shù)據(jù)并繪制數(shù)據(jù)變化曲線,部分?jǐn)?shù)據(jù)顯示如圖5所示。圖中顯示了傳感器通道編號(hào)及其對(duì)應(yīng)曲線顏色,表格左邊刻度為溫度,右邊刻度為濕度,曲線顯示了48小時(shí)內(nèi)溫濕度變化情況。
系統(tǒng)測(cè)試顯示,該系統(tǒng)運(yùn)行穩(wěn)定,網(wǎng)絡(luò)可靠,數(shù)據(jù)采集準(zhǔn)確完整,系統(tǒng)具有良好的操作性。
本文設(shè)計(jì)了一種基于ZigBee無(wú)線Mesh網(wǎng)絡(luò)的溫濕度測(cè)量系統(tǒng)。該設(shè)計(jì)融合了嵌入式技術(shù)和無(wú)線傳感網(wǎng)絡(luò)技術(shù),通過(guò)組建無(wú)線ZigBee網(wǎng)絡(luò),無(wú)線測(cè)量終端作為路由器節(jié)點(diǎn)采用多跳傳輸?shù)姆绞綄?shù)據(jù)傳送到無(wú)線基站,上位機(jī)軟件與無(wú)線基站通信,達(dá)到工業(yè)現(xiàn)場(chǎng)大范圍多點(diǎn)溫濕度測(cè)量的目的。無(wú)線網(wǎng)絡(luò)采用Mesh網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),采用AODV與Cluster-Tree相結(jié)合的路由算法,能夠?qū)崿F(xiàn)快速路由發(fā)現(xiàn)和路由維護(hù)。目前,該系統(tǒng)已經(jīng)成功應(yīng)用于實(shí)驗(yàn)室溫濕度標(biāo)定和校準(zhǔn),也可搭載其他傳感器應(yīng)用于相關(guān)物理量測(cè)量領(lǐng)域。
評(píng)論