韓海曉,鐘志明,李蔚瑤,李嘉穎
(廣東科學技術職業學院 物聯網工程學院,廣東廣州,510640)
隨著物聯網技術應用的不斷深入,以及移動互聯網的普及和提速,智能家居行業進入快速發展期。智能客廳是全屋智能家居設計的核心部分。本文設計了一種基于微信小程序控制的智能客廳系統,主要包括設備端、物聯網云平臺和微信小程序三個部分,運用新大陸教育的物聯網全棧智能應用實訓系統模擬智能客廳,通過微信小程序控制設備端。設備端通過IOT 數據采集模塊和ZigBee 協調器,對智能家居設備進行數據采集,并將采集到的數據通過網關上傳到新大陸云平臺,最后通過微信小程序進行數據顯示和遠程控制。系統實現了環境數據的監測、家居的遠程控制、安防的預警與設置以及場景的一鍵開啟,滿足了人們對智能客廳的基本需求。
系統主要包括設備端、物聯網云平臺和微信小程序三個部分。通過IOT 數據采集模塊和ZigBee 協調器對智能客廳家居設備進行數據采集,以微信小程序為用戶交互終端,結合新大陸云平臺,指令數據通過調用新大陸API,實現智能客廳家居的遠程控制。智能客廳系統的整體設計方案如圖1 所示。

圖1 智能客廳系統整體設計結構圖
系統硬件是以IOT 數據采集模塊和ZigBee 協調器為主的環境采集系統。包括照明燈模塊、風扇執行器模塊、氛圍燈模塊、微波傳感器模塊、溫濕度采集模塊、可燃氣體采集模塊、數據采集模塊、ZigBee 模塊和網關模塊,硬件設備連接如圖2 所示。

圖2 硬件設備連接圖
(1)照明燈選型
本系統使用86 型明裝螺口燈座以及LED 低壓燈泡代替智能燈泡。86 型明裝螺口燈座以及LED 低壓燈泡具有安裝便捷、安全度高、適用場景較多等優點。燈泡為暖白光3000K,利于襯托家庭氛圍,營造溫馨浪漫的氛圍。
(2)照明燈模塊設置
照明燈通過連接IOT 數據采集模塊的DO 接口,IOT 數據采集模塊以TCP 協議實現對網關的連接,網關通過TCP協議連接云平臺,再到微信小程序的命令傳輸,實現對照明燈的控制。
(1)風扇執行器選型
風扇執行器代替房間溫度調節的智能設備。本系統所使用ARX dc 軸流風扇操作安靜、性能高、完全耐熱和防潮。此風扇提供經濟高效的冷卻和通風解決方案,具有陶瓷軸承內部構件、可確保使用壽命。
(2)風扇執行器模塊設置
風扇執行器通過連接IOT 數據采集模塊的DO 接口,IOT 數據采集模塊以TCP 協議實現對網關的連接,網關通過TCP 協議連接云平臺,再到手機小程序的命令傳輸,實現對風扇執行器的控制。
(1)燈條、調光控制器選型
本系統中燈條模擬室內的氛圍燈,調光控制器用以改變燈條顏色。24VLED 燈條可顯示紅、綠、藍3 種顏色,接頭為耐高溫軟線,燈珠亮度高、發熱小、顯色好。DAMO4-LAMP4 路調光控制器采用MOS 管形式進行輸出不同占空比的周期信號以實現電壓的調節,可實現調光、調壓、調速功能。本系統選擇使用24VLED 燈條以及DAMO4-LAMP4路調光控制器。
(2)氛圍燈模塊配置
燈條通過連接調光控制器實現燈條顏色的變化,調光控制器以USB 通信連接網關,網關通過TCP 協議連接云平臺,再到手機小程序的命令傳輸,實現對燈條顏色的變化。
(1)微波傳感器選型
微波傳感器負責探測是否有人,將數據實時傳輸給網關。微波(雷達)感應開關可穿透部分非金屬材質感應,比如玻璃、石膏板、木板、塑料等,低于15cm 的墻體可能會穿透感應。特別適合隱藏安裝,不影響外觀。本系統選擇使用微波(雷達)感應開關。
(2)微波傳感器模塊設置
微波傳感器通過連接IOT 數據采集模塊的DI 接口,IOT 數據采集模塊以TCP 協議實現對網關的連接,網關通過TCP 協議連接云平臺,再到微信小程序數據的傳輸。
(1)溫濕度傳感器選型
本系統采用DHT11 溫濕度傳感器采集溫濕度數據。DHT11 溫濕度傳感器具有封裝靈活、抗干擾能力強、測量精度高等優點。它的信號傳輸距離可用杜邦線延長至20 米以上而仍具有高可靠性。考慮到實用性、可編程和可靠性,本文選擇使用 DHT11 數字溫濕度傳感器。
(2)溫度傳感器模塊設置
DHT11 溫度模塊每隔3s 采集一次溫度數據,并將數據以無線通信的方式傳輸給網關。
(1)可燃氣體傳感器選型
本系統采用MQ2 氣體傳感器采集空氣中的氣體。MQ2 傳感器能感測LPG、煙霧、酒精、甲烷、氫氣、丙烷和一氧化碳在空氣中的濃度。其檢測濃度的范圍從200~10000PPM。
(2)可燃氣體采集模塊設置
MQ2 氣體傳感器每隔3s 采集一次空氣中的各種氣體濃度數據,并將數據以無線通信的方式傳輸給網關。
(1)數據采集模塊選型
本系統采用新大陸IOT 網絡數據采集模塊。IOT 網絡數據采集模塊擁有8 路DI 開關量輸入、8 路DO 開關量輸出、3 路AI 模擬量輸入、TCP 通信方式,支持9~36V 寬電壓輸入。
(2)數據采集模塊設置
IOT 網絡數據采集模塊通過TCP 通信的方式將采集的數據實時傳輸到云平臺中。
(1)ZigBee 模塊選型
本系統使用新大陸的ZigBee 智能節點盒以及ZigBee協調器,ZigBee 智能節點盒具有2 路串口通信接口:1 路RS485、1 路串口USB,5 路開關量輸入,5 路數字量輸出。
(2)ZigBee 模塊設置
對ZigBee 協調器以及ZigBee 路由進行組網,ZigBee協調器通過USB 通信與網關相連,將ZigBee 路由中采集到的數據傳輸至網關。
(1)網關選型
NEW-CG網關擁有4路USB接口,以及1路RS485接口。以TCP 通信的方式進行連接。本系統采用NEW-CG 網關。
(2)網關模塊設置
網關模塊通過TCP 通信或USB 通信的方式,對數據進行接收或發送,再通過TCP 通信協議,將數據發至云平臺。
智能客廳通過微信小程序調用新大陸平臺的API,通過微信小程序控件的開關控制物聯網設備的開關。能夠控制單一設備,也能聯動控制設備。系統使用Taro 框架開發微信小程序,實現微信小程序控制智能客廳的相關設備。軟件設計結構圖如圖3 所示。

圖3 軟件設計結構圖
(1)前端框架
頁面視圖層使用WXML 文件來搭建頁面的基本視圖結構,使用WXSS 文件來控制頁面的表現樣式。AppService應用邏輯層是MINA 框架的服務中心,通過微信客戶端啟動異步線程單獨加載運行,頁面渲染所需的數據、頁面交互處理邏輯都在其中實現。MINA 框架中的AppService 使用JavaScript 來編寫交互邏輯、網絡請求、數據處理。小程序中的各個頁面可以通過AppService 實現數據管理、網絡通信、生命周期管理和頁面路由。如圖4所示。

圖4 微信小程序設計框架圖
(2)客戶端UI 設計
微信小程序客戶端 UI 主要包括首頁、設備控制、環境檢測和安防系統四個頁面,首頁包含當前環境溫濕度狀態、回家和離家兩種場景、設備控制及自定義場景。設備控制包含對主燈、副燈、風扇和氛圍燈的控制,打開按鈕,對應的設備圖標會產生變化,設備也會打開。環境監測能夠實時顯示室內的溫度與濕度,提醒用戶控制風扇等設備來改善室內溫濕度,保持最佳生活環境。安防系統具有人體紅外傳感系統與可燃氣體探測警示功能,能夠為用戶提供安全保障,人體紅外傳感系統當有人員經過會自動提醒用戶,“人體”圖標變成藍色;當感應到可燃氣體會自動警報,“可燃氣體”圖標變成紅色,用戶以保障生命安全,具體效果如圖5 所示。

圖5 客戶端UI 設計
小程序運用了云技術,通過獲取新大陸云平臺的API,接收和發放數據,從而進行對設備的控制。云開發框架示意圖如圖6 所示。

圖6 云開發框架示意圖
借助新大陸物聯網全棧實訓平臺將智能客廳相關物聯網設備進行接線,使用新大陸云平臺進行配置,讓設備連上網絡,聯通所有智能客廳的設備。借助微信小程序進行開發,設計微信小程序的功能,使其和物聯網設備連通,實現微信小程序控制智能客廳的設備。
(1)“智能客廳”的兩個場景模式一鍵控制。回家模式:燈光緩緩依次打開,風扇打開調到最舒適的溫度。聯動主燈、副燈和氛圍燈三種燈光,以及風扇功能模擬回家模式的溫馨氛圍。離家模式:一鍵開啟“離家模式”,家中燈光全部關閉,以及其他打開的智能設備一并關閉,模擬無憂出門,省時節能。
(2)查看功能。可查看被控制設備的“開關狀態”,和溫濕度等數據的實時情況。
(3)遠程遙控功能。打開小程序,無論多遠都可控制智能設備狀態。
(4)軟啟功能。燈光的漸亮漸暗功能,能讓眼睛免受燈光驟亮驟暗的刺激,同時還可以延長氛圍燈燈的使用壽命。
(5)調光功能。燈光的調亮調暗功能,能讓使用者根據需要調節燈光亮度,還能起到節能環保的作用。
(6)亮度記憶。燈光亮度具有記憶功能。
(7)全開全關。輕松實現燈和電器的一鍵全關和所有燈的一鍵緊急全開功能。
此外,智能客廳還會根據顧客的需求來設計電動窗簾、背景音響、智能安防等功能,整體具有極強的可塑性。
通過檢測當前云平臺數據的初始化狀態,來檢測LED燈的初始化狀態,用戶通過微信小程序界面的虛擬按鈕來控制燈泡等的開關。
先在控制臺創建名稱如主燈,初始化燈泡的狀態默認為關的狀態,再將燈的狀態傳至MQTT 協議中,MQTT 協議可使用簡單的0/1 交互,0 為關的狀態,1 為開的狀態,再將數據傳至云平臺,云平臺通過TCP 協議將數據下發給微信小程序,最終由微信小程序界面中的按鈕來控制燈的狀態,當用戶將關的狀態撥到開的狀態時,微信小程序會先判斷是否連接到云平臺,至燈的數據上傳后,即刻執行打開燈的命令,開燈;關閉燈泡時,將上傳0 字符,執行關燈命令,滅燈。燈泡的遠程控制流程如圖7 所示。

圖7 燈泡的遠程控制流程圖
溫濕度傳感器將采集到的數據上傳到云平臺上,云平臺實現與微信小程序的數據交換,將數據上傳到微信小程序中顯示。在代碼中,用temp 函數接收從云平臺上獲取溫度的數據,當打開微信小程序時,微信小程序通過Taro.request 函數連接云平臺,若連接成功則通過函數method:GET 查看云平臺中的數據信息,并將溫度的數據賦值給temp,若連接失敗,則函數res 調用失敗,返回異常信息。默認其接收數據時間為3s,當時間達到默認值后,將當前在云平臺數據上傳至微信小程序。
本系統目前具有人體檢測功能,微信小程序通過云平臺獲取人體傳感器的數據,控制燈泡的開關。當人體傳感器傳輸的數據為1 時,云平臺會對燈泡發送1 字符,使燈泡打開。若人體傳感器傳輸的數據為0 時,則云平臺會對燈泡發送0字符,使燈泡關閉。人體傳感器聯動燈泡流程如圖8 所示。

圖8 人體傳感器聯動燈泡流程圖
使用微信開發者工具進行測試,調用新大陸物聯網的API,在微信小程序的調試器上獲取到單個設備的數據,對數據進行顯示。如圖9 所示。

圖9 獲取云端數據圖
使用微信開發者工具進行測試,當控制設備時,微信小程序的調試器上放回是否成功的信息。如圖10 所示。

圖10 操作數據返回圖
實物測試:當小程序中的按鈕打開時,實物中的設備也會對應打開。如圖11 所示。

圖11 控制燈光亮起
在獲取和控制單個設備的基礎上,進行聯動控制。將主燈、副燈和風扇連接到回家、離家控件上。點擊回家可以打開主燈、副燈和風扇。點擊離家可以關閉主燈、副燈和風扇。測試兩個控件能否使用。
回家模式開啟時,微信小程序調試器會顯示來自云平臺放回的數據,以便檢查云平臺是否接受到數據,檢測設備是否開啟。如圖12 所示。

圖12 “回家”命令數據返回圖
離家模式開啟時,微信小程序調試器會顯示來自云平臺放回的數據,以便檢查云平臺是否接受到數據,檢測設備是否全部關閉。如圖13 所示。

圖13 離家命令數據返回圖
實物測試:當點擊“回家”場景時,圖標會進行變化,現實中的設備也會相應的進行打開。如圖14 所示。

圖14 聯動控制設備
本系統以新大陸教育的物聯網全棧智能應用實訓系統實現智能客廳,通過新大陸云物聯網平臺和微信小程序實現了智能家居設備的遠程控制,解決了用戶難以集中管理智能家居設備的問題,使用戶與家居設備能夠更便捷地交互。針對傳統環境監測系統功耗高、維護成本高、不能實時監測的弊端,以及App 更新迭代速度快、版本多等用戶痛點問題,設計通過微信小程序對客廳家居設備進行遠程控制,后續可增加智能監控模塊、門禁模塊等,增加智能客廳系統的應用場景,提高系統的適用性。