李超 胡光耀 孫德輝
摘 要 根據(jù)環(huán)境監(jiān)測(cè)中對(duì)遠(yuǎn)程溫濕度數(shù)據(jù)監(jiān)測(cè)的要求,針對(duì)現(xiàn)有監(jiān)測(cè)系統(tǒng)布線復(fù)雜或通信距離不足、成本過高的問題,采用工業(yè)級(jí)ARM7微處理器并運(yùn)用溫度傳感器和濕度傳感器對(duì)溫濕度數(shù)據(jù)進(jìn)行采集。此外采用ZigBee技術(shù)組建了無線Mesh網(wǎng),完成了中控計(jì)算機(jī)與無線溫濕度傳感器之間的通信,并可通過ZigBee轉(zhuǎn)GPRS網(wǎng)關(guān)將溫濕度數(shù)據(jù)傳輸?shù)紾PRS網(wǎng)絡(luò),完成了溫濕度的遠(yuǎn)程監(jiān)測(cè),經(jīng)實(shí)際驗(yàn)證本系統(tǒng)能夠可靠、快速的組建溫濕度監(jiān)測(cè)系統(tǒng)。
關(guān)鍵詞 溫濕度監(jiān)測(cè);ZigBee;Mesh網(wǎng);GPRS
中圖分類號(hào):TP216 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-7597(2014)14-0012-01
在環(huán)境監(jiān)測(cè)中,很多情況下需要對(duì)較大地域范圍內(nèi)的多個(gè)點(diǎn)或幾個(gè)不同地域范圍進(jìn)行監(jiān)測(cè),傳統(tǒng)布線極為不便。而無線傳感器網(wǎng)絡(luò)技術(shù)較好的解決了相對(duì)集中區(qū)域的組網(wǎng)和數(shù)據(jù)采集問題,但較難實(shí)現(xiàn)數(shù)據(jù)的超遠(yuǎn)程傳輸;各個(gè)傳感器通過GPRS網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)的遠(yuǎn)程傳輸可解決此問題,但成本過高。
為了實(shí)時(shí)精確監(jiān)測(cè)多個(gè)監(jiān)測(cè)點(diǎn)的環(huán)境參數(shù)情況,利用ZigBee技術(shù)組建無線Mesh網(wǎng),用分布在相對(duì)集中區(qū)域的若干個(gè)無線傳感器實(shí)現(xiàn)較大地域范圍內(nèi)的環(huán)境參數(shù)采集。利用GPRS網(wǎng)絡(luò)傳輸解決監(jiān)測(cè)區(qū)域過遠(yuǎn)的問題,通過ZigBee轉(zhuǎn)GPRS網(wǎng)關(guān)將各個(gè)無線傳感器采集的環(huán)境參數(shù)由ZigBee信號(hào)轉(zhuǎn)為GPRS
信號(hào)。
1 系統(tǒng)工作原理
本系統(tǒng)由中控計(jì)算機(jī)、無線溫濕度傳感器、上位機(jī)管理軟件、ZigBee轉(zhuǎn)GPRS網(wǎng)關(guān)等部分組成。
無線溫濕度傳感器包括CPU部分、探測(cè)部分、Zigbee通信模塊和供電電池,CPU為低功耗工業(yè)級(jí)處理器,探測(cè)部分包括溫度傳感器、濕度傳感器以采集相應(yīng)的環(huán)境參數(shù),電池為大容量可充電鋰電池。
監(jiān)測(cè)區(qū)域內(nèi)的網(wǎng)絡(luò)拓?fù)錇榫W(wǎng)狀網(wǎng),該網(wǎng)絡(luò)為自組織網(wǎng)絡(luò),大幅增加了網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)可使用的鏈路數(shù)。本系統(tǒng)的ZigBee模塊包含協(xié)調(diào)器和路由器兩種,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都具有鏈路功能,如遇個(gè)別路由器故障問題,網(wǎng)絡(luò)節(jié)點(diǎn)可動(dòng)態(tài)選擇一條可用鏈路繼續(xù)進(jìn)行數(shù)據(jù)的傳輸,所以ZigBee Mesh網(wǎng)的可靠性很高。
中控計(jì)算機(jī)連接ZigBee協(xié)調(diào)器模塊,在上電后啟動(dòng)無線Mesh網(wǎng),無線溫濕度傳感器所包含的ZigBee路由器模塊可偵測(cè)到該網(wǎng)絡(luò)并加入。需要查詢各區(qū)域溫濕度數(shù)據(jù)時(shí),中控計(jì)算機(jī)通過協(xié)調(diào)器向無線溫濕度傳感器發(fā)送查詢命令,測(cè)得溫濕度數(shù)據(jù)后無線溫濕度傳感器中的路由器模塊將信息傳送到協(xié)調(diào)器。中控計(jì)算機(jī)通過上位機(jī)軟件處理,將無線溫濕度傳感器所在位置的溫濕度數(shù)據(jù)信息直觀顯示在上位機(jī)管理軟件界面中。
2 系統(tǒng)硬件設(shè)計(jì)
無線溫濕度傳感器的MCU選用PHILIPS公司生產(chǎn)的ARM7微處理器LPC2129,64引腳的封裝較小,接口豐富,功耗極低。溫度傳感器采用DS18B20,測(cè)溫范圍為-55℃~125℃,分辨率可達(dá)0.0625℃。DS18B20的DQ線通過4.7 kΩ上拉電阻連接LPC2129的SPI接口。濕度傳感器采用HIH5030,其輸出引腳連接LPC2129的A/D轉(zhuǎn)換引腳。
ZigBee模塊選用了DIGI公司的XBee/XBee-PRO模塊。XBee模塊為普通模塊,空曠環(huán)境下傳輸距離為120 m;XBee-PRO是加強(qiáng)型模塊,空曠環(huán)境下傳輸距離可達(dá)1500 m。中控計(jì)算機(jī)掛載的是XBee-PRO模塊,無線溫濕度傳感器可根據(jù)需要選擇XBee模塊或XBee-PRO模塊。兩種模塊的引腳功能、使用方法是一致的,只是傳輸距離不同。ZigBee轉(zhuǎn)GPRS網(wǎng)關(guān)采用了DIGI公司的ConnectPort X4,可完成ZigBee到GPRS信號(hào)的轉(zhuǎn)換。
3 系統(tǒng)軟件設(shè)計(jì)
溫度測(cè)量子程序中MCU首先向DS18B20發(fā)送復(fù)位指令,由于總線上只有一個(gè)DS18B20,故不用匹配ROM,復(fù)位成功后寫CCH指令跳過該環(huán)節(jié);通過寫44H指令使DS18B20啟動(dòng)溫度轉(zhuǎn)換,延時(shí)至少1 s等待完成溫度轉(zhuǎn)換過程;重新復(fù)位DS18B20,復(fù)位成功后再次寫CCH指令跳過ROM匹配,然后寫B(tài)EH指令,讀取暫存器中的溫度值,分別讀出溫度值的低8位和高4位,將高4位左移8位之后和低8位相或,所得結(jié)果自乘0.0625即為測(cè)量到的攝氏溫度值。
濕度測(cè)量子程序首先對(duì)A/D控制寄存器進(jìn)行初始化,然后啟動(dòng)A/D轉(zhuǎn)換,等待轉(zhuǎn)換結(jié)束,然后再讀取結(jié)果。將采集到的溫度數(shù)據(jù)和濕度數(shù)據(jù)進(jìn)行相應(yīng)處理,均保留小數(shù)點(diǎn)后兩位。
串口通信的編程首先進(jìn)行UART初始化,等待接收協(xié)調(diào)器向路由器發(fā)送的數(shù)據(jù)幀指令,將接收緩沖區(qū)允許寫入標(biāo)志位設(shè)為0x00,允許寫入數(shù)據(jù);然后設(shè)置RDA中斷,等待RDA中斷觸發(fā)并接收數(shù)據(jù)幀;接收數(shù)據(jù)幀結(jié)束后,接收緩沖區(qū)允許寫入標(biāo)志位設(shè)為0xFF,禁止寫入數(shù)據(jù);然后判斷數(shù)據(jù)幀結(jié)構(gòu)是否正確,如正確則繼續(xù)判斷數(shù)據(jù)幀中是否包含溫濕度查詢指令;如包含,則啟動(dòng)溫濕度采集子程序,對(duì)周圍環(huán)境的溫度和濕度進(jìn)行采集,并通過編程將數(shù)據(jù)轉(zhuǎn)換為ACSII碼,路由器發(fā)送溫濕度數(shù)據(jù)幀到協(xié)調(diào)器,完成溫濕度數(shù)據(jù)的采集。
路由器模塊向協(xié)調(diào)器模塊發(fā)送的數(shù)據(jù)幀中幀頭為固定值0x7E;數(shù)據(jù)長度為2字節(jié);協(xié)調(diào)器的MAC地址為8字節(jié);網(wǎng)絡(luò)地址為2字節(jié);廣播范圍固定為0x00,代表數(shù)據(jù)傳輸可經(jīng)過的跳數(shù)值最大;溫度數(shù)據(jù)和濕度數(shù)據(jù)部分均包含4字節(jié),分別為溫度數(shù)值/濕度數(shù)值的十位、個(gè)位、十分位、百分位;最后1字節(jié)為校驗(yàn)位。
運(yùn)用C#編程語言在VS2008環(huán)境下設(shè)計(jì)了溫濕度監(jiān)測(cè)系統(tǒng)的上位機(jī)管理軟件,以完成中控計(jì)算機(jī)與XBee協(xié)調(diào)器的RS232通信,按照無線溫濕度傳感器所在位置的區(qū)域劃分,使用輪詢方式查詢相應(yīng)溫濕度信息,在上位機(jī)管理軟件界面上直觀顯示。
4 結(jié)束語
系統(tǒng)在硬件上使用了工業(yè)級(jí)ARM7芯片為MCU,利用DS18B20和HIH5030測(cè)量溫濕度數(shù)據(jù),采用了ZigBee及GPRS無線通信技術(shù),對(duì)無線溫濕度傳感器所在的各個(gè)區(qū)域的溫濕度數(shù)據(jù)進(jìn)行了采集和匯總。經(jīng)實(shí)際測(cè)試,系統(tǒng)所包含的無線溫濕度傳感器與中控計(jì)算機(jī)間的無線通信穩(wěn)定可靠,溫濕度數(shù)據(jù)采集精確,上位機(jī)管理軟件界面中可及時(shí)更新各區(qū)域溫濕度數(shù)據(jù),并可通過協(xié)調(diào)器將匯總的數(shù)據(jù)發(fā)送給ZigBee轉(zhuǎn)GPRS網(wǎng)關(guān),將溫濕度數(shù)據(jù)發(fā)送到GPRS網(wǎng)。避免了遠(yuǎn)距離監(jiān)測(cè)系統(tǒng)面臨的布線復(fù)雜或單純運(yùn)用ZigBee技術(shù)通信距離不足的問題,可盡可能低的控制能耗,有較強(qiáng)的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1]夏莉英,陳雁.基于DS18B20的溫度測(cè)控系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2011,27(1):115-117.
[2]劉秋麗,蔣耘晨,楊明.Zigbee技術(shù)無線傳感器網(wǎng)絡(luò)在天然氣聯(lián)合站中的應(yīng)用[J].儀表技術(shù)與傳感器,2007(01):
20-22.
[3]王成嶺,陳一健,陳兆安.無線數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].機(jī)械工程與自動(dòng)化,2007(6):63-65.endprint