黃開龍 劉力銘 趙娟

摘? ?要:隨著人們生活水平越來越高,人們對于住房的要求不在局限于簡單生活,而是更傾向于有高層次、舒服的家居環境,因此這種需求直接促進了智能家居地發展。本設計是基于 ESP32 設計出一套云智能家居系統。云智能家居系統采用模塊化設計,分為智能插座模塊、智能燈模塊、門窗檢測模塊和室內環境監測模塊。模塊之間采用 WiFi Mesh 網絡進行通信,WiFi Mesh 網絡的根節點通過 MQTT 協議與物聯網云平臺連接,物聯網云平臺和手機終端之間采用 HTTP 協議通信。WiFi Mesh 網絡、物聯網云平臺和手機終端的相互協作,共同構造出了云智能家居系統。
關鍵詞:ESP32? WiFi Mesh? MQTT? HTTP? 云智能
隨著科學技術的不斷發展和人們生活水平的不斷提高,智能家居已經逐漸從實驗室進入到了人們的日常生活中。目前市場上已經出現了許許多多的智能家居產品。現今的智能家居產品都具有一個相同的特點:本地組網使用 Zigbee 技術。Zigbee 技術具有傳輸速率低和需要通過網關接入互聯網的缺點,而新出現的 WiFi Mesh 組網技術正好解決了此問題。
1? 系統方案設計
整個系統分為智能燈模塊、智能插座模塊、門窗檢測模塊和室內環境檢測模塊。智能燈模塊的功能是負責開關家里的電燈;智能插座模塊的功能是定時開關插座;門窗檢測模塊當檢測到門窗強制被打開時,觸發家里的報警系統;室內環境檢測主要負責采集室內的溫度、濕度和空氣質量等數據,然后智能提醒居住的用戶。云智能家居系統的所有模塊通過 WiFi Mesh 網絡進行連接,任意兩個模塊之間都能相互通信。模塊將采集到的傳感器數據通過 WiFi Mesh 網絡發送到 WiFi Mesh 網絡的根節點,根節點接收到數據后通過 MQTT 協議發送到物聯網云平臺,物聯網云平臺接收到數據后通過 HTTP協議推送到手機終端。用戶操作手機終端進行模塊控制時,手機終端首先是通過 HTTP 協議的 POST 請求把數據發送到物聯網云平臺,物聯網云平臺接收到數據后通過 MQTT 協議發送到 WiFi Mesh 網絡的根節點,根節點接收到數據后解析出模塊的 WiFi Mesh 網絡地址,然后把數據轉發到模塊去,模塊接收到數據后執行相應的動作。
2? 硬件設計
整個系統的電路總共分為ESP32 核心電路、繼電器電路、DHT11電路和磁控開關電路四部分。其中,智能燈模塊和智能插座模塊都由 ESP32 核心電路和繼電器電路組成;門窗檢測模塊由 ESP32 核心電路和磁控開關組成;室內環境檢測模塊由 ESP32 核心電路和 DHT11 電路組成。系統的主要元器件包括 ESP32模組、AMS117-5V、AMS1117-3.3V、繼電器、光耦開關、DHT11 和磁控開關。輔組元器件包括電容、電阻、輕觸開關、排針、發光二級管和三極管等。電路的總體設計如圖 1 所示。
3? 軟件設計
系統的軟件設計部分主要包括主程序、WiFi 初始化函數、WiFi Mesh 初始化函數、MQTT 初始化函數、根節點讀任務函數、根節點寫任務函數、子節點讀任務函數、子節點寫任務函數、傳感器初始化函數、傳感器數據獲取函數、傳感器設置函數、傳感器數據解析函數和傳感器數據封裝函數。WiFi 初始化函數的功能是完成初始化 ESP32 WiFi;WiFi Mesh 初始化函數的功能是完成 WiFi Mesh 網絡的組建;MQTT 初始化函數的功能是初始化 MQTT 協議和連接物聯網云平臺;根節點讀任務的功能是接收子節點發送過來的數據并把 WiFi Mesh 網絡地址信息封裝進數據,最后通過 MQTT 發送到物聯網云平臺;根節點寫任務的功能是接收物聯網平臺發送的數據并解析出在 WiFi Mesh 網絡的地址,然后把數據轉發到對應的設備去;子節點寫任務函數的功能是接收根節點發送過來的數據,解析出數據內容后應用到傳感器上;子節點讀任務函數的功能是采集傳感器的數據并分裝傳感器數據,然后發送到根節點去;傳感器初始化函數的具體功能由不同模塊的用途決定,在智能燈模塊和智能插座模塊中,傳感器初始化函數用于初始化繼電器;在門窗檢測模塊中,傳感器初始化函數用于初始化磁控開關;在室內環境檢測模塊中,傳感器初始化函數用于初始化DHT11。傳感器數據獲取函數用于獲取傳感器檢測到的數據;傳感器設置函數用于設置傳感器的狀態信息。傳感器數據封裝函數的功能是把讀取到的傳感器數據和傳感器信息封裝成 JSON 格式。傳感器數據解析函數的功能是解析 JSON 格式的字符串,獲取到需要的數據。
4? 系統調試
系統調試總共分為兩個部分:一是硬件調試,二是軟件調試。硬件調試的過程是是往 ESP32 燒入測試代碼,觀察程序運行的現象,找出現異常部分的電路并用電烙鐵修復電路,重復此步驟知道測試代碼正常運行。軟件調試的過程是觀察各個模塊的運行日志,找出異常部分,然后修改程序,重復此步驟,直到程序到達要求。
通過硬件調試和軟件調試,云智能家居系統已經能夠正常運行了。在實際的測試過程中 WiFi Mesh 網絡的穩定,數據傳輸延時低,傳感器采集的數據精度高。
參考文獻
[1] 季堅莞,陳淼,陳渭力.基于ESP32的用電器狀態監測系統設計[J].工業控制計算機,2019,32(6):147-148.
[2] 陳星星,李亞品,段納,等.基于ESP32的糧倉遠程溫濕度監控系統[J].電子技術與軟件工程,2018(14):94.
[3] 呂志華.基于單片機的溫度控制系統設計[J].電子技術與軟件工程,2019(21):231-232.
[4] 李東艷.基于智能監控的防盜時系統研究[J].信息技術與信息化,2019(10):180-181.