裴曉燕
(晉中職業技術學院,山西晉中,030600)
隨著科技進步,人民的生活水平逐步提升,對居住環境的要求也越來越高?!禝DC 中國智能家居設備市場季度跟蹤報告》指出,中國智能家庭設備的出貨量在2021 年上半年出貨量達到了1 億臺左右,中國的智能家居產品在未來5年內將繼續保持20%以上的復合增長率,到2025 年出貨量將可能會突破6 億臺。然而,由于我國企業采用的技術標準并不統一,產品質量不能兼容,成本較高,控制方式單一,難以適應大眾的需要。在這樣的背景下,本文設計了以STM32 為核心 Zigbee 無線通訊智能家居系統,以實現對家庭環境的監測與控制。它可以彌補智能家居系統成本高、交互方式單一、設備操作困難等弊端。
針對目前智能家居系統的結構復雜、智能化程度低等問題,提出了一種基于智能家居的智能化、集成化的新系統。在此基礎上,遵循下述原則的前提下完成了本系統的設計。第一,使用方便,實用性強?,F在市面上有許多智能家居產品,宣傳功能豐富、使用便捷,但往往都是過度宣傳,使用過程中操作繁瑣,大多數人,在購買這些產品之后,都只會進行簡單操作,而那些復雜的功能,根本無法使用。所以在進行設計時,應當本著方便用戶的操作和實用性的原則來進行設計。第二,系統穩定,成本低。要將智能家居普及到廣大的普通消費者,其產品價格也是不可忽略的一個重要因素。因此,在設計過程中,必須在保證功能齊全的基礎上,盡量選擇具有較高性能的元件和傳感器,來實現產品的成本控制,實現硬件電路的簡單流暢、易于維護,實現軟件編程較高的邏輯性和穩定性。
本文所研究的智能家居系統,可以從整體上劃分為兩個主要的模塊,即上位機和下位機。上位機主要由PC、手機通過服務器向協調器發出指令,再由協調器向終端設備傳送指令;而下位機則主要負責收集和傳送各傳感器節點數據,并將其上傳到服務器,從而實現PC 和手機端的實時監控。在圖1 中顯示了智能家居系統之間的組織關系。

圖1 智能家居系統拓撲圖
在本文所設計的智能家居系統中,PC 和手機終端被選為顯示設備。如今,智能手機已成為我們日常生活的重要組成部分,通過用戶界面向ZigBee 發送命令,然后通過ZigBee 網絡向終端設備傳輸數據,從而實現對智能家居系統的控制;與此同時,在家居環境中,各種傳感器采集的數據也會通過原路返回并上傳到UI 界面,方便使用者隨時瀏覽,并進行相應的操作。ZigBee 協調器是智能家庭中的一個重要的控制部件,它可以將所有的信息傳輸到智能家居中。而智能家居系統中的另外一個關鍵器件是包括終端節點,溫度、濕度、煙霧等傳感器都會在主界面上實時的顯示出家居情況。
從硬件的角度來看,智能家居系統可以分成三大部分,分別是下位機終端、家庭網關、上位機終端。系統的整體設計框圖如圖2 所示。

圖2 系統總體設計框圖
(1) 下位機的終端
下位機終端主要承擔數據采集與控制工作。采集是指收集家居環境信息,包括室內溫度、室內和臥室中的光照強度、廚房中的煙霧和易燃氣體濃度,以及在家中安裝具有傳感器的ZigBee 終端節點;控制是對家庭生活用具的運行狀況進行管理,其實施方法是將繼電器ZigBee 連接到裝置的電源插座上,通過對繼電器的開閉進行以控制家電的開閉。
(2) 家庭網關
家庭網關主要承擔網絡管理、傳輸、存儲等工作。該網絡的管理包含了ZigBee 網絡和WiFi、GSM 和因特網的管理,ZigBee 協調器用于初始化家用網絡,收集和控制終端節點加入該網絡中,并對整個ZigBee 網絡進行維護等;其中,WiFi 模塊、GPRS 模塊主要負責對外部網絡進行管理,包括啟動外網、向云端服務器及手機端傳輸數據等。主控制器主要功能之一是實現ZigBee 協調器與WiFi、GPRS 模塊之間的數據交互,以及向SD 卡中寫入數據。
(3) 上位機終端
本論文所設計的上位機終端是指手機或PC。通過手機APP,使用者可以隨時查看室內溫度、濕度、煙霧濃度等情況,還可以遙控家電;同時,當易燃氣體超出臨界點時,該系統會通過手機短信通知使用者。與傳統的智能家居相比,本文所設計的智能家居系統加入了自動控制功能,當處于自動控制狀態時,系統會按照使用者的使用習慣來進行自動調節,例如在感應到氣溫較低時,會自動開啟空調,調整室內的溫度。與上位機終端有關的是路由器和云計算服務器,路由器是一個用于管理本地網關和云端服務的數據的接口;云服務器主要承擔著數據的存儲、家庭網關與手機端之間的交互,以及對模型算法的預測與控制。
控制器采用STM32L476VGT6 芯片,以此芯片為核心,可根據智能家居網關需求,下載、復位系統的電源程序、SD 卡存儲、USB 接口、WiFi、GPRS,以及相應的外部接口。圖3 顯示了主控制器和外圍功能模塊結構框圖。

圖3 主控制器及外圍擴展模塊結構框圖
控制器是智能家居系統中的重要組成部分,它擔負著主、下位計算機和控制終端的通訊。其主要功能是利用因特網與外部網絡進行數據通信,并與云平臺進行數據交換,通過終端接入云端平臺,實現對控制器的存取和數據交互;同時,它還承擔著家庭內部的網絡管理和數據的收發、傳輸,并在家庭內部和外部網絡間進行信息的傳輸,使用戶可以隨時隨地查看家庭環境信息,并對家庭設備進行遠程控制。
(1)煙霧傳感器接口電路設計
為了保障住宅環境安全,必須對室內火災發生的煙氣和易燃性氣體進行濃度檢測,以防止火災危險。在本方案中,使用MQ-2 型氣體傳感器進行易燃氣體的采集,其探測范圍廣泛,對可燃氣體如丙烷具有良好的敏感性。MQ-2 型氣體傳感器性價比高、應用廣泛,是家庭環境中的煙霧報警的理想選擇。本芯片工作電壓5V+0.1V,輸出電壓2.5~4.0V,可在300~10000ppm范圍內進行測試。其應用接口電路如圖4 所示。

圖4 MQ-2 接口電路
(2)溫濕度傳感器接口電路設計
根據室內環境的溫、濕特性,本系統將DHT11 作為家居環境溫度與濕度傳感器。DHT11 利用先進的溫濕傳感技術,實現對周邊環境的溫度、濕度進行實時監測,內置了數碼模組,開發人員無需進行模數轉換,只需要讀出數字信號就能完成溫度和濕度的讀取。芯片可在3~5.5 V 的工作電壓下工作。在0~50 攝氏度的范圍內,測量準確度≤1℃;濕度在20%~90% RH 范圍內。本模塊有四個引腳,其中三個引腳用于電路設計,其接口部分如圖5 所示。

圖5 DH11 接口電路
(3)控制終端接口電路設計
繼電器是由電流來控制電子設備,通常用于自動調整和安全保護。繼電器的工作原理是,在電源輸入端為0 或電流不足時,繼電器線圈為斷路,常閉觸點閉合,常開觸點斷開;在有足夠大電流通過時,保護線圈會產生吸合力,使其常閉觸點斷開,而常開觸點閉合。從圖6 可以看出,在P1_3 是無效電平狀態下,在繼電器的輸入端沒有電壓,電流為0,因此常閉觸點關閉;在P1_3 是有效電平情況下,繼電器輸入端會產生一個使繼電器線圈閉合的電壓,從而使常閉觸點處于關閉狀態;常開觸點在吸合時,使繼電器的刀位方向發生變化,達到電氣設備的開關控制。

圖6 繼電器接口電路
下位機的軟件設計包含終端和控制器的軟件設計,采用KeilμVision5 作為STM32 的開發平臺,采 C 語言進行編程,便于系統的維護和擴展。STM32 單片機在節點采集數據,然后將采集到的數據傳輸給ZigBee,ZigBee 采用Z-Stack協議棧進行封裝,并通過ZigBee 網絡傳輸給網絡中的協調器節點。協調程序將采集到的各結點數據通過USART 發送給主機,主機接收到數據后,利用ID 判斷節點信號是否超過了設置的閾值,并判定蜂鳴器是否發出警報;最后利用MQTT 技術對數據進行封裝,通過ESP8266 接口,將其傳輸到云端平臺,由手機終端接收到數據。在圖7 中顯示了該程序流程。

圖7 程序流程圖
該系統采用MQTT 協議進行信息交互,交互形式以JSON 為主。控制器將所有的數據以JSON 方式封裝,并經由設定的主題傳送至云端平臺,通過訂購Topic 主題,即可在移動及電腦端使用。為了減少成本,本系統使用云平臺,即EMQXCloud 公司免費提供的MQTT 服務器。微信應用框架式的軟件架構,具有較低開發門檻、較高兼容性,可兼容各種不同的操作系統,而且無需下載、安裝?;谏鲜鰞瀯?,采用微信開發者平臺開發手機上位機。MQTT 協議在微信應用軟件中的應用首先要安 MQTT 客戶端,在連接功能連接到MQTT伺服器的位址之后,可以訂閱設備的數據主題。微信應用程序要求訪問JSON 數據的WebAPI 平臺。用戶可以通過客戶端監控事件來分析JSON 數據;利用Publish功能,完成用戶對LED 燈、報警等功能的控制,在JSON上進行封裝,并將其傳輸到云端平臺。此外,系統還新增氣象查詢功能,用戶可以通過墨跡天氣網站上的API 來獲取該服務;而且還可以通過JSON 解析用戶數據,每天可以申請一萬次,已經足夠日常使用。
近幾年,隨著物聯網、人工智能、云計算等技術的飛速發展,致力于提高人們的居住品質的智能家居系統,已由實驗室走向了普通的家庭。智能家居這個概念雖然被提出至今已有數十年之久,但至今還未廣泛應用于整個社會,大部分家庭都還保持著傳統的生活習慣。本文分析智能家居系統設計目標及設計原則,設計了基于STM32、Zigbee 的智能家居系統,具有高度的集成化和智能化,可以作為普通家庭智能家居的參考。