国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于北斗定位的森林火災(zāi)報警系統(tǒng)設(shè)計

2024-12-20 00:00房曉麗王博鄧新陽
電腦知識與技術(shù) 2024年30期

關(guān)鍵詞:森林火災(zāi);報警系統(tǒng);STM32;北斗定位;無線傳輸

0 前言

森林火災(zāi)是全球最嚴(yán)重的自然災(zāi)害之一,不僅破壞生態(tài)環(huán)境,還會危及社會,使人的生命無法得到安全保障。2020年全國發(fā)生森林火災(zāi)有1 153起,直接減少了八千多公頃森林覆蓋面積[1-2],2024年3月15日17時,四川省甘孜州雅江縣呷拉鎮(zhèn)白孜村發(fā)生森林火災(zāi),這些事故的發(fā)生都在時刻警醒著人們要把握森林防火安全。近年來由于全球氣溫異常,生態(tài)環(huán)境惡化,在非防火期內(nèi)森林火災(zāi)也時有發(fā)生,做好森林火災(zāi)的預(yù)防及報警刻不容緩。

1 設(shè)計方案

基于北斗定位的森林火災(zāi)報警系統(tǒng)要求以微處理器為控制核心,完成火災(zāi)報警有兩個關(guān)鍵因素,即火災(zāi)發(fā)生地的信息參數(shù)采集以及實(shí)現(xiàn)遠(yuǎn)程報警。系統(tǒng)框圖如圖1所示。

1.2 設(shè)計方案選擇

選用STM32F103C8T6芯片作為基于北斗定位的森林火災(zāi)報警系統(tǒng)的主控制器。選擇DS18B20溫度傳感器來測量森林環(huán)境中的溫度。MQ-2半導(dǎo)體氣體傳感器對煙霧氣體敏感,探測效果良好,性價比高,使用它來完成森林中煙霧濃度的探測。當(dāng)探測到有火災(zāi)時需要通過GSM模塊來把火災(zāi)發(fā)生的地點(diǎn)信息發(fā)送到管理員的手機(jī)中。SIM900A模塊工作頻段是四頻的,支持藍(lán)牙串口,支持TTS功能,體積小[3],適合作為系統(tǒng)的無線通信模塊。使用OLED12864模塊實(shí)時顯示森林中的溫度以及經(jīng)緯度信息。北斗定位系統(tǒng)是我國自主建設(shè)和運(yùn)行的,定位精度達(dá)10米,測速精度0.2m/s,數(shù)據(jù)安全可靠,因此使用北斗+GPS雙模衛(wèi)星定位GY-GPS6MV1 模塊來確定火災(zāi)發(fā)生的地點(diǎn)位置。

2 硬件電路設(shè)計

2.1 STM32單片機(jī)最小系統(tǒng)電路設(shè)計

STM32F103C8T6內(nèi)存容處量理以器及的1 M內(nèi)B核的是閃存cor,te2x個-M132, 位,1us模數(shù)轉(zhuǎn)化器,可以映射到16個模數(shù)轉(zhuǎn)化通道,3個異步串行通信通道[4]。STM32F103C8T6單片機(jī)芯片原理圖如圖2所示。

2.2 煙霧采集電路設(shè)計

當(dāng)森林中環(huán)境中煙霧濃度大于300PPM時,表示有火災(zāi)發(fā)生,此時處理器將控制系統(tǒng)報警,并執(zhí)行發(fā)報警短信的動作。本系統(tǒng)選用性價比較高的煙霧探測模塊MQ-2來采集環(huán)境中的煙霧濃度。煙霧檢測模塊MQ-2上設(shè)計電路把電導(dǎo)率的變化轉(zhuǎn)化為電壓的變化,因此只需要采集模塊引腳輸出的電壓值[5-6]。然后利用電壓和煙霧濃度之間的關(guān)系就可以計算出環(huán)境中具體的煙霧濃度值。煙霧檢測模塊MQ-2和處理器的連接電路如圖3所示。

2.3 溫度采集電路設(shè)計

溫度傳感器DS18B20一共只有3個引腳,其中兩個引腳是電源引腳,使用正5伏直流供電。溫度傳感器DS18B20內(nèi)部已經(jīng)把溫度轉(zhuǎn)化為數(shù)值,然后通過中間的2號引腳把溫度值傳出來,處理器需要按照一定的單總線協(xié)議從DQ引腳中把溫度讀取出來,然后把數(shù)據(jù)處理,最后把溫度顯示在顯示屏上。當(dāng)溫度大于60度時,單片機(jī)發(fā)出控制命令,同時控制蜂鳴器報警,并發(fā)送報警短信。因此,在讀取溫度之前需要詳細(xì)地了解單總線通信協(xié)議,并通過PB5引腳利用單總線通信協(xié)議把溫度值讀取出來。DS18B20和處理器的連接電路如圖4所示。

2.4 定位電路設(shè)計

為了快速準(zhǔn)確定位到火災(zāi)發(fā)生的地址,使用北斗全球定位模塊來獲取火災(zāi)目標(biāo)的位置信息(經(jīng)度和緯度)。北斗模塊的信號接收模塊為GY-GPS6MV1,核心是U-BLOX NEO-6M模組,它能快速準(zhǔn)確地連接到衛(wèi)星,并從衛(wèi)星上連續(xù)不斷地獲取數(shù)據(jù)信息。此時獲取的數(shù)據(jù)信息是帶有起始位和結(jié)束位的一幀一幀的信息,每幀信息中包含了12個數(shù)據(jù)信息分別是:時間、緯度、緯度半球、經(jīng)度、經(jīng)度半球、GPS3toS+OkMZdH+87uWKGhr1f7xBuhAdNEFnsUvMahQ4Pg=狀態(tài)、正在使用解算位置的衛(wèi)星數(shù)量、HDOP水平精度因子、海拔高度、地球橢球面相對大地水準(zhǔn)面的高度、差分時間、差分站ID號[7-8]。GY-GPS6MV1模塊和處理器的電路連接圖如圖5所示。

2.5 短信報警電路設(shè)計

當(dāng)火災(zāi)發(fā)生地的環(huán)境溫度超過60度,或者煙霧濃度超過300PPM時,此時就通過GSM模塊發(fā)送經(jīng)度和緯度的定位短信到管理員手機(jī)上。SIM900A模塊為5 伏直流供電,由于模塊在發(fā)送短信時的功耗較大,功耗高達(dá)10W,因此整個系統(tǒng)供電功率應(yīng)該10W以上。為此,這里將使用5伏2.1A的電源適配器給整個系統(tǒng)供電。在使用SIM900A模塊時,應(yīng)該先把手機(jī)卡插入到模塊的卡槽中,當(dāng)模塊識別到移動網(wǎng)絡(luò)之后,此時模塊上的信號指示燈就會由快速閃爍變成,每間隔3 秒閃爍一次。此時模塊就處于正常工作狀態(tài)。系統(tǒng)處理器處理所有的數(shù)據(jù),當(dāng)系統(tǒng)滿足了報警條件,處理器就可以把字符串型的信息通過串口通信協(xié)議發(fā)送給手機(jī)模塊,手機(jī)模塊接收到信息就會自動觸發(fā)電信網(wǎng)絡(luò),把數(shù)據(jù)信息發(fā)送出去。

手機(jī)GSM模塊SIM900A和處理器的連接電路如圖6所示。

2.6 蜂鳴器報警電路設(shè)計

基于北斗定位的森林火災(zāi)報警系統(tǒng)中當(dāng)環(huán)境溫度超過60度,或者煙霧濃度超過300PPM的值時,需要提醒用戶參數(shù)超標(biāo),這里使用有源蜂鳴器聲音來實(shí)現(xiàn)報警功能。蜂鳴器報警電路如圖7所示。

使用PNP三極管SS8550放大電流驅(qū)動蜂鳴器。溫度超過60度,或者煙霧濃度超過300PPM的值時,此時處理器通過PB11引腳給蜂鳴器報警電路一個低電平,此時SS8550三極管導(dǎo)通,有電流通過蜂鳴器,蜂鳴器響。當(dāng)參數(shù)正常時,此時處理器通過PB11引腳給蜂鳴器報警電路一個高電平,此時SS8550三極管截止,沒有電流通過蜂鳴器,蜂鳴器停止發(fā)聲。

2.7 顯示電路設(shè)計

為了方便用戶實(shí)時直觀地看到整個系統(tǒng)所有采集的溫度和煙霧濃度等數(shù)據(jù)信息,這里將采用面積小且節(jié)能的OLED12864 作為系統(tǒng)的顯示屏。顯示屏OLED12864和處理器的接口電路如圖8所示。

本系統(tǒng)使用OLED12864字符顯示模塊一共有7 個引腳,使用3.3伏供電,供電引腳為1號引腳和2號引腳,1號引腳連接到電源地,2號引腳連接到3.3伏正電源[9-10]。3號引腳是SPI數(shù)據(jù)通信的時鐘線連接到處理器的PA5引腳,4號引腳是SPI數(shù)據(jù)通信的數(shù)據(jù)線連接到處理器的PA7引腳。6號引腳是SPI數(shù)據(jù)通信的通信數(shù)據(jù)或者命令的選擇引腳,當(dāng)該引腳賦值為高電平,表示傳輸?shù)氖菙?shù)據(jù);當(dāng)該引腳賦值為低電平,表示傳輸?shù)氖敲頪11]。7號引腳是片選引腳,低電平有效。

本系統(tǒng)使用的OLED12864是一個字符型的顯示器件,只能顯示英文、數(shù)字以及特殊字符等等。單片機(jī)處理使用SPI通信協(xié)議把需要顯示的數(shù)據(jù)傳送給OLED12864,單片機(jī)在處理顯示的字符時,需要把字符轉(zhuǎn)化為ASCII碼,然后再把字符傳送給OLED12864 內(nèi)部的控制器

3 軟件設(shè)計

3.1 總軟件流程設(shè)計

總軟件 設(shè)計流程圖如圖9所示。

基于北斗定位的森林火災(zāi)報警系統(tǒng)在主函數(shù)中首先要把GSM短信報警模塊和北斗模塊使用的串口1和串口2初始化,完成了初始化之后,通過串口2從北斗模塊中獲取當(dāng)前的經(jīng)度值和緯度值并把數(shù)據(jù)顯示在顯示屏上,再通過ADC采集模塊從煙霧傳感器中采集煙霧值并把數(shù)據(jù)顯示在顯示屏上。接著采集溫度值,并把溫度值顯示在顯示屏上。最后進(jìn)行比較判斷,如果煙霧濃度大于300PPM,或者溫度大于60度則表示森林中有發(fā)生火災(zāi),此時處理器控制蜂鳴器啟動報警,同時啟動串口1 通過GSM 模塊發(fā)送報警短信[12-13]。

3.2 溫度采集程序設(shè)計

本設(shè)計使用數(shù)字量輸出的溫度傳感器DS18B20 采集森林中環(huán)境的溫度。處理器連接溫度傳感器的數(shù)字信息輸出引腳,編寫代碼從該引腳中獲取數(shù)字量值,溫度傳感器中自帶有寄存器,不管處理器有沒有讀數(shù)據(jù),溫度信息都保存在寄存器中。處理器通過總線協(xié)議可以從寄存器中讀取數(shù)值[14]。具體的讀取數(shù)據(jù)的流程如圖10所示。

首先把溫度數(shù)值信號初始化,然后處理器發(fā)送啟動指令給DS18B20的寄存器,然后再發(fā)送復(fù)位的指令給DS18B20,DS18B20寄存器接收到以上指令之后檢查寄存器是否做好數(shù)據(jù)輸出的準(zhǔn)備。然后再進(jìn)行跳過ROM操作,寄存器啟動轉(zhuǎn)換,輸出數(shù)值。此時處理器從寄存器中連續(xù)獲取高8位和低8位的數(shù)據(jù),然后把數(shù)據(jù)合成為16位的數(shù),但是此時的數(shù)據(jù)值并不是具體的溫度值,還需要把數(shù)值乘以0.0625,最終把數(shù)值換算成溫度值。

3.3 煙霧濃度采集程序設(shè)計

為了提高測量的準(zhǔn)確度,本設(shè)計使用STM32F103 C8T6處理器自帶的12位ADC轉(zhuǎn)換器從煙霧傳感器的信號輸出引腳獲取數(shù)值。STM32F103C8T6處理器中12位的ADC轉(zhuǎn)換器是使用逐次比較的方式把傳感器輸入的電壓值以數(shù)值的形式輸出。電壓采集流程圖如圖11所示。

3.4 顯示軟件程序設(shè)計

顯示程序是對OLED12864顯示器件進(jìn)行程序設(shè)計,程序中完成顯示屏的初始化以及顯示具體內(nèi)容的設(shè)計,在顯示程序的初始化中對顯示屏的使能有效位進(jìn)行控制,使其開啟顯示功能,之后設(shè)定字體大小、設(shè)定顯示位置以及清空顯示屏等內(nèi)容進(jìn)行程序設(shè)計,在具體的顯示內(nèi)容中,通過顯示屏的數(shù)據(jù)引腳接收單片機(jī)傳送的具體數(shù)據(jù),并按照具體顯示位置將數(shù)據(jù)顯示出來[15-16]。顯示函數(shù)運(yùn)行時,首先使用SPI協(xié)議發(fā)送命令使顯示屏進(jìn)行初始化,包括開啟屏幕、字體大小和位置確定。之后等待具體的顯示內(nèi)容,收到顯示內(nèi)容后,按照初始化的設(shè)定命令完成顯示。顯示流程圖如圖12所示。

3.5 遠(yuǎn)程短信報警程序設(shè)計

GSM 模塊使用的是SIM900A 模塊,本次設(shè)計中STM32F103C8T6單片機(jī)為控制模塊,通過串口通信的方式發(fā)送AI指令來控制SIM900A模塊進(jìn)行發(fā)短信的操作。GSM模塊程序流程圖如圖13所示。

4 系統(tǒng)調(diào)試

4.1 軟件調(diào)試

按照系統(tǒng)的整體功能,通過調(diào)用函數(shù)的方式,編寫邏輯控制代碼,全部代碼調(diào)試運(yùn)行成功。

4.2 實(shí)物測試

使用電壓為5伏輸出電流為2A的適配器給系統(tǒng)供電。在手機(jī)模塊的卡槽中插入一張移動卡,然后再接通電源。通電后北斗模塊和手機(jī)模塊開始初始化操作。當(dāng)手機(jī)模塊上的信號指示燈變成慢閃,且北斗模塊上的信號指示燈變亮,表示這兩個模塊都初始化成功。此時顯示屏上顯示當(dāng)前的北斗模塊獲取的當(dāng)前的經(jīng)度和緯度信息,以及當(dāng)前的溫度和煙霧濃度值。開機(jī)初始化成功后顯示界面如圖14所示。

接下來測試煙霧濃度過高報警。人為制造煙霧,并把煙霧對著煙霧傳感器的探頭,此時煙霧濃度升高,當(dāng)煙霧濃度高于300PPM的時候,此時蜂鳴器開始響,同時管理員的手機(jī)上接收到一條報警短信。報警信息的內(nèi)容如圖15所示。最后測試溫度過高報警。人為提高環(huán)境溫度,此時溫度升高,當(dāng)溫度高于60度的時候,此時蜂鳴器開始報警,同時管理員的手機(jī)上接收到一條報警短信。報警信息的內(nèi)容如圖16所示。

當(dāng)管理員收到報警短信后,立即打開奧維互動地圖App(奧維互動地圖是由北京元生華網(wǎng)公司開發(fā)的跨平臺地圖瀏覽器,擁有強(qiáng)大的設(shè)計功能與地理信息展現(xiàn)技術(shù),也可實(shí)現(xiàn)經(jīng)緯度轉(zhuǎn)化為地點(diǎn)坐標(biāo),滿足人們的需求,因此可以選擇此軟件),選擇搜索輸入經(jīng)緯度信息,如圖17所示:

輸入完成以后點(diǎn)擊確定,點(diǎn)擊地圖導(dǎo)航功能從我的位置到地圖中心點(diǎn)(火災(zāi)發(fā)生地),點(diǎn)擊搜索,直接導(dǎo)航前往火災(zāi)地進(jìn)行救火。通過觀察奧維地圖App,地圖上顯示的經(jīng)緯度與實(shí)際火災(zāi)發(fā)生地的經(jīng)緯度有一定的偏差,大概在15米左右,但這不完全是由定位模塊決定的,也有可能與地圖軟件本身的精確度有關(guān),總體來說,該設(shè)計達(dá)到預(yù)期要求。中心點(diǎn)導(dǎo)航界面如圖18所示。

5 結(jié)論

基于北斗定位的森林火災(zāi)報警系統(tǒng)在單片機(jī)和傳感器的共同作用下,實(shí)現(xiàn)了預(yù)期的溫度和煙霧濃度智能監(jiān)測與顯示、火災(zāi)發(fā)生地的實(shí)時定位和遠(yuǎn)程報警功能。運(yùn)行的結(jié)果可以明確地表明該設(shè)計從數(shù)據(jù)的智能采集到執(zhí)行器件的自動控制均符合預(yù)期的目標(biāo),數(shù)據(jù)的采集過程中,數(shù)據(jù)穩(wěn)定并準(zhǔn)確,沒有發(fā)生錯誤,執(zhí)行器件的控制中,執(zhí)行器件穩(wěn)定運(yùn)行,沒有出現(xiàn)控制的邏輯錯誤。最終成功地實(shí)現(xiàn)了森林火災(zāi)的遠(yuǎn)程監(jiān)控和報警功能。