1.本发明涉及智能家居技术领域,尤其涉及基于通讯系统的
设备发现方法、设备及内网通讯系统。
背景技术:
2.随着智能家居的发展,越来越多的家用电器具备wifi直连云的能力,用户可以很方便地使用app(application,应用程序)控制家用电器设备,但是也有一个致命的问题,就是这些严重依赖外网(宽带),当外网出现故障时,所有的设备将会失控。相比之下,内网(wifi设备-wifi路由器)要稳定很多,由此出现了很多基于内网通讯的控制方案,比如苹果的homekit(智能家居平台),smartthing(智能设备控制系统)等,内网通讯的基础就是要做设备发现。
3.目前一般采用mdns(multicast domain name system,组播域名系统)方案进行设备发现,但这种方案只能做同一网段(比如一个wifi路由器下的所有设备)的设备发现,例如,现在物联网设备和app之间的通信,app通过wifi组播发一些特定信息,感兴趣的设备会进行应答,从而实现局域网设备的发现。但是,一些大户型家庭可能会安装多个wifi路由器,并且家中的多个家用电器设备会处于不同的路由层级/网段,这种情况下,对于处于不同网段的两个设备是无法发现的。
技术实现要素:
4.为解决现有技术中所存在的上述处于不同网段的两个设备无法发现的问题,本发明提供一种基于通讯系统的设备发现方法、设备及内网通讯系统。
5.本发明解决其技术问题所采用的技术方案是:提供一种基于通讯系统的设备发现方法,应用于通讯系统的第一设备,
所述通讯系统还包括第二设备及第三设备,该方法包括:
6.当所述第一设备接入路由器后,发送预设类型信息,其中,所述预设类型信息包括:
蓝牙广播消息;
7.接收所述第二设备发送的蓝牙连接请求,并与所述第二设备建立蓝牙连接,其中,所述第二设备在侦听到所述蓝牙广播消息后向所述第一设备发送蓝牙连接请求;
8.通过所述第二设备与所述第三设备交换ip
地址;
9.根据所述第三设备的ip地址,与所述第三设备建立tcp连接。
10.优选地,所述通过所述第二设备与所述第三设备交换ip地址,包括:
11.当所述第二设备与所述第三设备为同一设备时,通过所述蓝牙连接与所述第二设备交换ip地址;或者
12.当所述第二设备与所述第三设备不为同一设备时,通过所述蓝牙连接将自身的ip地址发送至所述第二设备,以供所述第二设备通过内网通讯将所述第一设备的ip地址发送至所述第三设备;以及,通过所述蓝牙连接接收所述第二设备发送的所述第三设备的ip地
址。
13.优选地,所述当所述第一设备接入路由器后,发送预设类型信息,包括:
14.当所述第一设备接入所述路由器后,自动发送所述预设类型信息;或者,
15.当所述第一设备接入所述路由器后,接收用户输入的触发指令,并根据所述触发指令发送所述预设类型信息。
16.优选地,所述预设类型信息还包括wifi组播消息,所述当所述第一设备接入路由器后,发送预设类型信息,包括:
17.当所述第一设备接入所述路由器后,交替发送所述wifi组播消息及所述蓝牙广播消息;
18.该方法还包括:
19.当所述第三设备与所述第一设备不互为跨网段设备时,接收所述第三设备发送的应答消息,并根据所述应答消息获取所述第三设备的ip地址,其中,所述第三设备在接收到所述wifi组播消息后,获取所述第一设备的ip地址,并向所述第一设备返回应答消息;
20.根据所述第三设备的ip地址,与所述第三设备建立tcp连接。
21.本发明还构造一种基于通讯系统的设备发现方法,应用于通讯系统的第二设备,所述通讯系统还包括第一设备及第三设备,该方法包括:
22.侦听所述第一设备发送的预设类型信息,其中,所述第一设备在接入路由器后发送所述预设类型信息,所述预设类型信息包括:蓝牙广播消息;
23.向所述第一设备发送蓝牙连接请求,并与所述第一设备建立蓝牙连接;
24.通过所述蓝牙连接实现所述第一设备与所述第三设备的ip地址的交换,以使所述第一设备与所述第三设备建立tcp连接。
25.优选地,所述通过所述蓝牙连接实现所述第一设备与所述第三设备的ip地址的交换,包括:
26.当所述第二设备与所述第三设备为同一设备时,通过所述蓝牙连接与所述第一设备交换ip地址;或者
27.当所述第二设备与所述第三设备不为同一设备时,通过所述蓝牙连接接收所述第一设备的ip地址,并通过内网通讯将其发送至所述第三设备;以及,通过所述蓝牙连接将所述第三设备的ip地址发送至所述第一设备。
28.优选地,在通过所述蓝牙连接实现所述第一设备与所述第三设备的ip地址的交换之前,该方法还包括:
29.对所述第一设备进行合法性验证;
30.若所述第一设备为合法设备,则通过所述蓝牙连接实现所述第一设备与所述第三设备的ip地址的交换。
31.本发明还构造一种基于通讯系统的设备发现方法,应用于通讯系统的第三设备,所述内网通讯系统还包括第一设备及第二设备,该方法包括:
32.接收所述第二设备发送的所述第一设备的ip地址;其中,所述第一设备与所述第二设备建立蓝牙连接,所述第一设备通过所述蓝牙连接向所述第二设备发送自身ip地址;
33.根据所述第一设备的ip地址,与所述第一设备建立tcp连接。
34.本发明还构造一种设备,包括处理器及存储有计算机程序的存储器,所述处理器
在执行所述计算机程序时实现以上所述的设备发现方法的步骤。
35.本发明还构造一种内网通讯系统,包括:
36.多个以上所述的设备
37.至少两个相连接的路由器。
38.实施本发明的技术方案,当第一设备接入通讯系统的路由器后,可发送蓝牙广播消息,这样,处于蓝牙通讯范围内的第二设备便可扫描到该蓝牙广播消息,进而可与第一设备建立蓝牙连接。在第二设备与第一设备建立蓝牙连接后,第二设备作为第一设备与第三设备(第一设备的发现目标)之间的桥梁,可实现第一设备与第三设备之间的ip地址交换。在第一设备与第三设备交换ip地址后,可建立两者之间的tcp连接。因此,即使第一设备与第三设备处于不同网段,依然可进行双方的内网发现,进而可进行后续的内网通讯。而且,本发明的技术方案由于不需要在通讯系统中增加任何硬件设备,所以,成本相对较低。
附图说明
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1是本发明基于通讯系统的设备发现方法实施例一的流程图;
41.图2是本发明基于通讯系统的设备发现方法实施例二的流程图;
42.图3是本发明基于通讯系统的设备发现方法实施例三的流程图;
43.图4是本发明内网通讯系统实施例一的逻辑结构图;
44.图5是本发明内网通讯系统实施例二的逻辑结构图。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.本发明构造一种基于通讯系统的设备发现方法,该通讯系统为一个家庭的内网通讯系统,或者,某一账号下的内网通讯系统。该通讯系包括第一设备、第二设备、第三设备以及至少两个相连接的路由器,其中,第一设备和第三设备互为待发现的设备。第一设备、第二设备和第三设备均为支持wifi联网功能的智能设备,使用的通讯芯片是wifi&ble双模芯片,wifi功能和ble功能可以共存。
47.在一个具体应用中,该通讯系统为家庭内网通讯网络,且第一设备及第二设备分别为家用电器设备,例如,智能灯、智能冰箱、智能窗帘及智能门锁等,第三设备为家用电器设备的中控设备,例如,中控面板、智能控制开关等,当然设备的实际数量可能多于三个。而且,在该通讯系统中,第一设备为新加入的设备,需要被第三设备发现,即,第一设备此时还不能基于内网通讯与该通讯系统中的其它设备进行通讯;第二设备与第三设备为已成功加入的设备,即,第二设备与第三设备均可基于内网通讯与该通讯系统中的其它设备进行通
讯;只有当第一设备被第三设备发现,且两者建立通信连接后,第一设备方能被第三设备控制。另外,第三设备与第一设备可互为跨网段设备,即,第三设备与第一设备分别接入相级联的两个路由器,例如,第一设备接入子路由器,而第三设备接入该子路由器上一级的主路由器;或者,第一设备接入主路由器,而第三设备接入该主路由器的子路由器。第二设备与第一设备/第三设备可接入相同的路由器,也可接入不同的路由器,本发明不做具体限定。
48.另外,本发明技术方案中的设备发现方法用于第一设备与第三设备的相互发现,应理解,待发现的两个设备是由应用层的业务逻辑确定的,例如,第三设备是控制中枢设备,第一设备是可视对讲门锁,如果业务逻辑需要控制中枢设备能通过自身的屏幕、喇叭、麦克风与可视对讲门锁前的访客进行交互,就需要两者进行相互发现;再例如,第三设备是控制板,第一设备是wifi智能灯,如果业务逻辑需要控面板能控制wifi智能灯,也需要两者进行相互发现。
49.图1是本发明基于通讯系统的设备发现方法实施例一的流程图,该实施例的设备发现方法应用于第一设备中,且具体包括:
50.步骤s11,当所述第一设备接入路由器后,发送预设类型信息,其中,所述预设类型信息包括:蓝牙广播消息;
51.在该步骤中,第一设备可通过用户的安装配置接入通讯系统中的一路由器中,例如,用户通过在无线局域网设置界面进行路由器账号选择及密码输入来接入该路由器,然后便可获取到基于dhcp(dynamic host configuration protocol,动态主机配置协议)动态分配的ip地址,该ip地址为该路由器所对应的网段下的ip地址。另外,因为第一设备使用的是wifi&ble双模芯片,在第一设备加入路由器后,第一设备启动自身的wifi&ble共存模式,使得自身保持wifi联网的同时,周期性地发送包含自身设备信息的预设类型信息。
52.在本实施例中,预设类型信息包括蓝牙广播信息,即,第一设备通过ble广播周期性发送自身设备信息,以向外界传递加入家庭内网通讯网络的请求,该蓝牙广播消息中带有自身的设备标识。
53.步骤s12,接收所述第二设备发送的蓝牙连接请求,并与所述第二设备建立蓝牙连接,其中,所述第二设备在侦听到所述蓝牙广播消息后向所述第一设备发送蓝牙连接请求;
54.在该步骤中,需说明的是,当第一设备发送蓝牙广播消息后,在其蓝牙通信范围内的所有设备均可侦听到该蓝牙广播消息,且有可能多个设备均向第一设备发送了蓝牙连接请求。而对于第一设备,其仅能与其中一个设备建立蓝牙连接。与第一设备建立蓝牙连接的设备可以是但不仅限于依据蓝牙连接请求的接收时间、对应的设备的信号强度等进行选择。
55.作为一种实施方式,第一设备仅根据最先接收到的蓝牙连接请求建立蓝牙连接,例如,第二设备发送的蓝牙连接请求最先被第一设备接收到,所以第一设备与第二设备建立蓝牙连接。
56.作为另一种实施方式,第一设备还可根据接收到的蓝牙连接请求中,信号强度最佳者对应的蓝牙连接请求建立蓝牙连接,例如,从收到第一条蓝牙连接请求后的预设时间范围内(如,500ms)收到的多条蓝牙连接请求中,第二设备与第一设备之间的蓝牙连接信号强度最佳,所以第一设备与第二设备建立蓝牙连接。
57.步骤s13,通过所述第二设备与所述第三设备交换ip地址;
58.在该步骤中,由于第二设备已与第一设备进行蓝牙连接,可与第一设备进行蓝牙通信,同时,第二设备作为已成功加入通讯系统的设备,又可与第三设备进行内网通讯,所以,第二设备可作为第一设备与第三设备的桥梁设备,实现第一设备与第三设备的ip地址的交换功能。
59.步骤s14,根据所述第三设备的ip地址,与所述第三设备建立tcp连接。
60.需说明的是,根据nat(network address translation,网络地址转换)协议,只能由下级路由层级的设备向上级路由层级的设备发送连接请求,即,只能下级路由层级的设备以tcp客户端的身份向上级路由层级的设备(作为tcp服务端)发送连接请求,而不能上级路由层级的设备以tcp客户端的身份向下级路由层级的设备(作为tcp服务端)发送连接请求。
61.作为一种实施方式,当第一设备与第三设备交换ip地址后,第二设备会向第一设备发送tcp连接通知。第二设备仅向第一设备发送tcp连接通知的前提是,第二设备确定第一设备接入的是子路由器,第三设备接入的是主路由器,即第一设备作为下级路由层级的tcp客户端,第三设备作为上级路由层级的tcp服务端。
62.作为另一种实施方式,第二设备除了向第一设备发送tcp连接通知外,还会向第三设备发送tcp连接通知,在实际应用中,第二设备可能无法知晓处于下级路由层级的是第一设备还是第三设备,即,无法知晓:是第一设备接入子路由器且第三设备接入主路由器,还是第三设备接入子路由器且第一设备接入主路由器。因此,第二设备只能同时向第一设备及第三设备发送tcp连接通知,这样,第一设备与第三设备均会向对方发送tcp连接请求,以保证不管是第一设备还是第三设备处于下级路由层级,均可以在第一设备与第三设备之间建立tcp连接。
63.作为另一种实施方式,第二设备仅向第三设备发出tcp连接通知,第一设备接收第三设备发送的tcp连接请求。第二设备仅向第三设备发送tcp连接通知的前提是,第二设备确定第三设备接入的是子路由器,第一设备接入的是主路由器,即第三设备作为下级路由层级的tcp客户端,第一设备作为上级路由层级的tcp服务端。
64.作为另一种实施方式,当第一设备与第三设备交换ip地址后,可无需等待第二设备发送tcp连接通知,直接由接入子路由器的设备(第一设备、第三设备中的一个)向接入主路由器的设备(第一设备、第三设备中的另一个)发送tcp连接请求,进而在第一设备与第三设备之间建立tcp连接。这种直接建立tcp连接的方式的前提是,第一设备及第三设备均可确定自身接入的是子路由器或是主路由器。
65.通过该实施例的技术方案,当第一设备接入通讯系统的路由器后,可发送蓝牙广播消息,这样,处于第一设备的蓝牙通讯范围内的第二设备便可扫描到该蓝牙广播消息,进而可与第一设备建立蓝牙连接。在第二设备与第一设备建立蓝牙连接后,第二设备作为第一设备与第三设备(第一设备的发现目标)之间的桥梁,可实现第一设备与第三设备之间的ip地址交换。在第一设备与第三设备交换ip地址后,可建立两者之间的tcp连接。因此,即使第一设备与第三设备处于不同网段,依然可进行双方的内网发现,进而可进行后续的内网通讯。而且,该技术方案由于不需要在通讯系统中增加任何硬件设备,所以,成本相对较低。
66.进一步地,在一个可选实施例中,步骤s13中通过所述第二设备与所述第三设备交换ip地址包括:当所述第二设备与所述第三设备为同一设备时,通过所述蓝牙连接与所述
第二设备交换ip地址。在该实施例中,第二设备与第三设备为同一设备,即,即使第一设备与其发现目标(第三设备)处于不同的网段,但两者的距离较近,以至于在第一设备发送蓝牙广播消息后,第三设备可侦听到该蓝牙广播消息,进而直接与第一设备建立蓝牙连接,然后,两者通过该蓝牙连接交换彼此的ip地址,以建立后续的tcp连接。
67.进一步地,在一个可选实施例中,步骤s13中通过所述第二设备与所述第三设备交换ip地址包括:当所述第二设备与所述第三设备不为同一设备时,第一设备通过所述蓝牙连接将自身的ip地址发送至所述第二设备,以供所述第二设备通过内网通讯将所述第一设备的ip地址发送至所述第三设备;以及,通过所述蓝牙连接接收所述第二设备发送的所述第三设备的ip地址。在该实施例中,第二设备与第三设备不为同一设备,此时,第二设备为第一设备与第三设备之间的桥梁设备,且通过蓝牙连接接收第一设备发送的自身的ip地址,以通过内网通讯将所述第一设备的ip地址发送至第三设备,以及通过蓝牙连接向第一设备发送的第三设备的ip地址。
68.进一步地,在一个可选实施例中,第二设备可在与第一设备建立蓝牙连接后才通过内网通讯向第三设备请求ip地址,然后再通过蓝牙连接将所请求到的第三设备的ip地址发送至第一设备。
69.在另一个可选实施例中,由于第二设备已加入内网通讯系统,第二设备可预先存储好第三设备的ip地址,待第二设备与第一设备建立蓝牙连接后,直接通过蓝牙连接将第三设备的ip地址发送至第一设备。
70.进一步地,在一个可选实施例中,步骤s11中当所述第一设备接入路由器后,发送预设类型信息,包括:当所述第一设备接入所述路由器后,自动发送所述预设类型信息。在该实施例中,在第一设备接入路由器后,自动触发预设类型信息的发送。
71.进一步地,在一个可选实施例中,步骤s11中当所述第一设备接入路由器后,发送预设类型信息,包括:当所述第一设备接入所述路由器后,接收用户输入的触发指令,并根据所述触发指令发送所述预设类型信息。在该实施例中,可在第一设备上设置实体按键或虚拟按键,当第一设备接入路由器后,用户可通过触发该实体按键或虚拟按键来触发预设类型信息的发送;或者,用户可通过终端app发出相应的指令来触发预设类型信息的发送。
72.进一步地,在一个可选实施例中,第一设备具有wifi&ble双模芯片,可实现wifi功能和ble功能共存,所以,第一设备发送的预设类型信息除包括蓝牙广播消息外,还包括wifi组播消息,且该wifi组播消息中带有自身的ip地址。而且,步骤s11包括:
73.当所述第一设备接入所述路由器后,交替发送所述wifi组播消息及所述蓝牙广播消息;
74.该方法还包括:
75.当所述第三设备与所述第一设备不互为跨网段设备时,接收所述第三设备发送的应答消息,并根据所述应答消息获取所述第三设备的ip地址,其中,所述第三设备在接收到所述wifi组播消息后,获取所述第一设备的ip地址,并向所述第一设备返回应答消息;
76.根据所述第三设备的ip地址,与所述第三设备建立tcp连接。
77.在该实施例中,当第一设备接入通讯系统的路由器后,可交替发送蓝牙广播消息和wifi组播消息,这样,如果第三设备(第一设备的发现目标)与第一设备处于同一网段,那么,第三设备可直接对该wifi组播消息进行应答,且应答消息中包括第三设备的ip地址,然
后,第一设备及第三设备可根据所获取到的对方的ip地址,建立tcp连接。
78.关于上述实施例,有以下两点需说明:
79.1.假如第三设备与第一设备互为跨网段设备,由于第三设备与第一设备处于不同的网段,所以,当第一设备发出wifi组播消息后,该第一设备所接入的路由器是无法将其转发到自身的wan(wide area network interface,广域网接口)接口,也就无法发送到与该wan口相连的另一路由器(第三设备所接入的路由器)中去,这样,第三设备是无法侦听到这个wifi组播信息的。这种情况下,只能采用图1所示的实施例的方法进行第一设备与第三设备的相互发现。
80.2.假如第三设备与第一设备的距离较近,且两者处于同一网段,那么,由于第一设备是交替发送蓝牙广播消息及wifi组播消息的,所以,有可能发生以下情况:第三设备在还没有来得及对该wifi组播消息进行应答时,先通过第二设备与第一设备交换了ip地址。针对这种情况,可按图1所示的实施例的方法进行第一设备与第三设备的相互发现。
81.图2是本发明基于通讯系统的设备发现方法实施例二的流程图,该实施例的设备发现方法应用于第二设备中,且具体包括以下步骤:
82.步骤s21.侦听所述第一设备发送的预设类型信息,其中,所述第一设备在接入路由器后发送所述预设类型信息,所述预设类型信息包括:蓝牙广播消息;
83.步骤s22.向所述第一设备发送蓝牙连接请求,并与所述第一设备建立蓝牙连接;
84.步骤s23.通过所述蓝牙连接实现所述第一设备与所述第三设备的ip地址的交换,以使所述第一设备与所述第三设备建立tcp连接。
85.通过该实施例的技术方案,当第一设备接入通讯系统的路由器后,可发送蓝牙广播消息,这样,处于第一设备的蓝牙通讯范围内的第二设备便可扫描到该蓝牙广播消息,进而可与第一设备建立蓝牙连接。在第二设备与第一设备建立蓝牙连接后,第二设备作为第一设备与第三设备(第一设备的发现目标)之间的桥梁,可实现第一设备与第三设备之间的ip地址交换。在第一设备与第三设备交换ip地址后,可建立两者之间的tcp连接。因此,即使第一设备与第三设备处于不同网段,依然可进行双方的内网发现,进而可进行后续的内网通讯。而且,该技术方案由于不需要在通讯系统中增加任何硬件设备,所以,成本相对较低。
86.进一步地,在一个可选实施例中,步骤s23中通过所述蓝牙连接实现所述第一设备与所述第三设备的ip地址的交换,包括:当所述第二设备与所述第三设备为同一设备时,通过所述蓝牙连接与所述第一设备交换ip地址,包括:当所述第二设备与所述第三设备为同一设备时,通过所述蓝牙连接与所述第一设备交换ip地址。在该实施例中,第二设备与第三设备为同一设备,即,即使第一设备与其发现目标(第三设备)处于不同的网段,但两者的距离较近,以至于在第一设备发送蓝牙广播消息后,第三设备可侦听到该蓝牙广播消息,进而直接与第一设备建立蓝牙连接,然后,两者通过该蓝牙连接交换彼此的ip地址。
87.进一步地,在一个可选实施例中,步骤s23中通过所述蓝牙连接实现所述第一设备与所述第三设备的ip地址的交换,包括:当所述第二设备与所述第三设备不为同一设备时,通过所述蓝牙连接接收所述第一设备的ip地址,并通过内网通讯将其发送至所述第三设备;以及,通过所述蓝牙连接将所述第三设备的ip地址发送至所述第一设备。在该实施例中,第二设备与第三设备不为同一设备,此时,第二设备为第一设备与第三设备之间的桥梁设备,且通过蓝牙连接接收第一设备发送的自身的ip地址,以通过内网通讯将所述第一设
备的ip地址发送至第三设备,以及通过蓝牙连接向第一设备发送的第三设备的ip地址。
88.进一步地,在一个可选实施例中,在步骤s22与步骤s23之间,还包括:
89.对所述第一设备进行合法性验证;
90.若所述第一设备为合法设备,则通过所述蓝牙连接实现所述第一设备与所述第三设备的ip地址的交换。
91.在该实施例中,第二设备在实现第一设备与第三设备的ip地址的交换之前,需要先对所述第一设备的身份进行合法性验证,即,对第一设备进行鉴权,例如,可采用数字证书的方式进行鉴权。只有在第一设备为合法设备时,才进行信息交换,即双方ip地址信息的交换,从而提高内网通讯系统的通信安全。
92.图3是本发明基于通讯系统的设备发现方法实施例三的流程图,该实施例的设备发现方法应用于第三设备中,且具体包括以下步骤:
93.步骤s31.接收所述第二设备发送的所述第一设备的ip地址;其中,所述第一设备与所述第二设备建立蓝牙连接,所述第一设备通过所述蓝牙连接向所述第二设备发送自身ip地址;
94.步骤s32.根据所述第一设备的ip地址,与所述第一设备进行tcp连接。
95.通过该实施例的技术方案,当第一设备接入通讯系统的路由器后,可发送蓝牙广播消息,这样,处于第一设备的蓝牙通讯范围内的第二设备便可扫描到该蓝牙广播消息,进而可与第一设备建立蓝牙连接。在第二设备与第一设备建立蓝牙连接后,第二设备作为第一设备与第三设备(第一设备的发现目标)之间的桥梁,可实现第一设备与第三设备之间的ip地址交换。在第一设备与第三设备交换ip地址后,可在两者之间建立tcp连接。因此,即使第一设备与第三设备处于不同网段,依然可进行双方的内网发现,进而可进行后续的内网通讯。而且,该技术方案由于不需要在通讯系统中增加任何硬件设备,所以,成本相对较低。
96.本发明还构造一种设备,该设备包括处理器及存储器,而且,存储器存储有计算机程序,处理器在执行该计算机程序时实现任一实施例所述的设备发现方法的步骤。
97.图4是本发明内网通讯系统实施例一的逻辑结构图,该实施例的内网通讯系统包括多个设备(图中仅示出了设备11、12、13)及至少两个相连接的路由器(图中仅示出了路由器14、15),其中,该设备11、12、13的逻辑结构可参照前文所述,至少两个路由器相连接。
98.下面结合图5所示的本发明一个实施例中的内网通讯系统来说明本发明设备发现方法在智能家居系统中应用过程:
99.在智能家居系统中,第三设备为智能控制中枢,其为能够管理控制家庭中所有智能设备的控制中心,具备wifi和ble通讯能力。第一设备、第二设备、第四设备均为能够通过wifi联网的智能设备,使用的通讯芯片是wifi&ble双模芯片,且第一设备、第二设备及第四设备已加入同一家庭内网通讯网络,相互之间可进行内网通信。第一路由器属于家庭一级路由器,第二路由器属于家庭二级路由器。而且,假设:智能控制中枢(第三设备)、第二设备、第四设备都已经成功加入家庭网络中,相互之间可进行内网通信,第一设备是新加入的设备,需要被智能控制中枢发现并在建立相应连接后进行设备控制。
100.在上述应用环境中,由于第三设备在第一路由器下,和第二路由器的网段不同,所以采用传统的内网发现协议是第三设备无法发现第一设备的。
101.在使用本发明的设备发现方法时,首先,第一设备通过用户的安装配置可成功加
入第二路由器中,分配的ip地址例如是192.168.2.3。同时,第一设备在接入第二路由器后会启动自己的wifi&ble共存模式,即,在能保持wifi联网的同时可以发送ble广播,通过wifi组播和ble广播周期性发送自身的设备信息,以便其它设备接收到,从而将自己加入到家庭内网通讯网络。其它已经在家庭内网通讯网络的设备(包括第二设备、第三设备、第四设备)都支持wifi&ble双模共存,所以它们可以开启wifi组播侦听,同时扫描ble广播。由于第一设备是处于192.168.2网段,而第一设备发出的wifi组播,第二路由器是无法转发到它的wan口,也就无法发送到第一路由器中去,即,第二设备、第三设备及第四设备无法侦听到该wifi组播信息。但是,第一设备发送的ble广播因为距离第二设备不是很远,所以可以被第二设备扫描到。
102.第二设备通过蓝牙扫描到这个广播消息后,可直接与第一设备建立蓝牙连接。然后通过对第一设备进行鉴权来判断第一设备是否为合法设备,并在为合法设备时才进行信息交换,且该信息交换的具体内容包括:第一设备给第二设备自己的ip地址,第二设备给第一设备智能控制中枢(即,第三设备)的ip地址。当ip地址交换完成后,第二设备还会通过已有的内网网络把第一设备的ip地址发送给智能控制中枢(即,第三设备),同时通知第一设备及第三设备向对方发起tcp连接。
103.当第三设备与第一设备建立好tcp连接后,就可以实现基于tcp的内网通讯及设备控制。
104.最后需说明的是,本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
105.另外,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
106.另外,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过设备中的功能模块来完成,在此不作赘述。
107.以上所揭露的仅为本发明的较佳实施例而已,当然不能以此来限定本发明的权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
技术特征:
1.一种基于通讯系统的设备发现方法,应用于通讯系统的第一设备,所述通讯系统还包括第二设备及第三设备,其特征在于,该方法包括:当所述第一设备接入路由器后,发送预设类型信息,其中,所述预设类型信息包括:蓝牙广播消息;接收所述第二设备发送的蓝牙连接请求,并与所述第二设备建立蓝牙连接,其中,所述第二设备在侦听到所述蓝牙广播消息后向所述第一设备发送蓝牙连接请求;通过所述第二设备与所述第三设备交换ip地址;根据所述第三设备的ip地址,与所述第三设备建立tcp连接。2.根据权利要求1所述的基于通讯系统的设备发现方法,其特征在于,所述通过所述第二设备与所述第三设备交换ip地址,包括:当所述第二设备与所述第三设备为同一设备时,通过所述蓝牙连接与所述第二设备交换ip地址;或者当所述第二设备与所述第三设备不为同一设备时,通过所述蓝牙连接将自身的ip地址发送至所述第二设备,以供所述第二设备通过内网通讯将所述第一设备的ip地址发送至所述第三设备;以及,通过所述蓝牙连接接收所述第二设备发送的所述第三设备的ip地址。3.根据权利要求1所述的基于通讯系统的设备发现方法,其特征在于,所述当所述第一设备接入路由器后,发送预设类型信息,包括:当所述第一设备接入所述路由器后,自动发送所述预设类型信息;或者,当所述第一设备接入所述路由器后,接收用户输入的触发指令,并根据所述触发指令发送所述预设类型信息。4.根据权利要求1-3任一项所述的基于通讯系统的设备发现方法,其特征在于,所述预设类型信息还包括wifi组播消息,所述当所述第一设备接入路由器后,发送预设类型信息,包括:当所述第一设备接入所述路由器后,交替发送所述wifi组播消息及所述蓝牙广播消息;该方法还包括:当所述第三设备与所述第一设备不互为跨网段设备时,接收所述第三设备发送的应答消息,并根据所述应答消息获取所述第三设备的ip地址,其中,所述第三设备在接收到所述wifi组播消息后,获取所述第一设备的ip地址,并向所述第一设备返回应答消息;根据所述第三设备的ip地址,与所述第三设备建立tcp连接。5.一种基于通讯系统的设备发现方法,应用于通讯系统的第二设备,所述通讯系统还包括第一设备及第三设备,其特征在于,该方法包括:侦听所述第一设备发送的预设类型信息,其中,所述第一设备在接入路由器后发送所述预设类型信息,所述预设类型信息包括:蓝牙广播消息;向所述第一设备发送蓝牙连接请求,并与所述第一设备建立蓝牙连接;通过所述蓝牙连接实现所述第一设备与所述第三设备的ip地址的交换,以使所述第一设备与所述第三设备建立tcp连接。6.根据权利要求5所述的基于通讯系统的设备发现方法,其特征在于,所述通过所述蓝牙连接实现所述第一设备与所述第三设备的ip地址的交换,包括:
当所述第二设备与所述第三设备为同一设备时,通过所述蓝牙连接与所述第一设备交换ip地址;或者当所述第二设备与所述第三设备不为同一设备时,通过所述蓝牙连接接收所述第一设备的ip地址,并通过内网通讯将其发送至所述第三设备;以及,通过所述蓝牙连接将所述第三设备的ip地址发送至所述第一设备。7.根据权利要求5所述的基于通讯系统的设备发现方法,其特征在于,在通过所述蓝牙连接实现所述第一设备与所述第三设备的ip地址的交换之前,该方法还包括:对所述第一设备进行合法性验证;若所述第一设备为合法设备,则通过所述蓝牙连接实现所述第一设备与所述第三设备的ip地址的交换。8.一种基于通讯系统的设备发现方法,应用于通讯系统的第三设备,所述内网通讯系统还包括第一设备及第二设备,其特征在于,该方法包括:接收所述第二设备发送的所述第一设备的ip地址;其中,所述第一设备与所述第二设备建立蓝牙连接,所述第一设备通过所述蓝牙连接向所述第二设备发送自身ip地址;根据所述第一设备的ip地址,与所述第一设备建立tcp连接。9.一种设备,包括处理器及存储有计算机程序的存储器,其特征在于,所述处理器在执行所述计算机程序时实现权利要求1-4任一项所述的设备发现方法的步骤,和/或,实现权利要求5-7任一项所述的设备发现方法的步骤,和/或,实现权利要求8所述的设备发现方法的步骤。10.一种内网通讯系统,其特征在于,包括:多个权利要求9所述的设备至少两个相连接的路由器。
技术总结
本发明涉及一种基于通讯系统的设备发现方法、设备及内网通讯系统,该设备发现方法包括:当第一设备接入路由器后,发送预设类型信息,其中,预设类型信息包括:蓝牙广播消息;接收第二设备发送的蓝牙连接请求,并与第二设备建立蓝牙连接,其中,第二设备在侦听到蓝牙广播消息后向第一设备发送蓝牙连接请求;通过第二设备与第三设备交换IP地址;根据第三设备的IP地址,与第三设备建立TCP连接。实施本发明的技术方案,即使第一设备与第三设备处于不同网段,依然可进行双方的内网发现。依然可进行双方的内网发现。依然可进行双方的内网发现。
技术研发人员:
黄秀峰
受保护的技术使用者:
深圳市欧瑞博科技股份有限公司
技术研发日:
2022.07.28
技术公布日:
2022/12/12