国产AV中文字幕乱码,人妻少妇无码精品专区,日产一区二区三区精品视频 ,亚洲中文字幕精品不卡一本,在线观看欧美高清国产成人,欧美国产日本高清不卡

智能家居系統(tǒng)中網(wǎng)關與服務器的連接

智能家居系統(tǒng)中網(wǎng)關與服務器的連接 2016年09月27日09:55 來源:|

  在新型家居系統(tǒng)中,家庭網(wǎng)關將取代PC機作為家庭控制中心。傳統(tǒng)客戶端/服務器模式不能保持家庭網(wǎng)關與遠程服務器實時連接。基于百萬級的家庭網(wǎng)關與服務器保持長連接的目的,采用主從服務器框架進行負載均衡,心跳機制保障網(wǎng)關與服務器實時連接的方案。

 1、新型智能家居系統(tǒng)整體框架

 基于傳統(tǒng)C/S架構的智能家居系統(tǒng)需要保持一臺PC機運行中間件才能達到隨時控制的目的,這與智能家居綠色的理念相違背。在光纖到戶的推動下,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)絡通過ZigBee、Wi-Fi等無線技術組建。

 傳統(tǒng)的智能家居系統(tǒng)中控制中心采用家用PC和協(xié)調器等設備,新型的智能家居系統(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)關上報的信息。備用主服務器用于主服務器故障時切換使用。

 2.2家庭網(wǎng)關與遠程服務器連接方案的設計

 家庭網(wǎng)關所屬的網(wǎng)絡為電信運營商的子網(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)控家庭信息,例如回家路上打開空調,離開的路上關掉電源等,網(wǎng)關也需要隨時向用戶反饋家庭異常,例如煙霧信息,所以家庭網(wǎng)關必須與服務器隨時保持連接。

 本方案采用心跳包監(jiān)控網(wǎng)關與服務器之間的長連接,當網(wǎng)關與服務器連接成功后,服務器每隔一段時間(暫時設置為15s)向網(wǎng)關發(fā)送心跳包,網(wǎng)關接收到心跳包后需立即回應心跳包給服務器。若超過5次無回應,則判定為連接斷。

 服務器會將次網(wǎng)關在線標志位置為0,同樣家庭網(wǎng)關上線后會有監(jiān)控心跳線程,若連續(xù)75s內無心跳信息,則會判定已與服務器斷開連接,網(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ā)出指令“l(fā)ight1turnon”,服務器將指令轉發(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)關資源。

責任編輯:姚泓澤

威宁| 察隅县| 双城市| 绥滨县| 大洼县| 罗平县| 安泽县| 汨罗市| 阿合奇县| 阜南县| 吉林省| 浑源县| 桂林市| 岑巩县| 武鸣县| 阿拉善盟| 昌平区| 闽侯县| 金湖县| <bdo id="aomtp"><meter id="aomtp"></meter></bdo>
    <li id="aomtp"><dl id="aomtp"><em id="aomtp"></em></dl></li>