引言
隨著微機(jī)電系統(tǒng)(Micro-Electro-Mechanism System,MEMS)、片上系統(tǒng)(System on Chip,SoC)、無線通信和低功耗嵌入式技術(shù)的飛速發(fā)展,無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)也以其低功耗、低成本、分布式和自組織等特點(diǎn)帶來了信息感知的一場變革。無線傳感器網(wǎng)絡(luò)由部署在監(jiān)測區(qū)域內(nèi)大量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過無線通信方式形成一個(gè)多跳的自組織網(wǎng)絡(luò)。無線傳感器網(wǎng)絡(luò)可連接眾多類型的傳感器,可探測包括地震波、電磁場、溫度、濕度、噪聲、光強(qiáng)度、壓力、土壤成分、移動(dòng)物體的大小和速度等?;贛EMS的微傳感技術(shù)和無線互聯(lián)網(wǎng)技術(shù)為無線傳感器網(wǎng)絡(luò)賦予了廣闊的應(yīng)用前景,在航空、反恐、防爆、救災(zāi)、環(huán)境、醫(yī)療、保健、家居、工業(yè)、商業(yè)等領(lǐng)域有廣泛的應(yīng)用。本文以無線溫度傳感器節(jié)點(diǎn)和無線數(shù)據(jù)終端MD-600G為例,介紹了基于MD-600G的Internet無線傳感器網(wǎng)絡(luò)的設(shè)計(jì),并給出了對溫度數(shù)據(jù)的可視化處理等操作的實(shí)現(xiàn)。
1 基于Internet的無線傳感器網(wǎng)原理
1.1 MD-600G簡介
智能無線數(shù)據(jù)終端MD-600G可以用于數(shù)據(jù)中心和被監(jiān)控設(shè)備間,實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程透明傳輸。MD-600G的內(nèi)部結(jié)構(gòu)如圖1所示,它有如下特點(diǎn):
①基于ARM平臺、8 MB數(shù)據(jù)緩存,內(nèi)置Siemens MC35i GPRS無線模塊;
②嵌入式Linux系統(tǒng),包含TCP/IP協(xié)議棧以及ETCPTM協(xié)議,保證傳輸數(shù)據(jù)不丟失;
③提供獨(dú)立RS232配置串口及標(biāo)準(zhǔn)RS232/485數(shù)據(jù)接口;
④符合電工電子產(chǎn)品低溫GB/T2423.1、高溫GB/T2423.2的要求,適于在氣候條件惡劣的地區(qū)及戶外使用;
⑤可以快速連接RTU、PLC、工控機(jī)等設(shè)備,實(shí)現(xiàn)數(shù)據(jù)透明傳輸,廣泛應(yīng)用于電力抄表、配電自動(dòng)化、路燈監(jiān)控、道路交通等行業(yè)。
1.2 無線傳感器網(wǎng)絡(luò)
由MD-600G組成的基于Internet無線傳感器網(wǎng)絡(luò)原理圖如圖2所示。
圖2中的用戶設(shè)備是自行開發(fā)的溫度傳感器節(jié)點(diǎn)。傳感器節(jié)點(diǎn)采樣的數(shù)據(jù)通過RS232/485接口傳送到智能無線數(shù)據(jù)終端MD-600G,MD-600G對接收到的數(shù)據(jù)通過GPRS與Internet連接并進(jìn)行無線數(shù)據(jù)透明傳送,服務(wù)器mSever端通過Internet網(wǎng)將接收到的數(shù)據(jù)生成實(shí)時(shí)數(shù)據(jù)庫,同時(shí)將這些實(shí)時(shí)數(shù)據(jù)以WEB頁的形式動(dòng)態(tài)顯示和跟蹤。
1.3 溫度傳感器節(jié)點(diǎn)
溫度傳感器節(jié)點(diǎn)模塊主要由溫度傳感器DSl8B20組成,并將其輸出的溫度數(shù)據(jù)送往單片機(jī),然后單片機(jī)將這些數(shù)據(jù)進(jìn)行相關(guān)處理,最后再送往后續(xù)的通信設(shè)備,并將溫度數(shù)據(jù)進(jìn)行數(shù)碼管或液晶屏顯示。這里采用了實(shí)時(shí)時(shí)鐘電路DSl302來實(shí)現(xiàn)該系統(tǒng)的實(shí)時(shí)性。
2 軟件設(shè)計(jì)
基于MD-600G和Internet的無線傳感器網(wǎng)的軟件包括溫度傳感器節(jié)點(diǎn)的軟件設(shè)計(jì)、MD-600G與溫度傳感器節(jié)點(diǎn)的串口軟件設(shè)計(jì)、服務(wù)器mSever端與Internet網(wǎng)的數(shù)據(jù)通信軟件及mSever端溫度數(shù)據(jù)可視化程序的設(shè)計(jì)等。
2.1 mSever端溫度數(shù)據(jù)可視化程序設(shè)計(jì)
利用Visual C++強(qiáng)大的編譯器以及網(wǎng)絡(luò)與數(shù)據(jù)庫的處理能力,開發(fā)出基于Windows平臺的32位數(shù)據(jù)可視化應(yīng)用程序。圖3是mSever端溫度數(shù)據(jù)可視化程序設(shè)計(jì)的原理圖。
以下為可視化界面模塊源碼:
圖4是用Visual C++開發(fā)的mSever端溫度數(shù)據(jù)可視化顯示的界面,圖中顯示的是1個(gè)節(jié)點(diǎn)的溫度變化實(shí)時(shí)曲線。
2.2 mSever端Web訪問程序設(shè)計(jì)
為了實(shí)現(xiàn)多個(gè)客戶端可以同時(shí)訪問數(shù)據(jù)中心服務(wù)器,規(guī)定客戶端在打開服務(wù)器的Web頁面時(shí),首先提交客戶端的IP地址,然后服務(wù)器端把客戶端的IP地址收錄入庫,再將接收到的溫度數(shù)據(jù)轉(zhuǎn)發(fā)給指定的客戶端。因此,當(dāng)有多個(gè)客戶端同時(shí)訪問數(shù)據(jù)中心服務(wù)器時(shí),服務(wù)器端只需要將各個(gè)客戶端的IP地址收錄入庫,最后再循環(huán)不斷地往各個(gè)客戶端轉(zhuǎn)發(fā)溫度數(shù)據(jù)即可。
當(dāng)客戶端斷開與服務(wù)器端的連接時(shí),將向服務(wù)器提交斷開請求,從服務(wù)器端的IP地址庫中釋放掉該客戶端的IP地址,從而實(shí)現(xiàn)了服務(wù)器端IP地址庫的動(dòng)態(tài)更新。
2.3 節(jié)點(diǎn)溫度采集軟件設(shè)計(jì)
以下為溫度傳感器節(jié)點(diǎn)的溫度采集部分代碼:
結(jié)語
經(jīng)過實(shí)際運(yùn)行和測試證明,系統(tǒng)穩(wěn)定可靠,系統(tǒng)誤差達(dá)到了規(guī)定的要求。本系統(tǒng)雖然是以無線溫度傳感器節(jié)點(diǎn)為例,但同樣也適合其他各種類型的無線傳感器節(jié)點(diǎn),因此可以推廣到無線傳感器網(wǎng)絡(luò)的其他應(yīng)用領(lǐng)域或行業(yè),如電力抄表、配電自動(dòng)化、路燈監(jiān)控、道路交通等。