0 引言
當今社會,隨著科技的不斷發展,生活水平的提高,人們越來越重視身體健康。由于室內環境參數嚴重影響著人們的身體健康,因此空氣檢測類裝置較為流行,例如檢測室內的溫濕度、空氣質量、可燃氣體濃度等[1]。
面對這種現狀,各大公司相應地推出了具有部分功能的環境參數監測裝置,但是大多數與傳統監測裝置相類似,采集的參數大多是空氣質量的PM值、甲醛、可燃氣體濃度等,而且一臺機器多數則只能采集1~2種參數,顯示方式多為通過本地的液晶屏幕為用戶展示,且裝置普遍體積較大,僅有少數可以和本地的手機連接,大大降低了產品的實用性與便攜性。
本文設計了一個由硬件采集數據、軟件遠程監測兩部分組成的系統。首先,硬件監測端由無線充電或者鋰電池供電,可為各項傳感器、液晶屏幕單元供電;同時利用充電芯片對鋰電池進行充電,由3.7 V升至5 V的電壓再次經過穩壓單元將5 V轉化成穩定的3.3 V,給Wi-Fi模塊提供穩定的電壓。傳感器將采集的數據實時顯示到液晶屏幕上,同時數據也通過Wi-Fi模塊傳輸到手機客戶端進行解析和顯示;最后通過瀏覽器端編程,將硬件的數據采集后,存到本地服務器,本地的服務器和云端的服務器進行通信,用戶通過訪問相應的網址獲得想知道地區的數據,實現遠程監測。
1 硬件系統
在硬件設計中,以ATmega328P-au為主控芯片,外部傳感器結合DHT11溫濕度傳感器、BMP180氣壓傳感器、GP2Y1010AU0F灰塵濃度傳感器和MQ-9可燃氣體傳感器。供電部分采用無線供電和鋰電池兩套供電方案同時使用,通過一定的升壓、降壓單元后,為整體系統提供所需的電能。硬件系統整體框圖如圖1所示。
電源設計部分分為鋰電池充電單元、5 V升壓單元以及3.3 V穩壓電源,采用鋰電池作為電源時,由于其3.7 V左右的電壓不能使得傳感器和液晶屏幕正常工作,因此需要一個升壓單元將電壓提升到5 V,升壓單元原理圖如圖2所示。
為了方便用戶的使用,硬件系統也加入了鋰電池的充電方案,原理圖如圖3所示。
通信模塊采用的是ESP8266無線Wi-Fi模塊。本設計中通信模塊的功能是收發UDP數據,之前單獨設計的3.3 V穩壓系統也是為了ESP8266這一款無線通信模塊。采用ESP8266還因為它本身具有自組網的功能[2]。本地的手機客戶端和本地的服務器連接ESP8266自組建的Wi-Fi網絡,并通過訪問對應的IP地址將打包的數據進行解析和獲取,從而在手機端和本地服務器進行數據的處理。
GP2Y1010AU0F灰塵傳感器內置了一個紅外發光二極管(IRED)和一個光電晶體管,二者采用對角放置。GP2Y1010AU0F灰塵傳感器檢測的原理為:通過監測空氣中灰塵在光電晶體管的反射光,并將反射光轉換成模擬電壓量的形式輸出,供給單片機進行數據的分析處理,內部結構原理如圖4所示。
ATmega328-au這一款處理芯片內部設有SPI總線、IIC總線、UART串行總線、USB控制總線、通用I/O口及模擬量輸入輸出口,相對于比較常見的51單片機,其在進行通信時處理得更快,信息顯示更全;同時,ATmega328p-au具有32個工作寄存器,克服了單一累加器數據處理造成的瓶頸現象。單片機最小系統與溫濕度傳感器、可燃氣體傳感器、灰塵傳感器、氣壓傳感器和Wi-Fi模塊連接原理圖如圖5所示。
在本文中,溫濕度模塊選擇的是DHT11這一款通信方式為單總線通信的溫濕度傳感器模塊,相對于其他種類的傳感器模塊來說,DHT11具有功耗低、體積小、通信方式簡單的優點,其輸入輸出端只用到一個I/O接口,采用串行數據的傳輸方式進行數據的傳輸,在一定程度上方便開發者使用。可燃氣體檢測采用的MQ-9傳感器,主要可以監測環境中的CH4、CO等可燃氣體,加熱器為氣敏元件提供重要的條件[3]。BMP180是一種監測大氣壓強的傳感器,同時可以監測環境溫度來對氣壓值進行實時的校正。它是一款低功耗、低電壓的新一代大氣壓強傳感器,BMP180除了通信方式簡單之外,體積也比較小,散熱量小,對整體系統的溫度影響也比較低。整體硬件電路板如圖6所示。
2 軟件系統
系統軟件主要包括三大部分,分別為環境參數采集硬件端編程設計、與之相對應的Android客戶端軟件編程設計以及瀏覽器端環境搭建和軟件編程的設計。
在硬件編程中,首先對各部分傳感器和主控系統進行初始化,將采集到的傳感器數據進行本地液晶屏幕的顯示,并將數據通過Wi-Fi模塊發送出去。
在瀏覽器端軟件設計中,本地服務器接收到Wi-Fi模塊傳過來的數據后,將本地數據實時傳輸到云端服務器,將瀏覽器界面掛載到云端Tomcat服務中,用戶通過訪問網址從而實現遠程數據監測[4]。系統整體軟件流程圖如圖7所示。
由于灰塵濃度傳感器是通過光學的原理來進行數據的采集,一旦有灰塵粘附在傳感器內部,那么就會使檢測到的數據失效不準。為了避免這種偶然的誤差,所以將卡爾曼濾波算法引入到空氣質量監測單元[5]。算法應用流程如圖8所示。
DHT11溫濕度傳感器采用單總線的通信方式,即數據的發送和接收都是通過一根總線來完成,所以要想調試好這一款傳感器模塊,就要掌握好發送和接收數據的時間。
可燃氣體的數據量、灰塵傳感器濃度都是將傳感器采集得到的模擬電壓量通過主控芯片將模擬量的信號轉換成數字信號,供單片機進行數據處理。BMP180傳感器將采集的數據存儲在一個與它相連的176位的E2PROM中,其中存儲著校準系數,在計算氣壓時,由于溫度的影響也會導致氣壓值的變化,BMP180本身集成溫度檢測單元,單片機將讀取存儲在E2PROM的11個字的校準系數。通過校準系數,計算出溫度和壓強的精確數據,將采集到的氣壓數據與溫度值進行分析處理,最終得到最后大氣壓強值。
采用這幾種傳感器的另外一個原因是,在使用傳感器時,涉及的引腳較少,可以在滿足功能實現的同時降低處理芯片的壓力,使得整體系統運行流暢,提高芯片的資源利用率。
硬件部分將采集的數據通過Wi-Fi模塊發送到本地服務器端,本地服務器程序采用Spring+iBATIS混合模式框架,數據通過互聯網傳輸到云端,在云端通過JavaWeb編程[6]。
前臺頁面采用HTML+CSS+JavaScript編寫,數據可視化圖表采用Highcharts開源的圖標庫。Highcharts插件具有很好的兼容性能,可以支持目前使用率較高的IE、Chrome等瀏覽器。
瀏覽器端可以顯示當前環境質量的參數、走勢圖以及根據已有數據計算出來的預測值。該頁面的所有數據均為動態數據,全部采用AJAX異步通信技術,以每秒一次的請求速率從服務器獲取數據并實時地繪制,數據可視化系統時序如圖9所示。
3 測試結果
本設計在灰塵濃度檢測時采用了兩套方案,一是灰塵傳感器的正常測量;二是加入了卡爾曼濾波算法的灰塵傳感器的測量,可以減弱灰塵濃度傳感器模塊在工作期間降低外界溫濕度、風速、振動帶來的偶然誤差,使得整體系統采集的數據更加穩定,示波器圖片及波形圖如圖10所示。
圖10中,兩套方案采用的單片機相同,時間相同且其他參數一致,下方波形為加入卡爾曼濾波算法的單片機連接灰塵濃度傳感器采集的數據,波形較為穩定,曲線平滑;上方波形為沒有加入卡爾曼濾波算法的單片機連接灰塵濃度傳感器采集的數據,波形毛刺較多,數據波動較大,穩定性較差。
瀏覽器端調試主要分為本地服務器的開啟操作和瀏覽器整體界面UI的顯示。為了使用戶有更好的體驗,在本設計中,采用了多種過渡樣式來增強人們的交互感,瀏覽器可視化界面如圖11所示,歷史數據界面如圖12所示。
4 結論
本文較完整地描述了室內環境參數遠程監測的技術手段,在論述了無線傳感器技術、JavaWeb等相關技術的基礎上,分析室內環境參數遠程監測系統的可行性。具體來說,本文設計了一種環境監測裝置,整體系統可以將采集到的環境參數進行處理后,利用無線傳輸模塊將數據傳輸到手機客戶端和瀏覽器端,實現遠程監測的功能。
-
遠程監測
+關注
關注
0文章
147瀏覽量
18236 -
溫濕度傳感器
+關注
關注
5文章
579瀏覽量
35706
發布評論請先 登錄
相關推薦
評論