網(wǎng)絡(luò )式溫濕度監控系統研究
2.2 檢測數據存儲方案
當溫濕度檢測控制模塊沒(méi)有與控制主機聯(lián)機時(shí),需要保存檢測數據,以備檢查。因此該系統選用存儲容量為16 Mb的SST25VF016B,它屬于NAND型非易失性閃速存儲器。該存儲器具有速度快、成本低、密度大的特點(diǎn),廣泛應用于傳感器測量系統,其讀/寫(xiě)操作是以字節為單位,而擦除操作則以塊為單位進(jìn)行操作,讀、寫(xiě)和擦除操作均通過(guò)命令完成;不能字節擦除,在每次改寫(xiě)操作之前需要先擦除一整塊;每一塊的擦除次數有限,為10萬(wàn)次左右。根據系統存儲數據類(lèi)型的需要,將Flash分為2部分:一部分(2塊,每塊32 kh)存儲該控制塊的系統信息,包括編號、溫度校正信息、濕度校正信息、濕度控制范圍等;另一部分(62塊,每塊32 kb)存儲實(shí)時(shí)的溫度測量結果,包括測量時(shí)間、溫度、濕度,以及該記錄是否上傳。Fhash擦、寫(xiě)的控制算法為:開(kāi)機時(shí),系統讀取系統信息,獲得各種控制參數;然后找出上一次溫濕度記錄的存儲最后位置及每塊的使用情況,繼續寫(xiě)入新的測量信息。當前記錄塊寫(xiě)滿(mǎn)以后,在系統信息中更新塊使用情況記錄,找一個(gè)新的塊寫(xiě)入。如果存儲信息達到系統容量,選擇62塊中所存信息最早的塊擦除,重新使用。這種設計參考了u-cos文件管理系統,但由于傳感器測量記錄的長(cháng)度是固定的,簡(jiǎn)化了每條記錄的讀寫(xiě)算法。
2.3 濕度控制算法
對于溫濕度的監測和控制,如果僅通過(guò)簡(jiǎn)單的反饋控制(即濕度高于設定值,吸濕裝置吸收潮氣,飽和后將向外排放潮氣,如此反復來(lái)達到濕度的控制)很難達到理想的控制,原因是溫度控制器件和吸濕裝置的工作曲線(xiàn)通常都是非線(xiàn)性的,這種非線(xiàn)性使得控制時(shí)間的推算變得不確定。經(jīng)過(guò)反復研究、實(shí)驗,本文在溫濕度檢測控制系統中使用了模糊控制的方法獲得較好的效果。即根據監控節點(diǎn)內一段時(shí)間內溫濕度測量值,得到吸濕裝置和溫度控制裝置能力的模糊估計(分為5類(lèi):強、較強、中、較弱、弱),并根據濕度和設定范圍的差值,得到目前濕度值的模糊估計(遠大于,接近,范圍以?xún)?,低于,遠低于),然后根據設定的模糊控制規則控制外部各個(gè)固態(tài)繼電器動(dòng)作,以達到溫濕度的良好控制。
2.4 網(wǎng)絡(luò )接口實(shí)現
溫濕度檢測控制模塊與中央服務(wù)器的網(wǎng)絡(luò )連接通過(guò)Conextop公司的NePort網(wǎng)絡(luò )串口轉換模塊實(shí)現,其體積約為兩個(gè)標準RJ45插座,擁有10 M/100 M的以太網(wǎng)接口,并可同時(shí)傳送TCP/UDP包給多個(gè)數據接收設備,提供1~2個(gè)高速串口,波特率可達921 600 b/s。MCU通過(guò)標準串口同NePort連接,NePort通過(guò)路由器與中央服務(wù)器相連。每個(gè)溫濕度監控系統都有唯一的系統編碼,通過(guò)一定的命令格式與中央服務(wù)器連接。主要的功能包括:每隔5 s上傳溫濕度測量信息;每天同步溫濕度監控系統時(shí)鐘和服務(wù)器時(shí)鐘;通過(guò)網(wǎng)絡(luò )設置溫濕度校正信息和濕度控制信息等。
3 網(wǎng)絡(luò )監控系統的設計
3.1 中央服務(wù)器
中央服務(wù)器架設有IIS信息服務(wù)器和SQL數據庫服務(wù)器,用ASP.net語(yǔ)言實(shí)現了 B/S結構的溫濕度監控系統和網(wǎng)絡(luò )服務(wù)。B/S結構的優(yōu)勢在于系統內任何接入Internet的計算機都能成為監控客戶(hù)端,并且通過(guò)IE瀏覽器就可以實(shí)現監控和管理,不需安裝任何軟件。實(shí)現的主要功能有:對各個(gè)溫濕度監控系統進(jìn)行登記管理;將各個(gè)溫濕度監控系統的溫濕度數據存入數據庫并能查閱和刪除,以及產(chǎn)生歷史曲線(xiàn)和生成報表等;通過(guò)網(wǎng)頁(yè)向Internet用戶(hù)報告實(shí)時(shí)溫濕度測量信息;用戶(hù)的登記和權限管理等。
3.2 AJAX實(shí)現溫濕度數據的異步傳輸
傳統的B/S結構中,當用戶(hù)需要某特定信息時(shí),用戶(hù)通過(guò)瀏覽器向服務(wù)器發(fā)送請求(例如點(diǎn)擊某項鏈接),服務(wù)器將此鏈接指向的網(wǎng)頁(yè)發(fā)送至用戶(hù)端瀏覽器,此過(guò)程必須有用戶(hù)的參與。對于傳感器網(wǎng)絡(luò )監控系統,傳感器測量數據實(shí)時(shí)更新,只能由服務(wù)器端自動(dòng)定時(shí)將新數據發(fā)送至瀏覽器,而不能采用點(diǎn)擊更新的方法;此外,傳統的網(wǎng)頁(yè)傳輸過(guò)程,是將某網(wǎng)頁(yè)內容完全由服務(wù)器傳送至客戶(hù)端瀏覽器,但是傳感器的網(wǎng)絡(luò )監控頁(yè)面每次更新的僅僅是部分測量新數據,而監控背景畫(huà)面和各臺機器的參數信息都是固定的。如果采用傳統的同步更新方法會(huì )有大量重復內容被傳輸,降低了系統的響應速度。本系統選用了AJAX技術(shù)克服了這些問(wèn)題。
AJAX技術(shù)使用了一種異步更新方案,在這種數據傳輸方案中允許瀏覽器可以更新網(wǎng)頁(yè)中的部分信息。而每次只需更新傳感器測量信息,減輕了網(wǎng)絡(luò )通信負擔,實(shí)現了快速刷新。AJAX的工作原理相當于在用戶(hù)和服務(wù)器之間加了一個(gè)中間層,使用戶(hù)操作與服務(wù)器響應異步化。這樣把以前的一些服務(wù)器負擔的工作轉嫁到客戶(hù)端,利于客戶(hù)端閑置的處理能力來(lái)處理,減輕服務(wù)器和帶寬的負擔,從而達到節約帶寬的目的。
本系統在實(shí)施溫濕度監控的頁(yè)面上用傳統的HTMLl靜態(tài)頁(yè)面繪制出監控背景,各個(gè)溫濕度監控節點(diǎn)的參數等靜態(tài)內容,后臺則用JavaSc-ript來(lái)創(chuàng )建XMLHttpRequest類(lèi)向服務(wù)器定期發(fā)送一個(gè)HTTP請求,要求傳輸當前溫濕度的測量結果。服務(wù)器收到該請求后通過(guò)一個(gè)網(wǎng)絡(luò )服務(wù)(Web Service)獲得各個(gè)傳感器的測量信息,并將結果返回至請求的頁(yè)面,網(wǎng)絡(luò )傳輸的僅僅是需要更新的測量數據,因此響應速度很快,不需用戶(hù)參與。
評論