韓海曉,鐘志明,李蔚瑤,李嘉穎
(廣東科學(xué)技術(shù)職業(yè)學(xué)院 物聯(lián)網(wǎng)工程學(xué)院,廣東廣州,510640)
隨著物聯(lián)網(wǎng)技術(shù)應(yīng)用的不斷深入,以及移動(dòng)互聯(lián)網(wǎng)的普及和提速,智能家居行業(yè)進(jìn)入快速發(fā)展期。智能客廳是全屋智能家居設(shè)計(jì)的核心部分。本文設(shè)計(jì)了一種基于微信小程序控制的智能客廳系統(tǒng),主要包括設(shè)備端、物聯(lián)網(wǎng)云平臺(tái)和微信小程序三個(gè)部分,運(yùn)用新大陸教育的物聯(lián)網(wǎng)全棧智能應(yīng)用實(shí)訓(xùn)系統(tǒng)模擬智能客廳,通過微信小程序控制設(shè)備端。設(shè)備端通過IOT 數(shù)據(jù)采集模塊和ZigBee 協(xié)調(diào)器,對(duì)智能家居設(shè)備進(jìn)行數(shù)據(jù)采集,并將采集到的數(shù)據(jù)通過網(wǎng)關(guān)上傳到新大陸云平臺(tái),最后通過微信小程序進(jìn)行數(shù)據(jù)顯示和遠(yuǎn)程控制。系統(tǒng)實(shí)現(xiàn)了環(huán)境數(shù)據(jù)的監(jiān)測(cè)、家居的遠(yuǎn)程控制、安防的預(yù)警與設(shè)置以及場(chǎng)景的一鍵開啟,滿足了人們對(duì)智能客廳的基本需求。
系統(tǒng)主要包括設(shè)備端、物聯(lián)網(wǎng)云平臺(tái)和微信小程序三個(gè)部分。通過IOT 數(shù)據(jù)采集模塊和ZigBee 協(xié)調(diào)器對(duì)智能客廳家居設(shè)備進(jìn)行數(shù)據(jù)采集,以微信小程序?yàn)橛脩艚换ソK端,結(jié)合新大陸云平臺(tái),指令數(shù)據(jù)通過調(diào)用新大陸API,實(shí)現(xiàn)智能客廳家居的遠(yuǎn)程控制。智能客廳系統(tǒng)的整體設(shè)計(jì)方案如圖1 所示。
圖1 智能客廳系統(tǒng)整體設(shè)計(jì)結(jié)構(gòu)圖
系統(tǒng)硬件是以IOT 數(shù)據(jù)采集模塊和ZigBee 協(xié)調(diào)器為主的環(huán)境采集系統(tǒng)。包括照明燈模塊、風(fēng)扇執(zhí)行器模塊、氛圍燈模塊、微波傳感器模塊、溫濕度采集模塊、可燃?xì)怏w采集模塊、數(shù)據(jù)采集模塊、ZigBee 模塊和網(wǎng)關(guān)模塊,硬件設(shè)備連接如圖2 所示。
圖2 硬件設(shè)備連接圖
(1)照明燈選型
本系統(tǒng)使用86 型明裝螺口燈座以及LED 低壓燈泡代替智能燈泡。86 型明裝螺口燈座以及LED 低壓燈泡具有安裝便捷、安全度高、適用場(chǎng)景較多等優(yōu)點(diǎn)。燈泡為暖白光3000K,利于襯托家庭氛圍,營(yíng)造溫馨浪漫的氛圍。
(2)照明燈模塊設(shè)置
照明燈通過連接IOT 數(shù)據(jù)采集模塊的DO 接口,IOT 數(shù)據(jù)采集模塊以TCP 協(xié)議實(shí)現(xiàn)對(duì)網(wǎng)關(guān)的連接,網(wǎng)關(guān)通過TCP協(xié)議連接云平臺(tái),再到微信小程序的命令傳輸,實(shí)現(xiàn)對(duì)照明燈的控制。
(1)風(fēng)扇執(zhí)行器選型
風(fēng)扇執(zhí)行器代替房間溫度調(diào)節(jié)的智能設(shè)備。本系統(tǒng)所使用ARX dc 軸流風(fēng)扇操作安靜、性能高、完全耐熱和防潮。此風(fēng)扇提供經(jīng)濟(jì)高效的冷卻和通風(fēng)解決方案,具有陶瓷軸承內(nèi)部構(gòu)件、可確保使用壽命。
(2)風(fēng)扇執(zhí)行器模塊設(shè)置
風(fēng)扇執(zhí)行器通過連接IOT 數(shù)據(jù)采集模塊的DO 接口,IOT 數(shù)據(jù)采集模塊以TCP 協(xié)議實(shí)現(xiàn)對(duì)網(wǎng)關(guān)的連接,網(wǎng)關(guān)通過TCP 協(xié)議連接云平臺(tái),再到手機(jī)小程序的命令傳輸,實(shí)現(xiàn)對(duì)風(fēng)扇執(zhí)行器的控制。
(1)燈條、調(diào)光控制器選型
本系統(tǒng)中燈條模擬室內(nèi)的氛圍燈,調(diào)光控制器用以改變燈條顏色。24VLED 燈條可顯示紅、綠、藍(lán)3 種顏色,接頭為耐高溫軟線,燈珠亮度高、發(fā)熱小、顯色好。DAMO4-LAMP4 路調(diào)光控制器采用MOS 管形式進(jìn)行輸出不同占空比的周期信號(hào)以實(shí)現(xiàn)電壓的調(diào)節(jié),可實(shí)現(xiàn)調(diào)光、調(diào)壓、調(diào)速功能。本系統(tǒng)選擇使用24VLED 燈條以及DAMO4-LAMP4路調(diào)光控制器。
(2)氛圍燈模塊配置
燈條通過連接調(diào)光控制器實(shí)現(xiàn)燈條顏色的變化,調(diào)光控制器以USB 通信連接網(wǎng)關(guān),網(wǎng)關(guān)通過TCP 協(xié)議連接云平臺(tái),再到手機(jī)小程序的命令傳輸,實(shí)現(xiàn)對(duì)燈條顏色的變化。
(1)微波傳感器選型
微波傳感器負(fù)責(zé)探測(cè)是否有人,將數(shù)據(jù)實(shí)時(shí)傳輸給網(wǎng)關(guān)。微波(雷達(dá))感應(yīng)開關(guān)可穿透部分非金屬材質(zhì)感應(yīng),比如玻璃、石膏板、木板、塑料等,低于15cm 的墻體可能會(huì)穿透感應(yīng)。特別適合隱藏安裝,不影響外觀。本系統(tǒng)選擇使用微波(雷達(dá))感應(yīng)開關(guān)。
(2)微波傳感器模塊設(shè)置
微波傳感器通過連接IOT 數(shù)據(jù)采集模塊的DI 接口,IOT 數(shù)據(jù)采集模塊以TCP 協(xié)議實(shí)現(xiàn)對(duì)網(wǎng)關(guān)的連接,網(wǎng)關(guān)通過TCP 協(xié)議連接云平臺(tái),再到微信小程序數(shù)據(jù)的傳輸。
(1)溫濕度傳感器選型
本系統(tǒng)采用DHT11 溫濕度傳感器采集溫濕度數(shù)據(jù)。DHT11 溫濕度傳感器具有封裝靈活、抗干擾能力強(qiáng)、測(cè)量精度高等優(yōu)點(diǎn)。它的信號(hào)傳輸距離可用杜邦線延長(zhǎng)至20 米以上而仍具有高可靠性??紤]到實(shí)用性、可編程和可靠性,本文選擇使用 DHT11 數(shù)字溫濕度傳感器。
(2)溫度傳感器模塊設(shè)置
DHT11 溫度模塊每隔3s 采集一次溫度數(shù)據(jù),并將數(shù)據(jù)以無線通信的方式傳輸給網(wǎng)關(guān)。
(1)可燃?xì)怏w傳感器選型
本系統(tǒng)采用MQ2 氣體傳感器采集空氣中的氣體。MQ2 傳感器能感測(cè)LPG、煙霧、酒精、甲烷、氫氣、丙烷和一氧化碳在空氣中的濃度。其檢測(cè)濃度的范圍從200~10000PPM。
(2)可燃?xì)怏w采集模塊設(shè)置
MQ2 氣體傳感器每隔3s 采集一次空氣中的各種氣體濃度數(shù)據(jù),并將數(shù)據(jù)以無線通信的方式傳輸給網(wǎng)關(guān)。
(1)數(shù)據(jù)采集模塊選型
本系統(tǒng)采用新大陸IOT 網(wǎng)絡(luò)數(shù)據(jù)采集模塊。IOT 網(wǎng)絡(luò)數(shù)據(jù)采集模塊擁有8 路DI 開關(guān)量輸入、8 路DO 開關(guān)量輸出、3 路AI 模擬量輸入、TCP 通信方式,支持9~36V 寬電壓輸入。
(2)數(shù)據(jù)采集模塊設(shè)置
IOT 網(wǎng)絡(luò)數(shù)據(jù)采集模塊通過TCP 通信的方式將采集的數(shù)據(jù)實(shí)時(shí)傳輸?shù)皆破脚_(tái)中。
(1)ZigBee 模塊選型
本系統(tǒng)使用新大陸的ZigBee 智能節(jié)點(diǎn)盒以及ZigBee協(xié)調(diào)器,ZigBee 智能節(jié)點(diǎn)盒具有2 路串口通信接口:1 路RS485、1 路串口USB,5 路開關(guān)量輸入,5 路數(shù)字量輸出。
(2)ZigBee 模塊設(shè)置
對(duì)ZigBee 協(xié)調(diào)器以及ZigBee 路由進(jìn)行組網(wǎng),ZigBee協(xié)調(diào)器通過USB 通信與網(wǎng)關(guān)相連,將ZigBee 路由中采集到的數(shù)據(jù)傳輸至網(wǎng)關(guān)。
(1)網(wǎng)關(guān)選型
NEW-CG網(wǎng)關(guān)擁有4路USB接口,以及1路RS485接口。以TCP 通信的方式進(jìn)行連接。本系統(tǒng)采用NEW-CG 網(wǎng)關(guān)。
(2)網(wǎng)關(guān)模塊設(shè)置
網(wǎng)關(guān)模塊通過TCP 通信或USB 通信的方式,對(duì)數(shù)據(jù)進(jìn)行接收或發(fā)送,再通過TCP 通信協(xié)議,將數(shù)據(jù)發(fā)至云平臺(tái)。
智能客廳通過微信小程序調(diào)用新大陸平臺(tái)的API,通過微信小程序控件的開關(guān)控制物聯(lián)網(wǎng)設(shè)備的開關(guān)。能夠控制單一設(shè)備,也能聯(lián)動(dòng)控制設(shè)備。系統(tǒng)使用Taro 框架開發(fā)微信小程序,實(shí)現(xiàn)微信小程序控制智能客廳的相關(guān)設(shè)備。軟件設(shè)計(jì)結(jié)構(gòu)圖如圖3 所示。
圖3 軟件設(shè)計(jì)結(jié)構(gòu)圖
(1)前端框架
頁面視圖層使用WXML 文件來搭建頁面的基本視圖結(jié)構(gòu),使用WXSS 文件來控制頁面的表現(xiàn)樣式。AppService應(yīng)用邏輯層是MINA 框架的服務(wù)中心,通過微信客戶端啟動(dòng)異步線程單獨(dú)加載運(yùn)行,頁面渲染所需的數(shù)據(jù)、頁面交互處理邏輯都在其中實(shí)現(xiàn)。MINA 框架中的AppService 使用JavaScript 來編寫交互邏輯、網(wǎng)絡(luò)請(qǐng)求、數(shù)據(jù)處理。小程序中的各個(gè)頁面可以通過AppService 實(shí)現(xiàn)數(shù)據(jù)管理、網(wǎng)絡(luò)通信、生命周期管理和頁面路由。如圖4所示。
圖4 微信小程序設(shè)計(jì)框架圖
(2)客戶端UI 設(shè)計(jì)
微信小程序客戶端 UI 主要包括首頁、設(shè)備控制、環(huán)境檢測(cè)和安防系統(tǒng)四個(gè)頁面,首頁包含當(dāng)前環(huán)境溫濕度狀態(tài)、回家和離家兩種場(chǎng)景、設(shè)備控制及自定義場(chǎng)景。設(shè)備控制包含對(duì)主燈、副燈、風(fēng)扇和氛圍燈的控制,打開按鈕,對(duì)應(yīng)的設(shè)備圖標(biāo)會(huì)產(chǎn)生變化,設(shè)備也會(huì)打開。環(huán)境監(jiān)測(cè)能夠?qū)崟r(shí)顯示室內(nèi)的溫度與濕度,提醒用戶控制風(fēng)扇等設(shè)備來改善室內(nèi)溫濕度,保持最佳生活環(huán)境。安防系統(tǒng)具有人體紅外傳感系統(tǒng)與可燃?xì)怏w探測(cè)警示功能,能夠?yàn)橛脩籼峁┌踩U?,人體紅外傳感系統(tǒng)當(dāng)有人員經(jīng)過會(huì)自動(dòng)提醒用戶,“人體”圖標(biāo)變成藍(lán)色;當(dāng)感應(yīng)到可燃?xì)怏w會(huì)自動(dòng)警報(bào),“可燃?xì)怏w”圖標(biāo)變成紅色,用戶以保障生命安全,具體效果如圖5 所示。
圖5 客戶端UI 設(shè)計(jì)
小程序運(yùn)用了云技術(shù),通過獲取新大陸云平臺(tái)的API,接收和發(fā)放數(shù)據(jù),從而進(jìn)行對(duì)設(shè)備的控制。云開發(fā)框架示意圖如圖6 所示。
圖6 云開發(fā)框架示意圖
借助新大陸物聯(lián)網(wǎng)全棧實(shí)訓(xùn)平臺(tái)將智能客廳相關(guān)物聯(lián)網(wǎng)設(shè)備進(jìn)行接線,使用新大陸云平臺(tái)進(jìn)行配置,讓設(shè)備連上網(wǎng)絡(luò),聯(lián)通所有智能客廳的設(shè)備。借助微信小程序進(jìn)行開發(fā),設(shè)計(jì)微信小程序的功能,使其和物聯(lián)網(wǎng)設(shè)備連通,實(shí)現(xiàn)微信小程序控制智能客廳的設(shè)備。
(1)“智能客廳”的兩個(gè)場(chǎng)景模式一鍵控制?;丶夷J剑簾艄饩従徱来未蜷_,風(fēng)扇打開調(diào)到最舒適的溫度。聯(lián)動(dòng)主燈、副燈和氛圍燈三種燈光,以及風(fēng)扇功能模擬回家模式的溫馨氛圍。離家模式:一鍵開啟“離家模式”,家中燈光全部關(guān)閉,以及其他打開的智能設(shè)備一并關(guān)閉,模擬無憂出門,省時(shí)節(jié)能。
(2)查看功能。可查看被控制設(shè)備的“開關(guān)狀態(tài)”,和溫濕度等數(shù)據(jù)的實(shí)時(shí)情況。
(3)遠(yuǎn)程遙控功能。打開小程序,無論多遠(yuǎn)都可控制智能設(shè)備狀態(tài)。
(4)軟啟功能。燈光的漸亮漸暗功能,能讓眼睛免受燈光驟亮驟暗的刺激,同時(shí)還可以延長(zhǎng)氛圍燈燈的使用壽命。
(5)調(diào)光功能。燈光的調(diào)亮調(diào)暗功能,能讓使用者根據(jù)需要調(diào)節(jié)燈光亮度,還能起到節(jié)能環(huán)保的作用。
(6)亮度記憶。燈光亮度具有記憶功能。
(7)全開全關(guān)。輕松實(shí)現(xiàn)燈和電器的一鍵全關(guān)和所有燈的一鍵緊急全開功能。
此外,智能客廳還會(huì)根據(jù)顧客的需求來設(shè)計(jì)電動(dòng)窗簾、背景音響、智能安防等功能,整體具有極強(qiáng)的可塑性。
通過檢測(cè)當(dāng)前云平臺(tái)數(shù)據(jù)的初始化狀態(tài),來檢測(cè)LED燈的初始化狀態(tài),用戶通過微信小程序界面的虛擬按鈕來控制燈泡等的開關(guān)。
先在控制臺(tái)創(chuàng)建名稱如主燈,初始化燈泡的狀態(tài)默認(rèn)為關(guān)的狀態(tài),再將燈的狀態(tài)傳至MQTT 協(xié)議中,MQTT 協(xié)議可使用簡(jiǎn)單的0/1 交互,0 為關(guān)的狀態(tài),1 為開的狀態(tài),再將數(shù)據(jù)傳至云平臺(tái),云平臺(tái)通過TCP 協(xié)議將數(shù)據(jù)下發(fā)給微信小程序,最終由微信小程序界面中的按鈕來控制燈的狀態(tài),當(dāng)用戶將關(guān)的狀態(tài)撥到開的狀態(tài)時(shí),微信小程序會(huì)先判斷是否連接到云平臺(tái),至燈的數(shù)據(jù)上傳后,即刻執(zhí)行打開燈的命令,開燈;關(guān)閉燈泡時(shí),將上傳0 字符,執(zhí)行關(guān)燈命令,滅燈。燈泡的遠(yuǎn)程控制流程如圖7 所示。
圖7 燈泡的遠(yuǎn)程控制流程圖
溫濕度傳感器將采集到的數(shù)據(jù)上傳到云平臺(tái)上,云平臺(tái)實(shí)現(xiàn)與微信小程序的數(shù)據(jù)交換,將數(shù)據(jù)上傳到微信小程序中顯示。在代碼中,用temp 函數(shù)接收從云平臺(tái)上獲取溫度的數(shù)據(jù),當(dāng)打開微信小程序時(shí),微信小程序通過Taro.request 函數(shù)連接云平臺(tái),若連接成功則通過函數(shù)method:GET 查看云平臺(tái)中的數(shù)據(jù)信息,并將溫度的數(shù)據(jù)賦值給temp,若連接失敗,則函數(shù)res 調(diào)用失敗,返回異常信息。默認(rèn)其接收數(shù)據(jù)時(shí)間為3s,當(dāng)時(shí)間達(dá)到默認(rèn)值后,將當(dāng)前在云平臺(tái)數(shù)據(jù)上傳至微信小程序。
本系統(tǒng)目前具有人體檢測(cè)功能,微信小程序通過云平臺(tái)獲取人體傳感器的數(shù)據(jù),控制燈泡的開關(guān)。當(dāng)人體傳感器傳輸?shù)臄?shù)據(jù)為1 時(shí),云平臺(tái)會(huì)對(duì)燈泡發(fā)送1 字符,使燈泡打開。若人體傳感器傳輸?shù)臄?shù)據(jù)為0 時(shí),則云平臺(tái)會(huì)對(duì)燈泡發(fā)送0字符,使燈泡關(guān)閉。人體傳感器聯(lián)動(dòng)燈泡流程如圖8 所示。
圖8 人體傳感器聯(lián)動(dòng)燈泡流程圖
使用微信開發(fā)者工具進(jìn)行測(cè)試,調(diào)用新大陸物聯(lián)網(wǎng)的API,在微信小程序的調(diào)試器上獲取到單個(gè)設(shè)備的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行顯示。如圖9 所示。
圖9 獲取云端數(shù)據(jù)圖
使用微信開發(fā)者工具進(jìn)行測(cè)試,當(dāng)控制設(shè)備時(shí),微信小程序的調(diào)試器上放回是否成功的信息。如圖10 所示。
圖10 操作數(shù)據(jù)返回圖
實(shí)物測(cè)試:當(dāng)小程序中的按鈕打開時(shí),實(shí)物中的設(shè)備也會(huì)對(duì)應(yīng)打開。如圖11 所示。
圖11 控制燈光亮起
在獲取和控制單個(gè)設(shè)備的基礎(chǔ)上,進(jìn)行聯(lián)動(dòng)控制。將主燈、副燈和風(fēng)扇連接到回家、離家控件上。點(diǎn)擊回家可以打開主燈、副燈和風(fēng)扇。點(diǎn)擊離家可以關(guān)閉主燈、副燈和風(fēng)扇。測(cè)試兩個(gè)控件能否使用。
回家模式開啟時(shí),微信小程序調(diào)試器會(huì)顯示來自云平臺(tái)放回的數(shù)據(jù),以便檢查云平臺(tái)是否接受到數(shù)據(jù),檢測(cè)設(shè)備是否開啟。如圖12 所示。
圖12 “回家”命令數(shù)據(jù)返回圖
離家模式開啟時(shí),微信小程序調(diào)試器會(huì)顯示來自云平臺(tái)放回的數(shù)據(jù),以便檢查云平臺(tái)是否接受到數(shù)據(jù),檢測(cè)設(shè)備是否全部關(guān)閉。如圖13 所示。
圖13 離家命令數(shù)據(jù)返回圖
實(shí)物測(cè)試:當(dāng)點(diǎn)擊“回家”場(chǎng)景時(shí),圖標(biāo)會(huì)進(jìn)行變化,現(xiàn)實(shí)中的設(shè)備也會(huì)相應(yīng)的進(jìn)行打開。如圖14 所示。
圖14 聯(lián)動(dòng)控制設(shè)備
本系統(tǒng)以新大陸教育的物聯(lián)網(wǎng)全棧智能應(yīng)用實(shí)訓(xùn)系統(tǒng)實(shí)現(xiàn)智能客廳,通過新大陸云物聯(lián)網(wǎng)平臺(tái)和微信小程序?qū)崿F(xiàn)了智能家居設(shè)備的遠(yuǎn)程控制,解決了用戶難以集中管理智能家居設(shè)備的問題,使用戶與家居設(shè)備能夠更便捷地交互。針對(duì)傳統(tǒng)環(huán)境監(jiān)測(cè)系統(tǒng)功耗高、維護(hù)成本高、不能實(shí)時(shí)監(jiān)測(cè)的弊端,以及App 更新迭代速度快、版本多等用戶痛點(diǎn)問題,設(shè)計(jì)通過微信小程序?qū)蛷d家居設(shè)備進(jìn)行遠(yuǎn)程控制,后續(xù)可增加智能監(jiān)控模塊、門禁模塊等,增加智能客廳系統(tǒng)的應(yīng)用場(chǎng)景,提高系統(tǒng)的適用性。