裴曉燕
(晉中職業(yè)技術(shù)學(xué)院,山西晉中,030600)
隨著科技進(jìn)步,人民的生活水平逐步提升,對(duì)居住環(huán)境的要求也越來越高?!禝DC 中國智能家居設(shè)備市場季度跟蹤報(bào)告》指出,中國智能家庭設(shè)備的出貨量在2021 年上半年出貨量達(dá)到了1 億臺(tái)左右,中國的智能家居產(chǎn)品在未來5年內(nèi)將繼續(xù)保持20%以上的復(fù)合增長率,到2025 年出貨量將可能會(huì)突破6 億臺(tái)。然而,由于我國企業(yè)采用的技術(shù)標(biāo)準(zhǔn)并不統(tǒng)一,產(chǎn)品質(zhì)量不能兼容,成本較高,控制方式單一,難以適應(yīng)大眾的需要。在這樣的背景下,本文設(shè)計(jì)了以STM32 為核心 Zigbee 無線通訊智能家居系統(tǒng),以實(shí)現(xiàn)對(duì)家庭環(huán)境的監(jiān)測與控制。它可以彌補(bǔ)智能家居系統(tǒng)成本高、交互方式單一、設(shè)備操作困難等弊端。
針對(duì)目前智能家居系統(tǒng)的結(jié)構(gòu)復(fù)雜、智能化程度低等問題,提出了一種基于智能家居的智能化、集成化的新系統(tǒng)。在此基礎(chǔ)上,遵循下述原則的前提下完成了本系統(tǒng)的設(shè)計(jì)。第一,使用方便,實(shí)用性強(qiáng)?,F(xiàn)在市面上有許多智能家居產(chǎn)品,宣傳功能豐富、使用便捷,但往往都是過度宣傳,使用過程中操作繁瑣,大多數(shù)人,在購買這些產(chǎn)品之后,都只會(huì)進(jìn)行簡單操作,而那些復(fù)雜的功能,根本無法使用。所以在進(jìn)行設(shè)計(jì)時(shí),應(yīng)當(dāng)本著方便用戶的操作和實(shí)用性的原則來進(jìn)行設(shè)計(jì)。第二,系統(tǒng)穩(wěn)定,成本低。要將智能家居普及到廣大的普通消費(fèi)者,其產(chǎn)品價(jià)格也是不可忽略的一個(gè)重要因素。因此,在設(shè)計(jì)過程中,必須在保證功能齊全的基礎(chǔ)上,盡量選擇具有較高性能的元件和傳感器,來實(shí)現(xiàn)產(chǎn)品的成本控制,實(shí)現(xiàn)硬件電路的簡單流暢、易于維護(hù),實(shí)現(xiàn)軟件編程較高的邏輯性和穩(wěn)定性。
本文所研究的智能家居系統(tǒng),可以從整體上劃分為兩個(gè)主要的模塊,即上位機(jī)和下位機(jī)。上位機(jī)主要由PC、手機(jī)通過服務(wù)器向協(xié)調(diào)器發(fā)出指令,再由協(xié)調(diào)器向終端設(shè)備傳送指令;而下位機(jī)則主要負(fù)責(zé)收集和傳送各傳感器節(jié)點(diǎn)數(shù)據(jù),并將其上傳到服務(wù)器,從而實(shí)現(xiàn)PC 和手機(jī)端的實(shí)時(shí)監(jiān)控。在圖1 中顯示了智能家居系統(tǒng)之間的組織關(guān)系。
圖1 智能家居系統(tǒng)拓?fù)鋱D
在本文所設(shè)計(jì)的智能家居系統(tǒng)中,PC 和手機(jī)終端被選為顯示設(shè)備。如今,智能手機(jī)已成為我們?nèi)粘I畹闹匾M成部分,通過用戶界面向ZigBee 發(fā)送命令,然后通過ZigBee 網(wǎng)絡(luò)向終端設(shè)備傳輸數(shù)據(jù),從而實(shí)現(xiàn)對(duì)智能家居系統(tǒng)的控制;與此同時(shí),在家居環(huán)境中,各種傳感器采集的數(shù)據(jù)也會(huì)通過原路返回并上傳到UI 界面,方便使用者隨時(shí)瀏覽,并進(jìn)行相應(yīng)的操作。ZigBee 協(xié)調(diào)器是智能家庭中的一個(gè)重要的控制部件,它可以將所有的信息傳輸?shù)街悄芗揖又?。而智能家居系統(tǒng)中的另外一個(gè)關(guān)鍵器件是包括終端節(jié)點(diǎn),溫度、濕度、煙霧等傳感器都會(huì)在主界面上實(shí)時(shí)的顯示出家居情況。
從硬件的角度來看,智能家居系統(tǒng)可以分成三大部分,分別是下位機(jī)終端、家庭網(wǎng)關(guān)、上位機(jī)終端。系統(tǒng)的整體設(shè)計(jì)框圖如圖2 所示。
圖2 系統(tǒng)總體設(shè)計(jì)框圖
(1) 下位機(jī)的終端
下位機(jī)終端主要承擔(dān)數(shù)據(jù)采集與控制工作。采集是指收集家居環(huán)境信息,包括室內(nèi)溫度、室內(nèi)和臥室中的光照強(qiáng)度、廚房中的煙霧和易燃?xì)怏w濃度,以及在家中安裝具有傳感器的ZigBee 終端節(jié)點(diǎn);控制是對(duì)家庭生活用具的運(yùn)行狀況進(jìn)行管理,其實(shí)施方法是將繼電器ZigBee 連接到裝置的電源插座上,通過對(duì)繼電器的開閉進(jìn)行以控制家電的開閉。
(2) 家庭網(wǎng)關(guān)
家庭網(wǎng)關(guān)主要承擔(dān)網(wǎng)絡(luò)管理、傳輸、存儲(chǔ)等工作。該網(wǎng)絡(luò)的管理包含了ZigBee 網(wǎng)絡(luò)和WiFi、GSM 和因特網(wǎng)的管理,ZigBee 協(xié)調(diào)器用于初始化家用網(wǎng)絡(luò),收集和控制終端節(jié)點(diǎn)加入該網(wǎng)絡(luò)中,并對(duì)整個(gè)ZigBee 網(wǎng)絡(luò)進(jìn)行維護(hù)等;其中,WiFi 模塊、GPRS 模塊主要負(fù)責(zé)對(duì)外部網(wǎng)絡(luò)進(jìn)行管理,包括啟動(dòng)外網(wǎng)、向云端服務(wù)器及手機(jī)端傳輸數(shù)據(jù)等。主控制器主要功能之一是實(shí)現(xiàn)ZigBee 協(xié)調(diào)器與WiFi、GPRS 模塊之間的數(shù)據(jù)交互,以及向SD 卡中寫入數(shù)據(jù)。
(3) 上位機(jī)終端
本論文所設(shè)計(jì)的上位機(jī)終端是指手機(jī)或PC。通過手機(jī)APP,使用者可以隨時(shí)查看室內(nèi)溫度、濕度、煙霧濃度等情況,還可以遙控家電;同時(shí),當(dāng)易燃?xì)怏w超出臨界點(diǎn)時(shí),該系統(tǒng)會(huì)通過手機(jī)短信通知使用者。與傳統(tǒng)的智能家居相比,本文所設(shè)計(jì)的智能家居系統(tǒng)加入了自動(dòng)控制功能,當(dāng)處于自動(dòng)控制狀態(tài)時(shí),系統(tǒng)會(huì)按照使用者的使用習(xí)慣來進(jìn)行自動(dòng)調(diào)節(jié),例如在感應(yīng)到氣溫較低時(shí),會(huì)自動(dòng)開啟空調(diào),調(diào)整室內(nèi)的溫度。與上位機(jī)終端有關(guān)的是路由器和云計(jì)算服務(wù)器,路由器是一個(gè)用于管理本地網(wǎng)關(guān)和云端服務(wù)的數(shù)據(jù)的接口;云服務(wù)器主要承擔(dān)著數(shù)據(jù)的存儲(chǔ)、家庭網(wǎng)關(guān)與手機(jī)端之間的交互,以及對(duì)模型算法的預(yù)測與控制。
控制器采用STM32L476VGT6 芯片,以此芯片為核心,可根據(jù)智能家居網(wǎng)關(guān)需求,下載、復(fù)位系統(tǒng)的電源程序、SD 卡存儲(chǔ)、USB 接口、WiFi、GPRS,以及相應(yīng)的外部接口。圖3 顯示了主控制器和外圍功能模塊結(jié)構(gòu)框圖。
圖3 主控制器及外圍擴(kuò)展模塊結(jié)構(gòu)框圖
控制器是智能家居系統(tǒng)中的重要組成部分,它擔(dān)負(fù)著主、下位計(jì)算機(jī)和控制終端的通訊。其主要功能是利用因特網(wǎng)與外部網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信,并與云平臺(tái)進(jìn)行數(shù)據(jù)交換,通過終端接入云端平臺(tái),實(shí)現(xiàn)對(duì)控制器的存取和數(shù)據(jù)交互;同時(shí),它還承擔(dān)著家庭內(nèi)部的網(wǎng)絡(luò)管理和數(shù)據(jù)的收發(fā)、傳輸,并在家庭內(nèi)部和外部網(wǎng)絡(luò)間進(jìn)行信息的傳輸,使用戶可以隨時(shí)隨地查看家庭環(huán)境信息,并對(duì)家庭設(shè)備進(jìn)行遠(yuǎn)程控制。
(1)煙霧傳感器接口電路設(shè)計(jì)
為了保障住宅環(huán)境安全,必須對(duì)室內(nèi)火災(zāi)發(fā)生的煙氣和易燃性氣體進(jìn)行濃度檢測,以防止火災(zāi)危險(xiǎn)。在本方案中,使用MQ-2 型氣體傳感器進(jìn)行易燃?xì)怏w的采集,其探測范圍廣泛,對(duì)可燃?xì)怏w如丙烷具有良好的敏感性。MQ-2 型氣體傳感器性價(jià)比高、應(yīng)用廣泛,是家庭環(huán)境中的煙霧報(bào)警的理想選擇。本芯片工作電壓5V+0.1V,輸出電壓2.5~4.0V,可在300~10000ppm范圍內(nèi)進(jìn)行測試。其應(yīng)用接口電路如圖4 所示。
圖4 MQ-2 接口電路
(2)溫濕度傳感器接口電路設(shè)計(jì)
根據(jù)室內(nèi)環(huán)境的溫、濕特性,本系統(tǒng)將DHT11 作為家居環(huán)境溫度與濕度傳感器。DHT11 利用先進(jìn)的溫濕傳感技術(shù),實(shí)現(xiàn)對(duì)周邊環(huán)境的溫度、濕度進(jìn)行實(shí)時(shí)監(jiān)測,內(nèi)置了數(shù)碼模組,開發(fā)人員無需進(jìn)行模數(shù)轉(zhuǎn)換,只需要讀出數(shù)字信號(hào)就能完成溫度和濕度的讀取。芯片可在3~5.5 V 的工作電壓下工作。在0~50 攝氏度的范圍內(nèi),測量準(zhǔn)確度≤1℃;濕度在20%~90% RH 范圍內(nèi)。本模塊有四個(gè)引腳,其中三個(gè)引腳用于電路設(shè)計(jì),其接口部分如圖5 所示。
圖5 DH11 接口電路
(3)控制終端接口電路設(shè)計(jì)
繼電器是由電流來控制電子設(shè)備,通常用于自動(dòng)調(diào)整和安全保護(hù)。繼電器的工作原理是,在電源輸入端為0 或電流不足時(shí),繼電器線圈為斷路,常閉觸點(diǎn)閉合,常開觸點(diǎn)斷開;在有足夠大電流通過時(shí),保護(hù)線圈會(huì)產(chǎn)生吸合力,使其常閉觸點(diǎn)斷開,而常開觸點(diǎn)閉合。從圖6 可以看出,在P1_3 是無效電平狀態(tài)下,在繼電器的輸入端沒有電壓,電流為0,因此常閉觸點(diǎn)關(guān)閉;在P1_3 是有效電平情況下,繼電器輸入端會(huì)產(chǎn)生一個(gè)使繼電器線圈閉合的電壓,從而使常閉觸點(diǎn)處于關(guān)閉狀態(tài);常開觸點(diǎn)在吸合時(shí),使繼電器的刀位方向發(fā)生變化,達(dá)到電氣設(shè)備的開關(guān)控制。
圖6 繼電器接口電路
下位機(jī)的軟件設(shè)計(jì)包含終端和控制器的軟件設(shè)計(jì),采用KeilμVision5 作為STM32 的開發(fā)平臺(tái),采 C 語言進(jìn)行編程,便于系統(tǒng)的維護(hù)和擴(kuò)展。STM32 單片機(jī)在節(jié)點(diǎn)采集數(shù)據(jù),然后將采集到的數(shù)據(jù)傳輸給ZigBee,ZigBee 采用Z-Stack協(xié)議棧進(jìn)行封裝,并通過ZigBee 網(wǎng)絡(luò)傳輸給網(wǎng)絡(luò)中的協(xié)調(diào)器節(jié)點(diǎn)。協(xié)調(diào)程序?qū)⒉杉降母鹘Y(jié)點(diǎn)數(shù)據(jù)通過USART 發(fā)送給主機(jī),主機(jī)接收到數(shù)據(jù)后,利用ID 判斷節(jié)點(diǎn)信號(hào)是否超過了設(shè)置的閾值,并判定蜂鳴器是否發(fā)出警報(bào);最后利用MQTT 技術(shù)對(duì)數(shù)據(jù)進(jìn)行封裝,通過ESP8266 接口,將其傳輸?shù)皆贫似脚_(tái),由手機(jī)終端接收到數(shù)據(jù)。在圖7 中顯示了該程序流程。
圖7 程序流程圖
該系統(tǒng)采用MQTT 協(xié)議進(jìn)行信息交互,交互形式以JSON 為主。控制器將所有的數(shù)據(jù)以JSON 方式封裝,并經(jīng)由設(shè)定的主題傳送至云端平臺(tái),通過訂購Topic 主題,即可在移動(dòng)及電腦端使用。為了減少成本,本系統(tǒng)使用云平臺(tái),即EMQXCloud 公司免費(fèi)提供的MQTT 服務(wù)器。微信應(yīng)用框架式的軟件架構(gòu),具有較低開發(fā)門檻、較高兼容性,可兼容各種不同的操作系統(tǒng),而且無需下載、安裝。基于上述優(yōu)勢,采用微信開發(fā)者平臺(tái)開發(fā)手機(jī)上位機(jī)。MQTT 協(xié)議在微信應(yīng)用軟件中的應(yīng)用首先要安 MQTT 客戶端,在連接功能連接到MQTT伺服器的位址之后,可以訂閱設(shè)備的數(shù)據(jù)主題。微信應(yīng)用程序要求訪問JSON 數(shù)據(jù)的WebAPI 平臺(tái)。用戶可以通過客戶端監(jiān)控事件來分析JSON 數(shù)據(jù);利用Publish功能,完成用戶對(duì)LED 燈、報(bào)警等功能的控制,在JSON上進(jìn)行封裝,并將其傳輸?shù)皆贫似脚_(tái)。此外,系統(tǒng)還新增氣象查詢功能,用戶可以通過墨跡天氣網(wǎng)站上的API 來獲取該服務(wù);而且還可以通過JSON 解析用戶數(shù)據(jù),每天可以申請一萬次,已經(jīng)足夠日常使用。
近幾年,隨著物聯(lián)網(wǎng)、人工智能、云計(jì)算等技術(shù)的飛速發(fā)展,致力于提高人們的居住品質(zhì)的智能家居系統(tǒng),已由實(shí)驗(yàn)室走向了普通的家庭。智能家居這個(gè)概念雖然被提出至今已有數(shù)十年之久,但至今還未廣泛應(yīng)用于整個(gè)社會(huì),大部分家庭都還保持著傳統(tǒng)的生活習(xí)慣。本文分析智能家居系統(tǒng)設(shè)計(jì)目標(biāo)及設(shè)計(jì)原則,設(shè)計(jì)了基于STM32、Zigbee 的智能家居系統(tǒng),具有高度的集成化和智能化,可以作為普通家庭智能家居的參考。