作者:朱嶸良,單位:中國移動智慧家庭運營中心


(相關(guān)資料圖)

Labs 導(dǎo)讀

隨著社會發(fā)展,智能化給人們生活帶來了很大的便捷性,智能家居的應(yīng)用越來越廣泛,人們往往只需要一部手機就可以遠程管理家里的各種智能家居設(shè)備,那么這些智能設(shè)備與平臺間是如何進行數(shù)據(jù)交互的呢?本文以家庭網(wǎng)關(guān)為例,介紹設(shè)備與平臺間相關(guān)交互控制技術(shù)。

1傳統(tǒng)交互控制技術(shù)

在介紹設(shè)備平臺交互控制技術(shù)之前,我們先看下人們較為熟悉的傳統(tǒng)對光貓、路由器設(shè)備進行管理的交互方式。配置過路由器的都知道,我們可以通過連接路由器WiFi或插網(wǎng)線的方式,打開路由器的局域網(wǎng)管理頁面(例如:http://192.168.1.1),直接對路由器進行各種參數(shù)設(shè)置及管理。該方式主要是在路由器上起了一個內(nèi)網(wǎng)服務(wù),用戶可以通過連上路由器內(nèi)網(wǎng),訪問該服務(wù)。其缺點是只能在局域網(wǎng)內(nèi)使用,不便于遠程操作(雖然可以開啟遠程web管理,但增加了路由器暴露到公網(wǎng)的風險),同樣數(shù)據(jù)基本都在本地處理完成,在功能方面有很多局限性。因此,通常會考慮設(shè)備訪問平臺,由平臺對設(shè)備進行管理的方式。下面以家庭網(wǎng)關(guān)為例,主要介紹基于網(wǎng)關(guān)的設(shè)備平臺交互控制技術(shù)。

2基于網(wǎng)關(guān)的設(shè)備平臺交互控制技術(shù)

要想實現(xiàn)平臺對設(shè)備管理,需要在設(shè)備上安裝訪問平臺的服務(wù)(其表現(xiàn)形式為網(wǎng)關(guān)設(shè)備操作系統(tǒng)上的一個進程),由設(shè)備單向訪問平臺的方式進行數(shù)據(jù)上傳、獲取指令數(shù)據(jù)。設(shè)備訪問平臺常用協(xié)議主要有UDP、TCP兩種方式。其中,UDP是無連接傳輸協(xié)議,提供簡單非可靠信息傳送服務(wù),適合應(yīng)用于數(shù)據(jù)上報場景。而要想實現(xiàn)對設(shè)備的管理需要平臺向設(shè)備返回相應(yīng)的控制指令,往往采用TCP協(xié)議來進行控制指令交互。基于TCP協(xié)議的交互方式又分為長連接、短連接兩種方式。

2.1 基于TCP長連接的交互

TCP長連接模式下,設(shè)備與平臺幾乎一直保持連接(連接斷開時會重連),平臺可隨時向設(shè)備推送指令消息。下面以MQTT為例介紹其數(shù)據(jù)交互原理。MQTT是一個輕量級的發(fā)布/訂閱消息傳輸協(xié)議,基于TCP長連接進行通信。MQTT最初由Andy Stanford-Clark博士和 Arlen Nipper博士于1999年創(chuàng)建,它最初的用途是將石油管道上的傳感器與衛(wèi)星相連接,實現(xiàn)數(shù)千英里長的石油和天然氣管道的無人值守監(jiān)控,現(xiàn)已成為國內(nèi)外各大物聯(lián)網(wǎng)平臺最主流的傳輸協(xié)議之一[1,2]。

基于網(wǎng)關(guān)的設(shè)備平臺交互示意圖如圖1。在通訊過程中,MQTT協(xié)議中有三種身份:發(fā)布者(Publisher)、代理服務(wù)器(Broker)和訂閱者(Subscriber)。本案例中,業(yè)務(wù)平臺為消息發(fā)布者,MQTT服務(wù)是代理服務(wù)器,網(wǎng)關(guān)是訂閱者。其交互流程如下:平臺部署MQTT服務(wù),網(wǎng)關(guān)基于MQTT協(xié)議與平臺保持通信同時向平臺訂閱消息;用戶通過手機上的APP、小程序、WEB服務(wù)等載體向業(yè)務(wù)平臺發(fā)起對網(wǎng)關(guān)的遠程管理;業(yè)務(wù)平臺向MQTT服務(wù)發(fā)起發(fā)布消息請求;MQTT服務(wù)推送消息到網(wǎng)關(guān),網(wǎng)關(guān)收到消息后執(zhí)行相關(guān)指令。其中,消息的發(fā)布者和訂閱者都是客戶端,消息代理是服務(wù)器,消息發(fā)布者可以同時是訂閱者。

圖1

2.2 基于TCP短連接的交互

TCP短連接模式下,設(shè)備通過心跳輪詢機制與平臺保持通信,每次請求都會重新建立連接。在該模式下,設(shè)備平臺交互示意圖如圖2。交互流程如下:網(wǎng)關(guān)通過輪詢的方式(每隔一段時間發(fā)起請求)發(fā)起TCP心跳與設(shè)備平臺保持通信;當用戶通過客戶端向業(yè)務(wù)平臺發(fā)起遠程管理請求時,業(yè)務(wù)平臺向設(shè)備平臺發(fā)起指令通知;設(shè)備平臺記錄本次指令請求,待網(wǎng)關(guān)下一次發(fā)起心跳時,返回指令標識;網(wǎng)關(guān)根據(jù)收到的指令標識發(fā)起相應(yīng)的業(yè)務(wù)請求或執(zhí)行指令。

圖2

上述方式中,MQTT具有簡單、穩(wěn)定、開放、輕量級的特點,但所有設(shè)備都需要與平臺維持連接。TCP短連接心跳輪詢機制下,設(shè)備與平臺交互有一個輪詢周期,周期太短,平臺壓力很大;周期過長,可以降低平臺壓力,但業(yè)務(wù)處理不及時,體驗很差。當設(shè)備量達到億級以上時,無論是基于TCP長連接的MQTT通信還是基于TCP短連接的心跳輪詢機制,都存在平臺中心化的問題(所有設(shè)備都需要直接與平臺保持通信),導(dǎo)致平臺存在巨大的通信壓力。下面介紹一種改進方案“分層模式”。其示意圖如圖3。將對接網(wǎng)關(guān)的平臺改造成拆分成一級平臺、二級平臺模式,業(yè)務(wù)平臺對接一級平臺,一級平臺對接各二級平臺,每個二級平臺與一部分網(wǎng)關(guān)維持通信。這樣可以實現(xiàn)分散平臺壓力,但建立過多平臺也導(dǎo)致增加了平臺維護成本。

圖3

3邊緣計算

隨著5G的發(fā)展,催生了邊緣計算的發(fā)展,同樣上述交互方式可以通過邊緣計算方式實現(xiàn),其交互示意圖如圖4。主要改造點如下:賦能邊緣節(jié)點,原部署在網(wǎng)關(guān)上的業(yè)務(wù)管理服務(wù)上移到邊緣節(jié)點,由邊緣節(jié)點保持與平臺的通信,同時通過邊緣節(jié)點對其連接的網(wǎng)關(guān)進行管理。通過邊緣計算改造方式,可以大幅緩解云平臺通信壓力,同時能保障消息交互及時性,但需要對邊緣節(jié)點進行升級改造。

圖4

標簽: 家庭網(wǎng)關(guān) 交互控制 智能家居