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