400-638-8808
|
微信公眾號




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

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

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

超大郵件 超級功能

智能反垃圾郵件技術
易管理 免維護


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

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

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

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

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

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


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