版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
緒論1.1課題研究背景及目的和意義隨著生活節奏的加快、生活水平的提高以及老齡化社會的到來,人們對于生活品質和居住環境的要求越來越高。智能家居的出現能夠滿足人們對于舒適、便捷、安全、節能的需求,因此受到了廣泛關注和歡迎。隨著IoT技術的飛速發展和智能電子產品的廣泛應用,越來越多的家庭開始重視智能家居,國內的家用電器和互聯網企業也紛紛投入大量資源,不斷推出智能家居系統和產品,從而推動了智能家居的普及。智能家居系統的目的是通過集成各種智能設備和技術,提高家庭的舒適性、便利性、安全性和能源效率。其主要目標包括:1.提高舒適性和便利性:智能家居系統可以通過自動化和遠程控制功能,使居住環境更加舒適和便利。用戶可以通過智能手機、平板電腦或語音助手遠程控制家居設備,如調節溫度、燈光、窗簾、音樂等,以及監控家庭安全和環境。2.增強安全性:智能家居系統通常集成了安全監控設備,如視頻監控攝像頭、門窗傳感器、煙霧報警器等,可以實時監測家庭的安全狀態,并在發生異常情況時提供及時警報和通知。3.提升能源效率:智能家居系統可以優化家庭能源的使用,降低能源浪費。通過智能化的溫控系統、節能燈具、智能插座等設備,可以實現對能源的有效管理和控制,從而減少能源消耗和節約能源成本。4.增加生活品質:智能家居系統還可以通過個性化設置和智能化的應用場景,提升家庭生活的品質。比如根據用戶的習慣和喜好自動調節環境、創建舒適的氛圍,以及智能化的娛樂和媒體體驗等。總的來說,智能家居系統的目的是通過技術的應用,使家庭生活更加便捷、安全、舒適和節能,提高用戶的生活質量。物聯網智能家居的研究目的涵蓋了提高生活質量、節約能源資源、提高安全性、實現智能化管理和探索未來生活方式等多個方面,旨在為人們創造更加智能、便捷、安全和舒適的家居生活環境。1.2文獻綜述研究應該全面考察國內外與本課題相關的研究領域,以及其取得的成就,并且發現存在的不足,以便更加深入地探索和研究。1.2.1國外研究概述(1)國外各大科技公司和研究機構一直致力于物聯網智能家居技術的研究和開發。這些技術包括傳感器技術、無線通信技術、云計算、人工智能、機器學習等,用于實現家庭設備的智能化、自動化和互聯化。同時,智能家居應用也在不斷擴展,涵蓋了家庭安防、能源管理、健康監測、娛樂享受等多個方面。隨著技術的不斷進步,我國的智能家居行業正在迅速壯大,從最早的生產者到現在的運營者,再到現在的應用開發者,構建起了完整的行業體系。(2)國外智能家居技術注重用戶體驗和個性化服務。通過人機交互技術,如語音識別、手勢識別等,提升用戶操作的便捷性和舒適度;同時,一些智能家居技術具備智能學習和適應性功能,能夠根據用戶的行為和反饋自動調整和優化系統設置。通過分析用戶的習慣和喜好,智能家居系統可以自動化地提供個性化的服務。(3)在國外,智能家居安全和隱私保護備受關注。由于智能家居設備涉及到用戶的個人生活和家庭隱私,因此安全和隱私問題成為智能家居技術發展的重要考量因素。各大科技公司和研究機構不斷加強智能家居設備的安全性設計和數據隱私保護措施,保障用戶的信息安全和個人隱私。圖1-1AppleVisionPro使用場景(4)美國蘋果公司于2023年發布劃時代的電子產品“AppleVisionPro”,劃時代地給嵌入式智能家居行業帶來了視覺識別技術。視覺識別技術在現代社會中具有廣泛的應用意義,可以幫助提高生產效率、改善安全監控、優化醫療診斷、推動智能交通等,促進社會進步和人類福祉。AppleVisionPro使用場景如圖1-1所示。1.2.2國內研究概述(1)技術創新和產業發展:國內許多科研機構、高校和企業積極投入到物聯網智能家居技術的研究與開發中。涵蓋了傳感器技術、無線通信技術、云計算、人工智能等多個方面。并且,國內智能家居產業鏈已初步形成,包括智能家居設備制造商、智能家居平臺提供商、智能家居應用開發商等,形成了一定的產業規模。(2)產品應用和市場推廣:國內智能家居產品應用范圍逐漸擴大,不僅包括家庭生活領域,還涉及到商業、辦公、醫療等多個領域。智能家居產品已在一些城市和社區得到廣泛應用,如智能門鎖、智能照明、智能家電等。同時,一些互聯網公司也積極推動智能家居產品的市場推廣,通過線上線下渠道向消費者推介智能家居產品。(3)標準制定和政策支持:為推動智能家居產業的健康發展,國內相關部門積極制定智能家居標準和政策支持。例如,國家質檢總局發布的《智能家居產品質量監督管理辦法》,對智能家居產品的質量和安全提出了要求;國家標準化管理委員會也制定了一系列智能家居標準,推動智能家居產業規范化和標準化發展。(4)跨界合作和產業生態建設:國內智能家居企業積極探索跨界合作,推動產業生態建設。一方面,智能家居企業與家電企業、互聯網企業、房地產企業等進行合作,拓展智能家居產品的應用場景;另一方面,智能家居企業還與物聯網平臺提供商、云計算服務商等建立合作關系,共同推動智能家居產業的發展。圖1-2小米智能家居控制面板小米智能家居是中國智能家居行業的先驅,憑借著強大的生態系統,小米智能家居已經開發出各種智能家居設備,包括智慧攝影機、智能照明器、智慧控制器智能洗衣機、智能TV、智慧TV墻、智能家電柜、智能家電機箱、智能家電柜等。小米智能家居控制面板如圖1-2所示。1.3研究方法本文以云平臺智能家居系統的設計與實現為目標,結合目前發展情況以及用戶的需求為導向。通過對硬件的選型、關鍵技術的實現、云平臺的對比,設計出了基于機智云云平臺和WiFi無線連接的智能家居系統。本文以STM32F103C8T6為主控器,結合WiFi-ESP8266模塊為家庭網關。傳感器采集到的家居環境參數經后通過串口傳給STM32主控器,主控器處理后經由無線網絡上傳到云平臺,用戶可以通過訪問云平臺或者手機APP的方式來查看家居環境狀況。同時用戶也可以通過手機APP或者PC訪問Web形式來下發控制指令實現對智能家居的遠程控制。1.4系統總體設計方案本設計主要由STM32F103C8T6主控芯片、報警電路、WiFi無線通信模塊、多傳感器模塊等部分組成。智能家居系統由識別層、通信層和控制層組成。智能家居系統的識別層由多傳感器和控制器組成。主要是溫度,濕度,光線和煙霧等其他類型的傳感器,以及紅外模塊,步進電機模塊、蜂鳴器模塊等。智能家居的通信層主要是通過WiFi無線連接收集傳感器數據被加載到云平臺中。與此同時,控制臺將用戶的指令發送到家中的控制終端,要由智能家居系統組成,以此實現對家中的設備遠程控制。智能家居的控制層主要包括機智云云平臺以及基于云平臺開發的APP。控制層是一個人機交互的平臺,用戶可以通過此平臺獲取家中各傳感器獲取的信息,同時可以發出相對應的控制指令。各傳感器將識別到的室內環境數據經由STM32中控器處理后通過ESP8266網關模塊上傳到機智云平臺,云端平臺同步至用戶手機端的APP或網站查看相應的數據。用戶通過此平臺的界面可以下發控制指令通過WiFi模塊傳輸給家居的STM32主控器,經主控器進行數據處理后,分配到各控制節點實施相對應的指令控制。智能家居系統的總體結構如圖1-3所示。圖1-3系統總體結構圖1.5本章小結本章從課堂研究的背景意義出發,介紹了國內外的智能家居研究發展現狀,提出了本課題的主要研究內容和論文的組織結構。2硬件電路設計2.1引言智能家居系統的硬件電路設計,為確保各個傳感器模塊和微處理器有效配合。基于物聯網的家居智能系統硬件總體結構圖如圖2-1所示。根據物聯網技術,我們設計了一個基于STM32的智能家居自動化系統,它包含了一個主控器、一個光敏傳感器、煙霧傳感器和一個溫濕度傳感器。此外,還有一個電機驅動模塊、一個報警模塊、一個顯示模塊和一個無線通信模塊,它們共同組合在一起,形成了整個系統的框架。圖2-1系統硬件總體結構圖2.2STM32最小系統本系統需要處理復雜的數據通信與硬件控制,其核心處理器的選型十分關鍵,STM32F系列是STMicroelectronics公司推出的一款32位ARMCortex-M微控制器系列,廣泛用于嵌入式系統開發。它們具有高性能、低功耗和豐富的外設集成特點,適用于各種應用領域,如工業控制、汽車電子、消費類電子和醫療設備等。STM32F系列包括多個不同的系列和型號,每個型號都有不同的性能特點和外設配置,以滿足不同應用的需求。STM32主控芯片接收溫濕度傳感器、光敏傳感器、煙霧傳感器等傳感器的信息進行處理,做出信息處理判斷,根據光敏強度控制窗簾電機驅動,實現窗簾電機開關;根據溫濕度傳感器、煙霧傳感器信息,設置閾值大小,達到一定條件開啟風扇傳感器模塊、并激發主控器上的蜂鳴器模塊實施報警功能。將傳感器監測的信息經STM32處理后由顯示屏模塊顯示,并同步通過WiFi-ESP8266模塊上傳至機智云云平臺,用戶可在手機APP或Web上實施遠程監控或發起相應的控制指令。主控板最小系統電路圖如圖2-2所示。根據課題需要,本設計采用的是STM32F103C8T6這款芯片,其是STM32F系列中的一款微控制器型號。它采用ARMCortex-M3內核,運行頻率為72MHz,具有64KB的Flash存儲器和20KB的SRAM。該型號還集成了豐富的外設,包括多個通用定時器、USART、SPI、I2C接口以及ADC和DAC等。由于其性能和豐富的外設集成,STM32F103C8T6常用于各種嵌入式應用,如工業控制、自動化設備、電子設備等。圖2-2主控板最小系統電路圖2.2WiFi模塊2.2.1WiFi模塊介紹WiFi模塊是主控器STM32與控制端之間相互通信的模塊。在整個系統中有著重要作用。WiFi模塊通過TCP/IP協議將主控器處理好的數據上傳至云端服務器,用戶通過訪問云平臺能了解居家信息,同時也將控制指令通過通信協議傳遞給主控器實現對智能設備的控制。結合智能家居系統數據傳輸的特點,在本系統中采用的是ESP8266WiFi模塊作為智能家居系統的通信模塊。(1)低成本:ESP8266是一款價格實惠的Wi-Fi模塊,可以滿足物聯網領域的各種需求。它的低成本特性使得它成為物聯網領域的首選解決方案。(2)低功耗:ESP8266具有低功耗特性,可以在低功耗模式下運行,從而延長設備的電池壽命。ESP8266具有出色的耐久性,可以滿足需要長時間穩定運行的電池供應設備,如傳感器節點、智能家居設備等的需求。(3)高性能:盡管ESP8266的成本低廉,但它具有良好的性能。ESP8266集成了強大的處理器和Wi-Fi模塊,可以處理復雜的網絡任務,并提供穩定和高效的無線連接。(4)豐富的接口:ESP8266具有豐富的外圍接口,包括GPIO、UART、SPI、I2C等,可以輕松連接各種傳感器、執行器和外部設備,從而實現更多樣化的物聯網應用。(5)出色的IoT技術:它以極少的投入、極大的效率以及卓越的表現,已經在各種IoT行業得到了普遍的采納,如智慧家庭、智慧農業、智慧城市、工業自動化等。(6)跨平臺兼容:可與各種硬件平臺和操作系統兼容,如Arduino、Raspberry、Pi等。模式特點ESP8266模塊作為熱點,能夠與支持WiFi模塊的STA模式無線設備直接連接ESP8266模塊需要通過路由器連接到互聯網,從而AP模式完成數據的遠程傳輸STA+AP模式的結合,即作為熱點又接入路由器,STA+AP模式可以連接到互聯網表2-1ESP8266的三種工作模式ESP8266WiFi芯片在使用時有兩種開發模式可供選擇,用戶可以根據實際的情況選擇合適的方式對其進行開發。開發方式有AT指令開發和SDK開發。兩種開發方式及其特點如表2-2所示。在本系統中根據系統的實際需求采用AT指令的方式對WiFi模塊進行控制。模式特點已封裝WiFi協議棧、已內部透傳、通過AT指令AT指令對WiFi模塊進行控制SDK需專門IDE編程并燒入、需自定義WiFi協議棧、通過編程對WiFi模塊進行控制表2-2ESP8266的兩種開發模式2.2.2WiFi模塊電路設計在STM32上,通過UART發送AT指令(或者其他適合你的應用的指令)給ESP8266。ESP8266將通過UART接收來自STM32的指令,并執行相應的操作,比如連接到Wi-Fi網絡、發送數據等,從而實現智能家居設備的WiFi連接功能。在WiFi模塊工作時,將WiFi模塊設置成STA模式,需要與路由器進行連接才能將數據上傳到云端服務器。在使用WiFi模塊時需要用到RXD、TXD、RST等三個引腳。RXD、TXD分別于主控模塊STM32的RXD、TXD引腳相連。RST引腳主要起到一個復位的作用,低電平有效。WiFi模塊的電路原理圖如圖2-3所示。圖2-3WiFi模塊電路原理圖2.3傳感器數據采集模塊2.3.1溫濕度傳感器在眾多智能家居系統中,溫濕度傳感器用于測量室內的溫度、濕度。本設計采用的是DHT11溫濕度傳感器,其廣泛地應用于家庭自動化、溫室監控、氣象站等領域當中。DHT11傳感器能夠測量的溫度范圍為0°C到50°C,濕度范圍為20%RH到90%RH。DHT11傳感器的溫度精度為±2°C,濕度精度為±5%RH。雖然其精度不如其他高端傳感器,但足以滿足大多數基本應用需求。在數字輸出方面,DHT11傳感器通過單線數字信號(一種串行通信協議)輸出測量結果,包括溫度和濕度。通過STM32的GPIO引腳接收傳感器發送的數據。這種數字輸出簡化了與微控制器的連接。其實物圖如圖2-4所示,電路原理圖如圖2-5所示。.圖2-4DHT11實物圖圖2-5DHT11電路原理圖DHT11的引腳為4針單排封裝,將DHT11的VCC引腳連接到STM32的3.3V或5V電源引腳(取決于DHT11的工作電壓)。將DHT11的GND引腳連接到STM32的地(GND)引腳。將DHT11的數據引腳(通常標記為DOUT或OUT)連接到STM32的一個數字輸入/輸出(GPIO)引腳。以下是溫濕度傳感器模塊與STM32連接的代碼片段:#include"stm32f4xx_hal.h"http://定義溫濕度傳感器的引腳#defineDHT_PINGPIO_PIN_0//假設溫濕度傳感器連接到GPIO的第0號引腳#defineDHT_PORTGPIOA//假設溫濕度傳感器連接到GPIOA//初始化溫濕度傳感器voidDHT_Init(void){GPIO_InitTypeDefGPIO_InitStruct;//使能GPIO時鐘__HAL_RCC_GPIOA_CLK_ENABLE();//配置傳感器引腳為輸入模式GPIO_InitStruct.Pin=DHT_PIN;GPIO_InitStruct.Mode=GPIO_MODE_INPUT;GPIO_InitStruct.Pull=GPIO_PULLUP;HAL_GPIO_Init(DHT_PORT,&GPIO_InitStruct);}//從溫濕度傳感器讀取數據uint8_tDHT_Read(uint8_t*data){uint8_ti,j;uint8_tbyteIndex=0;uint8_tbyteValue=0;uint8_tbyteData[5]={0};//發送啟動信號HAL_GPIO_WritePin(DHT_PORT,DHT_PIN,GPIO_PIN_RESET);HAL_Delay(18);//等待至少18msHAL_GPIO_WritePin(DHT_PORT,DHT_PIN,GPIO_PIN_SET);HAL_Delay(40);//等待40us//等待傳感器的響應while(HAL_GPIO_ReadPin(DHT_PORT,DHT_PIN)==GPIO_PIN_SET);//接收數據for(i=0;i<5;i++){//5個字節的數據byteValue=0;for(j=0;j<8;j++){//8個位while(HAL_GPIO_ReadPin(DHT_PORT,DHT_PIN)==GPIO_PIN_RESET);//等待高電平HAL_Delay(40);//等待40usif(HAL_GPIO_ReadPin(DHT_PORT,DHT_PIN)==GPIO_PIN_SET){//高電平持續時間大于30usbyteValue|=(1<<(7-j));//設置字節的對應位while(HAL_GPIO_ReadPin(DHT_PORT,DHT_PIN)==GPIO_PIN_SET);//等待低電平}}byteData[i]=byteValue;//存儲字節}//校驗和if((byteData[0]+byteData[1]+byteData[2]+byteData[3])==byteData[4]){for(i=0;i<4;i++){data[i]=byteData[i];//將溫濕度數據存入數組}returnHAL_OK;//成功讀取數據}else{returnHAL_ERROR;//數據校驗失敗}}intmain(void){uint8_tsensorData[4];//存儲溫濕度數據HAL_Init();DHT_Init();while(1){if(DHT_Read(sensorData)==HAL_OK){//從sensorData數組中解析溫濕度數據,并進行相應的處理//溫度數據:sensorData[2]//濕度數據:sensorData[0]}else{//讀取數據失敗,進行錯誤處理}HAL_Delay(2000);//每隔2秒讀取一次數據}}2.3.2煙霧傳感器MQ-2是一種煙霧(煙氣)和可燃氣體傳感器,在多數智能家居系統中常用于檢測空氣中的煙霧、甲烷、丙烷、液化石油氣(LPG)、氫氣等可燃氣體。它屬于MQ系列氣體傳感器中的一種,由中國深圳城市燃氣專用傳感器研制中心生產。其實物圖如圖2-6所示。圖2-6MQ-2實物圖以下是MQ-2傳感器的一些特點和功能:靈敏度:MQ-2傳感器可以快速檢測空氣中的多種可燃氣體濃度。通過使用具有較低電導率的二氧化錫作為主要原料,創造了這種傳感器。可調性:MQ-2傳感器的靈敏度可以通過調整傳感器上的電阻來進行調節,以適應不同的檢測環境和要求。其原理是煙霧濃度越高,傳感器里的二氧化錫得到導電率會越高,電阻會越小,輸出的電信號會越大。(3)簡單易用:MQ-2傳感器使用簡單,通常只需連接至電源并讀取傳感器輸出電壓即可。一般來說,傳感器的輸出電壓與檢測到的氣體濃度成正比。(4)數字輸出:MQ-2傳感器通常具有模擬輸出和數字輸出兩種方式。模擬輸出可以通過模擬轉換器(如ADC)讀取,而數字輸出通常是一個開關,用于表示是否檢測到可燃氣體。(5)應用廣泛:MQ-2傳感器適用于許多領域,包括家庭安全、工業安全、環境監測等。常見的應用包括可燃氣體泄漏檢測、火災預警、工業生產過程監測等。MQ-2煙霧傳感器的引腳為4針單排封裝。將MQ-2傳感器的數字輸出引腳連接到STM32的數字輸入引腳。將MQ-2傳感器的電源端口與STM32端口相連,以獲得3.3V或5V的電壓。此外,還需要將MQ-2傳感器的地端口與STM32端口相連,以獲取相應的信號。MQ-2煙霧傳感器的電路原理圖見2-7。圖2-7MQ-2電路原理圖2.3.3光照強度傳感器在智能家居系統中廣泛用于檢測室內的光照強度的傳感器是BH1750光照傳感器,符合本系統設計的要求。室內的燈光和窗簾可以根據BH1750光照傳感器監測的光照強度進行調節,給用戶提供舒適的光照體驗。光照傳感器通過光電效應將光能轉換為電能,并根據產生的電流或電壓變化來測量環境中的光照強度。這種工作原理使得光照傳感器能夠在各種應用中實現光強度的準確測量和監測。光電效應的現象隨著光照強度也會相應的發生變化。以下是BH1750傳感器的一些特點和功能:(1)高分辨率:BH1750傳感器具有高分辨率,能夠提供精確的光照強度測量數據。其分辨率通常為1lx(勒克斯)。(2)廣泛的測量范圍:BH1750傳感器的測量范圍很廣,通常從0到65535lx,能夠滿足多種室內和室外環境的測量需求。(3)數字輸出:BH1750傳感器采用I2C(或者稱為TWI)接口與微控制器通信,并以數字形式輸出測量結果。這使得與微控制器的連接和數據處理變得簡單和方便。(4)低功耗:BH1750傳感器的工作電流較低,通常在1.2mA左右,能夠滿足低功耗應用的需求。(5)快速響應:BH1750傳感器具有快速的響應時間,可以實時監測光照強度的變化,并迅速輸出最新的測量數據。BH1750光照傳感器有5個引腳,連接BH1750傳感器與STM32微控制器通常通過I2C總線進行。將BH1750傳感器的SDA引腳(串行數據線)連接到STM32的一個I2CGPIO引腳(如SDA)。將BH1750傳感器的SCL引腳(串行時鐘線)連接到STM32的另一個I2CGPIO引腳(如SCL)。將BH1750傳感器的電源引腳連接到STM32的電源引腳(一般為3.3V或5V)。將BH1750傳感器的地(GND)引腳連接到STM32的地引腳。同時其睡眠狀態時為高電平狀態。BH1750光照傳感器電路原理圖如圖2-8所示。圖2-8BH1750光照傳感器電路原理圖2.3.4顯示模塊在智能家居中,顯示屏和溫濕度傳感器可以發揮重要的作用,包括但不限于以下幾個方面:通過使用溫濕度傳感器,我們能夠對房間內的溫度、濕度提供即時監測。此外,通過使用顯示屏,我們還能夠清晰地展現室內的溫濕度情況。(2)智能控制系統的用戶界面:顯示屏是智能控制系統的重要組成部分,它可以提供豐富的功能,包括菜單、界面、操作指南,使用戶能夠輕松地操作家庭設備,如燈光、空調、暖氣等,從而實現智能化的家居管理。(3)警報和提醒功能:當溫濕度傳感器監控到室外環境的變化,比如過熱、過冷、過熱等,系統將會立即觸發警報,并向使用者及時發送指令,要求他們立即啟動空調或使用加濕器。(4)數據記錄和分析:溫濕度傳感器可以將采集到的數據傳輸到顯示屏或智能家居系統中,進行數據記錄和分析。用戶可以通過顯示屏查看歷史數據,并根據數據分析結果進行相應的調整和優化,以提高室內環境的舒適度和能效。(5)通過將溫濕度傳感器和顯示屏連接起來,我們就可以實現對環境的全方位監測,從而達到更加精確的自動化控制。比如,一旦溫濕度傳感器感知到環境中的溫度超標,它就會立即激活空調或者風扇,同時,將相關的操作信息展示給用戶。該系統采用0.96寸IIC顯示屏,并采用I2C通信協議,它可以在集成電路之間實現高效的串行通信,可以與各種微控制器和單片機兼容,而且可以輕松地應用于多種項目。將STM32的I2C引腳連接到I2C顯示屏的SDA和SCL引腳上。將顯示屏的VCC引腳連接到電源(3.3V或5V),并將地線(GND)連接到微控制器和電源的地線。編程微控制器以初始化I2C總線,并發送命令和數據到顯示屏,控制其操作。其電路原理圖如圖2-8所示。圖2-8I2C顯示屏電路原理圖2.4終端控制模塊2.4.1電機模塊電機驅動控制系統作為智能家居系統的主要部件,本設計選用的是ULN2003A電機驅動模塊,針對一些居家常用的智能窗簾或窗戶,采用控制步進電機來控制這類家居設備的開合。ULN2003A是一種常見的集成電路芯片,是一種高電壓、高電流達極性驅動器。它通常用于驅動低功率控制信號,如微控制器或數字信號,來控制較高功率的負載,如步進電機、直流電機、繼電器等。ULN2003A具有七個獨立的開關電路,每個電路具有一個二極管和一個晶體管,能夠承受較高的電壓和電流。因此,它在工業控制、自動化系統、家用電器等領域被廣泛應用。ULN2003A通常用于控制步進電機時,作為電流放大器或驅動器。步進電機通常需要高電流才能運轉,而微控制器的輸出電流通常較小,因此需要ULN2003A來增加輸出電流。控制步進電機時,ULN2003A的七個輸出引腳(OUT1至OUT7)可以連接到步進電機的七個線圈中的相應線圈。然后,將步進電機的每一步所需的控制信號通過微控制器發送到ULN2003A的輸入引腳(IN1至IN7)。ULN2003A將輸入信號放大并輸出到步進電機的線圈,從而控制步進電機的轉動。通過適當地控制ULN2003A的輸入信號,可以實現步進電機的不同運動模式,如正轉、反轉、加減速等。連接ULN2003A和STM32微控制器的方式相對簡單。ULN2003A的輸入引腳(IN1至IN7)可以連接到STM32微控制器的數字輸出引腳,用于控制步進電機的各個線圈。ULN2003A的輸出引腳(OUT1至OUT7)則連接到步進電機的相應線圈。此外,ULN2003A的COM引腳需要連接到STM32微控制器的地(GND)引腳,以確保電氣連接的完整性。通過在STM32上設置適當的數字輸出狀態,可以控制ULN2003A輸出的電平,進而控制步進電機的運動。電機驅動電路原理圖如圖2-9所示圖2-9電機驅動電路原理圖2.4.2報警模塊在用戶使用智能家居系統過程中,為了避免一些應急情況的發生。當系統中的煙霧傳感器測量到數值超過設定的閾值時,說明有異常情況,這時蜂鳴器工作,發出警報對用戶提醒。BUZZ1蜂鳴器是一種常見的電子元件,用于產生聲音或警報信號。它通常由一個壓電陶瓷或電磁裝置組成,當施加電壓時,產生聲音振動。BUZZ1蜂鳴器通常有兩個引腳,一個用于連接到電源正極,另一個連接到電源負極,當施加電壓時,蜂鳴器會發出聲音。它被廣泛應用于各種電子設備中,如鬧鐘、電子玩具、汽車報警系統等,用于提醒用戶或發出警報。蜂鳴器正負兩個引腳可以連接到STM32微控制器的任意兩個數字輸出引腳上。通過在STM32上設置適當的數字輸出狀態(高電平或低電平),可以控制BUZZ1蜂鳴器的振動狀態,從而產生不同的聲音效果。報警電路原理圖如圖2-10所示。圖2-10報警電路原理圖2.4.3按鍵電路設計在用戶使用該控制系統時,可以增加多按鍵來切換界面,通過多個按鍵實行顯示器界面的參數界面切換與退出,同時控制參數界面對選擇的參數進行加減操作。按鍵電路的輸出引腳連接到STM32微控制器的數字輸入引腳上。在STM32的軟件程序中,可以通過輪詢或中斷方式檢測數字輸入引腳的狀態變化,以判斷按鍵是否被按下。一旦檢測到按鍵按下的事件,STM32可以執行相應的操作,比如觸發一個功能、改變系統狀態或者發送一個信號。按鍵電路的電路原理圖如圖2-11所示。圖2-11按鍵電路原理圖2.5本章小結本章從智能家居控制系統的實際出發,對智能家居系統的硬件電路進行了設計、選型,并對相應的模塊進行了簡單介紹。闡述了本控制系統以STM32單片機為核心作為主控器,以多種傳感器組成的識別層,以電機模塊,報警模塊制成系統的終端控制部分、WiFi模塊以及電源模塊等的電路原理圖及連接方式。3系統軟件設計3.1引言本章旨在探討智能家居系統軟件設計的關鍵方面,包括系統架構、通信協議、用戶界面設計等。通過精心設計的軟件系統,可以實現智能家居設備之間的協同工作,提高系統的可靠性、穩定性和用戶體驗,從而更好地滿足用戶的需求。3.2STM32主控器程序設計在本課題的設計過程中使用Keil5軟件對硬件進行開發,在開發過程中根據相應的模塊的功能進行編程,完成程序后進行編譯調試,檢查程序是否存在錯誤,最后通過串口通信將相關程序燒入單片機中。Keil5的界面圖如圖3-1所示。圖3-1Keil5的界面圖在實物搭建好后,通過上電測試,需要對單片機及各傳感器模塊進行初始化設置。完成初始化之后通過WiFi無線通信模塊與機智云云平臺進行連接。控制指令通過WiFi串口的中斷之執行相應的指令。在執行前,STM32相應的串口會對指令進行判斷,如果是相應的控制指令,則會將相應的指令發送給STM32主控器進行解析和處理,并給相應的功能模塊發送指令執行相應的控制。主程序流程圖如圖3-2所示。圖3-2主程序流程圖3.3WiFi模塊程序設計WiFi模塊先進行初始化設置。在初始化完成后,使用AT指令對WiFi模塊進行測試以確保它能夠正常運行。在測試結束后,將WiFi模塊調節到STA模式,并檢索周圍的WiFi網絡,以便將它們連接起來。連接成功后就可以進行數據的交互。若連接不成功則重新返回檢查并重新進行連接。WiFi模塊工作程序流程圖如圖3-3所示。圖3-3WiFi模塊工作程序流程圖3.4MQTT傳輸協議程序設計在本文的智能家居系統設計之中,傳感器與作為主控芯片的STM32存在電氣連接以進行信息間的交互,而主控芯片則需要應用其用于網絡通訊的通信協議與機智云云平臺進行通訊,并且手機客戶端也與機智云云平臺進行網絡連接,機智云云平臺統籌處理上述雙方的連接,以實現遠距離人機交互、能夠清楚地了解家居的環境指標。MQTT是一種極具性價比的發布/訂閱消息傳輸協議,它可以有效地支持物聯網設備和云端之間的高效連接。在STM32中,您可以使用MQTT客戶端庫(如PahoMQTT庫)來實現MQTT通信功能。首先,STM32必須與機智云平臺的MQTT代理服務器建立連接,才能夠正常運行。一旦連接完成,STM32將會自動將相關信息發送至特定的MQTT主題中。機智云云平臺會訂閱該主題,一旦有數據發布到該主題上,機智云平臺就會接收到數據并進行相應的處理。其程序流程如圖3-4所示。圖3-4MQTT通信協議流程圖3.5數據收集模塊程序設計系統的數據采集模塊主要包括溫濕度傳感器、煙霧傳感器、光照強度傳感器等測量家居環境參數的傳感器。這些傳感器只需要測量數值經過STM32主控器進行信息處理打包通過無線通信模塊上傳到云系統即可。而煙霧傳感器需要設定其閾值,在超過閾值的情況下系統會引起警報。所以在程序設計時溫濕度傳感器、光照強度傳感器、煙霧傳感器程序的流程大致類似。在完成初始化之后,通過調用相關的函數,讀取數據上傳至STM32。3.6溫濕度傳感器模塊程序設計溫濕度傳感器首先需要通過“DHT-Init()函數”初始化STM32的GPIO端口,其用于連接傳感器,初始化串口或其他通信接口,用于將數據發送至顯示屏或云端。完成初始化和復位后。在主循環中使用延時函數或定時器來定期讀取溫濕度傳感器的數據,需要通過“DHT-Read()函數”來讀取傳感器的溫濕度數據,并進行處理。STM32進行錯誤檢查,確保讀取的數據有效。數據可以使用顯示屏或其他設備將溫濕度數據顯示出來,也可以使用HTTP或MQTT等通信協議將數據發送至云平臺的服務器。溫濕度傳感器數據采集流程圖如圖3-5所示。圖3-5溫濕度傳感器數據采集流程圖3.7煙霧傳感器模塊程序設計初始化STM32的GPIO端口,用于連接煙霧傳感器。初始化串口或其他通信接口,用于將報警信息發送至顯示屏、蜂鳴器等。在程序編寫中,設定在程序主循環中定期讀取煙霧傳感器的信號輸出。通過使用STM32的ADC模塊來讀取煙霧傳感器的模擬值,并通過串口輸出轉換后的百分比值。如果檢測到煙霧超過閾值,可以在相應的條件下執行相應的操作,例如啟動報警器、發送警報信息等。煙霧傳感器數據采集流程圖如圖3-6所示。本系統在設計MQ-2煙霧傳感器設置了一定的閾值,若傳感器的測量值高于閾值,則輸出低電平。若傳感器的測量值低于閾值時,則輸出高電平。在正常狀態下,傳感器的引腳輸出的是高電平,而超出一定值時,則以低電平出現。圖3-6煙霧傳感器數據采集流程圖3.8終端控制模塊程序設計在本次設計中,數據采集部分運用了多傳感器結合的方法,將居家環境數據采集之后經由STM32主控器處理之后通過WiFi-ESP8266上傳至云平臺。用戶可以通過APP或Web端查看相關環境數據并下發相應的動作指令,再由STM32主控器對控制器發出相應的信號,完成相應的指令。終端服務的電機驅動模塊會開始工作、蜂鳴器模塊會產生報警效果起到一定的警示作用。終端執行模塊的程序設計流程圖如圖3-7所示。圖3-7控制模塊程序流程圖NY圖3-7控制模塊程序流程圖NY3.9機智云云平臺設計3.9.1產品設備創建與接入登錄機智云云平臺后根據需要選擇相應的功能模塊,有一個名為“產品管理”或類似名稱的選項。在該選項下,創建一個新的產品。在創建產品時,提供產品的基本信息,如名稱、描述、類別等。創建產品后,系統會分配一個產品ID和產品密鑰。在產品中,可以定義不同類型的設備。可以指定每種設備類型所需的功能和屬性,以及設備支持的通信協議和接口。圖3-8云平臺創建設備設備創建完成后,再添加與設備相對應的數據流。在云平臺界面中點擊“數據流模板”來添加數據流。分別添加了溫濕度、煙霧濃度、光照強度、電機等多個設備的數據流。在設備端集成機智云提供的SDK或者通信協議,以便設備能夠與機智云平臺進行通信。在設備端集成完成后,在機智云平臺上添加設備,并將設備與之前創建的產品關聯起來。在添加設備時,系統會分配一個設備ID和設備密鑰。將設備的ID和APIKEY寫入到STM32主控模塊中,實現設備與ID一一對應,硬件設備正常工作時,通過WiFi模塊與云平臺服務器進行連接。3.9.2數據的交互云平臺數據的交互分為兩部分。一部分是將傳感器采集的數據上傳至云平臺,另外一部分是控制指令的下發。STM32通過向云平臺服務器發送請求連接登錄云平臺之后,能實現與云平臺建立相互通信。(1)數據打包上傳至云平臺主控器與云平臺服務器建立連接后,通過WiFi模塊來進行數據傳輸。首先WiFi模塊將需要上傳的環境參數打包成JSON格式,然后再將其封裝成MQTT協議消息報文形式,最后再上傳至云平臺。上傳的數據將儲存在對應產品的數據流當中。MQTT協議消息報文格式為:消息頭、選項、消息體。其中消息頭包括消息類型和剩余消息體長度,選項的作用是選擇產品設備的ID來區分不同的設備,以確保云平臺上的設備與實際設備能夠做到一一對應。消息體的內容是按照平臺規定格式打包的傳感器數據。數據上傳流程圖如圖3-9所示。圖3-9數據上傳流程圖控制指令下發設計用戶通過機智云平臺的管理界面或者API向設備發送控制指令。這些控制指令通常以消息的形式發布到相應的主題上。例如,用戶可以在"control"主題上發布一個控制燈光開關的指令。設備訂閱的主題收到新的消息時,會觸發相應的消息回調函數。設備接收到云端下發的控制指令后,會進行解析和處理。通過監控指令,可以控制執行器的運行狀態,從而實現對設備的有效管理。例如,如果收到控制燈光開關的指令,設備會打開或關閉燈光。設備執行完控制操作后,可以向云端發送反饋信息,通知云端操作執行的結果。例如,設備可以發布一個消息到"status"主題,告知云端燈光的當前狀態。機智云平臺接收到設備的反饋信息后,會根據需求進行相應的響應和數據存儲。例如,更新設備狀態、記錄操作日志等。3.9.3云平臺監控界面的設計設計云平臺監控界面時,需要考慮以下幾個方面:1.實時監控:界面應該提供實時監控功能,以顯示當前系統的狀態和運行情況。這包括設備在線狀態、數據傳輸情況、故障警報等信息。2.數據可視化:采用圖表、圖形等方式將數據可視化,讓用戶更直觀地了解系統的運行趨勢和數據變化。例如,使用折線圖展示傳感器數據的變化趨勢,使用餅圖顯示設備在線狀態的比例等。3.警報和通知:界面應該及時顯示系統中的警報和通知信息,以便用戶能夠快速響應并解決問題。可以通過彈窗、消息列表等方式顯示警報和通知信息。4.設備管理:提供設備管理功能,讓用戶能夠查看和管理已接入的設備。這包括設備的基本信息、狀態、配置參數等,用戶可以通過界面對設備進行操作和管理。5.用戶權限管理:根據用戶角色和權限,限制用戶對系統的訪問和操作。界面應該提供用戶管理功能,讓管理員可以管理用戶賬號、分配權限等。6.搜索和過濾:提供搜索和過濾功能,讓用戶能夠快速找到所需的信息。可以通過輸入關鍵字、選擇篩選條件等方式進行搜索和過濾。7.界面美觀易用:界面設計應簡潔清晰,布局合理,顏色搭配和諧,以提升用戶體驗。同時,界面應該易于操作,用戶能夠快速上手并完成所需操作。8.多平臺兼容:考慮到用戶可能在不同的設備上訪問監控界面,界面應該兼容多種平臺,如PC端、移動端等,并提供響應式設計,適配不同尺寸和分辨率的屏幕。云平臺管理應用界面如圖3-10所示。圖3-10云平臺應用管理界面圖3.10本章小結本章主要對智能家居系統進行了軟件設計。首先對主控器STM32進行了軟件開發和設計,后續對WiFi通信模塊以及MQTT傳輸協議、各傳感器模塊、各終端控制模塊等進行了軟件設計,最后完成了云平臺和控制端手機APP的軟件設計。實現了傳感器的數據采集、上傳、執行類器件的動作執行和狀態上報。還完成了云平臺與硬件之間的連接。實現了通過云平臺控制相應的家居設備。最后設計了手機APP作為用戶控制智能家居系統的一種方式。4系統調試與分析4.1系統硬件模型搭建完成智能家居系統的設計之后,首先需要搭建起系統對應的硬件模型拉埃模擬智能家居系統工作時的狀態。系統的硬件實物分別由STM32開發板、DHT11溫濕度傳感器、BH1750光照傳感器、按鍵電路、MQ-2煙霧模塊、OLED顯示屏以及電機驅動模塊ULN2003A和蜂鳴器驅動電路模塊組成智能家居硬件模塊系統。主控器STM32和WiFi模塊組成家庭網關系統的。硬件搭建實物圖如圖4-1所示。圖4-1硬件實物圖根據系統設計,將各種傳感器、執行器、控制器等硬件組件連接到硬件平臺上。這包括使用電路連接或者插件連接方式將硬件組件連接到主控板上。根據系統功能需求,編寫控制程序或者固件,以實現對各種硬件組件的控制和監測。根據硬件平臺選擇合適的編程語言和開發環境進行開發。在完成硬件連接和編寫控制程序后,進行系統測試和調試。驗證各種傳感器和執行器的功能是否正常,確保系統能夠穩定運行。與云平臺進行通信和數據交換,集成云平臺的SDK或者通信協議,確保系統能夠與云平臺進行連接和數據傳輸。根據測試和調試結果進行系統優化,提高系統的穩定性和性能。如果需要擴展功能或者添加新的硬件組件,進行相應的擴展和調整。4.2溫濕度模塊測試通過構建了一個溫濕度可調的測試環境,被配備了相應的測試設備。在測試過程中,通過逐步改變溫濕度,系統記錄了溫濕度的變化,并評估了其靈敏度、線性度和響應速度等性能指標。當濕度變高超過閾值時,LED轉紅燈以示警告且電機驅動開始工作,拉開窗簾使其室內進行通風,降低濕度和溫度。其測試圖如圖4-2所示。圖4-2溫濕度模塊測試圖4.3煙霧模塊和光照傳感器調試通過構建一個光照強度可調的測試環境,并配備了相應的測試設備。在測試過程中,通過逐步改變光照強度,系統記錄了光敏電阻的電阻值變化,并評估了其靈敏度、線性度和響應速度等性能指標。當煙霧濃度超過閾值時,蜂鳴器開始工作,電機驅動也隨之工作,將窗簾或窗戶拉開使其通風。其測試圖如圖4-3所示。圖4-3煙霧模塊和光照傳感器測試圖4.4按鍵電路模塊調試按鍵1切換界面和當進入參數界面時,可以按下按鍵1來退出參數界面。按鍵2功能1進入參數界面,功能2可以選擇要調節的參數。按鍵3在參數界面對選擇的參數加一,按鍵4在參數界面對選擇的參數減一。其測試圖如圖4-4所示。圖4-4按鍵電路測試圖4.5WiFi網絡調試WiFi網絡的調試主要為了測試WiFi模塊與云平臺服務器之間的信息交互是否穩定和正常。在實際生活中利用MQTT調試工具對進行測試。使用MQTT工具與機智云云平臺進行連接。首先在ESP8266上配置Wi-Fi連接,使其能夠連接到互聯網。在ESP8266上選擇一個合適的MQTT客戶端庫,并連接到MQTT代理(機智云平臺)。需要指定MQTT代理的地址和端口號,以及ESP8266的客戶端ID和連接憑據。在ESP8266上編寫消息處理函數,用于處理從云端接收到的消息。在主循環中持續運行MQTT客戶端,并處理接收到的消息。確保MQTT客戶端在連接斷開時能夠自動重新連接,并在需要時重新訂閱主題。云平臺調試界面如圖4-2所示。圖4-2云平臺調試界面4.云
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中語文1.3庖丁解牛教案
- 人教七年級地理下冊第八章第一節《中東》教學設計
- 幼兒園大班語言教案范文大班語言活動-兒歌百花開大班語言一去二三里等
- 創傷急救輸血考試試題及答案
- 晉城處級選拔考試試題及答案
- 全國普通話標準音節表及應用試題及答案
- 2026年陶瓷數碼打印技術應用
- 2026年脫硫設備行業商業模式創新報告
- 坊子區道法考試題及答案
- 天圓地理考試題及答案
- 2026年初級會計(初級會計實務)自測試題及答案
- 2025年普通高等學校招生全國統一考試 全國二卷語文(詳解版)
- 鐵缺乏性貧血預防與干預培訓指南
- 2025年第二屆玻璃基板TGV暨板級封裝產業高峰論壇:微鏡陣列高速變焦系統在TGV測試系統的應用
- 男裝店長核心職責培訓
- 銀行從業人員法律培訓大綱
- 彌漫性大B細胞淋巴瘤病例討論
- T/CSWSL 007-2019飼料原料酵母水解物
- 兒童自閉癥康復中心項目商業計劃書
- 萊州市月季產業發展規劃(2018-2022年)
- 《危化品“一件事”全鏈條重點工作任務分工清單》知識培訓
評論
0/150
提交評論