家庭安全檢測系統(tǒng)設(shè)計_第1頁
家庭安全檢測系統(tǒng)設(shè)計_第2頁
家庭安全檢測系統(tǒng)設(shè)計_第3頁
家庭安全檢測系統(tǒng)設(shè)計_第4頁
家庭安全檢測系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

家庭安全檢測系統(tǒng)設(shè)計緒論研究目的及意義隨著我國飛速經(jīng)濟的發(fā)展以及人民生活水平提高,家庭智能檢測技術(shù)在許多現(xiàn)代化的住宅小區(qū)扮演著重要的角色。由于煤氣泄露、大量家用電器設(shè)備使用中的不安全因素和居民財產(chǎn)出現(xiàn)被盜的現(xiàn)象層出不窮,所以使用家庭智能檢測技術(shù)可以增強家庭生活的舒適度和便利性,提高能源的利用效率,從而降低能源消耗和減少環(huán)境污染REF_Ref25093\n\h[22]。同時,它還可以幫助居民及時發(fā)現(xiàn)家庭中的潛在風(fēng)險,如火災(zāi)、氣體泄露等,并提供便捷的居家生活服務(wù)。家庭智能檢測具有實時性,可以更加科學(xué)、準確地識別各種安全隱患和健康關(guān)注點,為用戶提供實時的數(shù)據(jù)反饋和風(fēng)險預(yù)警。隨著社會的發(fā)展和人們生活水平的提高,家庭安全問題日益受到關(guān)注。其中,家庭防火防盜設(shè)計是一個重要的方面,它涉及到保護人們的生命財產(chǎn)安全,預(yù)防和減少火災(zāi)和盜竊事件的發(fā)生REF_Ref21452\r\h[8]。以下是關(guān)于家庭防火防盜設(shè)計研究背景和意義的論述:家庭是人們安居樂業(yè)的地方,但也是潛在的安全隱患所在。根據(jù)統(tǒng)計數(shù)據(jù),火災(zāi)和盜竊是家庭最常見的安全問題之一?;馂?zāi)不僅會造成人員傷亡和財產(chǎn)損失,還可能引發(fā)連鎖反應(yīng),導(dǎo)致整個社區(qū)的災(zāi)害。盜竊事件則直接威脅家庭的財產(chǎn)安全和個人隱私。因此,家庭防火防盜設(shè)計對于人們的生命財產(chǎn)安全至關(guān)重要。保護生命安全:家庭防火防盜設(shè)計可以預(yù)防和減少火災(zāi)和盜竊事件的發(fā)生,保護家庭成員的生命安全。通過合理布置消防設(shè)備和采取安全措施,如安裝煙霧報警器等,可以及早發(fā)現(xiàn)和撲滅火災(zāi),降低火災(zāi)對人員的危害。保護財產(chǎn)安全:家庭是人們辛勤努力的積累之地,財產(chǎn)安全是每個家庭關(guān)注的重點REF_Ref22715\r\h[15]。合理的防盜設(shè)計可以有效阻止入侵者的闖入,并增加盜竊發(fā)生的難度。例如,安裝安全門鎖、窗戶防護網(wǎng)、閉路電視監(jiān)控系統(tǒng)等,可以有效防范盜竊行為,保護財產(chǎn)安全。提高社區(qū)安全:家庭防火防盜設(shè)計不僅僅關(guān)乎個體家庭,也對整個社區(qū)的安全起到積極的影響REF_Ref22804\r\h[16]。合理的防火防盜設(shè)計可以降低火災(zāi)和盜竊事件的發(fā)生率,減少社區(qū)的安全風(fēng)險,營造一個更安全、更宜居的社區(qū)環(huán)境。增強安全意識:家庭防火防盜設(shè)計的研究和實踐過程,可以增強家庭成員的安全意識。通過宣傳教育、安全演練和知識普及,人們可以了解火災(zāi)和盜竊的危害性,學(xué)習(xí)如何應(yīng)對突發(fā)事件,并培養(yǎng)正確的安全行為和習(xí)慣。為家庭提供安心保障:一個安全的家庭環(huán)境可以給家庭成員帶來安心和舒適的感受。通過合理的防火防盜設(shè)計,人們可以在家中放心地居住、工作和休息,減少安全風(fēng)險帶來的不安和焦慮。綜上所述,家庭防火防盜設(shè)計的研究背景和意義是多方面的。它關(guān)乎人們的生命安全和財產(chǎn)安全,對社區(qū)和整個社會的安全穩(wěn)定起著重要的作用。通過科學(xué)合理的設(shè)計和實踐,可以切實提升家庭的安全性和安心感。國內(nèi)外研究現(xiàn)狀2020年,王海燕在《家庭智能防盜防火報警系統(tǒng)的研究》研究了家庭智能防盜防火報警系統(tǒng)。涉及到傳感器(溫濕度傳感器、一氧化碳傳感器、熱釋電傳感器)、控制臺和手持裝置組成的三個主要模塊,并配合使用智能識別算法來將傳感器產(chǎn)生的信息進行整合,運用MATLAB軟件平臺進行了實驗驗證,在本地局域網(wǎng)及云服務(wù)器上建立智能安防系統(tǒng),并通過功能測試展示該系統(tǒng)的穩(wěn)定性和可靠性REF_Ref15574\r\h[17]。2020年,汪振華在《遠程智能火災(zāi)監(jiān)控報警及控制系統(tǒng)的設(shè)計與實現(xiàn)》文中介紹了智能防火監(jiān)測系統(tǒng)的主要設(shè)計思路,包括硬件系統(tǒng)和軟件系統(tǒng)兩大部分。硬件系統(tǒng)主要由傳感器、控制器和執(zhí)行器等多個模塊組成,可實現(xiàn)對溫度、煙霧、氣體等火災(zāi)指標進行檢測;REF_Ref16828\r\h[13]而軟件系統(tǒng)則采用Java語言開發(fā),涉及從數(shù)據(jù)采集到數(shù)據(jù)處理的各個環(huán)節(jié),包括數(shù)據(jù)連接、實時監(jiān)測、異常報警等功能。2021年,肖貴賢在《家庭紅外防盜防火報警系統(tǒng)的設(shè)計》文中講到,在硬件方面,他采用了人體紅外感應(yīng)模塊、光敏電阻、煙霧傳感器等元器件構(gòu)建了一個完整的報警系統(tǒng),該系統(tǒng)可以在發(fā)生入侵、火災(zāi)等情況時及時發(fā)出警報。在軟件方面,他使用了MCS-51系列單片機,并在單片機上編寫了相應(yīng)的程序?qū)崿F(xiàn)對各種傳感器信號的檢測和處理。2022年,郭向東的《基于單片機的智能防火防盜報警系統(tǒng)設(shè)計》一文中,提到了智能防火防盜報警系統(tǒng)通過多個傳感器(紅外傳感器、火焰?zhèn)鞲衅?、煙霧傳感器等)來實現(xiàn)對家庭環(huán)境的監(jiān)控,并利用單片機進行信號分析和處理,從而實現(xiàn)準確及時的預(yù)警和報警功能。在論文中,作者介紹了智能報警系統(tǒng)原理和系統(tǒng)結(jié)構(gòu),并通過實驗驗證了系統(tǒng)可執(zhí)行性和穩(wěn)定性??偨Y(jié)了系統(tǒng)的優(yōu)缺點,并提出了未來系統(tǒng)的改進方向。2020年,GielenAndreaC、PerryEliseC、ShieldsWendyC在《Changesinsmokealarmcoveragefollowingtwofiredepartmenthomevisitingprograms:whatpredictssuccess?》主要研究了兩個消防部門在進行家庭訪問計劃之后,煙霧報警器覆蓋率的變化情況,并且探討了影響家庭訪問計劃成功的因素。2021年,NNMahzan,NIMEnzai,NMZin,KSSKMNoh在《DesignofanArduino-basedhomefirealarmsystemwithGSMmodule》該論文提出了一種基于Arduino的家用火災(zāi)警報系統(tǒng),它具有多種優(yōu)點和創(chuàng)新點,對于提高家庭和公共場所的火災(zāi)防護水平具有重要作用。同時,該系統(tǒng)還為基于物聯(lián)網(wǎng)的消防技術(shù)研究和應(yīng)用提供了新思路和方法。2022年,XieWenLan;HaomingHuang在《DesignandApplicationofHomeFireAlarmSystem》文中,主要介紹了一種基于可編程邏輯控制器(PLC)的家庭火災(zāi)警報系統(tǒng)它具有多種優(yōu)點和創(chuàng)新點,對于提高室內(nèi)火災(zāi)預(yù)警和防護水平具有重要作用。同時,該系統(tǒng)還為基于工業(yè)自動化技術(shù)的消防應(yīng)用研究提供了新思路和方法。2023年AndreevA.;DoroninA.;KachenkovaV.;NorovB.;MirkhasilovaZ.在《Firealarmsystemsconstructiononartificialintelligenceprinciples》中主要涵蓋關(guān)于安全趨勢的現(xiàn)代觀點和在全球自動化和集成到統(tǒng)一自動化控制系統(tǒng)的背景下開發(fā)安全系統(tǒng)的方向。概述了在安全系統(tǒng)中使用人工智能的前景,以識別從監(jiān)測數(shù)據(jù)中獲得的跡象難以分類的情況。評估了基于(建立在神經(jīng)網(wǎng)絡(luò)和奇數(shù)邏輯系統(tǒng)方法的組合學(xué)原理之上)神經(jīng)網(wǎng)絡(luò)的人工智能原理的火災(zāi)報警系統(tǒng)的使用前景。構(gòu)建數(shù)學(xué)模型,該模型描述了生成關(guān)于系統(tǒng)過渡到"火"狀態(tài)的信號的可靠形成的過程,并描述了正確設(shè)置用于信號生成的系統(tǒng)響應(yīng)閾值的問題,通過引入接收關(guān)于光學(xué)范圍內(nèi)對象狀態(tài)的初始信息的附加通道來解決誤報數(shù)量最小化的問題。調(diào)查制造商聲明的氣體火災(zāi)探測器特性的可靠性,以確定將其作為基于神經(jīng)網(wǎng)絡(luò)原理構(gòu)建的火災(zāi)報警系統(tǒng)的初始元素的可能性。主要研究內(nèi)容本課題設(shè)計了一套家庭安全檢測系統(tǒng)。它是指通過各種智能技術(shù)、傳感器等設(shè)備,對家庭環(huán)境進行實時監(jiān)測,一旦檢測到異常情況如火災(zāi)或入侵,則會及時發(fā)出警報和預(yù)警信號,保護家庭安全REF_Ref19447\r\h[3]。其主要研究內(nèi)容包括以下幾個方面:安全監(jiān)測技術(shù):對家庭的防火、防盜和防水等方面進行安全監(jiān)測,確定監(jiān)測點以及采用的傳感器和安全設(shè)備類型REF_Ref24714\r\h[20]。實時數(shù)據(jù)采集與分析技術(shù):通過熱釋電傳感器、溫濕度傳感器、煙霧傳感器等設(shè)備對環(huán)境數(shù)據(jù)進行實時采集,REF_Ref10650\r\h[1]并借助單片機等嵌入式設(shè)備進行數(shù)據(jù)的處理、存儲、分析和轉(zhuǎn)化,實現(xiàn)智能化預(yù)警機制REF_Ref12472\r\h[6]。告警處理技術(shù):將采集并分析好的數(shù)據(jù),通過算法判斷是否存在安全隱患,并及時發(fā)出聲、光、震動等告警提示,同時實現(xiàn)APP和短信即時通知SDK,給用戶提供快速反應(yīng)。

系統(tǒng)的總體結(jié)構(gòu)2.1設(shè)計方案設(shè)計了一種操作方便、運行可靠的家庭安全監(jiān)測系統(tǒng)。它通過智能設(shè)備技術(shù)對家庭環(huán)境、設(shè)備和行為進行實時監(jiān)測和分析,并提供預(yù)警和優(yōu)化建議的系統(tǒng)。根據(jù)家庭檢測的需求,結(jié)合各種傳感器和智能設(shè)備技術(shù),設(shè)計出具體的檢測方案。在家庭安防方面可以采用熱釋電傳感器;在環(huán)境檢測方面則可使用煙霧傳感器、溫濕度傳感器等設(shè)備。設(shè)計數(shù)據(jù)采集與處理設(shè)備:通過現(xiàn)代科技手段需要將各個檢測區(qū)域的數(shù)據(jù)采集下來并進行分析,可以使用STM32單片機等微型計算機進行數(shù)據(jù)采集和處理,利用相應(yīng)的軟硬件系統(tǒng)實現(xiàn)數(shù)據(jù)的存儲、分析和轉(zhuǎn)化REF_Ref24610\r\h[19]。設(shè)計通信協(xié)議與遠程控制方式:選擇恰當?shù)赝ㄐ艆f(xié)議和通信方式,與手機的云端進行交互,并實現(xiàn)隨時查看家中情況、疏忽報警處理等功能。圖2.1系統(tǒng)總體結(jié)構(gòu)框圖2.2單片機型號選擇方案一:51單片機在很長時間內(nèi)一直是嵌入式系統(tǒng)領(lǐng)域的主流芯片之一,但它也存在一些缺點,包括以下幾方面:電路設(shè)計復(fù)雜度高:由于51單片機本身的指令數(shù)量有限而且架構(gòu)相對較老,因此在進行復(fù)雜的電路設(shè)計時,需要使用大量的外設(shè)芯片來協(xié)助完成;性能受限:51單片機頻率較低,運算速度相對較慢,無法滿足一些高性能的需求;存儲容量有限:由于51單片機的存儲容量非常有限,對于一些需要存儲大量數(shù)據(jù)的應(yīng)用場景來說,不太合適;開發(fā)難度較高:采用51單片機進行開發(fā)需要一定的匯編語言基礎(chǔ),而且在進行調(diào)試和編譯時也存在一定的技術(shù)門檻;兼容性差:由于51單片機的架構(gòu)比較老,因此在一些新一代外設(shè)中可能無法進行兼容,需要采用其他方案進行升級和改進。綜上所述,雖然51單片機在一些低功耗、低成本的嵌入式系統(tǒng)中仍然有著廣泛的應(yīng)用,但其局限性也在逐漸顯現(xiàn),未來可能被更為新型的芯片所取代。方案二:STM32F103C8T6基于ARMCortex-M3內(nèi)核,系統(tǒng)主線頻率為72MHz,能夠執(zhí)行高級指令,具有能耗低和性能高的特點。通信接口:內(nèi)置了多種通信接口,包括SPI、I2C、USART等,方便與其他設(shè)備進行通信。PWM輸出:支持高級定時器16路PWM輸出,在控制電機等場景中具有很高的實用價值。內(nèi)置多個DMA控制器,支持復(fù)雜的數(shù)據(jù)傳輸操作。低功耗設(shè)計:支持多種省電模式,從而最大程度地降低了功耗,能夠使得STM32F103C8T6芯片在使用過程中能夠減少能耗。STM32F103C8T6廣泛應(yīng)用于各個領(lǐng)域。同時,它也是應(yīng)用非常廣泛的開發(fā)板芯片,能夠使用ArduinoIDE進行編程。由于其便捷的工具和簡單的結(jié)構(gòu)并且結(jié)合了強大的功能性,在業(yè)界很受歡迎。經(jīng)過對比,STM32F103C8T6主控芯片更適合于本設(shè)計的硬件技術(shù)支持,因此,本文選擇STM32F103C8T6主控芯片作為本次設(shè)計的主控芯片。圖2.2STM32引腳圖系統(tǒng)的硬件部分設(shè)計3.1系統(tǒng)的總體設(shè)計本設(shè)計使用到的傳感器有熱釋電傳感器、煙霧傳感器和、溫濕度傳感器、GSM通信以及蜂鳴器報警,將實現(xiàn)以下功能:(1)能夠檢測周圍環(huán)境溫度、濕度、煙霧濃度,一旦超過設(shè)置的閾值,蜂鳴器就會警報。(2)實現(xiàn)熱釋電傳感器對人體的檢測,按下“布防”按鍵,綠色LED燈閃爍20S,后進入“布防”狀態(tài),當檢測到有人闖入時,紅色LED燈常亮并且蜂鳴器進行報警,同時黃色LED閃亮一下,GSM模塊將會向用戶手機發(fā)送短信來提醒;(3)再次按下“布防”按鍵,解除警報;(4)有“緊急報警”按鍵,可以緊急報警。3.2系統(tǒng)的主要模塊設(shè)計3.2.1煙霧傳感器模塊設(shè)計煙霧傳感器是用于監(jiān)測環(huán)境中的煙霧濃度的電子元件,廣泛應(yīng)用于家庭、工業(yè)等領(lǐng)域。本設(shè)計選用MQ-2煙霧傳感器,MQ-2煙霧傳感器是一種常見的化學(xué)式傳感器REF_Ref12681\r\h[7],可用于檢測空氣中的煙霧和一些易燃氣體,如甲烷、丙烷、氫氣等。該傳感器的工作原理是基于電化學(xué)氣體檢測原理,當有煙霧、一氧化碳、氫、甲烷等易燃氣體進入傳感器中時,它們會與敏感材料發(fā)生化學(xué)反應(yīng),進而改變傳感器電路的電流和電壓,傳感器通過一個放大器將電信號放大和濾波,最后將信號輸出到微處理器或其他數(shù)字設(shè)備中進行分析和處理,確定氣體濃度。該傳感器的靈敏度高、反應(yīng)速度快、精度高、成本低,被廣泛應(yīng)用于煙霧報警器、氣體泄漏檢測等領(lǐng)域。MQ-2煙霧傳感器的工作過程如下:1)感應(yīng)氣體:MQ-2煙霧傳感器能感應(yīng)空氣中的煙霧、甲烷、氫氣、一氧化碳等易燃氣體,當這些氣體進入傳感器時,它們會與敏感材料發(fā)生化學(xué)反應(yīng)。2)產(chǎn)生電化學(xué)變化:傳感器內(nèi)部有一塊感受器薄膜,敏感材料涂覆在感受器薄膜上。當與氣體接觸的時候,敏感材料會發(fā)生化學(xué)反應(yīng),產(chǎn)生一定的電化學(xué)變化。3)改變電路電流和電壓:電化學(xué)變化導(dǎo)致感受器薄膜電阻值發(fā)生變化,進而改變傳感器電路的電流和電壓。感受器薄膜的電阻值是與空氣中煙霧、甲烷、氫氣、一氧化碳等易燃氣體的濃度成正比的。4)放大和濾波電信號:傳感器通過一個放大器將電信號放大和濾波,最后將信號輸出到微處理器或其他數(shù)字設(shè)備中進行分析和處理。5)確定氣體濃度:微處理器或其他數(shù)字設(shè)備會根據(jù)傳感器輸出的電信號,計算出空氣中所檢測到的煙霧、甲烷、氫氣、一氧化碳等易燃氣體的濃度,并發(fā)出報警等信號,引起相關(guān)措施的采取??偟膩碚f,MQ-2煙霧傳感器通過化學(xué)反應(yīng)和電信號輸出,檢測空氣中的煙霧、甲烷、氫氣、一氧化碳等易燃氣體,其工作過程簡單、靈敏度高、反應(yīng)速度快、精度高、成本低。圖3.1煙霧傳感器模塊原理圖3.2.2GSM模塊設(shè)計GSM(GlobalSystemforMobileCommunications)模塊是一種使用GSM網(wǎng)絡(luò)的硬件設(shè)備,用于實現(xiàn)無線數(shù)據(jù)傳輸及通信,能夠?qū)崿F(xiàn)語音識別、發(fā)送短信等通信功能。GSM模塊可以通過多種模式進行,主要有GPRS、EDGE和4G這幾種通信模式,其中GPRS是最常用的一種。GPRS可以提供高速數(shù)據(jù)傳輸,同時還可以使用TCP/IP協(xié)議棧進行網(wǎng)絡(luò)通信,實現(xiàn)遠程數(shù)據(jù)傳輸和控制功能REF_Ref22484\r\h[14]。GSM系統(tǒng)的工作原理可以分為以下幾個步驟:1)移動設(shè)備接入:當手機或其他移動設(shè)備接入GSM網(wǎng)絡(luò)時,它會發(fā)送IMSI(國際移動用戶識別碼)和TMSI(臨時移動用戶標識碼)等一些信息到網(wǎng)絡(luò)中。2)尋呼:GSM網(wǎng)絡(luò)收到移動設(shè)備的信息后,會向移動設(shè)備發(fā)起尋呼,要求移動設(shè)備向基站發(fā)送響應(yīng)信號。3)設(shè)備與基站建立連接:當移動設(shè)備接收到基站的尋呼信息后,它會向基站發(fā)送響應(yīng)信號,基站再通過控制器將移動設(shè)備和網(wǎng)絡(luò)進行連接。4)移動交換中心的處理:移動交換中心(MSC)負責(zé)管理和控制整個GSM網(wǎng)絡(luò),它會對移動設(shè)備的身份進行鑒別、驗證,然后將其連接到需要去往的目標網(wǎng)絡(luò)。5)數(shù)據(jù)傳輸:一旦移動設(shè)備與目標網(wǎng)絡(luò)建立連接,數(shù)據(jù)傳輸即可開始。這通常包括語音數(shù)據(jù)、短信和數(shù)據(jù)傳輸?shù)?。移動設(shè)備和GSM網(wǎng)絡(luò)之間的通訊協(xié)議如SDCCH(無線資源控制通道)、TCH(語音信道)和BCCH(廣播信道)等協(xié)議。6)通話結(jié)束和斷開連接:當移動設(shè)備使用完畢后,或用戶結(jié)束通話時,設(shè)備會通知GSM網(wǎng)絡(luò)斷開連接,并告知網(wǎng)絡(luò)它的退出信息。總體上,GSM系統(tǒng)是通過基站、控制器和交換中心三部分構(gòu)成,實現(xiàn)移動設(shè)備和網(wǎng)絡(luò)之間的通信連接。GSM網(wǎng)絡(luò)采用識別碼來鑒別和驗證用戶身份,并進行通訊加密,確保移動通信的安全性和穩(wěn)定性REF_Ref23182\r\h[18]。原理圖如下。圖3.2SIM800C短信模塊原理圖3.2.3蜂鳴器電路模塊設(shè)計蜂鳴器的應(yīng)用廣泛,常見于各種電子設(shè)備、汽車、電梯、安防系統(tǒng)、家用電器等領(lǐng)域中。使用儀器發(fā)出響聲進行報警,這種報警方法所安裝的報警機構(gòu)具有裝置體積小、安裝容易、成本低等特點,完全能夠滿足用戶的使用要求。綜合考慮,蜂鳴器作為更加合理的選擇。需要注意的是,在選擇適合的提醒方式時,還需要考慮用戶的使用場景和需求,以及產(chǎn)品的設(shè)計和定位。蜂鳴器報警電路結(jié)構(gòu)一般為:蜂鳴器一種電聲轉(zhuǎn)換器,可以將電信號轉(zhuǎn)換成聲音信號。它通常由壓電陶瓷振蕩器、驅(qū)動電路和共振腔體三部分組成。蜂鳴器的工作原理是在振蕩器中通過外加電壓使得壓電陶瓷發(fā)生振動,產(chǎn)生聲音。在驅(qū)動電路的作用下,電壓的頻率和強度可隨意控制,從而實現(xiàn)不同的音調(diào)和音量。三極管是一種半導(dǎo)體器件,由三個摻雜不同類型的半導(dǎo)體層組成,因此被稱為“三極管”。它是一種電流放大器、開關(guān)和電壓穩(wěn)壓器等元器件,被廣泛應(yīng)用于各種電子設(shè)備中。通常分為NPN型和PNP型兩種。三極管的結(jié)構(gòu)一般由發(fā)射極、基極和集電極三個區(qū)域組成。其中,發(fā)射極一般負責(zé)從外部提供信號,基極主要負責(zé)控制信號大小,而集電極則輸出放大的電流信號。通過在其基極端加上小信號或控制電流,可以在集電極端獲得大量的放大后輸出的電流信號,實現(xiàn)信號的放大和增強REF_Ref11557\r\h[4]。其工作過程:當電源通電時,蜂鳴器會處于待機狀態(tài),沒有聲音輸出。當觸發(fā)器接收到觸發(fā)信號時,觸發(fā)器會向蜂鳴器發(fā)送一個電信號,從而激活蜂鳴器,使其開始振動,并發(fā)出聲音。其原理圖如下。圖3.3蜂鳴器報警電路原理圖3.2.4熱釋電傳感器模塊設(shè)計熱釋電傳感器是一種基于熱效應(yīng)的傳感器,可用于檢測人體或動物等生物體產(chǎn)生的微小熱量變化,并將其轉(zhuǎn)換成電信號輸出REF_Ref11714\r\h[5]。熱釋電傳感器的原理是基于熱效應(yīng)和熱電效應(yīng),通過感應(yīng)生物體產(chǎn)生的微弱熱能,從而產(chǎn)生電信號進行測量和分析。熱釋電傳感器通常由一個小型探頭和一個信號放大器組成。探頭內(nèi)部包含一個熱敏電阻、一個紅外線濾光片和一個熱電偶,其中熱敏電阻用于感應(yīng)生物體產(chǎn)生的微弱熱量變化,紅外線濾光片用于濾除環(huán)境中的干擾信號,熱電偶則用于檢測探頭表面的溫度變化。信號放大器負責(zé)將探頭輸出的微小信號放大,然后進行數(shù)字信號處理和分析。熱釋電傳感器具有靈敏度高、響應(yīng)速度快、反應(yīng)穩(wěn)定等優(yōu)點,因此被廣泛應(yīng)用于安防、醫(yī)療、環(huán)保等領(lǐng)域中的人體檢測和環(huán)境監(jiān)測。在安防領(lǐng)域中,熱釋電傳感器常用于室內(nèi)外監(jiān)控、入侵檢測等場景中,能夠及時檢測到人體或動物的熱量變化,并發(fā)出報警信號。在醫(yī)療領(lǐng)域中,熱釋電傳感器可用于測量人體體溫、監(jiān)測心率等生理參數(shù)。在環(huán)保領(lǐng)域中,熱釋電傳感器可用于檢測大氣污染、水質(zhì)污染等環(huán)境因素,幫助人們了解環(huán)境狀況并采取相應(yīng)的措施REF_Ref25469\w\h[23]。熱釋電傳感器是一種利用物質(zhì)吸收或輻射電磁波能量而產(chǎn)生溫度變化的原理來檢測紅外線輻射的傳感器。它主要由紅外敏感材料、光學(xué)衰減濾波器、薄膜電阻、封裝殼體等組成。熱釋電傳感器具有靈敏度高、能耗低等優(yōu)點。當然,熱釋電傳感器也有一些局限性,例如容易受到外界環(huán)境的影響,靈敏度和測量范圍也有一定限制。此外,在應(yīng)用熱釋電傳感器時需要注意溫度變化、信號干擾等因素,以保證傳感器的準確性和可靠性??偟膩碚f,熱釋電傳感器作為一種新型的生物傳感器,具有很大的應(yīng)用前景,未來將會有更多的新技術(shù)和新材料被應(yīng)用到熱釋電傳感器中,從而提高其靈敏度、穩(wěn)定性和可靠性。熱釋電傳感器檢測人體是否闖入有以下流程:感應(yīng)紅外線:人體發(fā)出的紅外輻射波長恰好處于熱釋電傳感器敏感波段,因此當有人或動物從探測窗口通過時,熱釋電傳感器就會感應(yīng)到這些紅外線。產(chǎn)生溫度變化信號:探測器將接收到的紅外線轉(zhuǎn)化為細微的溫度變化信號。由于內(nèi)部敏感材料吸收了紅外線后將受熱自然冷卻,產(chǎn)生的熱量相對周圍環(huán)境略微高一點。轉(zhuǎn)化為電信號:熱釋電傳感器的紅外感應(yīng)元件將從人體發(fā)出的紅外輻射右側(cè)能量轉(zhuǎn)化成微弱電荷組合,并且放大這個信號加工處理,得到數(shù)字信號輸出。分析信號:數(shù)字信號輸入控制芯片進行分析和處理,以判斷該信號是否屬于人體、還是其他任何物體、精確定位到操作區(qū)域并增加其靈敏度。觸發(fā)警報:如果確定信號來自人體且超過設(shè)置閾值,那么通常會觸發(fā)警報,例如打開燈光、發(fā)出聲音等。原理圖如下所示。圖3.4熱釋電模塊原理圖3.2.5溫濕度模塊設(shè)計DHT11是一款數(shù)字溫濕度傳感器模塊。它包括一個用于讀取數(shù)據(jù)的低功耗數(shù)字信號處理芯片和一個高精度的溫濕度傳感器。通常用于測量環(huán)境溫度和相對濕度,DHT11模塊采用單總線數(shù)據(jù)傳輸技術(shù),將溫度和濕度數(shù)據(jù)轉(zhuǎn)換成數(shù)字信號,然后通過單總線傳輸給微控制器或其他處理器。DHT11模塊內(nèi)部有一個溫濕度傳感器,該傳感器是由由一根導(dǎo)電電阻和一根玻璃纖維束作為傳感元件組成。在電路供電后,導(dǎo)電電阻的電阻值會隨著環(huán)境溫度的變化而發(fā)生變化,同時也會受到環(huán)境相對濕度的影響。當DHT11模塊被主控芯片拉低時,DHT11模塊會開始工作,并開始采集溫濕度數(shù)據(jù)。DHT11內(nèi)部會發(fā)出一個40位的數(shù)字信號,其中包含四個字節(jié)的溫度數(shù)據(jù)和四個字節(jié)的濕度數(shù)據(jù)以及一個數(shù)據(jù)校驗位。DHT11模塊的輸出信號是數(shù)字信號,需要進行解碼才能獲取正確的溫濕度數(shù)據(jù)。DHT11模塊使用的是單總線傳輸技術(shù),采用定時周期來編碼數(shù)據(jù),定時周期的長短來代表不同的數(shù)據(jù)位,以達到數(shù)據(jù)傳輸?shù)哪康?。綜上所述,DHT11的工作原理是通過溫濕度傳感器采集溫濕度數(shù)據(jù),然后將其轉(zhuǎn)換成數(shù)字信號,并通過單總線傳輸技術(shù)傳輸給微控制器或其他處理器進行處理。具有以下特點:1)高精度:DHT11模塊具有很高的溫濕度測量精度,溫度測量范圍為0℃-50℃,濕度測量范圍為20%-90%,溫度精度為±2℃,濕度精度為±5%RH。2)低功耗:DHT11模塊的供電電壓為3V-5.5V,功耗非常低,使用方便。3)數(shù)字化輸出:DHT11模塊的輸出信號是數(shù)字量,直接可以用來做數(shù)據(jù)采集和處理,非常方便。4)價格低廉:DHT11模塊的價格非常便宜,可在各種嵌入式系統(tǒng)中廣泛應(yīng)用,成本低、性價比高。5)DHT11模塊在各種領(lǐng)域有著廣泛的應(yīng)用,例如:農(nóng)業(yè)、電子、建筑、醫(yī)療、家電以及智能家居等。在物聯(lián)網(wǎng)領(lǐng)域,DHT11是智能溫濕度采集的重要組成部分,在各種傳感器網(wǎng)絡(luò)中得到了廣泛的應(yīng)用。其原理圖如下。圖3.5溫濕度模塊原理圖3.2.6LCD1602液晶屏顯示模塊設(shè)計LCD1602液晶屏是一種標準的16字符×2行顯示器,屬于主流的嵌入式產(chǎn)品用液晶模塊之一,由于其易用性和功能強大,在各種數(shù)字嵌入式系統(tǒng)(如Arduino、樹莓派等)中得到了廣泛的應(yīng)用。該模塊采用了16個液晶點陣,每個液晶點陣包含5x8個點,加上1~2個像素的字符之間間隔,顯示區(qū)域每行可顯示16個字符REF_Ref21706\r\h[11]。本質(zhì)上,LCD1602液晶屏由液晶模塊和控制電路兩部分組成,液晶模塊采用的是STN液晶反射技術(shù),具有對比度高、消耗電能低等特性。LCD1602液晶屏提供了簡單、方便的代碼操作方式,能夠通過微控制器(如51單片機、STM32、Arduino等)進行控制,并提供了RS、RW、E等多個接口以便于寫入數(shù)據(jù)REF_Ref11064\r\h[2]REF_Ref12998\r\h[10]。LCD1602液晶屏模塊在各種應(yīng)用中得到了廣泛的應(yīng)用,比如:計算器、電子鐘、溫度顯示器、電子秤等。LCD1602液晶屏的工作原理基于液晶顯示的原理,該液晶模塊通過在液晶材料中施加電場,使其通過旋轉(zhuǎn)和折射光線而產(chǎn)生圖像。LCD1602液晶屏模塊由于需要與微處理器進行通信,通常會選擇并行接口或I2C接口兩種方式。LCD1602液晶屏的控制電路中一般包含以下幾個主要電路:1)驅(qū)動電路:LCD1602液晶屏驅(qū)動電路采用的是集成電路HD44780A或KS0066U等。該驅(qū)動電路能夠?qū)⒁@示的文字和圖形信息自動轉(zhuǎn)換成指令位信息,進行逐步傳輸;2)顯示控制電路:這部分電路通過幾個特定的控制線(如RS、RW和E線)控制顯示屏的狀態(tài),比如控制行和列的移動、寫入的數(shù)據(jù)類型、顯示光標等;3)電源電路:液晶屏模塊需要正負電源供電,正電源一般為5V,而負電源為-5V或者-10V。綜上所述,LCD1602液晶屏的工作原理包括液晶顯示原理和控制信號的傳輸原理REF_Ref16737\r\h[12]。在液晶顯示原理的基礎(chǔ)上,通過控制電路將輸入的數(shù)據(jù)進行正確的解碼和解析,才能最終得到在LCD1602液晶屏上顯示的內(nèi)容。圖3.6LCD1602液晶屏模塊原理圖3.2.7按鍵設(shè)計本設(shè)計有設(shè)置、布防、撤防和緊急報警四個獨立按鍵。單片機獨立按鍵指的是將按鍵和單片機連接的一種電子元件??捎糜诳刂齐娐分械拈_關(guān)、定時器、計數(shù)器和其他需要輸入的功能。它具有穩(wěn)定性高、反應(yīng)速度快、使用方便、價格便宜等優(yōu)點。圖3.7按鍵模塊原理圖系統(tǒng)的軟件部分設(shè)計4.1軟件的主要流程系統(tǒng)能夠檢測周圍環(huán)境溫度、濕度、煙霧濃度,一旦超過設(shè)置的閾值,蜂鳴器就會警報;能夠?qū)崿F(xiàn)熱釋電傳感器對人體的檢測,按下“布防”按鍵,綠色LED燈閃爍20S,后進入“布防”狀態(tài),當檢測到有人闖入時,紅色LED燈常亮并且蜂鳴器進行報警,同時黃色LED閃亮一下,GSM模塊將會向用戶手機發(fā)送短信來提醒;再次按下“布防”按鍵,解除警報;有“緊急報警”按鍵,可以緊急報警。圖4.1系統(tǒng)總體流程圖4.2煙霧傳感器模塊軟件設(shè)計當STM32單片機初始化后進行工作,煙霧氣體傳感器檢測空氣中的煙霧氣體濃度。如果達到閾值則發(fā)送給單片機,隨后單片機使GSM模塊發(fā)送短信給用戶。工作流程圖如下。圖4.2煙霧傳感器模塊工作流程圖

4.3GSM模塊軟件設(shè)計當STM32單片機初始化后進行工作煙霧氣體傳感器和熱釋電傳感器將獲取周圍空氣中的煙霧氣體濃度是否達到閾值和檢測是否有人闖入。若有異常值則發(fā)送給單片機,隨后單片機使GSM模塊發(fā)送短信提醒用戶注意。流程圖如下。圖4.3GSM模塊工作流程圖

4.4蜂鳴器電路模塊軟件設(shè)計當單片機初始化完成后系統(tǒng)開始工作。煙霧氣體傳感器和熱釋電傳感器將獲取周圍空氣中的煙霧氣體濃度和是否有人闖入。若有異常值則發(fā)送給單片機,隨后單片機使蜂鳴器模塊工作以報警。也可以直接選擇報警模式使蜂鳴器直接工作。流程圖如下。圖4.4蜂鳴器模塊工作流程圖

4.5熱釋電模塊軟件設(shè)計當STM32單片機進行初始化后,熱釋電傳感器檢測周圍環(huán)境中是否有人體紅外輻射波,若存在則說明有人闖入。則發(fā)送給單片機,隨后單片機使GSM模塊發(fā)送短信和蜂鳴器報警。工作流程圖如下。圖4.5熱釋電模塊流程圖

4.6溫濕度傳感器模塊軟件設(shè)計當系統(tǒng)初始化完成后,系統(tǒng)開始工作。溫濕度傳感器模塊開始檢測室內(nèi)實時溫濕度,當室內(nèi)溫度超過所設(shè)定閾值時判斷為室內(nèi)發(fā)生火災(zāi),隨后發(fā)送至單片機,單片機控制蜂鳴器模塊工作報警處理。流程圖如下。圖4.6溫濕度傳感器模塊流程圖4.7顯示屏模塊軟件設(shè)計當系統(tǒng)初始化完成后,系統(tǒng)開始正常工作。各個傳感器對室內(nèi)各項數(shù)據(jù)實時監(jiān)測并發(fā)至單片機,單片機發(fā)送至顯示屏顯示,便于觀察監(jiān)測。流程圖如下。圖4.7顯示屏模塊流程圖

系統(tǒng)測試5.1系統(tǒng)實物圖圖5.1系統(tǒng)總體實物圖5.2測試原理在進行溫度傳感器測試之前,需要準備一些工具和材料,包括一臺數(shù)字萬用表、一個溫度計、一些導(dǎo)線和連接器以及待測試的溫度傳感器。首先,將數(shù)字萬用表設(shè)置為溫度測量模式,并將測試針插入溫度計的接口以進行校準。確保溫度計讀數(shù)與數(shù)字萬用表的讀數(shù)相匹配。接下來,將待測試的溫度傳感器連接到數(shù)字萬用表上,通過導(dǎo)線和連接器將傳感器的正極和負極連接到數(shù)字萬用表上。在連接時,務(wù)必注意正確的極性。然后,將待測試的傳感器置于一定的溫度環(huán)境中,可以通過溫度計測量環(huán)境溫度,確保環(huán)境溫度穩(wěn)定且符合測試要求。待傳感器穩(wěn)定后,讀取數(shù)字萬用表上顯示的溫度傳感器輸出值。最后,將讀數(shù)與溫度計讀數(shù)進行比較,確保測試結(jié)果準確。如果測試結(jié)果與預(yù)期值相符,說明該溫度傳感器工作正常。如果測試結(jié)果與預(yù)期值不符,則需要進一步檢查傳感器和測試設(shè)置以確定問題所在。在進行煙霧傳感器調(diào)試之前,需要準備一些工具和材料,包括一個煙霧發(fā)生器、一個數(shù)字萬用表、一些導(dǎo)線和連接器以及待調(diào)試的煙霧傳感器。首先,將數(shù)字萬用表設(shè)置為電流測量模式,并將測試針插入煙霧傳感器的正極和負極以測量傳感器的電流值REF_Ref24835\n\h[21]。確保傳感器的正負極連接正確,并且測試針與傳感器接觸良好。接下來,使用煙霧發(fā)生器產(chǎn)生一定濃度的煙霧,并將煙霧引入待調(diào)試的傳感器中。在傳感器受到煙霧刺激時,電流值應(yīng)該會發(fā)生變化。讀取數(shù)字萬用表上顯示的電流值,并比較與預(yù)期值的差異。最后,根據(jù)測試結(jié)果進行調(diào)整。如果傳感器無法正確檢測煙霧,可能需要調(diào)整傳感器的敏感度或者更換傳感器。如果測試結(jié)果正常,則說明煙霧傳感器工作正常。在進行熱釋電傳感器調(diào)試之前,需要準備一些工具和材料,包括一個數(shù)字萬用表、一些導(dǎo)線和連接器以及待調(diào)試的熱釋電傳感器。首先,將數(shù)字萬用表設(shè)置為電壓測量模式,并將測試針插入熱釋電傳感器的正極和負極以測量傳感器的輸出電壓值。確保傳感器的正負極連接正確,并且測試針與傳感器接觸良好。接下來,對傳感器進行敏感度測試。使用一個熱源(如火柴或者手指)在傳感器附近移動,觀察數(shù)字萬用表上的輸出電壓是否隨著熱源的變化而變化。如果輸出電壓發(fā)生變化,說明傳感器工作正常。最后,根據(jù)測試結(jié)果進行調(diào)整。如果傳感器無法正確檢測熱源,可能需要調(diào)整傳感器的敏感度或者更換傳感器。如果測試結(jié)果正常,則說明熱釋電傳感器工作正常REF_Ref11557\r\h[4]。5.3實物功能測試(1)開機,顯示屏正常顯示。按下“布防”按鍵,綠色LED燈閃爍20S,后進入“布防”狀態(tài),當檢測到有人闖入時,紅色LED燈常亮并且蜂鳴器進行報警,同時黃色LED閃亮一下,GSM模塊將會向用戶手機發(fā)送短信來提醒;再次按下“布防”按鍵,解除蜂鳴器警報;有“緊急報警”按鍵,可以讓蜂鳴器快速報警。圖5.2顯示屏顯示數(shù)據(jù)(2)使用打火機在火災(zāi)報警器或煙霧報警器附近打火,觀察顯示屏實時數(shù)據(jù)的變化,當數(shù)據(jù)超過所設(shè)定閾值時,蜂鳴器報警處理;圖5.3超出閾值報警(3)檢測人體闖入可以在熱釋電傳感器附近用手輕微擺動,觀察到上位機收到短信“警報!有人闖入!”,同時蜂鳴器報警。也可以直接通過按鍵開啟報警模式,報警模式下蜂鳴器直接工作,隨后將報警模式關(guān)閉,蜂鳴器停止工作。圖5.4上位機收到短信提醒總結(jié)與展望6.1總結(jié)在本次設(shè)計中,學(xué)習(xí)了STM32F103C8T6主控芯片、繼電器、熱釋電傳感器、煙霧探測傳感器的使用。借助網(wǎng)上的資源搭建了閾值分析等程序設(shè)計。家庭安全檢測系統(tǒng)的調(diào)試主要是通過一塊STM32開發(fā)板,再借助于Keil以及自己搭建的電路實現(xiàn)的。分部調(diào)試時偶爾會出現(xiàn)一些問題但解決方案都有跡可循?;緦崿F(xiàn)了家庭安全環(huán)境檢測,利用煙霧傳感器來檢測發(fā)生火災(zāi)產(chǎn)生的濃煙、利用溫濕度傳感器來實時檢測室內(nèi)溫濕度以及利用熱釋電傳感器進行檢測是否有人闖入家中,最后在利用GSM模塊以短信的方式發(fā)送至上位機。此監(jiān)測系統(tǒng)能夠?qū)崿F(xiàn)檢測后不需要人為干預(yù),自動進行操作。節(jié)省了大量人力資源,方便人們生活。6.2展望技術(shù)改進方向:針對本篇論文所提出的家庭安全監(jiān)測系統(tǒng),可以進一步開展功率管理技術(shù)、數(shù)據(jù)處理技術(shù)等方面的研究,讓系統(tǒng)更加智能化、高效化。應(yīng)用拓展方向:在未來的研究中,可以考慮將該系統(tǒng)拓展到更多的領(lǐng)域,如工業(yè)監(jiān)測、醫(yī)療監(jiān)測等領(lǐng)域。多模式監(jiān)測方向:未來研究可以探索多模式監(jiān)測技術(shù),通過集成不同的傳感器和算法,實現(xiàn)更全面的家庭安全監(jiān)測。

參考文獻曲家駭,王季秩.伺服控制系統(tǒng)中的傳感器[M].機械工業(yè)出版社.2020張友德,趙志英,涂時亮.單片機微機原理,應(yīng)用與實驗[M].上海:復(fù)旦大學(xué)出版社,2021:122-136汪振華.遠程智能火災(zāi)監(jiān)控報警及控制系統(tǒng)的設(shè)計與實現(xiàn)[C],電子科技大學(xué).2020.謝自美.電子線路設(shè)計.實驗.測試[M].武漢:華中科技大學(xué)出版社,2021:212-230張福學(xué).傳感器使用電路150例.中國技術(shù)出版社[M].2020鄔寬民.單片機外圍器件實用手冊,數(shù)據(jù)傳輸接口器件分冊.北京.北京航空航天大學(xué)出版社.2021:189王貴悅.新編傳感器實用手冊.水利電力出版社.2020:67-89王芳.智能化住宅防盜防火報警系統(tǒng)[M].大連理工大學(xué),2021.趙玉冬,黃亞坤,趙松.一種機載曲面液晶顯示器設(shè)計[J].電子機械工程,2021,37(05):40-43.李國龍.加固液晶顯示器設(shè)計[J].現(xiàn)代工業(yè)經(jīng)濟和信息化,2021,11(09):35-36.王妮娜.工業(yè)設(shè)計色彩基礎(chǔ)[M].沈陽.遼寧科學(xué)技術(shù)出版社.2022.趙春華.可編程控制器及其工程應(yīng)用[M].武漢:華中科技大學(xué)出版2022.02唐守鋒,童敏.檢測與轉(zhuǎn)換技術(shù)[J].徐州:中國礦業(yè)大學(xué)出版社,2022劉元剛;熊剛;傅寧.基于GSM的家庭防火防盜報警系統(tǒng)[M].機械與電子,2022.陳雍.一種家庭防火防盜報警系統(tǒng)[P].中國科技信息,2020.韓璐斌;胡小峰.智能家庭防火檢測報警系統(tǒng)[P].數(shù)字技術(shù)與應(yīng)用,2020.王海燕.家庭智能防盜防火報警系統(tǒng)的研究[M].江南大學(xué).2020.張勝;徐曉冰;龔良武;曾斌斌.利用AT89S52單片機實現(xiàn)GSM短信的防火報警系統(tǒng)設(shè)計[P].硅谷,2021.ReyRafaelaOliveira,deMeloRoseneiaRodriguesSantos,CostaDayanaBastos.DesignandimplementationofacomputerizedsafetyinspectionsystemforconstructionsitesusingUASanddigitalchecklists–SmartInspecs[J].SafetyScience,2021,143.ParkHayong,YiWaonho.ProposedImprovementstotheSafetyInspectionSystem:AnAnalysisoftheCurrentStatusofBuildingDisasterAccidentsandSafetyInspectionSystems[J].JournaloftheKoreanSocietyofHazardMitigation,2019,19(5).Anonymous.Cycle-Safedetectsmovingobjects[J].MotorTransport,2021.SravanAkuthota,SaiKrishnaN,Rakesh,D.DevaHema.VehicleCollisionSafetyDetectionSystem[J].InternationalJournalofEngineeringandAdvancedTechnology(IJEAT),2018,8(1).LeeChangBeom,JungNamSu,ParkSeongKi,JeonSangOk.AStudyontheSafetyInspectionSystemImprovementofAgriculturalReservoirConsideringFill-DamCharacteristics[J].JournalofTheKoreanSocietyofAgriculturalEngineers,2016,58.附錄電路圖源代碼#include"main.h"#include"tim.h"#include"gpio.h"#include"adc.h"#include"socPort/stm32f1/delayTime.h"#include"socPort/stm32f1/DigitalBasicIo.h"#include"socPort/stm32f1/InsideFlash_BiShe.h"#include"socPort/stm32f1/Serial.h"#include"dev/basicIo/lcd1602.h"#include"dev/basicIo/dht11.h"#include"dev/basicIo/beep.h"#include"dev/basicIo/BasicKeyButton.h"#include"lib/limitNumberValue.h"#include<stdint.h>#include<stdio.h>#include<string.h>#include<string>DigitalBasicIo_io_lcd1602_rs(GPIOC,GPIO_PIN_14);DigitalBasicIo_io_lcd1602_en(GPIOC,GPIO_PIN_15);DigitalBasicIo_io_lcd1602_dat1(GPIOA,GPIO_PIN_0);DigitalBasicIo_io_lcd1602_dat2(GPIOA,GPIO_PIN_1);DigitalBasicIo_io_lcd1602_dat3(GPIOA,GPIO_PIN_2);DigitalBasicIo_io_lcd1602_dat4(GPIOA,GPIO_PIN_3);DigitalBasicIo_io_lcd1602_dat5(GPIOA,GPIO_PIN_4);DigitalBasicIo_io_lcd1602_dat6(GPIOA,GPIO_PIN_5);DigitalBasicIo_io_lcd1602_dat7(GPIOA,GPIO_PIN_6);DigitalBasicIo_io_lcd1602_dat8(GPIOA,GPIO_PIN_7);DigitalBasicIo*_arr_lcd1602_dat[]={&_io_lcd1602_dat1,&_io_lcd1602_dat2,&_io_lcd1602_dat3,&_io_lcd1602_dat4,&_io_lcd1602_dat5,&_io_lcd1602_dat6,&_io_lcd1602_dat7,&_io_lcd1602_dat8};dev::lcd1602<DigitalBasicIo,delayTime>lcd1602(_arr_lcd1602_dat,&_io_lcd1602_rs,&_io_lcd1602_en);DigitalBasicIo_io_dht11(GPIOA,GPIO_PIN_15);dev::dht11<DigitalBasicIo,delayTime>dht11(&_io_dht11);DigitalBasicIo_io_beep(GPIOB,GPIO_PIN_4);dev::beep<DigitalBasicIo>beep(&_io_beep);DigitalBasicIo_io_key1(GPIOB,GPIO_PIN_13);dev::BasicKeyButton<DigitalBasicIo,delayTime>button1(&_io_key1);DigitalBasicIo_io_key2(GPIOB,GPIO_PIN_14);dev::BasicKeyButton<DigitalBasicIo,delayTime>button2(&_io_key2);DigitalBasicIo_io_key3(GPIOB,GPIO_PIN_15);dev::BasicKeyButton<DigitalBasicIo,delayTime>button3(&_io_key3);DigitalBasicIo_io_key4(GPIOA,GPIO_PIN_8);dev::BasicKeyButton<DigitalBasicIo,delayTime>button4(&_io_key4);DigitalBasicIo_io_led1(GPIOB,GPIO_PIN_1);DigitalBasicIo_io_led2(GPIOB,GPIO_PIN_10);DigitalBasicIo_io_led3(GPIOB,GPIO_PIN_11);DigitalBasicIo_io_ledG(GPIOB,GPIO_PIN_12);DigitalBasicIo_io_reShiDian(GPIOB,GPIO_PIN_3);uint16_tadcDmaRecBuf[3];structstructAppSaveDat{ limitNumberValue<uint8_t,100,0>tempF; limitNumberValue<uint8_t,100,0>humiF; limitNumberValue<uint8_t,100,0>yanF; charphone[15];}appSaveDat={ .tempF=35, .humiF=40, .yanF=20, .phone=,};InsideFlash_BiShe<structstructAppSaveDat>flashSaveDat(&appSaveDat);limitNumberValue<uint8_t,100,0>readYan;dev::dht11<DigitalBasicIo,delayTime>::structdht11DatreadDht11;delayTimesysDelayTime;uint8_tserialGprsTxBuf[256];uint8_tserialGprsRxBuf[256];SerialgprsSerial(&huart1,serialGprsTxBuf,256,serialGprsRxBuf,256);boolbuFang=false;boolbuFangStatus=false;uint32_tbuFangToRunMs=0;boolbaoJing=false;booljinJiBaoJing=false;uint8_tsetMode=0;uint8_tsetNumber=0;boolsetS0=0;charsprintfBuf[50];////下面定義關(guān)于GSM的>本次設(shè)計中GSM用的是串口1unsignedcharUart1_Buff[50]; //串口1緩沖數(shù)組unsignedcharUart1_Count=0; //串口1累加變量unsignedcharAT_Count=0; //通信索引unsignedintAT_Time=0; //發(fā)送延時unsignedcharPhone[12]="19937113246"; //暫存手機號unsignedcharLink_Error=0; //容錯處理unsignedcharSend_Error=0; //發(fā)送容錯unsignedcharSMS_Num=0; //發(fā)送第幾條短信uint8_tphone_flag=0; //手機號存儲標志位//voiddelay(uint16_tT) //延時函數(shù)//{// while(T--);//}//GSM相關(guān)函數(shù)beginvoidUart1Data(unsignedchardat) //串口1,發(fā)送一個字節(jié){ //SBUF=dat; //while(!TI); //TI=0;while(gprsSerial.write(&dat,1)<0);}voidUart1DataByte(constchar*byte)//串口1,發(fā)送一串{ //while(*byte!='\0') //{ // Uart1Data(*byte++); //}while(gprsSerial.write((uint8_t*)byte,strlen(byte))<0);}//voidTimer2_Uart()//{// T2CON=0x34;// RCAP2H=0xFF;// RCAP2L=0xDC;// TH2=0xFF;// TL2=0xDC;// TR2=1;// SCON=0x50;// ES=1;// EA=1;// PS=1;//}voidmemory()//存儲數(shù)據(jù)函數(shù){ //unsignedcharq=0; if(phone_flag) { phone_flag=0; //SectorErase(0x2200); //for(q=0;q<11;q++) //{ // byte_write(0x2200+q,Phone[q]); //}//insideFlash.writeAutoErase((uint8_t*)Phone,0x0801f000,11); strncpy(appSaveDat.phone,(char*)Phone,11); flashSaveDat=true; }}voidread_memory(){ //unsignedcharq=0; //for(q=0;q<11;q++) //{ // Phone[q]=byte_read(0x2200+q); //}//insideFlash.read((uint8_t*)Phone,0x0801f000,11); strncpy((char*)Phone,appSaveDat.phone,11);Phone[11]='\0'; if(Phone[0]==0xff){ strcpy((char*)Phone,(char*)"19937113246"); } }chargprsZBuf[200];voidSim900_AT_CMD(){ unsignedcharG_Tab[13]={"\0"}; //unsignedcharIAD[13]="21040715"; if(AT_Time==0) { AT_Time=40; switch(AT_Count) { case0: Uart1DataByte("AT\r\n"); break; //先發(fā)送下AT,同步下波特率 case1: Uart1DataByte("ATE0\r\n"); break; //關(guān)回顯 case2: Uart1DataByte("AT+CNMI=3,2,2,0,1\r\n"); break;//設(shè)置短信 case3: Uart1DataByte("AT+CMGF=1\r\n"); break;//設(shè)置短信格式 case4: Uart1DataByte("AT+COPS?\r\n"); break; //查詢注網(wǎng)是否成功 case5: Uart1DataByte("AT+CGCLASS=\"B\"\r\n"); break; //設(shè)置Sim900,B交換協(xié)議,SIM900A模塊僅支持類別"B"和"CC", case6: Uart1DataByte("AT+CGDCONT=1,\"IP\",\"CMNET\"\r\n"); break; //[設(shè)置PDP上下文標志為1,采用互聯(lián)網(wǎng)協(xié)議(IP),接入點為"CMNET"] case7: Uart1DataByte("AT+CGATT=1\r\n"); break; //附著GPRS case8: AT_Count=11;// Link_Error++;// if(Link_Error>=8)// {// Link_Error=0;// Uart1DataByte("AT+CIPCLOSE=1\r\n");// }// elseUart1DataByte("AT+CIPSTART=\"TCP\",\"101.200.208.33\",\"2000\"\r\n"); break; //連接服務(wù)器 //上傳數(shù)據(jù)前發(fā)送指令 case9:// Send_Error++;// if(Send_Error<2)Uart1DataByte("AT+CIPSEND\r\n");// else// {// Uart1Data(0x1A);// AT_Time=20;// Send_Error=0;// AT_Count=11;// } break; //開始發(fā)送數(shù)據(jù) case10:// Uart1DataByte(IAD);// Uart1DataByte("d,data:IAD,");// Uart1DataByte("123,456,789,123");// Uart1DataByte("OK\r\n");// AT_Time=10;// AT_Count++; break; case11: // Uart1Data(0x1A);// Send_Error=0; if(SMS_Num==0) {// AT_Time=20; //等待// AT_Count=9; } else { AT_Count=20; AT_Time=0; } break; //下面是GSM發(fā)短信部分 case20://選擇短信模式 if(SMS_Num==1)Uart1DataByte("AT+CMGF=1\r\n"); //發(fā)送短信格式為英文 elseif(SMS_Num==2)Uart1DataByte("AT+CMGF=0\r\n"); elseif(SMS_Num==3)Uart1DataByte("AT+CMGF=0\r\n"); elseif(SMS_Num==5)Uart1DataByte("AT+CMGF=0\r\n"); break; case21: Phone[11]='\0'; if(SMS_Num==1) { Uart1DataByte("AT+CMGS=\""); Uart1DataByte((char*)Phone); Uart1DataByte("\"\r\n"); } elseif(SMS_Num==2) { Uart1DataByte("AT+CMGS=35\r\n");//如果是英文,就發(fā)送手機號,如果是中文,就發(fā)送數(shù)據(jù)的長度 } elseif(SMS_Num==3) { Uart1DataByte("AT+CMGS=37\r\n"); } elseif(SMS_Num==5) { Uart1DataByte("AT+CMGS=31\r\n"); } break; case22: G_Tab[0]=Phone[1]; G_Tab[1]=Phone[0]; G_Tab[2]=Phone[3]; G_Tab[3]=Phone[2]; G_Tab[4]=Phone[5]; G_Tab[5]=Phone[4]; G_Tab[6]=Phone[7]; G_Tab[7]=Phone[6]; G_Tab[8]=Phone[9]; G_Tab[9]=Phone[8]; G_Tab[10]='F'; G_Tab[11]=Phone[10]; G_Tab[12]='\0';//交叉放入手機號 if(SMS_Num==1)//短信內(nèi)容,英文直接發(fā)送字符串即可,中文除了前面跟的固定的數(shù)據(jù),后面實際的短信內(nèi)容要是Unicode碼 { Uart1DataByte("SetEnd"); } elseif(SMS_Num==2) { Uart1DataByte("0011000D9168"); Uart1DataByte((char*)G_Tab); Uart1DataByte("0008A914");//發(fā)送固定的數(shù)據(jù)以及交叉放入的手機號,最后跟的數(shù)據(jù)的最后兩個是數(shù)據(jù)數(shù) Uart1DataByte("6E295EA6503C8FC79AD8FF0C8BF76CE8610F0021");//溫度值過高,請注意! } elseif(SMS_Num==3) { Uart1DataByte("0011000D9168"); Uart1DataByte((char*)G_Tab); Uart1DataByte("0008A916");//發(fā)送固定的數(shù)據(jù)以及交叉放入的手機號,最后跟的數(shù)據(jù)的最后兩個是數(shù)據(jù)數(shù) Uart1DataByte("70DF96FE6D535EA68FC79AD8FF0C8BF76CE8610F0021");//煙霧濃度過高,請注意! } elseif(SMS_Num==5) { Uart1DataByte("0011000D9168"); Uart1DataByte((char*)G_Tab); Uart1DataByte("0008A910");//發(fā)送固定的數(shù)據(jù)以及交叉放入的手機號,最后跟的數(shù)據(jù)的最后兩個是數(shù)據(jù)數(shù) //Uart1DataByte("70DF96FE6D535EA68FC79AD8FF0C8BF76CE8610F0021");//煙霧濃度過高,請注意! Uart1DataByte("8B6662A5002167094EBA95EF51650021");//警報!有人闖入! } //delay(1000);//稍稍意思一下,然后發(fā)送一個0x1a,說明數(shù)據(jù)發(fā)送完畢HAL_Delay(100); AT_Count=23; break; case23: Uart1Data(0x1a); break; //發(fā)送0x1a,確保模塊接收到1a之后返回OK case24: Uart1DataByte("AT+CMGF=1\r\n"); SMS_Num=0; AT_Count=11; break; } }}//>Uart1voidGprsUartRun(){ unsignedchari=0;unsignedcharSBUF; if(1) { //RI=0;if(gprsSerial.IsDataExists()==false){return;}else{intreadGprsDat;readGprsDat=gprsSerial.read();if(readGprsDat<0){return;}SBUF=(uint8_t)readGprsDat;} Uart1_Buff[Uart1_Count]=SBUF; Uart1_Count=(Uart1_Count+1)%50; Uart1_Buff[Uart1_Count]='\0'; if(AT_Count==9||AT_Count==21)//這個命令有點特殊,不會返回回車,所以在這里處理下返回的是">" { if(Uart1_Count>=2&&Uart1_Buff[Uart1_Count-2]=='>'&&Uart1_Buff[Uart1_Count-1]=='') { Uart1_Count=0; AT_Count++; AT_Time=2; } } if(Uart1_Count>=2&&Uart1_Buff[Uart1_Count-2]=='\r'&&Uart1_Buff[Uart1_Count-1]=='\n') //接收到回車符 { if(AT_Count==0||AT_Count==1||AT_Count==2||AT_Count==3||AT_Count==5 ||AT_Count==6||AT_Count==7||AT_Count==20||AT_Count==22||AT_Count==23) { if(Uart1_Count>=4&&Uart1_Count<6&&Uart1_Buff[Uart1_Count-4]=='O'&&Uart1_Buff[Uart1_Count-3]=='K') //接收到OK { AT_Count++; AT_Time=2; } } elseif(AT_Count==4)//查詢注網(wǎng) { if(Uart1_Count>=20&&Uart1_Buff[Uart1_Count-20]=='+'&&Uart1_Buff[Uart1_Count-19]=='C') //+COPS:0,0,"CHINAMOBILE"因為移動卡信號好,所以現(xiàn)在都強制使用移動卡 { AT_Count++; AT_Time=2; } }// elseif(AT_Count==7)// {// if(strstr(Uart1_Buff,"+CREG:0")!=NULL)// {// AT_Count++;// AT_Time=2;// }// } elseif(AT_Count==8)//連接TCP { if(Uart1_Count>=12&&(strstr((char*)Uart1_Buff,(char*)"ALREADYCONNECT")!=NULL||strstr((char*)Uart1_Buff,(char*)"CONNECTOK")!=NULL))//CONNECTOK ALREADYCONNECT { AT_Count++; AT_Time=2; } } if(Uart1_Count>=11&&Uart1_Buff[Uart1_Count-11]=='S'&&Uart1_Buff[Uart1_Count-10]=='E'&&Uart1_Buff[Uart1_Count-6]=='F'&&Uart1_Buff[Uart1_Count-5]=='A'&&Uart1_Buff[Uart1_Count-3]=='L')//SENDFAIL { AT_Count=10; AT_Time=2; } elseif(Uart1_Count>=10&&Uart1_Buff[Uart1_Count-10]=='C'&&Uart1_Buff[Uart1_Count-8]=='O'&&Uart1_Buff[Uart1_Count-6]=='E'&&Uart1_Buff[Uart1_Count-5]==''&&Uart1_Buff[Uart1_Count-3]=='K')//CLOSEOK重連接處理 { AT_Count=8; AT_Time=2; } elseif(Uart1_Count>=8&&Uart1_Buff[Uart1_Count-8]=='C'&&Uart1_Buff[Uart1_Count-7]=='L'&&Uart1_Buff[Uart1_Count-6]=='O'&&Uart1_Buff[Uart1_Count-5]=='S'&&Uart1_Buff[Uart1_Count-3]=='D')//CLOSED重連接處理 { AT_Count=8; AT_Time=2; }//SENDFAIL if(Uart1_Count>=23&&Uart1_Buff[Uart1_Count-23]=='P'&&Uart1_Buff[Uart1_Count-19]=='E'&&Uart1_Buff[Uart1_Count-15]=='S'&&Uart1_Buff[Uart1_Count-14]==':') { for(i=0;i<11;i++) //保存到單片機中的手機號 { Phone[i]=Uart1_Buff[(Uart1_Count-13)+i]; } SMS_Num=1; phone_flag=1; } if(Uart1_Count>=5&&Uart1_Buff[Uart1_Count-5]=='G'&&Uart1_Buff[Uart1_Count-4]=='e'&&Uart1_Buff[Uart1_Count-3]=='t'){ //獲取經(jīng)緯度 SMS_Num=5; } Uart1_Count=0; } }}//extern"C"voidStart();voidStart(){ flashSaveDat.begin(); HAL_ADC_Start_DMA(&hadc1,(uint32_t*)adcDmaRecBuf,1); read_memory(); _io_led1.setOut(1); _io_led2.setOut(1); _io_led3.setOut(1); _io_ledG.setOut(1); _io_reShiDian.setInput(); button1.begin(); button2.begin(); button3.begin(); button4.begin(); beep.begin(); dht11.begin(); lcd1602.begin(); HAL_TIM_Base_Start_IT(&htim3); gprsSerial.receiveStart(); }voidDisplayRun(){ std::stringdisplayStr=""; if(setMode==0){ sprintf(sprintfBuf,"temp:%03dhum:%03d\n",(int)readDht11.temp,(int)readDht11.humi); displayStr+=sprintfBuf; sprintf(sprintfBuf,"yan:%03d",(int)readYan); displayStr+=sprintfBuf; if(buFang==true){ displayStr+="buFang"; } else{ displayStr+="No"; } } elseif(setMode==1){ if(setNumber==0&&setS0==true){ sprintf(sprintfBuf,"tF:hF:%03d\n",(int)appSaveDat.humiF); } elseif(setNumber==1&&setS0==true){ sprintf(sprintfBuf,"tF:%03dhF:

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論