王 平,王 焱
(1.山西大同大學 機電工程學院, 山西 大同 037009;2.北京中科核安科技有限公司 核技術研究中心, 北京 100080)
物聯網是繼計算機技術、互聯網與移動通信技術之后的第三次信息產業浪潮。智能家居為現代家庭提升了便利性、舒適性、安全性,并且智能家居的應用使生活更加節能環保。基于物聯網的智能家居,表現為利用各種信息傳感設備,通過傳感器網絡將與家居生活相關的各獨立子系統整合在一起,并通過互聯網連接起來[1]。
針對人們對家庭室內環境、家庭娛樂、智能安防等方面的需求,文中設計了一套基于物聯網平臺的智能家居中心控制系統。控制器采用ESP32單片機作為系統的核心,按照所設計控制系統的功能劃分,該系統包含語音控制系統、環境監測系統、燈光控制系統、家庭娛樂系統、智能安防系統、人機交互系統和其它外設等七個子系統。
智能家居中心控制系統通過采集室內的溫度、濕度和天然氣濃度,實時掌握室內環境質量以及預防廚房天然氣泄露;可對家中的燈光進行控制;加入了家庭娛樂功能,可以在音樂的海洋中享受生活;通過活體傳感器可以在家中無人情況下進行安防監控,保障人身財產安全。通過這幾項功能的相互配合,最終完成了智能家居中心控制系統數據采集和設備控制的目標。
根據所設計的智能家居中心控制系統的功能劃分,系統通過物聯網平臺,下發命令或離線語音控制系統將命令傳遞給ESP32單片機,隨后單片機對接收到的命令做出反應,讀取溫度、濕度、天然氣濃度、環境亮度數值;控制燈光顏色;播放音樂;語音播報;活體識別;控制其它智能外設等。其系統原理框圖如圖1所示。

圖1 智能家居中心控制系統原理框圖
當智能家居中心啟動后,會自動連接網絡,進行網絡時間校準,并將獲取到的時間數據存放在RTC(實時時鐘寄存器)當中。通過WEB應用或語音控制系統對單片機進行控制,每間隔一段時間,單片機會將收集到的環境數據上傳到物聯網平臺,將用戶的網絡遠程指令下載,根據用戶的網絡遠程指令以及現場語音指令,單片機對燈光、音頻、安防、外設以及OLED顯示屏進行控制。
根據系統總體設計方案分析,智能家居中心控制系統硬件框圖如圖2所示。

圖2 智能家居中心控制系統硬件框圖
主控電路在選擇上要求能夠完成WIFI聯網、傳感器讀取、各個子系統模塊控制等功能。同時要求電路結構簡單,滿足基本的引腳需求。系統控制芯片選用ESP32單片機,ESP32擁有448KB的ROM存儲器,520 kB的SRAM存儲器,共有34個GPIO口,多達 18個通道的12位 ADC接口,并支持802.11 b/g/n WIFI協議和Bluetooth v4.2 完整標準協議,是專為移動裝置、可穿戴電子設備物聯網的應用而設計,是一款物聯網領域應用廣泛的單片機[2]。
中國移動物聯網平臺的定位是將應用服務的運行和開發環境作為服務內容。OneNET平臺基于物聯網技術和產業特點打造,已經應用于環境監控、智能家電、車聯網、工業控制等領域,為智能家居、可穿戴設備、車聯網產品提供完善的物聯網解決方案[3]。
為了便于管理和方便設備和WEB端的程序編寫,本系統設備和WEB端的協議接入方式HTTP協議,數據上傳時使用POST方法,數據下載時使用GET方法。
智能家居中心控制系統的硬件電路設計遵循標準化與模塊化的理念,主要由ESP32開發板、電源模塊、傳感器、語音識別、顯示屏以及執行器件組成。CPU單元是智能家居中心控制系統最重要的部分,要求能夠滿足系統自檢、程序指令存儲、數據處理,并控制外圍電路完成相關指令操作,本系統的主控使用了ESP32芯片。電源模塊主要是AMS1117穩壓器,為設備提供3.3V穩壓電壓。傳感器部分由MQ-5氣體傳感器、DHT11溫濕度傳感器、TSL2561光強傳感器以及RCWL-0516活體傳感器組成,MQ-5氣體傳感器與單片機通過ADC接口連接,氣體傳感器將采集到的氣體濃度相應模擬信號傳給單片機,DHT11溫濕度傳感器與單片機通過單總線協議連接,溫濕度傳感器將采集到的溫度、濕度數據傳給單片機,TSL2561光強傳感器與單片機通過IIC數據總線協議連接,光強傳感器將采集到的光線強度數據傳給單片機,RCWL-0516活體傳感器的輸出引腳直接與單片機的GPIO口連接,檢測到活體后,活體傳感器輸出一段時間的高電平。語音識別主要有LD3320語音識別模塊和DFPlayer Mini MP3模塊組成,LD3320語音識別模塊與單片機通過TTL串口連接,語音識別模塊將識別到的結果碼發送給單片機。DFPlayer Mini MP3模塊與單片機通過TTL串口連接,在硬件設計中考慮到實際使用時,并不需要知道MP3模塊具體的狀態,因此將單片機的TXD引腳與MP3模塊的RXD引腳連接,MP3模塊的Busy引腳與單片機的GPIO口連接,用來讀取MP3模塊的播放狀態。顯示屏與單片機通過IIC數據總線協議連接,單片機將需要顯示的信息發送給顯示屏。執行器件由WS2812燈帶、LED燈珠和繼電器組成,WS2812燈帶與單片機通過單線歸零碼的通訊方式連接,單片機將燈帶的亮度、顏色、亮滅個數等信息發送給WS2812燈帶。而LED燈珠和繼電器直接通過單片機的GPIO口連接,單片機通過控制高低電平改變它們的狀態。
智能家居中心控制系統的硬件電路圖如圖3所示。

圖3 智能家居中心控制系統硬件電路圖
根據智能家居中心控制系統總體方案設計,其硬件部分分為數據采集和輸出控制兩部分。其中數據采集部分通過ESP32單片機、物聯網平臺和設備之間的通訊完成,輸出控制部分包括語音控制系統、環境監測系統、燈光控制系統、家庭娛樂系統、智能安防系統、人機交互系統和其它外設等。各組成系統采用模塊化、功能化設計。
語音控制系統主要由基于LD3320的YS-LDV7語音識別模塊和DFPlayer mini語音播放模塊組成。LD332提供了單芯片語音識別解決方案,具備高準確度和實用的語音識別效果,YS-LDV7模塊是在LD3320模塊基礎上加入一枚STC11單片機、指示燈和內置咪頭。語音播放模塊在選擇上要求能夠完成簡單的數值音頻合成、音樂播放、播放固定的音頻信息,選用體積小巧并且價格低廉的DFPlayer Mini模塊[5]。
LD3320根據聲音傳感器接收到的語音信息進行頻譜分析,提取語音信息特征,經過語音識別器與模塊上的STC11L08XE單片機傳遞給LD3320芯片的關鍵詞組進行比對,并將比對后的結果經由模塊上的STC11L08XE單片機發送給ESP32單片機。ESP32單片機根據程序設計要求,通過串口通信將命令發送給DFPlayer mini語音播放模塊,并將音頻信號輸出到功放模塊,功放模塊將音頻信號放大后由喇叭發出聲音。功能如:調節音量大小,數據播報,音樂播放等。
環境監測系統主要由DHT11溫濕度傳感器、MQ-5氣體傳感器組成。DHT11溫濕度傳感器是一款溫濕度復合傳感器,具有響應速度快、抗干擾能力強、可靠性和穩定性高等優點[7]。MQ-5氣體傳感器可以檢測出多種可燃性氣體,是一款適合各類應用場所的氣體傳感器[8]。
DHT11溫濕度傳感器通過單總線通信方式連接到ESP32單片機,單片機向溫濕度傳感器發送讀取信號,傳感器接收到信號后進行采集,向單片機傳送溫濕度數據信息。ESP32單片機通過讀取MQ-5天然氣傳感器的模擬信號來讀取空氣中的天然氣含量,即空氣中的天然氣含量就越高,MQ-5天然氣傳感器AO引腳的電壓就越高。
燈光控制系統主要由一個WS2812燈帶和三組LED燈組成。WS2812是一款智能外控LED光源,具有低電壓驅動、亮度高、超低功率等優點,可以實現256的三次方,即16777216種顏色的全真色彩顯示。客廳燈、臥室燈和餐廳燈,各使用一個白色LED燈珠作為展示,每個燈珠串聯一個510歐的電阻來限制流過每個燈珠的電流,三個燈珠通過共陽極連接[9]。
WS2812燈帶作為設備燈,通過單總線通信方式連接到ESP32單片機,根據發送的ESP32發送的指令改變LED燈帶的顏色以及點亮的LED個數以及位置。三組LED燈分別模擬客廳燈、臥室燈和餐廳燈,通過控制與之相連的I/O口的高低電平來控制LED燈的亮滅。WS2812燈帶與三組LED燈由WEB應用和語音控制系統來進行控制。
家庭娛樂系統主要由LD3320語音識別模塊、DFPlayer mini語音播放模塊以及RTC組成。ESP32單片機通過LD3320語音識別模塊獲取到“播放音樂”、“播放相聲”、“暫停播放”、“繼續播放”等指令,對DFPlayer mini語音播放模塊進行通信,以實現指令所對應的操作。報時功能通過讀取RTC中的時間,當時間為整點時設備自動進行報時。
智能安防系統主要由TSL2561光強傳感器和活體傳感器組成。TSL2561可以在多變的光照下提供最佳的顯示亮度,應用于各類顯示屏的監控。活體傳感器選擇要求反應及時,能夠快速完成檢測人體的功能,RCWL-0516是一款專門檢測物體移動的感應開關模塊,廣泛應用于防盜報警器和安全燈,具有靈敏度高、可靠性強、感應角度大等特性,可以檢測到設備所在房間和其他房間的情況。
用戶通過WEB應用來控制設備進入“離家模式”,活體傳感器單獨工作,當檢測到有活體移動后,會通過DFPlayer mini語音播放模塊進行報警,同時通過網絡,遠程提醒用戶家中的異常情況。當用戶回到家后,打開“在家模式”,活體傳感器與TSL2561光流傳感器互相配合工作,檢測到用戶在起夜時,自動打開設備燈,保障用戶起夜時候的安全。
人機交互系統主要由OLED顯示屏和WEB應用組成。通過OLED顯示屏實時顯示設備的狀態,例如:溫濕度情況、天然氣含量、當前時間、報錯信息。
WEB應用由硬件設備將數據經過WIFI連接到OneNET中國移動物聯網平臺進行上傳,并將WEB應用端的提交的數據進行下載,已實現數據的交互。在WEB應用端,每次啟動時通過“中國天氣網”提供的API獲得當地的天氣情況,并每間隔一段時間后,通過OneNET中國移動物聯網平臺下載到硬件設備采集所得的室內溫度、室內濕度、天然氣濃度、其他的參數實時情況;通過WEB端的開關和滑塊來實現對硬件設備的控制。為方便操作,借助百度語音識別的API實現了WEB端的在線語音設備。WEB應用手機端示意圖如圖4所示。

圖4 WEB應用手機端示意圖
智能插座是由一個繼電器來控制插座的導通與關斷的,通過語音控制系統和WEB應用來實現控制,極大地方便了用戶的用電需求。科學的管理電器的使用時間,節能環保的定時開關、延時開關功能,在一定程度上減少了空閑時段的能源浪費,使一些普通電器使用更加便捷,節省電費的同時更加的智能化,具有安全、節電、環保的功能。
智能家居中心系統運行時, ESP32單片機處理來自各類傳感器發送的外部信息,將必要的數據通過WIFI發送到物聯網平臺,再由物聯網平臺將數據分發到各個終端。用戶可以通過設備端離線語音識別、WEB端在線語音識別和WEB端界面操作對設備進行操作;WEB端的操作指令由網絡連接到物聯網平臺,再由物聯網平臺將指令發送到設備。
首先要使硬件設備在開機啟動后進行聯網操作,硬件設備在成功連接網絡后會先通過網絡獲取到當前時間后,將時間存放到實時時鐘芯片(RTC)當中,確保硬件設備的時間戳在每次開機后都是準確的。在規定的每個時間周期內先對來自物聯網平臺的指令(如:設備燈的亮度和RGB數值,客廳燈、臥室燈、餐廳燈的開關值,智能插座的開關值和設置的時間,居家模式)進行下載,然后對溫濕度傳感器、天然氣傳感器、光強傳感器、活體傳感器等進行數據采集,對設備燈、客廳燈、臥室燈、餐廳燈、智能插座按照指令進行操作,并將收集到的數據向物聯網平臺進行上傳,接下來使用OLED顯示屏顯示設備的基本信息,最后再設置一個時間中斷函數用于接收由語音識別模塊在處理完語音識別的反饋信息,按照反饋信息對設備進行操作,并將更改后的設備數據上傳到物聯網平臺,防止數據沖突。
控制系統通過循環執行,指令的下載、設備的操作、傳感器的讀取和數據上傳來實現智能家居中心的基本功能操作。對于部分語音指令會讀取采集到的數據,對其進行數值語音合成,并通過MP3模塊將音頻信息播放出來,來實現語音播報和音頻播放的功能。智能家居中心控制系統能夠對用戶發出的指令做出準確及時的反饋,并將收集到的數據和設備情況通過物聯網平臺和OLED顯示屏展示給用戶。程序流程圖如圖5所示。

圖5 智能家居中心控制系統程序流程圖
智能家居中心控制系統的實驗模型如圖6所示。

圖6 智能家居中心控制系統的實驗模型
本實驗在智能家居中心PCBV2.0、智能家居中心手機APP、安卓9系統的軟硬件環境下進行,其性能如下。
1)設備開機自檢時間:4~5 s。
2)MQ-5氣體傳感器預熱時間:300 s。
3)語音識別響應時間:1 s。
4)交互性:可以通過離線語音識別或手機APP,完成設備的控制,并將設備的信息顯示到顯示屏和手機APP中。
5)及時性:通過手機APP遠程控制設備,設備能夠在2秒能完成相應操作。
6)智能性:設備在系統啟動后能夠自檢,通過網絡完成參數初始化。離線語音識別和手機APP能夠識別用戶發出的語音指令,并根據指令進行相關操作,在“在家模式”下,設備可以根據環境情況,自動開啟照明,方便用戶的生活。
智能家居中心控制系統能夠實現與物聯網平臺數據傳輸、語音控制、環境監測、燈光控制、家庭娛樂、智能安防、人機交互等各方面的功能。控制系統與目前市面上已有的智能家居相比,價格低廉,功能更多、更強,對智能家居廠家和用戶,以及工程技術人員都具有一定的參考價值,目前該系統已經完成設計研發,正在測試運行。