馬晗旭,張益華,周 游,趙雨菲,何智浦,陳興文
(大連民族大學(xué) 信息與通信工程學(xué)院, 遼寧 大連 116605 )
隨著城市人口中的不斷增加,上班族與家庭住所之間的距離越來(lái)越遠(yuǎn),在家中停留的時(shí)間可以說(shuō)越來(lái)越少,這部分人居所可以說(shuō)是經(jīng)常處于無(wú)人狀態(tài),其環(huán)境及安全狀況是人們最為關(guān)注的頭等大事。能夠?qū)崟r(shí)了解和控制居所的環(huán)境狀態(tài),以及及時(shí)掌握突發(fā)災(zāi)害事情對(duì)于城市上班族來(lái)說(shuō)是及其必要的和具有現(xiàn)實(shí)意義的。本系統(tǒng)提出了以單片機(jī)核心構(gòu)建為居所端環(huán)境與災(zāi)害報(bào)警平臺(tái),通過(guò)GSM將居所狀態(tài)與住戶手機(jī)端實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)的方案,從而實(shí)現(xiàn)人與物的遠(yuǎn)程溝通與對(duì)話。實(shí)踐證明,整個(gè)系統(tǒng)方便、快捷、經(jīng)濟(jì),適于各類人群使用。
本系統(tǒng)以STM32F103單片機(jī)為控制核心,通過(guò)采集各類傳感器的信號(hào)對(duì)室內(nèi)實(shí)時(shí)環(huán)境狀況進(jìn)行分析判斷,在緊急狀態(tài)出現(xiàn)時(shí)通過(guò)GSM向用戶發(fā)送報(bào)警信息,同時(shí)還可依據(jù)用戶事先預(yù)置的環(huán)境參數(shù)數(shù)值,來(lái)判斷是否出現(xiàn)異常情況,當(dāng)發(fā)生異常狀態(tài)時(shí)可向用戶發(fā)出提示信息,同時(shí)用戶也可以隨時(shí)了解環(huán)境狀態(tài)。系統(tǒng)選用的傳感器包括一氧化碳濃度檢測(cè)、環(huán)境溫濕度檢測(cè)、煙霧濃度檢測(cè)等傳感器,同時(shí)采用水滴傳感器以及熱釋電傳感器分別檢測(cè)是否有水滴和是否有人闖入,采用OV7725攝像頭模塊監(jiān)視,對(duì)特定的房間進(jìn)行重點(diǎn)監(jiān)視。系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。
圖1 系統(tǒng)總體設(shè)計(jì)框圖
單片機(jī)最小系統(tǒng)采用STM32F103微處理器,其外圍接口豐富,工作主頻可達(dá)72MHz,具有64KB的SRAM和256KB的Flash存儲(chǔ)器,具備處理視頻數(shù)據(jù)的能力。
環(huán)境監(jiān)測(cè)部分包括溫濕度傳感器、煙霧傳感器、光敏傳感器、熱釋電傳感器、水滴傳感器,語(yǔ)音播報(bào)傳感器。本模塊的功能和工作過(guò)程為:單片機(jī)不斷地查詢來(lái)自環(huán)境監(jiān)測(cè)部分的各個(gè)傳感器信號(hào),以確定室內(nèi)的溫濕度、煙霧濃度、光照強(qiáng)度等環(huán)境信息,同時(shí)用戶可以通過(guò)手機(jī)短信獲取室內(nèi)環(huán)境參數(shù)。當(dāng)任何一項(xiàng)超出標(biāo)準(zhǔn)范圍時(shí),單片機(jī)會(huì)發(fā)出報(bào)警信息并經(jīng)由GSM模塊發(fā)出短信通知用戶處理。當(dāng)廚房煙霧濃度超標(biāo)時(shí),用戶接收到“廚房空氣有異常,請(qǐng)查看!”的短信;當(dāng)光照強(qiáng)度過(guò)低時(shí)單片機(jī)會(huì)控制繼電器打開(kāi)室內(nèi)日光燈來(lái)增加房間亮度;當(dāng)衛(wèi)生間水滴傳感器觸發(fā)時(shí),用戶會(huì)接收到“衛(wèi)生間水有異常,請(qǐng)查看!”的短信;當(dāng)房間內(nèi)無(wú)人時(shí),若是熱釋電傳感器觸發(fā),單片機(jī)會(huì)發(fā)出報(bào)警指令,通過(guò)GSM模塊發(fā)送至物業(yè)人員或者警察。
圖2 各類傳感器接口電路圖
本次設(shè)計(jì)GSM模塊采用SIM900A。SIM900A模塊通過(guò)串口設(shè)置轉(zhuǎn)換,發(fā)送AT指令來(lái)實(shí)現(xiàn)發(fā)送短信的功能。工作過(guò)程為首先進(jìn)行串口初始化,獲取波特率,發(fā)送字符串“AT+CMGF=0”設(shè)置為PDU模式,設(shè)置UCS2編碼字符集,然后設(shè)置戶主手機(jī)號(hào)碼,編寫好所需的短信內(nèi)容,最后發(fā)送“0x1A”,這樣就可以通過(guò)GSM模塊實(shí)現(xiàn)短信報(bào)警通知戶主的功能。
如:發(fā)送“AT+CMGW=150011000D9168814 7028512F90008AA00”就可以設(shè)置戶主手機(jī)號(hào)碼為“18742058219”。若家中的煤氣突然發(fā)生泄漏,傳感器檢測(cè)到信息,就會(huì)給戶主發(fā)送一條提示短信,代碼為“7A7A6C1467095F025E38”,編譯過(guò)來(lái)就是“空氣有異?!?,這時(shí)戶主就須警惕,是否是家中煤氣泄漏了,可以提前做好防護(hù)措施。
圖3 人機(jī)交互接口電路圖
程序開(kāi)始執(zhí)行時(shí),首先對(duì)單片機(jī)及各模塊進(jìn)行初始化,通過(guò)鍵盤設(shè)置溫濕度,一氧化碳濃度,水滴以及火光傳感器上限值,STM32單片機(jī)通過(guò)I/O口連接各傳感器檢測(cè)環(huán)境溫濕度,一氧化碳濃度,水滴等[1]。當(dāng)所測(cè)數(shù)據(jù)超過(guò)設(shè)置上限,語(yǔ)音播報(bào)產(chǎn)生警示聲音,同時(shí)通過(guò)GSM模塊向用戶發(fā)送報(bào)警信息。軟件設(shè)計(jì)流程圖如圖4所示。
圖4 GSM軟件設(shè)計(jì)流程圖
OV7725 視頻采集采用 VGA 時(shí)序,分為行時(shí)序和幀時(shí)序。行時(shí)序即輸出每一行像素的時(shí)序,以 PCLK 輸出像素時(shí)鐘,以D0-D9 輸出像素?cái)?shù)據(jù),以HREF輸出行起始信號(hào)和行結(jié)束信號(hào)。幀時(shí)序與行時(shí)序的區(qū)別多了一條信號(hào)線 VSYNC,用于表示幀起始信號(hào)與幀結(jié)束信號(hào)。讀 FIFO 時(shí)序,OV7725 模塊的FIFO硬件中已將FIFO的RE管腳設(shè)置為低電平,說(shuō)明已激活了讀操作。當(dāng)OE管腳為低電平時(shí),輸出處于使能D0就會(huì)按地址遞增的方式輸出數(shù)據(jù)[2]。
開(kāi)始采集圖像時(shí),開(kāi)場(chǎng)中斷,場(chǎng)中斷來(lái)了,開(kāi)行中斷和初始化DMA傳輸。行中斷來(lái)了就設(shè)置DMA地址,啟動(dòng)DMA傳輸。如果先過(guò)濾部分行不采集,則設(shè)置一個(gè)靜態(tài)變量,每次行中斷來(lái)了都自加1, 根據(jù)值來(lái)選擇采集或不采集某些行。每個(gè)PCLK上升沿來(lái)了都觸發(fā)DMA傳輸,把攝像頭輸出的值讀取到內(nèi)存數(shù)組里。當(dāng)觸發(fā)n次(n=圖像列數(shù)目)后就停止DMA傳輸。
行中斷次數(shù)等于一幅圖像的行數(shù),或者等待下一個(gè)場(chǎng)中斷來(lái)臨就結(jié)束圖像采集,關(guān)閉行中斷和場(chǎng)中斷。
本系統(tǒng)基于STM單片機(jī)為核心,利用各類傳感器、GSM和視頻采集模塊組成智能家庭環(huán)境安全監(jiān)控系統(tǒng),可實(shí)現(xiàn)家庭環(huán)境中溫濕度,一氧化碳濃度,水滴以及火光進(jìn)行實(shí)時(shí)監(jiān)測(cè),經(jīng)調(diào)試己可進(jìn)行正常工作。整個(gè)系統(tǒng)具有快捷、經(jīng)濟(jì),擴(kuò)展能力強(qiáng),操作簡(jiǎn)單,具有較為廣泛的應(yīng)用前景。
圖5 OV7670 實(shí)時(shí)采集的圖像