摘要:隨著物聯(lián)網(wǎng)技術(shù)與智能化技術(shù)的發(fā)展,智能家居逐漸進(jìn)入人們的視野。智能家居控制系統(tǒng)能夠極大地提升家居的智能化程度,為用戶提供更多的便利。文章提出了一種基于物聯(lián)網(wǎng)技術(shù)的智能家居中央控制管理系統(tǒng)設(shè)計方案,其中主控板以STM32為核心,選擇使用兩塊ESP8266 Wi—Fi模組實現(xiàn)智能家居之間的互聯(lián)通信,受控板Wi—Fi模組作為服務(wù)器,以此來和主控板連接并傳遞數(shù)據(jù)指令信息,指令信息經(jīng)由串口發(fā)送給單片機(jī),單片機(jī)按照指令做出動作,最終達(dá)成對智能家居進(jìn)行控制的目的。
關(guān)鍵詞:智能家居控制;STM32;TFTLCD觸摸屏;Wi—Fi無線通信
中圖法分類號:TP311 文獻(xiàn)標(biāo)識碼:A
Design and application of smart home system based onInternet of things technology
QIN Yuntao
(Suzhou Vocational University, Suzhou, Jiangsu 215000, China)
Abstract: With the development of Internet of things technology and intelligent technology, smart home has gradually entered people's vision. Smart home control system can greatly improve the intelligence of home and provide users with greater convenience. In this paper, a design scheme of smart home central control and management system based on Internet of things technology is proposed, in which the main control board takes STM32 as the core, selects two ESP8266 Wi-Fi modules to realize the interconnection communication between smart homes, and the controlled board Wi-Fi module is used as the server to connect with the main control board and transmit data instruction information. The instruction information is sent to the single chip microcomputer through serial port, and the single chip microcomputer acts according to the instructions. Finally the purpose of smart home control is achieved.
Key words: smart home control, STM32, TFTLCD touch screen, Wi-Fi wireless communication
1 引言
智能家居在保留原有家居特點的情況下,使家居連接到互聯(lián)網(wǎng),從而使家用電器具備網(wǎng)絡(luò)通信、信息家電、設(shè)施自動化等特點。其中,用戶利用無線網(wǎng)絡(luò)就可以完成對家用電器的管控[1]。智能家居的發(fā)展帶動了各種技術(shù)的發(fā)展,控制與管理系統(tǒng)就是其中一例。智能家居控制系統(tǒng)是在家居連接到網(wǎng)絡(luò)的同時,對家用電器進(jìn)行管理與控制,用戶只需要通過智能家居控制界面連接家庭網(wǎng)絡(luò),就可以輕松實現(xiàn)對家用電器的控制和家庭環(huán)境的實時監(jiān)測。因此,在智能化迅速發(fā)展的情況下,設(shè)計一種可以對家居輕松控制與管理的操作平臺勢在必行。
2 系統(tǒng)功能模塊
智能家居中央控制管理系統(tǒng)主要以無線網(wǎng)絡(luò)通信的方式實現(xiàn)操作平臺對家居控制的目的[2]。本設(shè)計主要包含 TFTLCD 觸摸顯示屏、Wi?Fi無線通信模塊、繼電器控制模塊、溫濕度檢測模塊、步進(jìn)電機(jī)控制模塊等。TFTLCD 觸摸顯示屏幕是操作平臺的重要組成部分,用戶通過對觸摸屏幕的操作實現(xiàn)對家居的控制;Wi?Fi無線通信模塊是數(shù)據(jù)或指令傳輸?shù)耐ǖ?,用戶通過對觸摸屏幕的操作得到的指令都將從此處發(fā)送到受控板,由受控板接收到數(shù)據(jù)指令,進(jìn)而控制家居;繼電器控制模塊是用來控制家用電器電源的通斷,因為家庭中大多數(shù)電器的供電電壓為220V 的交流電壓,單片機(jī)無法直接進(jìn)行控制,而繼電器即是最佳的選擇;溫濕度檢測模塊是用于家庭室內(nèi)溫度與濕度的監(jiān)測,主控板發(fā)送檢測命令到受控板,受控板接收指令后控制溫濕度傳感器檢測空氣中溫度與濕度,最終將檢測結(jié)果由Wi?Fi模塊發(fā)送到主控板并顯示出來;步進(jìn)電機(jī)控制模塊是用于控制家用窗簾的打開與
閉合,由于步進(jìn)電機(jī)具有轉(zhuǎn)動角度可調(diào)的特性,因此可以準(zhǔn)確地控制窗簾的打開與閉合。
3 系統(tǒng)硬件設(shè)計
3.1 主控板設(shè)計
主控板是控制管理系統(tǒng)的操作平臺,也是整個系統(tǒng)中最關(guān)鍵的部分。它根據(jù)用戶對 TFT 觸摸屏的操作,把相關(guān)操作轉(zhuǎn)換為數(shù)據(jù)指令,以無線傳輸?shù)姆绞酵ㄟ^Wi?Fi模塊將數(shù)據(jù)指令發(fā)送到受控板。主控板的電路單元模塊主要由 STM32最小核心系統(tǒng)、TFTLCD 觸摸顯示屏幕、Wi?Fi無線通信模塊組成。
3.1.1? STM32最小核心系統(tǒng)
主控板的主控芯片使用的是具有 M4內(nèi)核、型號為 F407ZGT6的單片機(jī)。它是32位的處理器,具有144個引腳,內(nèi)置豐富的外設(shè)資源,性能較為強(qiáng)大,并且內(nèi)部集成了多種功能,所以原本需要多種芯片才能完成的功能,現(xiàn)在只需要一個芯片就可以實現(xiàn),節(jié)約了成本并且降低了電路設(shè)計的復(fù)雜度。然而,一個芯片無法完成所有的工作,還需要復(fù)位電路、時鐘電路、 RTC 時鐘電路、STM32供電電路及程序下載燒制電路等多種電路協(xié)同才能正常工作。
STM32使用 USB 數(shù)據(jù)線進(jìn)行供電,這不僅可以滿足供電需求,也可以通過數(shù)據(jù)線下載程序。因為 USB 的供電電壓為5V ,不可以直接供電,所以需要進(jìn)行電壓轉(zhuǎn)換才能為單片機(jī)供電。程序下載燒制電路使用 CH340G 串口下載芯片,只須外接少量的輔助電路,配合程序下載軟件就可實現(xiàn)一鍵下載。在下載程序時,要把程序下載軟件內(nèi)的設(shè)置選項改為 DTR 的低電平復(fù)位,RTS 高電平進(jìn)入 Boot Loader 。此后,下載工具會管理 CH340G 芯片的 DTR#與 RTS#兩個端口,從而輸出下載控制時序。
3.1.2 TFTLCD 觸摸顯示屏幕設(shè)計
(1)液晶驅(qū)動與顯示原理液晶顯示屏幕的驅(qū)動模式有很多種,如 IIC 接口、6800接口、8080接口等。在本設(shè)計中,TFTLCD 液晶顯示屏幕的驅(qū)動模式采用8080模式,TFTLCD 液晶顯示屏幕的數(shù)據(jù)線為16根,根據(jù)器件的時序要求,通過單片機(jī)模擬8080通信接口協(xié)議進(jìn)行驅(qū)動就可以與器件進(jìn)行通信,實現(xiàn)對器件控制的目的。
(2)觸摸屏幕觸摸位置的計算 XPT2046的 AD 轉(zhuǎn)換器的分辨率為12位,當(dāng)檢測某一點的位置時,檢測的值也就會在0~4096之間。觸摸屏幕觸摸位置的檢測需要設(shè)計參考點進(jìn)行校驗,如假設(shè)觸摸屏幕觸摸位置物理坐標(biāo)電壓值為( Px,Py),當(dāng)設(shè)置一個參考點的坐標(biāo)為( Lcdx1,Lcdy1)時,對應(yīng)的電壓坐標(biāo)為( Px1,Py1),設(shè)置另一個參考坐標(biāo)的坐標(biāo)值為( Lcdx2,Lcdy2)時,對應(yīng)的電壓坐標(biāo)值為( Px2, Py2),則可以得到橫屏比例系數(shù),故物理坐標(biāo)可以得到。其中,結(jié)果即為觸摸屏幕的橫軸坐標(biāo),縱軸坐標(biāo)同理可得。
(3)Wi?Fi無線通信模塊系統(tǒng)的控制與管理是應(yīng)用觸摸操作平臺實現(xiàn),通過Wi?Fi無線通信的方式把數(shù)據(jù)發(fā)送到控制板,并對家用電器進(jìn)行控制。在主控板,Wi?Fi作為客戶端,在需要時,用戶可以通過它發(fā)送數(shù)據(jù)指令并接收受控板采集的數(shù)據(jù)。在受控板,Wi?Fi作為服務(wù)器,用于接收主控板發(fā)來的數(shù)據(jù)指令以及發(fā)送采集的數(shù)據(jù)到主控板。
3.2 受控板設(shè)計
控制管理系統(tǒng)的受控板起到對家居統(tǒng)一管理的作用,如電燈、冰箱、空調(diào)的控制等。受控板通過接收主控板發(fā)送來的數(shù)據(jù)命令,然后控制相應(yīng)的電路單元[3]。受控板使用的是一種8位的51單片機(jī),常用封裝形式是直插式的,具有40個引腳。在本設(shè)計中,選用的單片機(jī)封裝為 LQFP44,這款單片機(jī)增加了4個 P4口,IO 接口非常豐富。受控板的設(shè)計包含對繼電器控制單元、步進(jìn)電機(jī)控制單元、溫濕度傳感器檢測單元和空氣質(zhì)量傳感器檢測單元的設(shè)計。
3.2.1 繼電器控制單元設(shè)計
繼電器控制單元分為兩部分,一部分用于控制家用電燈,另一部分用于管理家用空調(diào)電源的通斷。繼電器的1和2腳分別連接到家用電器的連接線。在初始時,繼電器1和2引腳斷開,當(dāng)單片機(jī) P1.0或 P1.1引腳輸出高電平時,三極管 Q6或 Q7導(dǎo)通,繼電器中有電流流過,繼電器線圈產(chǎn)生吸力使繼電器1腳與2腳相連接,從而實現(xiàn)家用電器通電,同時 LED 燈亮表示繼電器打開,電器通電。
3.2.2 步進(jìn)電機(jī)控制單元設(shè)計
步進(jìn)電機(jī)的控制原理主要是周期性地為其提供脈沖,在脈沖的作用下,一個脈沖使得電機(jī)轉(zhuǎn)動的角度為步距角,只要為其提供合適的脈沖個數(shù),就可以轉(zhuǎn)動固定的角度。
3.2.3 溫濕度傳感器檢測單元設(shè)計
溫濕度傳感器檢測單元用于檢測家庭中室內(nèi)空氣的溫度與濕度,用戶可以根據(jù)控制平臺控制溫濕度傳感器檢測家庭溫濕度,然后將檢測信息反饋到控制平臺,實現(xiàn)家庭溫度與濕度實時監(jiān)控的目的。
3.2.4 空氣質(zhì)量傳感器檢測單元設(shè)計
空氣質(zhì)量傳感器是一種把空氣污染物濃度轉(zhuǎn)換為電壓變化的空氣質(zhì)量檢測器件,空氣質(zhì)量傳感器的4引腳是模擬電壓輸出端,應(yīng)用 PCF8591AD 轉(zhuǎn)換器將傳感器的模擬信號轉(zhuǎn)換為數(shù)字信號,然后經(jīng)過計算得到空氣濃度。依據(jù) MQ?135傳感器的特性,在有有害氣體的空間內(nèi),電壓每升高0.005V,被測氣體的濃度增加1ppm 。假設(shè)在潔凈空氣中,MQ135輸出電壓為Vref,檢測空氣污染物時電壓為Vdet,可以得到被測氣體濃度為:Gas=( Vdet?Vref)×200。
4 系統(tǒng)軟件設(shè)計
整個系統(tǒng)主要由 TFTLCD 顯示模塊控制程序、 ESP8266作為客戶端與服務(wù)器的控制程序、溫濕度傳感器控制程序、步進(jìn)電機(jī)控程序組成,最終實現(xiàn)控制平臺對家居的控制。
4.1 主程序設(shè)計
整個系統(tǒng)由主控板與受控板兩個部分組成。在系統(tǒng)開機(jī)時,系統(tǒng)會進(jìn)行圖形顯示、參數(shù)設(shè)置等。系統(tǒng)進(jìn)行數(shù)據(jù)或命令的檢測,對于主控板,系統(tǒng)根據(jù)檢測觸摸指令進(jìn)行控制頁面的切換,之后檢測控制頁面的檢測觸摸指令,并發(fā)送指令;對于受控板,系統(tǒng)實時檢測串口數(shù)據(jù),當(dāng)有數(shù)據(jù)發(fā)送來時,則對接收到的數(shù)據(jù)進(jìn)行拆解提取,然后依據(jù)數(shù)據(jù)指令控制相應(yīng)模塊,如果有需要返回發(fā)送數(shù)據(jù)到主控板的指令,則進(jìn)行數(shù)據(jù)的發(fā)送,最后重新回到串口檢測的狀態(tài)。
4.2 TFTLCD 觸摸屏幕子程序設(shè)計
觸摸屏幕顯示屏幕的初始化,如設(shè)置屏幕橫屏顯示或是豎屏顯示,數(shù)據(jù)顯示掃描方向等。在進(jìn)行初始化后,顯示之前需要進(jìn)行顯示窗口的設(shè)置,然后在窗口內(nèi)顯示需要顯示的內(nèi)容,最后檢測觸摸位置,將檢測到的觸摸位置轉(zhuǎn)換為坐標(biāo),進(jìn)而判斷數(shù)據(jù)指令。 TFTLCD 觸摸屏幕的子程序主要分為三個部分,分別是字體的顯示、圖標(biāo)的顯示以及觸摸位置的檢測。
4.3 Wi?Fi模塊子程序設(shè)計
Wi?Fi模塊的程序設(shè)計分為兩個部分,即服務(wù)器和客戶端。對于服務(wù)器而言,首先進(jìn)行系統(tǒng)的初始化,進(jìn)而設(shè)置所要連接的Wi?Fi名和密碼,然后自動獲取自身 IP 并設(shè)置目標(biāo)端口號和 IP,最后連接服務(wù)器,等待服務(wù)器發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)以及串口接收到的數(shù)據(jù)并將其發(fā)送到服務(wù)器;對于客戶端來說,首先設(shè)置Wi?Fi名、密碼、IP 以及端口號,然后建立偵聽,等待客戶端接入,當(dāng)有客戶端接入后,就不斷檢測網(wǎng)絡(luò)數(shù)據(jù),當(dāng)有網(wǎng)絡(luò)數(shù)據(jù)時,發(fā)送到串口,最后檢測串口是否接收到數(shù)據(jù),如果接收到數(shù)據(jù),則將數(shù)據(jù)發(fā)送到客戶端。
4.4 溫濕度傳感器子程序設(shè)計
單片機(jī)發(fā)送控制時序,與溫濕度傳感器連接成功后,溫濕度傳感器主動監(jiān)測空氣的溫度與濕度并生成數(shù)據(jù)校驗和,然后把檢測的溫度與濕度的和與校驗和進(jìn)行比較,如果和相等,則檢測數(shù)據(jù)正確,最終把數(shù)據(jù)發(fā)送到客戶端。
4.5 步進(jìn)電機(jī)子程序設(shè)計
具體步驟為:單片機(jī)不斷檢測是否接收到數(shù)據(jù)指令,當(dāng)接收到控制步進(jìn)電機(jī)指令時,則判斷是需要步進(jìn)電機(jī)左轉(zhuǎn)動還是右轉(zhuǎn)動。
4.6 煙霧傳感器子程序設(shè)計
具體步驟為:當(dāng)單片機(jī)接收到控制煙霧傳感器的指令時,則單片機(jī)就開始控制傳感器檢測當(dāng)前的煙霧濃度。因為煙霧傳感器檢測的濃度變化完全以模擬信號輸出,因此單片機(jī)將本次檢測的模擬信號轉(zhuǎn)換為數(shù)字信號后進(jìn)行煙霧濃度的計算。
5 結(jié)束語
本設(shè)計以 STM32為核心,使用它自帶的 FSMC 接口模擬8080時序來控制觸摸顯示屏幕,然后在主界面上顯示溫濕度檢測、電燈控制、煙霧檢測、空調(diào)控制以及窗簾控制五個圖標(biāo)。當(dāng)用戶觸摸圖標(biāo)時,系統(tǒng)跳轉(zhuǎn)到相應(yīng)的控制界面。而受控板以51單片機(jī)為核心,使用Wi?Fi模塊與主控板進(jìn)行通信。當(dāng)受控板接收到主控板的數(shù)據(jù)指令時,受控板控制各個模塊并做出相應(yīng)動作,實現(xiàn)對家居的控制與家庭環(huán)境的檢測。本文設(shè)計了一個智能家居中央控制管理操作平臺,其系統(tǒng)結(jié)構(gòu)靈活,操作簡單,兼容性強(qiáng),具有廣闊的應(yīng)用前景。
參考文獻(xiàn):
[1] 汪浩,張旭,劉祎.基于 WIFI 模塊的“互聯(lián)網(wǎng)+”智能家居設(shè)計[J].南方農(nóng)機(jī),2022,53(5):123?126.
[2]尚曉峰.基于 Android 系統(tǒng)的智能家居移動終端軟件設(shè)計準(zhǔn)則和功能[J].木材科學(xué)與技術(shù),2022,36(2):92.
[3] 謝作如,邱奕盛.用HomeAssistant搭建個性化智能家居系統(tǒng)[J].中國信息技術(shù)教育,2022(5):81?83.
作者簡介:
秦云濤(1972—),碩士,講師,研究方向:計算機(jī)網(wǎng)絡(luò)、物聯(lián)網(wǎng)。