程鵬 內蒙古工業大學
現代智能家居已經逐漸進入市場,智能家居對提升人們的生活質量有重要的作用,成為關注的熱點。信息化時代下,人們不僅關注住宅的周邊環境、居室面積、交通等,也更加關注安全防范、信息服務、外界溝通等要求。智能家居應運而生。利用智能家居系統,能夠實現自動控制、安全防范等。通過不同的家居方式,以及系統功能,可以對家庭日程事務、住宅的日常事務進行管理,使人們的生活更加舒適、便利、安全。現代智能手機使用普遍,本文設計可以登錄手機客戶端的智能家居控制系統,實現家居的安全管理。
本次研究設計的智能家居系統,主要架構包括Android 手機客戶端監控界面、WiFi 通信、單片機 STM32 開發板。使用單片機STM32開發板進行設計,采集視頻監控、環境監測、燈光照明控制等數據信息。通過手機連接 WiFi,傳輸數據,遠程監控各個模塊。
圖1 系統框架
本次設計使用STM32開發板,系統主處理器使用STM32F103。微控制單元應用STM32F103ZET6。接口包括無線模塊接口、攝像頭接口、溫度傳感器接口、濕度傳感器接口等。STM32開發板接口位置合理,靈活方便。接口可以進行各種外設的實驗。并且主芯片能夠滿足大數據存儲的需求。
使用開發板上現有的兩個 LED 燈,模擬實現智能家居中燈光的控制。
考慮室內溫度、濕度影響生活舒適度,設置環境監測模塊,數據采集應用DHT11傳感器。
設置視頻監控模塊,方便用戶實時監控家居情況。其視頻數據的采集應用OV7670攝像頭。
單片機上各功能模塊需要與手機 APP進行數據傳輸,因此需要WiFi模塊。WiFi模塊能夠及時、高效地進行數據傳輸。硬件采用ATK-RM04 WiFi 模塊,采用串口與 MCU 通信,能夠轉換無線網、以太網、串口。不需要改變單片機開發板的任何配置,利用ATKRM04 WiFi模塊,就可以與WiFi模塊連接,采集視頻、溫度、濕度等數據。
本次設計中的編程、仿真和調試,應用Keil 軟件。軟件設計主要是各個功能模塊。通過軟件設計,能夠實現視頻監控、溫度監測、濕度監測、燈光照明控制等。如下圖,為軟件設計流程圖,首先要初始化系統。然后進入檢測函數,采集視頻數據、濕度數據、燈光情況數據、溫度數據等。最后進行傳輸。
圖2 軟件設計流程圖
環境監測模塊的軟件設計,就是要采集和傳輸濕度數據、溫度數據。應用DHT11數字溫濕度傳感器,單個數據引腳端口,進行雙向傳輸。先初始化設置傳感器。檢測不到 DHT11 的存在,返回0。檢測到存在,返回 1。然后讀取 DHT11 的濕度數據、溫度數據。依據單總線操作時序。如果讀取失敗,返回 1。如果讀取成功,返回 0。成功初始化后,每個100 ms讀取一次數據,然后傳輸,在顯示屏上顯示相應的數據。
通過設計視頻監控模塊的軟件,能夠顯示視頻、傳輸視頻數據、采集視頻數據等。先將OV7670 相關的 IO 口進行初始化,再寄存器序列初始化。然后采集視頻圖像。利用JPEG 壓縮,原始圖像數據可以實時播放給客戶端 APP。為保證視頻傳輸的質量,應用層使用TRTP /RTCP 協議。網絡層、傳輸層使用TCP/IP 協議。對客戶端APP的請求進行監聽,從而實現網絡交互。
設計燈光照明模塊的軟件,控制燈光的亮滅。主要是兩個 LED燈的熄滅。先將LED 燈連接的硬件接口初始化,再進行高低電位的控制,對燈光亮滅進行控制。
本次設計中,開發Android 手機客戶端APP,應用Java 語言,設計監控界面。監控界面中,包括溫度和濕度控制模塊、燈光控制模塊、視頻監控模塊等。手機 APP作為客戶端。傳統的 C/S架構,為智能家居應用系統。服務器端為嵌入式硬件。使用流程主要是,先將用戶界面初始化,再請求訪問服務器。成功響應后,在用戶界面上會顯示數據。
圖3 模塊實現流程圖
客戶端訪問服務器的數據傳輸,使用底層 Socket,可以節省流量,而且把控細節。網絡請求需要耗費時間,利用JAVA回調機制,設置子線程在客戶端,向服務器發送數據,再回調處理響應的數據。如果在主線程中,直接請求網絡,容易導致阻塞。
設計完手機APP 的程序,可以根據顯示設置,實現各項功能的操作。將單片機上的 WiFi模塊連接后,APP客戶端和單片機可以傳輸數據。通過各個功能模塊的實際情況,可以了解家居的實時情況。
本次基于STM32開發板,設計智能家居控制系統,應用手機客戶端 APP,WiFi 模塊、視頻監控、燈光模塊、濕度模塊、溫度模塊等,實時了解和控制用戶的家居情況。進行系統測試,驗證系統的穩定性和有效性。通過 I/O 口,將單片機與WiFi模塊、OV7670攝像頭、DHT11 溫濕度傳感器進行連接。程序代碼到STM32單片機開發板上。打開手機APP,輸入IP地址,連接WiFi。接入成功后,檢測燈光、視頻、溫濕度控制等情況。結果顯示,系統運行良好。如下圖所示,為系統執行后的結果,符合智能家居控制系統的設計要求。
圖4 監控結果
本次研究基于 STM32,設計智能家居控制系統,通過 WiFi通信技術,對環境檢測模塊、燈光照明模塊、視頻監控模塊進行遠程控制,滿足智能家居的基礎功能。并且操作簡單,成本低廉,具有良好的實用性。