吳積鋒,宋志強(qiáng)
(1.南京信息工程大學(xué)濱江學(xué)院自動(dòng)化學(xué)院,江蘇 無(wú)錫 214105;2.無(wú)錫學(xué)院自動(dòng)化學(xué)院)
現(xiàn)代社會(huì)隨著科技的飛速發(fā)展,電子產(chǎn)品的種類和數(shù)量也愈發(fā)多了起來(lái),由于用電負(fù)荷日漸增大,家庭火災(zāi)事故也因此頻繁發(fā)生?;馂?zāi)發(fā)生時(shí)所產(chǎn)生的破壞性極大、影響力極強(qiáng),并且火災(zāi)的發(fā)生具有不確定性,因此會(huì)給人民的生命和財(cái)產(chǎn)安全帶來(lái)巨大的潛在危險(xiǎn)[1]。為了有效防范火災(zāi),必須十分重視對(duì)火災(zāi)的及時(shí)預(yù)警,本文提出了基于樹莓派的遠(yuǎn)程火災(zāi)報(bào)警裝置設(shè)計(jì)。該裝置通過溫濕度傳感器和煙霧傳感器對(duì)監(jiān)測(cè)環(huán)境進(jìn)行數(shù)據(jù)的檢測(cè),并將數(shù)據(jù)發(fā)送到手機(jī)app 達(dá)到實(shí)時(shí)監(jiān)測(cè)的效果。并且在發(fā)生火災(zāi)時(shí),能第一時(shí)間發(fā)送火災(zāi)警報(bào)信息到手機(jī)app,警示監(jiān)測(cè)人員,從而實(shí)現(xiàn)火災(zāi)的遠(yuǎn)程報(bào)警。
系統(tǒng)整體可以分為硬件部分和軟件部分,其中硬件部分由數(shù)據(jù)采集模塊、樹莓派模塊、手機(jī)監(jiān)測(cè)模塊組成。數(shù)據(jù)采集模塊對(duì)環(huán)境參數(shù)進(jìn)行采集,手機(jī)監(jiān)測(cè)模塊通過WIFI 與樹莓派通信來(lái)實(shí)現(xiàn)環(huán)境參數(shù)的實(shí)時(shí)監(jiān)測(cè)以及接收火災(zāi)發(fā)生時(shí)來(lái)自樹莓派的報(bào)警信息[2]。它和傳統(tǒng)的火災(zāi)報(bào)警裝置相比功能更加強(qiáng)大且方便,不再局限于距離這個(gè)缺點(diǎn),即使你在公司工作時(shí),若家里出現(xiàn)了火情,你也能通過自己的智能手機(jī)第一時(shí)間發(fā)現(xiàn)并且及時(shí)報(bào)警去處理火情。而且你也可以通過手機(jī)實(shí)時(shí)監(jiān)測(cè)家里的溫濕度參數(shù)并人為調(diào)整居家環(huán)境,從而有效避免火災(zāi)的發(fā)生。系統(tǒng)的總體設(shè)計(jì)如圖1所示。
圖1 總體設(shè)計(jì)
本裝置的硬件部分采用樹莓派4B作為主控制器,將SD 卡作為內(nèi)存硬盤,通過樹莓派自身板載的WIFI模塊、傳感器模塊完成監(jiān)控報(bào)警的任務(wù)。
樹莓派4B 是一款基于ARM 的微型電腦主板,芯片采用BCM2711,頻率為1.5GHz,主板周圍有四個(gè)USB 接口(二個(gè)USB3.0 和二個(gè)USB2.0 接口)、二個(gè)Micro HDMI ports,40 個(gè)GPIO 接口,一個(gè)Micro SD卡插槽。以上部件全部集中在類似信用卡大小的主板上,并且?guī)缀鯎碛杏?jì)算機(jī)主機(jī)的所有功能[3]。并且通過GPIO 接口與傳感器引腳連接,可以對(duì)采集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)處理以及儲(chǔ)存管理,眾多的GPIO 接口使得裝置具有更好的拓展性,為以后火災(zāi)報(bào)警裝置的功能拓展留有余地[4]。
該模塊是一個(gè)高度集成的單芯片WIFI模塊,具有功耗低,穩(wěn)定性高、運(yùn)行速度快等特點(diǎn)[5]。該模塊支持2.4GHz 和5GHz 雙頻WIFI,支持藍(lán)牙5.0 以及調(diào)頻接收機(jī),一個(gè)獨(dú)立的高速UART 提供藍(lán)牙/FM 主機(jī)接口[6]。
該模塊要做好對(duì)于監(jiān)測(cè)環(huán)境的溫濕度以及煙霧的探測(cè),使火災(zāi)的發(fā)現(xiàn)具有穩(wěn)定性和可靠性。鑒于各方面考慮,為了采集監(jiān)測(cè)環(huán)境下適用于判斷火災(zāi)發(fā)生的參數(shù),本設(shè)計(jì)選擇了溫濕度傳感器以及煙霧傳感器作為數(shù)據(jù)的采集模塊端。溫濕度傳感器模塊使用的是DHT11溫濕度傳感器,其主要是實(shí)現(xiàn)實(shí)時(shí)采集裝置所監(jiān)測(cè)環(huán)境的溫濕度數(shù)據(jù)。該模塊體積小,功耗低,并且自帶模數(shù)轉(zhuǎn)換芯片,可以直接輸出數(shù)字信號(hào),信號(hào)傳輸距離可達(dá)20米以上。該傳感器測(cè)量范圍:濕度20-90%RH,溫度0-50℃。測(cè)量精度:濕度±5%RH,溫度±2℃;分辨率:濕度1%RH,溫度1℃[7]。煙霧傳感器模塊使用的是MQ-2 煙霧傳感器,MQ-2 的驅(qū)動(dòng)電路簡(jiǎn)單,工作性能較好,具有重復(fù)性和穩(wěn)定性,并且該器件對(duì)于火情的響應(yīng)非常迅速。該氣敏元件有六只引腳,其中四只引腳用于信號(hào)的輸出以及二只腳用于提供加熱電阻。其檢測(cè)可燃?xì)怏w與煙霧的范圍是100~10000ppm(ppm 為濃度單位),供電電壓范圍寬,24V以下均可,加熱電壓5±0.2V。樹莓派不帶有數(shù)模轉(zhuǎn)換模塊,而需要MQ-2 傳感器輸出為模擬量,因此,本設(shè)計(jì)選擇外接Pcf8591模塊進(jìn)行數(shù)模轉(zhuǎn)換。
Pcf8591 是一個(gè)單片集成、低功耗的、并且單獨(dú)供電(其操作電壓范圍為2.5V~6V)、8-bit CMOS 數(shù)據(jù)獲取器件。該器件具有四個(gè)模擬輸入(可編程為單端型或差分輸入)、一個(gè)模擬輸出以及一個(gè)串行I2C 總線接口。因此具有多路模擬輸入、內(nèi)置跟蹤保持、8-bit 模數(shù)和數(shù)模轉(zhuǎn)換的功能,該器件的最大轉(zhuǎn)換速率由I2C總線的最大速率決定。
系統(tǒng)軟件在樹莓派的Raspbian 操作系統(tǒng)基礎(chǔ)上開發(fā),以Python 作為主要開發(fā)語(yǔ)言,對(duì)采集到的數(shù)據(jù)進(jìn)行快速處理,以Blynk 平臺(tái)設(shè)計(jì)手機(jī)實(shí)時(shí)監(jiān)測(cè)界面,火災(zāi)信息可通過發(fā)送郵件到用戶郵箱實(shí)現(xiàn)火災(zāi)報(bào)警。
樹莓派安裝Raspbian 操作系統(tǒng),Raspbian 能運(yùn)行主要的軟件工具和應(yīng)用程序,在樹莓派硬件上搭載Raspbian 系統(tǒng),可以根據(jù)自身的需求對(duì)Raspbian 進(jìn)行完善,使得能夠運(yùn)行各類程序并滿足用戶需求,進(jìn)行所需的運(yùn)算處理[8]。
為了使傳感器能在樹莓派中正常使用,需要導(dǎo)入相應(yīng)的數(shù)據(jù)庫(kù)[9]。有Adafruit DHT11 庫(kù)、GPIO 模塊、數(shù)模轉(zhuǎn)換模塊庫(kù)、時(shí)間模塊庫(kù)、OS模塊庫(kù)等,并且需要在樹莓派中建立Blynk 本地服務(wù)器,才可以將采集的數(shù)據(jù)與在Blynk中建立的項(xiàng)目模塊相聯(lián)系。
Blynk 是一種物聯(lián)網(wǎng)服務(wù),其目的是在于使遠(yuǎn)程控制和從外圍設(shè)備中讀取傳感器數(shù)據(jù)的速度盡可能的快和容易。本設(shè)計(jì)將傳感器采集到的數(shù)據(jù)通過在Blynk設(shè)計(jì)的界面呈現(xiàn),如圖2所示。采用四個(gè)模塊分別顯示溫度、濕度、煙霧的數(shù)據(jù),以及最終判斷是否發(fā)生火災(zāi)的提示;添加了兩個(gè)趨勢(shì)圖,可以更好的呈現(xiàn)監(jiān)測(cè)環(huán)境的溫濕度變化情況,利于用戶更好的調(diào)整監(jiān)測(cè)環(huán)境,有效的避免火災(zāi)的發(fā)生。
圖2 手機(jī)監(jiān)測(cè)界面設(shè)計(jì)
鑒于用戶不會(huì)時(shí)時(shí)刻刻在監(jiān)測(cè)頁(yè)面查看的情況,因此添加郵件報(bào)警的功能。開啟網(wǎng)易163 郵箱以及QQ 郵箱的SMTP 服務(wù),采用樹莓派的發(fā)送郵件功能。在主程序的設(shè)計(jì)語(yǔ)句中,進(jìn)行是否發(fā)生火災(zāi)的判斷,發(fā)生火災(zāi),則發(fā)送報(bào)警信息。
在搭建好樹莓派的系統(tǒng)環(huán)境及配置后,需要根據(jù)設(shè)計(jì)內(nèi)容進(jìn)行程序的編寫。圖3 為基本操作流程圖,先分析火災(zāi)報(bào)警信號(hào)的采集、傳輸、故障處理環(huán)節(jié)的程序編寫。其主要代碼如下:
圖3 基本操作流程圖
將采集數(shù)據(jù)傳遞到app 顯示端,編寫判斷火災(zāi)是否發(fā)生的程序,程序主要代碼如下:
最后編寫發(fā)生火災(zāi)時(shí)App顯示的狀況以及郵件報(bào)警的程序,實(shí)現(xiàn)了遠(yuǎn)程火災(zāi)的報(bào)警功能。其主要代碼如下:
選擇各模塊與樹莓派進(jìn)行連接后,將樹莓派通電并運(yùn)行Python 程序。所設(shè)置的Blynkapp 頁(yè)面在一秒后響應(yīng),會(huì)立即顯示出所監(jiān)測(cè)環(huán)境的溫濕度以及煙霧數(shù)據(jù)。在不同環(huán)境下測(cè)試,多次運(yùn)行均未發(fā)現(xiàn)異常,app 界面的數(shù)據(jù)更新迅速,使用戶能夠做到實(shí)時(shí)監(jiān)測(cè)。為了模擬火災(zāi)發(fā)生情況,通過局部位置燃燒物品產(chǎn)生的溫度以及濃煙。可以觀察到App界面的趨勢(shì)圖明顯的變化,當(dāng)達(dá)到報(bào)警閾值時(shí),郵箱接收到來(lái)自樹莓派的報(bào)警信息。
基于樹莓派的遠(yuǎn)程火災(zāi)報(bào)警裝置可以實(shí)時(shí)采集所監(jiān)測(cè)環(huán)境的數(shù)據(jù)并在用戶的手機(jī)App 中呈現(xiàn)出來(lái),該裝置采用的傳感器對(duì)于火情反應(yīng)比較靈敏,檢測(cè)范圍很適合放在家中使用。系統(tǒng)整體小巧,不會(huì)占太多的空間。系統(tǒng)后續(xù)可以通過樹莓派USB 等接口拓展攝像頭功能,做到監(jiān)測(cè)火災(zāi)的同時(shí)能實(shí)時(shí)監(jiān)控家中的情況。該系統(tǒng)成本較低,運(yùn)行穩(wěn)定,準(zhǔn)確度較高,具有一定的應(yīng)用前景。