一種智能家居服務(wù)器和智能家居系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種智能家居服務(wù)器和智能家居系統(tǒng),智能家居服務(wù)器包括XMPP服務(wù)器和STUN服務(wù)器,XMPP服務(wù)器與客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)通過XMPP協(xié)議來實(shí)現(xiàn)通信功能;STUN服務(wù)器與客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)通過ACE協(xié)議來實(shí)現(xiàn)P2P通道建立功能,因此,本發(fā)明中的智能家居服務(wù)器可以為P2P通信提供支持,保證了信息的快速準(zhǔn)確傳遞,并且由于XMPP協(xié)議的自定義消息類型可擴(kuò)展的特性,可以提供自定義的XMPP服務(wù)。智能家居系統(tǒng)包括如前所述的智能家居服務(wù)器、客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)。
【專利說明】一種智能家居服務(wù)器和智能家居系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及智能家居領(lǐng)域,具體涉及一種智能家居服務(wù)器和智能家居系統(tǒng)。
【背景技術(shù)】
[0002] 智能家居是物聯(lián)網(wǎng)很重要的應(yīng)用組成部分,智能家居系統(tǒng)中的物聯(lián)網(wǎng)網(wǎng)關(guān)與系統(tǒng) 中的各類傳感器以及客戶端通信連接,可以實(shí)現(xiàn)家庭的防盜、防劫、防水火、緊急救援等多 項(xiàng)信息的感知和信息的實(shí)施處置,將技防、物防和人防有機(jī)地結(jié)合在一起,達(dá)到平安家庭的 目標(biāo),提升了百姓生活的家庭幸福感受。
[0003] 目前,可以采用中央代理或者重定向服務(wù)來實(shí)現(xiàn)客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)的通信,但 是這些方法容易出現(xiàn)信息的丟失、出錯(cuò),并且信息的傳遞速度慢。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實(shí)施例提供一種智能家居服務(wù)器,包括XMPP服務(wù)器和STUN服務(wù)器,所述 XMPP服務(wù)器與客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)通過XMPP協(xié)議來實(shí)現(xiàn)相互通信,所述STUN服務(wù)器與所 述客戶端和所述物聯(lián)網(wǎng)網(wǎng)關(guān)通過ACE協(xié)議在所述客戶端和所述物聯(lián)網(wǎng)網(wǎng)關(guān)之間建立P2P通 道。
[0005] 本發(fā)明實(shí)施例還提供一種智能家居系統(tǒng),包括如前述的智能家居服務(wù)器、客戶端 和物聯(lián)網(wǎng)網(wǎng)關(guān)。
[0006] 在本發(fā)明中,智能家居服務(wù)器包括XMPP服務(wù)器和STUN服務(wù)器,XMPP服務(wù)器與客 戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)通過XMPP協(xié)議來實(shí)現(xiàn)通信功能;STUN服務(wù)器與客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)通 過ACE協(xié)議來實(shí)現(xiàn)P2P通道建立功能,因此,本發(fā)明中的智能家居服務(wù)器可以為P2P通信 提供支持,保證了信息的快速準(zhǔn)確傳遞,并且由于XMPP協(xié)議的自定義消息類型可擴(kuò)展的特 性,可以提供自定義的XMPP服務(wù)。
【專利附圖】
【附圖說明】
[0007] 圖1為本發(fā)明實(shí)施例中的一種智能家居服務(wù)器的結(jié)構(gòu)示意圖;
[0008] 圖2為本發(fā)明實(shí)施例中的TLS握手的流程示意圖;
[0009] 圖3為本發(fā)明實(shí)施例中的SASL握手的流程示意圖;
[0010] 圖4為本發(fā)明實(shí)施例中的一種智能家居服務(wù)器的STUN服務(wù)器和客戶端的通信流 程不意圖;
[0011] 圖5為本發(fā)明實(shí)施例中的一種智能家居系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0012] 參見圖1,本發(fā)明實(shí)施例中的智能家居服務(wù)器101包括XMPP服務(wù)器1011和STUN服 務(wù)器1012, XMPP服務(wù)器1011與客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)通過XMPP協(xié)議來實(shí)現(xiàn)相互通信,STUN 服務(wù)器1012與客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)通過ACE協(xié)議在客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)之間建立P2P通 道。
[0013] 可擴(kuò)展消息與出席協(xié)議(XMPP,Extensible Messaging and Pressence Protocol) 是一種基于可擴(kuò)展標(biāo)記語言XML的開放式協(xié)議,客戶端通過TCP連接直接連到XMPP服務(wù)器 1011,并通過XMPP協(xié)議獲得由XMPP服務(wù)器1011所提供的全部功能,多個(gè)不同資源(比如 不同的設(shè)備和地點(diǎn))的客戶端可以同時(shí)登陸并且并發(fā)的連接到XMPP服務(wù)器1011上。
[0014] 在智能家居系統(tǒng)中,物聯(lián)網(wǎng)網(wǎng)關(guān)可以和智能家居系統(tǒng)中的各類傳感器以及客戶端 通信連接,除此之外,在本實(shí)施例中,物聯(lián)網(wǎng)網(wǎng)關(guān)還通過XMPP協(xié)議和XMPP服務(wù)器1011通 信,物聯(lián)網(wǎng)網(wǎng)關(guān)可以把XMPP翻譯成外部(非XMPP)消息系統(tǒng),并把返回的消息翻譯成XMPP。
[0015] 由于XMPP協(xié)議的自定義消息類型可擴(kuò)展的特性,XMPP可以創(chuàng)建自定義的擴(kuò)展, 來處理特定的業(yè)務(wù)邏輯,例如可以通過在IQ(Inf 〇/Query)里面定義屬性或者自定XSD(XML Schemas Definition)等方式來創(chuàng)建自定義的擴(kuò)展,從而提供自定義的XMPP服務(wù)。
[0016] 簡(jiǎn)單的用 UDP 穿透 NAT (STUN,Simple Traversal of UDP Through NATs)是個(gè)輕 量級(jí)的協(xié)議,STUN服務(wù)器1012可以用于終端設(shè)備檢查由NAT分配給終端的IP地址和端口 號(hào),也用于檢查兩個(gè)終端之間的連接性。STUN服務(wù)器1012與客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)通過ACE 協(xié)議在客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)之間建立P2P通道。
[0017] 在本發(fā)明實(shí)施例中,智能家居服務(wù)器包括XMPP服務(wù)器和STUN服務(wù)器,XMPP服務(wù) 器與客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)通過XMPP協(xié)議來實(shí)現(xiàn)通信功能;STUN服務(wù)器與客戶端和物聯(lián)網(wǎng) 網(wǎng)關(guān)通過ACE協(xié)議來實(shí)現(xiàn)P2P通道建立功能,因此,本發(fā)明中的智能家居服務(wù)器可以為P2P 通信提供支持,保證了信息的快速準(zhǔn)確傳遞,并且由于XMPP協(xié)議的自定義消息類型可擴(kuò)展 的特性,可以提供自定義的XMPP服務(wù)。
[0018] 盡管XMPP沒有指定任何特定的網(wǎng)絡(luò)結(jié)構(gòu),但它通常是采用客戶-服務(wù)器架構(gòu)進(jìn)行 實(shí)現(xiàn),其中客戶端通過TCP方式使用XMPP訪問XMPP服務(wù)器。XMPP協(xié)議中的層的次序必須 (MUST)如下堆積:1) TCP ; 2) TLS ; 3) SASL ; 4) XMPP。
[0019] 一個(gè)XML流相當(dāng)于一個(gè)會(huì)話期間所有XML節(jié)的一個(gè)信封,客戶端或XMPP服務(wù)器發(fā) 送的所有XML文本連綴在一起,從〈stream〉到〈/stream〉構(gòu)成了一個(gè)完整的XML文檔,其 中的 stream 標(biāo)簽就是 XML Stream。在〈stream〉與〈/stream〉中間的那些〈messageX/ message〉這樣的XML元素就是XML節(jié)(XML Stanza)。XMPP協(xié)議的核心協(xié)議通信的基本模 式就是先建立一個(gè)流(stream),通過TCP/IP連接到XMPP服務(wù)器,然后XMPP服務(wù)器和客 戶端協(xié)商TLS和SASL進(jìn)行身份驗(yàn)證和安全協(xié)商,通信過程就是在網(wǎng)絡(luò)上分片斷發(fā)送XML Stanza,一個(gè)接一個(gè)。XMPP服務(wù)器根據(jù)客戶端發(fā)送的信息以及程序的邏輯,發(fā)送XML Stanza 給客戶端。通信的最后階段是〈/stream〉關(guān)閉流,關(guān)閉TCP/IP連接。
[0020] 下面將詳細(xì)闡述XMPP服務(wù)器和客戶端協(xié)商TLS和SASL進(jìn)行身份驗(yàn)證和安全協(xié)商 的流程,
[0021] 參見圖2,首先是TLS的使用,進(jìn)行TLS握手。在本實(shí)施例中,TLS握手在SASL握 手之前完成;這個(gè)順序用于幫助保護(hù)SASL握手時(shí)發(fā)送的認(rèn)證信息的安全,同時(shí)可以在必要 的時(shí)候在TLS握手之前為SASL外部機(jī)制提供證書。
[0022] 201、客戶端初始化流給XMPP服務(wù)器;
[0023] 〈stream:stream xmlns = ' jabber:client'xmlns:stream = ' http://etherx. jabber, org/streams' to = ' example, com' version = ' L 0' >
[0024] 202、XMPP服務(wù)器發(fā)送一個(gè)流標(biāo)簽給客戶端作為應(yīng)答;
[0025] 〈stream:stream xmlns = ' jabber:client'xmlns:stream = ' http://etherx. jabber, org/streams' id = ' c2s_123' from = ' example, com' version = ' L 0' >
[0026] 203、XMPP服務(wù)器發(fā)送STARTTLS范圍給客戶端,STARTTLS范圍包括驗(yàn)證機(jī)制和任 何其他流特性;
【權(quán)利要求】
1. 一種智能家居服務(wù)器,其特征在于,包括XMPP服務(wù)器和STUN服務(wù)器,所述XMPP服務(wù) 器與客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)通過XMPP協(xié)議來實(shí)現(xiàn)相互通信,所述STUN服務(wù)器與所述客戶端 和所述物聯(lián)網(wǎng)網(wǎng)關(guān)通過ACE協(xié)議在所述客戶端和所述物聯(lián)網(wǎng)網(wǎng)關(guān)之間建立P2P通道。
2. 根據(jù)權(quán)利要求1所述的智能家居服務(wù)器,其特征在于,所述XMPP服務(wù)器與客戶端和 物聯(lián)網(wǎng)網(wǎng)關(guān)通過XMPP協(xié)議來實(shí)現(xiàn)相互通信,具體為: 所述客戶端建立一個(gè)流,通過TCP/IP連接到所述XMPP服務(wù)器; 所述XMPP服務(wù)器和所述客戶端協(xié)商TLS和SASL進(jìn)行身份驗(yàn)證和安全協(xié)商; 當(dāng)通過身份驗(yàn)證和安全協(xié)商之后,所述XMPP服務(wù)器向所述客戶端發(fā)送XML節(jié)。
3. 根據(jù)權(quán)利要求1或2所述的智能家居服務(wù)器,其特征在于,所述XMPP服務(wù)器和所述 客戶端協(xié)商TLS和SASL進(jìn)行身份驗(yàn)證和安全協(xié)商的步驟,具體為: 所述客戶端初始化流給所述XMPP服務(wù)器,所述XMPP服務(wù)器發(fā)送一個(gè)流標(biāo)簽給所述客 戶端作為應(yīng)答; 所述XMPP服務(wù)器發(fā)送STARTTLS范圍給所述客戶端,所述客戶端發(fā)送STARTTLS命令給 所述XMPP服務(wù)器,所述XMPP服務(wù)器處理該STARTTLS命令; 根據(jù)所述XMPP服務(wù)器處理該STARTTLS命令的處理結(jié)果,所述XMPP服務(wù)器通知所述客 戶端可以繼續(xù)進(jìn)行,或者所述XMPP服務(wù)器通知所述客戶端TLS握手失敗并關(guān)閉流和TCP連 接; 在所述XMPP服務(wù)器通知所述客戶端可以繼續(xù)進(jìn)行之后,所述客戶端和所述XMPP服務(wù) 器嘗試通過已有的TCP連接完成TLS握手; 如果TLS握手成功,所述客戶端初始化一個(gè)新的流給所述XMPP服務(wù)器,所述XMPP服務(wù) 器發(fā)送一個(gè)流頭信息應(yīng)答所述客戶端; 如果TLS握手不成功,所述XMPP服務(wù)器關(guān)閉TCP連接; 所述客戶端初始化流給所述XMPP服務(wù)器,所述XMPP服務(wù)器向所述客戶端發(fā)送流標(biāo)簽 作為應(yīng)答; 所述XMPP服務(wù)器通知所述客戶端可用的驗(yàn)證機(jī)制,所述客戶端選擇一個(gè)驗(yàn)證機(jī)制; 所述XMPP服務(wù)器發(fā)送一個(gè)[BASE64]編碼一的挑戰(zhàn)給所述客戶端,所述客戶端發(fā)送一 個(gè)[BASE64]編碼二的回應(yīng),用于回應(yīng)所述編碼一的挑戰(zhàn); 所述XMPP服務(wù)器發(fā)送另一個(gè)[BASE64]編碼三的挑戰(zhàn)給所述客戶端,所述客戶端應(yīng)答 所述編碼三的挑戰(zhàn); 根據(jù)所述客戶端的應(yīng)答結(jié)果,所述XMPP服務(wù)器通知所述客戶端驗(yàn)證成功或者所述 XMPP服務(wù)器通知所述客戶端驗(yàn)證失?。? 當(dāng)所述XMPP服務(wù)器通知所述客戶端驗(yàn)證成功之后,所述客戶端發(fā)起一個(gè)新的流給所 述XMPP服務(wù)器,所述XMPP服務(wù)器發(fā)送一個(gè)流頭信息回應(yīng)所述客戶端,并附上任何可用的特 性或空的features元素。
4. 根據(jù)權(quán)利要求3所述的智能家居服務(wù)器,其特征在于,所述STUN服務(wù)器與所述客戶 端和所述物聯(lián)網(wǎng)網(wǎng)關(guān)通過ACE協(xié)議在所述客戶端和所述物聯(lián)網(wǎng)網(wǎng)關(guān)之間建立P2P通道的步 驟,包括: 建立客戶端和STUN服務(wù)器之間的連接; 客戶端向STUN服務(wù)器發(fā)送共享私密請(qǐng)求; STUN服務(wù)器處理共享私密請(qǐng)求,根據(jù)處理結(jié)果,STUN服務(wù)器向客戶端發(fā)送共享私密錯(cuò) 誤響應(yīng)或者共享私密響應(yīng); 客戶端發(fā)送捆綁請(qǐng)求; STUN服務(wù)器處理捆綁請(qǐng)求,根據(jù)處理結(jié)果,STUN服務(wù)器向客戶端發(fā)送捆綁響應(yīng)消息或 者捆綁錯(cuò)誤響應(yīng)。
5. -種智能家居系統(tǒng),其特征在于,包括如權(quán)利要求1至4所示的任一種智能家居服務(wù) 器、客戶端和物聯(lián)網(wǎng)網(wǎng)關(guān)。
【文檔編號(hào)】H04L12/28GK104333496SQ201410503643
【公開日】2015年2月4日 申請(qǐng)日期:2014年9月26日 優(yōu)先權(quán)日:2014年9月26日
【發(fā)明者】李彬 申請(qǐng)人:廣東廣聯(lián)電子科技有限公司, 廣州廣聯(lián)數(shù)字家庭產(chǎn)業(yè)技術(shù)研究院