400-638-8808
|
微信公眾號(hào)








穩(wěn)定可靠 永不間斷

海外收發(fā) 暢通無阻

協(xié)同辦公 資源管理

超大郵件 超級(jí)功能

智能反垃圾郵件技術(shù)
易管理 免維護(hù)

微信掃一掃 關(guān)注"天下數(shù)據(jù)"商品一律九折
![]()
搜索"朗玥科技"關(guān)注,了解最新優(yōu)惠


在新型智能家居系統(tǒng)中,家庭網(wǎng)關(guān)將取代 PC 機(jī)作為家庭控制中心。傳統(tǒng)客戶端/服務(wù)器模式不能保持家庭網(wǎng)關(guān)與遠(yuǎn)程服務(wù)器實(shí)時(shí)連接。基于百萬級(jí)的家庭網(wǎng)關(guān)與服務(wù)器保持長(zhǎng)連接的目的,采用主從服務(wù)器框架進(jìn)行負(fù)載均衡,心跳機(jī)制保障網(wǎng)關(guān)與服務(wù)器實(shí)時(shí)連接的方案。
1、新型智能家居系統(tǒng)整體框架
基于傳統(tǒng)C/S架構(gòu)的智能家居系統(tǒng)需要保持一臺(tái)PC 機(jī)運(yùn)行中間件才能達(dá)到隨時(shí)控制的目的,這與智能家居綠色節(jié)能的理念相違背。在光纖到戶的推動(dòng)下,PON上行家庭網(wǎng)關(guān)在全國(guó)得到普及,并且有低功耗保持長(zhǎng)時(shí)間工作的特點(diǎn),適合用于智能家居系統(tǒng)中。
本方案設(shè)計(jì)一種新型智能家居系統(tǒng),由家庭網(wǎng)關(guān)替代PC成為家庭網(wǎng)絡(luò)控制中心。圍繞家庭網(wǎng)關(guān)與遠(yuǎn)程服務(wù)器互聯(lián)問題展開,探討一種適合家庭網(wǎng)關(guān)與遠(yuǎn)程服務(wù)器的連接方案。基于家庭網(wǎng)關(guān)的智能家居系統(tǒng)整體框架如圖1 所示。 智能家居系統(tǒng)由傳感器網(wǎng)絡(luò),家庭控制中心,遠(yuǎn)程服務(wù)器,手機(jī)終端組成。其中傳感器網(wǎng)絡(luò)通過Zig Bee、Wi-Fi等無線通信技術(shù)組建。

傳統(tǒng)的智能家居系統(tǒng)中控制中心采用家用PC 和協(xié)調(diào)器等設(shè)備,新型的智能家居系統(tǒng)如圖 1 所示,采用家庭網(wǎng)關(guān)充當(dāng)家庭控制中心的角色。
2、新型智能家居系統(tǒng)中家庭網(wǎng)關(guān)與服務(wù)器連接的設(shè)計(jì)與實(shí)現(xiàn)
2.1 遠(yuǎn)程服務(wù)器方案設(shè)計(jì)
傳統(tǒng)的服務(wù)器方案往往使用單一服務(wù)器模式,傳統(tǒng)業(yè)務(wù)不需要客戶端與服務(wù)器保持長(zhǎng)連接,客戶端獲取數(shù)據(jù)時(shí)發(fā)送一個(gè)連接即可。并且客戶端運(yùn)行在 PC 機(jī)上,客戶端對(duì)服務(wù)器發(fā)起連接后,服務(wù)器可暫存客戶端的IP 地址和端口,當(dāng)服務(wù)器需要給客戶端發(fā)送數(shù)據(jù)時(shí)直接用客戶端的IP 地址和端口號(hào)即可。所以用單一服務(wù)器即能滿足傳統(tǒng)業(yè)務(wù)的需求。
當(dāng)業(yè)務(wù)量大的時(shí)候,傳統(tǒng)服務(wù)器采用服務(wù)器集群技術(shù)來保證服務(wù)器不因業(yè)務(wù)量過大而癱瘓。 隨著智能家居網(wǎng)關(guān)用戶逐步上升,用戶將達(dá)到百萬級(jí)。 每個(gè)網(wǎng)關(guān)都要與服務(wù)器保持長(zhǎng)連接,同時(shí)服務(wù)器還要與手機(jī)端通信。為了保證服務(wù)器的負(fù)載會(huì)達(dá)到百萬級(jí)時(shí),其仍能正常其正常工作,本方案采用主從服務(wù)器框架來實(shí)現(xiàn)負(fù)載均衡。主服務(wù)器負(fù)責(zé)網(wǎng)關(guān)與服務(wù)器首次建立連接,然后根據(jù)地理位置等因素為網(wǎng)關(guān)分配一個(gè)從服務(wù)器并告知其 IP 等信息,網(wǎng)關(guān)再根據(jù)從服務(wù)器信息對(duì)從服務(wù)器發(fā)起連接,建立連接后網(wǎng)關(guān)與從服務(wù)器保持長(zhǎng)連接并斷開與主服務(wù)器的連接。
主服務(wù)器對(duì)手機(jī)終端也是如此,只負(fù)責(zé)首次建立連接,判斷該手機(jī)號(hào)控制的網(wǎng)關(guān)分配到哪個(gè)從服務(wù)器,然后讓其對(duì)從服務(wù)器進(jìn)行連接。
本方案設(shè)計(jì)的服務(wù)器框架如圖 2 所示,由主服務(wù)器和從服務(wù)器組成,網(wǎng)關(guān)第一次連接或者與服務(wù)器連接中斷后重連都是對(duì)主服務(wù)器發(fā)起,主服務(wù)器收到網(wǎng)關(guān)發(fā)起的連接信息后進(jìn)行認(rèn)證,查看是否在服務(wù)網(wǎng)關(guān)列表,認(rèn)證成功后分配從服務(wù)器 IP 和服務(wù)號(hào)給網(wǎng)關(guān)。從服務(wù)器用于保持與網(wǎng)關(guān)的長(zhǎng)連接,一方面可以對(duì)網(wǎng)關(guān)發(fā)送控制命令,一方面可接收網(wǎng)關(guān)上報(bào)的監(jiān)控信息。備用主服務(wù)器用于主服務(wù)器故障時(shí)切換使用。

2.2 家庭網(wǎng)關(guān)與遠(yuǎn)程服務(wù)器連接方案的設(shè)計(jì)
家庭網(wǎng)關(guān)所屬的網(wǎng)絡(luò)環(huán)境為電信運(yùn)營(yíng)商的子網(wǎng)環(huán)境,IP動(dòng)態(tài)更改,并且經(jīng)過了多層 NAT 轉(zhuǎn)換,服務(wù)器無法對(duì)網(wǎng)關(guān)發(fā)起主動(dòng)連接。而用戶需要隨時(shí)對(duì)家庭設(shè)備進(jìn)行控制,服務(wù)器必須隨時(shí)能夠?qū)W(wǎng)關(guān)發(fā)起連接。為了實(shí)現(xiàn)家庭網(wǎng)關(guān)與遠(yuǎn)程服務(wù)器互相通信。
本方案采用 socket 長(zhǎng)連接模式實(shí)現(xiàn),服務(wù)器配置固定 IP,網(wǎng)關(guān)上電后發(fā)起對(duì)服務(wù)器的 socket 連接,連接成功后保持連接不中斷,服務(wù)器可通過此 socket 連接收發(fā)網(wǎng)關(guān)的信息。
2.2.1 網(wǎng) 關(guān)與服務(wù)器長(zhǎng)連接及意外中斷恢復(fù)的設(shè)計(jì)實(shí)現(xiàn)
用戶需要隨時(shí)遠(yuǎn)程監(jiān)控家庭信息,例如回家路上打開空調(diào),離開的路上關(guān)掉電源等,網(wǎng)關(guān)也需要隨時(shí)向用戶反饋家庭異常,例如煙霧報(bào)警信息,所以家庭網(wǎng)關(guān)必須與服務(wù)器隨時(shí)保持連接。
本方案采用心跳包監(jiān)控網(wǎng)關(guān)與服務(wù)器之間的長(zhǎng)連接,當(dāng)網(wǎng)關(guān)與服務(wù)器連接成功后,服務(wù)器每隔一段時(shí)間(暫時(shí)設(shè)置為 15 s)向網(wǎng)關(guān)發(fā)送心跳包,網(wǎng)關(guān)接收到心跳包后需立即回應(yīng)心跳包給服務(wù)器。若超過 5 次無回應(yīng),則判定為連接斷。
服務(wù)器會(huì)將次網(wǎng)關(guān)在線標(biāo)志位置為0,同樣家庭網(wǎng)關(guān)上線后會(huì)有監(jiān)控心跳線程,若連續(xù) 75 s 內(nèi)無心跳信息,則會(huì)判定已與服務(wù)器斷開連接,網(wǎng)關(guān)會(huì)自動(dòng)重啟連接服務(wù)器線程。

2.2.2 家 庭網(wǎng)關(guān)控制權(quán)安全性的設(shè)計(jì)
家庭網(wǎng)關(guān)的控制權(quán)必須是保證是家庭成員,不能讓陌生人取得控制權(quán),否則會(huì)帶來不可估量的后果。家庭網(wǎng)關(guān)存儲(chǔ)有一個(gè)可控手機(jī)號(hào)列表,必須通過本地 web 連接后才能更改,不能遠(yuǎn)程更改(防止黑客等利用漏洞遠(yuǎn)程添加控制權(quán))。網(wǎng)關(guān)連接服務(wù)器后會(huì)上報(bào)可控手機(jī)號(hào)列表,只有在列表中的號(hào)碼才能遠(yuǎn)程登錄服務(wù)器,并且手機(jī)遠(yuǎn)程登錄服務(wù)器還要短信驗(yàn)證碼配合,防止他人偽裝登錄。手機(jī)登錄服務(wù)器后,發(fā)送控制家庭網(wǎng)關(guān)的命令時(shí)會(huì)在消息頭部增加手機(jī)號(hào)信息,網(wǎng)關(guān)收到信息后會(huì)核對(duì)該手機(jī)號(hào)是否在本地可控手機(jī)號(hào)列表中(防止服務(wù)器的手機(jī)號(hào)列表與網(wǎng)關(guān)本地手機(jī)號(hào)列表不一致 )。
2.3 家庭網(wǎng)關(guān)連接控制模塊工作流程
家庭網(wǎng)關(guān)的軟件流程如圖 4 所示,上電后初始化,然后向主服務(wù)器發(fā)送連接信息,若無法連接主服務(wù)器則向備用主服務(wù)器發(fā)送連接信息。連接上主服務(wù)器后會(huì)上報(bào)自身的一些信息,包括可控手機(jī)號(hào)列表,主服務(wù)器會(huì)根據(jù)地理位置等信息返回一個(gè)最近的從服務(wù)器序號(hào)和 IP 地址等信息,然后網(wǎng)關(guān)連接從服務(wù)器。

若連接從服務(wù)器連接不上,則會(huì)反饋給主服務(wù)器, 主服務(wù)器會(huì)返回另一個(gè)從服務(wù)器的序號(hào)和 IP 地址信息用于連接。 連接好從服務(wù)器后,家庭網(wǎng)關(guān)即可實(shí)現(xiàn)遠(yuǎn)程監(jiān)控,但必須與從服務(wù)器保持心跳連接,才能保證其是可控狀態(tài)。
2.4 模擬測(cè)試的測(cè)試步驟和結(jié)果
本模擬測(cè)試方案中,為使數(shù)據(jù)庫(kù)訪問效率滿足性能要求,且 PC 遠(yuǎn)程控制可直接用瀏覽器實(shí)現(xiàn),主服務(wù)器采用 PHP的 YII 框架搭建的 web 服務(wù)器,手機(jī)等終端和家庭網(wǎng)關(guān)連接主服務(wù)器則需要建立一個(gè) socket 連接并把數(shù)據(jù)封裝為 https協(xié)議。主服務(wù)器負(fù)責(zé)存儲(chǔ)網(wǎng)關(guān)信息,可控手機(jī)號(hào)列表等信息,并負(fù)責(zé)分發(fā)從服務(wù)器序號(hào)和 IP 給網(wǎng)關(guān),查找與手機(jī)號(hào)配對(duì)的網(wǎng)關(guān)所在的從服務(wù)器序號(hào)和 IP 并發(fā)送給認(rèn)證后的手機(jī)。
從服務(wù)器則采用 PHP 的 Workerman 框架來搭建,此框架是一個(gè)基于 PHP 的 socket 服務(wù)框架。網(wǎng)關(guān)與從服務(wù)器連接后保持心跳,手機(jī)獲取從服務(wù)器序號(hào)和 IP 后連接從服務(wù)器,根據(jù)網(wǎng)關(guān)服務(wù)號(hào)綁定與網(wǎng)關(guān)在同一個(gè)服務(wù)號(hào)里,在一個(gè)服務(wù)號(hào)里可包含多個(gè)手機(jī),但只能一個(gè)網(wǎng)關(guān),手機(jī)和網(wǎng)關(guān)之間可以互相通信。服務(wù)器端打開 workerman 的進(jìn)程,開啟服務(wù),如圖 5 所示。

網(wǎng)關(guān)遠(yuǎn)程登錄到服務(wù)器,id 為 67,服務(wù)號(hào)為 1,與服務(wù)器保持心跳連接,如圖 6 所示。瀏覽器遠(yuǎn)程登錄,服務(wù)器認(rèn)證后分配其 id 為 68,匹配到網(wǎng)關(guān)所在服務(wù)號(hào)為 1,向網(wǎng)關(guān)(id 為 67)發(fā)出指令“light1 turn on”,服務(wù)器將指令轉(zhuǎn)發(fā)給網(wǎng)關(guān)。


結(jié)語
模擬實(shí)現(xiàn)結(jié)果表明,通過心跳保持家庭網(wǎng)關(guān)與遠(yuǎn)程服務(wù)器長(zhǎng)連接,分配服務(wù)號(hào)保證手機(jī)與家庭網(wǎng)關(guān)相關(guān)聯(lián)的方案可行。用家庭網(wǎng)關(guān)代替?zhèn)鹘y(tǒng) PC 作為智能家居系統(tǒng)中家庭的控制中心,能充分利用現(xiàn)有家庭網(wǎng)關(guān)資源。
本文來源于《電子設(shè)計(jì)工程》,由天下數(shù)據(jù)小編整理!
天下數(shù)據(jù)IDC提供香港服務(wù)器、美國(guó)服務(wù)器等全球海外服務(wù)器租用托管,是智能家居、物聯(lián)網(wǎng)、區(qū)域鏈、直銷、流媒體、外貿(mào)、游戲、電商等服務(wù)器解決方案首選品牌。!具體詳詢?cè)诰客服!
產(chǎn)品與服務(wù)
香港服務(wù)器 香港高防服務(wù)器 美國(guó)服務(wù)器 韓國(guó)服務(wù)器 新加坡服務(wù)器 日本服務(wù)器 臺(tái)灣服務(wù)器云服務(wù)器
香港云主機(jī) 美國(guó)云主機(jī) 韓國(guó)云主機(jī) 新加坡云主機(jī) 臺(tái)灣云主機(jī) 日本云主機(jī) 德國(guó)云主機(jī) 全球云主機(jī)高防專線
海外高防IP 海外無限防御 SSL證書 高防CDN套餐 全球節(jié)點(diǎn)定制 全球?qū)>GPLC關(guān)于我們
關(guān)于天下數(shù)據(jù) 數(shù)據(jù)招商加盟 天下數(shù)據(jù)合作伙伴 天下數(shù)據(jù)團(tuán)隊(duì)建設(shè) 加入天下數(shù)據(jù) 媒體報(bào)道 榮譽(yù)資質(zhì) 付款方式關(guān)注我們
微信公眾賬號(hào)
新浪微博
天下數(shù)據(jù)手機(jī)站 關(guān)于天下數(shù)據(jù) 聯(lián)系我們 誠(chéng)聘英才 付款方式 幫助中心 網(wǎng)站備案 解決方案 域名注冊(cè) 網(wǎng)站地圖
天下數(shù)據(jù)18年專注海外香港服務(wù)器、美國(guó)服務(wù)器、海外云主機(jī)、海外vps主機(jī)租用托管以及服務(wù)器解決方案-做天下最好的IDC服務(wù)商
《中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證》 ISP證:粵ICP備07026347號(hào)
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運(yùn)營(yíng))聯(lián)合版權(quán)
深圳總部:中國(guó).深圳市南山區(qū)深圳國(guó)際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號(hào)建安商業(yè)大廈7樓
7×24小時(shí)服務(wù)熱線:4006388808香港服務(wù)電話:+852 67031102
本網(wǎng)站的域名注冊(cè)業(yè)務(wù)代理北京新網(wǎng)數(shù)碼信息技術(shù)有限公司的產(chǎn)品