陳明杰,黃嘉航,秦 橋,周學(xué)禮
(常熟理工學(xué)院 物理與電子工程學(xué)院,江蘇 常熟 215500)
基于STM32的家庭環(huán)境監(jiān)測系統(tǒng)設(shè)計
陳明杰,黃嘉航,秦 橋,周學(xué)禮*
(常熟理工學(xué)院 物理與電子工程學(xué)院,江蘇 常熟 215500)
設(shè)計一個以STM32單片機為控制核心的家庭環(huán)境監(jiān)測系統(tǒng),系統(tǒng)控制核心為STM32F103ZET6,通過搭載溫濕度傳感器、人體紅外傳感器、煙霧傳感器、無線收發(fā)器、GSM模塊,實現(xiàn)對家庭環(huán)境的實時監(jiān)測,并將監(jiān)測所得數(shù)據(jù)通過LCD屏顯示。同時,利用GSM模塊進行數(shù)據(jù)的傳輸,將數(shù)據(jù)發(fā)送至用戶手機,實現(xiàn)實時監(jiān)控功能。通過較長時間的運行測試,系統(tǒng)具有功耗低、性能穩(wěn)定、經(jīng)濟實用等優(yōu)點,符合未來智慧城市的發(fā)展趨勢,具有較強的實用價值與推廣價值。
STM32;家庭環(huán)境;單片機;智慧城市;無線收發(fā)
近幾年來,信息技術(shù)的發(fā)展帶動了智慧城市的建設(shè)。在城市化建設(shè)過程中也出現(xiàn)了一些問題,例如,資源短缺、環(huán)境污染、安全隱患等,而智慧城市則使用物聯(lián)網(wǎng)技術(shù)[1]、云計算技術(shù)在內(nèi)的新一代技術(shù)解決發(fā)展過程中遇到的問題。
智慧城市[2]的首要前提是一個安全的城市,只有家庭財產(chǎn)安全得到保證,并以此為基礎(chǔ)用技術(shù)改善生活才是真正的智慧。目前國內(nèi)外公司實現(xiàn)類似功能的設(shè)備連接復(fù)雜,功能單一受限,且缺乏人性化和有效的通信手段,價格相對而言也比較昂貴。本文設(shè)計的家庭環(huán)境監(jiān)測系統(tǒng)是在智慧城市的背景下,以STM32為控制核心,通過無線收發(fā)器構(gòu)成物聯(lián)網(wǎng),利用傳感器模塊提前發(fā)現(xiàn)存在的安全隱患,并將預(yù)警信息及時發(fā)送給用戶,從一定程度上,可以避免安全隱患的發(fā)生,保證家庭財產(chǎn)的安全。
系統(tǒng)整體框圖如圖1所示,由環(huán)境數(shù)據(jù)采集模塊、系統(tǒng)主機和信息傳輸三大部分組成,系統(tǒng)主機由STM32F103ZET6單片機實現(xiàn);環(huán)境數(shù)據(jù)采集從機部分由溫濕度傳感器、人體紅外傳感器、煙霧傳感器和單片機組成;信息傳輸部分由無線收發(fā)模塊(單片機之間通信),GSM模塊(單片機與用戶通信),聲光報警模塊(單片機與用戶)構(gòu)成。
本系統(tǒng)的實現(xiàn)是依靠單片機的控制和處理數(shù)據(jù)的能力,單片機發(fā)送指令驅(qū)動各個模塊工作,單片機之間通過無線收發(fā)器來進行數(shù)據(jù)傳輸(本系統(tǒng)選用NRF24L01),將所得數(shù)據(jù)與系統(tǒng)所設(shè)定的閾值進行對比,如果超出閾值,則啟動聲光報警,同時利用GSM模塊(本系統(tǒng)選用SIM800模塊)向預(yù)設(shè)手機發(fā)送信息。為了方便用戶,本系統(tǒng)使用一塊TFT-LCD來顯示不同位置各個模塊監(jiān)測到的數(shù)據(jù),如溫濕度的實時顯示。
圖1 系統(tǒng)整體框圖
整個系統(tǒng)的設(shè)計分為硬件和軟件兩個部分,硬件部分包括溫濕度采集模塊、煙霧檢測模塊、人體紅外感應(yīng)模塊、聲光報警模塊、無線收發(fā)模塊和GSM模塊。主控制部分采用的是ST公司生產(chǎn)的STM32F103ZET6,該芯片具有512 K的Flash、64 K的SRAM和1.25 DMips/MHz的處理性能,一共有112個I/O口;擁有3個ADC,最多支持18個通道;能夠提供3.3 V和5 V 電壓。
2.1 溫濕度采集模塊
對于溫濕度采集模塊,本設(shè)計采用的是DHT11數(shù)字溫濕度傳感器,DHT11可進行相對濕度和溫度的測量并進行數(shù)字輸出,具有穩(wěn)定性好、傳輸距離和能耗低等優(yōu)點,無需額外附件。它的供電電壓范圍為3~5.5 V,濕度的測量范圍為20%~90% RH,測濕精度為±5% RH,溫度的測量范圍為0~50 ℃,測溫精度為±2 ℃,滿足了家庭環(huán)境監(jiān)測的需求,因此,本設(shè)計選用DHT11作為室內(nèi)的傳感器。DHT11數(shù)字溫濕度傳感器采用單總線數(shù)據(jù)格式,本系統(tǒng)使用PG11端口來完成通信。
2.2 煙霧檢測模塊
煙霧傳感器模塊采用的是MQ-2[3]型煙霧傳感器,屬于二氧化錫半導(dǎo)體氣敏材料。煙霧與傳感器接觸時,晶粒間界處的勢壘會受到煙霧的調(diào)制從而產(chǎn)生變化,然后引起表面電導(dǎo)率改變,電阻值隨之降低。考慮到STM32本身攜帶的A/D轉(zhuǎn)換功能,在設(shè)計中選擇了將MQ-2所采集到的模擬信號經(jīng)過ADC1的通道1(PA1)轉(zhuǎn)換后由單片機處理。MQ-2在使用前要進行預(yù)熱,大概經(jīng)過3~5 min之后就會正常。MQ-2對液化氣、天然氣等易燃氣體的檢測也是非常理想的。在使用時要注意傳感器的維護。
2.3 人體紅外感應(yīng)模塊
本設(shè)計中,人體感應(yīng)報警采用HC-SR501人體紅外感應(yīng)模塊,HC-SR501是基于紅外線技術(shù)的自動控制模塊,靈敏度高,可靠性強,可工作于超低電壓模式[4]。如有人進入HC-SR501感應(yīng)范圍,傳感器感應(yīng)模塊OUT端輸出高電平,當(dāng)人離開感應(yīng)范圍時,傳感器會自動延時,輸出端電平由高變低。人體紅外感應(yīng)模塊可跳線選擇,可重復(fù)觸發(fā)或不可重復(fù)觸發(fā)兩種方式。本系統(tǒng)采用可重復(fù)觸發(fā)方式:當(dāng)HC-SR501感應(yīng)到人體活動時輸出高電平并持續(xù)保持高電平,直至人離開其感應(yīng)范圍。本系統(tǒng)選用PB6作為輸入,其工作模式為下拉輸入。工作時,用戶注意模塊默認工作電壓為4.5~20 V。感應(yīng)模塊通電后有一小段初始化時間(1 min左右)。在此期間,模塊會間隔進行0~3次輸出,初始化結(jié)束后,模塊會進入待機狀態(tài)。同時,在使用時,應(yīng)盡量避免靠近干擾源,如燈光等近距離直射模塊表面透鏡會造成信號干擾導(dǎo)致誤報。
2.4 聲光報警模塊
聲光報警模塊作為測試暫時采用的是LED和蜂鳴器,當(dāng)檢測到人體或者火災(zāi)的時候驅(qū)動LED燈閃爍,并由蜂鳴器發(fā)出聲音警告。
2.5 無線收發(fā)模塊
通過使用無線收發(fā)設(shè)備可以將多個單片機系統(tǒng)組成一個功能更完善的環(huán)境數(shù)據(jù),多個從機同時在不同位置采集各個房間里的溫度,使系統(tǒng)具有更大的探測范圍。采用的NRF24L01 是單片射頻收發(fā)芯片[5],硬件電路結(jié)構(gòu)如圖2所示,工作于 2.4~2.5 GHz ISM 頻段。工作電壓為 1.9~3.6 V,有多達125個頻道可供選擇??赏ㄟ^SPI寫入數(shù)據(jù),最高可達10 Mb/s,數(shù)據(jù)傳輸率最快可達2 Mb/s,并且有自動應(yīng)答和自動再發(fā)射功能[6]。芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融進增強式ShockBurst技術(shù)[7],可以通過程序配置通信頻道和輸出功率。
圖2 無線收發(fā)器模塊
2.6 GSM模塊
GSM網(wǎng)絡(luò)的覆蓋范圍非常之廣,幾乎遍及全球每一個角落,與之對應(yīng)的應(yīng)用也很廣泛,在生活中的許多安全方面的設(shè)計中都有運用。短消息可以將信息輕松地發(fā)送給不在家里的用戶,而GPRS則符合現(xiàn)代物聯(lián)網(wǎng)的要求。在本系統(tǒng)中,將兩者相結(jié)合,起到實時監(jiān)測的目的,因此選用SIM800模塊。SIM800模塊是一款高性能高性價比工業(yè)級的GSM/GPRS模塊,支持4頻,可以工作在850/900/1800/1900 MHz頻率,符合GSM Phase2/2+。模塊支持RS232和TTL接口控制,TTL支持3.3 V/5 V系統(tǒng)。本系統(tǒng)設(shè)計為TTL接口控制,T_TX和T_RX引腳分別接在單片機上的U3_RX和U3_TX引腳,V_MCU則選擇了3.3 V。需要注意的是,SIM800模塊提供一路電源接口,建議使用9 V或12 V電源輸入(至少1 A)。
2.7 TFT-LCD顯示模塊
系統(tǒng)設(shè)計中選用了一款4.3寸、分辨率為480×800的TFT-LCD[8-9]電容觸摸屏,16位的并口驅(qū)動,驅(qū)動IC:NT35510,借助STM32自帶的FSMC接口,使用8080并行的方式完成數(shù)據(jù)傳輸。圖3為LCD硬件電路圖。將LCD_CS連接在PG12引腳上,TFT的數(shù)據(jù)引腳RS連接到FSMC的NE4(STM32上PG0腳)上,即FSMC的數(shù)據(jù)總線地址,TFT的讀使能引腳RD連接到FSMC的NOE(STM32上PD4腳),使能引腳WR連接到FSMC的NWE(STM32上PD5腳),TFT的16位并口數(shù)據(jù)引腳分別與FMSC的D0~D15相連。
圖3 LCD硬件電路圖
3.1 系統(tǒng)總體流程
系統(tǒng)運行的總流程圖如圖4所示,整個流程包括傳感器模塊、控制模塊、報警模塊。單片機進行初始化,檢測NRF24L01的信號是否正常,本系統(tǒng)針對家庭環(huán)境,需要多個單片機同時監(jiān)測,這就需要將各個單片機所獲得的數(shù)據(jù)進行整合,NRF24L01是否能正常工作很重要;檢測到正常信號之后,就對每個傳感器進行初始化,此時STM32單片機對傳感器的數(shù)據(jù)進行處理,如果監(jiān)測的數(shù)據(jù)超過預(yù)設(shè)閾值,如監(jiān)測到的溫度超過預(yù)設(shè)溫度,就會進行聲光報警、短信預(yù)警、通過GSM模塊傳送至用戶;本系統(tǒng)中TFT-LCD顯示監(jiān)測到的數(shù)據(jù), LCD上也可以顯示當(dāng)前的日期、時間,相當(dāng)于一個萬年歷,既方便用戶又增加實用性。
3.2 火災(zāi)預(yù)警流程
火災(zāi)的源頭有很多,如尚未熄滅的煙頭、電路老化引起的漏電或短路、天然氣泄漏等,只要做到及時預(yù)防,就可以避免火災(zāi)的發(fā)生。下文,以一個單片機為例,給出火災(zāi)預(yù)警的流程。整個系統(tǒng)會連續(xù)采集數(shù)據(jù),煙霧傳感器會采集數(shù)據(jù),與預(yù)設(shè)閾值進行對比,如果超出閾值則驅(qū)動GSM模塊發(fā)送報警信息;同時,溫度傳感器也進行相同的操作,兩個傳感器同時工作保證了數(shù)據(jù)的準確性。在實際生活中,由于不同房間里環(huán)境的差異,對閾值的設(shè)定也要合理,如廚房的溫度閾值要高于其他房間,衛(wèi)生間的濕度閾值要高于其他房間。火災(zāi)預(yù)警流程圖如圖5所示。
3.3 人體識別報警
利用HC-SR501的高靈敏度,將人體紅外傳感器安裝在重要的位置,就可以實時監(jiān)測了。報警流程圖如圖6所示。系統(tǒng)讀取HC-SR501的輸出,讀取到輸出為高電平時,發(fā)出警報。
圖4 系統(tǒng)運行的總流程圖
圖5 火災(zāi)報警流程圖
圖6 人體紅外感應(yīng)與報警流程圖
3.4 GSM模塊設(shè)計
要使得設(shè)計中采用的SIM800模塊正常工作,就需要得到不同的AT[10-11]指令,發(fā)送短信用到AT+CSCS、AT+CMGF、AT+CMGS三種指令。簡單介紹一下三種命令的功能,AT+CSCS用于設(shè)置字符集,如需發(fā)送英文短信,指令為AT+CSCS=“GSM”,而發(fā)送中英文短信時,將指令改為:AT+CSCS=“UCS2”。AT+CMGF指令用于設(shè)置短消息模式,SIM800支持PDU模式和TEXT模式,發(fā)送指令:AT+CMGF=1,即可設(shè)置為文本模式。如給手機號12345678901發(fā)送短信,則可用指令A(yù)T+CMGS來進行設(shè)置,發(fā)送指令:AT+CMGS=“12345678901”即可[12]。
GPRS則要用到以下指令,如需查詢當(dāng)前連接狀態(tài),指令為AT+CIPSTATUS;要配置域名服務(wù)器DNS,指令為AT+CDNSCFG,如發(fā)送:AT+CDNSCFG=1,“CMNET”,設(shè)置為GPRS連接,接入點為“CMNET”;發(fā)送數(shù)據(jù)則可以使用指令:AT+CIPSEND;建立TCP連接使用指令:AT+CIPSTART;關(guān)閉TCP連接使用指令:AT+CIPSHUT。
本設(shè)計主要實現(xiàn)對家庭環(huán)境的監(jiān)測與實時預(yù)警和報警,為了提高實用性,系統(tǒng)加入了時間顯示功能,即在無安全隱患的時候是一個時鐘,一旦發(fā)現(xiàn)安全隱患,就成了一個報警器。當(dāng)任意一個從機檢測到安全隱患就會先判斷安全隱患位置并將相應(yīng)信息發(fā)送給用戶,還通過GSM將報警信息發(fā)送給用戶。下面以一個房間為例,對所測得的數(shù)據(jù)進行分析。
4.1 溫濕度測量與分析
濕度測量選取FLUKE971作標準值,實驗數(shù)據(jù)如表1所示。溫度測量選取FLUKE1524作標準值,實驗數(shù)據(jù)如表2所示。
表1 濕度測量值與相對誤差
表2 溫度測量值與相對誤差
4.2 煙霧傳感器數(shù)據(jù)測量與分析
煙霧傳感器模塊利用STM32中的A/D轉(zhuǎn)換,讀取煙霧傳感器的輸出電壓。經(jīng)過測試發(fā)現(xiàn),在室內(nèi)正常情況下,A/D通道讀取的電壓值約為0.4 V。通過模擬火災(zāi)發(fā)生前和發(fā)生后情況,得到的電壓數(shù)據(jù)都在1 V以上,因此設(shè)定的閾值為1 V。
4.3 信息采集發(fā)布形式
本設(shè)計將采集的信息通過短信發(fā)送給用戶,信息格式為:“當(dāng)前溫度:20 ℃;濕度:40%;陌生人:無;火災(zāi)隱患:無”。在正常情況下,系統(tǒng)設(shè)置每兩小時向用戶發(fā)送當(dāng)前的環(huán)境監(jiān)測數(shù)據(jù),如果遇到緊急情況,則立即向用戶發(fā)送報警信息,并報告相應(yīng)的位置信息。
本設(shè)計是一種基于STM32的家庭環(huán)境監(jiān)測系統(tǒng),系統(tǒng)以STM32單片機為主控,集多種傳感器為一體,實現(xiàn)在智慧城市背景下家庭環(huán)境智能監(jiān)測功能。經(jīng)驗證,系統(tǒng)具有智能化程度高、性能穩(wěn)定、成本低等優(yōu)點,具有較強的實用價值和推廣價值,可為企業(yè)的決策和生產(chǎn)提供切實可行的思路和經(jīng)驗。在本系統(tǒng)的基礎(chǔ)上,還可以進行下一步功能提高,如加入攝像模塊,滅火控制模塊,設(shè)計一款A(yù)PP,用戶可以通過APP來遠程監(jiān)控家庭的安全;也可以將電器用系統(tǒng)進行遠程控制,實現(xiàn)智能家居,從而實現(xiàn)更加智能化的生活。
[1] 錢志鴻,王義君.物聯(lián)網(wǎng)技術(shù)與應(yīng)用研究[J].電子學(xué)報,2012,40(5):1023-1029.
[2] 周學(xué)禮,王資,朱永元.面向智慧城市的家庭火災(zāi)預(yù)警系統(tǒng)設(shè)計與實現(xiàn)[J].南陽理工學(xué)院報,2015,7(6):10-13.
[3] 黎山峰,楊雷,孫建軍.面向智慧社區(qū)的環(huán)境監(jiān)測系統(tǒng)設(shè)計與實現(xiàn)[J].計算機測量與控制,2015,23(5):1785-1787.
[4] 朱博,李捍東,王小梅.基于AT89S52的智能家居控制系統(tǒng) [J].現(xiàn)代機械,2014(1):88-90.
[5] 劉婷.基于NRF24L01和STM32的定量裝車站無線控制系統(tǒng)[J].工礦自動化,2015,41(6):104-106.
[6] 肖林京,于鵬杰,常龍,等.基于LTC6803和NRF24L01的動力電池監(jiān)測系統(tǒng)[J].計算機測量與控制,2015,23(7):2278-2280.
[7] 沈勇,蔣文雄,段勇.基于NRF24L01的通用無線通信模塊設(shè)計[J].電子設(shè)計工程,2013,21(18):84-86.
[8] 吳彤,劉嘉新.基于Cortex-M3的數(shù)碼框設(shè)計[J].儀表技術(shù),2016(3):15-18.
[9] 王淼軍,韋海成,魏鑫.基于STM32的高精度數(shù)字電壓表設(shè)計[J].自動化與儀器儀表,2016(3):26-28.
[10] 方浚丞,包敬海,梁韶華.基于GSM的遠程火災(zāi)報警系統(tǒng)設(shè)計[J].欽州學(xué)院學(xué)報,2016(10):30-34.
[11] 顧涵,劉靖,盧怡.基于Vivado環(huán)境的智能照明控制系統(tǒng)設(shè)計[J].蘇州市職業(yè)大學(xué)學(xué)報,2016,27(4):9-11.
[12] 張遠海,翁佩純.基于北斗GPS模塊UM220和四頻GPRS模塊SIM800H的人員定位應(yīng)用研究[J].電子設(shè)計工程,2016,24(13):107-109.
(責(zé)任編輯:沈鳳英)
Design of Home Environment Monitoring System Based on STM32
CHEN Mingjie,HUANG Jiahang,QIN Qiao,ZHOU Xueli
(School of Physics and Electronics Engineering,Changshu Institute of Technology,Changshu 215500,China)
With the deepening of the concept of smart city, this paper presents a novel home environment monitoring system based on STM32 microcontroller. The core of the control system is equipped with STM32F103ZET6, using temperature and humidity sensor, infrared sensor, smoke sensor, wireless transceiver module and GSM module to achieve real-time monitoring of the home environment. The system displays the monitored data through LCD. At the same time, the system uses the GSM module to send SMS to the user's mobile phone to realize the real-time monitoring function. According to the experiments, the design which the paper introduces enjoys low power consumption, stable function and economical quality, which conforms to the development trend of smart city and has a strong practical value worthy of popularization.
STM32;home environment;MCU;smart city;wireless transceiver
TP273.5
A
1008-5475(2017)02-0024-05
10.16219/j.cnki.szxbzk.2017.02.004
2017-02-17;
2017-03-16
江蘇省高校自然科學(xué)研究資助項目(15KJD310002);江蘇省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(201610333068X)
陳明杰(1996-),男,江蘇南通人,主要從事嵌入式系統(tǒng)設(shè)計研究。
*通信作者: 周學(xué)禮(1979-),男,河南南陽人,副教授,主要從事計算機圖形學(xué)、醫(yī)學(xué)圖像處理及嵌入式系統(tǒng)設(shè)計研究。
陳明杰,黃嘉航,秦橋,周學(xué)禮.基于STM32的家庭環(huán)境監(jiān)測系統(tǒng)設(shè)計[J].蘇州市職業(yè)大學(xué)學(xué)報,2017,28(2):24-28,36.