基于公共服务器的家居通信系统及通信方法

文档序号:9330428阅读:232来源:国知局
基于公共服务器的家居通信系统及通信方法
【技术领域】
[0001]本发明属于通信技术领域,具体地,涉及一种基于公共服务器的家居通信系统及通信方法
【背景技术】
[0002]人们的生活与信息的关系愈加紧密,智能化家居已开始走入人们的生活并得到越来越多的关注。智能家居让用户能够用更方便的手段来管理家庭设备,帮助用户在家庭外部也能与家庭内部保持流畅的信息通信,还能帮助人们进行高效的时间管理,并提高人们的生活质量。
[0003]智能家居系统中,手机客户端将控制命令发送到家庭网关,家庭网关再通过家庭内部网络控制智能家居。在家庭网关有公网IP或者家庭网关与手机端在同一局域网中时,可以顺利地利用网络进行通信。但是如果家庭网关没有公网IP并且与手机端不在同一个局域网中,例如在有些小区和单位,是内部组成局域网后,再连接到公网,通常内部分配的是私有IP地址,外部是不可以通过私有IP访问到家庭网关的,那么家庭网关不能直接与手机端进行通信。
[0004]要在这种情况下实现通信,有一种解决方案是利用NAT穿透技术,即网络地址转换技术,可以实现家庭网关与手机端的通信,但是这种方法并不十分稳定可靠。

【发明内容】

[0005]针对现有技术中存在的上述缺陷,本发明的目的是为智能家居系统提供一种基于公共服务器的家居通信系统及通信方法,通过公共服务器实现手机端与家庭网关的相互通信。家庭网关在没有公网IP的情况下,可以利用公共服务器实现与手机端的相互通信。
[0006]为实现上述目的,本发明是通过以下技术方案实现的。
[0007]根据本发明的一个方面,提供了一种基于公共服务器的家居通信系统,包括公共服务器以及与公共服务器通信连接的至少一个家庭客户端,所述公共服务器和家庭客户端之间的通信是通过Socket通信协议来实现的;所述家庭客户端包括手机端和家庭网关,所述手机端和家庭网关之间通过公共服务器转发数据信息。
[0008]优选地,所述公共服务器与家庭客户端之间通过如下方式唯一识别:每一个所述家庭客户端均设置有唯一的序列号,所述公共服务器根据客户端的序列号识别不同家庭客户端,并根据唯一的序列号传递家庭数据信息。
[0009]优选地,所述家庭客户端的手机端和家庭网关,均设有与其所属家庭客户端相同的序列号,即每户家庭均有自己单独的序列号;所述序列号设定为6位字符串,属于同一家庭客户端的手机端和家庭网关拥有同一个序列号,公共服务器根据序列号相同才能相互通信的原则,判断能够进行通讯的手机端和家庭网关。
[0010]优选地,所述公共服务器拥有公网IP,公共服务器用于所有家庭客户端的手机端和家庭网关之间的数据通信以及处理所有家庭客户端的用户数据。
[0011]优选地,所述Socket通信协议采用客户/服务器模式的通信模式,是基于IP地址和端口号的网络通信;公共服务器作为Socket通信的服务器端,所有家庭客户端的手机端和家庭网关都作为Socket通信的客户端与公共服务器进行通信,通信时由客户端向公共服务器发起连接请求,公共服务器收到请求后分别建立连接;服务器端和客户端都是通过线程的方式来实现Socket通信的。
[0012]优选地,所述公共服务器设有Socket Serve程序,所述Socket Serve程序分别采用独立的线程对各个家庭客户端发来的Socket请求和反馈进行处理;每个所述家庭客户端上线,公共服务器的Socket Serve程序都会新建一个线程用来接收和发送数据。
[0013]优选地,所述服务器Socket Serve程序在每个家庭客户端上线时,首先记录该家庭客户端的手机端和家庭网关发来的序列号,从而判断该家庭客户端属于哪户家庭;若家庭客户端的手机端和家庭网关没有正确的匹配的序列号,则公共服务器拒绝传递该家庭客户端的数据信息。
[0014]根据本发明的另一个方面,提供了一种基于公共服务器的家居通信系统的通信方法,包括如下步骤:
[0015]步骤1:家庭客户端的手机端上线后,将序列号信息发送给公共服务器;
[0016]步骤2:公共服务器接收到序列号信息后,识别该手机端的家庭客户端序列号,判断该手机端属于哪户家庭;
[0017]步骤3:手机端将控制命令发送给公共服务器;
[0018]步骤4:公共服务器将控制命令转发给拥有相同序列号的家庭客户端的家庭网关;
[0019]步骤5:家庭网关接受控制命令并处理数据,将反馈信息发送给公共服务器;
[0020]步骤6:公共服务器识别该家庭网关的家庭客户端序列号,将反馈信息发送给拥有相同序列号的手机端,同时作相应的存储记录。
[0021]与现有技术相比,本发明具有如下的有益效果:
[0022]—,本发明实现了家庭网关可以利用服务器端直接与手机端进行通信,家庭网关不一定需要拥有公网IP,更符合实际,更方便用户家庭安装使用智能家居,同时使用服务器通信更加稳定,也更可靠。
[0023]二,本发明提出的公共服务器通信模式将所有家庭户集中在一起,通过服务器实现控制,每个家庭的智能家居系统不再是单独的,便于实现统一管理。
[0024]三,本发明提出的识别不同家庭的方法,是服务器直接通过客户端的序列号判断该客户端属于哪个家庭,不需要判断客户端的IP或其他信息,这样操作简单,易于实现,也更方便,更具可靠性。
【附图说明】
[0025]通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0026]图1为本发明基于公共服务器的家居通信系统的结构示意图。
【具体实施方式】
[0027]下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
[0028]实施例
[0029]本实施例提供了一种基于公共服务器的家居通信系统,通过公共服务器实现家庭客户端的手机端与家庭网关的相互通信。公共服务器可连接多个家庭客户端,公共服务器和家庭客户端之间的通信是通过Socket通信协议来实现的。手机端和家庭网关都作为家庭客户端与公共服务器直接通信,通过公共服务器转发数据信息。使用公共服务器通信更加稳定,也更可靠,且有效提高了实用性。公共服务器同时连接多户家庭客户端,因此公共服务器能够有效识别不同家庭,分别传递数据。公共服务器可以根据家庭客户端的序列号识别不同家庭,分家庭传递数据信息。
[0030]进一步地,公共服务器是指一台拥有公网IP的服务器,公共服务器作为智能家居系统的数据信息中心和后台管理中心,连接多户家庭户端,负责所有家庭的数据通信以及处理所有家庭的用户数据。
[0031]进一步地,Socket通信是一种基于客户/服务器模式的通信模式,公共服务器作为Socket通信的服务器端,所有家庭的手机端和家庭网关都作为Socket通信的客户端与公共服务器通信,通信时由客户端向公共服务器发起连接请求,公共服务器收到请求后建立连接。服务器端和客户端都是通过线程的方式来实现Socket通信的。由于Socket是基于IP地址和端口号的网络通信,当家庭网关没有公网IP时,是不能直接与手机端通信的,但可以利用服务器实现与手机端的通信。
[0032]进一步地,同一家庭的手机端与家庭网关需要通过公共服务器实现相互通信。公共服务器可以根据序列号识别不同家庭,分家庭传递数据信息。
[0033]进一步地,每个家庭客户端,包括手机端和家庭网关,都有与其所属家庭客户端相对应(相一致)的序列号,也即每户家庭都有自己单独的序列号。序列号为设定的6位字符串。属于同一户家庭客户端的所有手机端和家庭网关拥有同一个序列号,只有序列号相同才能相互通信。公共服务器根据家庭客户端序列号即可判断其属于哪户家庭。
[0034]进一步地,公共服务器Socket Serve程序分别采用独立的线程对各个家庭客户端发来的Socket请求和反馈进行处理。每个家庭客户端上线,公共服务器都会新建一个线程用来接收和发送数据,并首先记录该家庭客户端发来
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1