基于STM32的實驗室智能安防系統(tǒng)設(shè)計_第1頁
基于STM32的實驗室智能安防系統(tǒng)設(shè)計_第2頁
基于STM32的實驗室智能安防系統(tǒng)設(shè)計_第3頁
基于STM32的實驗室智能安防系統(tǒng)設(shè)計_第4頁
基于STM32的實驗室智能安防系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第1章緒論1.1課題研究背景及意義隨著集成電路和電子行業(yè)的不斷發(fā)展,智能產(chǎn)品越來越受到重視,并越來越多地應(yīng)用于智能社會。在這樣的大環(huán)境下,傳統(tǒng)的安全設(shè)備已經(jīng)無法滿足市場的需要,于是,智能化的安全系統(tǒng)便應(yīng)運而生。在現(xiàn)代科學(xué)技術(shù)的不斷發(fā)展下,人們對智能化安全技術(shù)的關(guān)注也逐漸增加,許多發(fā)達(dá)國家都將目光投向了這一領(lǐng)域,并在此基礎(chǔ)上做了大量的研究和開發(fā)。近年來,智能產(chǎn)品日益流行,在安全方面,智能終端也逐漸被應(yīng)用;對家里的環(huán)境進(jìn)行實時監(jiān)控。為保證人民的人身和財產(chǎn)的安全,減少火災(zāi)造成的傷害,各國政府不但在人員上加強(qiáng)了治安管理,而且在技術(shù)上也在不斷的增加投資。同時,在學(xué)校實驗室中采用類似的智能安全報警系統(tǒng),對強(qiáng)化實驗室的日常管理、安全監(jiān)控具有重要意義。大學(xué)實驗室是培養(yǎng)人才的關(guān)鍵所在。實驗室既能為學(xué)生創(chuàng)造一個學(xué)習(xí)和研究的環(huán)境,又能推動科學(xué)技術(shù)的創(chuàng)新發(fā)展。目前國內(nèi)大多數(shù)大學(xué)對安全管理體系的應(yīng)用都十分重視,但目前還處在不完善的狀態(tài)。當(dāng)今,我國已有的安全預(yù)警產(chǎn)品中,還存在著大量的問題,如:大多數(shù)產(chǎn)品安裝麻煩,體積大,成本高,能耗高,設(shè)備復(fù)雜等。因此,設(shè)計一款低功耗、低成本、高實用性的智能安防系統(tǒng)具有很大的現(xiàn)實意義。1.2國內(nèi)外研究現(xiàn)狀以及發(fā)展趨勢目前智能安防系統(tǒng)越來越得到人們的重視,安防系統(tǒng)主要體現(xiàn)在兩個方面,分別是:火災(zāi)報警系統(tǒng)和安防系統(tǒng),關(guān)于安防系統(tǒng)國內(nèi)外研究現(xiàn)狀,從兩個角度展開了分析?;馂?zāi)預(yù)警系統(tǒng)在國外已有較長的歷史。最初是在19世紀(jì)40年代,美國的Channing和Farmer在1847年發(fā)明了世界上第一臺火災(zāi)報警裝置,從此開始了對火災(zāi)報警的研究。主要采用分離元件的原理實現(xiàn)火災(zāi)報警的研究。緊接美國之后,德國的哈斯克和西門子公司將電報技術(shù)運用到系統(tǒng)中,實現(xiàn)了對火災(zāi)信號的發(fā)送。[15]英國在1890年的火災(zāi)檢測領(lǐng)域取得了很大的成績,制造出第一款溫感火災(zāi)探測器,對現(xiàn)代火災(zāi)預(yù)警技術(shù)的發(fā)展做出了卓越的貢獻(xiàn)。20世紀(jì)50年代初期,一種離子式煙感傳感器被瑞士的科學(xué)家ErnstMeili研制出來。由于此類傳感器靈敏度較高的特點,在這種情況下,許多國家研制出許多新型的溫感和煙感傳感器,采用多線安裝開關(guān)量的形式,但是安裝復(fù)雜,維護(hù)繁瑣,可靠性低。20世紀(jì)80年代,隨著電子技術(shù)的進(jìn)步,火情探測的種類日益增多,單一的火情探測方法所存在的不足也日益凸顯。開始傾向于采用多個傳感器來獲得多個數(shù)據(jù),通過對多個數(shù)據(jù)進(jìn)行處理,從而達(dá)到對火災(zāi)報警的目的,同時,由于傳感器的數(shù)量越來越多,導(dǎo)致了傳統(tǒng)的開關(guān)報警系統(tǒng)的復(fù)雜性增加。[31]20世紀(jì)90年代,火災(zāi)探測算法的研究已經(jīng)進(jìn)入了一個新的階段。根據(jù)火災(zāi)發(fā)生時火焰的動態(tài)和靜態(tài)特性展開的。其中,有灰度圖像、RGB圖像等。[32]1997年,日本新宇宙股份有限公司在中國與上海燃?xì)鈩?chuàng)立合資公司,在上海生產(chǎn)制造家庭氣體報警裝置。[38]在2000年,澳大利亞率先將WSN與傳感器相結(jié)合,設(shè)計并應(yīng)用于用于火災(zāi)報警,開創(chuàng)了一種將傳統(tǒng)火災(zāi)監(jiān)測技術(shù)向智能化方向發(fā)展的新途徑。2008年英國研究人員將大數(shù)據(jù)分析預(yù)測技術(shù)與物聯(lián)網(wǎng)、視頻監(jiān)控等多項技術(shù)結(jié)合,建立了火災(zāi)預(yù)測的大數(shù)據(jù)分析倉庫,經(jīng)過長年運行、優(yōu)化升級,效果非常顯著。[3]2011年LChun-yuan設(shè)計一種基于GSM的火災(zāi)報警系統(tǒng),解決了火災(zāi)布線問題以及對火災(zāi)報警精度進(jìn)行加強(qiáng)。[40]安全防護(hù)技術(shù)最初是從美國開始的,最初是在國家軍隊中使用,然后逐步在民用和私人領(lǐng)域中得到廣泛的應(yīng)用。美國ADT公司在20世紀(jì)30年代推出了安全報警服務(wù)。日本西科姆公司于20世紀(jì)80年代在家庭安全領(lǐng)域開展了研究。韓國的家用安全設(shè)備正逐步向智能化方向發(fā)展。與此同時,無線傳感器等相關(guān)技術(shù)已廣泛應(yīng)用于世界各國。[29]到了20世紀(jì)90年代,國內(nèi)開始研究安防相關(guān)的技術(shù),到2002年的時候安防技術(shù)取得突破性進(jìn)展,推動了安保產(chǎn)業(yè)的發(fā)展。[33]2008年,奧運會在北京召開,第一次使用c4i系統(tǒng)(奧運綜合安防系統(tǒng)),科學(xué)技術(shù)是代表我國奧運精神的重要理念,科技奧運是奧林匹克發(fā)展的一個主要標(biāo)志。[7]在2014年,一套適合家用的無線安全警報系統(tǒng)開始運行。目前最受歡迎的無線通信技術(shù)如藍(lán)牙、ZigBee等,都存在著傳輸速度較慢的缺點。與之相比,近年來普及的WIFI技術(shù)更適用于無線通信。[41]2017年,家居安防系統(tǒng)中以MSP430為核心,利用SIM900A模塊將報警信息發(fā)送給用戶,從而達(dá)到了遠(yuǎn)程通訊的目的。[37]在2018年,由于用戶需要通過移動電話來實現(xiàn)對報警的監(jiān)控,并且GPRS的數(shù)據(jù)傳輸速度比GSM要快,并且可以實現(xiàn)更遠(yuǎn)的傳輸。[44]一種基于GPRS無線傳輸?shù)陌卜缊缶到y(tǒng)被應(yīng)用到安全預(yù)警中。[35]2019年是通訊產(chǎn)業(yè)進(jìn)入大數(shù)據(jù)時代的重要一年。在這種情況下,對傳統(tǒng)的安防報警行業(yè)的發(fā)展提出了新的要求。在大學(xué)實驗室中應(yīng)該采用智能化的安保技術(shù),以達(dá)到對實驗室進(jìn)行智能化管理,以保證實驗室的安全。[22]學(xué)校作為培養(yǎng)國家棟梁之所,加強(qiáng)對大學(xué)生人身安全的保護(hù)顯得尤其重要。為了保證教師和學(xué)生的生命安全,保證學(xué)校的財產(chǎn)和科研工作的順利進(jìn)行,高校必須加強(qiáng)對校園的安保工作,特別是對實驗室的安保工作。1.3本文主要研究內(nèi)容本文在對目前國際以及國內(nèi)安防狀況進(jìn)行調(diào)查和分析的基礎(chǔ)上,提出了以STM32為核心的實驗室智能安防系統(tǒng)。本項目的研究內(nèi)容為:安防系統(tǒng)利用各個傳感器對實驗室內(nèi)周圍的環(huán)境進(jìn)行監(jiān)測,并將收集到的數(shù)據(jù)由顯示模塊在液晶屏幕上進(jìn)行顯示,在數(shù)據(jù)超出某一臨界值時,啟動報警。同時繼電器打開,連接負(fù)載采取相應(yīng)措施。主機(jī)由STM32F103C8T6單片機(jī)組成,并通過WIFI無線通訊模塊將采集到的數(shù)據(jù)發(fā)送給使用者,使用者可以通過移動應(yīng)用程序方便、直觀地了解實驗室內(nèi)的情況;提高了系統(tǒng)的人機(jī)交互能力。1.4本文主要結(jié)構(gòu)第一章首先闡述了論文的選題背景、選題目的和意義以及論文的主要內(nèi)容,并從消防安全、安保等角度對目前國內(nèi)外有關(guān)技術(shù)的研究狀況進(jìn)行了綜述。第二章對目前的安全警報系統(tǒng)的市場需求進(jìn)行了分析。按照市場的需要和開發(fā)的需要來設(shè)計整個系統(tǒng)。第三章介紹了系統(tǒng)的硬件電路,包括監(jiān)測模塊,顯示模塊,通訊模塊,報警模塊等。第四章對各個功能模塊軟件部分進(jìn)行了說明。第五章是對系統(tǒng)進(jìn)行功能驗證分析。最終通過分析得出結(jié)論并提出本文的不足之處以及需要改進(jìn)的地方。第2章總體設(shè)計方案本章結(jié)合目前國際上安防技術(shù)的發(fā)展?fàn)顩r,介紹了一種適用于實驗室的智能化安防系統(tǒng)。在綜合考慮了成本和實用性之后,最終確定了STM32系列單片機(jī)作為主控制器。在這一章中,首先對安防系統(tǒng)的需求展開了分析,然后,對實驗室安防系統(tǒng)設(shè)計的總體方案進(jìn)行了詳細(xì)的闡述。2.1安防系統(tǒng)需求分析伴隨著安防技術(shù)向智能化方向發(fā)展,人們對安防技術(shù)的要求也在日益提高,使用范圍也日益擴(kuò)大。然而,目前很多安全設(shè)備采用有線連接,而且布線繁瑣,不夠智能。目前,有些已進(jìn)入公眾視線的安防設(shè)備,其技術(shù)還不夠成熟,大多數(shù)的安防設(shè)備都是以各自的方式獨立運行著,沒有很好的整合起來。安防系統(tǒng)在大學(xué)實驗室中的應(yīng)用的背景下,對其進(jìn)行了需求分析,需要滿足以下幾點。需求如下:第一,實驗室是培養(yǎng)人才的關(guān)鍵所在。實驗室既能為學(xué)生創(chuàng)造一個學(xué)習(xí)和研究的環(huán)境,又能推動科學(xué)技術(shù)的創(chuàng)新發(fā)展。隨著人數(shù)和實驗項目的不斷增多,這種情況下如果校園安全有疏忽的地方,會導(dǎo)致難以預(yù)料的后果。同時,學(xué)校實驗室有著高昂的實驗器材,發(fā)生災(zāi)害時會帶來巨大損失,因此,應(yīng)該重視實驗室的安全情況。需要對校園的安防系統(tǒng)進(jìn)一步強(qiáng)化,通過安防系統(tǒng)第一時間發(fā)現(xiàn)并控制災(zāi)情,降低災(zāi)情帶來的損失。第二,科技推動著時代的進(jìn)步,手機(jī)是當(dāng)今每個人都需要的工具,監(jiān)管實驗室的領(lǐng)導(dǎo)和老師通過手機(jī)就可以方便快捷的掌握實驗室的安全情況,及時有效地避免發(fā)生安全事故。第三,目前市場上大多數(shù)的安防產(chǎn)品是有線連接,這類安防產(chǎn)品的線路較為復(fù)雜,裝置較為繁瑣,不適合在大學(xué)的實驗室中使用。此外,安防設(shè)備的布線暴露于外界,也極易引起電氣事故。所以,急需一種既能實現(xiàn)無線互聯(lián),又能滿足大學(xué)實驗室運行費用的安防系統(tǒng)。設(shè)計出一種智能化的實驗室安防系統(tǒng),主要就是給高校中的科研人員以及老師同學(xué)們提供一種安全便捷的科研環(huán)境,所以對安防系統(tǒng)需求更偏向于操作簡單,實用性強(qiáng)。如果在使用的過程繁雜,反而降低了系統(tǒng)的智能化。目前市場上的智能安防產(chǎn)品中存在著價格高,布線布局繁雜,操作復(fù)雜等問題,而且高校中的實驗室數(shù)量多,通常情況下,要用到的安全設(shè)備數(shù)量很多,而大學(xué)若能選用智能設(shè)備,則具有較大的優(yōu)越性。但在采用低成本的安全系統(tǒng)時,要保證系統(tǒng)的性能。因此,在整個系統(tǒng)的設(shè)計中,對硬件電路進(jìn)行合理的選取與設(shè)計是非常關(guān)鍵的。既要保證系統(tǒng)的穩(wěn)定性,又要保證它的造價。這樣既能節(jié)省經(jīng)費,又能節(jié)省物資,更能滿足大學(xué)實驗室的需要。2.2系統(tǒng)總體設(shè)計方案2.2.1方案芯片選型本文所設(shè)計的安防系統(tǒng)要達(dá)到的目的是:系統(tǒng)可以利用傳感器對實驗室環(huán)境進(jìn)行實時監(jiān)測,并且能采集實驗室的環(huán)境信息,然后由主控制器對傳感器收集的環(huán)境數(shù)據(jù)與系統(tǒng)設(shè)定的閾值進(jìn)行判定,若超出設(shè)定的閾值進(jìn)行聲光報警,提醒管理人員采取相應(yīng)的措施。因此,在進(jìn)行硬件電路設(shè)計的過程中,不僅要遵循電路設(shè)計的基本原理,還要將成本低、實用性等方面的原因考慮進(jìn)去。傳統(tǒng)的安防系統(tǒng)主控芯片大多數(shù)是采用8位的51單片機(jī),處理器的功能比較落后,運行速度慢,保護(hù)能力差,容易燒壞芯片,AD、EPROM等功能需要外接芯片擴(kuò)展,增加芯片的負(fù)擔(dān),對于特定的程序需要耗費更長的時間和精力進(jìn)行開發(fā)調(diào)試,對安防系統(tǒng)發(fā)展智能化有一定的局限性。本系統(tǒng)以STM32為主要控制單元。STM32單片機(jī)是一個32位的微控制器,它以ARMcortex為內(nèi)核,擁有低功耗、高性能的特點,而且它的開發(fā)非常方便,是一個非常理想的選擇。本系統(tǒng)采用STM32F103C8T6單片機(jī)作為主控單元。STM32F103C8T6是意法半導(dǎo)體公司開發(fā)的32位芯片,以ARM7架構(gòu)為基礎(chǔ),具有高效率、易于開發(fā)、低功耗等優(yōu)點。可以適用于許多應(yīng)用。溫度檢測采用DS18B20芯片,具有體積小,精度高的特點。煙霧濃度使用MQ-2芯片,該芯片不但可以對煙霧進(jìn)行探測,而且能探測各種可燃?xì)怏w,操作簡便,安裝簡單,性能穩(wěn)定,長期使用不易老化,維護(hù)成本低?;鹧鏅z測使用HY-A1火焰?zhèn)鞲衅鳎梢詸z測更細(xì)微的火焰信號,具有靈敏度高,穩(wěn)定性好的特點。定位模塊使用中科微ATGM332D芯片進(jìn)行定位,具有精度高,低功耗,低成本的特點。無線通信采用ESP8266芯片,具有接口豐富,功耗低的特點。顯示模塊使用TFT-LCD液晶顯示屏,具有對比度高,色彩豐富的特點。將STM32單片機(jī)用作主控制器,對采集到的信息進(jìn)行分析、判斷,并對其進(jìn)行處理,讓安防系統(tǒng)中的各個模塊能夠進(jìn)行聯(lián)動工作,這是實現(xiàn)系統(tǒng)高度集成化的關(guān)鍵。2.2.2安防系統(tǒng)總體方案在方案選型的基礎(chǔ)上,本文提出了一種基于STM32的實驗室智能安防系統(tǒng),并對其進(jìn)行了詳細(xì)的硬件設(shè)計。在圖2.1中顯示了該系統(tǒng)的結(jié)構(gòu)方塊圖。圖2.1系統(tǒng)總體結(jié)構(gòu)框圖本文設(shè)計的實驗室智能安防系統(tǒng)主要分為對火災(zāi)檢測(包括溫度、煙霧濃度和火焰三種環(huán)境信號),定位模塊,通信報警以及繼電器模塊四部分,各部分的設(shè)計方案如下。(一)火災(zāi)檢測火災(zāi)檢測主要通過收集溫度、煙霧濃度以及火焰狀態(tài),對三種數(shù)據(jù)進(jìn)行判定是否超過閾值進(jìn)行報警,從而實現(xiàn)了以STM32F103C8T6為核心的最簡電路,包括晶體振蕩器,復(fù)位電路,它與各傳感器電路模塊一起構(gòu)成了一個安防系統(tǒng)電路,因此可以實現(xiàn)當(dāng)傳感器采集到的數(shù)值超過臨界值時,觸發(fā)報警模式。(二)定位模塊系統(tǒng)通過定位模塊可以在發(fā)生災(zāi)情的時候確定發(fā)生的具體位置,管理員可以及時通過該模塊及時知曉災(zāi)情發(fā)生的位置。(三)通訊報警模塊通信報警模塊主要有兩種方式,一種是聲光報警,另一種是遠(yuǎn)端報警,其中聲光報警由LED燈和蜂鳴器構(gòu)成,在報警被觸發(fā)時,LED燈會閃爍,蜂鳴器就會發(fā)出警報聲;這樣,就可以在一定程度上提醒周圍的人,使他們對周圍的環(huán)境產(chǎn)生警覺,并能迅速疏散,減少因安全事故而造成的傷害。在遠(yuǎn)程報警時,利用ESP8266無線通信模塊,由MCU接收到異常數(shù)據(jù),啟動報警方式,從而達(dá)到與STM32F103C8T6單片機(jī)的雙向通信。當(dāng)報警模式被啟動后,單片機(jī)機(jī)與ESP8266模塊進(jìn)行無線通訊,單片機(jī)將采集到的數(shù)據(jù)以WIFI通訊方式傳送至管理員,管理員可在手機(jī)應(yīng)用程序中即時收到該信息;提示管理人員在發(fā)生事故的時候,能夠做出正確的反應(yīng),減少實驗室的損失。(四)繼電器模塊在自動化控制電路中,一般采用的是一種電氣開關(guān),繼電器實質(zhì)就是利用較低的電流來對較高的電流進(jìn)行操作的“自動開關(guān)”。它在遙控、通信、自動控制以及電力電子設(shè)備中得到了大量的應(yīng)用,屬于最主要的控制元件,在電路中發(fā)揮著自動調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等功能。繼電器連接著負(fù)載,傳感器收集到的數(shù)據(jù)超過閾值,觸發(fā)了報警模式之后,繼電器導(dǎo)通使系統(tǒng)采取滅火的措施。2.3安防系統(tǒng)算法發(fā)生災(zāi)情的時間和地點都是人們難以預(yù)測的,環(huán)境可燃物種不確定,火災(zāi)的發(fā)生具有隨機(jī)性,因此,為了盡快檢測到火災(zāi)發(fā)生,提高檢測靈敏度,算法起到很重要的作用,考慮到火災(zāi)的發(fā)生情況使用直觀算法。依據(jù)比較原理,該方法可將直觀算法分成兩類:一類是固定門限檢測方法,另一類是變化率檢測方法。第一個辦法就是對比傳感器所監(jiān)測的數(shù)據(jù)與設(shè)置的門限,當(dāng)門限超出時,就會判斷是否有火情發(fā)生。將監(jiān)測到的信號為x(t),比較信號設(shè)為y(t),轉(zhuǎn)換函數(shù)為T(),則該方法可以這樣表示: y(t)=T[x(t)] (公式2-1) D[y(t)]=1,y(t)>s0,y(t)<s (公式2在公式(2-2)中,當(dāng)D[y(t)]為1時,發(fā)生火災(zāi),為0時不發(fā)生火災(zāi),s為設(shè)定的閾值。第二種方法與第一種方法相差不大,只是采集信號由某個定值變成了一段時間內(nèi)的信號,轉(zhuǎn)換的信號也變成了某信號一段時間的變化速率。時間差用?t表示,y(t)表示信號變化斜率。公式如下。 y(t)=?x(t)?t=x(t2)?x(t1)t2?t1,t2>t1 y(t)=dx(t)dt,D[y(t)]=1,y(t)>s0,y(t)<s 在公式(2-4)中,當(dāng)D[y(t)]為1時,發(fā)生火災(zāi),為0時不發(fā)生火災(zāi),s為設(shè)定的閾值。本設(shè)計中煙霧濃度使用第一種方法,溫度使用第二種方法,有效提高了采集效率。2.4本章小結(jié)在這一章中,首先對安防系統(tǒng)的整體需求進(jìn)行了分析,然后對安防系統(tǒng)的整體方案進(jìn)行了設(shè)計,并按照整體的要求,選擇了STM32系列芯片作為系統(tǒng)的主控制芯片,并對各模塊的器件進(jìn)行了選擇;在此基礎(chǔ)上,本文還給出了實現(xiàn)實驗室智能安防的一些算法。第3章系統(tǒng)的硬件設(shè)計3.1安防系統(tǒng)硬件電路設(shè)計安防系統(tǒng)的核心是用STM32F103C8T6芯片來進(jìn)行控制的,要對STM32F103C8T6最小系統(tǒng)進(jìn)行設(shè)計,其中包含了晶振,上電復(fù)位等,并對溫度檢測、煙霧濃度檢測、火焰檢測等模塊進(jìn)行了設(shè)計。3.1.1STM32F103C8T6最小系統(tǒng)設(shè)計STM32F103C8T6芯片可以在-40℃~105℃溫度范圍內(nèi)工作,電源電壓是2伏至3.6伏,操作頻率是72兆赫。擁有大量的輸入輸出端口,晶振連接兩個電容另一端接地,負(fù)載電容值等于并聯(lián)電容值,復(fù)位電路將系統(tǒng)恢復(fù)到起始狀態(tài),電容在上電的同時進(jìn)行充電,當(dāng)電阻有了高電壓后,單片機(jī)就可以進(jìn)行復(fù)位,當(dāng)電容完全充滿電后,單片機(jī)就可以進(jìn)行工作,然后再按下復(fù)位開關(guān),單片機(jī)就可以進(jìn)行復(fù)位。圖3.1中顯示了單片機(jī)的最小電路。圖3.1單片機(jī)最小系統(tǒng)電路電壓轉(zhuǎn)換電路:利用AMS117-3.3芯片對單片機(jī)電壓進(jìn)行降壓,把5V的電壓轉(zhuǎn)化成3.3V的電壓。此外,在該芯片上還內(nèi)置限制電流保護(hù)功能,能夠更好地對單片機(jī)進(jìn)行保護(hù)。電路圖如圖3.2所示。圖3.2AMS117-3.3降壓電路3.1.2溫度模塊電路設(shè)計在溫度電路的測試中,采用了DS18B20溫度傳感器,它具有結(jié)構(gòu)緊湊、抗干擾性好、測量精度高等優(yōu)點。無需其它附屬部件即可投入使用,采集的數(shù)據(jù)掉電不丟失。工作電壓3~5.5V,它可以在-55攝氏度到+125攝氏度之間進(jìn)行測試,可以設(shè)定9-12位的編程分辨率,將溫度變換成12位數(shù)字格式最長可以達(dá)到750ms。電路原理圖如圖3.3所示。圖3.3DS18B20電路原理圖3.1.3煙霧檢測模塊電路設(shè)計煙霧檢測模塊主要使用能夠直接連接單片機(jī)的MQ-2煙霧傳感器,以SiO2為主體材質(zhì)。當(dāng)煙塵含量增加時,煙霧傳感器的導(dǎo)電能力會增加,而其電阻會減小。MQ-2傳感器利用導(dǎo)電率的改變來獲取煙氣濃度的變化值。MQ-2技術(shù)指標(biāo)為:回路電壓Vc≤24VDC;加熱功耗P?≤950mW,加熱電壓V?=5V,電流為150mA,濃度在300-10000ppm的范圍內(nèi),可以被檢測到。具備圖3.4MQ-2模塊電路圖3.1.4火焰檢測模塊電路設(shè)計火焰是火災(zāi)發(fā)生的最主要特征,在火焰探測模塊中,使用了HY-A1型高靈敏火焰探測器,它能對760-1100nm的波長進(jìn)行探測,并能對60度的探測角進(jìn)行探測。在周圍的火焰沒有達(dá)到設(shè)定的閾值時,D0端輸出一個高電平,在傳感器探測到火焰超出閾值時,D0端由高電平變?yōu)榈碗娖?。圖3.5中顯示了火焰?zhèn)鞲衅麟娐穲D。圖3.5火焰電路電路圖3.1.5WIFI通信模塊電路設(shè)計在WIFI通訊模塊的設(shè)計中,選用了安信可公司開發(fā)的ESP8266芯片,它具有高度的集成度,能夠在一塊限定的PCB板上集成板載天線和電源管理轉(zhuǎn)換器,其核心是一個32位微處理器;主要頻率可為80兆赫或160兆赫,具有功耗低的特點。該芯片可以直接通過串口和主控制器之間進(jìn)行通信。使用ESP8266模塊為本文所研究的實驗室智能安防系統(tǒng)提供了聯(lián)網(wǎng)的功能,提高了數(shù)據(jù)的傳輸速度,打破了傳統(tǒng)安防系統(tǒng)受限于有限距離的弊端,實現(xiàn)了數(shù)據(jù)實時傳輸,方便了管理人員通過手機(jī)就可以直接查看實驗室的環(huán)境數(shù)據(jù)。ESP8266具有STA,AP,STA+AP三種工作方式。在表3.1中列出了工作模式的含義。表3.1ESP8266工作模式模式說明STAESP8266通過連接互聯(lián)網(wǎng),手機(jī)或者電腦通過互聯(lián)網(wǎng)遠(yuǎn)程實現(xiàn)對設(shè)備的控制。APESP8266作為熱點,實現(xiàn)手機(jī)或電腦與模塊直接通信,實現(xiàn)局域網(wǎng)的無線控制。STA+AP兩種模式的共存模式,通過互聯(lián)網(wǎng)可以進(jìn)行無縫切換。本系統(tǒng)使用AP模式,模塊電路圖如圖3.6所示。圖3.6ESP8266模塊電路圖3.1.6定位模塊電路設(shè)計定位模塊使用中科微ATGM332D作為本系統(tǒng)的定位模塊,它的優(yōu)點是高靈敏度和高準(zhǔn)確度。ATGM332D具有32位追蹤信道,能同步接受中國北斗和美國GPS等導(dǎo)航設(shè)備的GNSS信號,能實現(xiàn)定位、導(dǎo)航和時間同步。模塊第一次定位時間是32s,定位精度為2.5米,ATGM332D的冷啟動捕獲靈敏度為-148dBm,熱啟動捕獲靈敏度為-156dBm,追蹤定位(測速定位)的靈敏度為-162dBm。在圖3.7中顯示了該模塊電路。圖3.7GPS接口電路圖3.1.7顯示模塊電路設(shè)計安防系統(tǒng)采用TFT顯示模塊進(jìn)行數(shù)據(jù)顯示。TFT(ThinFilmTransistor)是一種有源矩陣LCD,也就是薄膜場效應(yīng)管,刷新速度快,可以提供更加清晰的顯示效果,具有對比度高,色彩豐富的特點。電路圖如圖3.8所示。圖3.8TFT顯示電路圖3.1.8報警模塊電路設(shè)計本系統(tǒng)報警模塊使用LED和蜂鳴器來進(jìn)行報警,蜂鳴器電路圖見圖3.9,LED燈電路圖見圖3.10。圖3.9蜂鳴器電路圖圖3.10LED電路圖3.1.9繼電器模塊電路設(shè)計繼電器是在輸入量到達(dá)預(yù)先確定的數(shù)值時,引起被控制量發(fā)生階躍變化的一種電氣控制器件,是一種用小電流控制大電流的“自動開關(guān)”。裝置采用三極管作為繼電器的驅(qū)動裝置,在警報被觸發(fā)的時候,由MCU輸出一個高電平導(dǎo)通,這時,繼電器電源被接通,LED燈會發(fā)光。電路圖如圖3.11所示。圖3.11繼電器電路圖3.1.10按鍵電路設(shè)計本系統(tǒng)也可以通過按鍵進(jìn)行閾值調(diào)整和報警以及繼電器的控制。按鍵的控制管腳默認(rèn)為高電平,按鈕被按下時,相應(yīng)管腳變?yōu)榈碗娖健T龠M(jìn)一步,可以完成對系統(tǒng)的人工輸入,從而發(fā)揮出與用戶進(jìn)行互動的功能。電路圖如圖3.12所示。圖3.12按鍵電路圖3.1.11負(fù)載電路設(shè)計本系統(tǒng)通過繼電器連接負(fù)載,實現(xiàn)報警之后采取的措施。由于負(fù)載需要外部供電,直接連接負(fù)載接線困難,所以設(shè)計負(fù)載轉(zhuǎn)接電路。電源為5VDC或12VDC為負(fù)載供電,配一個LED燈顯示負(fù)載電路的通斷情況。其電路圖如圖3.13所示。圖3.13繼電器負(fù)載電路圖3.2安防系統(tǒng)電路圖和PCB圖使用AD(AltiumDesigner)軟件進(jìn)行電路圖的設(shè)計以及PCB板的設(shè)計,電路圖和PCB圖放在了附錄處。第4章系統(tǒng)軟件設(shè)計4.1Keil平臺介紹KeilC51是KeilSoftware公司為ARM系列的單片機(jī)提供了MDK開發(fā)工具。在使用keil平臺進(jìn)行開發(fā)的時候,應(yīng)該對開發(fā)環(huán)境進(jìn)行配置,并添加啟動程序。在Keil平臺上,可以進(jìn)行STM32編程,測試,以及其他一些功能。4.2系統(tǒng)總體流程圖軟件部分主要實現(xiàn)了數(shù)據(jù)與主控制器的信息交換,采用C語言作為程序設(shè)計的編程語言,采用keil5作為編譯軟件。該系統(tǒng)包括:主控制模塊,溫度檢測模塊,煙霧濃度檢測模塊,火焰檢測模塊,定位模塊,WIFI無線通訊模塊。在電源被打開的時候,首先要對所有的模塊進(jìn)行初始化,然后將這些模塊的信息全部接收到顯示屏上,再用無線通信來進(jìn)行數(shù)據(jù)的傳送,對這些數(shù)據(jù)進(jìn)行判斷,如果這些數(shù)據(jù)沒有超出臨界值,那么就不會出現(xiàn)警報,如果已經(jīng)超出了臨界值,則會打開聲光報警,并且還會啟動水泵的噴灑。軟件設(shè)計整體流程圖如圖4.1所示。圖4.1軟件設(shè)計流程圖4.3溫度檢測模塊DS18B20是單總線通信方式,首先進(jìn)行初始化,設(shè)置閾值?T,之后單片機(jī)詢問是否同意檢測信號,通過之后采集熱敏電阻電壓根據(jù)相應(yīng)公式轉(zhuǎn)換為溫度值T1和T2進(jìn)行差運算與?T比較,當(dāng)數(shù)值大于?T時以高電平的方式發(fā)出報警。圖4.2中示出了溫度的探測基本代碼,圖4.3中示出了圖4.2溫度檢測主要代碼圖4.3溫度檢測流程圖4.4煙霧濃度檢測模塊在進(jìn)行煙霧信號的收集的時候,系統(tǒng)要對煙霧傳感器進(jìn)行初始化,并將系統(tǒng)所采集到的煙氣濃度信號U1與設(shè)定值U0在單片機(jī)中進(jìn)行對比,當(dāng)煙氣的濃度超出了設(shè)定值U0的時候,就會發(fā)出警報,否則就會持續(xù)對煙氣進(jìn)行采集。在圖4.4中顯示了檢測流程。圖4.4煙霧檢測流程圖4.5火焰檢測模塊當(dāng)使用系統(tǒng)時火焰檢測模塊首先進(jìn)行初始化,之后單片機(jī)進(jìn)行掃描,如果有火焰產(chǎn)生進(jìn)行聲光報警。檢測流程如圖4.5所示。圖4.5火焰檢測流程圖4.6WIFI通信模塊ESP8266使用TCP/IP協(xié)議進(jìn)行通信傳輸,將收集到的傳感器數(shù)據(jù)傳輸給用戶。主要程序如圖4.6所示,工作流程圖如圖4.7所示。圖4.6ESP8266主要代碼圖4.7WIFI通信工作流程圖第5章安防系統(tǒng)的驗證和結(jié)果分析5.1系統(tǒng)功能驗證前面已經(jīng)對各部分的硬件和軟件設(shè)計進(jìn)行了介紹,在這一章中,主要對火焰檢測,顯示模塊,定位模塊,通信報警模塊,進(jìn)行驗證分析。5.1.1火焰檢測火焰檢測實現(xiàn)的主要功能包括:通過溫度,煙霧濃度,火焰?zhèn)鞲衅魅N檢測模式,對實驗室的環(huán)境數(shù)據(jù)進(jìn)行同步檢測,進(jìn)而對是否有火災(zāi)進(jìn)行了判定。(一)溫度檢測系統(tǒng)在檢測溫度的過程中遇到初始化失敗的問題,DS18B20單總線對時序的要求極嚴(yán)格,應(yīng)該按照時序來編寫程序。按照時序編寫之后重新啟動解決了這一問題。根據(jù)查閱的資料可以知道,在房間里的溫度達(dá)到68攝氏度的時候,就會達(dá)到火災(zāi)報警的溫度,因為在當(dāng)前的試驗環(huán)境中,68攝氏度是很困難的,所以要對溫度報警的檢測功能進(jìn)行驗證,就把它的溫度值設(shè)定為30℃進(jìn)行測試。通過傳感器檢測出溫度以及數(shù)據(jù)超過閾值之后進(jìn)行報警的功能,同時觸發(fā)繼電器開關(guān)。如圖5.1所示,可以證明本設(shè)計溫度檢測模塊實現(xiàn)了檢測溫度的功能,解決了實驗室中因設(shè)備工作不正常甚至損壞,以及因操作不當(dāng)導(dǎo)致溫度突然升高的情況,盡快報警并采取相應(yīng)的措施。圖5.1溫度檢測(二)煙霧濃度檢測當(dāng)室內(nèi)發(fā)生火災(zāi)時,會釋放一氧化碳,甲烷等有害氣體,當(dāng)煙霧濃度達(dá)到600ppm的時候會引起窒息。通過使用MQ-2煙霧傳感器進(jìn)行檢測,當(dāng)超出閾值時可以發(fā)出報警,繼電器開關(guān)打開,并采取相應(yīng)的措施。如圖5.2所示??梢宰C明本設(shè)計煙霧檢測模塊實現(xiàn)了檢測煙霧的功能,能夠?qū)崟r監(jiān)測實驗室煙霧情況,并及時進(jìn)行報警,減輕了因災(zāi)情處理延遲帶來的損失。圖5.2煙霧檢測(三)火焰檢測系統(tǒng)在檢測火焰的過程中遇到無法檢測火焰的問題,由于位置不當(dāng),環(huán)境光線過強(qiáng)導(dǎo)致,可以通過重新擺放位置,避免強(qiáng)光干擾解決問題。系統(tǒng)使用火焰?zhèn)鞲衅鬟M(jìn)行檢測,當(dāng)有火焰靠近時,系統(tǒng)發(fā)出警報,進(jìn)行聲光報警,并打開繼電器開關(guān)。如圖5.3所示,可以證明本設(shè)計實現(xiàn)了火焰檢測功能,可以及早發(fā)現(xiàn)實驗室的火災(zāi)隱患,在火災(zāi)發(fā)生初期及時發(fā)出報警信號進(jìn)行報警,使管理人員及時采取相應(yīng)的措施。圖5.3火焰檢測5.1.2顯示模塊驗證本設(shè)計使用2.4寸TFT顯示屏進(jìn)行顯示,在驗證的過程中出現(xiàn)過全黑屏現(xiàn)象,首先檢查顯示屏引腳是否與單片機(jī)正確連接,檢查單片機(jī)是否上電,通過檢查得知顯示屏引腳與單片機(jī)連接接觸不良,將顯示屏重新安裝好解決了這一問題。系統(tǒng)將主控制器采集到的信息實時顯示在顯示屏上。如圖5.4所示??梢宰C明本設(shè)計實現(xiàn)了顯示功能。圖5.4TFT顯示5.1.3定位模塊驗證系統(tǒng)通過ATGM332D定位模塊來對發(fā)生災(zāi)情的區(qū)域進(jìn)行定位,在對系統(tǒng)定位模塊進(jìn)行驗證的過程中出現(xiàn)過在室內(nèi)個別位置接收不到位置信息的現(xiàn)象,對此,可能有一些物體將接收天線遮擋,影響信號接收,可以將定位模塊天線安裝到空曠的地方,解決了這一問題。定位模塊驗證結(jié)果如圖5.5所示,可以證明本設(shè)計實現(xiàn)了定位功能,可以實時顯示位置信息,當(dāng)系統(tǒng)檢測到實驗室中環(huán)境數(shù)據(jù)異常發(fā)出報警時,管理人員可以通過定位模塊在災(zāi)情發(fā)生的第一時間確定災(zāi)情發(fā)生的地理位置,從而更快的采取相應(yīng)的措施,減小實驗室因災(zāi)情造成的損失。圖5.5定位模塊5.1.4通信報警模塊驗證系統(tǒng)實現(xiàn)通信報警的功能為:系統(tǒng)可以通過WIFI模塊和管理員進(jìn)行無線通信,實時顯示收集的數(shù)據(jù),當(dāng)傳感器監(jiān)測到數(shù)據(jù)發(fā)生異常報警時,管理員也可以通過無線通信在APP中馬上得知報警情況,并能夠做出相應(yīng)處理。結(jié)果如下圖所示。可以證明本設(shè)計實現(xiàn)了通信報警功能。系統(tǒng)使用WIFI進(jìn)行和管理員進(jìn)行通信,解決了傳統(tǒng)安防系統(tǒng)信息傳遞不及時,有線連接距離大的弊端,以及布線布局繁雜的缺點,同時WIFI可以提供實時的傳輸速率和穩(wěn)定性,大幅提高了實時監(jiān)控質(zhì)量。圖5.6溫度過高時報警圖5.7煙霧濃度過高報警圖5.8有火焰時報警5.2結(jié)果分析通過對系統(tǒng)主要功能進(jìn)行實物驗證,通過驗證可知,系統(tǒng)可以進(jìn)行火焰檢測、定位、顯示以及通信報警,并能夠在做出報警之后打開繼電器采取相應(yīng)的措施。系統(tǒng)可以正常運行,符合要求使系統(tǒng)通過驗證。5.3本章小結(jié)本章中,對安防系統(tǒng)進(jìn)行測試,對結(jié)果進(jìn)行了詳細(xì)的描述。在對系統(tǒng)展開驗證的過程中可以了解到,本系統(tǒng)可以正常地對實驗室的環(huán)境進(jìn)行實時監(jiān)測,一旦有危險發(fā)生立刻觸發(fā)報警,并及時采取相應(yīng)的措施,達(dá)到對危險情況及時預(yù)防的效果。第6章總結(jié)本論文以STM32為核心,結(jié)合嵌入式技術(shù),設(shè)計出基于STM32的實驗室智能安防系統(tǒng),完成了該系統(tǒng)在實驗室中的環(huán)境監(jiān)測和安防報警功能,以下是該設(shè)計研究內(nèi)容的主要概述:系統(tǒng)可以對實驗室內(nèi)的環(huán)境進(jìn)行監(jiān)測,在屏幕上實現(xiàn)了對各種數(shù)據(jù)的實時顯示,STM32微處理器將傳感器采集到的數(shù)據(jù),并與設(shè)置的閾值相對比;在探測到的數(shù)據(jù)超出閾值時發(fā)出聲光警報,同時打開繼電器,及時采取滅火措施,并將數(shù)據(jù)可以傳遞給管理員,通過ESP8266模塊,管理人員通過手機(jī)APP對實驗室的實際環(huán)境進(jìn)行監(jiān)測,從而更好的體現(xiàn)出了其智能性。與傳統(tǒng)的安防系統(tǒng)進(jìn)行比較,本設(shè)計更加便捷智能,實用性更強(qiáng),可以實時收集實驗室的環(huán)境情況,在發(fā)生災(zāi)情時及時報警并采取相應(yīng)措施,實現(xiàn)管理人員與單片機(jī)之間的信息傳輸,增強(qiáng)了人機(jī)交互性。本設(shè)計體積小,成本低,功耗低,安裝簡單,將系統(tǒng)各個模塊集成到一個電路板上,解決了傳統(tǒng)安防系統(tǒng)成本高,布線復(fù)雜,傳輸效率低等問題,提高了設(shè)計的實用性和便捷性。由于時間和條件限制,仍然有許多不足之處,在今后的設(shè)計中不斷進(jìn)行改進(jìn)和完善,豐富安防系統(tǒng)的功能性。參考文獻(xiàn)[1]張宇.智能建筑安防中的物聯(lián)網(wǎng)技術(shù)應(yīng)用研究[J].互聯(lián)網(wǎng)周刊,2023(03):63-65.[2]李尚.數(shù)字時代基于智慧化的校園周界安防系統(tǒng)建設(shè)淺析[J].數(shù)字通信世界,2022(09):74-76.[3]馬艷梅.基于智能傳感器的消防監(jiān)測系統(tǒng)研究與實現(xiàn)[J].太原學(xué)院學(xué)報(自然科學(xué)版),2022,40(03):31-37.[4]陳印超,葉名煬,陳嘉豪,王琪霖.智慧實驗室安防系統(tǒng)研究設(shè)計[J].電子制作,2022,30(17):44-46+40.[5]李悅.基于物聯(lián)網(wǎng)技術(shù)的智能家居安防系統(tǒng)設(shè)計研究[J].電子制作,2022,30(14):89-91.[6]何云飛,王利松,陳黃立.基于無線傳感器網(wǎng)絡(luò)的智能家居安防系統(tǒng)設(shè)計[J].無線互聯(lián)科技,2022,19(09):89-91.[7]韓峰.淺析大型活動安保工作中的安防應(yīng)用與發(fā)展[J].中國安防,2022(04):88-91.[8]王亞林,陳楠.一種物體定位檢測實驗電路設(shè)計[J].電子技術(shù)與軟件工程,2022(06):124-127.[9]藍(lán)麗金,陳良偉.基于物聯(lián)網(wǎng)的智能家居安防系統(tǒng)設(shè)計[J].數(shù)字技術(shù)與應(yīng)用,2022,40(01):177-179.[10]劉海濤,陳軍,呂剛,叢曉燕,韓岳.高校物理實驗室的安全管理[J].內(nèi)蒙古科技與經(jīng)濟(jì),2022(01):42-43.[11]趙琳.基于單片機(jī)的火警報警器設(shè)計[J].產(chǎn)業(yè)與科技論壇,2022,21(01):32-33.[12]占華林,陳亮亮,張配陽,諸麗芳,于子正.基于STM32單片機(jī)的倉庫溫度監(jiān)測系統(tǒng)設(shè)計與控制[J].科技創(chuàng)新與應(yīng)用,2021,11(29):39-41.[13]阮承治,李琦,曾東梅,楊君,李青,吳函汀.智能化煙霧報警控制系統(tǒng)的設(shè)計與實現(xiàn)[J].黑龍江工業(yè)學(xué)院學(xué)報(綜合版),2021,21(09):48-53.[14]王昊冉.淺談智能安防技術(shù)在大型活動安保工作中的應(yīng)用[J].安徽警官職業(yè)學(xué)院學(xué)報,2021,20(05):71-74.[15]廖銀霜.基于物聯(lián)網(wǎng)的火災(zāi)探測報警系統(tǒng)的研究[D].貴州大學(xué),2021.[16]徐巧年,朱國旺.基于物聯(lián)網(wǎng)的校園實驗室安防預(yù)警系統(tǒng)[J].集成電路應(yīng)用,2020,37(10):38-39.[17]李萌,安娜,王磊.基于物聯(lián)網(wǎng)智能家居安防系統(tǒng)的設(shè)計與實現(xiàn)[J].數(shù)碼世界,2020(10):45-46.[18]劉恩元.淺析平安城市建設(shè)與中國安防技術(shù)創(chuàng)新[J].中國公共安全,2020(Z1):133-135.[19]徐雷,崔子晨,劉俊俊,王浩然,李文娟.基于DS18B20溫度監(jiān)測報警系統(tǒng)的設(shè)計與實現(xiàn)[J].安慶師范大學(xué)學(xué)報(自然科學(xué)版),2020,26(01):89-92.[20]錢伶琳.獨立式火災(zāi)探測報警器發(fā)展展望[J].日用電器,2020(01):47-49.[21]付文剛,高霞娥.吸氣式感煙火災(zāi)探測器在地鐵車站中的應(yīng)用[J].中國新技術(shù)新產(chǎn)品,2019(24):145-146.[22]王毅敏.高校實驗室管理中智能管理系統(tǒng)的實踐分析[J].信息系統(tǒng)工程,2019(12):160+163.[23]蔣青山,李亮亮,李運澤,康煌杰.室內(nèi)智能安防報警系統(tǒng)[J].山西電子技術(shù),2019(05):25-28.[24]吳曉尉.智能安防技術(shù)在大型活動安保工作中的應(yīng)用[J].武警學(xué)院學(xué)報,2019,35(05):28-32.[25]李麗萍.物聯(lián)網(wǎng)技術(shù)在智能家居安防系統(tǒng)中的應(yīng)用研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2018(12):120-121.[26]譚淑梅.基于單片機(jī)的煙霧報警系統(tǒng)的設(shè)計與實現(xiàn)[J].大慶師范學(xué)院學(xué)報,2018,38(06):40-41.[27]林魯春,邵根富,姜周曙,黃國輝.智慧實驗室系統(tǒng)的研究與構(gòu)建[J].實驗科學(xué)與技術(shù),2020,18(01):151-154.[28]潘曉貝.基于物聯(lián)網(wǎng)的智能家居家庭安防系統(tǒng)設(shè)計與實現(xiàn)[J].三門峽職業(yè)技術(shù)學(xué)院學(xué)報,2018,17(03):127-132.[29]許錳.基于云平臺的家庭安防系統(tǒng)研究與設(shè)計[D].山東大學(xué),2018.[30]周海軍,黃雨,鄧偉強(qiáng),李磊.基于STM32的家庭智能防盜報警系統(tǒng)設(shè)計[J].赤峰學(xué)院學(xué)報(自然科學(xué)版),2018,34(03):42-44.[31]陳東陽.基于圖像分析的火災(zāi)報警系統(tǒng)研究[D].哈爾濱工業(yè)大學(xué),2018.[32]朱慧君.智能安防系統(tǒng)之無線火災(zāi)遠(yuǎn)程報警器的設(shè)計[D].哈爾濱理工大學(xué),2018.[33]趙璐.安防的發(fā)展現(xiàn)狀與博物館安防應(yīng)用[J].中國高新區(qū),2018(04):215+217.[34]馬標(biāo).基于WiFi的智能家居安防系統(tǒng)的設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2018,8(01):74-75.[35]關(guān)雯馨,王新蕊.智能家居安防GPRS無線遠(yuǎn)程監(jiān)測報警系統(tǒng)設(shè)計[J].電子世界,2018(01):121-122.[36]錢曉鵬,朱浩然.實驗室環(huán)境溫濕度監(jiān)測系統(tǒng)[J].科技創(chuàng)新導(dǎo)報,2017,14(15):151+153.[37]陳宇瑞,李明,付帥.基于GSM的智能家居安防系統(tǒng)設(shè)計[J].電子制作,2017(07):38-39+50.[38]楊華博,趙靜雅,徐江紅.煙霧溫度火災(zāi)報警器的設(shè)計[J].電腦知識與技術(shù),2016,12(34):272-273.[39]姚雪,陸寧,馬曉明.基于GPRS的無線安防系統(tǒng)的設(shè)計與實現(xiàn)[J].電子科技,2016,29(05):142-144.[40]KoggalageR,WelihindaM,NuwanH.GSMbasedsmartfireandhigh-temperaturedetectionsystem[J].ITEGAM-JETIA,2021,7(28):56-61.[41]ZhangB,ZuoJ,MaoW.SmartWAZ:DesignandimplementationofasmartWiFiaccesssystemassistedbyZigbee[J].IEEEAccess,2019,7:31002-31009.[42]WaleedJ,AbduldaimAM,HasanTM,etal.Smarthomeasanewtrend,asimplicityledtorevolution[C]//20181stInternationalScientificConferenceofEngineeringSciences-3rdScientificConferenceofEngineeringScience(ISCES).IEEE,2018:30-33.[43]PingguiH,XiuqingC.DesignandimplementationofcampussecuritysystembasedonInternetofThings[C]//2017InternationalConferenceonRobots&IntelligentSystem(ICRIS).IEEE,2017:86-89.[44]MauryaS,SharmaS,YadavP.InternetofthingsbasedairpollutionpenetratingsystemusingGSMandGPRS[C]//2018InternationalConferenceonAdvancedComputationandTelecommunication(ICACAT).IEEE,2018:1-5.附錄附錄A安防系統(tǒng)電路原理圖安防系統(tǒng)的電路原理圖如下。圖A.1安防系統(tǒng)電路原理圖附錄B安防系統(tǒng)PCB圖安防系統(tǒng)PCB如下圖所示。圖B.1安防系統(tǒng)PCB圖圖B.2安防系統(tǒng)PCB圖附錄C安防系統(tǒng)實物圖安防系統(tǒng)實物圖如下。圖C.1安防系統(tǒng)實物圖附錄D主要程序#include"my_include.h"#defineMAX_SET_SIZE3u16setParaTab[MAX_SET_SIZE]={0,50,32};u8setParaCount=0;u8setMode=0;u8updataDis=1;//需要更新顯示標(biāo)志u8buzzerFlag=0;//蜂鳴器報警狀態(tài)chardis0[50];//液晶顯示暫存數(shù)組chardis1[128];//液晶顯示暫存數(shù)組#defineF_SIZE16#defineMyLCD_Show(m,n,p)LCD_ShowString(LCD_GetPos_X(F_SIZE,m),LCD_GetPos_Y(24,n),p,F_SIZE,false)#defineALLPARA_START_Y3//液晶設(shè)置參考位置u16nowYq=0;//煙霧值floatnowTemp=0;u8disFlag=0;//更新顯示u8rememberTiemSe=0xff;//記錄當(dāng)前秒數(shù)據(jù)u8abnormalFlag=0;//異常顯示標(biāo)志u8gpsDealOkFlag=0;//gps數(shù)據(jù)獲取更新成功標(biāo)志voidOnGetEspMessage(const_esp_msg_obj*espMsgRec){char*strPtr;if((strPtr=strstr(espMsgRec->payload,"RTC"))!=NULL){My_RTC_SetStr(strPtr+3);//設(shè)置時間}if((strPtr=strstr(espMsgRec->payload,"SET_"))!=NULL)//接收到字符串*SET_Y65T25#{setParaTab[1]=ParseInteger(strPtr+5,2);//提取設(shè)置參數(shù)setParaTab[2]=ParseInteger(strPtr+8,2);//提取設(shè)置參數(shù)}if((strPtr=strstr(espMsgRec->payload,"MD"))!=NULL)//接收到字符串{if(*(strPtr+2)=='1')setMode=1;//手動模式elseif(*(strPtr+2)=='0')setMode=0;//自動模式}if(setMode==1)//手動模式下才進(jìn)行控制{if((strPtr=strstr(espMsgRec->payload,"RL"))!=NULL)//接收到字符串{if(*(strPtr+2)=='1')relay=1;//打開elseif(*(strPtr+2)=='0')relay=0;//關(guān)閉}if((strPtr=strstr(espMsgRec->payload,"BZ"))!=NULL)//接收到字符串{if(*(strPtr+2)=='1')buzzerFlag=1;//打開elseif(*(strPtr+2)=='0')buzzerFlag=0;//關(guān)閉}}updataDis=1;//需要更新顯示參數(shù)}voidinitLcdDisplay(void);//初始化液晶顯示voidscanKeyAnddealKey(void);voiddisplayOfCollectedData(void);voidwrite_FlashBuf(void);voidread_FlashBuf(void);voidinit_FlashBuf(void);voidkeySetTime(void);intmain(void){USARTx_Init(USART1,9600);//初始化串口及波特率USARTx_Init(USART2,9600);My_RTC_Init(false);//初始化rtcMy_ADC_Init(ADC1);My_KEY_Init();My_LED_Init();//輸出初始化init_FlashBuf();//初始化flash中數(shù)據(jù)if(My_DS18B20_Init(PB6)){printf("18B20exist");}//1602顯示第一行relay=1;buzzer=1;//My_DEVBlink(BEEP_PIN,200,200);//上電硬件動作下delay_ms(200);relay=0;buzzer=0;//My_DEVBlink(BEEP_PIN,0,10);LCD_Init();//tft初始化LCD_Clear(Color16_BLACK);//清全屏BACK_COLOR=Color16_BLACK;FRONT_COLOR=Color16_LIGHTBLUE;keySetTime();//進(jìn)入按鍵設(shè)置時鐘如果是有無線通信的情況下該按鍵設(shè)置可以取消MyLCD_Show(1,1,"WiFiinit..");//顯示MyLCD_Show(1,2,"PleaseWaitting..");//顯示Esp8266_Init_StationAP("AUAISOUT000","");// MyLCD_Show(1,5,"wifiInit..",24);//顯示initLcdDisplay();//上電初始化顯示內(nèi)容while(1){scanKeyAnddealKey();//按鍵掃描及處理if(disFlag==1)//更新顯示{disFlag=0;FRONT_COLOR=Color16_LIGHTBLUE;if(rememberTiemSe!=calendar.second)//時間發(fā)生了變化更新顯示{rememberTiemSe=calendar.second;//記錄此刻時間sprintf((char*)dis0,"%04d-%02d-%02d%02d:%02d:%02d%d",calendar.year,calendar.month,calendar.day,calendar.hour,calendar.minute,calendar.second,calendar.week);//年月日周MyLCD_Show(4,1,dis0);//顯示 }nowYq=My_ADC_GetGas(ADC1,ADC_Channel_1,1);//讀取異常煙霧參數(shù)nowTemp=My_DS18B20_GetTemp(PB6);//采集溫度displayOfCollectedData();//顯示采集到的數(shù)據(jù)并進(jìn)行數(shù)據(jù)對比if(setMode==0)//自動模式異常數(shù)據(jù)報警{if(abnormalFlag==1)//有異常報警{buzzerFlag=1;relay=1;}else{buzzerFlag=0;relay=0;}//停止報警}if(buzzerFlag)//蜂鳴器報警處理{My_LEDBlink(PA6,BEEP_ON,5,100,300);}//蜂鳴器報警else{My_LEDBlink_Stop(PA6);}sprintf((char*)dis1,"*D%04d%02d%02d%02d%02d%02d",calendar.year,calendar.month,calendar.day,calendar.hour,calendar.minute,calendar.second);//年月日周sprintf(dis1,"T%03dY%03d",(int)nowTemp*10,nowYq);sprintf(dis1,"%st%03dy%03d",KeyIsPressed(KEY_Huoyan)?"F1":"F0",setParaTab[2],setParaTab[1]);if(gpsDealOkFlag==1){sprintf(dis1,"N%09lu",(long)gps_info.location.latitude);sprintf(dis1,"E%09lu",(long)gps_info.location.longitude);}else{sprintf(dis1,"%s","NlinkElink");}sprintf(dis1,"%s%sM%d#",(relay==0)?"R0":"R1",(buzzerFlag==1)?"B1":"B0",(int)setMode);My_ESP8266_SendStrToAll(dis1);//發(fā)送數(shù)據(jù)}My_ESP8266_Process();//處理串口數(shù)據(jù)}}voidscanKeyAnddealKey(void){u8i;u8disYplace=0;//顯示所在行遞增變量My_KeyScan();if(KeyIsPress(KEY_4)){if(setMode!=0)setMode=0;//自動模式elsesetMode=1;//手動模式}switch(setMode){case0://自動模式if(KeyIsPress(KEY_1)){setParaCount++;//切換設(shè)置當(dāng)前參數(shù)if(setParaCount>=MAX_SET_SIZE){setParaCount=0;//設(shè)置當(dāng)前參數(shù)write_FlashBuf();//將設(shè)置量寫入flash}}if(KeyIsPress(KEY_2)){if(setParaTab[setParaCount]<100)setParaTab[setParaCount]++;}if(KeyIsPress(KEY_3)){if(setParaTab[setParaCount]>0)setParaTab[setParaCount]--;}break;case1://手動模式if(KeyIsPress(KEY_3)){buzzerFlag=!buzzerFlag;}//手動切換狀態(tài)if(KeyIsPress(KEY_2)){relay=!relay;}//手動切換狀態(tài)setParaCount=0;//取消設(shè)置default:break;}if(HasKeyEvent()||updataDis==1)//有任何按鍵按下或者需要數(shù)據(jù)更新否則更新過于頻繁浪費時間{if(updataDis==1)write_FlashBuf();//將設(shè)置量寫入flash可能串口數(shù)據(jù)有更新updataDis=0;//需要數(shù)據(jù)更新處理disYplace=ALLPARA_START_Y;FRONT_COLOR=Color16_LIGHTGRAY;for(i=1;i<MAX_SET_SIZE;i++)//顯示設(shè)置位置及設(shè)置參數(shù)設(shè)置數(shù)組第一個數(shù)據(jù)為空白非設(shè)置參數(shù)所以從1開始{sprintf(dis0,"%d",setParaTab[i]);MyLCD_Show(20,disYplace,dis0);//顯示if(i==setParaCount){MyLCD_Show(19,disYplace++,">");}//對所在設(shè)置位置顯示>//**Allnotescanbedeletedandmodified**//}}}voidinitLcdDisplay(void)//初始化液晶顯示{u8disYplace=0;//顯示所在行遞增變量LCD_Clear(Color16_BLACK);//清全屏BACK_COLOR=Color16_BLACK;FRONT_COLOR=Color16_LIGHTBLUE;//MyLCD_Show(3,0,"智能安防系統(tǒng)",24,0);//顯示LCD_ShowString(LCD_GetPos_X(24,3),LCD_GetPos_Y(24,0),"智能安防系統(tǒng)",24,false);FRONT_COLOR=Color16_LIGHTBLUE;MyLCD_Show(4,2,"參數(shù)閾值");//顯示 FRONT_COLOR=Color16_LIGHTGRAY;disYplace=ALLPARA_START_Y;//開始依次顯示MyLCD_Show(1,disYplace++,"煙氣:");//顯示MyLCD_Show(1,disYplace++,"溫度:");//顯示MyLCD_Show(1,disYplace++,"火焰:");//顯示MyLCD_Show(1,disYplace++,"繼電器狀態(tài):");//顯示MyLCD_Show(1,disYplace++,"報警狀態(tài):");//顯示MyLCD_Show(1,disYplace++,"模式:");//顯示MyLCD_Show(1,disYplace++,"火災(zāi)分析:");//顯示MyLCD_Show(1,disYplace++,"所在緯度:");//顯示MyLCD_Show(1,disYplace++,"所在經(jīng)度:");//顯示}voiddisplayOfCollectedData(void)//在disFlag中處理{staticu8remRelayFlag=0xff;//記錄上一次繼電器staticu8remFxFlag=0xff;//記錄上一次分析結(jié)果staticu8rembuzFlag=0xff;//記錄上一次蜂鳴器staticu8rememberMode=0xff;//記錄上一次設(shè)置狀態(tài)staticu8gpsTimeSetRtc=0;//將gps時間設(shè)置給時鐘變量staticu8fenXiFlag=0;//用于統(tǒng)計異常情況u8abnormalCount=0;//用于統(tǒng)計異常情況u8disYplace=0;//顯示所在行遞增變量chardis_NS[17]="LINKING...";//顯示chardis_EW[17]="LINKING...";//顯示disYplace=ALLPARA_START_Y;abnormalCount=0;//檢測異常參數(shù)if(nowYq>setParaTab[1]){FRONT_COLOR=Color16_RED;abnormalCount++;}//切換顯示顏色elseFRONT_COLOR=Color16_LIGHTBLUE;//切換顯示顏色sprintf(dis0,"%2d",nowYq);MyLCD_Show(7,disYplace++,dis0);//顯示if(nowTemp>setParaTab[2]){FRONT_COLOR=Color16_RED;abnormalCount++;}//切換顯示顏色elseFRONT_COLOR=Color16_LIGHTBLUE;//切換顯示顏色sprintf(dis0,"%4.1f'C",nowTemp);MyLCD_Show(7,disYplace++,dis0);//顯示if(KeyIsPressed(KEY_Huoyan)){FRONT_COLOR=Color16_RED;//切換顯示顏色MyLCD_Show(7,disYplace++,"Fire");//顯示abnormalCount++;}else{FRONT_COLOR=Color16_LIGHTBLUE;//切換顯示顏色MyLCD_Show(7,disYplace++,"Normal");//顯示}FRONT_COLOR=Color16_LIGHTBLUE;if(remRelayFlag!=relay)//繼電器狀態(tài)發(fā)生變化{remRelayFlag=relay;if(relay==0)MyLCD_Show(13,disYplace,"關(guān)");//顯示elseMyLCD_Show(13,disYplace,"開");//顯示}disYplace++;if(rembuzFlag!=buzzerFlag)//狀態(tài)發(fā)生變化{rembuzFlag=buzzerFlag;//記錄狀態(tài)if(buzzerFlag==1){MyLCD_Show(13,disYplace,"開");//顯示}else{MyLCD_Show(13,disYplace,"關(guān)");//顯示}}disYplace++;if(rememberMode!=setMode)//設(shè)置模式有變化更新顯示{rememberMode=setMode;//記錄設(shè)置模式if(setMode==0)MyLCD_Show(6,disYplace,"自動");//顯示elseif(setMode==1)MyLCD_Show(6,disYplace,"手動");//顯示}disYplace++;if(abnormalCount!=0)//有異常狀態(tài){abnormalFlag=1;}elseabnormalFlag=0;//所有狀況正常if(remFxFlag!=abnormalFlag){remFxFlag=abnormalFlag;//記錄設(shè)置模式if(abnormalFlag){FRONT_COLOR=Color16_RED;//切換顯示顏色MyLCD_Show(10,disYplace,"有火災(zāi)");//顯示}else{FRONT_COLOR=Color16_LIGHTBLUE;MyLCD_Show(10,disYplace,"正常");//顯示}}disYplace++;gpsTimeSetRtc++;//約800ms處理一次if(gpsTimeSetRtc>=4)//gps數(shù)據(jù)不需要更新那么快//校準(zhǔn)時間標(biāo)志位(隔一段時間校準(zhǔn)){gpsTimeSetRtc=0;//清空標(biāo)志FRONT_COLOR=Color16_LIGHTBLUE;if(gps_info.value==TRUE){//gps_info.value=FALSE;gpsDealOkFlag=1;//gps數(shù)據(jù)更新成功sprintf(dis_NS,"%f",((double)gps_info.location.latitude)/1000000);MyLCD_Show(11,disYplace++,dis_NS);//顯示sprintf(dis_EW,"%f",((double)gps_info.location.longitude)/1000000);MyLCD_Show(11,disYplace++,dis_EW);//顯示//sprintf(dis0,"20%02d-%02d-%02d%02d:%02d:%02d",gps_info.date.year,gps_info.date.month,gps_info.date.day,gps_info.time.hour,gps_info.time.minute,gps_info.time.second);//MyLCD_Show(1,disYplace++,dis0);//顯示My_RTC_Set(2000+gps_info.date.year,gps_info.date.month,gps_info.date.day,gps_info.time.hour,gps_info.time.minute,gps_info.time.second);//設(shè)置實時時鐘時間My_RTC_SetCounter(RTC_GetCounter()+8*60*60);//GPS獲取的是0時區(qū)時間(UTC),+8小時調(diào)整為東八區(qū)(北京)時間}else{gpsDealOkFlag=0;//gps數(shù)據(jù)更新不成功MyLCD_Show(11,disYplace++,dis_NS);//顯示MyLCD_Show(11,disYplace++,dis_EW);//顯示}}}#defineFLASH_SAVE_ADDR0X0800f800voidwrite_FlashBuf(void){My_STMFlash_Write(FLASH_SAVE_ADDR,(u16*)setParaTab,MAX_SET_SIZE);//讀取數(shù)據(jù)}voidread_FlashBuf(void) {My_STMFlash_Read(FLASH_SAVE_ADDR,(u16*)setParaTab,MAX_SET_SIZE);//讀取數(shù)據(jù)}voidinit_FlashBuf(void)//開機(jī)初始化保存數(shù)據(jù){read_FlashBuf();//讀取flash值if(setParaTab[0]!=0xaa)//如果不是重新寫入{setParaTab[0]=0xaa;//修改值setParaTab[1]=25;setParaTab[2]=45;//setParaTab[3]=35;//setParaTab[4]=20;//setParaTab[5]=100;//setParaTab[6]=20;delay_ms(5);write_FlashBuf();//讀取數(shù)據(jù)}}#pragmadiag_suppress188#ifdefLCD_2_4#defineMyLCD_ShowSetTime(m,n,p)LCD_ShowString(LCD_GetPos_X(24,m),LCD_GetPos_Y(24,n),p,24,false) #else#defineMyLCD_ShowSetTime(m,n,p)LCD_ShowString(LCD_GetPos_X(12,m),LCD_GetPos_Y(12,n),p,12,false) #endifvoidkeySetTime(void){u8delay=0;//延時跳出u8setTimeFlag=0;//不進(jìn)行設(shè)置時間u8disPlace=0;u16setYear,setMonth,setDay,setHour,setMin,setSec;u8setFlag=0;u8i=0;MyLCD_ShowSetTime(1,2,"SetRtc?");MyLCD_ShowSetTime(1,3,"K1:YesK2:No");delay=100;//延時選擇約2swhile(delay){My_KeyScan();//按鍵掃描if(KeyIsPressed(0)){setTimeFlag=1;//進(jìn)入時間設(shè)置LCD_Clear(Color16_BLACK);//清除液晶屏幕FRONT_COLOR=Color16_WHITE;//設(shè)置液晶前景色(畫筆顏色)MyLCD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論