【關(guān)鍵詞】微信小程序;智能家居;管理系統(tǒng)
隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,智能家居行業(yè)迅速發(fā)展,目前市場上已經(jīng)出現(xiàn)了許多基于物聯(lián)網(wǎng)技術(shù)的智能家居產(chǎn)品。智能家居管理系統(tǒng)是以物聯(lián)網(wǎng)技術(shù)為基礎(chǔ),實(shí)現(xiàn)對家庭中各種電器設(shè)備的智能化控制,具有較高的實(shí)用性、易用性和穩(wěn)定性。目前市場上已經(jīng)出現(xiàn)了許多基于微信小程序的智能家居產(chǎn)品,但這些產(chǎn)品都具有一定的局限性。本文為優(yōu)化當(dāng)前市場上已有的智能家居系統(tǒng),設(shè)計(jì)了一種基于微信小程序的智能家居管理系統(tǒng)。該系統(tǒng)借助微信小程序,實(shí)現(xiàn)對家庭中各類電器設(shè)備的實(shí)時(shí)監(jiān)測、遠(yuǎn)程操控,以及信息管理等功能,不僅可以使用戶擺脫各種智能家居產(chǎn)品對網(wǎng)絡(luò)環(huán)境的依賴,而且能提高用戶生活質(zhì)量,降低用戶使用成本,具有較大的社會意義和實(shí)用價(jià)值。
智能家居管理系統(tǒng)是一個(gè)面向家庭用戶的智能控制系統(tǒng),其功能主要包括家庭電器設(shè)備的管理、遠(yuǎn)程控制和信息管理。系統(tǒng)設(shè)計(jì)過程主要遵循了模塊化、可擴(kuò)展、高可靠度和高可用性等原則[1]。
根據(jù)系統(tǒng)的功能需求,在總體框架設(shè)計(jì)方面,系統(tǒng)采用了兩層架構(gòu),包含用戶界面層和業(yè)務(wù)邏輯層。用戶界面部分將手機(jī)微信小程序安裝于用戶移動終端,實(shí)現(xiàn)人機(jī)互動。業(yè)務(wù)邏輯層提供與數(shù)據(jù)庫交互的接口,通過數(shù)據(jù)庫訪問層可以直接訪問后臺數(shù)據(jù)庫,部署于云服務(wù)器。
基于微信小程序的智能家居管理系統(tǒng)應(yīng)用TCP/IP協(xié)議,通過HttpPost方式,與自主開發(fā)云服務(wù)實(shí)現(xiàn)數(shù)據(jù)交互[2]。
在這個(gè)系統(tǒng)中,自主開發(fā)的云服務(wù)接口發(fā)揮著至關(guān)重要的作用。
GetDeviceValue函數(shù)接口是獲取智能家居設(shè)備狀態(tài)信息的核心,其設(shè)計(jì)充分考慮了智能家居虛擬仿真系統(tǒng)以及實(shí)際智能家居實(shí)訓(xùn)系統(tǒng)的需求。通過該接口,系統(tǒng)可以精確地獲取傳感器所采集的數(shù)據(jù),包括溫度、濕度、光照強(qiáng)度等環(huán)境參數(shù),以及控制設(shè)備的當(dāng)前狀態(tài),如開關(guān)狀態(tài)、亮度等級等。這些信息為系統(tǒng)的智能控制和決策提供了重要依據(jù)。
SetDeviceValue函數(shù)接口則是實(shí)現(xiàn)智能家居設(shè)備精確操控的關(guān)鍵,通過該接口,可以向云服務(wù)發(fā)送控制指令;云服務(wù)再向智能家居虛擬仿真系統(tǒng)發(fā)送控制指令,實(shí)現(xiàn)對各類控制設(shè)備如燈、風(fēng)扇、窗簾、門等的精確操控[3],例如根據(jù)環(huán)境參數(shù)的實(shí)時(shí)變化,自動調(diào)節(jié)燈光亮度、風(fēng)扇轉(zhuǎn)速等,為用戶提供更加舒適、節(jié)能的居住環(huán)境。
應(yīng)用微信小程序設(shè)計(jì)的智能家居管理系統(tǒng),確保了數(shù)據(jù)的準(zhǔn)確傳輸和設(shè)備的有效控制,為系統(tǒng)的穩(wěn)定運(yùn)行提供了有力保障。微信小程序設(shè)計(jì)的移動應(yīng)用具有廣泛的應(yīng)用前景和重要的實(shí)踐價(jià)值,通過精準(zhǔn)獲取設(shè)備狀態(tài)信息和精確控制設(shè)備操作,它為用戶提供了更加便捷、舒適、節(jié)能的智能家居體驗(yàn),如圖1所示。
微信小程序的設(shè)計(jì)目的是方便用戶使用,小程序不需要下載安裝,打開微信即可使用。與APP相比,微信小程序具有高度的靈活性,用戶通過搜索名稱或關(guān)鍵詞即可快速找到自己所需的服務(wù)。此外,微信小程序還可以與微信進(jìn)行無縫連接,用戶掃描二維碼即可連接到小程序[4]。
本系統(tǒng)在微信上進(jìn)行開發(fā),有三個(gè)方面原因:一是開發(fā)成本較低;二是可以利用微信客戶端直接訪問服務(wù)端,無需下載APP;三是微信用戶基數(shù)大,用戶可以憑借掃一掃的方式接入服務(wù)端。針對上述考慮,系統(tǒng)采用了以小程序?yàn)檩d體的方案。本系統(tǒng)以中職物聯(lián)網(wǎng)專業(yè)“智能家居管理系統(tǒng)”實(shí)訓(xùn)項(xiàng)目為例,設(shè)計(jì)一款微信小程序,供中職物聯(lián)網(wǎng)專業(yè)學(xué)生參考學(xué)習(xí)。
1.項(xiàng)目需求
某用戶擁有一套別墅,為提升居住品質(zhì),計(jì)劃進(jìn)行智能家居改造,為實(shí)現(xiàn)家居管理的便捷性與高效性,將采用微信小程序開發(fā)一款移動應(yīng)用。此應(yīng)用將為用戶提供查詢家居環(huán)境數(shù)據(jù)、接收消防及安防警報(bào),并實(shí)現(xiàn)對家居燈光、窗簾、風(fēng)扇、門鎖等設(shè)備的遠(yuǎn)程控制。
教學(xué)環(huán)節(jié)采用“智能家居虛擬仿真系統(tǒng)”來模擬搭建家居環(huán)境,以便更直觀地展示智能家居系統(tǒng)的運(yùn)作原理及操作流程。以下是具體的空間布局及家居設(shè)備配置情況,包括模擬輸入(Analog Input, AD)傳感器、數(shù)字輸入(Digital Input, DI)傳感器和數(shù)字輸出(Digital Output, DO)控制設(shè)備配置。如表1所示。
通過以上配置,用戶能夠體驗(yàn)到智能家居帶來的便捷與舒適;同時(shí)在教學(xué)過程中,幫助學(xué)生深入了解智能家居系統(tǒng)的構(gòu)建與應(yīng)用?!爸悄芗揖犹摂M仿真系統(tǒng)”配置如圖2所示。
2.界面原圖設(shè)計(jì)
根據(jù)項(xiàng)目任務(wù)的具體要求,本研究應(yīng)用專業(yè)的UI原圖設(shè)計(jì)工具(如Figma、Sketch等)對小程序的界面進(jìn)行精心設(shè)計(jì),在設(shè)計(jì)過程中,遵循簡潔明了、易于操作的原則,確保用戶能夠輕松理解和使用界面;考慮到家居環(huán)境的多樣性,根據(jù)房間的不同類型對界面進(jìn)行劃分。每個(gè)房間板塊將展示與該房間相關(guān)的傳感器數(shù)據(jù)、圖標(biāo)以及名稱等信息,以便用戶能夠直觀地了解各個(gè)房間的狀態(tài)和情況。通過這種設(shè)計(jì)方式,本研究希望為用戶提供一款功能齊全、操作便捷的小程序界面,以提升用戶的使用體驗(yàn)和滿意度。
3.自定義件設(shè)計(jì)
微信小程序允許開發(fā)者自定義組件,以便在多個(gè)頁面或組件中復(fù)用。自定義組件可以提高代碼的可維護(hù)性和復(fù)用性,使開發(fā)過程更加高效。由于在“智能家居管理系統(tǒng)”中,傳感器和控制設(shè)備高頻重復(fù)出現(xiàn),本研究設(shè)計(jì)了一個(gè)模塊設(shè)備自定義組件iotDevice,顯示傳感器相關(guān)數(shù)據(jù)、圖標(biāo),實(shí)現(xiàn)控制設(shè)備的開關(guān)控制;同時(shí),根據(jù)項(xiàng)目需求創(chuàng)建了“模塊設(shè)備”自定義組件,使開發(fā)者可以根據(jù)需要擴(kuò)展和完善自定義組件的功能和樣式。
4. JavaScript腳本設(shè)計(jì)
為了更準(zhǔn)確地描述傳感器和控制設(shè)備,本研究在自定義的IotDevice組件中,詳細(xì)定義了傳感器的五個(gè)核心屬性,包括:用于標(biāo)識傳感器名稱的“name”屬性、用于指定云端變量名稱的“cloudName”屬性、用于表明傳感器類型的“type”屬性、用于可視化展示傳感器圖標(biāo)的“icon”屬性,以及用于實(shí)時(shí)顯示傳感器設(shè)備數(shù)值的“value”屬性。這些屬性的精確定義,有助于提升組件的易用性和功能性。
自定義組除了包含傳感器外,還涵蓋了燈光、窗簾、門鎖、風(fēng)扇等控制設(shè)備。為確保這些設(shè)備的正常運(yùn)行與精確控制,需對其開、關(guān)功能進(jìn)行明確定義,并設(shè)定相應(yīng)的切換事件。具體而言,當(dāng)控制設(shè)備的value被設(shè)定為1時(shí),設(shè)備將處于開啟狀態(tài);而當(dāng)其值被設(shè)定為0時(shí),設(shè)備則切換至關(guān)閉狀態(tài)。通過這樣的設(shè)定,用戶能夠?qū)崿F(xiàn)對這些控制設(shè)備的精準(zhǔn)操控,以滿足個(gè)性化需求。
5. iotDevice組件界面設(shè)計(jì)
根據(jù)智能家居設(shè)備的不同type,自定義組件iotDevice根據(jù)不同類型顯示不同方式與風(fēng)格樣式。具體而言,研究對于AD傳感器,采用了明確的顯示布局,包括name的明確標(biāo)注、icon的直觀展示以及value的精確顯示[5];對于DI傳感器,則突出顯示了標(biāo)題和圖標(biāo),并根據(jù)其值的狀態(tài),分別采用紅色圖標(biāo)(value為1)和灰色圖標(biāo)(value為0)表示;對于DO控制設(shè)備,設(shè)計(jì)了包含標(biāo)題、圖標(biāo)以及滑動開關(guān)的顯示界面,以綠色圖標(biāo)表示開啟狀態(tài),灰色圖標(biāo)表示關(guān)閉狀態(tài)。通過上述設(shè)計(jì),研究為用戶提供了更為直觀、易用的智能家居設(shè)備信息顯示與控制體驗(yàn)。界面效果如圖 3所示。
AD、DI以及DO傳感控制設(shè)備組件均采取卡片式布局設(shè)計(jì)。在界面中,研究使用i標(biāo)記清晰地展示傳感控制設(shè)備的圖標(biāo),并利用類{{icon}}的樣式特性來區(qū)分不同種類的圖標(biāo),在card-context中僅顯示AD傳感器的數(shù)值,而DI傳感器和DO控制設(shè)備不展示具體的數(shù)值。為了更直觀地展示DI傳感器和DO控制設(shè)備的狀態(tài),研究在wx:if條件判斷中,根據(jù)這些設(shè)備的不同值來動態(tài)地顯示不同顏色的圖標(biāo);對于DO控制設(shè)備,需要綁定onChanges事件,以便實(shí)現(xiàn)對其開、關(guān)狀態(tài)的有效控制。上述設(shè)計(jì)旨在提升用戶體驗(yàn),確保用戶能夠方便、準(zhǔn)確地控制和管理傳感控制設(shè)備。
6.功能設(shè)計(jì)
基于“智能家居管理系統(tǒng)”原始界面,本系統(tǒng)從用戶在“智能家居虛擬仿真系統(tǒng)”構(gòu)建的家居環(huán)境中,加載出客廳、廚房、書房、臥室、花園、衛(wèi)生間等各個(gè)空間,隨后在這些空間內(nèi)加載并集成相應(yīng)的傳感器和控制設(shè)備。實(shí)現(xiàn)上述功能需在JavaScript文件中定義房間數(shù)組以及模塊設(shè)備數(shù)組,通過wx:request方法從虛擬仿真系統(tǒng)中獲取房間數(shù)據(jù)以及模塊設(shè)備數(shù)據(jù);接著,在wxml文件中運(yùn)用wx:for指令進(jìn)行數(shù)據(jù)的遍歷渲染:首先渲染出各個(gè)空間,然后在每個(gè)空間內(nèi)部再次運(yùn)用wx:for指令渲染出對應(yīng)的模塊設(shè)備。
通過上述方式,本系統(tǒng)能夠準(zhǔn)確地加載并展示用戶在虛擬仿真系統(tǒng)中搭建的智能家居環(huán)境,實(shí)現(xiàn)家居空間的智能化管理與控制[5]。
7.實(shí)現(xiàn)效果
研究通過應(yīng)用自定義的iotDevice組件,從虛擬仿真系統(tǒng)加載房間、傳感器、控制設(shè)備,自動生成房間面板,實(shí)現(xiàn)了溫度、光照、煙霧等傳感器數(shù)據(jù)的顯示[6],以及燈、門鎖、窗簾、風(fēng)扇等控制設(shè)備的遠(yuǎn)程控制,如圖4所示。
在當(dāng)今時(shí)代,科技飛速發(fā)展,智能家居已經(jīng)逐漸成為現(xiàn)代生活的一部分,為人們帶來了前所未有的便利。本研究探討了一種創(chuàng)新的實(shí)現(xiàn)方式——基于微信小程序的智能家居管理系統(tǒng)。通過這一平臺,用戶能夠更加便捷、高效地管理和控制家庭中的智能設(shè)備。通過整合現(xiàn)代科技手段,基于微信小程序的智能家居管理系統(tǒng)打造了一個(gè)高效、便捷、安全的智能家居環(huán)境,讓科技真正服務(wù)于生活,提升人們的生活質(zhì)量。同時(shí),這種開發(fā)模式能給物聯(lián)網(wǎng)專業(yè)的微信小程序初學(xué)者提供有效參考。