作者:鄧楷煊,張金堯,許彩望,孫朝鵬
引 言
隨著科學技術的發展,人們的生活水平日益提高,對居住環境的要求是更加智能、舒適。《IDC 中國智能家居設備市場季度跟蹤報告》顯示 [1],2021 年上半年中國智能家居設備市場出貨量約 1 億臺,預計未來五年中國智能家居設備市場出貨量將以 21.4% 的復合增長率持續增長,2025 年市場出貨量將接近 5.4 億臺,全屋智能解決方案在消費市場的推廣將成為市場增長的重要動力之一。但是,目前國內不同公司采取的技術標準不盡相同,不同品牌的產品無法兼容、成本較高、控制方式單一,無法滿足普通人的需求 [2-3]。
為滿足普通大眾的智能化需求,本文設計了一款智能家居系統,使用了嵌入式技術、物聯網技術、自動控制技術等技術,實現對家居環境的檢測和控制。彌補傳統的家居控制系統成本高、交互方式單一、用戶和設備交互手段單一等缺點。該系統采用 STM32 作為硬件控制平臺,通過 MQTT 協議 [4] 并使用 ESP8266 以 JSON 數據格式來實現云平臺和客戶端之間的信息交互,并且對內使用 ZigBee 通信來提高系統的靈活性 [5-7],成本低廉、簡單實用,并且便于再次擴展,很適合低端市場。采用微信小程序控制極大地便利了不同用戶對家庭環境進行遠程監控,保證家庭成員的安全和生活的舒適。
1、 系統的整體設計
如圖1所示,智慧家居系統主要包括信息采集節點模塊、控制器模塊、應用模塊。信息采集節點模塊負責各個傳感器的信息采集和一些家用電器的控制,使用 STM32 單片機作為節點的芯片。控制器模塊同樣采用 STM32 管理各個節點,并且通過 ESP8266 來連接家庭 WiFi 上傳數據到云平臺。應用模塊是方便用戶使用通過微信開發者工具設計的微信小程序,使用者可以采用任意方式監控平臺和發送指令。指令通過 WiFi 信號傳到控制器,ZigBee 協調器收到控制器發送的數據再處理后發送至各個節點,以控制電器。
2 、系統硬件設計
2.1 傳感器選擇
根據傳感器功能的不同,分成以下三個系統 :
(1)健康系統 :配置了體溫傳感器 MAX30205MTA 和心率血氧傳感器 MAX30102。
(2)環境系統 :配置了溫濕度傳感器 DHT11、煙霧傳感器 MQ-2、光照度傳感器 GY-30,用 LED 燈模擬家庭燈光,報警裝置使用蜂鳴器來設計,蜂鳴器使用低電平觸發,操作簡單。
(3)安全系統 :配置了超聲波測距傳感器 HC-SR04 和人體紅外感應傳感器 HC-SR501。
2.2 終端節點和協調器設計
根據實際需求,節點使用 STM32 單片機結合 ZigBee 傳輸模塊組成,選擇使用意法半導體公司 ARM Cortex-M3 微處理器系列的 STM32F103RCT6,性能強大、功耗低、使用方便。ZigBee 傳輸模塊則使用市面上常見的 CC2530 芯片,性能優越且便于開發,并且它還內置了 ZigBee 協議棧便于構建無線網絡 [8-9]。
2.3 控制器模塊
主控制器負責與各個節點進行通信,所以控制器選用正點原子基推出的基于 ARM CortexM3 內核的 ATK- 精英STM32 開發板。
使用安信可的 ESP8266 作為系統的 WiFi 模塊,通過串口和主控制器 STM32 通信,支持標準的 IEEE802.11 b/g/n 協議、完整的 TCP/IP 協議棧 [10],可以實現 WiFi 和串口之間的轉換。該模塊可以兼容 3.3 V 和 5 V 的單片機系統,這樣可以很方便地與主控芯片進行連接 ;此外,它還支持 WiFi-STA、串口轉 AP 和 WiFi-STA+WiFi-AP 三種模式,這有利于系統的開發。將安信可的 AT 固件燒至 8266 里,以便用 AT 指令配置 8266 模塊。
3、 系統軟件設計
3.1 下位機軟件設計
下位機軟件設計包括終端節點和控制器節點的軟件設計,用 Keil UI Vision5 作為 STM32 單片機的開發平臺,使用 C 語言編寫方便維護和拓展。節點上的 STM32 單片機將收集到的數據匯總后傳至 ZigBee 模塊,ZigBee 使用 Z-Stack協議棧進行封裝,通過搭建的 ZigBee 網絡傳遞至網絡的協調器節點。協調器將收集到的各個節點的數據通過 USART傳至主控制器,主控制器收到數據后通過 ID 確定節點 ;然后判斷數據是否超出設定的閾值,確定蜂鳴器是否報警 ;最后將數據打包并且用 MQTT 協議封裝后,再通過 ESP8266模塊經連 WiFi 發送至云平臺,用戶的移動端可通過網絡收到數據。程序流程如圖 2 所示。
3.2 ESP8266 接入云平臺通信設計
STM32 主控制器通過串口發送 AT 指令,以控制 8266模塊初始化以及收發數據操作。首先發送 AT 測試指令再進行復位,之后將 8266 設置為透傳模式,開啟 DHCP,獲取IP 地址 ;最后連接到服務器的 IP 地址和端口號,8266 初始化成功。
3.3 上位機軟件設計
本系統的云平臺是通過 MQTT 協議來交互信息的,并且主要交互形式為JSON。控制器將所有的數據通過JSON打包,再通過設定的主題發送到云平臺,手機端和電腦端均可通過訂閱 Topic 主題獲取。為降低成本,本系統使用的云平臺為EMQ X Cloud 提供的免費公共 MQTT 服務器。微信小程序采用框架型編程結構,開發門檻低,兼容性高,能夠兼容多種操作系統,并且無須下載和安裝。針對以上優點,移動端的上位機使用微信開發者平臺來開發。
微信小程序開發 MQTT 協議需要先安裝 MQTT 的客戶端庫。MQTT.js 是一個開源 MQTT 協議的客戶端庫,可以使用 npm進行“npm install mqtt–save”安裝 ;使用 connect 函數連接到 MQTT 服務器的地址后,再通過 subscribe 訂閱設備上行數據主題。微信小程序請求 Web API 平臺來調取所訂閱主題的 JSON 數據。需注意,小程序 EMQ 的 WebSocket 端口號為 8084,WebSocket 連接成功后再通過 client 監聽事件,對數據進行 JSON 數據解析 ;通過 publish 函數來實現用戶使用微信小程序控制 LED 燈和報警器的操作,將控制指令進行JSON 封裝后傳送至云平臺。
為了方便用戶使用,系統還增加了天氣查詢功能,使用和風天氣提供的免費 API,用戶只須去和風天氣官網注冊便能獲得,并且同樣使用 JSON 對訂閱的數據進行解析便可顯示到小程序中,一天可請求 1 000 次,足夠使用。
4、 系統測試
4.1 硬件數據采集測試
在上述硬件系統中,環境系統包含整套家居系統的主要功能,所以選取環境系統來測試系統數據采集的可靠性。為了方便測試,選取宿舍作為測試對象,選用溫濕度計、亮度計、家用可燃氣體報警器的測量結果作為對照。結合微信小程序來測試數據的發送和接收情況,根據測試數據顯示,環境系統傳感器均能正常運行。測試結果見表 1 所列。
通過測試數據可知,環境系統和標準儀器在相同時間的測試結果基本準確,證明硬件系統的數據采集功能有效,硬件功能成功實現。
4.2 上位機程序測試
在測試上位機系統運行的過程中,要測試移動端上位機的正常運行、上位機和硬件的通信功能以及系統的數據檢測、照明和報警控制功能,用戶可以直接在列表中切換系統,選擇傳感器數據的觀測和控制功能,系統界面測試情況如下。
(1)環境系統界面測試
環境系統界面測試主要測試內容包括 :溫濕度、光照、可燃氣體參數的觀測,照明控制,可燃氣體超出預設值時自動報警功能,報警裝置的手動控制功能。如圖 3 所示,通過對上位機環境系統的測試發現,微信小程序能夠正常獲取到硬件環境系統收集到的數據。
(2)健康系統界面測試
健康系統主要檢測人體心率、血氧、體溫等信息。利用 MAX30102 測得血氧值,測量公式為 :和 DCred 分別為紅光交流和直流,ACired 和 DCired 分別為紅外的交流和直流分量。MAX30205 通過模數轉換器將采集到的模擬量轉換為數字量,以同學 A 為測試對象進行實時測試。如圖 4 所示,通過上位機健康系統的測試發現,上位機微信小程序能正常獲取到硬件健康系統收集到的參數。
(3)安全系統界面測試
安全系統主要監測人體和人距的信息。人體檢測是通過紅外感應模塊進行的,當人進入紅外感應模塊的測量范圍時傳感器會輸出高電平,當人離開后會輸出低電平。人距的測量是通過超聲波測距模塊進行的,當 HC-SR504 發出超聲波時,通過計算超聲波發送和接收的時間差來測量距離(L=TV,L 為測試距離,T 為超聲波發送和接收的時間差,V 為聲速,取 340 m/s)。安全系統界面測試如圖 5 所示。通過上位機安全系統的測試發現,上位機的微信小程序能正常獲取到硬件安全系統收集到的數據。
4.3 微信天氣查詢功能測試
微信天氣查詢界面功能測試主要測試系統能否準確調用網站提供的天氣參數,以方便用戶正常查詢地區的天氣參數。如圖 6 所示,以安徽淮南田家庵區為例進行測試發現,天氣系統能夠正常運行,獲取到的天氣數據準確,系統功能得到實現。
5 、結 語
本文設計了基于 STM32 單片機、ZigBee 通信模塊、ESP8266 無線模塊的智慧家居系統,能夠通過微信小程序控制并監測。經過測試發現,系統操作方式簡單、通信穩定,可以很好地進行監測和控制,滿足用戶的需求,并且系統在靈活性和可拓展性方面均有良好的表現。
審核編輯:郭婷
-
傳感器
+關注
關注
2548文章
50664瀏覽量
751939 -
ZigBee
+關注
關注
158文章
2269瀏覽量
242526 -
智能家居
+關注
關注
1926文章
9510瀏覽量
184292
原文標題:論文速覽 | ZigBee 技術下的智能家居系統設計
文章出處:【微信號:iotmag,微信公眾號:iotmag】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論