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

評論