朱 明,肖 松,黃 潔
(江西理工大學(xué) 電氣工程與自動化學(xué)院,江西 贛州 341000)
隨著當(dāng)前計算機網(wǎng)絡(luò)技術(shù)、AR技術(shù)、語音圖像識別等智能科技的不斷更新發(fā)展與相互交融,智能家居也日趨多元化,并且多次實現(xiàn)新的突破。
由于目前很大一部分家居工作未完全脫離人為控制,或沒有很好地被人為控制。在實際應(yīng)用場景中,需要每個被控節(jié)點間相互聯(lián)系,構(gòu)成一個信息交換網(wǎng)絡(luò),以實現(xiàn)實時家居參數(shù)測定顯示、設(shè)備便捷控制、網(wǎng)絡(luò)遠程通信等具體功能,這也是一個難題。系統(tǒng)的控制范圍增加后,控制系數(shù)也會增加,并且會出現(xiàn)更多不可預(yù)測的問題。通信與接入方式也需要根據(jù)實際情況進行調(diào)節(jié),所以近距離的通信、組網(wǎng)技術(shù)成為了研究熱點;WiFi作為組網(wǎng)技術(shù)中的一種,在近距離通信中占主導(dǎo)。
基于此,文中提供面向智能家居的物聯(lián)網(wǎng)操作系統(tǒng)應(yīng)用方案,通過STM32單片機,結(jié)合OneNET物聯(lián)網(wǎng)平臺與手機APP以及外圍傳感器檢測電路,構(gòu)成一套家居控制系統(tǒng),多方面地提升家居智能化、便捷化、人性化、舒適化,并可以實現(xiàn)環(huán)保控制。
智能家居系統(tǒng)總體架構(gòu)如圖1所示。系統(tǒng)選用面向智能家居的物聯(lián)網(wǎng)操作系統(tǒng),搭載STM32F4嵌入式微控制器為主控下位機,采集多種環(huán)境參數(shù),如PM、溫濕度、可燃/有害氣體濃度等傳感器數(shù)據(jù);通過ESP8266 WiFi芯片連接無線局域網(wǎng)并使用HTTP協(xié)議接入中移物聯(lián)網(wǎng)云平臺;然后利用PHP服務(wù)器從OneNET平臺上獲取控制器上傳的環(huán)境參數(shù)信息發(fā)送到手機APP上;最后可以將APP作為上位機實時觀測環(huán)境信息或直接上傳控制數(shù)據(jù),以實現(xiàn)諸如遠程控制電機啟?;蚱渌豢貙ο蠊ぷ鞯裙δ?。系統(tǒng)控制方案流程如圖2所示。
圖1 智能家居系統(tǒng)總體架構(gòu)
圖2 智能家居控制方案流程
簡易的智能家居可以實現(xiàn)功能如下:當(dāng)人們回到家中時,門口的人體紅外感應(yīng)會檢測到有人到來,并播放語音“歡迎回家”。進入家門,智能報警系統(tǒng)項目全面啟動,屋外進行雨量檢測,如果下雨,實時播報,并進行RGB三色雨量警告;如果室內(nèi)或者周邊有害氣體含量超標(biāo),蜂鳴器會發(fā)出報警聲;如果室內(nèi)溫度較高,控制風(fēng)扇的電機便會工作,并根據(jù)溫度高低自動調(diào)節(jié)轉(zhuǎn)速等。
文中設(shè)計應(yīng)用系統(tǒng)的核心是云平臺,以實現(xiàn)移動終端對智能家居中的諸多設(shè)備進行實時控制。搭載云平臺的是基于Cortex-M4體系結(jié)構(gòu)的32位標(biāo)準(zhǔn)RISC(精簡指令集)STM32F4微處理器,擁有極其豐富的資源。本系統(tǒng)主要組成情況如下:
(1)為了采集環(huán)境質(zhì)量參數(shù),在室內(nèi)和室外布置多個采集節(jié)點、數(shù)據(jù)傳輸節(jié)點。由于系統(tǒng)上傳數(shù)據(jù)的速度很頻繁,所以對于數(shù)據(jù)的穩(wěn)定性要求不高??紤]設(shè)計精簡性,采用ESP8266+OneNET+手機APP控制。
(2)設(shè)計采用RT-Thread操作系統(tǒng),系統(tǒng)需要預(yù)留充足的I/O口用于擴展更多的數(shù)據(jù)采集設(shè)備及通信設(shè)備,并且將數(shù)據(jù)同步到服務(wù)器中,綜合考慮采用STM32微處理器作為總控制器。
(3)采用ATK-VS1053MP3語音模塊,支持兩種格式的WAV錄音:PCM格式或者IMA ADPCM格式。其中PCM(脈沖編碼調(diào)制)是最基本的WAVE文件格式,這種文件直接存儲采樣的聲音數(shù)據(jù),沒有經(jīng)過任何的壓縮;而IAM ADPCM則是使用了壓縮算法,壓縮比率為4:1。
(4)采用的DHT11溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。
文中設(shè)計系統(tǒng)采用RT-Thread操作系統(tǒng),在搭建好的BSP工程基礎(chǔ)上添加所需的模塊函數(shù)。圖3是ESP8266模塊程序控制溫濕度信號的流程。
圖3 ESP8266模塊程序控制流程
首先在裸機開發(fā)下正確讀取DHT11溫濕度數(shù)據(jù);然后了解RT-Thread的sensor框架,將DHT11對接到sensor框架上并創(chuàng)建一個線程,通過其讀取溫濕度數(shù)據(jù),并通過FinSH控制臺實時打印數(shù)據(jù);通過ENV工具獲取NRF24L01軟件包后加載到MDK工程頁面中,實現(xiàn)DHT11線程與NRF24L01線程之間的數(shù)據(jù)通信;通過修改NRF24L01軟件包,實現(xiàn)多點通信功能;在接收節(jié)點中使用RT-Thread文件系統(tǒng)存放節(jié)點數(shù)據(jù),接收節(jié)點根據(jù)上位機中的數(shù)據(jù)幀格式,通過串口發(fā)送溫度數(shù)據(jù)到上位機;最后再配置RT-Thread的OneNET云軟件包和AT組件,并使用它們實現(xiàn)將接收節(jié)點的數(shù)據(jù)通過ESP8266 WiFi模塊上傳至OneNET服務(wù)器,云端通過圖形可視化處理實現(xiàn)實時溫度遠程監(jiān)控。
通過ESP8266 WiFi芯片連接無線局域網(wǎng)并使用HTTP協(xié)議接入中移物聯(lián)網(wǎng)的設(shè)備云開放平臺,將采集到的傳感器數(shù)據(jù)上傳。同時,利用PHP服務(wù)器從OneNET平臺上獲取環(huán)境信息,并下發(fā)到手機APP上。
APP將接收到的數(shù)據(jù)進行處理并顯示到用戶界面上,用戶便可以遠距離實時獲取與控制室內(nèi)的溫度、濕度等參數(shù),極大地擺脫了短距離遙控的限制。
本Android客戶端的開發(fā)環(huán)境基于Android Studio3.3,開發(fā)語言為面向?qū)ο蟮木幊陶Z言JAVA。客戶端的設(shè)計主要包括UI界面、通信模塊搭建、數(shù)據(jù)庫設(shè)計、語言功能設(shè)計四個方面。
安裝好APP后首先進入設(shè)計的登錄界面如圖4所示,通過提供的登錄賬號和密碼進入智能家居管理系統(tǒng),如圖5所示。
圖4 登錄界面
圖5 智能家居管理系統(tǒng)
本系統(tǒng)調(diào)試有如下兩個步驟:
(1)通過STM32控制器采集與顯示數(shù)據(jù);
(2)通過服務(wù)器實時傳輸與顯示數(shù)據(jù)。
STM32控制器繼續(xù)通過各個傳感器采集數(shù)據(jù)后,經(jīng)過處理顯示到LCD液晶屏上。經(jīng)過多次調(diào)試,結(jié)果符合要求,最終數(shù)據(jù)采集界面如圖6所示。
圖6 數(shù)據(jù)采集調(diào)試界面
遠程數(shù)據(jù)顯示需要STM32單片機借助ESP8266 WiFi模塊,并通過HTTP協(xié)議將數(shù)據(jù)傳送給服務(wù)器,然后再從服務(wù)器中實時查詢和顯示數(shù)據(jù),如圖7所示。
圖7 數(shù)據(jù)查詢、顯示界面
本系統(tǒng)設(shè)計的應(yīng)用框架,目的是盡可能多地將家具集中化,然后再進行智能化管理。資源豐富的STM32嵌入式控制器作為主控機,根據(jù)不同家具的實際情況與其建立聯(lián)系,通過物聯(lián)網(wǎng)平臺與手機APP可以實現(xiàn)人為實時監(jiān)控的功能。雖然現(xiàn)在部分檢測與控制功能未進行多次的實地試驗,無法完全準(zhǔn)確地提供智能家居相關(guān)設(shè)備的參數(shù),但是基本具備了預(yù)期的能力。通過不斷調(diào)試優(yōu)化與更新迭代,增設(shè)新的功能,會逐漸完善智能家居控制系統(tǒng)。
同時,本設(shè)計突出特點是節(jié)能環(huán)保,利用低成本的設(shè)備構(gòu)建所需的居家條件;并且可以通過自動檢測進入低功耗模式,降低使用成本。