基于ZigBee的自來(lái)水監(jiān)測(cè)網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
摘要:基于ZigBee的自來(lái)水水質(zhì)監(jiān)測(cè)系統(tǒng)利用傳感器采集數(shù)據(jù),用ZigBee網(wǎng)絡(luò)傳輸數(shù)據(jù),通過(guò)無(wú)線網(wǎng)絡(luò)和USB基站長(zhǎng)距離傳送到上位機(jī)。通過(guò)對(duì)自來(lái)水水質(zhì)進(jìn)行實(shí)時(shí)的監(jiān)控,存儲(chǔ)水質(zhì)參數(shù)和數(shù)理統(tǒng)計(jì),以及超閾值報(bào)警提示等功能。相比于傳統(tǒng)的人工監(jiān)測(cè),能有效節(jié)省人工,且更能保證水質(zhì)監(jiān)測(cè)的實(shí)時(shí)性,有效性,連貫性。
本文引用地址:http://m.butianyuan.cn/article/201610/306133.htm關(guān)鍵詞:Zigbee;水質(zhì)監(jiān)測(cè)網(wǎng);網(wǎng)關(guān);serialPort
隨著我國(guó)經(jīng)濟(jì)的高速發(fā)展,水質(zhì)的污染和破壞問(wèn)題日趨嚴(yán)重,著眼于社會(huì)所需,我們研究了基于ZigBee的水質(zhì)監(jiān)測(cè)系統(tǒng),為水質(zhì)保駕護(hù)航。
水質(zhì)污染問(wèn)題刻不容緩,城市飲水主要是通過(guò)自來(lái)水,其中的安全隱患不容忽視,所以需要一種能隨時(shí)監(jiān)測(cè)水質(zhì)變化的設(shè)備系統(tǒng)。論文探討構(gòu)建基于ZigBee技術(shù)的自來(lái)水監(jiān)測(cè)網(wǎng)絡(luò)物理結(jié)構(gòu),重點(diǎn)是ZigBee網(wǎng)關(guān)轉(zhuǎn)wifi和轉(zhuǎn)USB的協(xié)議轉(zhuǎn)換。上位機(jī)監(jiān)控功能中,實(shí)現(xiàn)了數(shù)據(jù)實(shí)時(shí)接收、顯示以及歷史數(shù)據(jù)查詢(xún),對(duì)超閾值數(shù)據(jù),報(bào)警提示。
1 物聯(lián)網(wǎng)ZigBee技術(shù)簡(jiǎn)介
ZigBee技術(shù)具有自組網(wǎng),低功耗,延時(shí)小,多跳的特點(diǎn),適用于長(zhǎng)時(shí)間組網(wǎng)監(jiān)測(cè)。在ZigBee網(wǎng)絡(luò)中有3種設(shè)備,協(xié)調(diào)器(Co_ordinator) 為全功能節(jié)點(diǎn)(FFD),負(fù)責(zé)建立網(wǎng)絡(luò),一個(gè)ZigBee網(wǎng)絡(luò)只能有一個(gè)協(xié)調(diào)器,相當(dāng)于蜂群結(jié)構(gòu)中的蜂后,當(dāng)網(wǎng)路建立完成后,協(xié)調(diào)器的功能相當(dāng)于普通路由器(Router)。路由器負(fù)責(zé)數(shù)據(jù)的路由跳轉(zhuǎn),能夠?qū)⑾l(fā)給其他節(jié)點(diǎn)設(shè)備。終端節(jié)點(diǎn)(End device)負(fù)責(zé)數(shù)據(jù)的采集與發(fā)送。以上3種設(shè)備可以分為全功能節(jié)點(diǎn)(FFD)和半功能節(jié)點(diǎn)(RFD)。
每個(gè)節(jié)點(diǎn)具有兩個(gè)地址:
1)IEEE MAC地址
這是一種64位的地址,這個(gè)地址由IEEE組織進(jìn)行分配,用于唯一的標(biāo)識(shí)設(shè)備,全球沒(méi)有任何兩個(gè)設(shè)備具有相同的MAC地址。在ZigBee網(wǎng)絡(luò)中,有時(shí)也叫MAC地址為擴(kuò)展地址。
2)16位短地址
16位短地址用于在本地網(wǎng)絡(luò)中標(biāo)識(shí)設(shè)備,和在網(wǎng)絡(luò)中發(fā)送數(shù)據(jù),所以如果是處于不同的網(wǎng)絡(luò)中有可能具有相同的短地址。當(dāng)一個(gè)節(jié)點(diǎn)加入網(wǎng)絡(luò)的時(shí)候?qū)⒂伤母腹?jié)點(diǎn)給它分配短地址,協(xié)調(diào)器的短地址是0。
ZigBee網(wǎng)路的拓?fù)浣Y(jié)構(gòu)主要為星狀(star),樹(shù)狀(Cluster_tree),網(wǎng)格(mesh),其中星狀網(wǎng)絡(luò)不支持ZigBee路由器。不同的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)適用用于不同的使用環(huán)境。
2 系統(tǒng)體系結(jié)構(gòu)
基于ZigBee的水質(zhì)監(jiān)測(cè)系統(tǒng)可以對(duì)水質(zhì)進(jìn)行實(shí)時(shí)的監(jiān)控,整個(gè)系統(tǒng)由下位機(jī)監(jiān)測(cè)網(wǎng)和上位機(jī)軟件組成,下位機(jī)監(jiān)測(cè)網(wǎng)負(fù)責(zé)數(shù)據(jù)的采集,和數(shù)據(jù)在ZigBee網(wǎng)絡(luò)上的傳輸。上位機(jī)軟件負(fù)責(zé)對(duì)來(lái)自監(jiān)測(cè)網(wǎng)數(shù)據(jù)的存儲(chǔ),數(shù)理統(tǒng)計(jì),水質(zhì)參數(shù)超標(biāo)實(shí)時(shí)報(bào)警,和設(shè)備運(yùn)行狀況的檢查。系統(tǒng)結(jié)構(gòu)如圖1所示。
3 水質(zhì)監(jiān)測(cè)網(wǎng)的下位機(jī)
下位機(jī)部分由一個(gè)ZigBee轉(zhuǎn)WiFi網(wǎng)關(guān)或一個(gè)ZigBee轉(zhuǎn)USB基站,2個(gè)PH采集節(jié)點(diǎn),一個(gè)溫度采集節(jié)點(diǎn)組成。
所有節(jié)點(diǎn)內(nèi)嵌ZigBee通訊模塊,在節(jié)點(diǎn)的通訊模塊中,燒寫(xiě)了ZigBee協(xié)議棧的移植版,所有節(jié)點(diǎn)上電即進(jìn)行自組網(wǎng),進(jìn)行數(shù)據(jù)的采集和傳輸。通過(guò)AT 命令來(lái)指定協(xié)調(diào)器,路由器,和終端節(jié)點(diǎn),以及節(jié)點(diǎn)的相關(guān)參數(shù)。當(dāng)?shù)綦姇r(shí),能進(jìn)行參數(shù)的保存。其下位采集器采用STM32,該款CPU采用的是ARM的 cortex-M3內(nèi)核。其具有出色的實(shí)時(shí)性能、優(yōu)越的功
效、高級(jí)的創(chuàng)新型的外設(shè)、最大的集成性。CPU工作頻率最高達(dá)到72 MHz。AD采集精度為12位,充分保證了采集傳感器的精度。
ZigBee通信具有通信穩(wěn)定的優(yōu)點(diǎn)。增加的無(wú)線功率放大器PA可以一定意義上克服ZigBee通信距離短的問(wèn)題,使得節(jié)點(diǎn)通信距離可以達(dá)到幾千米,最大限度的保證了通信的穩(wěn)定可靠和通信距離。圖2和圖3分別描述了ZigBee節(jié)點(diǎn)接收和發(fā)送數(shù)據(jù)的流程圖。
在下位機(jī)與PC機(jī)的銜接部分,筆記本可以用WiFi網(wǎng)關(guān)或ZigBee轉(zhuǎn)USB基站來(lái)接收數(shù)據(jù),對(duì)于臺(tái)式機(jī)可以直接用ZigBee轉(zhuǎn)USB基站來(lái)接收。
4 水質(zhì)監(jiān)測(cè)網(wǎng)的上位機(jī)
上位機(jī)界面采用C#編程,開(kāi)發(fā)工具為vs2012,數(shù)據(jù)庫(kù)為SOL Server。
4.1 WIFI網(wǎng)關(guān)接收模式
當(dāng)啟用WIFI網(wǎng)關(guān)接受模式時(shí),網(wǎng)絡(luò)協(xié)議采用TCP,相比UDP穩(wěn)定,用socket套接字來(lái)連接PC機(jī)與WIFI網(wǎng)關(guān)。
當(dāng)上位機(jī)軟件啟動(dòng)時(shí),上位機(jī)首先創(chuàng)線thwatchport=new Thread(listening);用來(lái)監(jiān)視,WiFi網(wǎng)關(guān)是否與PC機(jī)相連,若沒(méi)有,則繼續(xù)監(jiān)聽(tīng)。當(dāng)連接完成時(shí),軟件創(chuàng)建另一線程threcive=new Thread(autorecive),用于接收WiFi網(wǎng)關(guān)發(fā)來(lái)的數(shù)據(jù),并隨時(shí)將數(shù)據(jù)存入數(shù)據(jù)庫(kù)中。
由于第一個(gè)線程不斷循環(huán)查詢(xún),當(dāng)WiFi網(wǎng)關(guān)斷開(kāi),能保證WiFi網(wǎng)關(guān)重連時(shí)的成功,而不必重啟軟件。保證了系統(tǒng)的容錯(cuò)率和健壯性。
偽代碼描敘如下:
運(yùn)行結(jié)果圖:
4.2 ZigBee轉(zhuǎn)USB模式
對(duì)于臺(tái)式PC機(jī),用WiFi網(wǎng)關(guān)接收模式固然可行,對(duì)于ZigBee網(wǎng)關(guān)與上位機(jī)物理距離較短時(shí),還有另一種接收模式——ZigBee轉(zhuǎn)USB模模式。只要將USB一端插入臺(tái)式機(jī)的USB口,當(dāng)上位機(jī)軟開(kāi)啟時(shí)便可以接收數(shù)據(jù)。
USB接受方式的編程實(shí)現(xiàn),采用的是serialPort控件,直接采用事件觸發(fā)的方式。
偽代碼描敘如下:
運(yùn)行結(jié)果圖:
線程和事件觸發(fā)方式,和定時(shí)器定時(shí)接收方式相比,能保證數(shù)據(jù)的隨到隨收,無(wú)數(shù)據(jù)包遺漏現(xiàn)象。
對(duì)于數(shù)據(jù)的處理,可以按時(shí)間查詢(xún),并將查詢(xún)到的數(shù)據(jù)進(jìn)行普通的數(shù)理統(tǒng)計(jì),如計(jì)算平均數(shù),超標(biāo)次數(shù),并且能將數(shù)據(jù)查詢(xún)統(tǒng)計(jì)結(jié)果導(dǎo)出生成Excel文件,方便用戶進(jìn)一步分析調(diào)研。
此外,上位機(jī)軟件具有良好的用戶界面,與異常處理,方便用戶操作與使用,接收界面使用動(dòng)態(tài)GIF圖片制作,如圖2,第一個(gè)蘋(píng)果表示等待連接,第二個(gè)蘋(píng)果表示已連接成功,正在接收數(shù)據(jù),當(dāng)WIFI網(wǎng)關(guān)掉線時(shí),第二個(gè)蘋(píng)果停止動(dòng)態(tài)顯示,方便用戶動(dòng)態(tài)感覺(jué)數(shù)據(jù)接收正在進(jìn)行,當(dāng)數(shù)值超標(biāo)時(shí),或設(shè)備電壓不足時(shí),軟件亦能及時(shí)彈出報(bào)警窗口。
5 結(jié)論
基于ZigBee的自來(lái)水監(jiān)測(cè)網(wǎng)能有效對(duì)自來(lái)水水質(zhì)進(jìn)行實(shí)時(shí)監(jiān)測(cè),設(shè)計(jì)實(shí)現(xiàn)了系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu),完成了傳感器數(shù)據(jù)采集、傳輸、查詢(xún)顯示以及報(bào)警等系統(tǒng)功能。通過(guò)網(wǎng)絡(luò)傳輸傳感器的數(shù)據(jù)采用兩種方式:WiFi網(wǎng)關(guān)的socket方式和ZigBee轉(zhuǎn)USB的serialPort方式。兩種方式都能實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)傳輸?shù)膶?shí)時(shí)接收,基于線程的socket,使用了線程輪轉(zhuǎn)循環(huán)的方式,能有效防止WiFi網(wǎng)關(guān)掉線,并提醒用戶。此時(shí)接收線程 threcieve終止,監(jiān)聽(tīng)線程thwatchport依舊循環(huán),等待WiFi網(wǎng)關(guān)重新連接。
下一階段工作的重點(diǎn),圍繞完善系統(tǒng)功能和擴(kuò)展系統(tǒng)應(yīng)用展開(kāi):
對(duì)于下位機(jī)網(wǎng)絡(luò),采集節(jié)點(diǎn)數(shù)目不夠多,參數(shù)種類(lèi)也不夠豐富。在PANID,信道,和數(shù)據(jù)包一致的情況下,可以不斷加入新的節(jié)點(diǎn),增加下位機(jī)網(wǎng)絡(luò)的功能。
對(duì)于數(shù)據(jù)傳輸,利用GPRS網(wǎng),通過(guò)GPRS短信直接通知水質(zhì)超標(biāo)等情況,亦可以將ZigBee網(wǎng)絡(luò)轉(zhuǎn)為3G或4G網(wǎng)絡(luò),使數(shù)據(jù)傳輸?shù)姆绞阶兊渺`活多樣。
在上位機(jī)功能部分,豐富數(shù)據(jù)查詢(xún)統(tǒng)計(jì)方式,添加系統(tǒng)日志管理,改進(jìn)異常情況的友好提示等。豐富客戶端的操作平臺(tái),延伸至Web方式,以及基于移動(dòng)終端的App應(yīng)用。對(duì)
于已經(jīng)采集的數(shù)據(jù),可以進(jìn)行數(shù)據(jù)挖掘,和大數(shù)據(jù)運(yùn)算,研究當(dāng)?shù)亟?jīng)濟(jì),生活的狀態(tài)。
評(píng)論