吳承鑫,余澤涵,何 芳
(廣東工程職業(yè)技術(shù)學(xué)院,廣東 清遠(yuǎn) 510520)
隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,其深入智能家居是必然趨勢,在技術(shù)的不斷迭代下物聯(lián)網(wǎng)技術(shù)會使得家居的安全性、便攜性及舒適性得到極大的提高[1-2]。智能家居系統(tǒng)的設(shè)計(jì)方案中將智能燈光、家電、安防、環(huán)境監(jiān)測、數(shù)據(jù)報(bào)警等進(jìn)行了整合[3-4]。本研究主要包括設(shè)備端、物聯(lián)網(wǎng)云平臺和手機(jī)終端三個(gè)部分。設(shè)備端通過樹莓派GPIO 接口,對智能家居設(shè)備進(jìn)行數(shù)據(jù)采集,并將采集到的數(shù)據(jù)通過網(wǎng)絡(luò)上傳到阿里云物聯(lián)網(wǎng)平臺,最后在手機(jī)端的小程序[5,6]進(jìn)行數(shù)據(jù)顯示和遠(yuǎn)程控制。研究實(shí)現(xiàn)了環(huán)境數(shù)據(jù)的監(jiān)測、家居的遠(yuǎn)程控制、安防的預(yù)警與設(shè)置以及場景的一鍵開啟,并且在客戶端的首頁實(shí)現(xiàn)了天氣查看功能,方便用戶根據(jù)當(dāng)前的天氣以及體感溫度選擇穿著,滿足了人們對全屋智能家居的基本需求。
系統(tǒng)主要包括設(shè)備端、云平臺和手機(jī)終端三個(gè)部分。系統(tǒng)以樹莓派為主控芯片,以微信小程序?yàn)橛脩艚换ソK端,結(jié)合阿里云物聯(lián)網(wǎng)平臺,指令數(shù)據(jù)通過API 調(diào)用下發(fā)至設(shè)備端,實(shí)現(xiàn)全屋智能家居的遠(yuǎn)程控制。智能家居系統(tǒng)的整體設(shè)計(jì)方案如圖1所示。
圖1 總體設(shè)計(jì)方案框圖
通過DHT11 數(shù)字溫濕度傳感器[7,8]采集環(huán)境溫濕度,并將采集的數(shù)據(jù)由樹莓派發(fā)送到阿里云物聯(lián)網(wǎng)平臺。
火焰采集模塊利用火焰?zhèn)鞲衅鞅O(jiān)測家庭中的火災(zāi)情況,使用特制的紅外線接收管來監(jiān)測火焰,如出現(xiàn)火災(zāi),采集系統(tǒng)會觸發(fā)報(bào)警模塊,并實(shí)時(shí)推送到用戶客戶端,提醒用戶,避免用戶不在家的情況下出現(xiàn)重大損失。
通過L298N 電機(jī)驅(qū)動模塊驅(qū)動直流減速電機(jī)的運(yùn)轉(zhuǎn),搭配齒輪組來達(dá)到自動開關(guān)門的效果,采集系統(tǒng)會實(shí)時(shí)采集設(shè)備的運(yùn)行狀態(tài),在客戶端上也能實(shí)現(xiàn)查看電動門的開關(guān)狀態(tài),并進(jìn)行遠(yuǎn)程控制。
照明模塊使用5 V 窄燈帶模擬現(xiàn)實(shí)智能家居的燈光效果。通過8 路繼電器來達(dá)到控制不同房間燈光的效果,搭配光照度模塊與客戶端的閾值設(shè)置功能實(shí)現(xiàn)遠(yuǎn)程控制家居燈光。
使用有源蜂鳴器為警報(bào)器,主要是配合溫濕度模塊、火焰檢測模塊、光照模塊等功能使用,通過小程序安防頁面的閾值設(shè)置,當(dāng)監(jiān)測的某項(xiàng)數(shù)據(jù)超過閾值時(shí),發(fā)出警報(bào)。
系統(tǒng)硬件是以火焰采集、光照度采集和溫濕度采集為主的環(huán)境采集系統(tǒng)。使用八路繼電器控制燈帶的照明系統(tǒng),并使用L298N 驅(qū)動模塊搭配齒輪組的電動門系統(tǒng)。具體原理如圖2所示。
圖2 硬件原理
微信小程序客戶端UI 主要包括主頁、安全以及場景三個(gè)頁面,主頁包含天氣模塊、數(shù)據(jù)監(jiān)測模塊、負(fù)載控制模塊。安全頁面主要包含預(yù)警及預(yù)警設(shè)置。場景頁面包含回家模式與離家模式。具體效果如圖3所示。
圖3 客戶端功能UI 設(shè)計(jì)
2.2.1 主頁功能介紹
主頁主要分為天氣模塊和設(shè)備監(jiān)測、控制模塊。
天氣模塊主要由兩部分組成:天氣部分和時(shí)間部分。天氣模塊主要是通過定位獲取當(dāng)前地區(qū)代碼,然后對和風(fēng)天氣的API 接口進(jìn)行請求,通過請求Web API 平臺獲取JSON 數(shù)據(jù),并實(shí)時(shí)顯示在小程序主頁。日期與時(shí)間模塊通過獲取并解析當(dāng)前時(shí)間戳獲得當(dāng)前的日期與時(shí)間。
設(shè)備監(jiān)測、控制模塊的核心是訂閱阿里云物聯(lián)網(wǎng)平臺[9,10]的主題,使用主題的數(shù)據(jù)流轉(zhuǎn)實(shí)現(xiàn)對數(shù)據(jù)的采集以及對命令的下發(fā)。在正常訪問服務(wù)器后,本文對服務(wù)器的數(shù)據(jù)進(jìn)行接收,并同步到頁面中,使客戶端能夠?qū)崟r(shí)監(jiān)控當(dāng)前環(huán)境的數(shù)據(jù)。測試數(shù)據(jù)如圖4所示。
圖4 室內(nèi)外溫濕度數(shù)據(jù)對比
負(fù)載的控制還需要進(jìn)行數(shù)據(jù)下發(fā)的函數(shù)編寫。不同的負(fù)載控制主要在于其發(fā)送的標(biāo)識符不同,根據(jù)標(biāo)識符的不同來判斷是開啟還是關(guān)閉。效果如圖5所示。
圖5 燈光控制實(shí)現(xiàn)效果
2.2.2 安全頁面功能介紹
安全頁面分為三個(gè)模塊:預(yù)警信息顯示、預(yù)警模式切換以及預(yù)警閾值設(shè)置。
(1)預(yù)警信息顯示:以溫度為例,根據(jù)編寫的閾值狀態(tài)函數(shù),會返回一個(gè)標(biāo)識數(shù)組,對應(yīng)著各個(gè)狀態(tài),如溫度過高即標(biāo)識數(shù)組的第一位為1,反之則為0。通過標(biāo)識位的對比來確認(rèn)當(dāng)前預(yù)警信息的狀態(tài)。
(2)預(yù)警模式切換:在安全頁面中,本文將模式劃分為手動模式與預(yù)警模式,根據(jù)按鈕的切換來決定模式。當(dāng)模式為手動模式時(shí),如遇到數(shù)據(jù)異常情況,則只會在預(yù)警信息顯示處顯示異常信息;而當(dāng)模式設(shè)置為預(yù)警模式時(shí),除了預(yù)警信息的顯示,設(shè)備還會開啟報(bào)警模塊進(jìn)行報(bào)警。
(3)預(yù)警閾值設(shè)置:通過輸入控制的綁定,獲取到用戶輸入的閾值信息,并對其進(jìn)行儲存,當(dāng)用戶設(shè)置按鈕時(shí),之前所存儲的數(shù)據(jù)會通過阿里云物聯(lián)網(wǎng)平臺發(fā)送到設(shè)備端,設(shè)備端會根據(jù)接收到的閾值進(jìn)行設(shè)置,并同步到阿里云物聯(lián)網(wǎng)平臺。
2.2.3 場景頁面功能介紹
場景頁面主要是場景的一鍵開啟,當(dāng)用戶單擊設(shè)置好的模式后,客戶端會根據(jù)之前設(shè)置好的方式,將命令一鍵下發(fā)到設(shè)備端。一鍵啟動是對一系列操作便捷使用的功能,如離家模式,點(diǎn)擊開啟離家模式后,系統(tǒng)會關(guān)閉一系列不需要的負(fù)載,并自動關(guān)好陽臺門等操作,使用戶快捷出門。場景功能效果如圖6所示。
圖6 場景一鍵啟動效果
本系統(tǒng)以樹莓派為控制中心,通過阿里云物聯(lián)網(wǎng)平臺和微信小程序?qū)崿F(xiàn)了智能家居設(shè)備的遠(yuǎn)程控制方法。針對傳統(tǒng)環(huán)境監(jiān)測系統(tǒng)功耗高、維護(hù)成本高、不能實(shí)時(shí)監(jiān)測的弊端,通過微信小程序客戶端初始化樹莓派的控制,阿里云服務(wù)器存儲、上報(bào)、更新系統(tǒng)數(shù)據(jù),并下發(fā)客戶端的控制命令給樹莓派。后續(xù)可加入視覺模塊以及門禁模塊等家居設(shè)備,增加系統(tǒng)的應(yīng)用場景,提高系統(tǒng)的適用性。由本文系統(tǒng)運(yùn)行數(shù)據(jù)來看,系統(tǒng)設(shè)計(jì)達(dá)到了預(yù)期的目標(biāo),解決了用戶難以集中式管理智能家居設(shè)備的問題,可以使用戶與家居設(shè)備更便捷地交互。