版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于STM32的智控節(jié)能自習室系統(tǒng)設(shè)計摘要基于STM32F103C8T6的智控節(jié)能自習室系統(tǒng)設(shè)計可以實現(xiàn)對自習室的監(jiān)測,可以通過手機APP端進行實時的監(jiān)測,監(jiān)測到的數(shù)據(jù)有:溫濕度、噪音和煙霧等。本設(shè)計使用DHT11溫濕度傳感器、MQ-2煙霧傳感器、薄膜壓力傳感器、聲音傳感器以及ESP8266WIFI無線通信等模塊,實時采集自習室的溫度值、濕度值、煙霧濃度值和壓力值,使用ESP8266通信模塊將采集的數(shù)據(jù)發(fā)送至上位機。上位機對采集到的數(shù)據(jù)進行遠程監(jiān)控,并在上位機可以同時進行溫度和煙霧濃度的閾值設(shè)置;當溫度到達閾值的時候,自動開啟工作。這個系統(tǒng)主要控制自習室照明,也能夠在一定程度上改善自習室照明燈浪費電的情況,能夠在一定程度上起到節(jié)約資源的作用。該套系統(tǒng)主要采用傳感器技術(shù),可以對溫度、濕度以及煙霧進行實時監(jiān)測,并通過上位機調(diào)節(jié)溫度和濕度等參數(shù),控制制冷制熱等工作,提供一個良好的自習室環(huán)境。使用ESP8266通信技術(shù)實現(xiàn)無線通信。解決了電力資源浪費的問題。關(guān)鍵詞:STM32單片機技術(shù);溫度傳感器;智控自習室;WIFI模塊
目錄第1章緒論 第1章緒論本章節(jié)一共分為三個部分。第一部分對該系統(tǒng)的研究目的及意義進行分析;第二部分對國內(nèi)外研究現(xiàn)狀進行敘述;第三部分是本設(shè)計的研究內(nèi)容。1.1研究目的及意義近些年,考研和考公務(wù)員的人數(shù)一直在遞增,自習室就有了很大的發(fā)展空間,有些同學(xué)在家沒有學(xué)習的氛圍或?qū)W不好,那么自習室就成了不二之選。還有就是,隨著社會經(jīng)濟的發(fā)展,用電量也越來越大,而很多不必要的電量被浪費了,導(dǎo)致用電負荷的加劇。隨著智控節(jié)能自習室的研究,目的是提高自習室的舒適性和使用效率,同時降低電力的消耗和運營成本。從當前來看,自習室資源浪費現(xiàn)象是比較嚴重的,自習的時候,自習室的學(xué)生數(shù)量比較少,但是整個教室的燈光都打開了,風扇也是不停地旋轉(zhuǎn),這嚴重違背了資源節(jié)約的政策。要是能夠根據(jù)教室的不同人數(shù)對教室燈光進行調(diào)節(jié),保證人員的合理分配,結(jié)合光照的強度和實際溫度對照明燈和風扇進行調(diào)整,會在一定程度上減少資源的浪費。所以對自習室系統(tǒng)進行完善是非常重要的。研究意義是提高使用效率和用戶體驗、推廣節(jié)能理念。1.2國內(nèi)外研究現(xiàn)狀在低碳經(jīng)濟不斷發(fā)展的背景下,節(jié)約電力資源變得越來越重要。我國工業(yè)化程度不斷提升,因此人工照明所消耗的電力也在不斷增加,已占據(jù)總發(fā)電量的10%。這種設(shè)計非常方便,也非常節(jié)約電力,對于節(jié)能減排來說非常合適。2021年,馮浩瀚在《階梯教室智能照明系統(tǒng)設(shè)計》曾經(jīng)提出,通過對光檢測技術(shù),通信技術(shù)進行不斷的控制,對于教室當中的人員分布狀況,室內(nèi)光照強度,室內(nèi)溫度等等多種方面進行調(diào)整,使得教室電源實現(xiàn)自動化[1]。2020年,楊永鵬在《基于深度學(xué)習的高校教室智能照明系統(tǒng)的研究》文中,個系統(tǒng)主要利用了16位的彈片處理系統(tǒng),和其他的處理系統(tǒng)來說具有較大的優(yōu)勢,這種系統(tǒng)的功耗低,端口也非常豐富,實用性也比較強。能夠進行靈活的控制,也方便操作[2]。2019年,黃志文等人發(fā)表的《基于MSP430的超低功耗教室智能照明系統(tǒng)》文章當中,主要介紹了脈寬調(diào)制技術(shù)能夠?qū)淌业臒艄膺M行調(diào)節(jié),利用紅外線技術(shù),對于教室之內(nèi)的人流量進行監(jiān)控,運用數(shù)字信號的反方式對于出入教室的時間進行把控,這是非常具有創(chuàng)新精神的[7]。2019年,Haque,M.S.等人在《DesignandImplementationofaSmartEnergy-SavingSystemBasedonSTM32Microcontroller》文章中介紹了一種基于STM32單片機的智能建筑節(jié)能系統(tǒng)的設(shè)計與實現(xiàn)。所提出的系統(tǒng)配備了一系列傳感器,包括溫度、濕度和光傳感器,以及占用傳感器。該系統(tǒng)使用這些傳感器實時監(jiān)測建筑的環(huán)境和占用情況,并根據(jù)這些數(shù)據(jù)調(diào)整不同設(shè)備的控制,包括供暖和制冷系統(tǒng)、照明和通風系統(tǒng),以優(yōu)化能源消耗并保持用戶舒適度[11]。2020年,Jeon,G.、Kim,J.和Lee,M在《Smartself-studyroomusingIoTtechnologybasedonenergy-savingcontrol》中提出了一種利用物聯(lián)網(wǎng)技術(shù)實現(xiàn)節(jié)能控制、提高用戶舒適度的智能自習室系統(tǒng)。該系統(tǒng)使用各種傳感器來監(jiān)測環(huán)境因素,如溫度、濕度、照明以及占用情況?;谶@些數(shù)據(jù),該系統(tǒng)調(diào)整對燈、風扇和空調(diào)等設(shè)備的控制,以優(yōu)化能源使用,同時保持舒適的環(huán)境。作者進行了實驗來評估該系統(tǒng)的性能,發(fā)現(xiàn)與傳統(tǒng)方法相比,該系統(tǒng)可以節(jié)省高達23.2%的能源使用。他們還通過在一個真實的自習室中實施該系統(tǒng)來驗證該系統(tǒng)的實用性[12]。當今社會科學(xué)技術(shù)發(fā)展迅速,自習室的照明系統(tǒng)發(fā)展越來越先進,并且采用智能照明控制系統(tǒng)可以降低能源的消耗,對于當前形式是較好的,可以促進社會的發(fā)展。1.3主要研究內(nèi)容本設(shè)計研究的內(nèi)容為基于STM32的智控節(jié)能自習室系統(tǒng)設(shè)計。該系統(tǒng)包含STM32單片機、ESP8266WIFI通信模塊、溫度傳感器、煙霧傳感器、薄膜壓力傳感器、聲音傳感器以及繼電器模擬加熱制冷等模塊。使用STM32芯片技術(shù)將采集的數(shù)據(jù)經(jīng)過ESP8266WIFI模塊發(fā)送給上位機并顯示。采用手機APP作為上位機接收和顯示下位機數(shù)據(jù),用戶在上位機上設(shè)置溫濕度和煙霧的閾值,當實時的溫度比閾值低的時候,就會開啟制熱設(shè)備;當實時的溫度比閾值高的時候,就會開啟制冷設(shè)備。如自習室煙霧值超標,顯示屏提示:自習室禁煙;如自習室聲音大,則提示:請保持安靜。
第2章系統(tǒng)總體結(jié)構(gòu)2.1開發(fā)工具簡介2.1.1KEILKEIL軟件可以非常迅速的將代碼編譯并且生成二進制文件,同時大多數(shù)單片機都被KEIL使用,適用于不同的項目和應(yīng)用場景。有著簡潔通俗易懂的頁面非常容易上手。本設(shè)計采用C語言編寫代碼,C語言使用起來,更加容易理解,維護起來也比較簡單。KEIL還集成了實時調(diào)試和仿真功能,能夠方便地調(diào)試代碼,并且通過仿真進行更加深度地性能測試。方便用戶快速開發(fā)和調(diào)試,KEIL工具在單片機領(lǐng)域廣受歡迎,因其能夠節(jié)省大量開發(fā)者的時間和精力。2.1.2QtQt是一個特別流行的跨平臺的C++應(yīng)用程序開發(fā)框架,在計算機軟件、嵌入式系統(tǒng)等領(lǐng)域被廣泛應(yīng)用,它的使用范圍最廣,它也可以用于開發(fā)不帶有接口的指令行程序。它占內(nèi)存小,速度快,通俗易懂。本系統(tǒng)中上位機的系統(tǒng)界面就是有Qt開發(fā)構(gòu)架的,Qt是通過框架,允許開發(fā)人員編寫自己的應(yīng)用程序,可以讓開發(fā)者更加自由地發(fā)揮自己的創(chuàng)造力和想象力,開發(fā)出具有個性的、高效的、易于維護的應(yīng)用程序。它具有很強的靈活性和擴展性。使得Qt可以適用于更加廣泛的應(yīng)用場景。2.2相關(guān)技術(shù)2.2.1STM32單片機技術(shù)STM32系列芯片采用TSMC90nm工藝制造,集成了處理器核、存儲器、通信接口和多種外設(shè),能夠滿足不同應(yīng)用的要求。除此之外,STM32微控制器外設(shè)資源豐富,數(shù)字模塊包括了GPIO、USART、SPI、I2C等,可實現(xiàn)數(shù)字信號的輸入輸出和通信功能。該項目的通訊模塊使用CAN、Ethernet和USB等協(xié)議,支持網(wǎng)絡(luò)通信和高速數(shù)據(jù)傳輸;同時,定時器模塊包含基本、通用和高級定時器,滿足各種定時功能需求。適用于各種嵌入式系統(tǒng)和應(yīng)用場景。目前,STM32F103作為市場上主流控制器,資源充足以滿足外部設(shè)備需求,因此被廣泛采納。除此之外STM32互聯(lián)系統(tǒng)通過使用一種高級的鎖相回路來加強聲音層次上的I2S通訊,來加強聲音的表現(xiàn)。STM32通過與USB主從功能相配合,實現(xiàn)對外存(U盤或MP3)的讀音、解碼及輸出。STM32的計算效率大概是51MCU的十倍左右,其外部接口也要比51MCU的性能更好。2.2.2傳感器技術(shù)傳感器技術(shù)將物理量轉(zhuǎn)化為電信號,以便觀測和獲取信息的技術(shù)。通過信號處理器將其轉(zhuǎn)換為數(shù)字信號,從而實現(xiàn)數(shù)據(jù)的采集和處理。傳感器是將被測量的物理量轉(zhuǎn)化為可處理信號的核心部分。在智能家居、自動化控制、醫(yī)療檢測、工業(yè)生產(chǎn)等領(lǐng)域,傳感器技術(shù)被廣泛應(yīng)用與各個領(lǐng)域。傳感器技術(shù)的發(fā)展使我們對周圍環(huán)境的感知和控制更加準確、快速和安全。為人們的生活和生產(chǎn)帶來了更多便利和效益。2.2.3ESP8266WIFI通信技術(shù)本設(shè)計使用ESP8266WIFI模塊作為通信。ESP8266是一種WIFI模塊,它具有低功耗、高可靠性和單片式設(shè)計等優(yōu)點。ESP8266可以作為主控設(shè)備使用,也可以作為從設(shè)備連接到其他主設(shè)備中,因此在物聯(lián)網(wǎng)應(yīng)用中應(yīng)用廣泛。ESP8266具有多種通信接口,包括串口、SPI、I2C等,可以與其他設(shè)備進行通信。ESP8266使用AT指令或ESP8266的AT固件來接入網(wǎng)絡(luò)。在連接之前,需要掃描周圍的WIFI熱點,并選擇要連接的熱點。在連接之后,使用TCP協(xié)議通過WIFI與單片機通信。ESP8266支持使用AT指令控制WIFI通信。這些指令可以用來配置WIFI設(shè)置,查詢熱點列表,連接和斷開連接熱點以及通過TCP協(xié)議發(fā)送和接收數(shù)據(jù)。不同的AT指令支持不同的功能,可以根據(jù)對應(yīng)文檔進行調(diào)試,同時在打印AT指令響應(yīng)時進行檢查。ESP8266使用ESP8266SDK軟件進行編程和配置。ESP8266SDK提供了完整的開發(fā)環(huán)境和庫,可以進行底層編程和處理更復(fù)雜的任務(wù)。ESP8266還可以使用TCP協(xié)議在Wi-Fi網(wǎng)絡(luò)中進行數(shù)據(jù)傳輸。通過TCP建立連接,以確保數(shù)據(jù)傳輸?shù)目煽啃院屯暾?。總之,ESP8266作為低成本、高集成、易編程的WIFI芯片,廣泛應(yīng)用于IoT領(lǐng)域和嵌入式系統(tǒng)中。2.2.4技術(shù)路線1.硬件部分需要單片機,溫濕度和壓力傳感器,WIFI模塊等等;2.軟件平臺程序用KEIL5;3.編程語言用C語言;4.用戶信息顯示查看。2.2.5預(yù)期結(jié)果通過對系統(tǒng)的布設(shè)和完善,最終完成基于STM32的智控節(jié)能自習室系統(tǒng)設(shè)計預(yù)期有如下成果:1.上位機:(1)WIFI通信,手機端上位機。(2)接收下位機數(shù)據(jù),并顯示。(3)設(shè)定閾值:溫度閾值上下限,濕度閾值,噪音閾值,煙霧閾值。功能圖如圖2.1所示。上位機功能上位機功能接收數(shù)據(jù)并在屏幕顯示接收數(shù)據(jù)并在屏幕顯示通過無線網(wǎng)卡通信在手機端設(shè)定閾值圖2.1上位機功能圖2.下位機:(1)系統(tǒng)可實時檢測自習室溫濕度狀況,顯示,并發(fā)送上位機;(2)系統(tǒng)監(jiān)測到自習室內(nèi)的溫度過低,開啟加熱設(shè)備,過高,開啟制冷設(shè)備;(3)系統(tǒng)可實時監(jiān)測自習室內(nèi)的噪音狀況,如存在噪音文字提示:請保持安靜;(4)系統(tǒng)可實時監(jiān)測自習室內(nèi)的煙霧狀況,如自習室煙霧濃度超標,文字提示:自習室禁煙;(5)系統(tǒng)可實時監(jiān)測座椅上的壓力傳感器,判斷有無學(xué)生;(6)系統(tǒng)監(jiān)測到自習室無人時,自動關(guān)閉燈光、加熱設(shè)備/制冷設(shè)備;功能圖如圖2.2所示。
下位機功能下位機功能超過閾值繼電器模擬調(diào)節(jié)監(jiān)測數(shù)據(jù)是否高于或低于閾值壓力傳感器檢測到有人燈亮自動開啟制冷或制熱設(shè)備。將采集到的數(shù)據(jù)進行上傳通過無線網(wǎng)卡建立通信超過閾值繼電器模擬調(diào)節(jié)監(jiān)測數(shù)據(jù)是否高于或低于閾值壓力傳感器檢測到有人燈亮自動開啟制冷或制熱設(shè)備。將采集到的數(shù)據(jù)進行上傳通過無線網(wǎng)卡建立通信圖2.2下位機功能圖2.3總體方案設(shè)計1.先系統(tǒng)學(xué)習理論知識,鉆研相關(guān)課題,深入調(diào)查相關(guān)領(lǐng)域,熟知研究主題要點。2.設(shè)立不同部分,處理內(nèi)部聯(lián)系,收集相關(guān)資料。3.制定課題計劃,規(guī)劃組成結(jié)構(gòu)、了解整體框架,提出原理框架圖。4.借助軟件設(shè)計電路圖,在電路圖中實現(xiàn)系統(tǒng)組件與電路的結(jié)合。5.根據(jù)控制系統(tǒng)設(shè)置主流程圖。6.通過模擬,檢查是否能夠進行控制,從而整理全文。2.4系統(tǒng)可行性分析基于STM32的智控節(jié)能自習室系統(tǒng)設(shè)計是可行的,將從以下幾個方面進行分析。1.技術(shù)可行性:STM32作為一種嵌入式處理器,其性能可靠,適合于大部分自習室控制任務(wù)。同時,在節(jié)能控制方面,STM32可以實現(xiàn)功率控制、溫度控制和濕度控制等功能,滿足自習室的安全和舒適性需求。2.經(jīng)濟可行性:該系統(tǒng)采用STM32芯片,其成本較低,且市面上有許多相關(guān)開發(fā)板/開發(fā)套件可供選擇。而且,自習室節(jié)能控制系統(tǒng)可以減少能源使用,具有長期的經(jīng)濟效益。3.社會可行性:該系統(tǒng)有助于提高自習室的利用率,改善自習室的環(huán)境,提高學(xué)生的自習效率,在減少能源浪費方面也具備積極的社會意義??傮w而言,基于STM32的智控節(jié)能自習室系統(tǒng)設(shè)計是一項充滿潛力和可行性的技術(shù),具有一定的市場前景和社會價值。
第3章系統(tǒng)的硬件部分設(shè)計3.1系統(tǒng)總體設(shè)計本文設(shè)計了一種基于STM32的智控節(jié)能自習室系統(tǒng)設(shè)計。這個系統(tǒng)主要運行了WIFI技術(shù),主要對自習室的照明系統(tǒng)進行控制,通過一定的仿真方式,把這個系統(tǒng)應(yīng)用于人流量控制,利用自習室的燈光亮度適應(yīng)外部強度,對于目前大學(xué)當中的聲控照明系統(tǒng)進行控制,能夠在一定程度上較少自然資源的浪費,讓自習室的照明燈管理更加規(guī)范,也要能夠進行網(wǎng)格化管理,從而達到節(jié)能的實際效果。1.硬件部分需要單片機,溫濕度和壓力傳感器,ESP8266WIFI模塊等等。2.軟件平臺程序用KEIL5;3.編程語言用C語言;4.用戶信息顯示查看;以下為本次設(shè)計的架構(gòu)圖,如圖3.1所示:無線網(wǎng)卡無線網(wǎng)卡上位機無線網(wǎng)卡STM32單片機繼電器溫濕度傳感器煙霧傳感器壓力傳感器聲音傳感器制冷設(shè)備制熱設(shè)備圖3.1架構(gòu)圖3.2系統(tǒng)的主要功能模塊設(shè)計3.2.1STM32單片機的設(shè)計主控制芯片選用的是STM32F103C8T6,它是一種以ARMCortex-M3內(nèi)核為基礎(chǔ)的單片機芯片,STM32的處理速度要比51單片機快得多,它的功能也要更加豐富和強大,它的速度是一般51單片機的8到12倍,還多了兩個定時器,還帶PWM功能,還有SPI接口。多種主流的操作系統(tǒng)都可以支持STM32,可以在Linux、Windows等開發(fā)環(huán)境進行開發(fā),而且比起51單片機更簡單,可以更方便的利用系統(tǒng)來實現(xiàn)多種場景的應(yīng)用。STM32系列MCU是一種具有較高性能和較強性能的MCU系列。這一類多功能微控制器廣泛應(yīng)用于低成本、高性能及低能耗的嵌入式系統(tǒng)中,并表現(xiàn)出較好的能耗及集成度。因為它具有方便、構(gòu)造簡潔、功能強等優(yōu)點而受到行業(yè)的青睞。3.2.2ESP8266通信模塊設(shè)計ESP8266是一款集成了WIFI芯片和微控制器的模塊,它具有低功耗、低成本和強大的處理能力等優(yōu)點。該模塊通常應(yīng)用于物聯(lián)網(wǎng)和遠程控制等領(lǐng)域。本文所述系統(tǒng)采用ESP8266作為無線通信模塊,并且該模塊已經(jīng)集成串口通信接口,無線模塊通信則使用串口1,串口通信需連接到PB11和PB10引腳,TX引腳連接PB11,RX引腳連接PB10。ESP8266無線網(wǎng)卡模塊,有四根引腳連接到IO口上[16],由一根5V電源線、GND接地線、PB11、PB10組成。如圖3.2所示。圖3.2通信模塊3.2.3DHT11溫濕度模塊電路設(shè)計DHT11模塊能夠采集溫度和濕度的數(shù)據(jù),該模塊共有四個引腳,包括兩個供電引腳、一個通信引腳以及一個NC引腳不連接。DHT11是一種數(shù)字溫濕度傳感器模塊,可方便地測量環(huán)境的溫度(范圍0~50℃)和相對濕度。為了能正常工作DHT11需要一定的電路設(shè)計。1.選擇+5V電源供電。2.傳感器和單片機相連。DHT11的VCC和GND引腳連至電源的正負極,Data引腳連接單片機的PA7。3.用KEIL5編寫程序。如圖3.3所示。圖3.3溫濕度模塊3.2.4煙霧傳感器模塊電路設(shè)計MQ-2常用于家庭和工廠的氣體泄漏監(jiān)測裝置,它是一種N型表面離子式半導(dǎo)體。在二百到三百攝氏度的時候,二氧化錫會去吸收空氣中的氧氣,從而改變電子密度,同時電阻就會增加。當煙霧和單片機接觸的時候,就會導(dǎo)致晶粒之間的勢壘發(fā)生一些變化,會使表面的導(dǎo)電率發(fā)生改變[17]。傳感器的VCC引腳連接單片機的電源引腳,GND引腳連接單片機地線引腳,傳感器的PA1引腳連接引腳6。如圖3.4所示。圖3.4煙霧傳感器模塊在設(shè)計MQ-2煙霧傳感器的時候,運用了模塊采集的數(shù)據(jù),實時監(jiān)測和處理。設(shè)計了一個合理的數(shù)據(jù)傳輸模塊,將采集到的煙霧數(shù)值上傳到手機端,以方便和管理。當煙霧傳感器接收到超過設(shè)定值的濃度的時候,這就表明,自習室實際上是禁止吸煙的。然后顯示屏提示:自習室禁煙。流程圖如圖3.5所示。開始開始單片機初始化單片機初始化初始化成功?初始化成功?煙霧煙霧傳感器讀取數(shù)據(jù)NN是否濃度超過閾值?是否濃度超過閾值?YY顯示屏顯示禁煙顯示屏顯示禁煙結(jié)束結(jié)束圖3.5煙霧傳感器功能流程圖3.2.5聲音傳感器模塊設(shè)計目前,聲音傳感器模塊是一種可以感知聲音信號的電子模塊,常用于聲音控制、語音識別、音頻采集等應(yīng)用場景中。一般來說,一個聲音傳感器模塊包括聲音傳感器、放大器、濾波器、ADC轉(zhuǎn)換器和微控制器等。該信號經(jīng)過A/D轉(zhuǎn)換后,被數(shù)據(jù)采集器接收并傳輸?shù)接嬎銠C中進行進一步分析。如圖3.6所示。圖3.6聲音傳感器模塊3.2.6壓力傳感器模塊電路設(shè)計薄膜式壓力傳感器模塊,是一款能夠測量壓力以及重量的模塊,它含有薄膜式壓力傳感器和運放、濾波電路等組成。該模塊電路設(shè)計分為傳感器電路和信號處理電路兩部分。1.傳感器電路薄膜壓力傳感器是一種電容式傳感器。傳感器電路需要設(shè)計成一個能夠測量電容值并且轉(zhuǎn)換為電壓信號的電路。其中,R1~R4為電橋四個電阻,C0為薄膜壓力傳感器的電容負載,RL為負載電阻,VCC和GND為電源。當傳感器的輸入壓力發(fā)生變化時,電橋兩端的電勢差會發(fā)生改變,導(dǎo)致電橋輸出電壓也隨之變化。輸出電壓的大小可以通過運放放大并進行信號處理。2.信號處理電路信號處理電路通常由放大器、濾波器和模數(shù)轉(zhuǎn)換器等部分組成。其中,放大器使用用于放大傳感器電路輸出的電壓信號;該濾波器用來去除噪音和高頻的信號,同時保持有效的信號;ADC把模擬的數(shù)據(jù)變換成數(shù)字。其中,C1~C4為濾波電容,R5和R6為基準電阻,ADC為模數(shù)轉(zhuǎn)換器。如圖3.7所示。圖3.7壓力傳感器模塊薄膜式壓力傳感器具有測量范圍寬、響應(yīng)速度快、線性度好、精度高等特點。當用手按壓壓力傳感器,模擬有人坐在這個座位上,自習燈打開,溫濕度傳感器發(fā)揮接收溫濕度數(shù)據(jù)的作用。流程圖如圖3.8所示。
開始開始單片機初始化單片機初始化初始化成功?初始化成功?壓力傳感器讀取數(shù)據(jù)壓力傳感器讀取數(shù)據(jù)NN是否壓力超過閾值?是否壓力超過閾值?YY自習室燈打開,溫度傳感器工作自習室燈打開,溫度傳感器工作結(jié)束結(jié)束圖3.8壓力傳感器模塊子程序流程圖3.2.7屏幕顯示電路模塊設(shè)計0.96英寸4針OLED屏模塊是一種顯示屏模塊,內(nèi)置了一個0.96英寸OLED顯示屏和4個引腳。通常適用于嵌入式系統(tǒng)和小型電子設(shè)備中,可顯示文本、圖像和其他信息。該模塊可通過SPI或I2C接口進行通信,支持多種分辨率和顏色模式。模塊的4個引腳分別為VCC、GND、SCL和SDA。VCC為模塊供電引腳,一般為3.3V或5V。GND為接地引腳,需連接到負極電源上。SCL為時鐘引腳,在數(shù)據(jù)傳輸期間提供時鐘信號,需連接到主控芯片上的時鐘管腳。SDA為數(shù)據(jù)引腳,用來傳輸數(shù)據(jù),需要連接到主控芯片上的數(shù)據(jù)引腳。使用I2C接口時,SDA也可被稱作串行數(shù)據(jù)線。如圖3.9所示。圖3.9顯示屏模塊3.2.8繼電器本設(shè)計中有兩個繼電器,它們分別是模擬制冷和加熱的。繼電器有三個引腳,繼電器的VCC連接單片機的+5V電源端口,GND連接GND端口,繼電器的IN口連接單片機的IO口。繼電器是一種能夠控制電流開關(guān)的電器元件,經(jīng)常被電氣控制系統(tǒng)、家用電器等領(lǐng)域所使用。與STM32單片機相連的繼電器主要用于控制外部負載或電器設(shè)備的開關(guān)狀態(tài),將STM32單片機的數(shù)字信號轉(zhuǎn)換為可以控制繼電器通斷狀態(tài)的電信號。本系統(tǒng)采用SRD-05-VDC-SL-C型號的繼電器,用于模擬加熱和制冷的工作,對此設(shè)計有良好的適配性。該繼電器使用共陰的驅(qū)動方式。如圖3.10所示。圖3.10繼電器模塊
第4章系統(tǒng)的軟件設(shè)計4.1系統(tǒng)軟件總體架構(gòu)本篇文章的主程序首先要對上位機的軟件進行軟件系統(tǒng)界面的初始化,運用Qt和C語言進行編寫,用來滿足系統(tǒng)在后面可以順利的運行,來實時監(jiān)測自習室中的環(huán)境參數(shù)以及其他數(shù)據(jù)。軟件主流程圖如4.1所示。開始開始輸入賬號和密碼檢驗賬號和密碼是否正確?重新輸入登錄到控制界面通過無線網(wǎng)卡連接下位機接收下位機采集的數(shù)據(jù)系統(tǒng)界面顯示數(shù)據(jù)設(shè)置閾值結(jié)束YN圖4.1軟件主流程圖4.2系統(tǒng)界面4.2.1登錄界面的設(shè)計上位機用Qt設(shè)計系統(tǒng)的登錄界面,上位機運用WIFI通信技術(shù)與下位機進行數(shù)據(jù)的交換。首先要注冊一個賬號,到SQLite數(shù)據(jù)庫中校驗賬號是否已經(jīng)注冊過,然后進行賬戶的登錄,密碼正確進入系統(tǒng),密碼錯誤則給出提示。還可以注銷賬戶。登錄界面如圖4.2所示。圖4.2登錄界面系統(tǒng)的實現(xiàn)是用C++代碼實現(xiàn),在代碼中通過Connect函數(shù)建立信號與槽,使用單擊按鍵來切換界面,以及判斷密碼是否正確和賬號是否存在。實現(xiàn)的關(guān)鍵代碼如下:voidrgsWidget::on_rgsPushButton_clicked(){//獲取賬號密碼發(fā)送數(shù)據(jù)庫structrgs_stsndbuf;QStringcntStr=ui->cntRgsLineEdit->text();QStringpwdStr=ui->pwdRgsLineEdit->text();//QString>constchar*std::strncpy(t,cntStr.toLatin1().data(),CNTSIZE);//密碼加密QByteArraycryPwd=QCryptographicHash::hash(pwdStr.toLatin1(),QCryptographicHash::Sha512);std::strncpy(sndbuf.pwd,cryPwd.toHex().data(),PWDSIZE);//ts->writeData((constchar*)&sndbuf,sizeof(sndbuf));ts->connectToHost(QHostAddress(RGS_SERVER_IP),RGS_SERVER_PORT);//寫入數(shù)據(jù)ts->write((constchar*)&sndbuf,sizeof(sndbuf));}4.2.2系統(tǒng)控制界面的設(shè)計系統(tǒng)控制界面的搭建是在Qt平臺下編寫的,通過Qt來實現(xiàn)用戶界面可視化,并通過網(wǎng)格布局、水平布局和垂直布局等對界面進行美化,建立對應(yīng)的槽函數(shù),通過Connect函數(shù)連接信號與槽。在本設(shè)計系統(tǒng)界面中顯示采集的數(shù)據(jù)和時間,可以在系統(tǒng)控制界面設(shè)置環(huán)境參數(shù)的閾值,還需要創(chuàng)建TCP流式套接字與下位機進行數(shù)據(jù)傳輸,系統(tǒng)控制界面樣式如圖4.3所示。圖4.3系統(tǒng)界面4.3系統(tǒng)WIFI通信的交互上位機與下位機數(shù)據(jù)的交互是通過兩個WIFI無線網(wǎng)卡,通信采用的是TCP通信,TCP通信的過程是這樣的:使用Socket函數(shù)來建立流式套接字,使用Bind函數(shù)來將地址進行綁定,將Listen函數(shù)設(shè)定為監(jiān)聽狀態(tài),在有下位機請求建立一個連接之后,就會調(diào)用Accept函數(shù)來接收這個連接,并生成一個新的Socket,然后在這個新生成的Socket的基礎(chǔ)上,再根據(jù)這個新生成的Socket[18],調(diào)用Send或函數(shù)來與下位機進行數(shù)據(jù)交換,在通信完成之后,再調(diào)用close函數(shù)來關(guān)閉這個截獲。Write或者Read數(shù)據(jù)。由于是要實現(xiàn)登錄,注冊的服務(wù)器,父進程創(chuàng)建SQLite數(shù)據(jù)庫,子進程接收下位機發(fā)送過來的數(shù)據(jù),查看返回對應(yīng)的狀態(tài),例如注冊上位機就只需要在SQLite數(shù)據(jù)庫中查詢賬號的數(shù)據(jù)是否存在,如果存在就向下位機發(fā)送對應(yīng)的狀態(tài),如果不存在就將要注冊的賬號密碼存儲在SQLite數(shù)據(jù)庫中。登錄服務(wù)器不同的點在于要檢驗密碼,所以通過And關(guān)鍵字去本地數(shù)據(jù)庫中同時查詢賬號密碼,全部一致才可發(fā)送登錄成功的狀態(tài),否則發(fā)送登錄失敗的狀態(tài),實時的將采集的數(shù)據(jù)信息顯示到系統(tǒng)控制界面上。程序的關(guān)鍵代碼如下:Widget::Widget(QWidget*parent):QWidget(parent),ui(newUi::Widget){ui->setupUi(this);//標題setWindowTitle(QString("登錄"));//套接字ts1=newQTcpSocket(this);ts1->setProxy(QNetworkProxy::NoProxy);//鏈接套接字信號與槽connect(ts1,&QTcpSocket::readyRead,this,&Widget::recv_data1_slots);}voidWidget::on_pushButton_2_clicked(){//點擊注冊觸發(fā)槽函數(shù)//獲取賬號密碼發(fā)送到數(shù)據(jù)庫structrgs_stsndbuf;QStringcntStr=ui->lineEdit->text();QStringpwdStr=ui->lineEdit_2->text();//發(fā)送的數(shù)據(jù)std::strncpy(t,cntStr.toLatin1().data(),CNTSIZE);//密碼加密QByteArraycryPwd=QCryptographicHash::hash(pwdStr.toLatin1(),QCryptographicHash::Sha512);std::strncpy(sndbuf.pwd,cryPwd.toHex().data(),PWDSIZE);//ts->writeData((constchar*)&sndbuf,sizeof(sndbuf));ts1->connectToHost(QHostAddress(RGS_SERVER_IP),LOGIN_SERVER_PORT);qDebug()<<"Date:"<<QDate::currentDate();ts1->write((constchar*)&sndbuf,sizeof(sndbuf));}4.4SQLite數(shù)據(jù)庫SQLite是一種輕量級進程內(nèi)數(shù)據(jù)庫,其本質(zhì)上是一個文件。相比其他數(shù)據(jù)庫,SQLite的體積更小,但訪問性能卻更優(yōu)秀。在SQLite數(shù)據(jù)庫中存儲用戶的用戶名和密碼、界面的格式和背景顏色、登陸時的校驗信息。SQLite數(shù)據(jù)庫可以更新用戶信息和注銷用戶信息,還存儲著從下位機采集的環(huán)境參數(shù)。以下是SQLite數(shù)據(jù)庫管理系統(tǒng)的相關(guān)介紹:1.結(jié)構(gòu)化查詢語言。SQLite使用結(jié)構(gòu)化查詢語言(SQL)來完成數(shù)據(jù)庫的管理和操作,支持大部分SQL標準語句和基本的關(guān)系型數(shù)據(jù)庫操作,如數(shù)據(jù)的增刪改查、視圖、索引、事務(wù)處理等。2.輕量級。SQLite具有較小的空間占用、啟動速度快、不依賴于服務(wù)器等特點,適用于嵌入式系統(tǒng)和移動設(shè)備等場景,具有很高的可移植性和代碼簡潔性。3.嵌入式應(yīng)用。SQLite可以輕松地嵌入到其他應(yīng)用程序中,通過SQLiteAPI來實現(xiàn)對數(shù)據(jù)庫進行訪問和管理,減少了應(yīng)用程序與數(shù)據(jù)庫之間的通信代價,增加了數(shù)據(jù)的可靠性和安全性。4.跨平臺支持。SQLite支持跨平臺應(yīng)用,可以在Windows、Linux、iOS、Android等各種操作系統(tǒng)上應(yīng)用。SQLite數(shù)據(jù)庫文件也能夠跨平臺使用。5.數(shù)據(jù)庫文件[19]。SQLite使用單一文件儲存數(shù)據(jù),數(shù)據(jù)庫文件包含表和數(shù)據(jù)等信息,可以使用文件備份和恢復(fù)等技術(shù)維護數(shù)據(jù)的安全性和互操作性。4.4.1SQLite數(shù)據(jù)庫創(chuàng)建和關(guān)閉此次創(chuàng)建一個SQLite數(shù)據(jù)庫,對數(shù)據(jù)庫進行操作,數(shù)據(jù)庫用完進行關(guān)閉,關(guān)鍵代碼如下://創(chuàng)建數(shù)據(jù)庫publicvoidopenDataBase()throwsSQLException{mDatabaseHelper=newDataBaseManagementHelper(mContext);mSQLiteDatabase=mDatabaseHelper.getWritableDatabase();}//關(guān)閉數(shù)據(jù)庫publicvoidcloseDataBase()throwsSQLException{mDatabaseHelper.close();}4.4.2SQLite數(shù)據(jù)庫插入數(shù)據(jù)在SQLite數(shù)據(jù)庫中插入新用戶的數(shù)據(jù),更新用戶的信息,比如修改密碼。在上位機可以根據(jù)用戶名注銷,還可以一鍵刪除所有用戶,關(guān)鍵代碼如下://更新用戶信息,如修改密碼publicbooleanupdateUserData(UserDatauserData){intid=userData.getUserId();StringuserName=userData.getUserName();StringuserPwd=userData.getUserPwd();Stringrank=userData.getRank();Stringdepartment=userData.getDepartment();ContentValuesvalues=newContentValues();values.put(USER_NAME,userName);values.put(USER_PWD,userPwd);values.put(RANK,rank);values.put(DEPARTMENT,department);returnmSQLiteDatabase.update(TABLE_NAME,values,null,null)>0;//returnmSQLiteDatabase.update(TABLE_NAME,values,ID+"="+id,null)>0;}//根據(jù)用戶名注銷publicbooleandeleteUserDatabyname(Stringname){returnmSQLiteDatabase.delete(TABLE_NAME,USER_NAME+"="+name,null)>0;}//刪除所有用戶publicbooleandeleteAllUserDatas(){returnmSQLiteDatabase.delete(TABLE_NAME,null,null)>0;}
第5章系統(tǒng)測試5.1系統(tǒng)實物圖打開上位機,在手機端連接ESP8266模塊,登陸系統(tǒng),系統(tǒng)界面顯示時間、溫度、濕度、壓力、煙霧等實時監(jiān)測數(shù)據(jù),可以設(shè)置溫度和煙霧的閾值,設(shè)置閾值如圖5.1所示。圖5.1系統(tǒng)界面實物部分由ESP8266WIFI模塊、STM32F103單片機、DHT11溫度傳感器、MQ-2煙霧傳感器、薄膜壓力傳感器和兩個繼電器分別模擬加熱和制冷,如圖5.2所示。圖5.2系統(tǒng)完整實物圖5.2測試原理測試包括的內(nèi)容非常多,預(yù)測設(shè),應(yīng)輸入數(shù)據(jù),輸出結(jié)果。測試的數(shù)據(jù)主要包括,通過少量數(shù)據(jù)完成檢測。最根本目標是,找到設(shè)計中存在的錯誤,或者對錯誤的數(shù)據(jù)進行檢測。測試的基本目標包括,找到設(shè)計中存在的錯誤,通過相應(yīng)的例子進行覆蓋。通過對數(shù)據(jù)進行實際輸入,要設(shè)置相關(guān)的規(guī)格要求,并設(shè)置相應(yīng)的說明書。在測試的時候,要充分保證說明書的各種功能,保證期其正常使用。5.3顯示功能測試第一行顯示溫度,溫度實時值,低點溫度值,高點溫度值,第二行顯示濕度,濕度的值,第三行顯示煙霧,煙霧的值和煙霧的閾值,第四行顯示如果有聲音或者噪音的話提示請保持安靜或自習室禁煙,第五行顯示壓力。如圖5.3所示。圖5.3顯示模塊實物圖5.4聲音檢測功能測試當我們對著聲音傳感器吹口哨或者調(diào)節(jié)閾值進行說話的時候,聲音傳感器接收到聲音信號進行然后在顯示屏上進行顯示:請保持安靜。如圖5.4所示。圖5.4聲音檢測實物圖5.5壓力檢測功能測試當用手按壓壓力傳感器模擬有人在座位上坐著(壓力值大于20),自習室內(nèi)的燈會打開,溫濕度傳感器才可以發(fā)揮作用。如圖5.5所示。圖5.5壓力傳感器亮燈顯示5.6溫濕度檢測功能測試當壓力傳感器檢測到有人在座位上時候,溫濕度傳感器用手捏著,濕度逐漸增大,溫度逐漸升高,當溫度超出閾值,繼電器停止運作。如圖5.6所示。圖5.6溫度超過閾值,繼電器停止工作顯示5.7煙霧傳感器功能測試有時候煙霧濃度沒有你們高,這時候我們通過上位機調(diào)節(jié)一下閾值,就能看見明顯的變化。用打火機的氣體丁烷模擬外界煙霧氣體,然后對準MQ-2煙霧傳感器進行氣體噴射,MQ-2煙霧濃度會發(fā)生變化,超過設(shè)定閾值的時候,OLED屏上進行文字提醒:自習室禁煙。如圖5.7所示。圖5.7煙霧傳感器功能測試
總結(jié)與展望在焊接電路的時候由于技術(shù)的不熟練焊接出現(xiàn)了短路,兩個點焊接到了一起導(dǎo)致最后結(jié)果無法顯示。在對軟件進行調(diào)試的時候,出現(xiàn)了很多錯誤,通過老師的幫助,我發(fā)現(xiàn)了存在的很多問題,并找出了其存在的種種問題,設(shè)計問題以及方法主要包括以下幾個方面。1.在煙霧傳感器的測試中,發(fā)現(xiàn)用打火機測試,沒有進行顯示屏顯示,然后調(diào)整閾值,使得傳感器更加靈敏,這樣可以測量到很低的煙霧濃度,然后進行顯示。2.利用仿真軟件,找出錯誤的代碼。再通過調(diào)整之后,啟動相應(yīng)的流程,單片機沒有正常進行復(fù)位,也很難獲得準確結(jié)果?!爸强毓?jié)能自習室”真正的作用是讓學(xué)生更好得去學(xué)習,同時這也是教育信息化、教育改革的目的所在。該系統(tǒng)能更好地節(jié)約電力資源。隨著科技的不斷發(fā)展,技術(shù)在信息化時代非常重要,這也是必不可少的。信息化設(shè)備的普及率比較高,通過信息技術(shù)能夠在一定程度上改變舊有的教育理念,不斷提高教師的文化素質(zhì)水平。智慧自習室在進行研究的時候,需要和具體的學(xué)科進行研究,將各學(xué)科的優(yōu)勢發(fā)揮到最
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版項目水土保持服務(wù)委托合同
- 一建建造師工程經(jīng)濟課件培訓(xùn)課件
- 高中信息技術(shù)選修3說課稿-2.2.1 計算機的網(wǎng)絡(luò)身份- IP 地址1-教科版001
- 第15課十月革命的勝利與蘇聯(lián)的社會主義實踐說課稿-2023-2024學(xué)年高中歷史統(tǒng)編版(2019)必修中外歷史綱要下冊001
- 第三單元第12課《云計算》說課稿 2023-2024學(xué)年浙教版(2023)初中信息技術(shù)七年級上冊
- 2024年度醫(yī)療設(shè)備銷售合同范本集2篇
- 2024年高速公路路燈施工承包協(xié)議
- 全國浙教版初中信息技術(shù)八年級下冊第二單元第5課《語音識別技術(shù)》說課稿
- 外科術(shù)后疼痛護理新進展
- 全國青島版信息技術(shù)八年級上冊專題一第5課《閱讀材料 有趣的條件選擇語句if》說課稿
- 醫(yī)美行業(yè)監(jiān)管政策與競爭環(huán)境
- 2024年02月湖北武漢市公安局招考聘用輔警267人筆試歷年高頻考題(難、易錯點薈萃)答案帶詳解附后
- 房屋移交的時間和方式
- 北京市西城區(qū)2022-2023學(xué)年七年級(上)期末數(shù)學(xué)試卷(人教版 含答案)
- 2024年福建寧德城市建設(shè)投資開發(fā)公司招聘筆試參考題庫含答案解析
- 電焊的安全防護技術(shù)模版
- 低值易耗品明細表
- 金礦投資可行性方案
- 山東省濟南市2023-2024學(xué)年高三上學(xué)期期末學(xué)習質(zhì)量檢測生物試題(原卷版)
- 《食品包裝與安全》課件
- 內(nèi)蒙古自治區(qū)呼和浩特市部分學(xué)校2023-2024學(xué)年九年級上學(xué)期期末數(shù)學(xué)試卷
評論
0/150
提交評論