基于STM32+MQTT+WiFi技術(shù)的智能家居系統(tǒng)設(shè)計與實(shí)現(xiàn)(畢業(yè)論文+程序源碼)
大家好,今天給大家介紹基于STM32+MQTT+WiFi技術(shù)的智能家居系統(tǒng)設(shè)計與實(shí)現(xiàn),文章末尾附有本畢業(yè)設(shè)計的論文和源碼下載地址哦。需要下載開題報告PPT模板及論文答辯PPT模板等的小伙伴,可以進(jìn)入我的博客主頁查看左側(cè)最下面欄目中的自助下載方法哦
文章目錄:
1、項(xiàng)目簡介
- 智能家居技術(shù)是在電子信息技術(shù)和無線通信技術(shù)還有軟件技術(shù)等技術(shù)領(lǐng)域不斷發(fā)展而產(chǎn)生的新興技術(shù),這種技術(shù)不僅能改變?nèi)藗內(nèi)粘5纳罘绞剑€能將居住環(huán)境變得更舒適。本文的研究設(shè)計正是通過上述技術(shù)提出一種以無線通信技術(shù)為基礎(chǔ)實(shí)現(xiàn)對室內(nèi)家居環(huán)境進(jìn)行實(shí)時監(jiān)測、預(yù)警、控制的智能家居系統(tǒng)方案。該方案以WiFi技術(shù)為核心,使用性價比較高的STM32F1芯片,對裝置上的一氧化碳(簡稱CO)氣體傳感器、甲烷(CH_4)氣體傳感器 、溫濕度傳感器、光照傳感器人體感應(yīng)模塊進(jìn)行定期數(shù)據(jù)采集處理,并發(fā)送到系統(tǒng)屏幕和云平臺上,云平臺扮演數(shù)據(jù)傳輸中的數(shù)據(jù)庫和服務(wù)器環(huán)境。使用云服務(wù)器搭建的WEB站點(diǎn)通過向云平臺發(fā)送指令或接收數(shù)據(jù),最終實(shí)現(xiàn)了數(shù)據(jù)在硬件裝置上與WEB站點(diǎn)上以云平臺為中間件的連接通路,實(shí)現(xiàn)智能家居系統(tǒng)的遠(yuǎn)程查看和智能化控制。
2、資源詳情
項(xiàng)目難度:中等難度
適用場景:相關(guān)題目的畢業(yè)設(shè)計
配套論文字?jǐn)?shù):16717個字36頁
包含內(nèi)容:全套源碼+配整論文
開題報告、論文答辯、課題報告等ppt模板推薦下載方式:
3、關(guān)鍵詞
智能家居;無線通信;環(huán)境監(jiān)測;web技術(shù);傳感器;處理器;4、畢設(shè)簡介
提示:以下為畢業(yè)論文的簡略介紹,項(xiàng)目完整源碼及完整畢業(yè)論文下載地址見文末。
第1章 緒 論
1.1 概述
目前,作為一門新興的科學(xué)技術(shù),智能家居技術(shù)及其行業(yè)發(fā)展都還處于初級階段,提出的很多方案都只是一種嘗試性地前行,尚存在很多缺點(diǎn)和不足,如很多都缺乏實(shí)質(zhì)性的產(chǎn)品和內(nèi)容、采用的技術(shù)較為復(fù)雜且成本較高、行業(yè)內(nèi)沒有指定一個標(biāo)準(zhǔn)和規(guī)范,各家廠商都是使用的自己的規(guī)范和標(biāo)準(zhǔn),普通消費(fèi)者會出現(xiàn)難以選擇和比較的窘境。
1.2 國內(nèi)外研究現(xiàn)狀
省略
1.3 研究目標(biāo)和內(nèi)容
本設(shè)計以無線通信技術(shù)為基石,通過各種傳感器檢測,將輸出信號送給主控芯片處理,通過主控芯片將數(shù)據(jù)傳給通信模塊,再由通信模塊傳到服務(wù)器,而終端從服務(wù)器上實(shí)時獲取數(shù)據(jù)并顯示,并且終端產(chǎn)生的控制數(shù)據(jù)也原路返回送入主控芯片做出實(shí)時修改控制。
通過實(shí)現(xiàn)以上流程完成一個能夠?qū)崿F(xiàn)溫濕度檢測、煙霧報警、遠(yuǎn)程控制家電、入戶監(jiān)測功能的簡單的智能家居模擬系統(tǒng)設(shè)計。設(shè)計的具體要求如下:
- 綜合考慮各種因素,進(jìn)行方案選擇和論證;
- 根據(jù)設(shè)計目標(biāo)和指標(biāo)要求選擇傳感器、驅(qū)動裝置等外圍設(shè)備,設(shè)計外圍電路;
- 選擇現(xiàn)場與手機(jī)的通信方式,進(jìn)行軟件設(shè)計,完成設(shè)計目標(biāo)要求的功能;
- 軟硬件聯(lián)合調(diào)試。
具體的指標(biāo)要求: - 溫濕度精度1度,2%
- 煙霧檢測濃度超過25 %報警
具體研究的內(nèi)容如下: - 綜合考慮各種因素,進(jìn)行整體框架方案的選擇和論證;
- 通過分析設(shè)計目標(biāo)、指標(biāo)要求和各傳感器廠商提供的數(shù)據(jù)手冊選擇傳感器、芯片、顯示器裝置等外圍設(shè)備;
- 在無終端情況下硬件裝置對環(huán)境的測量、顯示以及復(fù)雜任務(wù)的實(shí)現(xiàn);
- 終端軟件和數(shù)據(jù)庫(服務(wù)器)的方案選擇:開放數(shù)據(jù)服務(wù)管理平臺如yeelink、中移物聯(lián)(onenet)或者自行構(gòu)建數(shù)據(jù)服務(wù)器與終端。WEB端、手機(jī)APP、微信小程序等多終端的深入比較,解決前后端聯(lián)通;
- 有關(guān)物聯(lián)網(wǎng)技術(shù)和無線連接技術(shù)的深入研究(熱門方案如ZigBee、WIFI、Z-wave),選擇硬件裝置與手機(jī)的通信方式,進(jìn)行裝置上軟件設(shè)計,完成設(shè)計目標(biāo)要求的功能;
- 軟硬件聯(lián)合調(diào)試,對系統(tǒng)進(jìn)行調(diào)試優(yōu)化,打通軟硬件之間的聯(lián)通,實(shí)現(xiàn)檢測和控制的最終效果。
第2章 功能設(shè)計和方案選擇
2.1 整體方案設(shè)計分析
智能家居系統(tǒng)需要實(shí)現(xiàn)環(huán)境監(jiān)測、煙霧報警、人員入戶檢測、遠(yuǎn)程控制家電以及遠(yuǎn)程查看實(shí)時信息等功能。其中,環(huán)境監(jiān)測、煙霧報警和人員入戶檢測很顯然都需要一個核心控制器循環(huán)處理上述事件,其次要實(shí)現(xiàn)遠(yuǎn)程控制家電和實(shí)時查看數(shù)據(jù)流信息需要選擇一種無線通信技術(shù)為基礎(chǔ)搭建一個數(shù)據(jù)遠(yuǎn)程傳輸框架。所以下文將會以無線數(shù)據(jù)傳輸方案選型和硬件方案選型兩方面展開選擇比較。
2.2 無線數(shù)據(jù)傳輸方案選型
2.2.1 無線通信技術(shù)
常見的無線通信技術(shù)有:無線局域網(wǎng)(Wi-Fi)、近場通信(NFC)、藍(lán)牙(Bluetooth)、紅外線數(shù)據(jù)通信IrDa和ZigBee。
(1) WIFI通信技術(shù):
WiFi是一種基于IEEE802.11系列協(xié)議標(biāo)準(zhǔn)實(shí)現(xiàn)的無線通信技術(shù),該通信協(xié)議于1996年由澳洲的研究機(jī)構(gòu)CSIRO提出,WiFi 憑借其獨(dú)特的技術(shù)優(yōu)勢,被公認(rèn)為是目前最為主流的WLAN技術(shù)標(biāo)準(zhǔn)。隨著WiFi無線通信技術(shù)的不斷優(yōu)化和發(fā)展,當(dāng)前主要有4種通信協(xié)議標(biāo)準(zhǔn),即802.11g、802.11b、802.11n和802.11a[13],并且新的協(xié)議版本IEEE802.11n完全兼容之前的a、b、g版本[7]。根據(jù)不同的協(xié)議標(biāo)準(zhǔn)主要有兩個工作頻段,分別為2.4GHz和5.0GHz。
WiFi具有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)簡單、通信安全、工作頻段開放、與以太網(wǎng)的兼容性較好、傳輸速率高等優(yōu)點(diǎn),常常被應(yīng)用于無線熱點(diǎn)、手機(jī)、遠(yuǎn)程控制、網(wǎng)絡(luò)媒體、醫(yī)療器械、現(xiàn)代農(nóng)業(yè)等眾多領(lǐng)域[14]。
(2) 藍(lán)牙通信技術(shù):
藍(lán)牙是一種是一種使用UHF無線電波傳輸?shù)慕嚯x無線通信技術(shù)標(biāo)準(zhǔn),其傳輸距離通常在10厘米-10米不等,主要工作在2.4GHz頻段,并且其距離越遠(yuǎn)傳輸效率越低,越不穩(wěn)定,藍(lán)牙的最大數(shù)據(jù)傳輸速率是1Mbps,其功耗介于wifi和ZigBee之間。是典型的點(diǎn)對點(diǎn)、短距離無線通信方式[15]。
2.2.1 ZigBee通信技術(shù):
ZigBee是一種基于IEEEE802.15.4標(biāo)準(zhǔn)的低功耗、短距離的無線傳輸技術(shù),主要工作于2.4GHz頻段,傳輸速率為10M-250kb/s[6],ZigBee設(shè)備之間進(jìn)行數(shù)據(jù)通信時是通過將數(shù)據(jù)一個節(jié)點(diǎn)一個節(jié)點(diǎn)的傳遞完成的,同時由于其優(yōu)越的低功耗和組網(wǎng)過程具備自組織、自維護(hù)等特點(diǎn),多用于工業(yè)控制,醫(yī)療監(jiān)護(hù),建筑設(shè)計、個人電腦外設(shè)的無線連接等領(lǐng)域[10]。
剩下的NFC和紅外數(shù)據(jù)通信技術(shù)明顯不適用于當(dāng)前多數(shù)據(jù)、遠(yuǎn)距離的設(shè)計要求,就不具體展開分析。藍(lán)牙技術(shù)在日常生活中通常只是用于設(shè)備與設(shè)備之間點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸,且傳輸距離較短,并不是很適合。ZigBee技術(shù)能進(jìn)行多個電子設(shè)備間組網(wǎng),且功耗低,傳輸可靠,應(yīng)用場景很適合,但是私組網(wǎng)并不能直接接入互聯(lián)網(wǎng),而是還要通過WiFi才能接入,并且本設(shè)計并沒有組網(wǎng)需求,所以ZigBee也并不適合。
WiFi技術(shù)盡管也是短距離的無線通信技術(shù),但是當(dāng)接入寬帶的無線路由器設(shè)置了AP模式之后,無線路由器的WiFi信號就能連入互聯(lián)網(wǎng)。
接入互聯(lián)網(wǎng)之后,將數(shù)據(jù)上傳到服務(wù)器,就能實(shí)現(xiàn)在網(wǎng)頁、APP甚至是小程序上的數(shù)據(jù)流查看和指令發(fā)送。
2.2.2 服務(wù)器、數(shù)據(jù)庫實(shí)現(xiàn)方式
個人搭建具有完備功能的服務(wù)器和穩(wěn)定的數(shù)據(jù)庫,并實(shí)現(xiàn)數(shù)據(jù)互通,API自由調(diào)用,對于非專業(yè)開發(fā)者而言,會十分艱難,所以在查閱了網(wǎng)上資料和相關(guān)書籍以及咨詢了老師之后,有兩種較為簡單的方式實(shí)現(xiàn)應(yīng)用服務(wù)器功能:
(1).在linux環(huán)境下搭建boa web服務(wù)器
(2).選擇專業(yè)物聯(lián)網(wǎng)云平臺接入智能家居設(shè)備,利用云平臺的公共API獲取網(wǎng)頁所需數(shù)據(jù)以及下發(fā)指令
盡管boa微服務(wù)器的搭建不是很難,但是后續(xù)步驟如上傳數(shù)據(jù)流、訪問請求和下發(fā)指令的相關(guān)資料并沒有找到,并且OneNET平臺功能十分完善,支持多協(xié)議接入,對每一個注冊用戶都有開發(fā)的公共API接口供調(diào)用,官方提供的SDk還支持多種編程語言。
綜上所述,最后決定使用開放云平臺OneNET作為數(shù)據(jù)上傳的服務(wù)器和數(shù)據(jù)庫。
2.3 硬件方案選型
2.3.1 硬件總體設(shè)計
根據(jù)設(shè)計要求和設(shè)計指標(biāo),在智能家居系統(tǒng)的硬件裝置上需要相應(yīng)指標(biāo)的傳感器、負(fù)責(zé)收集和處理傳感器數(shù)據(jù)的核心控制器、與外界交換信息的通信模塊。并且為了后期調(diào)試的方便,應(yīng)該在硬件裝置上加上一個用于實(shí)時顯示信息能與上傳數(shù)據(jù)作對比的屏幕。
硬件總體結(jié)構(gòu)圖如圖2-1所示:
圖2-1 硬件結(jié)構(gòu)設(shè)計圖
2.3.2 控制器選型
根據(jù)使用經(jīng)驗(yàn),有MSP430、AT89C51、STC15、STM32以及Exynos4412開發(fā)板可供選擇。由于本次設(shè)計所用的傳感器數(shù)量多,不僅需要給傳感器分配引腳,還需要給通信模塊、顯示屏以及串口調(diào)試和SWD下載預(yù)留足夠引腳,AT89C51引腳太少,難以使用。傳感器一般所需供電電壓為5v,而MSP430的工作電壓范圍是:1.8V-3.6V,壓差過大,即使做了電壓轉(zhuǎn)換也會有IO口電流過大的危險,況且MSP430的I/O無保護(hù),過壓過流會立即擊穿,所以MSP430也不太適合。Exynos4412使用需要配置linux環(huán)境,且繪制PCB比較麻煩,cortex-a9內(nèi)核功能強(qiáng)大會有過剩。而STC15與STM32相比,后者編寫程序使用庫函數(shù)開發(fā)方便,社區(qū)文檔資料豐富,所以綜合以上,最后將控制器定為STM32F103系列。
2.3.3 硬件顯示屏選型
硬件裝置上的顯示屏用于前期調(diào)試,和后期聯(lián)通云平臺后與云平臺的上傳數(shù)據(jù)作對比,因此需要在屏幕上顯示盡量多的傳感器輸出數(shù)據(jù)和其他的一些實(shí)時運(yùn)行狀態(tài)。
對于傳統(tǒng)單片機(jī)開發(fā),有幾種常用的屏幕模塊可供使用:OLED液晶顯示屏、TFT液晶顯示屏以及LCD1602顯示屏。
根據(jù)本小節(jié)的顯示屏需求分析,OLED屏因?yàn)橹挥?.91或0.96寸等幾種有限大小的規(guī)格,并不能滿足本設(shè)計需要盡可能多的顯示數(shù)據(jù)的信息。LCD1602則是一種傳統(tǒng)的點(diǎn)陣式液晶顯示,1602的正常使用一共需要16個引腳,這無論對于任何單片機(jī)而言都是一筆不小的開銷,所以并不適合。綜上所述,最后顯示屏模塊選用1.44寸的TFT彩色液晶屏。
2.3.4 Wifi模塊選型
Wifi模塊選用國產(chǎn)安信可的ESP8266-01S模塊,此模塊在較小尺寸的封裝中集成了一個32位MCU,可以接入RTOS系統(tǒng),板載天線并支持標(biāo)準(zhǔn)的IEEE802.11 系列協(xié)議,內(nèi)置 TCP/IP 協(xié)議棧[16]。開發(fā)者使用AT指令就能輕松使用,接入互聯(lián)網(wǎng)。與MCU通過串口相連接,如果有過WiFi模塊的使用經(jīng)驗(yàn),此模塊是非常方便的。并且供電電壓是3.0-3.6V與主控芯片配合能方便設(shè)計電路。
2.3.5 煙霧傳感器選型
(1).離子式煙霧傳感器
離子感煙探測器主要是利用飄散在空氣中的煙霧顆粒改變傳感器內(nèi)部的電離室電流原理而設(shè)計的探測器。傳感器內(nèi)部的傳感器元件裝有а放射源的電離室,現(xiàn)在大多為單源雙室結(jié)構(gòu)(補(bǔ)償室,測量室),再配上相應(yīng)的放大電路和MCU(Microcontroller Unit)所構(gòu)成。在電離室的正極上有a放射源AM241,其放射源可以在上百年的時間里不斷地放射出a粒子,a粒子不斷地撞擊空氣分子,引起電離,產(chǎn)生大量帶正,負(fù)電荷的離子,從而使空氣帶有導(dǎo)電性[17]。當(dāng)傳感器內(nèi)部電路的電源電壓加在加在正負(fù)極兩邊時,就會產(chǎn)生電流[11],在正常情況下電流值會保持穩(wěn)定?;馂?zāi)發(fā)生時,煙霧粒子進(jìn)入電離室引起電離電流的減小,電路中通過檢測電流或者負(fù)載電阻的電壓變化就能得到煙霧濃度變化。
(2).光電式煙霧傳感器
這種傳感器內(nèi)部通常會含有一個光學(xué)迷宮,在光學(xué)迷宮兩旁安裝有紅外對管,無煙時紅外接收管收不到紅外發(fā)射管發(fā)出的紅外光,當(dāng)煙塵進(jìn)入光學(xué)迷宮時,通過折射、反射,接收管接收到紅外光,智能報警電路判斷是否超過閾值,如果超過發(fā)出警報。
(3).氣敏式煙霧傳感器
在一般情況下,檢測特定種類氣體氣通常會選用氣敏傳感器。它主要包括半導(dǎo)體氣敏傳感器、接觸燃燒式氣敏傳感器和電化學(xué)氣敏傳感器等[12],其中用的最多的是半導(dǎo)體氣敏傳感器,其內(nèi)部使用的是二氧化錫半導(dǎo)體材料,當(dāng)該材料與煙霧接觸時,會引起材料表面電導(dǎo)率的變化,根據(jù)傳感器廠商給的曲線圖資料就能擬合出煙霧濃度與材料等效電阻的關(guān)系。它的應(yīng)用主要有:一氧化碳濃度的檢測、煤氣中甲烷濃度的檢測、乙醇?xì)怏w濃度的檢測等等。
根據(jù)設(shè)計指標(biāo),本設(shè)計必須檢測出具體的煙霧濃度,但是如果不是針對特定氣體的濃度檢測,這項(xiàng)功能就失去了意義,而第一種和第二種都不是針對特定種類氣體的傳感器,并且檢測出煙霧濃度后也不能作出具體的區(qū)分。綜上所述,選用第三種煙霧傳感器,并設(shè)定此應(yīng)用場景大多在室內(nèi)的智能家居系統(tǒng)應(yīng)當(dāng)檢測的氣體為廚房燃火可能產(chǎn)生的甲烷(CH4)、燃燒不充分可能產(chǎn)生的一氧化碳(CO),傳感器的具體型號為——甲烷(CH4)-MQ4、一氧化碳(CO)-MQ7。
2.3.6 溫濕度傳感器選型
溫濕度傳感器選用的是DHT22模塊,這是一個可以同時檢測溫度和濕度的傳感器模塊,內(nèi)部含有一個電容式感濕元件和一個NTC測溫元件[18],并與一個8位MCU連接,擁有高響應(yīng)、抗干擾能力強(qiáng)等特點(diǎn)。每個DHT22都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn),其溫度精度在±0.5°以內(nèi),濕度精度在±2%以內(nèi)。傳感器本身采用單總線通信,根據(jù)高低電平不同的持續(xù)時間制定了通信協(xié)議。通常應(yīng)用于除濕器、數(shù)據(jù)記錄器、家電、氣象站等。
2.3.7 光照傳感器選型
光照傳感器選用的是BH1750傳感器,檢測光照強(qiáng)度通常我們會想到使用光敏二極管,并且光敏二極管的電壓/電流隨光照強(qiáng)度的增加而相應(yīng)增加,但是這二者并不是線性關(guān)系,而BH1750內(nèi)部將光敏二極管的輸出做了線性處理,傳感器芯片與外部(如單片機(jī))采用I2C協(xié)議通訊,單片機(jī)只要與傳感器芯片使用正確格式通信就能得到內(nèi)部寄存器存儲的光照強(qiáng)度數(shù)據(jù)。
2.3.8 人體感應(yīng)模塊HC-SR501
這是一種應(yīng)用熱釋電紅外傳感器LH1778為核心的自動控制模塊。
此模塊在探測半徑范圍內(nèi)有人員經(jīng)過時,會探測到并輸出高電平,在光強(qiáng)穩(wěn)定無變化時,模塊會在輸出高電平一段時間之后輸出低電平,表示探測范圍內(nèi)無人員。同時模塊內(nèi)置光敏控制和溫度補(bǔ)償機(jī)制,前者可根據(jù)具體場景需要在白天或光線強(qiáng)時不感應(yīng),最大程度降低功耗;當(dāng)天氣升溫至30°及以上時會對模塊內(nèi)部傳感器有溫度影響,后者溫度補(bǔ)償機(jī)制設(shè)置之后可做一定程度上的性能補(bǔ)償。
2.4 本章小結(jié)
本章主要是對老師提出的設(shè)計指標(biāo)和具體的設(shè)計要求做了詳細(xì)的分析,并根據(jù)以往的單片機(jī)開發(fā)經(jīng)驗(yàn)和各元器件特性作了比較,最終選定了無線數(shù)據(jù)通信的整體方案和硬件設(shè)計框架,一一確定了模塊的具體型號,為接下來的硬件電路設(shè)計踏出了關(guān)鍵的一步。
Equation Chapter (Next) Section 1
第3章 硬件電路設(shè)計
3.1 硬件結(jié)構(gòu)設(shè)計
在設(shè)計一個硬件裝置電路時,首先應(yīng)該考慮的是模塊和元器件的供電,也就是敲定電源。查詢資料并根據(jù)上一章選定的控制器和各模塊的工作特性,可以得知裝置主要分為5V供電和3V供電兩個部分,結(jié)合實(shí)際考慮我們通常使用USB接口接電腦、筆記本或者充電寶為硬件電路供電,所以需要一個設(shè)計一個電壓轉(zhuǎn)換電路將5V轉(zhuǎn)為3.3V為主控芯片和WIFI模塊供電。并且主控芯片作為電路核心部分,參與對各傳感器輸出數(shù)據(jù)的搜集和處理并實(shí)時傳輸給顯示屏和WIFI模塊,控制WIFI模塊根據(jù)相應(yīng)協(xié)議發(fā)送數(shù)據(jù)。綜上,硬件結(jié)構(gòu)設(shè)計圖如圖3-1所示:
圖3-1 硬件結(jié)構(gòu)設(shè)計圖
接下來將一一對各部分電路作具體分析與設(shè)計。
3.2 硬件原理圖設(shè)計
3.2.1 電源電路
根據(jù)前一節(jié)所述,裝置上使用USB供電除了要引入5V電壓配合自鎖開關(guān)形成基本的電源回路,還必須要有一個電壓轉(zhuǎn)換電路才能,主控和其他芯片才能正常工作。
如上圖3-3所示,此處使用的是AMS1117芯片作為降穩(wěn)壓芯片并根據(jù)芯片手冊提供的樣例電路設(shè)計出了相應(yīng)的外圍電路。AMS1117是一個線性穩(wěn)壓芯片,輸出波紋小,工作噪聲低,擁有固定輸出版本和可調(diào)輸出版本,這里選用的是固定版本,輸入端連接5V能正常輸出3.3V。
3.2.2 TFT模塊顯示電路
TFT顯示屏本身就是一個廠家設(shè)計好的顯示模塊,所以要應(yīng)用到裝置中只需要根據(jù)廠家所給芯片手冊配置好相關(guān)引腳即可。電路圖如圖3-4所示:
圖3-4 TFT模塊顯示電路圖
3.2.3 ESP8266-01S應(yīng)用電路
ESP8266與TFT顯示屏類似,也是使用廠家設(shè)計好的模塊,配置相關(guān)引腳即可。應(yīng)用電路圖如圖3-5所示:
圖3-5 ESP8266應(yīng)用電路圖
3.2.4 STM32F103C8T6核心板電路
STM32負(fù)責(zé)傳感器的數(shù)據(jù)收集和處理,還有ESP8266和TFT兩個模塊的控制,所以,設(shè)計時考慮將STM32的所有IO引腳、電源引腳以及一些常用的功能引腳分別按距離遠(yuǎn)近引出到兩旁的排針上,以免后期如果要增加新的功能或要求時可以靈活變動。核心板電路圖如圖3-6所示
圖3-6 STM32核心電路圖
3.2.5 蜂鳴器報警電路
此電路是基于設(shè)計要求中的煙霧報警功能而設(shè)計的。蜂鳴器采用的是有源蜂鳴器,有源蜂鳴器的有源,指的是蜂鳴器內(nèi)部設(shè)有振蕩源,只要能通電,振蕩源就能配合電壓產(chǎn)生方波信號,有源蜂鳴器就能直接發(fā)出聲音,無源蜂鳴器則相反[19]。
此處設(shè)計電路直接使用一個PNP型三極管8550,使用的是三極管的截止區(qū)和飽和區(qū)實(shí)現(xiàn)開關(guān)作用。當(dāng)IO口輸出高電平時,三極管導(dǎo)通進(jìn)入飽和區(qū),當(dāng)IO口輸出低電平時三極管斷開進(jìn)入截止區(qū)[20]。報警電路如圖3-6所示:
圖3-7 蜂鳴器報警電路圖
3.2.6 RGB控制電路
RGB信號燈用于展示智能家居系統(tǒng)的遠(yuǎn)程控制家電效果——模擬燈光控制。此RGB燈是共陽極,所以只要接通電源,使用IO口控制相應(yīng)顏色的通道就能展現(xiàn)不同的顏色。RGB控制電路如圖3-7所示:
圖3-8 RGB電路圖
3.2.7 步進(jìn)電機(jī)控制電路
步進(jìn)電機(jī)用于展示智能家居系統(tǒng)的遠(yuǎn)程控制家電效果——模擬窗簾控制。電路中使用ULN2003集成芯片,輸出端能輸出大電流,非常適用于驅(qū)動電機(jī)這類功率要求高的器件。步進(jìn)電機(jī)控制電路如圖3-9所示:
圖3-9 步進(jìn)電機(jī)電路圖
3.2.8 DHT22傳感器電路
DHT22采用AM2302作為核心芯片,AM2302內(nèi)部已經(jīng)集成了電路,所以能直接產(chǎn)生數(shù)字輸出,根據(jù)AM2302芯片手冊中的樣例電路設(shè)計了外圍電路。DHT22電路如圖3-10所示:
圖3-10 DHT22電路圖
3.2.9 MQ4傳感器電路
氣敏式煙霧傳感器中最常用的是MQ2傳感器,但是MQ2對于每種氣體煙霧的靈敏度都差不多,不能在有電平信號時區(qū)分到底是哪種氣體,所以比較MQ系列的傳感器資料得出MQ4傳感器對于甲烷的靈敏度較高,可用來檢測甲烷氣體濃度。MQ4傳感器電路設(shè)計了數(shù)字信號和模擬信號輸出,因?yàn)樾枰獪y量具體濃度信息,所以需要用主控芯片的內(nèi)置ADC通道采集模擬信號輸出。MQ4傳感器電路如圖3-11所示:
圖3-11 MQ4電路圖
3.2.10 BH1750傳感器電路
BH1750本身已經(jīng)是設(shè)計好的傳感器芯片,所以只需要根據(jù)芯片手冊設(shè)計對應(yīng)的外圍電路即可,BH1750傳感器電路如圖3-12所示:
圖3-12 BH1750電路圖
3.3 本章小結(jié)
本章在第二章的分析設(shè)計基礎(chǔ)上分部分實(shí)現(xiàn)了各模塊的電路設(shè)計與原理圖繪制,主要包括電源電路,主控核心板電路,ESP8266WiFi模塊電路,TFT顯示屏電路,用于遠(yuǎn)程控制的RGB燈控制電路和步進(jìn)電機(jī)控制電路以及各種傳感器電路。
完成原理圖的繪制之后,使用AD(Altium Designer)軟件完成了硬件電路的PCB電路繪制,并且完成了實(shí)物的焊接制作,由于軟件程序尚未完成,所以只能針對每個模塊進(jìn)行相應(yīng)的測試,在保證模塊正常工作的情況下,進(jìn)行接下來的軟件部分的設(shè)計。
第4章 軟件設(shè)計
4.1 軟件設(shè)計分析
本章將在硬件電路設(shè)計、繪制并調(diào)試成功的基礎(chǔ)上,對軟件部分作出具體的分析、規(guī)劃和編寫。整個智能家居模擬系統(tǒng)的軟件部分,分為硬件裝置的應(yīng)用程序和網(wǎng)站終端展示頁面的程序。
4.1.1 硬件裝置應(yīng)用程序結(jié)構(gòu)分析
想要實(shí)現(xiàn)設(shè)計要求之中的功能,首先應(yīng)該對所有硬件完成初始化,其中值得一提的是對WiFi模塊ESP8266的初始化,在這個模塊的初始化應(yīng)該完成對本地?zé)o線路由器WiFi連接,這樣才能在正式的循環(huán)體中的通過ESP8266發(fā)送數(shù)據(jù)通入互聯(lián)網(wǎng)。其次就是完成對各傳感器的輸出數(shù)據(jù)收集和處理,然后才是將數(shù)據(jù)發(fā)送至顯示屏顯示和通過ESP8266傳入云平臺。這樣就完成了數(shù)據(jù)的單向傳輸。
還應(yīng)該在程序的某個合理的位置,設(shè)置對云平臺指令的接受、解析和執(zhí)行。由此,完成數(shù)據(jù)的雙向通信。硬件應(yīng)用程序流程圖如圖4-1所示:
圖4-1 硬件應(yīng)用程序流程圖
4.1.2 網(wǎng)站終端展示程序結(jié)構(gòu)分析
網(wǎng)站的實(shí)際用途是向用戶展示遠(yuǎn)程連接的傳感器數(shù)據(jù)以體現(xiàn)家里的真實(shí)情況,并通過網(wǎng)站發(fā)送一些指令來達(dá)到簡單的遠(yuǎn)程控制效果。所以首先,這是一個傾向私人化的網(wǎng)站程序,需要創(chuàng)建一個登錄界面驗(yàn)證網(wǎng)站使用者的合法性。其次是就是一個展示數(shù)據(jù)頁面,展示數(shù)據(jù)頁面會包含發(fā)送指令的功能。最后,因?yàn)檫@是一個畢業(yè)設(shè)計作品,可以創(chuàng)建一個界面用作網(wǎng)站的簡單介紹。
4.2 硬件應(yīng)用程序設(shè)計
4.2.1 初始化程序設(shè)計
此次設(shè)計中用到的元器件很多,并且根據(jù)各個元器件的功能特性,必須在初始化時設(shè)置固定的先后順序,才能在全部初始化完成后,順利使硬件裝置正常工作。
首先是屏幕的初始化,因?yàn)樵诔跏蓟^程中,需要使用屏幕打印出每一步的具體進(jìn)展,避免用戶在硬件初始化期間無法判斷裝置是否正常工作,以及WIFI是否正常連接。
接著是STM32核心板上的串口1和串口2的初始化,串口1用作與WIFI模塊ESP8266的通信,串口2用作打印關(guān)鍵步驟信息,方便調(diào)試。
然后便是STM32核心板上led燈、ADC通道初始化、RGB燈、電機(jī)以及各傳感器等等的初始化設(shè)置,這些硬件的初始化很大一部分是要初始化對應(yīng)的IO引腳。
最后便是WIFI的設(shè)置與初始化。ESP8266模塊將在此進(jìn)行硬件初始化,并進(jìn)行預(yù)設(shè)的WIFI連接。
下面是使用8266官方發(fā)布的AT指令集進(jìn)行WIFI連接的代碼,(其中printf通過串口2打印至電腦串口助手幫助調(diào)試):
void WIFI_CWJAP(void)
{
printf("AT\r\n");
while(ESP8266_SendCmd("AT\r\n\r", "OK", 200))
delay_ms(500);
printf("CWMODE\r\n");
while(ESP8266_SendCmd("AT+CWMODE=1\r\n", "OK", 200))
delay_ms(500);
printf("AT+CWDHCP\r\n");
while(ESP8266_SendCmd("AT+CWDHCP=1,1\r\n", "OK", 200))
delay_ms(500);
printf("CWJAP\r\n");
while(ESP8266_SendCmd(ESP8266_WIFI_INFO, "GOT IP", 200))
delay_ms(500);
}
緊接著ESP8266初始化的就是與OneNET平臺連接,有關(guān)OneNET平臺的連接將在下面幾節(jié)進(jìn)行詳細(xì)的說明。
4.2.2 OneNET云平臺簡介
OneNET云平臺提供包括MQTT、Modbus、HTTP、TCP等等多種協(xié)議標(biāo)準(zhǔn)接入,也就是表明OneNET的服務(wù)器不會在意你具體用的什么協(xié)議,重要的是使用該協(xié)議規(guī)范正確設(shè)置發(fā)送和接受的數(shù)據(jù)包格式。只要成功接收到數(shù)據(jù),云平臺就能使用其自身數(shù)據(jù)儲存、數(shù)據(jù)分析能力,在開發(fā)者提前設(shè)置好的情況下實(shí)現(xiàn)數(shù)據(jù)對接。云平臺的功能十分強(qiáng)大,成功數(shù)據(jù)對接之后還能直接在云平臺上進(jìn)行應(yīng)用編輯和展示,即對你的設(shè)備上傳的數(shù)據(jù)以應(yīng)用的形式作圖形化的展示,非常簡單和便捷,但是不能實(shí)現(xiàn)高度自定義的界面。
云平臺具體的產(chǎn)品接入架構(gòu)圖如圖4-4所示:
圖4-4 產(chǎn)品接入架構(gòu)圖
在OneNET云平臺上,每個注冊的個人用戶可以擁有最多十個產(chǎn)品,產(chǎn)品是OneNET上最大的概念,每個產(chǎn)品可以創(chuàng)建很多個設(shè)備,而設(shè)備則是對應(yīng)每一個向平臺發(fā)送數(shù)據(jù)的硬件裝置,每個設(shè)備可以創(chuàng)建很多的數(shù)據(jù)流,因?yàn)镺neNET向每一個用戶暴露的API都是同一個基地址——“183.230.40.39”,所以在創(chuàng)建產(chǎn)品、設(shè)備時都會生成一個唯一的APIkey,在每個HTTp請求后面都會附帶相應(yīng)的APIkey,確保正確訪問。
云平臺資源模型圖如圖4-5所示:
圖4-5 云平臺資源模型圖
4.2.3 MQTT協(xié)議簡介
MQTT是一個輕量級的、開放的數(shù)據(jù)傳輸協(xié)議,因?yàn)檩p量,所以常用M2M(Machine to Machine)和物聯(lián)網(wǎng)(IOT)。它并不是制定數(shù)據(jù)要如何傳輸,而是制定了數(shù)據(jù)在傳輸過程中的數(shù)據(jù)包格式,和制定了傳輸模式是發(fā)布/訂閱消息的模式。
發(fā)布/訂閱模式與常見的HTTP傳輸?shù)哪J较啾龋罢卟⒉恍枰WC客戶端必須先于服務(wù)器驗(yàn)證連接是可靠和有效的,并且不用一直保持連接,而是通過一個代理作中間件,將客戶端與服務(wù)器從時間和空間上解耦,客戶端和服務(wù)器端不需要了解彼此,不需要直接連接。如圖4-6所示:
4.2.4 MQTT協(xié)議數(shù)據(jù)包格式
根據(jù)MQTT協(xié)議官方文檔,每個MQTT數(shù)據(jù)包都應(yīng)該包含三個部分,即:
表4-1 MQTT數(shù)據(jù)包組成表
Fixed Header 所有packet中都必須有
Varable Header 部分包含有
Payload 部分包含有
- 首先是Fixed Header
表4-2 MQTT數(shù)據(jù)包-固定頭格式表
Bit 7 6 5 4 3 2 1 0
byte 1 MQTT Packet Type 0 0 0 0
byte2 - 5 Remaining Length(該字段占用1-4個字節(jié))
MQTT Packet Type指的是你所使用的MQTT協(xié)議版本所支持的數(shù)據(jù)包類型
以O(shè)neNET使用的3.1.1為例,共有14種類型:
表4-3 MQTT數(shù)據(jù)包類型
名字 值 流向 描述
CONNECT 1 C->S 客戶端請求與服務(wù)端建立連接
CONNACK 2 S->C 服務(wù)端確認(rèn)連接建立
PUBLISH 3 C?S 發(fā)布消息
PUBACK 4 C?S 收到發(fā)布消息確認(rèn)
PUBREC 5 C?S 發(fā)布消息收到
PUBREL 6 C?S 發(fā)布消息釋放
PUBCOMP 7 C?S 發(fā)布消息完成
SUBSCRIBE 8 C->S 訂閱請求
SUBACK 9 S->C 訂閱確認(rèn)
UNSUBSCRIBE 10 C->S 取消訂閱
UNSUBACK 11 S->C 取消訂閱確認(rèn)
PING 12 C->S 客戶端發(fā)送PING(連接?;?命令
PINGRSP 13 S->C PING命令回復(fù)
DISCONNECT 14 C->S 斷開連接
4.3 網(wǎng)站程序設(shè)計
4.3.1 搭建服務(wù)器環(huán)境
一般在本地制作的網(wǎng)站都只能在本機(jī)上運(yùn)行,沒有服務(wù)器環(huán)境和相應(yīng)的配置無法實(shí)現(xiàn)外網(wǎng)訪問我們掛載的網(wǎng)站。個人搭建服務(wù)器環(huán)境通常有兩種解決方案:
2. 在本機(jī)環(huán)境下創(chuàng)建虛擬機(jī),并將虛擬機(jī)配置為服務(wù)器,使用花生殼等工作做內(nèi)網(wǎng)穿透,如果本機(jī)網(wǎng)絡(luò)是由路由器管理,那還需要再路由器上設(shè)置相應(yīng)的映射規(guī)則。
3. 通過云服務(wù)商如阿里云、騰訊云、七牛云等購買云服務(wù)器服務(wù),購買的云服務(wù)器會被云服務(wù)商分配一個固定的外網(wǎng)可訪問的IP地址,使用此IP地址就能進(jìn)行 網(wǎng)站環(huán)境的搭建。
本設(shè)計中將兩個方案都一一嘗試過一遍,在第一個方案中實(shí)現(xiàn)了WEB服務(wù)器配置和無線路由器作為網(wǎng)關(guān)的局域網(wǎng)內(nèi)的虛擬機(jī)服務(wù)器訪問,在嘗試做規(guī)則映射時失敗,原因未知,且網(wǎng)上沒有找到對應(yīng)的解決方法,只能放棄。在嘗試第二個方案時,發(fā)現(xiàn)阿里云對學(xué)生身份的開發(fā)者,可以在完成阿里云官方設(shè)計的云服務(wù)器輕度學(xué)習(xí)任務(wù)之后領(lǐng)取免費(fèi)三個月的2核4GECS云服務(wù)器。
在服務(wù)器環(huán)境能正常使用的情況,直接將網(wǎng)頁源碼掛載到服務(wù)器上是不能生效的,即在瀏覽器中通過IP訪問還是會失敗,因?yàn)榇藭r的服務(wù)器是一個純粹的帶操作系統(tǒng)的機(jī)器,并沒有進(jìn)行WEB服務(wù)環(huán)境的配置。
本設(shè)計中使用APACHE作為基礎(chǔ)WEB環(huán)境,在CentOS6.5環(huán)境下搭建Apache httpd服務(wù)器。一共分為簡單的三步。
4. 在CentOS下安裝Apache httpd,命令行輸入yum -y install httpd*,其中-y這個參數(shù)是指安裝過程提示選擇Yes or No時,全部自動選擇為Yes:*號表示httpd下的所有文件
5. 在CentOS根目錄下找到var文件夾中的www文件夾(或許有些在www里面還有個html文件夾),將準(zhǔn)備好的網(wǎng)頁源碼復(fù)制進(jìn)去
6. 啟動httpd服務(wù)器,命令行輸入service httpd start ,再去阿里云的控制臺中找到安全組選項(xiàng),設(shè)置放行常用的80、8080、443、22端口號。設(shè)置好通過瀏覽器訪問IP地址就能成功看到網(wǎng)站的正確顯示。
4.3.2 VUE框架簡介
VUE是一套用于搭建用戶界面的漸進(jìn)式框架,即用到什么部分就加載什么部分,不會造成工程的臃腫和不必要的編譯耗時。VUE這類前端框架可以用常見的MVVM框架(Model-ViewModel-View)模型去理解,且與其他常見框架不同的是,VUE只關(guān)心視圖層,將注意力集中保持在核心庫,而將其他功能如路由和全局狀態(tài)管理交給其他相關(guān)的庫。
VUE內(nèi)部使用VM(Virtual DOM)作為核心處理對象,將邏輯層的操作結(jié)果放入VM,再將VM通過指定掛載DOM節(jié)點(diǎn)渲染到頁面上。在日常開發(fā)上提供響應(yīng)式(Reactive)和組件化(Composable)的視圖組件,還有符合ECMAScript規(guī)范的一些常用指令,如v-if、v-show、v-on、v-bind、v-for等等,為前端開發(fā)帶了不少便利。
4.3.3 VUE-CLI創(chuàng)建VUE工程
為了使各方面趨于網(wǎng)頁設(shè)計的規(guī)范,并且能方便使用VUE的工具庫進(jìn)行開發(fā),本設(shè)計中決定使用VUE官方推出的腳手架工具vue-cli進(jìn)行前端工程的快速開發(fā)。
Vue-cli是基于webpack 和 webpack-dev-server 的創(chuàng)建出的腳手架工具,開發(fā)者可以使用此腳手架在命令行界面使用特定命令快速構(gòu)建一個基于個人自定義配置的vue工程模板。
在下載vue-cli之前,需要先下載nodejs并安裝才能使用npm 安裝。按VUE官方的提示,nodejs應(yīng)安裝v8.9及以上的版本才能實(shí)現(xiàn)對vue-cli的支持,這里我選擇的是nodejs中文官網(wǎng)上有完整中文文檔的v14.16.1版本。
在創(chuàng)建好的目錄下進(jìn)入命令行,輸入命令 vue create hello-world ,cli創(chuàng)建工程一般有兩種選項(xiàng):1.default(babel,eslint) 2.manually select features 第一種就是默認(rèn)選項(xiàng),以最小化思想只裝入必備的babel(將ES6語法轉(zhuǎn)成ES5)和eslint(語法檢查);第二種是自定義要安裝的模塊。這里選擇第二種,因?yàn)榇舜尉W(wǎng)站設(shè)計需要在不同頁面之間切換,需要用到vue-router,而這也恰好符合VUE漸進(jìn)式框架的特點(diǎn)。
正確選擇并創(chuàng)建工程成功之后,使用VSCODE打開就能看到一個基礎(chǔ)的前端工程框架。工程目錄結(jié)構(gòu)如下所示
├── dist // 打包輸出文件夾
├── src // 源代碼
│ ├── assets // 主題 字體等靜態(tài)資源
│ ├── components // 全局公用組件
│ ├── router // 路由
│ ├── pages // 主要頁面代碼
│ ├── App.vue // 入口頁面
│ ├── main.js // 入口 加載組件 初始化等
├── .babelrc // babel-loader 配置
├── eslintrc.js // eslint 配置項(xiàng)
├── .gitignore // git 忽略項(xiàng)
├── public //放置vue的虛擬dom掛載的html
│ ├── favicon.ico // favicon圖標(biāo)
│ ├── index.html // html模板
└── package.json // package.json
4.3.4 網(wǎng)站布局設(shè)計
在制作一個網(wǎng)站的過程中,設(shè)計頁面布局是一個非常困難的部分,因此本設(shè)計的網(wǎng)站布局設(shè)計選擇參照GitHub上的開源設(shè)計STISLA的頁面整體布局設(shè)計和網(wǎng)站整體顏色風(fēng)格。
網(wǎng)站整體分為頂部導(dǎo)航欄和主要內(nèi)容區(qū),在兩者之間加入了面包屑路徑導(dǎo)航欄,而每個頁面的切換則會體現(xiàn)在主要內(nèi)容區(qū)和面包屑上。
4.4 本章總結(jié)
本章通過對硬件程序的設(shè)計和分析,梳理出了硬件應(yīng)用程序的大致流程,并針對其中比較關(guān)鍵和比較困難的部分——硬件初始化、云平臺的通信程序作出了比較詳細(xì)的分解和闡述。MQTT協(xié)議是云平臺支持接入的多協(xié)議中的一種,所以在正式闡述云平臺通信程序之前必須對協(xié)議的數(shù)據(jù)通信模式和協(xié)議數(shù)據(jù)包格式作簡單介紹,才能更好理解本地接入云平臺流程。
Equation Chapter (Next) Section 1
第5章 結(jié)果分析
5.1 設(shè)計指標(biāo)測試
通過控制變量法,在空氣流通良好的學(xué)生寢室內(nèi)和自習(xí)室內(nèi)做了表5-1和表5-2兩個實(shí)驗(yàn)結(jié)果,根據(jù)通風(fēng)情況的不同在學(xué)生寢室和自習(xí)室內(nèi)選取了三個位置進(jìn)行測試,每個位置都是讀取的靜置5分鐘之后的讀數(shù),不難看出,在裝置正常工作時,讀取到的溫度和濕度示數(shù)與溫濕度計示數(shù)誤差相差都在指標(biāo)范圍內(nèi),滿足了設(shè)計要求。
表5-1 實(shí)驗(yàn)結(jié)果1
條件:學(xué)生寢室
設(shè)計指標(biāo):溫度±1°,濕度±2%
位置/通風(fēng)情況 飲水機(jī)前(通風(fēng)良好) 同學(xué)A書桌上(通風(fēng)較差) 同學(xué)B書桌上(通風(fēng)一般)
溫濕度計 25.5°/ 65% 25.0°/65% 25.0°/65%
硬件裝置 25.4°/ 66.1% 25.8°/64.4% 25.4°/66.4%
表5-2 實(shí)驗(yàn)結(jié)果2
位置/通風(fēng)情況 窗前(通風(fēng)良好) 死角(通風(fēng)較差)
溫濕度計 25.1°/ 63% 25.2°/64%
硬件裝置 25.4°/ 64.6% 25.7°/65.2%
由于自習(xí)室內(nèi)窗戶都是開著的,所以只取了死角和窗邊兩個點(diǎn)
5.2 調(diào)試過程中遇到的問題
8. 因?yàn)樵趫?zhí)行循環(huán)體內(nèi)的程序時有很多需要延時等待的地方,并且獲取平臺下發(fā)的數(shù)據(jù)這個動作在循環(huán)體的開頭,所以執(zhí)行推送數(shù)據(jù)到顯示屏和云平臺這個動作需要設(shè)置一個時間間隔,去盡可能的縮短每次執(zhí)行循環(huán)體所用的時間。如果執(zhí)行間隔越短,獲取控制命令的成功率越低,間隔越長,成功率越高,但是顯示屏和云平臺數(shù)據(jù)刷新的頻率也越慢,在一定程度上會影響使用者的實(shí)際體驗(yàn)。
所以需要作出多組時間間隔比較,選出一個中肯的數(shù)值。
9. 在布局、繪制PCB板時沒有考慮到一個問題:因?yàn)闊熿F傳感器MQ系列,在正常工作時是需要一個加熱電流進(jìn)行加熱的,所以如果MQ系列傳感器距離溫濕度傳感器太近,當(dāng)MQ系列傳感器發(fā)熱時,讀取到的溫度示數(shù)會有誤差,且誤差會讓溫度讀數(shù)超出指標(biāo)范圍,盡管濕度的讀取與溫度有關(guān),但是實(shí)際表現(xiàn)濕度偏差并不大。根據(jù)多次的測量裝置正常工作前一分鐘的溫度均值與正常工作5分鐘之后的溫度數(shù)值比較,得出溫差大約在1.1°左右。解決方法自然是在顯示和發(fā)送之前,對數(shù)據(jù)作溫度補(bǔ)償。
Equation Chapter (Next) Section 1
第6章 總結(jié)與展望
6.1 本文總結(jié)
為完成本次設(shè)計的所有功能,需要對STM32單片機(jī)、TCP協(xié)議、MQTT協(xié)議以及網(wǎng)站制作和服務(wù)器相關(guān)知識有比較深刻的認(rèn)識。并且在開始實(shí)際制作之前,需要對設(shè)計整體根據(jù)指標(biāo)和具體要求作出比較細(xì)致的規(guī)劃,通過網(wǎng)上材料、文獻(xiàn)以及咨詢導(dǎo)師確定各部分方案的可行性,只有大方向正確,在細(xì)節(jié)處下的功夫才不會白費(fèi)。
畢業(yè)設(shè)計不同于以往的做過的課程設(shè)計,不僅工作量大大超出以往的課程設(shè)計,大部分內(nèi)容與我而言都是很新的知識,如STM32、MQTT協(xié)議和網(wǎng)站制作使用的JavaScript語言和VUE框架等等。只有合理的規(guī)劃和安排才能在有限的時間內(nèi)作出比較高質(zhì)量的作品。本次設(shè)計中,在硬件方面我花了很多時間去選擇使用的傳感器型號,并使用Altium Designer進(jìn)行器件原理圖與PCB板的繪制,由于使用經(jīng)驗(yàn)確實(shí)不多,在很多細(xì)節(jié)的地方花了許多不必要的時間,盡管最后板子能正常工作,但還是出現(xiàn)了焊盤比實(shí)物小,無法焊接;元件不好的布局導(dǎo)致傳感器檢測有固定誤差等問題,能補(bǔ)救是令人慶幸的,但是也要長記性,記住在這些方面的教訓(xùn)。軟件方面經(jīng)過前期的STM32芯片的學(xué)習(xí),能順利使用芯片完成基礎(chǔ)功能的實(shí)現(xiàn),也為正式編寫硬件程序打下基礎(chǔ),后期經(jīng)過多方文檔的樣例程序和不斷的調(diào)試、修改實(shí)現(xiàn)了設(shè)計要求中的功能。另一方面,在經(jīng)過了對網(wǎng)站制作的有關(guān)知識JS、HTML、CSS以及框架的學(xué)習(xí)大致了解了制作方法,并且在制作demo網(wǎng)站之后認(rèn)識到必須要加上服務(wù)器環(huán)境的相關(guān)配置才能實(shí)現(xiàn)網(wǎng)站的互聯(lián)網(wǎng)訪問,繼而學(xué)習(xí)了簡單的服務(wù)器相關(guān)知識。
總的來說,在實(shí)現(xiàn)了硬件和遠(yuǎn)程網(wǎng)頁的聯(lián)調(diào)之后,更加深刻的認(rèn)識到智能家居對于生活所帶來的的便利,和更廣闊的擴(kuò)展空間,自己的設(shè)計本身也還有許多不足需要改善和加強(qiáng)。
6.2 工作展望
在設(shè)計之初。進(jìn)行方案規(guī)劃時,對于入戶監(jiān)測功能的實(shí)現(xiàn)希望用攝像頭加上人工智能中比較經(jīng)典的人臉識別實(shí)現(xiàn),但是在可行性上因?yàn)樯婕暗搅肆硪粋€領(lǐng)域?qū)I(yè)知識,變得很低,希望能在今后不僅能繼續(xù)完善智能家居系統(tǒng)的功能實(shí)現(xiàn),更可以進(jìn)行多學(xué)科、多領(lǐng)域的大膽嘗試,將諸如人工智能AI、現(xiàn)今火熱的5G以及云計算等融合并實(shí)現(xiàn)在智能家居上的應(yīng)用。
在查看文獻(xiàn)時將自己的方案與別人的方案作對比,就能清晰地意識到自己只是實(shí)現(xiàn)了真正意義上智能家居系統(tǒng)的本地網(wǎng)絡(luò)中的一個功能比較綜合的節(jié)點(diǎn),實(shí)際上既然是智能家居那么必然要做到對于整個屋內(nèi)的環(huán)境監(jiān)測,相應(yīng)的,多節(jié)點(diǎn)的組網(wǎng)模式也是必須的,才能針對各節(jié)點(diǎn)的例如溫度數(shù)據(jù)作平均或加權(quán)平均最終得出一個比較接近的室內(nèi)溫度,而這也是今后需要努力的方向之一。
致謝
省略
參考文獻(xiàn)
[1] 劉辰帥. 智能家居行業(yè)存在的問題與建議[J]. 城市建設(shè)理論研究:電子版, 2015, 000(030):296-297.
[2] 陳思運(yùn),劉烴,沈超,蘇曼,高峰,徐占伯,師嘉悅,賈戰(zhàn)培.基于可穿戴設(shè)備感知的智能家居能源優(yōu)化[J].計算機(jī)研究與發(fā)展,2016,53(03):704-715.
[3] 馬躍其. 基于ZigBee無線通信技術(shù)的智能家居系統(tǒng)[D].河南理工大學(xué),2010.
[4] F Akyildiz, W Su, Y SanKarasubramaniam, et al. Wireless Sensor Network[J].Computer Networks,2002,38(4):393-422.
[5] Alan Mainwaring, Joseph Polastre, Robert Szewczyk, David Cullar, John Anderson. Wireless Sensor Networks for Habitat Monitoring.2002 ACM International Workshop on Wireless Sensor Networks and Applications,September 2002.
[6] 龔江濤,陳金鷹,方根平. Zigbee技術(shù)特點(diǎn)及其應(yīng)用[A]. 四川省通信學(xué)會.四川省通信學(xué)會2005年學(xué)術(shù)年會論文集[C].四川省通信學(xué)會:中國通信學(xué)會,2005:4.
[7] 酈亮. IEEE 802.15.4標(biāo)準(zhǔn)及其應(yīng)用[J].電子設(shè)計應(yīng)用,2003:18~26.
[8] 張茁,孫潔.基于以太網(wǎng)的智能家庭網(wǎng)絡(luò)系統(tǒng)設(shè)計[J].計算機(jī)工程與設(shè)計,2005(11):275-276+303.
[9] 趙亮. 智能家居語音控制系統(tǒng)的設(shè)計[D].西安電子科技大學(xué),2017.
[10] 喻金,肖金鳳,宋玲玲,于紅利,廉莉莉.ZigBee技術(shù)在智能箱式變電站中的應(yīng)用[J].物聯(lián)網(wǎng)技術(shù),2012,2(11):32-35.
[11] 感煙火災(zāi)探測器遲滯時間模型的理論和實(shí)驗(yàn)研究[D]. 中國科學(xué)技術(shù)大學(xué), 2005.
[12] 劉愷樂. 基于單片機(jī)的火災(zāi)報警器設(shè)計[J]. 數(shù)碼世界, 2016, 000(010):92-93.
[13] 林鈺恒. 基于GMR傳感器和無線傳感網(wǎng)的車位檢測系統(tǒng)設(shè)計[D]. 杭州電子科技大學(xué).
[14] Mendez G R, Yunus M A M, Mukhopadhyay S C. A WiFi based smart wireless sensor network for an agricultural environment[C].International Conference on Sensing Technology. IEEE, 2012:405-410.
[15] 徐文. 基于WiFi與Android的智能家居監(jiān)控系統(tǒng)設(shè)計[D]. 西南交通大學(xué), 2017.
[16] 蔣開偉, 孫凌杰. 基于云平臺的智能家居控制系統(tǒng)設(shè)計[J]. 電子世界, 2018, No.555(21):141-142.
[17] 曉風(fēng). 火災(zāi)探測技術(shù)及發(fā)展趨勢[J]. 安防科技, 2003, 000(002):18-20.
[18] 蔡健. 大型臨床醫(yī)療設(shè)備智能管理平臺的設(shè)計與實(shí)現(xiàn)[D]. 東南大學(xué), 2018.
[19] 王秋穎. 基于超聲波的汽車倒車?yán)走_(dá)系統(tǒng)研究[D]. 天津大學(xué).
[20] 汪建文. 一體化校表機(jī)器人末端執(zhí)行系統(tǒng)的研究及其實(shí)現(xiàn)[D]. 重慶大學(xué).
[21] 阮進(jìn)軍, 孫握瑜, 朱先遠(yuǎn). 一種基于LoRa窄帶物聯(lián)網(wǎng)技術(shù)的魚塘監(jiān)控系統(tǒng)設(shè)計與實(shí)現(xiàn)[J]. 齊齊哈爾大學(xué)學(xué)報:自然科學(xué)版, 2019(6):8-11.
[22] 鄧成, 孫書會. MVVM設(shè)計模式的前端應(yīng)用[J]. 電腦知識與技術(shù), 2019(29).文章來源:http://www.zghlxwxcb.cn/news/detail-689633.html
5、資源下載
本項(xiàng)目源碼及完整論文如下,有需要的朋友可以點(diǎn)擊進(jìn)行下載。如果鏈接失效可點(diǎn)擊下方卡片掃碼自助下載。文章來源地址http://www.zghlxwxcb.cn/news/detail-689633.html
序號 | 畢業(yè)設(shè)計全套資源(點(diǎn)擊下載) |
---|---|
本項(xiàng)目源碼 | 基于STM32+MQTT+WiFi技術(shù)的智能家居系統(tǒng)設(shè)計與實(shí)現(xiàn)(源碼+文檔)_STM32_智能家居系統(tǒng).zip |
到了這里,關(guān)于STM32畢業(yè)設(shè)計——基于STM32+MQTT+WiFi技術(shù)的智能家居系統(tǒng)設(shè)計與實(shí)現(xiàn)(畢業(yè)論文+程序源碼)——智能家居系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!