侯 琳,李百靈,王馨鐸,于 洋,楊巨成
(天津科技大學(xué)人工智能學(xué)院,天津 300457)
隨著社會(huì)的進(jìn)步,科技的發(fā)展速度也越來越快,城市的大型高層建筑數(shù)量也越來越多。建筑的不斷拔高,建筑面積也在不斷增加,導(dǎo)致火災(zāi)安全形勢十分嚴(yán)峻。由于消防安全監(jiān)管機(jī)構(gòu)的人員數(shù)量有限,且缺少有效的技術(shù)支持和社會(huì)化的協(xié)作,重大的火險(xiǎn)隱患未能及時(shí)發(fā)現(xiàn)、整頓和消除,火災(zāi)風(fēng)險(xiǎn)發(fā)生的概率仍然居高不下。
為有效減少火災(zāi)消防安全隱患,國家消防總局于2017-10-10 印發(fā)了《關(guān)于全面推進(jìn)“智慧消防”建設(shè)的指導(dǎo)意見》。文件要求應(yīng)綜合使用大數(shù)據(jù)、云計(jì)算、移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等新的信息技術(shù),要加快“智慧消防”的建設(shè),全面推動(dòng)信息化同消防工作的深度融合,構(gòu)建全覆蓋的社會(huì)防火災(zāi)管理體制,實(shí)現(xiàn)從“傳統(tǒng)消防”到“現(xiàn)代消防”的轉(zhuǎn)型。因此,智慧消防應(yīng)運(yùn)而生,而無線火災(zāi)報(bào)警器可以為安全提供保障,能夠快速地將火情信息警報(bào)發(fā)出,減少損失。
該系統(tǒng)采用單片機(jī)作為主控,各模塊協(xié)同工作,由單片機(jī)協(xié)同完成整個(gè)系統(tǒng)的功能設(shè)計(jì)。本設(shè)計(jì)的重點(diǎn)是對微處理器進(jìn)行控制,以完成微處理器的數(shù)據(jù)采集、運(yùn)算、輸出、控制,所以對單片機(jī)的了解與掌握尤為重要。單片機(jī)的實(shí)質(zhì)為對單片機(jī)的IO 管腳的應(yīng)用[1]。根據(jù)項(xiàng)目的情況將單片機(jī)的IO 管腳設(shè)置為輸入或者輸出引腳,通過單片機(jī)的引腳輔以外圍電路設(shè)計(jì)與C 語言程序的配合,完成煙霧采集的功能設(shè)計(jì)。
以單片機(jī)為核心的火災(zāi)報(bào)警系統(tǒng),采用單片機(jī)來完成最小系統(tǒng)的建立,保證設(shè)備可以正常運(yùn)行。通過輔助的電路來實(shí)現(xiàn)對傳感器數(shù)據(jù)信息的采集,采集的數(shù)據(jù)經(jīng)過單片機(jī)整理后顯示輸出,或者作為邏輯的控制輸出。
單片機(jī)系統(tǒng)主要由晶振電路與復(fù)位電路組成,主要負(fù)責(zé)外圍數(shù)據(jù)的采集與數(shù)據(jù)運(yùn)算,最后進(jìn)行數(shù)據(jù)輸出與邏輯控制功能;煙霧探測用MQ-2 型煙霧傳感器探測煙塵體積分?jǐn)?shù),MQ-2 型煙霧傳感器通過單片機(jī)的數(shù)據(jù)采集進(jìn)行煙霧體積分?jǐn)?shù)的測量;按鍵電路模塊主要由按鍵構(gòu)成,其主要作用是執(zhí)行信息的輸入,并通過按鍵與設(shè)備的控制進(jìn)行交互;顯示模塊主要實(shí)現(xiàn)數(shù)據(jù)的顯示,單片機(jī)通過顯示程序驅(qū)動(dòng)顯示屏顯示數(shù)據(jù),從而讓系統(tǒng)的運(yùn)行狀態(tài)清晰可見,方便進(jìn)行觀察;報(bào)警模塊通過驅(qū)動(dòng)報(bào)警裝置,當(dāng)遇到限值超標(biāo)情況時(shí),方便人員快速處理突發(fā)狀況;Wi-Fi 通訊模塊通過單片機(jī)的UART(異步收發(fā)傳輸器)接口實(shí)現(xiàn)數(shù)據(jù)的交互,實(shí)現(xiàn)設(shè)備之間的信息傳遞與遠(yuǎn)程交互;輸出模塊中單片機(jī)通過采集的狀態(tài)判斷輸出指示,通過控制輸出狀態(tài)與外圍輔助電路實(shí)現(xiàn)輸出的狀態(tài)與輸出控制功能。
單片機(jī)是具有智能化的中央控制單元,核心部分由無數(shù)的微晶管組成,眾多的微晶管構(gòu)成與非門電路系統(tǒng),通過程序的運(yùn)行控制與非門通斷,可以對邏輯進(jìn)行輸入和輸出的控制,并根據(jù)不同的控制邏輯來實(shí)現(xiàn)相應(yīng)的功能。由于單片機(jī)本身無法獨(dú)立工作,因此必須與外部電路協(xié)同工作,構(gòu)成最小系統(tǒng),以達(dá)到智能控制目的,能在單片機(jī)工作狀態(tài)下達(dá)到最低限度的部件就是MCU(Microcontroller Unit)最小系統(tǒng)[2]。本次設(shè)計(jì)采用STC 系列單片機(jī)STC89C52 作為項(xiàng)目的控制器,主要是8 位的CPU(Central Processing Unit),具有64 kb 的尋址空間,一共具有4 組32 個(gè)輸入與輸出的IO 管腳,具有2 個(gè)優(yōu)先級與5~6 個(gè)的中斷,并且具有1 個(gè)UART 串行通訊接口[3]。
LCD1602 是一種較為常用的液晶顯示屏,它的主要功能是用來顯示數(shù)字或字符信息。LCD1602 的組成主要包括了液晶部分的LCD(Liquid Crystal Display)器件、控制與驅(qū)動(dòng)電路部分、電容電阻等元器件集成在一塊電板上做成的一種液晶顯示器件。液晶顯示屏幕主要具有功耗較低、顯示內(nèi)容靈活、信息較多、驅(qū)動(dòng)方便、顯示刷新頻率快的特點(diǎn)。液晶屏幕只需要5 V的供電電壓就可以實(shí)現(xiàn)液晶的正常工作與驅(qū)動(dòng)。LCD液晶顯示是由“.”分布組成,液晶主要結(jié)構(gòu)是M×N個(gè)的單元模塊。根據(jù)字庫或者取模實(shí)現(xiàn)“.”組成不同的數(shù)字與字符,驅(qū)動(dòng)芯片內(nèi)部的RAM(Random Access Memory)的寄存器地址分別對應(yīng)相應(yīng)的字符組成結(jié)構(gòu)。
按鍵是一個(gè)機(jī)械結(jié)構(gòu),當(dāng)觸發(fā)時(shí)兩端的按鍵管腳會(huì)接通,當(dāng)彈開時(shí)候按鍵兩端管腳斷開。單片機(jī)檢測到低電平說明外部按鍵觸發(fā),從而執(zhí)行按鍵操作程序。按鍵是一個(gè)接卸結(jié)構(gòu),當(dāng)按下時(shí)可能看不出振動(dòng),但是單片機(jī)檢測時(shí)候會(huì)存在一個(gè)振蕩過程,所以就需要一些處理手段來實(shí)現(xiàn)防抖動(dòng),否則按鍵就會(huì)多次檢測實(shí)現(xiàn)誤差或者按鍵不靈敏。采用程序?qū)崿F(xiàn)防抖動(dòng),在檢測按鍵時(shí)候加入5~10 ms 的延時(shí)就可以實(shí)現(xiàn)按鍵防抖。
采用氣體檢測模塊實(shí)現(xiàn)對空氣中氣體體積分?jǐn)?shù)的檢測,氣體檢測模塊是通過化學(xué)反應(yīng)來實(shí)現(xiàn)的,也可以稱之為電化學(xué)反應(yīng)。隨著空氣中氣體體積分?jǐn)?shù)的改變,氣體檢測傳感器的內(nèi)部會(huì)發(fā)生不同的化學(xué)反應(yīng),這樣就間接導(dǎo)致了傳感器的輸出模擬電壓會(huì)發(fā)生變化。單片機(jī)可以通過采集AD 數(shù)據(jù)將這個(gè)模擬的變化量采集出來,從而會(huì)得到氣體體積分?jǐn)?shù)的變化量。
本設(shè)計(jì)使用MQ-2 型傳感器對大氣中的煙霧體積分?jǐn)?shù)進(jìn)行探測,MCU 探測到傳感器的引腳電平變化就可以實(shí)現(xiàn)對外部煙霧體積分?jǐn)?shù)的判斷。當(dāng)要實(shí)時(shí)監(jiān)測煙霧的體積分?jǐn)?shù)數(shù)值時(shí)候就需要接入ADC(Analog-to-Digital Converter)芯片實(shí)現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)換,也就是煙霧體積分?jǐn)?shù)到電壓的變化,單片機(jī)通過采集的數(shù)字量實(shí)現(xiàn)了對體積分?jǐn)?shù)的檢測。由于MQ-2 的傳感器特性,當(dāng)剛接上電的時(shí)候,需要預(yù)熱MQ-2 傳感器才可以正常工作,一般上電幾分鐘就可以完成預(yù)熱得到準(zhǔn)確的測量數(shù)據(jù)。
報(bào)警模塊可以發(fā)出聲音或發(fā)光,利用聲響來警告異常狀況,從而實(shí)現(xiàn)警示作用。該設(shè)計(jì)的報(bào)警功能是通過蜂鳴器來實(shí)現(xiàn)的,在系統(tǒng)出現(xiàn)故障時(shí),會(huì)有聲音的提醒。蜂鳴器的報(bào)警采用三極管9012 作為一個(gè)開關(guān)器件,控制蜂鳴器是否發(fā)出聲音。電源電壓為5V 驅(qū)動(dòng)蜂鳴器發(fā)出聲音,單片機(jī)的P2.0 引腳連接到9012 三極管的基極。當(dāng)單片機(jī)的P2.0 引腳輸出一個(gè)低電平時(shí),Q1 三極管導(dǎo)通,蜂鳴器發(fā)出報(bào)警聲音;當(dāng)單片機(jī)的引腳輸出一個(gè)高電平時(shí),Q1 三極管截止,蜂鳴器停止發(fā)生。單片機(jī)通過控制IO 引腳實(shí)現(xiàn)對蜂鳴器報(bào)警的間接控制,起到了系統(tǒng)聲音預(yù)警的作用。
氣體探測模塊是利用化學(xué)方法實(shí)現(xiàn)對大氣中氣體體積分?jǐn)?shù)的監(jiān)測,也可以稱之為電化學(xué)反應(yīng)。當(dāng)氣體體積分?jǐn)?shù)發(fā)生變化時(shí),傳感器內(nèi)部會(huì)產(chǎn)生不同的化學(xué)反應(yīng),這樣就間接地導(dǎo)致了傳感器輸出的模擬電壓有一定的改變。單片機(jī)可以利用采集的AD 數(shù)據(jù)把這個(gè)模擬的變化量采集出來,從而會(huì)得到氣體體積分?jǐn)?shù)的變化量。采集氣體體積分?jǐn)?shù)是將模擬量轉(zhuǎn)化為數(shù)字量然后給單片機(jī)使用,從而得到氣體體積分?jǐn)?shù)變化以便設(shè)備做出反應(yīng)。一般來說氣體傳感器想要正常進(jìn)入工作狀態(tài)需要預(yù)熱幾分鐘,等待傳感器中的化學(xué)反應(yīng)初始化完成,這個(gè)時(shí)候測量的氣體體積分?jǐn)?shù)就會(huì)相對準(zhǔn)確。鐵網(wǎng)部分為氣體檢測傳感器,傳感器只需要接入電壓5V 電源正常供電即可,氣體傳感器的輸出引腳為第3 個(gè)引腳,根據(jù)檢測需求連接到單片機(jī)中即可檢測氣體體積分?jǐn)?shù)。
設(shè)備連接網(wǎng)絡(luò)中實(shí)現(xiàn)物聯(lián)網(wǎng)的通訊功能,采用Wi-Fi 模塊的型號是USR-WIFI232 模塊與手機(jī)之間進(jìn)行連接。USR-WIFI232 模塊采用終端模式設(shè)置,手機(jī)搜索到模塊信號進(jìn)行連接,即可接入到網(wǎng)絡(luò)實(shí)現(xiàn)Wi-Fi之間的無線數(shù)據(jù)交互。USR-WIFI232 模塊采用的供電電壓是3.3 V 供電,超過電壓可能導(dǎo)致Wi-Fi 模塊燒毀,使用時(shí)候采用降壓芯片可以實(shí)現(xiàn)穩(wěn)定的電源供給。USR-WIFI232 模塊內(nèi)部集成了以太網(wǎng)協(xié)議,用戶不需關(guān)心網(wǎng)絡(luò)數(shù)據(jù)協(xié)議,只需要完成數(shù)據(jù)的傳輸即可。模塊與單片機(jī)之間采用串口來進(jìn)行數(shù)據(jù)的傳輸,通過透傳模式將數(shù)據(jù)發(fā)送到以太網(wǎng)端,用戶也不必關(guān)心網(wǎng)絡(luò)協(xié)議,只需要直接解析數(shù)據(jù)即可。將Wi-Fi 模塊的第3個(gè)引腳連接到單片機(jī)的RXD(接收數(shù)據(jù)的引腳),將Wi-Fi 模塊的第4 個(gè)引腳連接到單片機(jī)的TXD(發(fā)送數(shù)據(jù)的引腳),這樣就可以實(shí)現(xiàn)數(shù)據(jù)的傳輸。根據(jù)模塊使用說明需要在Wi-Fi 模塊的第10 個(gè)引腳加入上拉電阻,這樣模塊就可以進(jìn)入到正常工作狀態(tài)。
繼電器是常用的一種電子開關(guān)設(shè)備,單片機(jī)可利用IO 引腳實(shí)現(xiàn)控制,最常見的應(yīng)用為弱電壓控制強(qiáng)電壓的一種手段。繼電器的開啟或關(guān)閉是根據(jù)電磁現(xiàn)象來實(shí)現(xiàn)的,當(dāng)繼電器沒有通電,繼電器的觸點(diǎn)在彈簧的作用下處于分開狀態(tài),當(dāng)電流通過控制端子的線圈時(shí),會(huì)形成一個(gè)磁場,通過磁場來吸引觸頭,繼電器就處于開啟狀態(tài),從而完成開關(guān)的基本功能。本設(shè)計(jì)采用一個(gè)三極管9012 作為電路的控制開關(guān),增強(qiáng)線圈中的導(dǎo)通電流。該控制器與P2.4 管腳相連接,當(dāng)P2.4管腳的輸出為低電平時(shí),三極管處于導(dǎo)通狀態(tài),電流通過繼電器線圈,形成一個(gè)磁力吸收觸點(diǎn),從而使繼電器能夠接通。三極管在P2.4 是高電平時(shí)斷開,繼電器不動(dòng)作。采用二極管4148 實(shí)現(xiàn)反向擊穿保護(hù),防止線圈中斷電之后產(chǎn)生電壓而燒毀器件。
采用STC89C52 單片機(jī)控制連接硬件設(shè)備,對紅煙霧傳感器采集的煙霧體積分?jǐn)?shù)進(jìn)行分析,對單片機(jī)相連的輸出設(shè)備進(jìn)行相應(yīng)的操作[4]。此系統(tǒng)當(dāng)中與STC89C52 設(shè)備相連的是MQ-2 煙霧傳感器。火災(zāi)傳感器把采集到的數(shù)據(jù)信息上傳到單片機(jī)中并進(jìn)行顯示,通過Wi-Fi 模塊連接到手機(jī)的APP 中,實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程查看。
單片機(jī)程序運(yùn)行時(shí),必須要啟動(dòng)主函數(shù)main,會(huì)首先從主函數(shù)的第一個(gè)程序開始,然后依次執(zhí)行[5]。主程序主要包含了數(shù)據(jù)的定義部分、循環(huán)部分和調(diào)用子函數(shù)部分。程序最先進(jìn)行的是各個(gè)傳感器的初始化程序,等傳感器都進(jìn)入到正常的運(yùn)行狀態(tài)之后進(jìn)入循環(huán)程序,循環(huán)程序會(huì)一直執(zhí)行,從第一條開始調(diào)用對應(yīng)的子程序,然后依次執(zhí)行到最后,接著再次返回到循環(huán)程序的第一條開始反復(fù)地運(yùn)行。
傳感器檢測程序主要是利用MQ-2 檢測煙霧的體積分?jǐn)?shù),MQ-2 把檢測的模擬量通過ADC 轉(zhuǎn)化為數(shù)字量。當(dāng)ADC 讀取數(shù)據(jù),采集完成后會(huì)輸出一個(gè)數(shù)字量,這個(gè)數(shù)字量就是MQ-2 傳感器采集的體積分?jǐn)?shù)數(shù)據(jù),單片機(jī)通過傳感器采集的體積分?jǐn)?shù)與設(shè)置的體積分?jǐn)?shù)進(jìn)行比較,實(shí)現(xiàn)傳感器的檢測數(shù)據(jù)與煙霧的體積分?jǐn)?shù)報(bào)警。
傳感程序主要是對外界的各種信號進(jìn)行檢測,并進(jìn)行采集,再由單片機(jī)對數(shù)據(jù)進(jìn)行計(jì)算和處理,并完成相對的邏輯功能。在傳感器通電后,由微處理器初始化傳感器設(shè)置,再進(jìn)行數(shù)據(jù)的采集,判斷是否正確。如果采集成功,則對采集的數(shù)據(jù)進(jìn)行處理;如果失敗,則再次進(jìn)行采樣,最后根據(jù)采集的數(shù)據(jù)結(jié)果實(shí)現(xiàn)對相應(yīng)程序的處理。
登錄界面設(shè)計(jì)步驟如下:①聲明用戶名編輯框、密碼編輯框,登錄按鈕,設(shè)置登錄按鈕的事件監(jiān)聽器;②點(diǎn)擊登錄按鈕后,獲取用戶名編輯框和密碼編輯框的文字,然后和用戶名、密碼比對,若比對成功,則跳轉(zhuǎn)到主界面,否則彈出一個(gè)Toast 提示登錄錯(cuò)誤。
主界面設(shè)計(jì)步驟如下:①定義控件,綁定控件,設(shè)置連接按鈕和發(fā)送按鈕的事件監(jiān)聽器;②實(shí)例化一個(gè)Handler 對象,Handler 用于Android 子線程和UI線程的線程間通信;③點(diǎn)擊連接按鈕后,開啟一個(gè)線程進(jìn)行Socket 的連接,并在連接成功后通過Handler對象發(fā)送“連接成功(msg.what=1)”消息到UI 線程;④Handler 處理“連接成功”消息,開啟一個(gè)線程死循環(huán)一直讀取服務(wù)器消息;⑤點(diǎn)擊發(fā)送按鈕后,開啟一個(gè)線程通過輸出流發(fā)送數(shù)據(jù)。