朱福民,,沈宇華,,江磊
(上海海事大學(xué) 物流工程學(xué)院,,上海201306)
摘要:以工程機(jī)械為對象,,研究并設(shè)計了一個基于ZigBee無線采集網(wǎng)絡(luò)和GPRS遠(yuǎn)程通信的實(shí)時遠(yuǎn)程監(jiān)測系統(tǒng)的無線網(wǎng)關(guān),該網(wǎng)關(guān)由ZigBee協(xié)調(diào)器模塊以及GPRS模塊組成,,以STM32為網(wǎng)關(guān)的核心控制器,,并對ZigBee協(xié)調(diào)器和GPRS模塊分別進(jìn)行選型、硬件及軟件設(shè)計,。實(shí)現(xiàn)整個實(shí)時監(jiān)測系統(tǒng)需要的相關(guān)技術(shù)有:ZigBee無線網(wǎng)絡(luò),、GPRS、TCP/IP通信技術(shù),、Zstack協(xié)議棧,。
關(guān)鍵詞:工程機(jī)械;ZigBee網(wǎng)關(guān),; 遠(yuǎn)程監(jiān)測,;GPRS;Zstack
0引言
工程機(jī)械是國民經(jīng)濟(jì)建設(shè)的重要裝備,,在工業(yè)建設(shè)中占有舉足輕重的地位,。我國的工程機(jī)械行業(yè)在全球同行中占有重要位置,產(chǎn)品已經(jīng)出口到歐美等工程機(jī)械強(qiáng)國,。因此我國對工程機(jī)械產(chǎn)品的高效工作,、安全作業(yè)的要求越來越苛刻,越來越規(guī)范化,。近年來隨著無線通信網(wǎng)絡(luò)和嵌入式系統(tǒng)等技術(shù)的飛速發(fā)展,,陸續(xù)出現(xiàn)了許多新的短距離無線通信技術(shù),其中以低成本,、低功耗,、低復(fù)雜度為特色的ZigBee技術(shù)脫穎而出[1]。
本文研究了一種應(yīng)用在工程機(jī)械遠(yuǎn)程監(jiān)護(hù)系統(tǒng)中的ZigBee無線網(wǎng)關(guān)的設(shè)計方法[2],。通過將ZigBee無線網(wǎng)關(guān)放置在被監(jiān)測者的傳感器節(jié)點(diǎn),,實(shí)時采集被檢測者的運(yùn)行參數(shù)[3]。這些數(shù)據(jù)包將由ZigBee網(wǎng)關(guān)通過GPRS發(fā)送到遠(yuǎn)程服務(wù)器,,并在客戶端界面進(jìn)行實(shí)時呈現(xiàn)[4],。
圖1為基于ZigBee技術(shù)的無線網(wǎng)關(guān)系統(tǒng)體系結(jié)構(gòu)。
1ZigBee網(wǎng)關(guān)模塊硬件設(shè)計
ZigBee網(wǎng)關(guān)的作用就是將ZigBee無線網(wǎng)絡(luò)中的數(shù)據(jù)傳輸?shù)絀nternet網(wǎng)絡(luò)的一個通道,,沒有這個通道,,終端設(shè)備采集的數(shù)據(jù)無法送出,其中起到?jīng)Q定性作用的是GPRS無線通信模塊,,所有的數(shù)據(jù)只有通過GPRS模塊以后,,它們才可以訪問遠(yuǎn)端服務(wù)器。本文將要實(shí)現(xiàn)的ZigBee結(jié)合GPRS的網(wǎng)關(guān),其核心模塊是由ZigBee的協(xié)調(diào)器中心節(jié)點(diǎn)和GPRS無線模塊組成的,,其中協(xié)調(diào)器節(jié)點(diǎn)采用美國德州儀器公司(TI)推出的CC2530芯片設(shè)計[5],。相比較其他的ZigBee解決方案,CC2530被當(dāng)做一款主推的新型系統(tǒng)級芯片而得到了廣泛的應(yīng)用,,是一款真正意義上的ZigBee體系架構(gòu)解決方案,。如圖2所示,協(xié)調(diào)器節(jié)點(diǎn)主要負(fù)責(zé)將底層網(wǎng)絡(luò)終端節(jié)點(diǎn)采集來的數(shù)據(jù)封裝打包從UART串口傳輸?shù)紾PRS模塊,,串口是建立CC2530和GPRS聯(lián)系的橋梁,;GPRS模塊則負(fù)責(zé)與遠(yuǎn)程服務(wù)器通信交互,從串口收到協(xié)調(diào)器采集來的數(shù)據(jù)之后再傳輸給遠(yuǎn)程服務(wù)器,,將遠(yuǎn)程服務(wù)器發(fā)送至網(wǎng)關(guān)的指令送至STM32核心芯片進(jìn)行處理,。
本文選用的中央處理器是意法半導(dǎo)體 (STMicroelectronics) 的STM32F103VCT6,這款芯片是基于STM32設(shè)計的一款加強(qiáng)型芯片,,它擁有ARM CortexM3內(nèi)核,,同時具備卓越的工作性能,低廉的成本和低的功耗,。這款增強(qiáng)型芯片的時鐘頻率可達(dá)72 MHz,,是其他型號系列無法超越的,它是16位產(chǎn)品的最佳選擇,。圖2是ZigBee網(wǎng)關(guān)核心模塊,,可以發(fā)現(xiàn)幾個模塊主要是通過串口通信。
GPRS模塊是網(wǎng)關(guān)的另一個重要部分,,由CC2530做協(xié)調(diào)器來開啟網(wǎng)絡(luò),,維護(hù)網(wǎng)絡(luò),采集終端節(jié)點(diǎn)的數(shù)據(jù),但只有通過GPRS才能將該局域網(wǎng)內(nèi)的數(shù)據(jù)和互聯(lián)網(wǎng)交互[6],。本文采用的GPRS模塊是GU900_GSM_GPRS無線模塊,,該產(chǎn)品支持業(yè)內(nèi)領(lǐng)先的OPENAT工作方式,用戶可以根據(jù)自己的需求來自定義應(yīng)用程序,,再將程序二次移植到GU900模塊上去,。GU900內(nèi)置了豐富的API函數(shù)可供用戶參考使用,方便靈活,,值得開發(fā)利用,。
2ZigBee網(wǎng)關(guān)模塊軟件設(shè)計
2.1網(wǎng)關(guān)系統(tǒng)流程設(shè)計
ZigBee的網(wǎng)關(guān)設(shè)計分成兩個部分:協(xié)調(diào)器部分和GPRS模塊部分,協(xié)調(diào)器負(fù)責(zé)建立無線采集網(wǎng)絡(luò),,GPRS模塊負(fù)責(zé)網(wǎng)關(guān)和外界網(wǎng)絡(luò)的通信,,協(xié)調(diào)器和GPRS之間用串口通信[7]。整個網(wǎng)關(guān)的工作流程如圖3所示,。
2.2ZigBee協(xié)議的設(shè)計
本文所用到的ZigBee協(xié)議體系框架總體上分成以下幾個層次:從最底層的物理層(PHY),,往上是媒體介質(zhì)訪問層(MAC),其等效于數(shù)據(jù)鏈路層,、網(wǎng)絡(luò)層(NWK)和應(yīng)用層,。其中,物理層定義了物理無線信道,,有3個頻段可供ZigBee使用,,分別是2.4 GHz和868/915 MHz。媒體介質(zhì)訪問層則負(fù)責(zé)一切物理層的無線信道訪問,,產(chǎn)生網(wǎng)絡(luò)信號和同步信號,。使用的Zstack協(xié)議(TI公司所推出的ZigBee協(xié)議棧)是基于物理層和媒體介質(zhì)訪問層之上的,它主要實(shí)現(xiàn)了對網(wǎng)絡(luò)層和應(yīng)用層的支持,。除了ZigBee體系結(jié)構(gòu)中提到的4個層次,,在Zstack協(xié)議中還添加了操作系統(tǒng)抽象層(Operating System Abstraction Layer,OSAL),,它的地位就像是一個操作系統(tǒng),。Zstack協(xié)議棧的系統(tǒng)運(yùn)行時遵循一個輪詢的過程,以物理層為優(yōu)先級,,接著依次是介質(zhì)層,、網(wǎng)絡(luò)層、硬件層和應(yīng)用層,。每一層都有一個或幾個ID號,,Zstack輪詢代碼如下。
do{
If(tasksEvents[idx])
{
Break;
}
}while(++idx<tasksCnt);
If(idx<tasksCnt)
{
Unit16 events;
halIntState_t intState;
HAL_ENTER_CRITICAL_S ECTION(int State);
events = tasksEvents[idx];
tasksEvents[idx]=0;
HAL_EXIT _C RITICAL_SE CTION(int State);
events =( tasksArr[idx])(idx,events);
HAL_ENTER_CRITICAL_SECTION(int State);
tasksEvents[id x]=events;
HAL_EXIT_C RITICAL_SE CTION(int State);
}
2.3GPRS通信程序設(shè)計
ZigBee網(wǎng)關(guān)的GPRS模塊部分用到了動態(tài)域名解析技術(shù),,為了實(shí)現(xiàn)動態(tài)域名解析,,使用花生殼DNS服務(wù)來綁定域名和動態(tài)IP地址[8],。本系統(tǒng)使用的是GU900的GPRS模塊,上電GPRS模塊后,,首先必須配置GPRS的AT命令,,其中包括對GU900模塊的短信功能還是上網(wǎng)模式的選擇,對TCP/IP連接還是UDP連接的配置,,遠(yuǎn)程服務(wù)器IP地址或者是域名的配置以及透傳模式的切換等,;在正確建立了TCP連接之后,,等待遠(yuǎn)程Socket發(fā)來采集數(shù)據(jù)請求,;收到請求之后STM32和CC2530就開始采集數(shù)據(jù),采集完畢將數(shù)據(jù)從GPRS送出,。
下面是GU900設(shè)置AT指令進(jìn)入無線透傳的部分代碼,,需要對一些參數(shù)進(jìn)行初始化:
AT+CSTT="CMNET" //設(shè)置APN
AT+CIPCFG=1,50,,0//對GU900進(jìn)行初始化配置
AT+CIPPACK=0,,"00"//設(shè)置網(wǎng)絡(luò)心跳包的格式
AT+CIPMUX=0//設(shè)置GU900是在單鏈接模式下工作
AT+CIPMODE=1//進(jìn)入透傳模式
CIPSCONT=0,"TCP","www.smugenius.com",,8080,,2//設(shè)置成TCP模式,并且以域名的形式進(jìn)行訪問,,端口號設(shè)置為8080
2.4系統(tǒng)測試
本測試過程中,,選取了起重機(jī)剛提起物塊的這段時間。通過溫度傳感器和壓力傳感器將數(shù)據(jù)傳送給協(xié)調(diào)器,,再由GPRS輸出,,由系統(tǒng)的3個節(jié)點(diǎn)在互聯(lián)網(wǎng)平臺的監(jiān)測界面可知,主泵壓力大約為12 MPa,,卷揚(yáng)機(jī)起升壓力為10 MPa左右,,另外,此時油溫為50℃左右,。
3結(jié)論
當(dāng)前基于ZigBee技術(shù)的無線傳感器網(wǎng)絡(luò)受到越來越多的關(guān)注,,應(yīng)用也愈加廣泛。本文針對工程機(jī)械監(jiān)測系統(tǒng)中無線網(wǎng)絡(luò)的要求,,綜合考慮實(shí)際應(yīng)用中的成本和要求,,研究并實(shí)現(xiàn)了基于ZigBee網(wǎng)絡(luò)與GPRS模塊進(jìn)行信息交換的網(wǎng)關(guān)系統(tǒng)。
本文的創(chuàng)新點(diǎn):(1)運(yùn)用ZigBee無線采集網(wǎng)絡(luò)對工程機(jī)械作業(yè)時的各項參數(shù)進(jìn)行采集,,相比較常規(guī)的有線監(jiān)測方法,,ZigBee的測點(diǎn)選擇更加靈活,約束更少,;(2)ZigBee網(wǎng)絡(luò)結(jié)合GPRS模塊組成ZigBee網(wǎng)關(guān),,通過網(wǎng)關(guān)來與遠(yuǎn)程服務(wù)器通信,,傳送采集數(shù)據(jù),方便工作人員隨時隨地掌握設(shè)備工作情況,。
參考文獻(xiàn)
?。?] 朱福民,劉炎民,,朱英翔.基于ZigBee無線傳感網(wǎng)絡(luò)的人體動作信息采集平臺設(shè)計[J].微型機(jī)與應(yīng)用,2014,33(8):1921.
?。?] 謝小芳,黃俊,譚成宇.基于RFID的電力溫度監(jiān)控系統(tǒng)的軟件與設(shè)計[J].電子技術(shù)應(yīng)用,2013,39(1):2326.
[3] 李紅, 楊兆建, 李娟莉. 基于 GPRS 的礦井提升機(jī)制動系統(tǒng)故障遠(yuǎn)程監(jiān)測診斷系統(tǒng)研究[J]. 機(jī)械管理開發(fā), 2012(1): 2427.
?。?] 章偉聰, 俞新武, 李忠成. 基于 CC2530 及ZigBee協(xié)議棧設(shè)計無線網(wǎng)絡(luò)傳感器節(jié)點(diǎn)[J].計算機(jī)系統(tǒng)應(yīng)用,,2011,20(7):181187.
?。?] 張久朋, 王喆, 史洪瑋. 基于 TDSCDMA 的ZigBee接入網(wǎng)關(guān)的設(shè)計[J]. 江漢大學(xué)學(xué)報 (自然科學(xué)版), 2011, 39(1): 5759.
?。?] 金福寶. 基于GPRS的橋梁遠(yuǎn)程監(jiān)測系統(tǒng)的研究[D]. 哈爾濱:東北林業(yè)大學(xué), 2007.
[7] 張久朋, 王喆, 史洪瑋. 基于 TDSCDMA 的ZigBee接入網(wǎng)關(guān)的設(shè)計[J]. 江漢大學(xué)學(xué)報 (自然科學(xué)版), 2011, 39(1): 5759.
?。?] 王風(fēng). 基于 CC2530 的ZigBee無線傳感器網(wǎng)絡(luò)的設(shè)計與實(shí)現(xiàn)[D]. 西安:西安電子科技大學(xué), 2012.