于亦瀟+鄭其林+成欣雨
摘 要:隨著科技的發(fā)展,智能語音技術逐漸成熟,現(xiàn)已成為智能家居產(chǎn)品的前沿標配??拼笥嶏w作為中國最大的智能語音技術提供商,其擁有的中文語音合成、語音識別等多項技術均處于國際領先地位。以科大訊飛語音技術為基礎,使用語音這種最直接、自然的方式,采用MQTT即時通信協(xié)議作為系統(tǒng)模塊間的連接手段,實現(xiàn)紅外遙控、人體健康監(jiān)測、煙霧和氣體警報、App遠程控制監(jiān)測等模塊功能,研發(fā)和構建一套智能家居系統(tǒng),旨在為人們的家居生活提供便利,提升生活品質(zhì)。
關鍵詞:MQTT協(xié)議;語音識別;智能家居;App
中圖分類號:TP391;TN929 文獻標識碼:A 文章編號:2095-1302(2017)11-00-03
0 引 言
隨著科學技術的迅猛發(fā)展,人們對生活環(huán)境和工作環(huán)境的要求不斷提高,開始步入網(wǎng)絡化和數(shù)字化的智能化社會。智能化是新世紀的發(fā)展趨勢,智能家居應運而生。
目前國內(nèi)絕大多數(shù)家庭尚不具備使用智能家居的條件,一方面由于智能家居產(chǎn)品價格普遍偏高,另一方面是因為大量廠家過分夸大智能家居的功能而實際卻無法達到所述效果,大量智能家居產(chǎn)品并不智能。所以對于大部分家庭來說,智能家居只是一個概念產(chǎn)品,且價格昂貴,不具有較好的實用性[1]。
盡管如此,中國的智能家居依舊在發(fā)展,家電智能化已從最初的“聯(lián)網(wǎng)”和“App化”逐漸轉向語音、圖像、手勢控制,智能化程度明顯提高。語音作為人與人之間最常用的交互方式,也必然將在未來的智能家居中廣泛使用[2]。
科大訊飛作為中國最大的智能語音技術提供商,其擁有的中文語音合成、語音識別等多項技術均處于國際領先地位[3]。以科大訊飛語音技術為基礎,使用語音方式[4],采用MQTT即時通信協(xié)議作為系統(tǒng)模塊間的連接手段,實現(xiàn)紅外遙控、人體健康監(jiān)測、煙霧和氣體警報、App遠程控制監(jiān)測等模塊功能,研發(fā)和構建一套智能家居系統(tǒng)[5]。
MQTT是一個由IBM開發(fā)的物聯(lián)網(wǎng)傳輸協(xié)議,它被設計用于輕量級的發(fā)布/訂閱式消息傳輸。MQTT協(xié)議可保證傳輸可靠安全,采用消息推送機制,內(nèi)容推送靈活、自由,同時又具備低帶寬、低耗能、低成本的優(yōu)勢,帶寬利用率高、耗電少,可作為家居物聯(lián)網(wǎng)信息傳輸?shù)闹饕獏f(xié)議。
本文采用MQTT傳輸協(xié)議設計了一套智能家居系統(tǒng)[6],該系統(tǒng)具有語音識別與控制、健康與家居安全檢測、語音提醒等功能。
1 系統(tǒng)設計
系統(tǒng)可方便用戶通過手機App用語音控制紅外家電,并可以在手機App上查看系統(tǒng)中家居安全監(jiān)測模塊、健康檢測模塊等的數(shù)據(jù)。
系統(tǒng)以家庭主機作為數(shù)據(jù)轉發(fā)中心,在設計上采用了模塊化方案,各模塊與家庭主機之間采用MQTT協(xié)議進行數(shù)據(jù)傳輸。各模塊作為MQTT訂閱者從家庭主機接收指令,同時作為MQTT發(fā)布者將各模塊數(shù)據(jù)上傳給家庭主機;為了使手機App的使用不局限于家中的局域網(wǎng),將家庭主機通過路由器連接到遠程服務器,在服務器上運行mosquitto代理服務,同樣使用MQTT協(xié)議進行手機App和家庭主機之間數(shù)據(jù)的傳輸。
系統(tǒng)結構如圖1所示。
在系統(tǒng)中,家庭主機通過創(chuàng)建WiFi熱點供其他模塊接入,以搭建本地局域網(wǎng)。此外,家庭主機作為所有模塊的數(shù)據(jù)匯集、轉發(fā)中心,可以對接收到的數(shù)據(jù)進行處理,從而在家庭主機上添加各模塊數(shù)據(jù)顯示、語音播報、異常報警等相關功能。
使用者通過手機App與系統(tǒng)進行交互,手機App通過對語音命令進行識別,進而通過遠程服務器向家庭主機發(fā)送命令,或直接接入家中局域網(wǎng),向家庭主機發(fā)送命令。
2 語音識別技術
考慮到語音識別算法的復雜性,且科大訊飛擁有成熟的語音識別技術,并推出了以語音交互技術為核心的人工智能開放平臺,為開發(fā)者免費提供語音識別、語音合成等語音技術SDK。所以系統(tǒng)以科大訊飛的語音技術為基礎,將訊飛的相關庫集成到系統(tǒng)App中,成功實現(xiàn)了對語音命令的快速識別與理解。手機App將使用者語音命令的錄音上傳到訊飛云端服務器,在服務器上進行語音識別,識別出使用者的語音命令,然后根據(jù)一定的語法規(guī)范提取出語音命令中的關鍵字,構成JSON字符串,將該JSON字符串返回到手機App。手機App對該JSON字符串進行解析,從而獲得使用者語音命令的具體含義,進行下一步操作。
語音識別流程如圖2所示。
3 MQTT協(xié)議簡介
MQTT是IBM開發(fā)的一個即時通訊協(xié)議,是面向M2M和物聯(lián)網(wǎng)的連接協(xié)議,采用輕量級發(fā)布和訂閱消息傳輸機制。MQTT中的關鍵組件是MQTT代理(Broker),其主要任務是將消息派發(fā)給訂閱者[7]。即發(fā)布者接收消息,然后把消息轉發(fā)給訂閱者。轉發(fā)消息時,MQTT代理使用話題(Topic)來過濾客戶端。話題就像一個虛擬通道,把發(fā)布者與其訂閱者連接起來。話題由MQTT代理管理。通過話題進行消息傳輸,消息生產(chǎn)者(發(fā)布者)和消息消費者(訂閱者)之間沒有直接依賴關系,所以該協(xié)議高度可擴展。
MQTT架構如圖3所示。
4 基于MQTT協(xié)議制定系統(tǒng)數(shù)據(jù)傳輸規(guī)范
系統(tǒng)中家庭主機和遠程服務器同時開啟MQTT代理服務。在家中,家庭主機開啟代理并訂閱相應Topic的消息,各模塊連接家庭主機創(chuàng)建的熱點,作為MQTT的Publisher,向家庭主機發(fā)送數(shù)據(jù)。遠程服務器也開啟MQTT代理并訂閱相應Topic的消息,家庭主機接收到數(shù)據(jù)后,作為MQTT的Publisher,以相應的Topic將數(shù)據(jù)轉發(fā)給遠程服務器,服務器再把數(shù)據(jù)推送給手機App[8]。
4.1 家庭主機轉發(fā)進程(連接到遠程服務器)
家庭主機向遠程服務器訂閱Name主題以及各模塊使用的主題,在模塊上線后將模塊名以Name主題發(fā)送給遠程服務器,家庭主機作為遠程服務器的訂閱者,將從各模塊主題收到的內(nèi)容以同樣的主題轉發(fā)到本地代理,當本地代理收到模塊上傳的信息后則以該模塊名為主題轉發(fā)信息給遠程服務器。endprint
家庭主機規(guī)范流程如圖4所示。
4.2 各模塊進程(連接到家庭主機代理)
首先發(fā)送消息:Topic=Name,內(nèi)容為模塊名(如“紅外”、“心率”、“血氧”、“MQ2”、“MQ7”)。MQ2和MQ7以自己的模塊名Topic(如MQ2,MQ7)發(fā)送消息,紅外以Topic=Ray訂閱消息。上述模塊發(fā)送消息時都應把QoS設為1。
模塊規(guī)范流程如圖5所示。
4.3 手機App進程
不管是連入家庭主機的WiFi熱點,還是連接遠程服務器,都要訂閱Topic=Name主題來添加模塊。同時以接收到的內(nèi)容為主題訂閱消息(如Topic=MQ2)[9],不管在何處都可接收消息。
上述規(guī)范中各模塊運行統(tǒng)一的數(shù)據(jù)傳輸協(xié)議進行數(shù)據(jù)傳輸。若之后還需為系統(tǒng)添加更多的功能模塊,僅需在新添加的模塊上運行制定的數(shù)據(jù)傳輸協(xié)議就可進行系統(tǒng)功能的擴展,同時也便于手機App接收及顯示模塊名稱和相關信息,方便用戶查看。
App規(guī)范流程如圖6所示。
5 結 語
本套系統(tǒng)引入語音識別,實現(xiàn)語音對系統(tǒng)中各模塊的控制以及數(shù)據(jù)讀取。使用者通過發(fā)送語音命令取代一系列需要動手的操作,大大提高了生活的便利性。系統(tǒng)基于MQTT協(xié)議,制定獨有的數(shù)據(jù)傳輸規(guī)范。家庭主機通過創(chuàng)建WiFi熱點接入系統(tǒng)中的其他模塊,搭建本地局域網(wǎng)。系統(tǒng)中的各模塊按照制定的數(shù)據(jù)傳輸規(guī)范進行數(shù)據(jù)傳輸,使得手機App的操作大大簡化,且更加人性化,同時使得系統(tǒng)添加模塊變得十分方便,具有很好的拓展性。
參考文獻
[1]俞文俊,凌志浩.一種物聯(lián)網(wǎng)智能家居系統(tǒng)的研究[J].自動化儀表,2011,32(8):56-59.
[2]何婉榕.關于人工智能與語音識別技術的研究[J].科技尚品, 2017(3):182.
[3]宗明明,魏瑜萱,高健.基于通用設計理念的空巢老年人生活輔助用品設計研究[J].設計, 2015(11):47-50.
[4]袁彬,肖波,侯玉華,等.移動智能終端語音交互技術現(xiàn)狀及發(fā)展趨勢[J].信息通信技術, 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)關系統(tǒng)的研究[J].中國有線電視, 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