摘 要: 針對(duì)智能家居系統(tǒng)普遍存在標(biāo)準(zhǔn)不統(tǒng)一、購買及使用成本高、對(duì)外不可擴(kuò)展等問題,提出了一種基于物聯(lián)網(wǎng)公共云平臺(tái)的智能家居系統(tǒng)解決方案。設(shè)計(jì)和實(shí)現(xiàn)了一種基于公共云平臺(tái)的智能家居系統(tǒng)整體架構(gòu),提出了家居環(huán)境舒適度、安全性、能耗三種智能終端,通過語音指令方便切換,實(shí)現(xiàn)了家居環(huán)境舒適度、安全性、能耗三個(gè)方面的感知與控制。然后,完成了智能終端設(shè)備與云平臺(tái)服務(wù)器間的通信流程,實(shí)現(xiàn)了終端設(shè)備向云平臺(tái)服務(wù)器上傳數(shù)據(jù)以及云平臺(tái)下發(fā)控制指令到終端設(shè)備的功能。最后,搭建了房屋模型,設(shè)計(jì)了智能家居系統(tǒng)可視化的展示平臺(tái),實(shí)現(xiàn)了設(shè)備通過Internet或移動(dòng)互聯(lián)網(wǎng)在任何時(shí)間、任何地點(diǎn)遠(yuǎn)程查看和控制家中智能設(shè)備。
關(guān)鍵詞: 物聯(lián)網(wǎng); 公共云平臺(tái); 智能家居; 遠(yuǎn)程感知與控制
中圖分類號(hào): TN92?34; TM417 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)11?0030?04
Abstract: Since the smart home system has the problems of non?unified standards, high purchase and use costs, and poor extension, a solution for the smart home system based on the Internet of Things (IOT) public cloud platform is proposed. An overall structure of the smart home system based on public cloud platform was designed and implemented. Three intelligent terminals of home comfortable environment, safety and power concumption are put forward, and realized by the convenient switching of voice command. The communication between the intelligent teminal equipment and cloud platform server was accomplished. The functions of uploading data from terminal equipment to cloud platform server and control command from cloud platform to terminal equipment were implemented. In this paper, the intelligent house model was established, and the visual display platform for the smart home system was designed. The function of the system to remotely control and examine the home intelligent equipment anytime or anywhere through the Internet or mobile intrenet was realized.
Keywords: Internet of Things; public cloud platform; smart home; remote sensing and control
0 引 言
與普通家居相比,智能家居系統(tǒng)使得原本被動(dòng)、靜止的居住空間變得能動(dòng)、智能起來,家庭內(nèi)外部的信息交換變得通暢[1]。它可以幫助大家合理安排時(shí)間,提升效率,為大家提供更舒適、安全、健康、便捷的居家體驗(yàn)以及更高效的能源利用,從而擁有更節(jié)能、經(jīng)濟(jì)、環(huán)保的生活方式[2]。
智能家居系統(tǒng)具有很現(xiàn)實(shí)的意義而且需求量巨大,然而現(xiàn)在智能家居行業(yè)仍處于起步階段,現(xiàn)有的系統(tǒng)普遍存在一些問題,如標(biāo)準(zhǔn)不統(tǒng)一、購買及使用成本高、對(duì)外不可擴(kuò)展等[3]。以上兩方面構(gòu)成了矛盾,因此研究設(shè)計(jì)一套低功耗、低成本、可擴(kuò)展且統(tǒng)一平臺(tái)的智能家居系統(tǒng)顯得十分必要[4]。
1 基于物聯(lián)網(wǎng)公共云平臺(tái)的智能家居系統(tǒng)架構(gòu)
設(shè)計(jì)與實(shí)現(xiàn)
1.1 系統(tǒng)整體架構(gòu)設(shè)計(jì)
基于物聯(lián)網(wǎng)公共云平臺(tái)的遠(yuǎn)程家庭感知與控制系統(tǒng)架構(gòu)如圖1所示。該系統(tǒng)主要由感知與控制終端、網(wǎng)絡(luò)層和用戶終端應(yīng)用系統(tǒng)三部分組成。感知與控制終端由各種傳感器和控制器構(gòu)成,主要完成環(huán)境信息的采集和控制;網(wǎng)絡(luò)層由私有局域網(wǎng)、互聯(lián)網(wǎng)、移動(dòng)通信網(wǎng)絡(luò)和云計(jì)算平臺(tái)等組成,完成傳遞和處理感知與控制終端獲取的信息;用戶終端應(yīng)用系統(tǒng)是云平臺(tái)和用戶之間的接口,以Web或終端APP的形式將信息內(nèi)容呈現(xiàn)給用戶,并提供基本操作等功能[5]。
安設(shè)在家中的數(shù)目及種類眾多的傳感器完成家居環(huán)境數(shù)據(jù)的采集,通過WiFi網(wǎng)絡(luò)經(jīng)路由器將這些數(shù)據(jù)上傳到公共云平臺(tái)服務(wù)器。云平臺(tái)一方面完成這些數(shù)據(jù)的實(shí)時(shí)顯示,另一方面當(dāng)環(huán)境數(shù)據(jù)不合理時(shí)可給出相應(yīng)的調(diào)整策略,包括向家庭成員推送消息提醒和自動(dòng)觸發(fā)預(yù)先設(shè)定的規(guī)則[6]。
本方案中公共云平臺(tái)取代了傳統(tǒng)的PC機(jī)或某種嵌入式設(shè)備作為服務(wù)器,成為了系統(tǒng)核心。該系統(tǒng)可以被看作是一種上/下位機(jī)結(jié)構(gòu),上位機(jī)就是云平臺(tái),用于完成設(shè)備接入、控制邏輯處理、數(shù)據(jù)管理等,下位機(jī)就是各種智能終端,即網(wǎng)絡(luò)采集和控制終端,由一些傳感器、繼電器、單片機(jī)和WiFi模塊組成,用于完成家庭環(huán)境數(shù)據(jù)的采集和家電設(shè)備的開關(guān)控制。
1.2 云平臺(tái)部署形式選擇
目前,基于云計(jì)算的應(yīng)用還處于初級(jí)階段,架設(shè)私有云和社區(qū)云對(duì)每個(gè)家庭的成本開支比較大,而混合云現(xiàn)在發(fā)展的還很不成熟,故選用了單位價(jià)格低廉、功能全面、應(yīng)用靈活的公有云作為智能家居系統(tǒng)的搭建模式。
1.3 云架構(gòu)及其服務(wù)模式
根據(jù)云計(jì)算面向的用戶及需求不同,云架構(gòu)通常也不同,運(yùn)營商提供的云服務(wù)模式側(cè)重點(diǎn)也各有差別,但是云架構(gòu)的本質(zhì)是不變的,NIST將其服務(wù)模式劃分為三個(gè)層次:Iaas(Infrastructure as a Service,基礎(chǔ)設(shè)施即服務(wù)),PaaS(Platform as a Service,平臺(tái)即服務(wù)),SaaS(Software as a Service,軟件即服務(wù))。PaaS和IaaS源于SaaS理念[7]。對(duì)于不同類型的用戶,這三層的關(guān)系不是相互獨(dú)立的,即使對(duì)于系統(tǒng)開發(fā)人員,這三層也不是簡(jiǎn)單的繼承關(guān)系[8]。智能家居云服務(wù)系統(tǒng)的服務(wù)對(duì)象主要是:平臺(tái)管理者、系統(tǒng)開發(fā)者和普通家庭用戶,因此,結(jié)合云架構(gòu)的服務(wù)模式設(shè)計(jì)的基于云平臺(tái)的智能家居系統(tǒng)架構(gòu)圖如圖2所示。
2 智能感知與控制終端設(shè)計(jì)與實(shí)現(xiàn)
2.1 終端硬件總體設(shè)計(jì)
智能感知與控制終端硬件總體結(jié)構(gòu)如圖3所示。終端硬件采用模塊化的設(shè)計(jì)思想,共分為五部分,其中主控制器選用了以Atmega328為核心的AVR單片機(jī)Arduino;采集與控制模塊由各種傳感器及繼電器設(shè)備組成,主要完成環(huán)境數(shù)據(jù)的采集與電器開關(guān)控制;顯示與報(bào)警模塊由液晶顯示屏、LED燈、蜂鳴器等組成,負(fù)責(zé)環(huán)境數(shù)據(jù)的本地顯示與超閾值報(bào)警;語音控制模塊由語音識(shí)別與語音合成模塊組成,主要功能是接收控制指令與反饋執(zhí)行結(jié)果;網(wǎng)絡(luò)模塊選用了ENC28J60這款以太網(wǎng)控制器,并配合WiFi模塊主要實(shí)現(xiàn)終端設(shè)備的無線互聯(lián)網(wǎng)接入功能。
2.2 主控制器選型
主控制器選用了以Atmega328為核心的AVR單片機(jī)Arduino。Arduino在簡(jiǎn)化單片機(jī)工作流程的同時(shí),更有價(jià)格低、硬件開源、可擴(kuò)展、良好的跨平臺(tái)性等優(yōu)點(diǎn)[8]。Arduino編程語言基于AVR?C。終端設(shè)備的主控芯片選擇了與Uno功能大體相同,但體積更小、價(jià)格更低的ProMini板。Arduino Uno的大腦是Atmel AVR Atmega328,它封裝了中央處理器(CPU)、內(nèi)存陣列、時(shí)鐘和外圍設(shè)備。
2.3 網(wǎng)絡(luò)模塊接入與網(wǎng)絡(luò)配置
(1) 以太網(wǎng)控制器選型與接線。為了將主控Arduino設(shè)備連入網(wǎng)絡(luò)就必須為其配置網(wǎng)絡(luò)模塊,本文采用了一種價(jià)格更為低廉、體積更小的基于Microchip ENC28J60的以太網(wǎng)控制器。
(2) 網(wǎng)絡(luò)控制器參數(shù)配置。在把一個(gè)網(wǎng)絡(luò)設(shè)備連接到互聯(lián)網(wǎng)之前,首先需要對(duì)其參數(shù)進(jìn)行一些配置,對(duì)ENC28J60的網(wǎng)絡(luò)參數(shù)配置通過配置其庫函數(shù)實(shí)現(xiàn)。
(3) 無線WiFi模塊配置。為了實(shí)現(xiàn)設(shè)備可以通過WiFi網(wǎng)絡(luò)接入無線路由器,本方案選用了TPLINKTL?WR702N,并將其配置成客戶端,在這種模式下,路由器的作用就像無線網(wǎng)絡(luò)與有線網(wǎng)絡(luò)之間的橋梁一樣。WR702N很小,并且可以通過MicroUSB線給它供電。
2.4 語音控制設(shè)計(jì)與實(shí)現(xiàn)
為了提升智能家居系統(tǒng)使用的便利性與趣味性,本文采用LD3320語音識(shí)別模塊設(shè)置了二十幾條指令用于語音控制燈光、窗簾、空調(diào)等設(shè)備,并配合SYN6288語音合成模塊,編寫軟件程序,構(gòu)建本地人機(jī)交互系統(tǒng)[9]。SYN6288 通過UART通信方式,接收待合成的文本數(shù)據(jù)實(shí)現(xiàn)TTS(文本到語音)的轉(zhuǎn)換。項(xiàng)目針對(duì)SYN6288中文及數(shù)字語音播報(bào)進(jìn)行了編程實(shí)現(xiàn)。
為了最大程度地防止系統(tǒng)出現(xiàn)誤操作,在本文程序設(shè)計(jì)中加入了一條觸發(fā)指令“瓦力”,只有在系統(tǒng)首先識(shí)別到“瓦力”指令的時(shí)候,才進(jìn)入5 s的接收控制指令狀態(tài)。例如,如果要執(zhí)行開燈命令,則需先說:“瓦力”,之后系統(tǒng)會(huì)說:“您好”,然后你再說:“開燈”,之后系統(tǒng)才會(huì)檢測(cè)開關(guān)狀態(tài)、執(zhí)行開燈命令。如果不先叫“瓦力”的名字,它不會(huì)理會(huì)你的吩咐。本地控制系統(tǒng)中加入語音識(shí)別和合成功能,不僅使系統(tǒng)下達(dá)控制指令更加方便,而且智能家居系統(tǒng)在實(shí)時(shí)檢測(cè)環(huán)境信息,當(dāng)有危險(xiǎn)情況發(fā)生時(shí),系統(tǒng)可以及時(shí)報(bào)警并語音播報(bào)危險(xiǎn)情況。
2.5 舒適度感知與控制
舒適度感知與控制終端主要完成家居環(huán)境溫度、濕度和顆粒物的檢測(cè)與顯示,并通過網(wǎng)絡(luò)模塊將這些環(huán)境數(shù)據(jù)上傳到云平臺(tái),當(dāng)溫度數(shù)據(jù)超出云平臺(tái)設(shè)定的閾值時(shí),云平臺(tái)推送控制命令到該終端,終端接收命令并執(zhí)行發(fā)送紅外信號(hào)開啟空調(diào)的操作。舒適度感知與控制終端程序設(shè)計(jì)了本地工作模式和云工作模式兩種狀態(tài)。兩種狀態(tài)相互獨(dú)立,可通過語音指令進(jìn)行切換。
本文在處理采集到的顆粒物數(shù)據(jù)時(shí),融合了中位值濾波與算數(shù)平均濾波兩種算法,即首先對(duì)被測(cè)量連續(xù)采樣次,然后去除隊(duì)列中的最大值和最小值,計(jì)算剩余個(gè)數(shù)據(jù)的算術(shù)平均值,另外,考慮到計(jì)算速度與RAM大小,本文程序設(shè)置為10。這種改進(jìn)算法的優(yōu)點(diǎn)明顯,可有效消除偶然出現(xiàn)的脈沖性干擾引起的采樣值偏差,而且對(duì)于周期干擾有良好的抑制作用。紅外接收頭選用38 kHz接收頭,用于接收家中電視機(jī)和空調(diào)的紅外編碼。
2.6 安全性感知與控制
家居安全性的感知包括兩個(gè)方面:一是對(duì)煤氣、天然氣泄漏的檢測(cè);二是對(duì)外人入侵的檢測(cè),當(dāng)無人在家中時(shí),如果紅外監(jiān)測(cè)模塊檢測(cè)到有人通過門或窗進(jìn)入室內(nèi),則發(fā)送消息給家庭成員,及時(shí)報(bào)警[10]。
家居安全性的感知使用戶能夠擁有一個(gè)更加安全的環(huán)境。當(dāng)然用戶不希望家人在家時(shí)紅外檢測(cè)一直進(jìn)行,做飯時(shí)產(chǎn)生的油煙也可能會(huì)使燃?xì)鈾z測(cè)裝置一直報(bào)警,這時(shí)只需告訴智能小助手,“我回來了”、“我要做飯了”類似這樣的指令,紅外檢測(cè)裝置會(huì)自動(dòng)的停止檢測(cè),燃?xì)庑孤﹫?bào)警裝置停止報(bào)警,此時(shí)燃?xì)鈧鞲衅魅匀辉诓杉瘮?shù)據(jù),但向云平臺(tái)發(fā)送的數(shù)據(jù)經(jīng)過了取負(fù)處理,云平臺(tái)顯示做飯模式。燃?xì)庑孤┠K選用MQ2款傳感器,紅外運(yùn)動(dòng)檢測(cè)模塊選用HC?SR501人體熱釋電運(yùn)動(dòng)檢測(cè)傳感器。
2.7 能耗感知與控制
能耗感知與控制終端主要實(shí)現(xiàn)對(duì)家中各種用電設(shè)備的耗電監(jiān)測(cè)與遠(yuǎn)程開關(guān)控制,這樣即使不在家中仍然能夠控制家中電器。能耗檢測(cè)模塊可選用JSY?MK?109計(jì)量模塊,光照強(qiáng)度檢測(cè)模塊在本項(xiàng)目設(shè)計(jì)中采用BH1750FVI,其光強(qiáng)度探測(cè)范圍為1~65 535 lx。能耗感知與控制終端組成,如圖4所示。
3 智能終端與云平臺(tái)服務(wù)器的通信實(shí)現(xiàn)
3.1 利用Socket技術(shù)實(shí)現(xiàn)上層應(yīng)用程序通信
客戶端主機(jī)A上的上層應(yīng)用程序A要與服務(wù)器主機(jī)B上的上層應(yīng)用程序C實(shí)現(xiàn)通信,需要經(jīng)過下面幾個(gè)步驟:
(1) 網(wǎng)絡(luò)層的IP協(xié)議根據(jù)IP地址尋找目標(biāo)主機(jī);
(2) 找到目標(biāo)主機(jī)后根據(jù)TCP/IP協(xié)議建立連接(TCP或UDP);
(3) 建立Socket連接;
(4) 通過端口號(hào)從主機(jī)上運(yùn)行的多個(gè)應(yīng)用程序中找到指定的應(yīng)用程序。
3.2 數(shù)據(jù)上傳與反向控制流程設(shè)計(jì)
(1) 總體流程設(shè)計(jì)?;谖锫?lián)網(wǎng)公共云平臺(tái)的遠(yuǎn)程家庭感知與控制系統(tǒng)組成及各主要部分通信過程流程圖如圖5所示。
(2) TCP連接實(shí)現(xiàn)。在創(chuàng)建Socket連接時(shí),需要指定傳輸層協(xié)議(TCP或UDP),本項(xiàng)目長(zhǎng)連接反向控制基于TCP協(xié)議,因此在這種情況下可以說Socket連接就是TCP連接。Socket連接的建立流程主要包括:服務(wù)器監(jiān)聽、客戶端請(qǐng)求、連接確認(rèn)。
(3) HTTP請(qǐng)求Post數(shù)據(jù)實(shí)現(xiàn)。本設(shè)計(jì)中需要將傳感器數(shù)據(jù)上傳到云平臺(tái),因此用到的是Post方法,HTTP請(qǐng)求格式如表1所示。
4 系統(tǒng)整體測(cè)試
4.1 測(cè)試環(huán)境
為了測(cè)試系統(tǒng),首先需要搭建網(wǎng)絡(luò)環(huán)境:無線路由器一臺(tái)(型號(hào)TP?LINKTL?WR740N),IPv4默認(rèn)網(wǎng)關(guān)為192.168.1.1,該路由器能夠接入Internet,;以Arduino作為主控板的智能終端,程序中配置其IP地址為192.168.1.102,網(wǎng)絡(luò)控制器通過RJ45接口與WiFi模塊相連,WiFi模塊選用TPLINKTL?WR702N,并將其配置成客戶端工作模式,與TP?LINKTL?WR740N無線通信;Android操作系統(tǒng)移動(dòng)終端一臺(tái),使用HTCONE智能手機(jī),Android系統(tǒng)版本為5.0.2,使用Chrome瀏覽器,JavaScript版本為V84.2.77.15;PC機(jī)一臺(tái),操作系統(tǒng)為Windows 8。
4.2 功能測(cè)試
(1) 通過瀏覽器查看與控制環(huán)境數(shù)據(jù)
PC端打開瀏覽器,登陸平臺(tái)管理系統(tǒng)即可查看各傳感器設(shè)備實(shí)時(shí)的或最近一段時(shí)間的環(huán)境數(shù)值。用智能手機(jī)打開蜂窩數(shù)據(jù)流量開關(guān),在瀏覽器輸入網(wǎng)址,登陸賬號(hào)即可查看與控制設(shè)備。
(2) 本地語音控制測(cè)試
說出指令“瓦力”,回復(fù)“為您服務(wù)”;5 s內(nèi)沒有進(jìn)一步指令,回復(fù)“您什么都沒說”;5 s內(nèi)有進(jìn)一步指令“開燈”,執(zhí)行開燈操作,反饋執(zhí)行結(jié)果“燈已打開”;再次說“開燈”,回復(fù)“燈已打開”;指令關(guān)燈,回復(fù)“正在關(guān)燈”,執(zhí)行關(guān)燈操作。
(3) 微信命令測(cè)試
測(cè)試溫濕度查詢指令inquiry_th,平臺(tái)依據(jù)不同閾值設(shè)置的發(fā)送內(nèi)容成功返回?cái)?shù)據(jù)。
測(cè)試開關(guān)燈指令,平臺(tái)會(huì)返回執(zhí)行結(jié)果,發(fā)送open_light1指令時(shí),客廳燈開啟。
(4) 本地Web服務(wù)器功能測(cè)試
智能手機(jī)打開WiFi網(wǎng)絡(luò)開關(guān),接入無線路由器,則該手機(jī)與智能終端處于同一局域網(wǎng)環(huán)境,本文設(shè)計(jì)實(shí)現(xiàn)了Arduino作為Web服務(wù)器的功能,即使沒有Internet訪問時(shí),仍可以通過輸入網(wǎng)址訪問自己設(shè)計(jì)的Web頁面,進(jìn)行開關(guān)控制和傳感器數(shù)據(jù)查看。
5 結(jié) 論
本文在分析了智能家居的市場(chǎng)及研究現(xiàn)狀后,指出了現(xiàn)有智能家居系統(tǒng)的一些不足之處,針對(duì)這些問題,提出了一種基于物聯(lián)網(wǎng)公共云平臺(tái)的智能家居系統(tǒng)解決方案。本文對(duì)基于云平臺(tái)的智能家居系統(tǒng)做出了一定的探索研究,整個(gè)課題在一定程度上達(dá)到了預(yù)期的效果。
參考文獻(xiàn)
[1] 蘇本躍,王廣軍,章健.基于物聯(lián)網(wǎng)環(huán)境下體感交互技術(shù)的智能家居系統(tǒng)[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,44(z1):181?184.
[2] 沈蘇彬,楊震.物聯(lián)網(wǎng)體系結(jié)構(gòu)及其標(biāo)準(zhǔn)化[J].南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,35(1):1?18.
[3] 張一哲,楊曉晴,馬國慶.基于電力載波通信和RS485通信的住宅小區(qū)安防報(bào)警系統(tǒng)設(shè)計(jì)[J].電氣應(yīng)用,2013,32(10):50?53.
[4] 任榮.基于B/S結(jié)構(gòu)的智能家居系統(tǒng)的研究和實(shí)現(xiàn)[J].廣東通信技術(shù),2012(12):25?29.
[5] 楊斌,李仲龍,孫林花,等.PC+時(shí)代搭建智能家居平臺(tái)的探索與研究[J].電腦知識(shí)與技術(shù),2013(8):5133?5135.
[6] 吳佳興,李愛國.基于云計(jì)算的智能家居系統(tǒng)[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(7):240?243.
[7] 李鴻.幾種智能家居網(wǎng)絡(luò)控制系統(tǒng)方案的分析與比較[J].現(xiàn)代電子技術(shù),2010,33(3):143?146.
[8] 裴超.基于云計(jì)算的智能家居系統(tǒng)架構(gòu)研究[J].軟件導(dǎo)刊,2014,13(3):80?82.
[9] 張宏君,高曉婧.一種基于物聯(lián)網(wǎng)的智能配送終端系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2014,37(21):24?26.
[10] 李灝,楊海波.基于ARM的物聯(lián)網(wǎng)溫濕度采集節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2014,37(14):132?134.