文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.173222
中文引用格式: 徐軍,楊帆,樸金寧,等. 室內(nèi)環(huán)境參數(shù)遠(yuǎn)程監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2018,44(2):48-51.
英文引用格式: Xu Jun,Yang Fan,Piao Jinning,et al. Design of remote monitoring system for indoor environment parameters[J]. Application of Electronic Technique,2018,44(2):48-51.
0 引言
當(dāng)今社會(huì),隨著科技的不斷發(fā)展,生活水平的提高,人們?cè)絹?lái)越重視身體健康。由于室內(nèi)環(huán)境參數(shù)嚴(yán)重影響著人們的身體健康,因此空氣檢測(cè)類裝置較為流行,例如檢測(cè)室內(nèi)的溫濕度、空氣質(zhì)量、可燃?xì)怏w濃度等[1]。
面對(duì)這種現(xiàn)狀,各大公司相應(yīng)地推出了具有部分功能的環(huán)境參數(shù)監(jiān)測(cè)裝置,但是大多數(shù)與傳統(tǒng)監(jiān)測(cè)裝置相類似,采集的參數(shù)大多是空氣質(zhì)量的PM值、甲醛、可燃?xì)怏w濃度等,而且一臺(tái)機(jī)器多數(shù)則只能采集1~2種參數(shù),顯示方式多為通過(guò)本地的液晶屏幕為用戶展示,且裝置普遍體積較大,僅有少數(shù)可以和本地的手機(jī)連接,大大降低了產(chǎn)品的實(shí)用性與便攜性。
本文設(shè)計(jì)了一個(gè)由硬件采集數(shù)據(jù)、軟件遠(yuǎn)程監(jiān)測(cè)兩部分組成的系統(tǒng)。首先,硬件監(jiān)測(cè)端由無(wú)線充電或者鋰電池供電,可為各項(xiàng)傳感器、液晶屏幕單元供電;同時(shí)利用充電芯片對(duì)鋰電池進(jìn)行充電,由3.7 V升至5 V的電壓再次經(jīng)過(guò)穩(wěn)壓?jiǎn)卧獙? V轉(zhuǎn)化成穩(wěn)定的3.3 V,給Wi-Fi模塊提供穩(wěn)定的電壓。傳感器將采集的數(shù)據(jù)實(shí)時(shí)顯示到液晶屏幕上,同時(shí)數(shù)據(jù)也通過(guò)Wi-Fi模塊傳輸?shù)绞謾C(jī)客戶端進(jìn)行解析和顯示;最后通過(guò)瀏覽器端編程,將硬件的數(shù)據(jù)采集后,存到本地服務(wù)器,本地的服務(wù)器和云端的服務(wù)器進(jìn)行通信,用戶通過(guò)訪問(wèn)相應(yīng)的網(wǎng)址獲得想知道地區(qū)的數(shù)據(jù),實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè)。
1 硬件系統(tǒng)
在硬件設(shè)計(jì)中,以ATmega328P-au為主控芯片,外部傳感器結(jié)合DHT11溫濕度傳感器、BMP180氣壓傳感器、GP2Y1010AU0F灰塵濃度傳感器和MQ-9可燃?xì)怏w傳感器。供電部分采用無(wú)線供電和鋰電池兩套供電方案同時(shí)使用,通過(guò)一定的升壓、降壓?jiǎn)卧螅瑸檎w系統(tǒng)提供所需的電能。硬件系統(tǒng)整體框圖如圖1所示。
電源設(shè)計(jì)部分分為鋰電池充電單元、5 V升壓?jiǎn)卧约?.3 V穩(wěn)壓電源,采用鋰電池作為電源時(shí),由于其3.7 V左右的電壓不能使得傳感器和液晶屏幕正常工作,因此需要一個(gè)升壓?jiǎn)卧獙㈦妷禾嵘? V,升壓?jiǎn)卧韴D如圖2所示。
為了方便用戶的使用,硬件系統(tǒng)也加入了鋰電池的充電方案,原理圖如圖3所示。
通信模塊采用的是ESP8266無(wú)線Wi-Fi模塊。本設(shè)計(jì)中通信模塊的功能是收發(fā)UDP數(shù)據(jù),之前單獨(dú)設(shè)計(jì)的3.3 V穩(wěn)壓系統(tǒng)也是為了ESP8266這一款無(wú)線通信模塊。采用ESP8266還因?yàn)樗旧砭哂凶越M網(wǎng)的功能[2]。本地的手機(jī)客戶端和本地的服務(wù)器連接ESP8266自組建的Wi-Fi網(wǎng)絡(luò),并通過(guò)訪問(wèn)對(duì)應(yīng)的IP地址將打包的數(shù)據(jù)進(jìn)行解析和獲取,從而在手機(jī)端和本地服務(wù)器進(jìn)行數(shù)據(jù)的處理。
GP2Y1010AU0F灰塵傳感器內(nèi)置了一個(gè)紅外發(fā)光二極管(IRED)和一個(gè)光電晶體管,二者采用對(duì)角放置。GP2Y1010AU0F灰塵傳感器檢測(cè)的原理為:通過(guò)監(jiān)測(cè)空氣中灰塵在光電晶體管的反射光,并將反射光轉(zhuǎn)換成模擬電壓量的形式輸出,供給單片機(jī)進(jìn)行數(shù)據(jù)的分析處理,內(nèi)部結(jié)構(gòu)原理如圖4所示。
ATmega328-au這一款處理芯片內(nèi)部設(shè)有SPI總線、IIC總線、UART串行總線、USB控制總線、通用I/O口及模擬量輸入輸出口,相對(duì)于比較常見(jiàn)的51單片機(jī),其在進(jìn)行通信時(shí)處理得更快,信息顯示更全;同時(shí),ATmega328p-au具有32個(gè)工作寄存器,克服了單一累加器數(shù)據(jù)處理造成的瓶頸現(xiàn)象。單片機(jī)最小系統(tǒng)與溫濕度傳感器、可燃?xì)怏w傳感器、灰塵傳感器、氣壓傳感器和Wi-Fi模塊連接原理圖如圖5所示。
在本文中,溫濕度模塊選擇的是DHT11這一款通信方式為單總線通信的溫濕度傳感器模塊,相對(duì)于其他種類的傳感器模塊來(lái)說(shuō),DHT11具有功耗低、體積小、通信方式簡(jiǎn)單的優(yōu)點(diǎn),其輸入輸出端只用到一個(gè)I/O接口,采用串行數(shù)據(jù)的傳輸方式進(jìn)行數(shù)據(jù)的傳輸,在一定程度上方便開(kāi)發(fā)者使用??扇?xì)怏w檢測(cè)采用的MQ-9傳感器,主要可以監(jiān)測(cè)環(huán)境中的CH4、CO等可燃?xì)怏w,加熱器為氣敏元件提供重要的條件[3]。BMP180是一種監(jiān)測(cè)大氣壓強(qiáng)的傳感器,同時(shí)可以監(jiān)測(cè)環(huán)境溫度來(lái)對(duì)氣壓值進(jìn)行實(shí)時(shí)的校正。它是一款低功耗、低電壓的新一代大氣壓強(qiáng)傳感器,BMP180除了通信方式簡(jiǎn)單之外,體積也比較小,散熱量小,對(duì)整體系統(tǒng)的溫度影響也比較低。整體硬件電路板如圖6所示。
2 軟件系統(tǒng)
系統(tǒng)軟件主要包括三大部分,分別為環(huán)境參數(shù)采集硬件端編程設(shè)計(jì)、與之相對(duì)應(yīng)的Android客戶端軟件編程設(shè)計(jì)以及瀏覽器端環(huán)境搭建和軟件編程的設(shè)計(jì)。
在硬件編程中,首先對(duì)各部分傳感器和主控系統(tǒng)進(jìn)行初始化,將采集到的傳感器數(shù)據(jù)進(jìn)行本地液晶屏幕的顯示,并將數(shù)據(jù)通過(guò)Wi-Fi模塊發(fā)送出去。
在瀏覽器端軟件設(shè)計(jì)中,本地服務(wù)器接收到Wi-Fi模塊傳過(guò)來(lái)的數(shù)據(jù)后,將本地?cái)?shù)據(jù)實(shí)時(shí)傳輸?shù)皆贫朔?wù)器,將瀏覽器界面掛載到云端Tomcat服務(wù)中,用戶通過(guò)訪問(wèn)網(wǎng)址從而實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)監(jiān)測(cè)[4]。系統(tǒng)整體軟件流程圖如圖7所示。
由于灰塵濃度傳感器是通過(guò)光學(xué)的原理來(lái)進(jìn)行數(shù)據(jù)的采集,一旦有灰塵粘附在傳感器內(nèi)部,那么就會(huì)使檢測(cè)到的數(shù)據(jù)失效不準(zhǔn)。為了避免這種偶然的誤差,所以將卡爾曼濾波算法引入到空氣質(zhì)量監(jiān)測(cè)單元[5]。算法應(yīng)用流程如圖8所示。
DHT11溫濕度傳感器采用單總線的通信方式,即數(shù)據(jù)的發(fā)送和接收都是通過(guò)一根總線來(lái)完成,所以要想調(diào)試好這一款傳感器模塊,就要掌握好發(fā)送和接收數(shù)據(jù)的時(shí)間。
可燃?xì)怏w的數(shù)據(jù)量、灰塵傳感器濃度都是將傳感器采集得到的模擬電壓量通過(guò)主控芯片將模擬量的信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),供單片機(jī)進(jìn)行數(shù)據(jù)處理。BMP180傳感器將采集的數(shù)據(jù)存儲(chǔ)在一個(gè)與它相連的176位的E2PROM中,其中存儲(chǔ)著校準(zhǔn)系數(shù),在計(jì)算氣壓時(shí),由于溫度的影響也會(huì)導(dǎo)致氣壓值的變化,BMP180本身集成溫度檢測(cè)單元,單片機(jī)將讀取存儲(chǔ)在E2PROM的11個(gè)字的校準(zhǔn)系數(shù)。通過(guò)校準(zhǔn)系數(shù),計(jì)算出溫度和壓強(qiáng)的精確數(shù)據(jù),將采集到的氣壓數(shù)據(jù)與溫度值進(jìn)行分析處理,最終得到最后大氣壓強(qiáng)值。
采用這幾種傳感器的另外一個(gè)原因是,在使用傳感器時(shí),涉及的引腳較少,可以在滿足功能實(shí)現(xiàn)的同時(shí)降低處理芯片的壓力,使得整體系統(tǒng)運(yùn)行流暢,提高芯片的資源利用率。
硬件部分將采集的數(shù)據(jù)通過(guò)Wi-Fi模塊發(fā)送到本地服務(wù)器端,本地服務(wù)器程序采用Spring+iBATIS混合模式框架,數(shù)據(jù)通過(guò)互聯(lián)網(wǎng)傳輸?shù)皆贫?,在云端通過(guò)JavaWeb編程[6]。
前臺(tái)頁(yè)面采用HTML+CSS+JavaScript編寫,數(shù)據(jù)可視化圖表采用Highcharts開(kāi)源的圖標(biāo)庫(kù)。Highcharts插件具有很好的兼容性能,可以支持目前使用率較高的IE、Chrome等瀏覽器。
瀏覽器端可以顯示當(dāng)前環(huán)境質(zhì)量的參數(shù)、走勢(shì)圖以及根據(jù)已有數(shù)據(jù)計(jì)算出來(lái)的預(yù)測(cè)值。該頁(yè)面的所有數(shù)據(jù)均為動(dòng)態(tài)數(shù)據(jù),全部采用AJAX異步通信技術(shù),以每秒一次的請(qǐng)求速率從服務(wù)器獲取數(shù)據(jù)并實(shí)時(shí)地繪制,數(shù)據(jù)可視化系統(tǒng)時(shí)序如圖9所示。
3 測(cè)試結(jié)果
本設(shè)計(jì)在灰塵濃度檢測(cè)時(shí)采用了兩套方案,一是灰塵傳感器的正常測(cè)量;二是加入了卡爾曼濾波算法的灰塵傳感器的測(cè)量,可以減弱灰塵濃度傳感器模塊在工作期間降低外界溫濕度、風(fēng)速、振動(dòng)帶來(lái)的偶然誤差,使得整體系統(tǒng)采集的數(shù)據(jù)更加穩(wěn)定,示波器圖片及波形圖如圖10所示。
圖10中,兩套方案采用的單片機(jī)相同,時(shí)間相同且其他參數(shù)一致,下方波形為加入卡爾曼濾波算法的單片機(jī)連接灰塵濃度傳感器采集的數(shù)據(jù),波形較為穩(wěn)定,曲線平滑;上方波形為沒(méi)有加入卡爾曼濾波算法的單片機(jī)連接灰塵濃度傳感器采集的數(shù)據(jù),波形毛刺較多,數(shù)據(jù)波動(dòng)較大,穩(wěn)定性較差。
瀏覽器端調(diào)試主要分為本地服務(wù)器的開(kāi)啟操作和瀏覽器整體界面UI的顯示。為了使用戶有更好的體驗(yàn),在本設(shè)計(jì)中,采用了多種過(guò)渡樣式來(lái)增強(qiáng)人們的交互感,瀏覽器可視化界面如圖11所示,歷史數(shù)據(jù)界面如圖12所示。
4 結(jié)論
本文較完整地描述了室內(nèi)環(huán)境參數(shù)遠(yuǎn)程監(jiān)測(cè)的技術(shù)手段,在論述了無(wú)線傳感器技術(shù)、JavaWeb等相關(guān)技術(shù)的基礎(chǔ)上,分析室內(nèi)環(huán)境參數(shù)遠(yuǎn)程監(jiān)測(cè)系統(tǒng)的可行性。具體來(lái)說(shuō),本文設(shè)計(jì)了一種環(huán)境監(jiān)測(cè)裝置,整體系統(tǒng)可以將采集到的環(huán)境參數(shù)進(jìn)行處理后,利用無(wú)線傳輸模塊將數(shù)據(jù)傳輸?shù)绞謾C(jī)客戶端和瀏覽器端,實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè)的功能。
參考文獻(xiàn)
[1] 孫立云.室內(nèi)溫濕度及燃?xì)庑孤侗O(jiān)測(cè)系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2013(1):15-17.
[2] 曹振民,陳年生,馬強(qiáng),等.基于ESP8266的無(wú)線控制電路設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2017,30(1):68-69.
[3] 翟曉華,喬守全,潘銘志.嵌入式瓦斯和氧氣濃度監(jiān)測(cè)系統(tǒng)技術(shù)[J].煤炭技術(shù),2016,35(12):263-265.
[4] 金明哲,鄭建立,裴旭明,等.應(yīng)用于物聯(lián)網(wǎng)的Linux云端服務(wù)器設(shè)計(jì)[J].信息技術(shù),2015(9):179-183.
[5] CORBETTA S,BONIOLO I,SAVARESI S M.Attitude estimation of a motorcycle via unscented Kalman filter[J].IFAC Proceedings Volumes,2010,43(18):511-516.
[6] Yan Ruan.Design and realization of smart home system based on wireless sensor networks[J].Applied Mechanics and Materials,2015,716-717:1421-1424.