所在位置:首页 > 解决方案 >

智能家居系统中网关与服务器的连接

[导读]在新型智能家居系统中,家庭网关将取代 PC 机作为家庭控制中心。传统客户端/服务器模式不能保持家庭网关与远程服务器实时连接。基于百万级的家庭网关与服务器保持长连接的目的...

 

  在新型智能家居系统中,家庭网关将取代 PC 机作为家庭控制中心。传统客户端/服务器模式不能保持家庭网关与远程服务器实时连接。基于百万级的家庭网关与服务器保持长连接的目的,采用主从服务器框架进行负载均衡,心跳机制保障网关与服务器实时连接的方案。

  1、新型智能家居系统整体框架

  基于传统C/S架构的智能家居系统需要保持一台PC 机运行中间件才能达到随时控制的目的,这与智能家居绿色节能的理念相违背。在光纤到户的推动下,PON上行家庭网关在全国得到普及,并且有低功耗保持长时间工作的特点,适合用于智能家居系统中。

  本方案设计一种新型智能家居系统,由家庭网关替代PC成为家庭网络控制中心。围绕家庭网关与远程服务器互联问题展开,探讨一种适合家庭网关与远程服务器的连接方案。基于家庭网关的智能家居系统整体框架如图1 所示。 智能家居系统由传感器网络,家庭控制中心,远程服务器,手机终端组成。其中传感器网络通过Zig Bee、Wi-Fi等无线通信技术组建。

  

  2、新型智能家居系统中家庭网关与服务器连接的设计与实现

  2.1 远程服务器方案设计

  传统的服务器方案往往使用单一服务器模式,传统业务不需要客户端与服务器保持长连接,客户端获取数据时发送一个连接即可。并且客户端运行在 PC 机上,客户端对服务器发起连接后,服务器可暂存客户端的IP 地址和端口,当服务器需要给客户端发送数据时直接用客户端的IP 地址和端口号即可。所以用单一服务器即能满足传统业务的需求。

  当业务量大的时候,传统服务器采用服务器集群技术来保证服务器不因业务量过大而瘫痪。 随着智能家居网关用户逐步上升,用户将达到百万级。 每个网关都要与服务器保持长连接,同时服务器还要与手机端通信。为了保证服务器的负载会达到百万级时,其仍能正常其正常工作,本方案采用主从服务器框架来实现负载均衡。主服务器负责网关与服务器首次建立连接,然后根据地理位置等因素为网关分配一个从服务器并告知其 IP 等信息,网关再根据从服务器信息对从服务器发起连接,建立连接后网关与从服务器保持长连接并断开与主服务器的连接。

  主服务器对手机终端也是如此,只负责首次建立连接,判断该手机号控制的网关分配到哪个从服务器,然后让其对从服务器进行连接。

  本方案设计的服务器框架如图 2 所示,由主服务器和从服务器组成,网关第一次连接或者与服务器连接中断后重连都是对主服务器发起,主服务器收到网关发起的连接信息后进行认证,查看是否在服务网关列表,认证成功后分配从服务器 IP 和服务号给网关。从服务器用于保持与网关的长连接,一方面可以对网关发送控制命令,一方面可接收网关上报的监控信息。备用主服务器用于主服务器故障时切换使用。

  2.2 家庭网关与远程服务器连接方案的设计

  家庭网关所属的网络环境为电信运营商的子网环境,IP动态更改,并且经过了多层 NAT 转换,服务器无法对网关发起主动连接。而用户需要随时对家庭设备进行控制,服务器必须随时能够对网关发起连接。为了实现家庭网关与远程服务器互相通信。

  本方案采用 socket 长连接模式实现,服务器配置固定 IP,网关上电后发起对服务器的 socket 连接,连接成功后保持连接不中断,服务器可通过此 socket 连接收发网关的信息。

  2.2.1 网 关与服务器长连接及意外中断恢复的设计实现

  用户需要随时远程监控家庭信息,例如回家路上打开空调,离开的路上关掉电源等,网关也需要随时向用户反馈家庭异常,例如烟雾报警信息,所以家庭网关必须与服务器随时保持连接。

  本方案采用心跳包监控网关与服务器之间的长连接,当网关与服务器连接成功后,服务器每隔一段时间(暂时设置为 15 s)向网关发送心跳包,网关接收到心跳包后需立即回应心跳包给服务器。若超过 5 次无回应,则判定为连接断。

  服务器会将次网关在线标志位置为0,同样家庭网关上线后会有监控心跳线程,若连续 75 s 内无心跳信息,则会判定已与服务器断开连接,网关会自动重启连接服务器线程。

上一篇:资深主厨教你搞定厨房杂乱问题

下一篇:你真的知道除湿机怎么用?3个除湿应该有的知识