摘 要: 利用CC2430無(wú)線收發(fā)模塊實(shí)現(xiàn)數(shù)據(jù)的采集和無(wú)線傳輸,現(xiàn)場(chǎng)采集器采集數(shù)據(jù)并通過(guò)逐級(jí)跳轉(zhuǎn)的方式把數(shù)據(jù)傳送到協(xié)調(diào)器,協(xié)調(diào)器通過(guò)RS232串行口與ARM處理器通信并實(shí)現(xiàn)在ARM上的實(shí)時(shí)數(shù)據(jù)采集和顯示,ARM處理器最終通過(guò)網(wǎng)線連接井下路由器與井上PC機(jī)進(jìn)行通信,接入局域網(wǎng)中的客戶端可以隨時(shí)以網(wǎng)頁(yè)形式訪問(wèn)ARM上的數(shù)據(jù)以及實(shí)時(shí)的視頻監(jiān)控。以網(wǎng)頁(yè)的形式訪問(wèn)ARM上由ZigBee傳來(lái)的數(shù)據(jù)是該項(xiàng)目中的一大創(chuàng)新點(diǎn),此外,協(xié)調(diào)井下ARM與井上PC間通信的路由器本身就具有易于擴(kuò)充節(jié)點(diǎn)和擴(kuò)大網(wǎng)絡(luò)規(guī)模的優(yōu)勢(shì)。
關(guān)鍵詞: ZigBee;無(wú)線傳感網(wǎng);CC2430;ARM處理器;Web
隨著國(guó)家對(duì)煤礦安全生產(chǎn)工作的日益重視,而且近幾年來(lái),ZigBee技術(shù)在中國(guó)迅速發(fā)展,基于ZigBee的無(wú)線傳感網(wǎng)成為業(yè)界的研究熱點(diǎn),人們通過(guò)研究發(fā)現(xiàn)基于ZigBee的無(wú)線傳感網(wǎng)具有數(shù)據(jù)傳輸安全可靠、組網(wǎng)簡(jiǎn)易靈活、設(shè)備成本低、使用壽命長(zhǎng)等優(yōu)勢(shì)[1]。ZigBee技術(shù)是一個(gè)具有統(tǒng)一技術(shù)標(biāo)準(zhǔn)的短距離無(wú)線通信技術(shù),其物理層和媒體訪問(wèn)控制層協(xié)議基于IEEE802.15.4協(xié)議標(biāo)準(zhǔn),網(wǎng)絡(luò)層和應(yīng)用層由ZigBee聯(lián)盟制定。為了充分利用ZigBee無(wú)線傳感器網(wǎng)絡(luò),有必要將已經(jīng)成熟的基于TCP/IP技術(shù)的以太網(wǎng)與ZigBee無(wú)線傳感網(wǎng)絡(luò)相結(jié)合,從而實(shí)現(xiàn)以太網(wǎng)通過(guò)網(wǎng)關(guān)來(lái)訪問(wèn)ZigBee無(wú)線傳感器網(wǎng)絡(luò)。
傳統(tǒng)的網(wǎng)關(guān)大多是用單片機(jī)來(lái)實(shí)現(xiàn),本設(shè)計(jì)把嵌入式系統(tǒng)的ARM處理器和Linux操作系統(tǒng)加進(jìn)網(wǎng)關(guān)系統(tǒng),能夠更高效、更穩(wěn)定地傳遞來(lái)自無(wú)線傳感網(wǎng)絡(luò)的數(shù)據(jù)和來(lái)自以太網(wǎng)的用戶控制命令,同時(shí)還能實(shí)現(xiàn)ZigBee無(wú)線傳感器網(wǎng)絡(luò)新節(jié)點(diǎn)的動(dòng)態(tài)鏈接[1]。
1 系統(tǒng)概述
無(wú)線傳感網(wǎng)對(duì)網(wǎng)關(guān)的要求較高,用傳統(tǒng)的單片機(jī)技術(shù)實(shí)現(xiàn)比較復(fù)雜,采用具有較強(qiáng)信息處理能力和網(wǎng)絡(luò)功能的ARM9系列芯片S3C2440作為處理器,在Linux2.6.32操作系統(tǒng)下設(shè)計(jì)ZigBee與TCP/IP間通信的網(wǎng)關(guān)。Linux嵌入式系統(tǒng)與ZigBee無(wú)線傳感網(wǎng)絡(luò)相結(jié)合,可以實(shí)現(xiàn)各節(jié)點(diǎn)有序、高效的工作[1]。
前端采集器ZigBee負(fù)責(zé)采集信息,采集器將溫度、電壓(瓦斯氣體濃度可通過(guò)傳感器轉(zhuǎn)換成電壓參量)等數(shù)據(jù)采集后通過(guò)無(wú)線轉(zhuǎn)發(fā)給協(xié)調(diào)器,協(xié)調(diào)器接收信息并通過(guò)串口將信息傳給ARM,ARM作為網(wǎng)關(guān)一端連接ZigBee組成的無(wú)線傳感網(wǎng),另一端連接以太網(wǎng),在ARM上又建有基于BOA的Web服務(wù)器,井上接入局域網(wǎng)的客戶端可以通過(guò)網(wǎng)頁(yè)訪問(wèn)ARM上的數(shù)據(jù)以及對(duì)井下實(shí)時(shí)的視頻監(jiān)控。ARM可以在井下實(shí)時(shí)顯示溫度、電壓等信息以及控制全網(wǎng)報(bào)警,實(shí)現(xiàn)礦井下的實(shí)時(shí)監(jiān)控。系統(tǒng)的整體構(gòu)建如圖1所示。
2 硬件設(shè)計(jì)
2.1 采集器模塊
采集器模塊采用CC2430芯片,CC2430芯片除了具有符合IEEE 802.15.4規(guī)范的2.4 GHz無(wú)線射頻前端,它還在片內(nèi)集成了微處理器,這種在單芯片上集成RF射頻、處理器和內(nèi)存的ZigBee解決方案的優(yōu)點(diǎn)是集成度高、功耗低, 它只需要很少的外部元器件就可以實(shí)現(xiàn)無(wú)線傳輸[2]。負(fù)責(zé)數(shù)據(jù)的采集和預(yù)處理的ZigBee模塊稱之為采集器,如圖2所示。
2.3 處理器模塊
網(wǎng)關(guān)采用嵌入式系統(tǒng)技術(shù),基于Linux操作系統(tǒng)本身的易于移植、開(kāi)源、優(yōu)異的網(wǎng)絡(luò)支持等優(yōu)點(diǎn),采用ARM9處理器加上Linux操作系統(tǒng)來(lái)設(shè)計(jì)ZigBee與TCP/IP間通信的網(wǎng)關(guān)。嵌入式系統(tǒng)與ZigBee無(wú)線傳感器網(wǎng)絡(luò)相結(jié)合,可以更好地控制網(wǎng)絡(luò)的信息傳遞。
ARM通過(guò)串口接收協(xié)調(diào)器傳來(lái)的信息,并將信息及時(shí)保存下來(lái)。為了實(shí)現(xiàn)對(duì)多個(gè)ARM的訪問(wèn),將ARM通過(guò)網(wǎng)線連接至路由器,路由器連接到局域網(wǎng)中,這樣可以更好地?cái)U(kuò)充網(wǎng)關(guān)節(jié)點(diǎn)的數(shù)量,有效地?cái)U(kuò)大了網(wǎng)絡(luò)覆蓋面,避免了網(wǎng)絡(luò)盲區(qū), 降低了安全隱患,具有有線測(cè)量和人工測(cè)量無(wú)法比擬的優(yōu)越性[3]。結(jié)構(gòu)如圖4所示。
2.4 服務(wù)器模塊及嵌入式開(kāi)發(fā)
分析嵌入式TCP/IP協(xié)議的選取原則,采用ARM芯片和網(wǎng)絡(luò)接口控制芯片設(shè)計(jì)以太網(wǎng)接口,通過(guò)ARM芯片對(duì)網(wǎng)絡(luò)接口控制芯片DM9000的控制過(guò)程和TCP/IP協(xié)議棧處理數(shù)據(jù)包的流程,完成嵌入式TCP/IP系統(tǒng)的開(kāi)發(fā)。該系統(tǒng)可以將ARM獲得的數(shù)據(jù)按網(wǎng)絡(luò)協(xié)議處理,實(shí)現(xiàn)數(shù)據(jù)的以太網(wǎng)傳輸。此時(shí)ARM又充當(dāng)服務(wù)器的角色,將信息及時(shí)地保存在文件中,然后通過(guò)網(wǎng)頁(yè)讀取文件,井上接入局域網(wǎng)的客戶端可以通過(guò)網(wǎng)頁(yè)訪問(wèn)ARM上的數(shù)據(jù)以及對(duì)井下實(shí)時(shí)的視頻監(jiān)控。
3 軟件設(shè)計(jì)
3.1 ZigBee模塊程序流程圖
先利用IAR Embedded Workbench軟件完成C語(yǔ)言程序的編寫和編譯,然后把程序SimpleCollector燒寫到采集器節(jié)點(diǎn)上,程序主要負(fù)責(zé)信息的采集,把程序SimplSensor燒寫到協(xié)調(diào)器節(jié)點(diǎn)上,程序主要負(fù)責(zé)接收協(xié)調(diào)器的數(shù)據(jù)以及把數(shù)據(jù)發(fā)送給ARM,最終實(shí)現(xiàn)網(wǎng)絡(luò)的建立和信號(hào)在網(wǎng)內(nèi)的無(wú)線傳輸。
采集器的主要作用是對(duì)溫度、電壓等數(shù)據(jù)進(jìn)行采集, 并對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單的處理,再通過(guò)無(wú)線信道發(fā)送給協(xié)調(diào)器。首先對(duì)采集器進(jìn)行初始化,包括處理器、協(xié)議棧、中斷、串口等,其流程圖如圖5所示。
協(xié)調(diào)器的主要作用是組建一個(gè)網(wǎng)絡(luò)、接受采集器入網(wǎng)、接收采集器發(fā)送來(lái)的數(shù)據(jù)、處理數(shù)據(jù)并通過(guò)串口發(fā)送數(shù)據(jù)至ARM。首先對(duì)協(xié)調(diào)器進(jìn)行初始化,包括處理器、協(xié)議棧、中斷、串口等。協(xié)調(diào)器初始化后新建一個(gè)網(wǎng)絡(luò)并進(jìn)入網(wǎng)絡(luò)監(jiān)聽(tīng)和等待狀態(tài),當(dāng)收到子節(jié)點(diǎn)(采集器)的入網(wǎng)請(qǐng)求后,協(xié)調(diào)器隨機(jī)給子節(jié)點(diǎn)(采集器)分配一個(gè)網(wǎng)絡(luò)地址,之后向子節(jié)點(diǎn)(采集器)發(fā)送入網(wǎng)確認(rèn)信息,建立連接,等待接收終端節(jié)點(diǎn)發(fā)送的采集數(shù)據(jù)。數(shù)據(jù)接收成功后發(fā)送數(shù)據(jù)到ARM9。因?yàn)閰f(xié)調(diào)器始終監(jiān)測(cè)網(wǎng)絡(luò)信號(hào),所以協(xié)調(diào)器一直處于正常工作模式。其流程如圖6所示[3]。
3.2 ARM處理器程序流程圖
ARM處理器的工作主要分為兩部分:
(1)將ZigBee傳送過(guò)來(lái)的溫度、電壓及ZigBee的地址等數(shù)據(jù)按一定格式存儲(chǔ)在普通文件中。程序采用C語(yǔ)言,主要涉及到ZigBee與ARM之間的串口協(xié)議通信,以及ARM處理器將內(nèi)存中的數(shù)據(jù)寫到文件中去。
(2)編寫網(wǎng)頁(yè)能夠讀取文件數(shù)據(jù)并顯示,在ARM上建立BOA服務(wù)器以支持網(wǎng)頁(yè)能被連接在局域網(wǎng)中的客戶端訪問(wèn)。從網(wǎng)上下載BOA的源碼之后在Linux系統(tǒng)下進(jìn)行編譯,生成可執(zhí)行文件BOA,將其拷貝到ARM開(kāi)發(fā)板上;網(wǎng)頁(yè)主要以html語(yǔ)言完成,能對(duì)文件進(jìn)行讀取。先利用嵌入在HTML中的JavaScript讀取fil.txt,其中fil.txt文件以行的形式存放數(shù)據(jù),每行依次存放的是設(shè)備名、溫度、溫度值或者設(shè)備名、電壓、電壓值。為了保證數(shù)據(jù)的實(shí)時(shí)更新,在網(wǎng)頁(yè)的頭部設(shè)置每?jī)擅攵〞r(shí)刷新一次。為了實(shí)現(xiàn)井上接入局域網(wǎng)的客戶端同時(shí)通過(guò)網(wǎng)頁(yè)訪問(wèn)ARM上的數(shù)據(jù)以及對(duì)井下實(shí)時(shí)的視頻監(jiān)控,用戶可以選擇觀測(cè)ZigBee的數(shù)據(jù)或者視頻監(jiān)控,有助于提高用戶體驗(yàn)。
本文設(shè)計(jì)的網(wǎng)關(guān)已在“礦井監(jiān)測(cè)與應(yīng)急導(dǎo)引系統(tǒng)網(wǎng)關(guān)的設(shè)計(jì)”項(xiàng)目中得以使用,取得了較好的效果。經(jīng)測(cè)試,該網(wǎng)關(guān)具有覆蓋范圍廣、靈敏度高、穩(wěn)定性好、抗干擾能力強(qiáng)、數(shù)據(jù)傳輸準(zhǔn)確等特點(diǎn),并且具有很好的實(shí)用性。此外本系統(tǒng)還具有較強(qiáng)的通用性,不僅可以運(yùn)用于礦井下監(jiān)測(cè)瓦斯?jié)舛?,還可以用于對(duì)溫度、濕度等信號(hào)的監(jiān)測(cè),只需把本系統(tǒng)中的瓦斯傳感器換成其他的信號(hào)傳感器就可以使用[4]。
參考文獻(xiàn)
[1] 凌興鋒,何小敏.基于ZigBee的無(wú)線網(wǎng)關(guān)解決方案研究[J].微處理機(jī),2010,31(4):36-38,42.
[2] ZigBee Alliance.ZigBee Speeifieation[EB/OL].(2006-8-25)[2010-5-4].http://www.C51rf.com/download/read.aspx?id=4.
[3] 王延年,穆文靜.基于ZigBee的無(wú)線信號(hào)采集傳輸系統(tǒng)的研究[J].西安工程大學(xué)學(xué)報(bào),2010,24(4):510-515.
[4] 喬大雷,夏士雄,楊松,等.基于ARM9的嵌入式ZigBee網(wǎng)關(guān)設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007,23(12-2):156-158.