于亦瀟+鄭其林+成欣雨
摘 要:隨著科技的發(fā)展,智能語(yǔ)音技術(shù)逐漸成熟,現(xiàn)已成為智能家居產(chǎn)品的前沿標(biāo)配??拼笥嶏w作為中國(guó)最大的智能語(yǔ)音技術(shù)提供商,其擁有的中文語(yǔ)音合成、語(yǔ)音識(shí)別等多項(xiàng)技術(shù)均處于國(guó)際領(lǐng)先地位。以科大訊飛語(yǔ)音技術(shù)為基礎(chǔ),使用語(yǔ)音這種最直接、自然的方式,采用MQTT即時(shí)通信協(xié)議作為系統(tǒng)模塊間的連接手段,實(shí)現(xiàn)紅外遙控、人體健康監(jiān)測(cè)、煙霧和氣體警報(bào)、App遠(yuǎn)程控制監(jiān)測(cè)等模塊功能,研發(fā)和構(gòu)建一套智能家居系統(tǒng),旨在為人們的家居生活提供便利,提升生活品質(zhì)。
關(guān)鍵詞:MQTT協(xié)議;語(yǔ)音識(shí)別;智能家居;App
中圖分類號(hào):TP391;TN929 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2017)11-00-03
0 引 言
隨著科學(xué)技術(shù)的迅猛發(fā)展,人們對(duì)生活環(huán)境和工作環(huán)境的要求不斷提高,開始步入網(wǎng)絡(luò)化和數(shù)字化的智能化社會(huì)。智能化是新世紀(jì)的發(fā)展趨勢(shì),智能家居應(yīng)運(yùn)而生。
目前國(guó)內(nèi)絕大多數(shù)家庭尚不具備使用智能家居的條件,一方面由于智能家居產(chǎn)品價(jià)格普遍偏高,另一方面是因?yàn)榇罅繌S家過分夸大智能家居的功能而實(shí)際卻無(wú)法達(dá)到所述效果,大量智能家居產(chǎn)品并不智能。所以對(duì)于大部分家庭來(lái)說(shuō),智能家居只是一個(gè)概念產(chǎn)品,且價(jià)格昂貴,不具有較好的實(shí)用性[1]。
盡管如此,中國(guó)的智能家居依舊在發(fā)展,家電智能化已從最初的“聯(lián)網(wǎng)”和“App化”逐漸轉(zhuǎn)向語(yǔ)音、圖像、手勢(shì)控制,智能化程度明顯提高。語(yǔ)音作為人與人之間最常用的交互方式,也必然將在未來(lái)的智能家居中廣泛使用[2]。
科大訊飛作為中國(guó)最大的智能語(yǔ)音技術(shù)提供商,其擁有的中文語(yǔ)音合成、語(yǔ)音識(shí)別等多項(xiàng)技術(shù)均處于國(guó)際領(lǐng)先地位[3]。以科大訊飛語(yǔ)音技術(shù)為基礎(chǔ),使用語(yǔ)音方式[4],采用MQTT即時(shí)通信協(xié)議作為系統(tǒng)模塊間的連接手段,實(shí)現(xiàn)紅外遙控、人體健康監(jiān)測(cè)、煙霧和氣體警報(bào)、App遠(yuǎn)程控制監(jiān)測(cè)等模塊功能,研發(fā)和構(gòu)建一套智能家居系統(tǒng)[5]。
MQTT是一個(gè)由IBM開發(fā)的物聯(lián)網(wǎng)傳輸協(xié)議,它被設(shè)計(jì)用于輕量級(jí)的發(fā)布/訂閱式消息傳輸。MQTT協(xié)議可保證傳輸可靠安全,采用消息推送機(jī)制,內(nèi)容推送靈活、自由,同時(shí)又具備低帶寬、低耗能、低成本的優(yōu)勢(shì),帶寬利用率高、耗電少,可作為家居物聯(lián)網(wǎng)信息傳輸?shù)闹饕獏f(xié)議。
本文采用MQTT傳輸協(xié)議設(shè)計(jì)了一套智能家居系統(tǒng)[6],該系統(tǒng)具有語(yǔ)音識(shí)別與控制、健康與家居安全檢測(cè)、語(yǔ)音提醒等功能。
1 系統(tǒng)設(shè)計(jì)
系統(tǒng)可方便用戶通過手機(jī)App用語(yǔ)音控制紅外家電,并可以在手機(jī)App上查看系統(tǒng)中家居安全監(jiān)測(cè)模塊、健康檢測(cè)模塊等的數(shù)據(jù)。
系統(tǒng)以家庭主機(jī)作為數(shù)據(jù)轉(zhuǎn)發(fā)中心,在設(shè)計(jì)上采用了模塊化方案,各模塊與家庭主機(jī)之間采用MQTT協(xié)議進(jìn)行數(shù)據(jù)傳輸。各模塊作為MQTT訂閱者從家庭主機(jī)接收指令,同時(shí)作為MQTT發(fā)布者將各模塊數(shù)據(jù)上傳給家庭主機(jī);為了使手機(jī)App的使用不局限于家中的局域網(wǎng),將家庭主機(jī)通過路由器連接到遠(yuǎn)程服務(wù)器,在服務(wù)器上運(yùn)行mosquitto代理服務(wù),同樣使用MQTT協(xié)議進(jìn)行手機(jī)App和家庭主機(jī)之間數(shù)據(jù)的傳輸。
系統(tǒng)結(jié)構(gòu)如圖1所示。
在系統(tǒng)中,家庭主機(jī)通過創(chuàng)建WiFi熱點(diǎn)供其他模塊接入,以搭建本地局域網(wǎng)。此外,家庭主機(jī)作為所有模塊的數(shù)據(jù)匯集、轉(zhuǎn)發(fā)中心,可以對(duì)接收到的數(shù)據(jù)進(jìn)行處理,從而在家庭主機(jī)上添加各模塊數(shù)據(jù)顯示、語(yǔ)音播報(bào)、異常報(bào)警等相關(guān)功能。
使用者通過手機(jī)App與系統(tǒng)進(jìn)行交互,手機(jī)App通過對(duì)語(yǔ)音命令進(jìn)行識(shí)別,進(jìn)而通過遠(yuǎn)程服務(wù)器向家庭主機(jī)發(fā)送命令,或直接接入家中局域網(wǎng),向家庭主機(jī)發(fā)送命令。
2 語(yǔ)音識(shí)別技術(shù)
考慮到語(yǔ)音識(shí)別算法的復(fù)雜性,且科大訊飛擁有成熟的語(yǔ)音識(shí)別技術(shù),并推出了以語(yǔ)音交互技術(shù)為核心的人工智能開放平臺(tái),為開發(fā)者免費(fèi)提供語(yǔ)音識(shí)別、語(yǔ)音合成等語(yǔ)音技術(shù)SDK。所以系統(tǒng)以科大訊飛的語(yǔ)音技術(shù)為基礎(chǔ),將訊飛的相關(guān)庫(kù)集成到系統(tǒng)App中,成功實(shí)現(xiàn)了對(duì)語(yǔ)音命令的快速識(shí)別與理解。手機(jī)App將使用者語(yǔ)音命令的錄音上傳到訊飛云端服務(wù)器,在服務(wù)器上進(jìn)行語(yǔ)音識(shí)別,識(shí)別出使用者的語(yǔ)音命令,然后根據(jù)一定的語(yǔ)法規(guī)范提取出語(yǔ)音命令中的關(guān)鍵字,構(gòu)成JSON字符串,將該JSON字符串返回到手機(jī)App。手機(jī)App對(duì)該JSON字符串進(jìn)行解析,從而獲得使用者語(yǔ)音命令的具體含義,進(jìn)行下一步操作。
語(yǔ)音識(shí)別流程如圖2所示。
3 MQTT協(xié)議簡(jiǎn)介
MQTT是IBM開發(fā)的一個(gè)即時(shí)通訊協(xié)議,是面向M2M和物聯(lián)網(wǎng)的連接協(xié)議,采用輕量級(jí)發(fā)布和訂閱消息傳輸機(jī)制。MQTT中的關(guān)鍵組件是MQTT代理(Broker),其主要任務(wù)是將消息派發(fā)給訂閱者[7]。即發(fā)布者接收消息,然后把消息轉(zhuǎn)發(fā)給訂閱者。轉(zhuǎn)發(fā)消息時(shí),MQTT代理使用話題(Topic)來(lái)過濾客戶端。話題就像一個(gè)虛擬通道,把發(fā)布者與其訂閱者連接起來(lái)。話題由MQTT代理管理。通過話題進(jìn)行消息傳輸,消息生產(chǎn)者(發(fā)布者)和消息消費(fèi)者(訂閱者)之間沒有直接依賴關(guān)系,所以該協(xié)議高度可擴(kuò)展。
MQTT架構(gòu)如圖3所示。
4 基于MQTT協(xié)議制定系統(tǒng)數(shù)據(jù)傳輸規(guī)范
系統(tǒng)中家庭主機(jī)和遠(yuǎn)程服務(wù)器同時(shí)開啟MQTT代理服務(wù)。在家中,家庭主機(jī)開啟代理并訂閱相應(yīng)Topic的消息,各模塊連接家庭主機(jī)創(chuàng)建的熱點(diǎn),作為MQTT的Publisher,向家庭主機(jī)發(fā)送數(shù)據(jù)。遠(yuǎn)程服務(wù)器也開啟MQTT代理并訂閱相應(yīng)Topic的消息,家庭主機(jī)接收到數(shù)據(jù)后,作為MQTT的Publisher,以相應(yīng)的Topic將數(shù)據(jù)轉(zhuǎn)發(fā)給遠(yuǎn)程服務(wù)器,服務(wù)器再把數(shù)據(jù)推送給手機(jī)App[8]。
4.1 家庭主機(jī)轉(zhuǎn)發(fā)進(jìn)程(連接到遠(yuǎn)程服務(wù)器)
家庭主機(jī)向遠(yuǎn)程服務(wù)器訂閱Name主題以及各模塊使用的主題,在模塊上線后將模塊名以Name主題發(fā)送給遠(yuǎn)程服務(wù)器,家庭主機(jī)作為遠(yuǎn)程服務(wù)器的訂閱者,將從各模塊主題收到的內(nèi)容以同樣的主題轉(zhuǎn)發(fā)到本地代理,當(dāng)本地代理收到模塊上傳的信息后則以該模塊名為主題轉(zhuǎn)發(fā)信息給遠(yuǎn)程服務(wù)器。endprint
家庭主機(jī)規(guī)范流程如圖4所示。
4.2 各模塊進(jìn)程(連接到家庭主機(jī)代理)
首先發(fā)送消息:Topic=Name,內(nèi)容為模塊名(如“紅外”、“心率”、“血氧”、“MQ2”、“MQ7”)。MQ2和MQ7以自己的模塊名Topic(如MQ2,MQ7)發(fā)送消息,紅外以Topic=Ray訂閱消息。上述模塊發(fā)送消息時(shí)都應(yīng)把QoS設(shè)為1。
模塊規(guī)范流程如圖5所示。
4.3 手機(jī)App進(jìn)程
不管是連入家庭主機(jī)的WiFi熱點(diǎn),還是連接遠(yuǎn)程服務(wù)器,都要訂閱Topic=Name主題來(lái)添加模塊。同時(shí)以接收到的內(nèi)容為主題訂閱消息(如Topic=MQ2)[9],不管在何處都可接收消息。
上述規(guī)范中各模塊運(yùn)行統(tǒng)一的數(shù)據(jù)傳輸協(xié)議進(jìn)行數(shù)據(jù)傳輸。若之后還需為系統(tǒng)添加更多的功能模塊,僅需在新添加的模塊上運(yùn)行制定的數(shù)據(jù)傳輸協(xié)議就可進(jìn)行系統(tǒng)功能的擴(kuò)展,同時(shí)也便于手機(jī)App接收及顯示模塊名稱和相關(guān)信息,方便用戶查看。
App規(guī)范流程如圖6所示。
5 結(jié) 語(yǔ)
本套系統(tǒng)引入語(yǔ)音識(shí)別,實(shí)現(xiàn)語(yǔ)音對(duì)系統(tǒng)中各模塊的控制以及數(shù)據(jù)讀取。使用者通過發(fā)送語(yǔ)音命令取代一系列需要?jiǎng)邮值牟僮?,大大提高了生活的便利性。系統(tǒng)基于MQTT協(xié)議,制定獨(dú)有的數(shù)據(jù)傳輸規(guī)范。家庭主機(jī)通過創(chuàng)建WiFi熱點(diǎn)接入系統(tǒng)中的其他模塊,搭建本地局域網(wǎng)。系統(tǒng)中的各模塊按照制定的數(shù)據(jù)傳輸規(guī)范進(jìn)行數(shù)據(jù)傳輸,使得手機(jī)App的操作大大簡(jiǎn)化,且更加人性化,同時(shí)使得系統(tǒng)添加模塊變得十分方便,具有很好的拓展性。
參考文獻(xiàn)
[1]俞文俊,凌志浩.一種物聯(lián)網(wǎng)智能家居系統(tǒng)的研究[J].自動(dòng)化儀表,2011,32(8):56-59.
[2]何婉榕.關(guān)于人工智能與語(yǔ)音識(shí)別技術(shù)的研究[J].科技尚品, 2017(3):182.
[3]宗明明,魏瑜萱,高健.基于通用設(shè)計(jì)理念的空巢老年人生活輔助用品設(shè)計(jì)研究[J].設(shè)計(jì), 2015(11):47-50.
[4]袁彬,肖波,侯玉華,等.移動(dòng)智能終端語(yǔ)音交互技術(shù)現(xiàn)狀及發(fā)展趨勢(shì)[J].信息通信技術(shù), 2014(2):39-43.
[5] Luzuriaga J E, Cano J C, Calafate C, et al. Handling mobility in IoT applications using the MQTT protocol[C]//Internet Technologies and Applications. IEEE, 2015:245-250.
[6]袁麓,許艾明,童昭維.一種基于三網(wǎng)融合的智能家居網(wǎng)關(guān)系統(tǒng)的研究[J].中國(guó)有線電視, 2013(2):130-133.
[7] Hunkeler U,Truong H L, Stanford-Clark A. In MQTT-S: A Publish/Subscribe Protocol for Wireless Sensor Networks[C]//International Conference on Communication Systems Software and MIDDLEWARE and Workshops, 2008. Comsware. IEEE, 2008:791-798.
[8] Tang K, Wang Y, Liu H, et al. Design and Implementation of Push Notification System Based on the MQTT Protocol[Z]. 2013:116-119.
[9] Barata D, Louzada G, Carreiro A, et al. System of Acquisition, Transmission, Storage and Visualization of Pulse Oximeter and ECG Data Using Android and MQTT[J].Procedia Technology, 2013(9):1265-1272.
[10] Collina M, Corazza G E, Vanelli-Coralli A. Introducing the QEST broker: Scaling the IoT by bridging MQTT and REST[Z].2012:36-41.endprint