韋栗,張啟龍,易攀
(六盤水師范學院 物理與電氣工程學院,貴州六盤水,553000)
隨著電子技術和電子產品在現實世界中的普及,家庭人工智能產品的提升才能滿足人們實際生活的應用要求[1]。為實現家庭環境監測、安全管理、家電監測等功能,提高家庭生活質量,文章設計了以STM32F1系列芯片作為主要控制單元。基于WiFi的智能家居致力于物聯網自動控制系統的研究。WiFi光節點的數目由AP Coordinator可以訪問的節點數目決定[2]。集成多種高性能傳感器,基于信息技術打造高品質的家庭設施和環境管理系統,滿足家庭安全、便捷、舒適的需求[3]。
(1)硬件設計綜述。文章以STM32F1單片機為核心,由溫度和濕度傳感器、煙霧傳感器、電機模塊和WiFi模塊作為外圍設備構成的控制系統設計。控制系統框圖如圖1所示。
(2)微處理控制系統。以STM32F1系列單片機作為主控制模塊。其可以對傳感器采集到的信息進行接收和處理。STM32F1系列單片機主控最小系統原理電路設計如圖2所示。
(3)溫度和濕度傳感器。所選的DHT11數字溫濕度傳感器的空氣濕度壓力與飽和濕壓之比為20%~90%,測量精度約為±4%,溫度測量范圍為0℃~50℃,測量精度為±1℃~±2℃[4]。以程序的形式標定系數,DHT11與8位高性能微機耦合,具有高性能干擾、高性能、高精度、高傳輸距離、DHT11的工作原理可以由文獻[5]可知。溫度和濕度傳感器電路設計如圖3所示。
(4)煙霧傳感器。本次設計選擇的是MQ2煙霧傳感器,跟市場上各種類似的傳感器比較發現,使用煙霧傳感器主要是檢測家庭常見的一氧化碳等常見家用電器使用不當時產生的可燃危險氣體。在文獻[6]中體現了MQ2煙霧傳感器的工作原理。MQ2煙霧傳感器電路原理如圖4所示。
(5)窗簾驅動電機模塊。采用的是L298P電機控制芯片[7]。L298可用于驅動直流電動機,部分高檔微機如AVR、PIC等均有PWM輸出端口[8]。該芯片的平均驅動電壓可達50V,可以滿足電動機的正常運行條件。窗簾驅動電機控制電路如圖5所示。
(6)WiFi模塊。WiFi模塊ESP8266選擇串行同行協議與微控制器同行[9]。WiFi模塊是物聯網的一部分(物聯網)傳輸層。它通過WiFi將醫療器械、數據采集、手機等不同設備連接在一起,形成局域網。可以在不同環境和情況下與WiFi連接的無線通信,構成蜂窩局域網[10]。其工作原理如圖6所示。
(1)軟件設計總述。系統軟件支持STM32F1系列微機最小系統的正常穩定運行,使用微機控制各模塊的平穩有序工作。同時,控制系統監測安卓客戶端是否發出命令,如果先執行相關命令,程序將維持STM32F1系列單片機最小系統的穩定啟動,使用微處理器穩定有序地控制模塊,初始化STM32F1系列的所有外部設備,并在訪問ESP8266WiFi模塊后確定是否訪問云服務,然后處理所需數據并將其發送給服務器更新。同時,控制系統的客戶端決定是否發出命令,如果有執行命令,則實行手動控制,如果沒有執行命令,則實行自動控制。
(2)溫濕度傳感器軟件設計。工作時低電平有效,它可以自動測量空氣中的溫度和濕度,且靈敏度和精確度較高,是檢測空氣中溫濕度的最佳選擇。先對溫濕度傳感器外設進行初始化,再讀取溫度和濕度的值,顯示溫度和濕度,然后確定溫度和濕度是否超過規定的閾值。如果出現采集的值超出閾值的情況,則會發生報警;若采集的值沒有超出設定閾值的情況,則溫度和濕度的數據采集仍在繼續。測溫濕度流程圖如圖7所示。
(3)煙霧傳感器軟件設計。由文獻[11]可知選擇ADC1的通道10不間斷地對傳感器的電壓讀取10次,然后取平均值。MQ2煙霧傳感器軟件流程如圖8所示。
(4)窗簾電氣驅動軟件設計。文獻[12]體現了電路設計單片機的產生要與L298P相序一致,電壓以L298P為基礎的兼有式電機。電機控制流程如圖9所示。
(5)WiFi模塊軟件設計。ESP8266芯片上的無線連接被設計成AP+站或混合通信模式的WiFi通信模塊。它可以獨立運行,也可以作為一個子機在其他主機上運行[13]。它的功能是將串行端口轉換為無線WiFi信號,由無線路由器轉發。ESP8266芯片的連接采用軟路由加客戶端雙模串口WiFi模塊,也稱為混合模式通信處理模式。
該設計主要包括以下5個模塊:微處理器模塊、溫度和濕度模塊、電機模塊、WiFi模塊及顯示模塊。設計以STM32F1系列單片機為核心,通過傳感器和處理器進行數據采集與運算,通過顯示器對數據進行數據顯示,用戶可通過手機軟件查詢。該系統主要應用傳感器模塊、控制器和處理器模塊、顯示設置、串口WiFi模塊來控制系統核心是STM32F1系列微機,通過傳感器采集環境變量,傳輸到STM32F1系列微機處理和轉換數據,需要的數據參數顯示模塊數據顯示,用戶直接觀察模塊向客戶端接收數據,并在模塊打開時將數據更新到手機。接通電源后,每個模塊都會初始化,通過傳感器模塊獲取相關信息,同時顯示在LCD屏幕上。當溫濕度傳感器模塊檢測到的數據異常時,步進電機開始工作,實現窗簾自動升降工作;當煙霧傳感器模塊檢測到的數據高于所設定閾值時,蜂鳴器報警,同時風扇開始自動工作,將室內的煙霧驅散,直到煙霧傳感器檢測到空氣中的數據低于預設值時,蜂鳴器和風扇停止工作。同時將所有參數通過WiFi與手機終端連接,將數據傳輸至手機APP顯示,手機APP也可單獨控制LED、風扇、步進電機。此外,手機終端亦可選擇硬件自動控制或者手動控制。上述工作命令的實際效果如圖10所示。
本文結合STM32F1系列單片機的相關知識,利用溫度和濕度傳感器、煙霧傳感器、顯示模塊、步進電機及WiFi模塊協同工作,構成了一個家居環境監測功能的簡易智慧家居系統。結合單片機從而測出不同的溫度和濕度、煙霧濃度及其他危險氣體,采集的數據信號通過顯示屏LCD顯示,同時系統連接手機APP終端,在手機上也可以實時了解到室內情況,以便用戶對室內環境的了解和控制。初步檢測結果表明,該設計完全滿足設計目的和要求。文章設計成本適中,可直接用于智慧家居和推廣。