基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

需求分析2.1需求概述本小節(jié)的主要內(nèi)容是基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的技術(shù)需求和非技術(shù)需求。2.1.1技術(shù)需求在設(shè)計(jì)和實(shí)現(xiàn)基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)時(shí),技術(shù)需求非常重要,直接影響到系統(tǒng)的性能、穩(wěn)定性和可用性。技術(shù)方面的需求包含充分的利用STM32微控制器特性、傳感器技術(shù)、數(shù)據(jù)采集與傳輸以及用戶界面和報(bào)警系統(tǒng)的設(shè)計(jì)。為了保證基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)可以滿足預(yù)期的目標(biāo)和性能,對(duì)以下幾點(diǎn)需求和實(shí)現(xiàn)是非常重要的,這樣系統(tǒng)才可以有效的發(fā)揮其作用,保證養(yǎng)殖場(chǎng)環(huán)境的穩(wěn)定與動(dòng)物的健康。①主控芯片:要充分利用STM32微控制器的高效能還有它的低功耗特性,確保系統(tǒng)能有長(zhǎng)時(shí)間的運(yùn)行能力,STM32是一種強(qiáng)大的微控制器,它不僅可以提供穩(wěn)定可靠的運(yùn)行環(huán)境而且還可以保持相對(duì)較低的功耗,還可以讓系統(tǒng)加長(zhǎng)使用壽命。②傳感器技術(shù):本系統(tǒng)中傳感器用于記錄一系列的實(shí)時(shí)數(shù)據(jù),如溫度、濕度和有害氣體濃度等,高質(zhì)量的傳感器能準(zhǔn)確檢測(cè)環(huán)境變化,提供可靠的數(shù)據(jù)。③數(shù)據(jù)的采集與傳輸:收集到的數(shù)據(jù)需要通過(guò)穩(wěn)定的通信網(wǎng)絡(luò)發(fā)送到手機(jī)APP,這涉及到WiFi無(wú)線傳輸技術(shù),數(shù)據(jù)傳輸需要快速、可靠,以減少數(shù)據(jù)丟失和延遲。④用戶界面和報(bào)警系統(tǒng):用戶界面應(yīng)直觀,方便養(yǎng)殖人員分析數(shù)據(jù)。報(bào)警系統(tǒng)對(duì)于及時(shí)響應(yīng)環(huán)境的變化至關(guān)重要,如溫濕度過(guò)高或有害氣體濃度超標(biāo)時(shí),蜂鳴器自動(dòng)發(fā)出響聲。2.1.2非技術(shù)需求除了技術(shù)方面的需求,非技術(shù)方面的需求也非常重要,這些需求會(huì)直接關(guān)系到系統(tǒng)的用戶體驗(yàn)、安全、法律合規(guī)性、可持續(xù)性、對(duì)環(huán)境的影響等。①用戶體驗(yàn):系統(tǒng)的操作方便是非常重要的,尤其是針對(duì)那些非技術(shù)背景的用戶。系統(tǒng)設(shè)計(jì)的簡(jiǎn)單明了,操作流程方便清晰以及提供全部的用戶操作方式,這可以幫助用戶能夠快速使用并且可以熟練的操作系統(tǒng),以便更好地實(shí)現(xiàn)養(yǎng)殖環(huán)境監(jiān)測(cè)和管理。②法律合規(guī)性:我們必須根據(jù)地區(qū)法律,系統(tǒng)處理的個(gè)人數(shù)據(jù)或與個(gè)人相關(guān)的數(shù)據(jù)必須符合相應(yīng)的數(shù)據(jù)保護(hù)法規(guī),除此之外我們也必須遵循特定于養(yǎng)殖業(yè)的法規(guī)和標(biāo)準(zhǔn)。③可持續(xù)性:隨著養(yǎng)殖技術(shù)的不斷發(fā)展,系統(tǒng)需要具備一定的可擴(kuò)展性,以便能夠靈活的應(yīng)對(duì)新的需求和挑戰(zhàn)。④環(huán)境影響:確保最大限度地減少系統(tǒng)對(duì)環(huán)境的影響,使用環(huán)保材料和優(yōu)化能源消耗可減輕環(huán)境負(fù)擔(dān),從而支持可持續(xù)發(fā)展目標(biāo)。⑤低功耗和高效能:系統(tǒng)設(shè)計(jì)應(yīng)考慮到能效,尤其在WiFi模塊的使用上,確保低功耗和長(zhǎng)期穩(wěn)定運(yùn)行。⑥準(zhǔn)確性:系統(tǒng)需要提供相對(duì)準(zhǔn)確的傳感器數(shù)據(jù),如溫度、濕度、氣體濃度等,以確保生長(zhǎng)環(huán)境符合標(biāo)準(zhǔn)。⑦成本效益:系統(tǒng)設(shè)計(jì)需要考慮成本效益,確保在滿足功能要求的同時(shí)控制成本。⑧維護(hù)和升級(jí):確保系統(tǒng)的組織結(jié)構(gòu)便于日常維護(hù)和后續(xù)技術(shù)升級(jí)。2.2系統(tǒng)框圖在系統(tǒng)設(shè)計(jì)階段,需要明確養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的功能需求和整體結(jié)構(gòu)。以STM32作為核心處理單元,構(gòu)建系統(tǒng)時(shí)需要考慮到傳感器、通信模塊和電源之間的連接和控制,建立合理的系統(tǒng)框架,可以確保各個(gè)模塊之間的協(xié)作和數(shù)據(jù)的有效傳輸。本系統(tǒng)的系統(tǒng)框圖如圖2.1所示。圖2.1系統(tǒng)框圖2.2.1硬件部分本系統(tǒng)采用了STM32F103C8T6微控制器作為整個(gè)系統(tǒng)的主控芯片,MQ135有害氣體傳感器、DHT11溫濕度傳感器和火焰?zhèn)鞲衅鲗?duì)養(yǎng)殖場(chǎng)環(huán)境進(jìn)行實(shí)時(shí)監(jiān)測(cè),監(jiān)測(cè)數(shù)據(jù)隨后被傳輸?shù)絊TM32微控制器進(jìn)行處理,然后系統(tǒng)通過(guò)OLED顯示屏實(shí)時(shí)顯示采集到的數(shù)據(jù),如果數(shù)據(jù)異常蜂鳴器將發(fā)出響聲,同時(shí)系統(tǒng)利用WiFi模塊進(jìn)行數(shù)據(jù)的無(wú)線傳輸,硬件組件框圖如圖2.2所示。圖2.2硬件組件框圖2.2.2軟件部分軟件部分主要由KeilMDK5和AndroidStudio組成,在KeilMDK5中,實(shí)現(xiàn)了對(duì)傳感器的數(shù)據(jù)采集,這些數(shù)據(jù)經(jīng)過(guò)STM32F103C8T6單片機(jī)的處理后,通過(guò)WiFi模塊無(wú)線傳輸給手機(jī)APP。AndroidStudio用于創(chuàng)建手機(jī)APP,該應(yīng)用程序的界面能夠展示各個(gè)傳感器收集到的數(shù)據(jù)、蜂鳴器和噴淋裝置(噴淋裝置用LED燈模擬)的狀態(tài)以及可以對(duì)噴淋裝置(噴淋裝置用LED燈模擬)和蜂鳴器進(jìn)行控制。2.3系統(tǒng)功能基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)包括硬件和軟件兩個(gè)部分,如表2.1所示。表2.1軟硬件功能表軟硬件功能DHT11溫濕度傳感器實(shí)時(shí)采集動(dòng)物生存環(huán)境中的溫濕度數(shù)據(jù)信息MQ135有害氣體傳感器實(shí)時(shí)采集動(dòng)物生存環(huán)境中的有害氣體濃度數(shù)據(jù)火焰?zhèn)鞲衅鳈z測(cè)是否有火災(zāi)發(fā)生,若檢測(cè)到火災(zāi),則噴淋裝置噴水(噴淋裝置用LED燈模擬,LED燈打開則為噴水)OLED顯示屏對(duì)采集到的數(shù)據(jù)信息進(jìn)行展示W(wǎng)iFi模塊進(jìn)行數(shù)據(jù)的無(wú)線傳輸蜂鳴器溫濕度、有害氣體、火災(zāi)異常時(shí)蜂鳴器發(fā)出響聲手機(jī)APP通過(guò)WiFi模塊將收集到的數(shù)據(jù)傳輸?shù)绞謾C(jī)APP上以供查看2.4所用技術(shù)本小節(jié)的主要內(nèi)容是基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的開發(fā)工具/語(yǔ)言以及開發(fā)平臺(tái)。2.4.1開發(fā)工具/語(yǔ)言KeilMDK5:Keil是一家提供嵌入式系統(tǒng)開發(fā)工具的公司,其主要產(chǎn)品是KeilMDK軟件套件,該套件集成了多種仿真器和調(diào)試器,可與硬件開發(fā)板連接,對(duì)系統(tǒng)進(jìn)行實(shí)時(shí)監(jiān)控和調(diào)試。本系統(tǒng)Keil軟件用于對(duì)STM32F103C8T6單片機(jī)進(jìn)行編寫并對(duì)程序控制,可以實(shí)現(xiàn)對(duì)傳感器的數(shù)據(jù)采集處理以及通信。AndroidStudio:AndroidStudio是用于創(chuàng)建Android應(yīng)用程序的集成開發(fā)環(huán)境。通過(guò)AndroidStudio,開發(fā)人員可以輕松地用Java、Kotlin和其他語(yǔ)言編寫代碼,創(chuàng)建用戶界面,進(jìn)行調(diào)試和優(yōu)化。本系統(tǒng)采用AndroidStudio軟件和Kotlin語(yǔ)言編寫APP,用戶可以查看數(shù)據(jù),及早發(fā)現(xiàn)不良環(huán)境因素。C語(yǔ)言:C語(yǔ)言接近硬件的操作、高效性能和廣泛的平臺(tái)兼容性,是嵌入式編程的首選語(yǔ)言之一,在本系統(tǒng)中首先明確系統(tǒng)需要監(jiān)測(cè)的環(huán)境參數(shù),如溫度、濕度、氣體濃度等,確定所需要的硬件,如傳感器、微控制器等,然后使用C語(yǔ)言編寫代碼,實(shí)現(xiàn)對(duì)各傳感器的數(shù)據(jù)讀取,緊接著在開發(fā)環(huán)境中進(jìn)行代碼編譯和調(diào)試,測(cè)試程序在硬件上的運(yùn)行情況,確保傳感器數(shù)據(jù)的讀取和處理,最后根據(jù)測(cè)試結(jié)果對(duì)代碼進(jìn)行優(yōu)化,提高系統(tǒng)的穩(wěn)定性和效率。Kotlin語(yǔ)言:Kotlin是一種與Java可互操作的靜態(tài)類型編程語(yǔ)言,由JetBrains開發(fā),2017年被谷歌宣布為Android官方編程語(yǔ)言之一。在本系統(tǒng)中首先在AndroidStudio中創(chuàng)建新項(xiàng)目時(shí)選擇Kotlin作為開發(fā)語(yǔ)言,然后使用AndroidStudio內(nèi)置的界面設(shè)計(jì)工具,實(shí)現(xiàn)界面元素?cái)?shù)據(jù)展示板,用于展示溫度、濕度、氣體濃度等環(huán)境參數(shù),緊接著使用Kotlin語(yǔ)言編寫APP的業(yè)務(wù)邏輯,實(shí)現(xiàn)與傳感器的數(shù)據(jù)通信。2.4.2開發(fā)平臺(tái)Windows平臺(tái):它廣泛應(yīng)用于個(gè)人電腦、筆記本電腦和服務(wù)器等設(shè)備,本系統(tǒng)的所有軟件設(shè)計(jì)和開發(fā)工作都是在Windows平臺(tái)上完成的,這包含KeilMDK5對(duì)STM32F103C8T6微控制器進(jìn)行編寫以及AndroidStudio對(duì)APP進(jìn)行編寫等,它為用戶提供了豐富的功能和服務(wù)。3系統(tǒng)設(shè)計(jì)3.1主芯片模塊本系統(tǒng)采用STM32F103C8T6單片機(jī)作為主控模塊,實(shí)物圖如圖3.1和圖3.2所示,它是一款流行的單片機(jī),屬于STM32系列,它具有多種低功耗模式,可根據(jù)需求進(jìn)行靈活配置以實(shí)現(xiàn)節(jié)能,適用于各種嵌入式系統(tǒng)應(yīng)用。圖3.1STM32F103C8T6單片機(jī)正面圖3.2STM32F103C8T6單片機(jī)背面STM32F103C8T6單片機(jī)的原理圖如3.3所示,它集成了豐富的外設(shè),包含通用定時(shí)器、串口通信接口、模擬數(shù)字轉(zhuǎn)換器、數(shù)字模擬轉(zhuǎn)換器、通用并行接口等,在工作時(shí),它通過(guò)加載程序代碼到Flash存儲(chǔ)器中,并配置相應(yīng)的寄存器和外設(shè)參數(shù)來(lái)實(shí)現(xiàn)特定功能,可以實(shí)現(xiàn)各種嵌入式應(yīng)用。在設(shè)計(jì)和開發(fā)過(guò)程中,充分了解其工作原理,合理利用其特點(diǎn)和功能特性,可以加快項(xiàng)目開發(fā)的完成速度,滿足應(yīng)用要求。圖3.3STM32F103C8T6單片機(jī)原理圖3.2硬件設(shè)計(jì)本小節(jié)對(duì)基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的硬件進(jìn)行了設(shè)計(jì),包括各類傳感器、OLED顯示屏、WiFi模塊以及蜂鳴器。3.2.1溫濕度傳感器本系統(tǒng)使用DHT11溫濕度傳感器,其實(shí)物圖如圖3.4所示,可以在3.3V和5V的供電電壓下正常工作。它通過(guò)結(jié)合微控制器,可以方便地獲取環(huán)境溫濕度數(shù)據(jù),適合用于各種嵌入式系統(tǒng)和物聯(lián)網(wǎng)項(xiàng)目中進(jìn)行溫濕度監(jiān)測(cè)。圖3.4DHT11溫濕度傳感器DHT11溫濕度傳感器的原理圖如圖3.5所示,它的工作原理分為兩個(gè)部分,一是溫度測(cè)量,DHT11內(nèi)置一個(gè)用于測(cè)量環(huán)境溫度的熱敏電阻,當(dāng)前的溫度通過(guò)測(cè)量電阻值的變化來(lái)獲取的;二是濕度測(cè)量,濕度是通過(guò)濕度敏感電容器測(cè)量,空氣越潮濕,電容值越高,空氣越干燥,電容值越低,DHT11通過(guò)感應(yīng)電容值的變化來(lái)測(cè)量空氣的相對(duì)濕度。圖3.5DHT11溫濕度傳感器原理圖3.2.2有害氣體傳感器本系統(tǒng)采用MQ135有害氣體傳感器,實(shí)物圖如圖3.6所示,該傳感器可檢測(cè)空氣中多種有害氣體,如丁烷、二氧化碳等,適用于養(yǎng)殖場(chǎng)、家庭、辦公室、工業(yè)設(shè)施等場(chǎng)所,監(jiān)測(cè)空氣中有害氣體的濃度,保護(hù)人們的健康和安全。圖3.6MQ135有害氣體傳感器有害氣體傳感器的原理圖如圖3.7所示,MQ135有害氣體傳感器的工作原理主要是化學(xué)吸附、電導(dǎo)率的變化和信號(hào)的輸出,先解釋一下化學(xué)吸附,MQ135傳感器的核心是一個(gè)小的金屬氧化物敏感層,當(dāng)傳感器在一定溫度下工作時(shí),敏感層的表面吸收空氣中的氣體分子,緊接著,吸附在敏感層表面的氣體分子會(huì)引發(fā)電導(dǎo)率的變化,這是由于氣體分子與敏感層表面的化學(xué)反應(yīng),導(dǎo)致材料的電導(dǎo)性質(zhì)發(fā)生變化,其導(dǎo)電性主要依賴于電子的數(shù)量,在清潔空氣中,敏感層表面的氧氣分子會(huì)捕獲自由電子,形成負(fù)離子,從而降低材料的電導(dǎo)率。當(dāng)有害氣體存在時(shí),這些氣體分子會(huì)與表面的氧負(fù)離子反應(yīng),釋放出被捕獲的電子,增加材料的電導(dǎo)率。然后是信號(hào)輸出,傳感器的電導(dǎo)率變化會(huì)轉(zhuǎn)換為電壓或電流的變化,通過(guò)電路處理后,可以輸出模擬或數(shù)字信號(hào),這些信號(hào)可以由微控制器等設(shè)備讀取,并轉(zhuǎn)換成氣體濃度的讀數(shù)。圖3.7MQ135有害氣體傳感器3.2.3火焰?zhèn)鞲衅鞅鞠到y(tǒng)采用火焰?zhèn)鞲衅?,?shí)物圖如圖3.8所示,它是一種用于檢測(cè)火焰存在的設(shè)備,火焰?zhèn)鞲衅魍ǔ>哂锌焖夙憫?yīng)、高靈敏度和穩(wěn)定性的特點(diǎn),能夠快速準(zhǔn)確地檢測(cè)到火焰信號(hào),它能夠通過(guò)感測(cè)火焰的光譜特征或者熱量變化來(lái)判斷是否存在火焰。圖3.8火焰?zhèn)鞲衅骰鹧鎮(zhèn)鞲衅鞯脑韴D如圖3.9所示,火焰?zhèn)鞲衅魍ǔS糜跈z測(cè)火焰是否存在,并在檢測(cè)到火焰時(shí)可以及時(shí)采取其他措施,它的工作原理是基于火焰產(chǎn)生的光譜特征和光敏元件的感受性,先解釋一下光敏元件,火焰?zhèn)鞲衅魍ǔ2捎霉饷粼绻饷綦娮杌蚬饷舳O管,這些元件對(duì)火焰產(chǎn)生的光譜具有高度的敏感性?;鹧姘l(fā)出的光譜包含具有特定強(qiáng)度和頻率特性的可見光和紅外光,光敏元件可以接收這些光譜并產(chǎn)生相應(yīng)的電信號(hào)。緊接著是光信號(hào)檢測(cè),當(dāng)火焰存在時(shí),火焰產(chǎn)生的光會(huì)照射到光敏元件上,光敏元件吸收光能,產(chǎn)生電子激發(fā)或電阻變化等效應(yīng)。然后是電信號(hào)輸出,在這里電激勵(lì)或光敏元件電阻的變化被轉(zhuǎn)換成電信號(hào),可以是電壓或電流信號(hào),顯示火焰的強(qiáng)度或存在的程度。然后是信號(hào)處理,傳感器內(nèi)部的電路將接收到的電信號(hào)進(jìn)行放大和處理,這有助于提升傳感器的靈敏度和穩(wěn)定性。最后輸出觸發(fā),根據(jù)處理后的信號(hào),傳感器會(huì)觸發(fā)警報(bào)和啟動(dòng)噴淋裝置(噴淋裝置用LED燈模擬)。圖3.9火焰?zhèn)鞲衅髟韴D3.2.4OLED顯示屏本系統(tǒng)采用0.96寸OLED顯示屏,實(shí)物圖如圖3.10所示,小型有機(jī)發(fā)光二極管(OLED)顯示屏通常使用3.3V或5V電源,具有低功耗的特點(diǎn),適用于各種電子產(chǎn)品,而且視角寬廣,可從各種角度觀察清晰的顯示內(nèi)容。圖3.10OLED顯示屏OLED顯示屏的原理圖如圖3.11所示,工作原理基于電流通過(guò)有機(jī)材料時(shí)所產(chǎn)生的電致發(fā)光效應(yīng)。OLED由機(jī)發(fā)光層、電子傳輸層等材料組成,這些有機(jī)材料有半導(dǎo)體特性,能夠在電流通入時(shí)發(fā)光。接著是電子注入,當(dāng)向發(fā)光二極管的兩端施加外部電壓時(shí),電子從負(fù)極流向正極,電子通過(guò)電子注入被注入有機(jī)發(fā)光層,電子空穴同時(shí)被注入正極。然后是電荷復(fù)合,電子和空穴在有機(jī)發(fā)光層相遇,形成鍵釋放能量。最后是發(fā)光,當(dāng)分子從激發(fā)狀態(tài)回到基本狀態(tài)時(shí),會(huì)釋放出光子,產(chǎn)生可見光。圖3.11OLED顯示屏原理圖3.2.5WiFi模塊本系統(tǒng)采用WiFi模塊的型號(hào)為ESP8266-01S,實(shí)物圖如圖3.12所示,它搭載了高度集成的WiFi芯片,支持802.11b/g/n標(biāo)準(zhǔn),可以通過(guò)串口進(jìn)行控制和配置,具有強(qiáng)大的處理能力和存儲(chǔ)容量,它也可以實(shí)現(xiàn)智能設(shè)備之間的無(wú)線連接,將設(shè)備連接到APP進(jìn)行數(shù)據(jù)傳輸。圖3.12WiFi模塊WiFi模塊的原理圖如圖3.13所示,它是一種用于無(wú)線網(wǎng)絡(luò)通信的設(shè)備,它通常用于連接設(shè)備到WiFi網(wǎng)絡(luò),實(shí)現(xiàn)無(wú)線數(shù)據(jù)傳輸。WiFi模塊的工作原理包括幾個(gè)方面,如射頻信號(hào)傳輸、網(wǎng)絡(luò)協(xié)議處理等。首先介紹射頻信號(hào)傳輸,WiFi模塊通過(guò)射頻天線與WiFi設(shè)備通信。其次是WiFi模塊內(nèi)置射頻調(diào)制解調(diào)器,可將數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換為射頻信號(hào)進(jìn)行傳輸,并將接收到的射頻信號(hào)解調(diào)為數(shù)字?jǐn)?shù)據(jù)。然后是網(wǎng)絡(luò)協(xié)議處理,WiFi模塊包含網(wǎng)絡(luò)協(xié)議處理功能,負(fù)責(zé)數(shù)據(jù)聚合、路由和傳輸,TCP/IP協(xié)議棧通過(guò)WiFi模塊與其他網(wǎng)絡(luò)設(shè)備通信,實(shí)現(xiàn)數(shù)據(jù)傳輸和交換。然后是WiFi連接管理,WiFi模塊通過(guò)掃描周圍的WiFi網(wǎng)絡(luò),并與選擇的網(wǎng)絡(luò)建立連接,連接建立成功后,WiFi模塊就可以在網(wǎng)絡(luò)上發(fā)送數(shù)據(jù)。最后是安全性,WiFi模塊還包括安全性功能,如加密和身份驗(yàn)證,用于保護(hù)數(shù)據(jù)傳輸?shù)陌踩浴D3.13WiFi模塊原理圖3.2.6蜂鳴器本系統(tǒng)采用無(wú)源蜂鳴器,實(shí)物圖如圖3.14所示,無(wú)源蜂鳴器也稱為壓電蜂鳴器或壓電陶瓷蜂鳴器,是一種簡(jiǎn)單且常用的聲音發(fā)生器,它不含有內(nèi)部振蕩器,需要外部電源通過(guò)微控制器的輸出端口輸入到無(wú)源蜂鳴器,以此讓蜂鳴器產(chǎn)生聲音,產(chǎn)生的聲音通過(guò)無(wú)源蜂鳴器的外部聲孔輸出到環(huán)境中。在本系統(tǒng)中當(dāng)蜂鳴器檢測(cè)到溫濕度、有害氣體、火災(zāi)狀況異常時(shí)蜂鳴器發(fā)出響聲。圖3.14蜂鳴器蜂鳴器的原理圖如圖3.15所示,本系統(tǒng)采用PWM(脈沖寬度調(diào)制)信號(hào)控制無(wú)源蜂鳴器,將PWM輸出引腳連接到無(wú)源蜂鳴器,PWM信號(hào)的高低電平變化會(huì)導(dǎo)致無(wú)源蜂鳴器的振動(dòng),PWM信號(hào)的頻率決定每秒鐘產(chǎn)生多少脈沖,進(jìn)而決定音調(diào),頻率越高,脈沖越多,音調(diào)越高。PWM信號(hào)的占空比表示高電平壽命與總周期時(shí)間的比值,占空比的設(shè)置影響信號(hào)器產(chǎn)生聲音的響度,增大占空比會(huì)增大聲音的響度,減小占空比會(huì)減小聲音的響度,占空比在PWM信號(hào)中非常重要,直接影響信號(hào)器控制應(yīng)用產(chǎn)生信號(hào)的平均功率和效果,通過(guò)調(diào)整PWM信號(hào)的占空比,可以實(shí)現(xiàn)精確的設(shè)備控制。圖3.15蜂鳴器原理圖3.3軟件設(shè)計(jì)本小節(jié)是基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的軟件設(shè)計(jì),其主要內(nèi)容包括主程序設(shè)計(jì)和手機(jī)APP設(shè)計(jì)。3.3.1主程序設(shè)計(jì)①溫濕度傳感器以下是DHT11溫濕度傳感器的工作流程和工作流程圖,如圖3.16所示。初始化:此傳感器在開始測(cè)量之前需要進(jìn)行初始化,以確保其處于最佳工作狀態(tài)。啟動(dòng)信號(hào)發(fā)送:微控制器向傳感器發(fā)送啟動(dòng)信號(hào),從而激活傳感器開始對(duì)溫濕度進(jìn)行測(cè)量。數(shù)據(jù)采集:在接收到信號(hào)后,傳感器立即開始采集數(shù)據(jù),其內(nèi)部元件對(duì)周圍環(huán)境的溫濕度進(jìn)行監(jiān)測(cè),并將這些物理量轉(zhuǎn)換成數(shù)字信號(hào)。數(shù)據(jù)傳輸:采集完成后,傳感器將測(cè)量到的數(shù)據(jù)傳輸給微控制器。數(shù)據(jù)處理和應(yīng)用:微控制器接收到傳感器采集到的數(shù)據(jù)并進(jìn)行處理,然后將數(shù)據(jù)實(shí)時(shí)顯示在OLED顯示屏和手機(jī)APP中,如果檢測(cè)到任何異常的溫濕度數(shù)據(jù),蜂鳴器發(fā)出響聲。圖3.16DHT11溫濕度傳感器工作流程圖以下是溫濕度傳感器的部分代碼設(shè)計(jì),如圖3.17所示,該代碼用于讀取和處理來(lái)自DHT11溫濕度傳感器的數(shù)據(jù),并根據(jù)讀取結(jié)果更新報(bào)警狀態(tài),先調(diào)用函數(shù)讀取溫濕度數(shù)據(jù),數(shù)據(jù)讀取成功后檢查溫濕度是否異常,如果異常,則更新報(bào)警狀態(tài),如果失敗,則顯示錯(cuò)誤信息,系統(tǒng)進(jìn)入無(wú)限循環(huán)。圖3.17溫濕度傳感器部分代碼②有害氣體傳感器以下是MQ135有害氣體傳感器的工作流程和工作流程圖,如圖3.18所示。預(yù)熱階段:此傳感器在使用之前需要進(jìn)行預(yù)熱,這是為了確保其性能穩(wěn)定和準(zhǔn)確性。檢測(cè)氣體濃度:當(dāng)傳感器預(yù)熱完成后,它就開始接收來(lái)自周圍環(huán)境的氣體濃度,MQ135有害氣體傳感器內(nèi)部有一個(gè)特定的化學(xué)敏感元件,通常是氧化錫。電信號(hào)輸出:內(nèi)部電路將會(huì)測(cè)量傳感元件的電阻變化,然后轉(zhuǎn)換成對(duì)應(yīng)的電信號(hào)。數(shù)據(jù)處理及應(yīng)用:電信號(hào)經(jīng)過(guò)STM32的處理,通常會(huì)轉(zhuǎn)換為有害氣體濃度數(shù)據(jù),檢測(cè)到的數(shù)據(jù)信息將會(huì)被顯示在OLED顯示屏和手機(jī)APP上,若數(shù)據(jù)異常,則蜂鳴器發(fā)出響聲。圖3.18MQ135有害氣體傳感器工作流程圖以下是MQ135有害氣體傳感器的部分代碼設(shè)計(jì),如圖3.19所示,這段代碼的功能是讀取MQ135有害氣體報(bào)警狀態(tài)并更新系統(tǒng)狀態(tài)。先是通過(guò)調(diào)用函數(shù)來(lái)讀取當(dāng)前的有害氣體濃度,然后判讀有害氣體濃度是否異常,如果濃度異常,相應(yīng)的報(bào)警狀態(tài)會(huì)被設(shè)置,如果濃度正常,則清除氣體報(bào)警狀態(tài)。圖3.19有害氣體傳感器部分代碼③火焰?zhèn)鞲衅饕韵率腔鹧鎮(zhèn)鞲衅鞯墓ぷ髁鞒毯凸ぷ髁鞒虉D,如圖3.20所示。光信號(hào):光感應(yīng)元件一旦捕獲到光信號(hào)后會(huì)將其轉(zhuǎn)換為對(duì)應(yīng)的電信號(hào)。信號(hào)放大:內(nèi)部電路通常會(huì)對(duì)接收到的光信號(hào)進(jìn)行放大和處理,以提高信號(hào)的靈敏度和穩(wěn)定性。信號(hào)分析:對(duì)放大后的信號(hào)進(jìn)行分析,以確定信號(hào)是否達(dá)到火焰?zhèn)鞲衅鞯臉?biāo)準(zhǔn)。觸發(fā)輸出:如果檢測(cè)到火焰信號(hào)超過(guò)了標(biāo)準(zhǔn),傳感器會(huì)觸發(fā)相應(yīng)的輸出,包括蜂鳴器發(fā)出響聲以及噴淋裝置(噴淋裝置用LED燈模擬)自動(dòng)打開。重置或復(fù)位:火焰信號(hào)消失后,傳感器通常會(huì)進(jìn)入重置或復(fù)位狀態(tài),此時(shí)傳感器可重新開始監(jiān)測(cè)火焰信號(hào)。圖3.20火焰?zhèn)鞲衅鞴ぷ髁鞒虉D以下是火焰?zhèn)鞲衅鞯牟糠执a設(shè)計(jì),如圖3.21所示,這段代碼的主要功能是讀取火災(zāi)檢測(cè)傳感器報(bào)警狀態(tài)并更新系統(tǒng)狀態(tài)以及根據(jù)火災(zāi)報(bào)警狀態(tài)打開噴淋裝置(用LED燈模擬),先是檢查火焰?zhèn)鞲衅魇欠駲z測(cè)到火焰,如果檢測(cè)到火焰,系統(tǒng)狀態(tài)將更新以設(shè)置火災(zāi)報(bào)警,蜂鳴器立即發(fā)出響聲,噴淋裝置將立即打開(噴淋裝置用LED燈模擬,LED燈打開則為噴水),LED燈也可以通過(guò)手機(jī)APP控制,如果沒有檢測(cè)到火災(zāi),則清除火災(zāi)報(bào)警狀態(tài)。圖3.21火焰?zhèn)鞲衅鞑糠执a④OLED顯示屏以下是OLED顯示屏的工作流程和工作流程圖,如圖3.22所示。圖像數(shù)據(jù)輸入:通過(guò)外部設(shè)備傳輸?shù)絆LED顯示屏的控制電路。像素點(diǎn)控制:接收?qǐng)D像數(shù)據(jù)后,控制電路根據(jù)圖像內(nèi)容和顯示要求控制每個(gè)像素點(diǎn)。電荷注入:控制電路根據(jù)像素控制信息向每個(gè)像素點(diǎn)發(fā)送電壓信號(hào)。電子-空穴復(fù)合:在有機(jī)發(fā)光層內(nèi)部,電子與空穴在相遇并且融合的時(shí)候?qū)?huì)共同釋放出能量,激活有機(jī)發(fā)光層中的分子。發(fā)光:當(dāng)分子從激發(fā)態(tài)返回到基態(tài)的時(shí)候,釋放光子并產(chǎn)生可見光。圖像輸出:發(fā)出的光穿過(guò)透明電極,在OLED屏幕表面產(chǎn)生圖像。刷新:當(dāng)圖像數(shù)據(jù)發(fā)生變化時(shí),控制電路會(huì)更新相應(yīng)的像素控制信息,以改變每個(gè)像素點(diǎn)的亮度和顏色值,從而更新顯示內(nèi)容。圖3.22OLED顯示屏工作流程圖以下是OLED顯示屏的部分代碼設(shè)計(jì),如圖3.23所示,這段代碼負(fù)責(zé)更新并在OLED屏幕上顯示環(huán)境監(jiān)測(cè)系統(tǒng)的當(dāng)前狀態(tài),它先是顯示氣體、濕度和溫度的當(dāng)前讀數(shù),這些值分別在OLED屏幕的不同行上顯示,使用函數(shù)將數(shù)據(jù)轉(zhuǎn)化為可讀的文本格式顯示出來(lái),然后使用一個(gè)switch語(yǔ)句來(lái)判斷系統(tǒng)的當(dāng)前報(bào)警狀態(tài),并根據(jù)這個(gè)狀態(tài)設(shè)置一個(gè)對(duì)應(yīng)的報(bào)警信息字符串,這些報(bào)警狀態(tài)包括正常狀態(tài)、溫度過(guò)高、濕度過(guò)高、氣體濃度過(guò)高、火災(zāi)報(bào)警,以及它們的各種組合,每種狀態(tài)都有一個(gè)對(duì)應(yīng)的描述字符串,最后選定的報(bào)警狀態(tài)信息被格式化并顯示在OLED屏幕上,這樣用戶可以一目了然地看到當(dāng)前的環(huán)境參數(shù)和系統(tǒng)的報(bào)警狀態(tài)。圖3.23OLED顯示屏部分代碼⑤WiFi模塊以下是WiFi模塊的工作流程和工作流程圖,如圖3.24所示。開機(jī)和初始化:通電后,要經(jīng)過(guò)上電和初始化過(guò)程,在這一過(guò)程中,模塊要配置其硬件和軟件組件。掃描可用網(wǎng)絡(luò):手機(jī)上掃描可用WiFi,然后進(jìn)行連接。選擇網(wǎng)絡(luò):設(shè)備根據(jù)掃描結(jié)果選擇要連接的目標(biāo)網(wǎng)絡(luò)。建立連接:在連接建立期間,模塊會(huì)與目標(biāo)網(wǎng)絡(luò)進(jìn)行身份驗(yàn)證過(guò)程,以確保連接的安全性和合法性,身份驗(yàn)證成功后,WiFi模塊與目標(biāo)網(wǎng)絡(luò)建立起連接,并分配給模塊一個(gè)IP地址。數(shù)據(jù)傳輸:當(dāng)建立連接后,WiFi模塊獲取到的數(shù)據(jù)信息將無(wú)線傳輸?shù)绞謾C(jī)APP上。圖3.24WiFi模塊工作流程圖以下是WiFi模塊的部分代碼設(shè)計(jì),如圖3.25所示,這段代碼通過(guò)WiFi將環(huán)境監(jiān)測(cè)到的數(shù)據(jù)上傳到手機(jī)APP。先是檢查定時(shí)計(jì)數(shù)器是否達(dá)到了預(yù)設(shè)的上傳間隔,一旦計(jì)數(shù)器滿足條件,將執(zhí)行數(shù)據(jù)上傳的操作,上傳的數(shù)據(jù)包括當(dāng)前的溫度、濕度、氣體濃度,以及與火災(zāi)檢測(cè)相關(guān)的閾值和狀態(tài),這些信息被格式化為一個(gè)字符串,如果WiFi連接的linkid為0,通常表示已經(jīng)建立連接,則調(diào)用函數(shù)來(lái)上傳格式化后的數(shù)據(jù),完成上傳后,計(jì)數(shù)器重置為0,等待下一次上傳周期。圖3.25WiFi模塊部分代碼⑥蜂鳴器無(wú)源蜂鳴器的工作流程相對(duì)簡(jiǎn)單,首先,必須有一個(gè)電源、一個(gè)來(lái)自微控制器的外部電氣輸入信號(hào)、一個(gè)電子設(shè)備的輸出端口、一個(gè)傳感器或其他觸發(fā)電氣信號(hào)以產(chǎn)生聲音的來(lái)源。電信號(hào)輸入接收完成后,無(wú)源蜂鳴器內(nèi)部的被激發(fā)振動(dòng),膜片的振動(dòng)引起周圍空氣振動(dòng),形成聲波,產(chǎn)生可聽到的聲音。最后,產(chǎn)生的聲音通過(guò)無(wú)源蜂鳴器的聲孔輸出到周圍環(huán)境中,聲音的音調(diào)和音量取決于輸入電信號(hào)的頻率和幅度。其工作流程圖,如圖3.26所示。圖3.26蜂鳴器工作流程圖以下是蜂鳴器部分的代碼設(shè)計(jì),根據(jù)狀態(tài)打開蜂鳴器報(bào)警,如圖3.27所示,首先是判斷當(dāng)前狀態(tài)是否正常,如果狀態(tài)不正常則蜂鳴器將發(fā)出響聲,如果狀態(tài)正常則蜂鳴器關(guān)閉響聲,除此之外,蜂鳴器也可以用手機(jī)APP控制。圖3.27蜂鳴器部分代碼⑦閃燈任務(wù)這段代碼是一個(gè)周期性任務(wù),用于控制LED燈的閃爍,以及設(shè)置一個(gè)狀態(tài)變量。當(dāng)燈持續(xù)閃爍時(shí),意味著系統(tǒng)處于正常狀態(tài),代碼如圖3.28所示。圖3.28閃燈任務(wù)3.3.2手機(jī)APP設(shè)計(jì)本系統(tǒng)的手機(jī)APP功能主要是通過(guò)WiFi模塊無(wú)線傳輸溫濕度和有害氣體傳感器實(shí)時(shí)監(jiān)測(cè)到的數(shù)據(jù)并且在數(shù)據(jù)發(fā)生異常時(shí)蜂鳴器發(fā)出響聲時(shí)可以通過(guò)手機(jī)APP查看,可以在報(bào)警狀態(tài)那一欄上可以看到有報(bào)警三個(gè)字,還有就是在火焰?zhèn)鞲衅鞅O(jiān)測(cè)到有火焰的情況下手機(jī)APP噴淋狀態(tài)那一欄上顯示正在噴淋以及在火災(zāi)報(bào)警和報(bào)警狀態(tài)上顯示有報(bào)警,還有一個(gè)功能就是在手機(jī)APP上可以控制噴淋裝置(用LED燈模擬)和蜂鳴器的開與關(guān),手機(jī)APP的主界面如圖3.29所示。圖3.29手機(jī)APP主頁(yè)面本段代碼中的InspectorData是一個(gè)數(shù)據(jù)類,用于表示某種檢測(cè)器的數(shù)據(jù)。它包含了多個(gè)屬性,例如溫度、濕度、二氧化碳濃度、二氧化碳濃度閾值、火災(zāi)檢測(cè)值等,代碼如圖3.30所示。圖3.30數(shù)據(jù)類本段代碼是采集設(shè)備上傳數(shù)據(jù)json轉(zhuǎn)InspectorData對(duì)象工具類,這兩個(gè)組件在一起工作時(shí),可以使得從傳感器接收到的json數(shù)據(jù)被有效地轉(zhuǎn)換為具體的Kotlin對(duì)象,使用InspectorData類可以方便地處理和訪問(wèn)這些數(shù)據(jù),代碼如圖3.31所示。圖3.31數(shù)據(jù)json轉(zhuǎn)InspectorData對(duì)象工具類綁定界面控件,用于顯示溫度、濕度、二氧化碳濃度、火警狀態(tài)、報(bào)警狀態(tài),并控制噴淋裝置(用LED燈模擬)和蜂鳴器,代碼如圖3.32所示。圖3.32綁定界面控件這段代碼是一個(gè)在Kotlin中編寫的匿名線程,主要用于建立和服務(wù)器的網(wǎng)絡(luò)連接,并從該連接中獲取輸入和輸出流,代碼如圖3.33所示。圖3.33與服務(wù)器建立連接新開網(wǎng)絡(luò)線程連接到單片機(jī)建立的服務(wù)器不斷讀取數(shù)據(jù),然后接收信息更新界面,并將這些數(shù)據(jù)顯示在手機(jī)APP的上,如圖3.34所示。圖3.34網(wǎng)絡(luò)線程連接設(shè)置控件點(diǎn)擊事件回調(diào)函數(shù),實(shí)現(xiàn)控制命令下發(fā),當(dāng)界面上的控件被點(diǎn)擊時(shí),操作系統(tǒng)會(huì)調(diào)用這個(gè)回調(diào)方法,在這里讀取控件狀態(tài)并新開線程將噴淋裝置的命令下發(fā)給單片機(jī),如圖3.35所示。圖3.35噴淋裝置命令下發(fā)設(shè)置控件點(diǎn)擊事件回調(diào)函數(shù),實(shí)現(xiàn)控制命令下發(fā),當(dāng)界面上的控件被點(diǎn)擊時(shí),操作系統(tǒng)會(huì)調(diào)用這個(gè)回調(diào)方法,在這里讀取控件狀態(tài)并新開線程將蜂鳴器的命令下發(fā)給單片機(jī),如圖3.36所示。圖3.36蜂鳴器命令下發(fā)服務(wù)器地址和端口如下,地址是無(wú)線模塊默認(rèn)的,端口自己設(shè)置的空閑端口,如圖3.37所示。圖3.37服務(wù)器地址和端口3.4系統(tǒng)流程圖本系統(tǒng)首先對(duì)軟硬件進(jìn)行初始化,然后通過(guò)溫濕度和有害氣體傳感器對(duì)養(yǎng)殖場(chǎng)當(dāng)前的養(yǎng)殖環(huán)境進(jìn)行實(shí)時(shí)數(shù)據(jù)采集,采集到的數(shù)據(jù)通過(guò)OLED顯示屏實(shí)時(shí)顯示采,如果采集到的數(shù)據(jù)存在異常情況則蜂鳴器發(fā)出響聲,同時(shí)系統(tǒng)通過(guò)火焰?zhèn)鞲衅鬟M(jìn)行火災(zāi)檢測(cè),如果檢測(cè)到火災(zāi),則蜂鳴器發(fā)出響聲同時(shí)噴淋裝置自動(dòng)噴水(噴淋裝置用LED燈模擬,LED燈打開則為噴水),這些數(shù)據(jù)將通過(guò)WiFi模塊無(wú)線傳輸?shù)绞謾C(jī)APP上,本系統(tǒng)流程圖如圖3.38所示。圖3.38系統(tǒng)流程圖4系統(tǒng)測(cè)試4.1測(cè)試目的基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行測(cè)試的目的是為了驗(yàn)證系統(tǒng)的功能和性能。這包含保證所有關(guān)鍵功能,溫濕度、有害氣體濃度和火焰的實(shí)時(shí)監(jiān)測(cè)以及蜂鳴器、噴淋裝置(用LED燈模擬)、OLED顯示屏、WiFi模塊和手機(jī)APP是否完好。通過(guò)以上測(cè)試,可以驗(yàn)證系統(tǒng)是否按照設(shè)計(jì)要求運(yùn)行。4.2測(cè)試范圍本次主要測(cè)試了DHT11溫濕度傳感器、MQ135有害氣體傳感器和火焰?zhèn)鞲衅鞯膶?shí)時(shí)監(jiān)測(cè)功能,確保監(jiān)測(cè)到的數(shù)據(jù)能夠正常顯示到OLED顯示屏和通過(guò)WiFi模塊將監(jiān)測(cè)到的數(shù)據(jù)無(wú)線傳輸手機(jī)APP上并且在發(fā)生數(shù)據(jù)異常時(shí)蜂鳴器能否正常發(fā)出響聲以及在發(fā)生火災(zāi)時(shí)噴淋裝置(用LED燈模擬)是否能正常開啟。4.3功能測(cè)試本小節(jié)是基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的功能測(cè)試,其主要內(nèi)容包括硬件測(cè)試和軟件測(cè)試。4.3.1硬件測(cè)試通電測(cè)試是電子制造和維修領(lǐng)域中一個(gè)關(guān)鍵的步驟。通電測(cè)試的核心目的在于確認(rèn)各個(gè)傳感器模塊以及整個(gè)系統(tǒng)是否按照設(shè)計(jì)正常工作以及在接入電源之后的功能性與安全性。通電測(cè)試可以幫助早期發(fā)現(xiàn)制造缺陷或組裝錯(cuò)誤,還可以確保設(shè)備的安全性??偟膩?lái)說(shuō),通電測(cè)試是確保電子設(shè)備安全、可靠和符合標(biāo)準(zhǔn)的重要環(huán)節(jié),對(duì)于保障產(chǎn)品質(zhì)量和用戶安全至關(guān)重要,本系統(tǒng)的硬件通電測(cè)試結(jié)果如表4.1所示。表4.1硬件通電測(cè)試結(jié)果序號(hào)硬件測(cè)試情況1STM32F103C8T6單片機(jī)成功通電,正常運(yùn)行2溫濕度傳感器成功通電,正常運(yùn)行3有害氣體傳感器成功通電,正常運(yùn)行4火焰?zhèn)鞲衅鞒晒ν?,正常運(yùn)行5蜂鳴器成功通電,正常運(yùn)行6OLED顯示屏成功通電,正常運(yùn)行7WiFi模塊成功通電,正常運(yùn)行測(cè)試完成后將下載器與電腦連接,仔細(xì)檢查接口是否牢固,然后觀察下載器的指示燈和STM32F103C8T6單片機(jī)是否通電成功,若通電成功,則下載器和單片機(jī)上的指示燈亮起,如圖4.1所示。圖4.1通電測(cè)試4.3.2軟件測(cè)試①代碼測(cè)試在KeilMDK5里面運(yùn)行代碼,測(cè)試代碼是否存在報(bào)錯(cuò)情況,若沒有報(bào)錯(cuò)則把代碼通過(guò)下載器下載到STM32單片機(jī)里,如圖4.2所示。圖4.2代碼測(cè)試②WiFi模塊當(dāng)電源連接成功后,打開手機(jī)的WiFi設(shè)置界面,在界面中,仔細(xì)瀏覽可用的WiFi網(wǎng)絡(luò)列表,搜索WiFi模塊對(duì)應(yīng)的網(wǎng)絡(luò)名稱,找到后點(diǎn)擊該網(wǎng)絡(luò)名稱進(jìn)行連接,在輸入密碼后,手機(jī)將嘗試與WiFi模塊建立連接,連接成功后手機(jī)上將會(huì)顯示“已連接”,如圖4.3所示。圖4.3WiFi連接當(dāng)手機(jī)成功連接到WiFi模塊后,我們將會(huì)有20秒的時(shí)間打開手機(jī)APP,打開手機(jī)APP后,它會(huì)自動(dòng)檢測(cè)到已連接的WiFi模塊,并開始無(wú)線連接,如圖4.4所示。如果未能在20秒以內(nèi)成功連接,則需要重新開始連接流程。圖4.4連接等待時(shí)間③有害氣體傳感器有害氣體傳感器通過(guò)檢測(cè)氣體與其本身的敏感材料相互作用時(shí)的電阻變化,來(lái)判斷空氣中是否存在有害氣體,然后將實(shí)時(shí)監(jiān)測(cè)到的有害氣體濃度傳送給微控制器。本次測(cè)試測(cè)量了當(dāng)前環(huán)境中的二氧化碳濃度,然后把二氧化碳濃度顯示在OLED顯示屏上,當(dāng)濃度超過(guò)設(shè)定的閾值時(shí),蜂鳴器發(fā)出響聲、OLED顯示屏上將顯示>GasHigh,測(cè)試結(jié)果如圖4.5所示。圖4.5有害氣體測(cè)試有害氣體濃度通過(guò)WiFi模塊實(shí)時(shí)將數(shù)據(jù)傳輸?shù)绞謾C(jī)APP上,我們可以在手機(jī)APP上查看有害氣體濃度的變化,當(dāng)濃度超過(guò)設(shè)定的閾值時(shí),蜂鳴器發(fā)出響聲,同時(shí)我們可以在手機(jī)APP的報(bào)警狀態(tài)那一欄上看到有報(bào)警,如圖4.6所示。圖4.6手機(jī)APP上顯示氣體濃度的變化④溫濕度傳感器溫濕度傳感器將實(shí)時(shí)監(jiān)測(cè)到的溫度傳送到微控制器上,并將采集到的數(shù)據(jù)顯示在OLED顯示屏上,當(dāng)溫度超過(guò)設(shè)定的閾值時(shí),蜂鳴器將發(fā)出響聲,OLED顯示屏上將顯示>TempHigh,溫度測(cè)試如圖4.7所示。圖4.7溫度測(cè)試溫度通過(guò)WiFi模塊將數(shù)據(jù)傳輸?shù)绞謾C(jī)APP上,我們可以在手機(jī)APP上查看溫度的變化,當(dāng)溫度異常時(shí),蜂鳴器發(fā)出響聲,同時(shí)我們可以在手機(jī)APP的報(bào)警狀態(tài)那一欄上看到有報(bào)警,如圖4.8所示。圖4.8手機(jī)APP上顯示溫度的變化溫濕度傳感器實(shí)時(shí)將監(jiān)測(cè)到的濕度傳送到微控制器上,并將實(shí)時(shí)采集到的數(shù)據(jù)顯示在OLED顯示屏上,當(dāng)濕度超過(guò)設(shè)定的閾值時(shí),蜂鳴器將發(fā)出響聲,OLED顯示屏上將顯示>HumiHigh,濕度測(cè)試如圖4.9所示。圖4.9溫度測(cè)試濕度通過(guò)WiFi模塊實(shí)時(shí)將數(shù)據(jù)傳輸?shù)绞謾C(jī)APP上,我們可以在手機(jī)APP上查看濕度的變化,當(dāng)濕度超過(guò)設(shè)定的閾值時(shí),蜂鳴器發(fā)出響聲,同時(shí)我們可以在手機(jī)APP的報(bào)警狀態(tài)那一欄上看到有報(bào)警,如圖4.10所示。圖4.10手機(jī)APP上顯示濕度的變化⑤火焰?zhèn)鞲衅骰鹧鎮(zhèn)鞲衅鲗?shí)時(shí)監(jiān)測(cè)當(dāng)前環(huán)境中是否存在火災(zāi)情況,如果出現(xiàn)火災(zāi)情況蜂鳴器將立即發(fā)出響聲并且噴淋裝置(用LED燈模擬)將自動(dòng)打開,OLED顯示屏上顯示>FireAlarm,測(cè)試結(jié)果如圖4.11所示。圖4.11火焰測(cè)試火災(zāi)是否存在將通過(guò)WiFi模塊實(shí)時(shí)將數(shù)據(jù)傳輸?shù)绞謾C(jī)APP上,當(dāng)發(fā)生火災(zāi)時(shí),蜂鳴器發(fā)出響聲,同時(shí)我們可以在手機(jī)APP的噴淋狀態(tài)那一欄上看見正在噴淋,火災(zāi)報(bào)警和報(bào)警狀態(tài)那一欄上看到有報(bào)警,如圖4.12所示。圖4.12手機(jī)APP上的變化⑥噴淋裝置(用LED燈模擬)在檢測(cè)到火災(zāi)時(shí),噴淋裝置將會(huì)自動(dòng)開始噴水,以便控制或撲滅火勢(shì)。本系統(tǒng)的噴淋裝置開關(guān)可以在手機(jī)APP上手動(dòng)操作,允許養(yǎng)殖人員在必要時(shí)手動(dòng)激活或關(guān)閉噴淋裝置,手動(dòng)激活測(cè)試結(jié)果如圖4.13所示。圖4.13LED燈手動(dòng)打開狀態(tài)測(cè)試手動(dòng)激活后,測(cè)試關(guān)閉噴淋裝置,測(cè)試結(jié)果如圖4.14所示。圖4.14LED燈手動(dòng)關(guān)閉狀態(tài)⑦蜂鳴器在檢測(cè)到溫濕度、有害氣體濃度以及火災(zāi)異常時(shí),蜂鳴器將自動(dòng)發(fā)出響聲,本系統(tǒng)蜂鳴器的開與關(guān)可以在手機(jī)APP上手動(dòng)操作,這便于養(yǎng)殖人員在蜂鳴器出現(xiàn)誤報(bào)或者其它情況時(shí)可以更好的控制蜂鳴器,測(cè)試結(jié)果如圖4.15所示。圖4.15蜂鳴器手動(dòng)打開狀態(tài)測(cè)試手動(dòng)打開后,測(cè)試手動(dòng)關(guān)閉,測(cè)試結(jié)果如圖4.16所示。圖4.16蜂鳴器手動(dòng)關(guān)閉狀態(tài)⑧傳感器實(shí)時(shí)將監(jiān)測(cè)到的數(shù)據(jù)傳送到微控制器上,如果兩項(xiàng)數(shù)據(jù)同時(shí)發(fā)生異常情況,例如二氧化碳濃度和濕度同時(shí)異常,蜂鳴器將會(huì)立即發(fā)出響聲,OLED顯示屏上將顯示G&HHigh,測(cè)試結(jié)果如圖4.17所示。圖4.17二氧化碳濃度和濕度過(guò)高二氧化碳濃度和濕度將通過(guò)WiFi模塊實(shí)時(shí)將數(shù)據(jù)傳輸?shù)绞謾C(jī)APP上,當(dāng)濃度和濕度異常時(shí),蜂鳴器發(fā)出響聲,同時(shí)我們可以在手機(jī)APP的報(bào)警狀態(tài)那一欄上看到有報(bào)警,如圖4.18所示。圖4.18手機(jī)APP上顯示的變化⑨如果三項(xiàng)數(shù)據(jù)同時(shí)發(fā)生異常情況,傳感器實(shí)時(shí)將監(jiān)測(cè)到的濕度傳送到微控制器上,例如溫度、濕度和二氧化碳濃度同時(shí)異常,蜂鳴器將會(huì)立即發(fā)出響聲,OLED顯示屏上將顯示G&H&THigh,測(cè)試結(jié)果如圖4.19所示。圖4.19有害氣體濃度和溫濕度過(guò)高二氧化碳濃度和溫濕度將通過(guò)WiFi模塊將數(shù)據(jù)傳輸?shù)绞謾C(jī)APP上,當(dāng)濃度和溫濕度異常時(shí),蜂鳴器發(fā)出響聲,同時(shí)我們可以在手機(jī)APP的報(bào)警狀態(tài)那一欄上看到有報(bào)警,如圖4.20所示。圖4.20手機(jī)APP上顯示的變化4.4測(cè)試心得以下是我遇到的一些問(wèn)題及其解決辦法:①手機(jī)APP和WiFi模塊可以通信,然后沒法控制單片機(jī)的燈,最后檢查來(lái)檢查去發(fā)現(xiàn)是單片機(jī)串口接收代碼有問(wèn)題,模塊接收到數(shù)據(jù)后會(huì)發(fā)送\r\n+IPD,0,數(shù)據(jù)長(zhǎng)度,數(shù)據(jù)內(nèi)容\r\n,而原來(lái)的串口接收以\r\n為結(jié)束,導(dǎo)致這完整的一幀數(shù)據(jù)被截?cái)嘀蛔R(shí)別到前面的\r\n,認(rèn)為是空數(shù)據(jù),所以一直沒法控制,后面改成串口空閑中斷接收就可以了。②溫濕度老是讀取錯(cuò)誤,這個(gè)是連接問(wèn)題,最后決定把溫濕度牢牢焊接在板子上。③客戶端退出或無(wú)客戶端連接時(shí)單片機(jī)程序卡頓,最后發(fā)現(xiàn)是單片機(jī)沒判斷客戶端是否連接,一直無(wú)腦發(fā)送,導(dǎo)致發(fā)送錯(cuò)誤,卡超時(shí)了。后面改成空閑中斷后,在大循環(huán)里加上判斷客戶端在線掉線的代碼,然后客戶端掉線或未連接時(shí)不發(fā)送數(shù)據(jù)就不卡頓了。④蜂鳴器驅(qū)動(dòng)不起來(lái),聲音很弱。詢問(wèn)店家發(fā)現(xiàn)這個(gè)是無(wú)源蜂鳴器,需要用PWM驅(qū)動(dòng),經(jīng)過(guò)一番查找資料終于驅(qū)動(dòng)起來(lái)了。⑤用調(diào)試助手可以和WiFi模塊通信,但是自己的APP發(fā)送,模塊收到一堆無(wú)意義字符,經(jīng)檢查發(fā)現(xiàn),是發(fā)送前把字符串給編碼了,Python發(fā)送前需要調(diào)用字符串的encode方法轉(zhuǎn)換成字節(jié)數(shù)組發(fā)送,后來(lái)發(fā)現(xiàn),Kotlin里encode方法只會(huì)返回對(duì)象引用,所以收到的是一堆看起來(lái)無(wú)意義的對(duì)象引用字符串,后面一番查找資料和調(diào)試改成Kotlin方式,用"ledon".toByteArray()就可以了。5總結(jié)與展望5.1總結(jié)基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)是一個(gè)綜合性的工程,涉及到硬件設(shè)計(jì)、傳感器應(yīng)用以及數(shù)據(jù)處理與展示等多個(gè)方面,本系統(tǒng)的宗旨是為了幫助養(yǎng)殖場(chǎng)的管理者實(shí)時(shí)監(jiān)測(cè)養(yǎng)殖環(huán)境中的關(guān)鍵參數(shù),提高養(yǎng)殖效率。在本文中,第一章介紹了研究目的及意義,并且分析了國(guó)內(nèi)外的研究現(xiàn)狀,第二章介紹了技術(shù)需求和非技術(shù)需求、系統(tǒng)框圖、系統(tǒng)功能以及所用到的技術(shù),第三章介紹了主芯片模塊、硬件設(shè)計(jì)、主程序設(shè)計(jì)、手機(jī)APP設(shè)計(jì)以及系統(tǒng)流程圖,第四章對(duì)整個(gè)系統(tǒng)進(jìn)行了測(cè)試。養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)首先需要明確監(jiān)測(cè)的參數(shù),本系統(tǒng)監(jiān)測(cè)的參數(shù)包含溫濕度、有害氣體濃度以及是否發(fā)生火災(zāi),基于這些參數(shù),選擇了相應(yīng)的傳感器模塊,并將這些傳感器與STM32微控制器進(jìn)行連接。同時(shí),為了方便用戶查看數(shù)據(jù),用戶可以在OLED顯示屏和手機(jī)APP上實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù),若監(jiān)測(cè)到的溫濕度數(shù)據(jù)、有害氣體數(shù)據(jù)異常蜂鳴器將會(huì)發(fā)出響聲,發(fā)生火災(zāi)時(shí)蜂鳴器和噴淋裝置(噴淋裝置用LED燈模擬)將會(huì)同時(shí)響應(yīng)。在硬件設(shè)計(jì)方面,我決定使用STM32F103C8T6微控制器作為系統(tǒng)的主控制單元,其穩(wěn)定性和性能都能夠滿足系統(tǒng)的要求。同時(shí),我們選擇了合適的溫濕度、有害氣體和火焰監(jiān)測(cè)傳感器模塊,并將它們連接到STM32F103C8T6微控制器上,以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)采集。在軟件設(shè)計(jì)方面,采用了C語(yǔ)言編程,利用STM32的開發(fā)環(huán)境進(jìn)行開發(fā),實(shí)現(xiàn)了傳感器數(shù)據(jù)的實(shí)時(shí)采集、數(shù)據(jù)的實(shí)時(shí)顯示以及在采集到的數(shù)據(jù)發(fā)生異常時(shí)蜂鳴器將發(fā)出響聲。在系統(tǒng)實(shí)現(xiàn)過(guò)程中,也遇到了各種各樣的挑戰(zhàn)和問(wèn)題,但是最終克服了這些問(wèn)題,并成功實(shí)現(xiàn)了養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng),該系統(tǒng)能夠?qū)崟r(shí)監(jiān)測(cè)養(yǎng)殖周圍環(huán)境中的溫濕度、有害氣體濃度以及火災(zāi)情況,一旦出現(xiàn)數(shù)據(jù)異常情況蜂鳴器將立即發(fā)出響聲,讓養(yǎng)殖人員采取行動(dòng),確保養(yǎng)殖場(chǎng)環(huán)境的穩(wěn)定和安全。5.2展望隨著社會(huì)經(jīng)濟(jì)的不斷發(fā)展,基于STM32養(yǎng)殖場(chǎng)環(huán)境監(jiān)測(cè)系統(tǒng)未來(lái)也將不斷發(fā)展,變得更加智能、便捷,并且將不斷引入新的技術(shù)來(lái)提升系統(tǒng)的性能和功能,以滿足養(yǎng)殖場(chǎng)日益增長(zhǎng)的需求。以下是幾點(diǎn)展望:①擴(kuò)展功能:結(jié)合先進(jìn)的傳感器技術(shù),可以更詳細(xì)地監(jiān)測(cè)動(dòng)物健康和行為模式,進(jìn)一步提高養(yǎng)殖的質(zhì)量和效率。②大數(shù)據(jù)和分析:通過(guò)分析歷史數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù),可以預(yù)測(cè)未來(lái)的環(huán)境變化,及時(shí)做出調(diào)整,甚至在問(wèn)題發(fā)生前進(jìn)行預(yù)防。③可持續(xù)發(fā)展與環(huán)保:未來(lái)的環(huán)境監(jiān)測(cè)系

溫馨提示

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

評(píng)論

0/150

提交評(píng)論