汪肖杰 駱巖紅
摘? 要:該文設(shè)計一款STM32的智能安防報警系統(tǒng)。系統(tǒng)以STM32F103C8T6芯片為控制系統(tǒng),利用煙霧檢測傳感器、火焰?zhèn)鞲衅?、溫濕度傳感器檢測室內(nèi)的實時情況,通過OLED顯示器顯示室內(nèi)實時監(jiān)控信息,同時利用ESP8266WiFi模塊將檢測到的信息實時發(fā)送到手機APP上,使得用戶能夠在連接WiFi時實時接收到室內(nèi)的相關(guān)信息。在系統(tǒng)檢測到室內(nèi)環(huán)境出現(xiàn)異常時,能夠激發(fā)蜂鳴器響應(yīng)發(fā)生警報。根據(jù)現(xiàn)行安防報警系統(tǒng)的市場要求,在未來,便宜、功能可靠豐富的安防報警系統(tǒng)將會受到人們的青睞,其所使用的技術(shù)或者功能并不需要特別尖端或者深奧,但是其功能和作用應(yīng)當(dāng)是做到值得用戶的信賴。
關(guān)鍵詞:智能安防系統(tǒng);STM32;WiFi;物聯(lián)網(wǎng);嵌入式系統(tǒng)
中圖分類號:TP273? ? ? 文獻標(biāo)志碼:A? ? ? ? ? 文章編號:2095-2945(2024)06-0049-04
Abstract: This article designs an intelligent security alarm system for STM32. The system uses the STM32F103C8T6 chip as the control system, utilizing smoke detection sensors, flame sensors, and temperature and humidity sensors to detect real-time indoor conditions. It displays real-time indoor monitoring information through OLED displays, and uses the ESP8266WiFi module to send the detected information to the mobile app in real time, enabling users to receive relevant indoor information in real time when connected to WiFi. When the system detects abnormalities in the indoor environment, it can trigger a buzzer to respond to an alarm. According to the current market requirements for security alarm systems, security alarm systems with cheap prices and reliable quality and diversefunctions will be favored by people in the future. The technology or functions used do not need to be particularly cutting-edge or profound, but their functions and effects should be trustworthy to users.
Keywords: intelligent security system; STM32; WiFi; Internet of Things; embedded system
隨著社會發(fā)展和科技進步,安全問題日益受到人們的關(guān)注。智能化的安防產(chǎn)品逐漸成為家庭和社會的新需求。針對這一需求,本文設(shè)計了一款基于STM32芯片的智能安防報警系統(tǒng),旨在通過實時監(jiān)控和反饋家庭情況,提供可靠的安全保障。
1? 智能安防報警系統(tǒng)的總體設(shè)計安排
隨著人口老齡化趨勢的變化以及單身獨居人口數(shù)目的增加,住宅安全成為越來越值得關(guān)注的問題。人們都希望能夠擁有一個安全且舒適的居家環(huán)境。對于家中老人,倘若是獨居老人或者是兒女在外上班時,遇見了突發(fā)狀況會有應(yīng)對的風(fēng)險性。對于獨居女性,遇見突發(fā)情況時同樣會存在應(yīng)對的風(fēng)險。傳統(tǒng)的安防報警系統(tǒng)大都采用有線連接,這就導(dǎo)致了安裝的線路不僅復(fù)雜,而且系統(tǒng)不夠智能化,并不能及時和高效地幫助用戶處理和解決突發(fā)事件。同時,傳統(tǒng)的安防報警產(chǎn)品中,其各個子系統(tǒng)是單獨存在的,使得整體系統(tǒng)的集成度不高。本文選擇采用一種復(fù)合型的觸發(fā)報警設(shè)計,以STM32單片機為系統(tǒng)主控單元,分別控制各個子系統(tǒng)以完成設(shè)計的目標(biāo)。
1.1? 芯片選型
在本設(shè)計中,主控芯片的選擇尤為重要。在使用火焰?zhèn)鞲衅骱蜏貪穸葌鞲衅魇占江h(huán)境信息后,各個模塊會將這些數(shù)據(jù)傳輸給主控芯片。主控芯片根據(jù)設(shè)計好的程序?qū)@些數(shù)據(jù)進行處理,并且實時通過WiFi模塊傳輸?shù)椒澍Q器和手機APP上,實現(xiàn)實時數(shù)據(jù)傳輸。同時,在溫濕度傳感器和火焰?zhèn)鞲衅魉占臄?shù)據(jù)發(fā)生異常時,主控芯片應(yīng)將異常數(shù)據(jù)分析出來,之后將該異常情況通過WiFi模塊通知到用戶,并且引起警報。
STM32F103是一款由意法半導(dǎo)體公司(ST)所研發(fā)出來的芯片,其基于Cortex-M3的內(nèi)核開發(fā),具有高性能和強大功能,并且價格低廉,易于編程。與傳統(tǒng)AT89C51單片機相比較,STM32F103單片機對于數(shù)據(jù)有著更為快速和高效的處理過程。此外,它可以由J-LINK在線查看內(nèi)存和寄存器。此外,其可以添加多個斷點,從而使得調(diào)試過程更為方便。STM32系列包含許多功能,不僅功能強大,而且具有高性能、低成本和操作簡單的優(yōu)點。除此之外,它還有十分豐富的外設(shè),可以十分便捷地和其他模塊進行連接,以實現(xiàn)快速通信等目的。
基于各個方面的考慮,本文決定使用STM32系列單片機中的STM32F103C8T6芯片作為整個智能安防報警系統(tǒng)的核心處理器。根據(jù)STM32系列單片機的命名規(guī)則,可以獲得如下相關(guān)數(shù)據(jù)。
STM32:該單片機是基于ARM的32位微處理器。
F:該產(chǎn)品類型是通用類型。
103:該產(chǎn)品的子系列是增強型。
R:該產(chǎn)品的引腳數(shù)目有64個。
C:該產(chǎn)品的閃存存儲器是256K字節(jié)的。
6:該產(chǎn)品的工業(yè)級溫度范圍在-40~60 ℃之間。
1.2? 系統(tǒng)框架和流程
針對本文所需要實現(xiàn)的任務(wù)以及實際情況,在STM32芯片基礎(chǔ)上,設(shè)計出整個系統(tǒng)的邏輯流程圖和結(jié)構(gòu)框架,如圖1所示。
在本系統(tǒng)中,有2個主要模塊,分別是火災(zāi)監(jiān)測模塊和通信報警模塊。
1.2.1? 火災(zāi)監(jiān)測模塊
此模塊的功能用于檢測火災(zāi)是否發(fā)生。主要是通過溫濕度傳感器DHT11、煙霧傳感器MQ-2和火焰?zhèn)鞲衅髋袛嗍覂?nèi)是否有火災(zāi)發(fā)生。在這個模塊中,本文設(shè)計了復(fù)位、電源、晶振等最小系統(tǒng)。
1.2.2? 通信報警模塊
本模塊主要有2種報警方式——現(xiàn)場的蜂鳴器警報與遠程的用戶手機APP報警。前者是核心芯片通過分析和處理來自溫濕度傳感器和火焰?zhèn)鞲衅鞯臄?shù)據(jù),當(dāng)檢測到數(shù)據(jù)并不在初始時所設(shè)定的正常數(shù)據(jù)范圍內(nèi)時,主控芯片會使蜂鳴器工作;后者則是主控芯片通過WiFi模塊將數(shù)據(jù)實時傳輸?shù)接脩羰謾C上,以做到實時通信,同時在收到異常數(shù)據(jù)時通知用戶手機。
2? 智能安防報警系統(tǒng)電路設(shè)計
2.1? 火災(zāi)檢測系統(tǒng)電路設(shè)計
在火災(zāi)監(jiān)測系統(tǒng)中,包含以下幾個小模塊:STM32F103C8T6芯片最小系統(tǒng)、煙霧濃度傳感器模塊、溫濕度傳感器模塊、火焰?zhèn)鞲衅鞯炔糠帧?/p>
2.2? 顯示模塊電路設(shè)計
在顯示模塊中,本文使用的是OLED顯示屏。該模塊引腳上D0接收總線的時鐘信號;D1接收總線數(shù)據(jù)信號;RES接收復(fù)位信號,在低電平時復(fù)位;DC引腳是命令或數(shù)據(jù)輸入選擇信號,接高電平時是數(shù)據(jù)信號,而接低電平時是命令信號;CS引腳則是片選信號,低電平使能。所以選擇將D0、D1、RST、CLK和CS端口分別與單片機的PA1、PA2、PA3、PA4和PA5引腳相連接。
2.3? 通信模塊電路設(shè)計
通信模塊主要包括由ESP8266的WiFi模塊所構(gòu)成,型號為ESP-01。該模塊可以使用互聯(lián)網(wǎng),使得用戶手機與主控芯片相聯(lián)。當(dāng)用戶手機連接到WiFi時,便可以登錄APP實時查看家中的環(huán)境數(shù)據(jù)。
首先通過SSCOM串口調(diào)試工具向ESP8266模塊發(fā)送指令“AT+CWMODE=2”,使得模塊進入AP模式。此時模塊提供無線網(wǎng)服務(wù),允許其他的無線設(shè)備接入。
其次發(fā)送指令“AT+CWSAP=‘ESP8266_001,‘1234567890,11,4”,設(shè)置AP模式下的模塊參數(shù),其中ESP8266_001是接入點名稱、1234567890是密碼,而11是通道號,4>0表示通道開啟。
之后分別發(fā)送“AT+CIPMUX=1”“AT+CIPSERVER=1,5000”“AT+CIPSTO=0”,功能分別是“啟動多連接中的多路連接模式”“開啟服務(wù)器中的server模式”和“查詢服務(wù)器超時時間”。
最后發(fā)送“AT+CIPSEND=0,28”,使WiFi模塊向某個連接發(fā)送數(shù)據(jù),采用單路連接模式,且數(shù)據(jù)長度為28。
在該模塊中,系統(tǒng)將各個傳感器所收集到的數(shù)據(jù)處理好。當(dāng)用戶手機連接上系統(tǒng)的WiFi時,就可以接收到系統(tǒng)通過WiFi模塊所傳輸?shù)膶崟r數(shù)據(jù)。
2.4? 蜂鳴器報警模塊電路設(shè)計
當(dāng)傳感器收集到異常數(shù)據(jù)時,除了將數(shù)據(jù)實時傳輸?shù)皆破脚_,同時還需要立刻報警通知室內(nèi)的用戶。因此,本文設(shè)計了蜂鳴器報警電路實現(xiàn)這一功能。當(dāng)PA6引腳為高電平時,此時三極管處于飽和導(dǎo)通狀態(tài),集電極和發(fā)射極之間相當(dāng)于導(dǎo)通狀態(tài),因此蜂鳴器工作;當(dāng)PA6引腳為低電平時,三極管處于截止?fàn)顟B(tài),蜂鳴器不工作。
2.5? 智能安防報警系統(tǒng)整體的PCB設(shè)計與制作
總的來說,大家應(yīng)用Altium Designer軟件設(shè)計和繪制PCB。Altium Designer是由原Protel軟件開發(fā)商——ALtium企業(yè)所推行的集成化電子產(chǎn)品開發(fā)系統(tǒng)軟件,可以進行電路原理圖設(shè)計方案、PCB繪制和編寫、電路仿真及拓撲結(jié)構(gòu)邏輯性全自動走線等一系列操作。
3? 智能安防報警系統(tǒng)的程序設(shè)計
3.1? Keil開發(fā)平臺簡介
Keil C51是一款由Keil Software公司所推出的用于軟件開發(fā)的系統(tǒng)。Keil平臺一般用于ARM單片機的開發(fā),被稱為MDK開發(fā)工具。最新版本的MDK5是由MDK Core及Software Packs組成。在使用Keil平臺對STM32F103單片機開發(fā)時,應(yīng)當(dāng)先配置好開發(fā)環(huán)境,并且添加啟動程序。在此平臺中,可以實現(xiàn)對于STM32單片機的程序代碼編寫、調(diào)試等一系列功能。
3.2? 通信模塊的程序設(shè)計
在該模塊中,使用ESP8266模塊完成無線通信功能。在用戶手機連接上ESP8266模塊的WiFi之后,主控制器就可以將收集到的數(shù)據(jù)傳輸?shù)皆破脚_,之后ESP8266模塊將其傳輸至用戶手機上,這樣就可以完成主控制器與用戶之間的通信。該模塊的工作流程如圖2所示。
將該模塊與主控芯片STM32F103通過串口進行連接,之后主控器就可以通過該模塊與云平臺進行無線通信。連接之后,用戶可以通過手機APP實時觀測屋內(nèi)的環(huán)境數(shù)據(jù),并且在異常情況發(fā)生時第一時間接收到通知。
3.3? 火災(zāi)監(jiān)測模塊的程序設(shè)計
3.3.1? 煙霧傳感器模塊的程序設(shè)計
在MQ-2煙霧傳感器模塊中,選擇與主控芯片STM32的ADC轉(zhuǎn)換引腳相連接,進行數(shù)據(jù)的采集和電壓的轉(zhuǎn)換。傳感器將收集到的室內(nèi)煙霧濃度數(shù)據(jù)通過單片機的ADC通道傳遞到STM32單片機中,之后由單片機中的程序進行處理。
3.3.2? 溫濕度傳感器模塊的程序設(shè)計
溫濕度傳感器模塊中選擇的是DHT11模塊。在主控芯片發(fā)送一次開始信號之后,DHT11會從低功耗模式轉(zhuǎn)換到高速模式,對環(huán)境的溫濕度數(shù)據(jù)進行采集。當(dāng)開始信號結(jié)束之后,DHT11會發(fā)送響應(yīng)信號,并且送出40 bit的溫濕度數(shù)據(jù),觸發(fā)一次信號采集。主控芯片采集數(shù)據(jù)之后,DHT11會轉(zhuǎn)換到低速模式,以等待下一個開始信號。
3.4? 按鍵密碼鎖的程序設(shè)計
為了保證系統(tǒng)的安全使用,設(shè)置了安防密碼鎖系統(tǒng)。在此模塊中,采用定時器,通過使用每5 ms中斷掃描一次的精確時間掃描方法對按鍵掃描。這不僅可以對按鍵的動作完成實時響應(yīng),還不會妨礙到主程序正常運行。
3.5? 云平臺APP的程序設(shè)計
在用戶手機與智能安防報警系統(tǒng)WiFi模塊連接上之后,需要設(shè)計一個手機上可供使用的APP作為服務(wù)器平臺,將WiFi模塊發(fā)送到云平臺上的數(shù)據(jù)呈現(xiàn)給手機用戶,以完成人機之間的交互。
4? 智能安防報警系統(tǒng)的調(diào)試與整體結(jié)果分析
4.1? 智能安防報警系統(tǒng)的調(diào)試與功能驗證
在期望實現(xiàn)的功能方面,有火災(zāi)監(jiān)測、通信報警以及安防報警3個方面。我們按照順序分別對這3個方面的功能進行檢查。
4.1.1? 安防報警系統(tǒng)的功能驗證
在當(dāng)系統(tǒng)上電開啟時,首先需要輸入正確的密碼,之后才能進入系統(tǒng)中。倘若密碼錯誤,則無法進入系統(tǒng);在進入系統(tǒng)之后,當(dāng)門禁被破壞或有人進入之后,系統(tǒng)會使蜂鳴器工作報警,同時在OLED顯示屏幕上會出現(xiàn)“有人闖入”的字樣。
4.1.2? 火災(zāi)檢測系統(tǒng)的功能驗證
如上述可知,火災(zāi)檢測系統(tǒng)的主要功能在于:能夠檢測到環(huán)境中的實時溫濕度數(shù)據(jù)、光照強度數(shù)據(jù)、煙霧濃度數(shù)據(jù),并且根據(jù)預(yù)先設(shè)定的報警數(shù)值,及時將異常數(shù)據(jù)傳遞到芯片上并激發(fā)報警。同時在沒有異常情況發(fā)生時,這3個模塊必須將所收集到的數(shù)據(jù)實時傳輸?shù)叫酒胁⑶绎@示出來。
4.2? 智能安防報警系統(tǒng)的整體結(jié)果分析
在整個系統(tǒng)安裝好之后,分別將各個子系統(tǒng)的程序錄入其中,經(jīng)過調(diào)試和測驗,最終可以得出此智能安防報警系統(tǒng)所需要實現(xiàn)的功能:利用各個傳感器實現(xiàn)對室內(nèi)溫濕度、煙霧濃度等參數(shù)的實時監(jiān)測并上傳,并且在移動端對室內(nèi)的部分家居設(shè)備進行控制,要求以STM32芯片作為控制系統(tǒng)對室內(nèi)參數(shù)進行采樣分析,將其用于遠程通信,也可以接收遠程命令實現(xiàn)有關(guān)室內(nèi)控制。
經(jīng)過測試,本系統(tǒng)能夠很好地實現(xiàn)設(shè)計要求,不過還是存在著可以繼續(xù)改進的空間——例如用戶只能通過手機APP修改OLED顯示屏上的時間,無法做到人工主動改變一些室內(nèi)設(shè)備應(yīng)對所發(fā)生的危險情況(比如連接屋內(nèi)的防火災(zāi)灑水噴頭去滅火);可以嘗試將系統(tǒng)和一個攝像頭相連接,幫助用戶實時得到屋內(nèi)的圖像;將更多的家電設(shè)備與該智能系統(tǒng)相連接,使其能夠更好地做到便利用戶的生活等等。
5? 結(jié)束語
基于上述內(nèi)容,本文設(shè)計并且實現(xiàn)了一款基于STM32芯片的智能安防報警系統(tǒng),結(jié)合了單片機開發(fā)技術(shù)、嵌入式技術(shù)、物聯(lián)網(wǎng)技術(shù)等,使用STM32F103C8T6芯片作為該系統(tǒng)的核心控制芯片,從而實現(xiàn)系統(tǒng)能夠在發(fā)生火災(zāi)時對環(huán)境中的相關(guān)數(shù)據(jù)進行監(jiān)測(例如光照強度、煙霧濃度和溫濕度等),同時做到在發(fā)生異常時立刻報警。
本文主要進行如下研究工作:使用ESP8266模塊實現(xiàn)主系統(tǒng)與用戶手機之間的無線通信,增加了系統(tǒng)的實用性和便捷性。系統(tǒng)可以對室內(nèi)環(huán)境中的光照強度、煙霧濃度和溫濕度指數(shù)監(jiān)測,并且將這些數(shù)據(jù)實時顯示到OLED顯示屏和通過ESP8266模塊發(fā)送到用戶的手機上。
參考文獻:
[1] 肖遒.基于STM32的家居安防系統(tǒng)設(shè)計與測試[D].石家莊:河北科技大學(xué),2019.
[2] 楊揚.基于STM32的實驗室智能安防報警系統(tǒng)的設(shè)計與實現(xiàn)[D].哈爾濱:黑龍江大學(xué),2020.
[3] 陳宇瑞,李明,付帥.基于GSM的智能家居安防系統(tǒng)設(shè)計[J].電子制作,2017(7):38-39,50.
[4] 王曉,關(guān)雷.基于STM32的智慧物聯(lián)公寓系統(tǒng)的研發(fā)與設(shè)計[J].現(xiàn)代信息科技,2023,7(10):158-160,165.
[5] 張偉,塞爾瑪·帕勞格,王晨.基于STM32指紋識別門禁系統(tǒng)的設(shè)計[J].電子設(shè)計工程,2023,31(9):151-155,160.
[6] 蘇一洲.基于STM32單片機的室內(nèi)溫濕度控制系統(tǒng)設(shè)計[J].現(xiàn)代工業(yè)經(jīng)濟和信息化,2023,13(3):89-91,124.