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

評(píng)論