1.本发明涉及智能家居控制技术领域,具体为一种基于智能中控系统的中继网关控制系统及方法。
背景技术:2.在智能家居系统中常用到中继网关或者是mesh网关,通常情况下,是中继网关下的设备与中继网关通过zigbee协议或者蓝牙协议进行通讯,然后中继网关再跟云端进行通讯,通过app实现对中继网关以及中继网关下的设备的控制以及场景联动等功能。
3.通常的智能家居系统更多的是依托于云平台对设备的管理,若是上行网络链路断开,则设备控制以及场景联动功能或将失效,大大降低了设备运行的稳定性和可靠性,不利于极端情况下的使用。
技术实现要素:4.本发明的目的在于提供一种基于智能中控系统的中继网关控制系统及方法,以解决上述背景技术中提出的问题。
5.为了解决上述技术问题,本发明提供如下技术方案:一种基于智能中控系统的中继网关控制系统,包括中控主机,所述中控主机内部一侧安装有通讯逻辑模块、第一推送模块、通讯验证模块、自动连接模块、同步更新模块、添加管理模块、加密模块、第二推送模块和中央处理模块。
6.优选的,所述通讯验证模块包括申请模块、检验模块、匹配模块和确认模块,且申请模块、检验模块、匹配模块和确认模块均安装在通讯验证模块上。
7.优选的,所述自动连接模块包括检测模块、定时发送模块和信息备份模块,且检测模块、定时发送模块和信息备份模块均安装在自动连接模块上。
8.优选的,所述同步更新模块包括自动检查模块、更新判断模块、第一更新模块和状态刷新模块,且自动检查模块、更新判断模块、第一更新模块和状态刷新模块均安装在同步更新模块上。
9.优选的,所述添加管理模块包括下载模块、第二更新模块、记录储存模块、refuff刷新模块、指令接受模块、tcp连接模块和信息上报模块,下载模块、第二更新模块、记录储存模块、refuff刷新模块、指令接受模块、tcp连接模块和信息上报模块均安装在添加管理模块上。
10.一种基于智能中控系统的中继网关控制方法,包括步骤一,自动扫描;步骤二,推送显示;步骤三,通讯验证;步骤四,数据处理;步骤五,添加管理;步骤六,数据加密;步骤七,数据推送;步骤八,设备扫描;步骤九,自动重连;步骤十,同步更新;步骤十一,进程守护;
11.其中上述步骤一中,中控主机利用通讯逻辑模块中的本地服务器udp来创建udp套接字,同时利用局域网udp组播或广播进行自动扫描,在自动扫描的过程中,首先判断是否
接收到开启自动发现的指令,如果没有则继续去判断,若接收到则开启所有以太网类型子设备的扫描流程;然后判断是否扫描到设备,如果没有扫描到则关闭扫描流程;
12.其中上述步骤二中,当步骤一中的自动扫描的过程中扫描到了相关设备后,则利用第一推送模块将扫描到的设备推送到客户端app上进行显示;
13.其中上述步骤三中,当步骤二中的设备信息被推送到app上显示之后,利用通讯验证模块对扫描到的设备进行验证,首先申请模块发送验证申请,随即通过检验模块对设备进行验证,看看是否处于同一局域网,随后利用匹配模块进行匹配,匹配完成后利用确认模块进行确认,确认之后利用本地tcp服务器创建tcp套接字,然后监听本地网卡,接收到消息并判断是否有新连接,若没有则返回继续监听,若有接收到消息则添加客户端信息结构体并管理tcp连接;
14.其中上述步骤四中,当步骤三中的信息确认之后,信息传递到中央处理模块,中央处理模块进行处理之后进入下一步骤;
15.其中上述步骤五中,当步骤四中中央处理模块处理信息之后,传递到添加管理模块,首先判断是否接收到特定设备或者是自动发现的扫描指令,当指令接受模块接收到指令后,开启特定或者全部设备的扫描流程,扫描到设备后上报扫描到的设备信息,然后判断是否下达注册某台设备的指令,如果没有下达则返回判断是否接收到扫描指令,如果接收到注册设备的指令,则判断是否是以太网设备,若是以太网设备,则通过tcp连接模块与设备建立tcp连接,然后再次判断是否连接失败或者离线,若离线或者失败则直接结束,若连接成功建立则上报注册成功的信息后结束;若不是以太网设备,则判断所属或者对应的中继设备是否已经注册并连接正常,若不是则结束,若中继设备已经注册并且连接正常,则向中继设备发送组网信息,如果发送超时则结束组网,若没有超时则判断在这段时间内有没有接收到取消的指令,如果有则会直接结束组网,如果没有则再判断是不是在超时时间内接收到到组网成功的设备信息,若接收到则利用信息上报模块上报设备注册信息后完成注册,从完成设备的连接添加,当上述扫描过程中判断有离线设备时,则重启重连设备,当开机或重启程序后,判断是否同步云端数据,若不需要则继续循环判断,若需要则利用下载模块下载数据文件,然后第二更新模块利用读取覆盖式更新的文件、同步刷新本地功能设定,判断文件中的设备是不是以太网通讯类型的设备,如果不是则继续循环判断是否需要同步云端数据进行本地的数据更新;如果文件中的设备是以太网通讯类型的设备则利用记录储存模块将设备信息记录在rebuff文件中,然后继续循环判断是否同步云端数据,在同步云端数据的同时,要判断rebuff文件是不是空的,如果是则表明是第一次添加中控设备,没有中继设备,然后结束注册重连。如果rebuff文件是非空的,则进行设备扫描,然后判断udp程序是否扫描到与注册表rebuff文件中记录相匹配的设备,若没有则返回重新设备扫描,若扫描到则重连该设备,如果重连成功则利用refuff刷新模块刷新rebuff中数据后继续进行设备扫描,若是没有重连成功则直接返回继续扫描设备;
16.其中上述步骤六中,当步骤五中注册添加设备完成后,将添加的设备的信息传递到加密模块中进行加密;
17.其中上述步骤七中,当步骤六中对信息进行加密之后,随即利用第二推送模块将信息推送到客户端app上进行显示;
18.其中上述步骤八中,当设备在运行的过程中需要对设备进行不断的扫描,扫描流
程完善的不仅是设备添加的扫描,同时实现的是已添加设备的状态扫描机制,首先判断是否开启扫描或者是否有离线发生,首先判断是否开启扫描或者是否有离线发生,如果没有就延时一段时间然后重新判断,如果有则利用发送特定的udp信息进行扫描,随后进行阻塞式接收数据,在这个过程进行判断是否阻塞超时或者异常,如果超时或者异常则经过延时之后重新去判断是否有新的离线发生或者开启新的扫描;如果没有阻塞超时或者异常,系统则会接收网络报文并存储对端源地址等数据。然后对接收的报文加以判断,判断该设备mac是否在当前计数循环扫描中首次出现,如果不是则忽略后返回继续阻塞接收数据;如果是则判断该设备是否已经注册,如果是已经注册则判断是否是离线设备,如果是离线设备则进行重连,如果不是则判断是否重启重连设备,是的话则重连设备,不是则返回重新判断是否有离线发生或开启扫描;如果没有选择设备注册,则返回重新阻塞接收数据,进行下一次循环判断;
19.其中上述步骤九中,当步骤八中进行设备扫描的过程中,发现离线设备则利用自动连接模块进行重连操作,首先利用信息备份模块记录离线设备的信息,然后关闭套接字,继而进行重连,并且利用定时发送模块定期发送心跳包的方式以及利用检测模块检测套接字的状态的方式来判断设备的状态是否断开,没有断开就重复定期发送心跳包,若出现连接异常断开的情况,建立新的连接,然后进行下一轮的设备状态检测,同时,子设备离线后期上级设备会将其状态上报个中控主机,中控主机通过mqtt服务器发送至app显示设备离线;
20.其中上述步骤十中,当程序运行开始后检查本地特定路径是否存在并可以访问,若没有则创建路径本地特定路径并赋予读写权限,然后利用更新判断模块检测判断是否同步云端数据,如果不需要则延时后再继续检测,如果需要则下载数据表到指定文件中,然后利用自动检查模块检测是否下载成功,若不成功则返回继续循环判断是否同步,如果指令下发成功,则设置文件更新标志,然后通知相关线程,然后读取文件数据并利用第一更新模块更新到运存中并且利用状态刷新模块刷新设置,然后返回循环检测是否同步云端数据,继而在云端的数据存储在本地端,利用同步更新模块实现了本地和云端对设备数据的同步更新;
21.其中上述步骤十一中,在设备运行后,程序进入boot守护进程,然后获取系统后台进程状态,接着判断业务程序是否正常,如果不正常,则重启运行业务程序。如果业务程序运行正常或者重启运行业务程序后经过延时再返回获取系统后台进程状态,然后再加以判断,以此循环。
22.优选的,所述步骤六中,设备的信息包括设备的名称、ip地址、数量等。
23.与现有技术相比,本发明所达到的有益效果是:本发明依托于物联网技术生态的新型中控系统,由中控系统直接连接本地的中继网关,通过中控系统与云端的通讯,间接实现app对中继网关以及中继网关下的子设备进行控制和配置,在本地网络中由中控系统管理中继网关及下面的子设备,则不管上行网是否通断,中控系统下的设备均可以按照设定的程序进行运行,从而解决智能家居系统在网络异常的情况下不能正常工作的问题,大大提升了设备运行的可靠性和稳定性。
附图说明
24.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
25.图1为本发明的整体结构正视剖视图;
26.图2为本发明的系统流程图;
27.图3为本发明的方法流程图;
28.图4为本发明的本地服务器udp的原理框图;
29.图5为本发明的本地tcp服务器的原理框图;
30.图6为本发明的自动扫描的原理框图;
31.图7为本发明的设备扫描的原理框图;
32.图8为本发明的设备注册的原理框图;
33.图9为本发明的注册重连的原理框图;
34.图10为本发明的离线重连的原理框图;
35.图11为本发明的云端同步的原理框图;
36.图12为本发明的进程守护的原理框图;
37.图中:1、中控主机;2、通讯逻辑模块;3、第一推送模块;4、通讯验证模块;5、自动连接模块;6、同步更新模块;7、添加管理模块;8、加密模块;9、第二推送模块;10、中央处理模块;401、申请模块;402、检验模块;403、匹配模块;404、确认模块;501、检测模块;502、定时发送模块;503、信息备份模块;601、自动检查模块;602、更新判断模块;603、第一更新模块;604、状态刷新模块;701、下载模块;702、第二更新模块;703、记录储存模块;704、refuff刷新模块;705、指令接受模块;706、tcp连接模块;707、信息上报模块。
具体实施方式
38.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.请参阅图1,本发明提供一种技术方案:一种基于智能中控系统的中继网关控制系统,包括中控主机1,中控主机1内部一侧安装有通讯逻辑模块2、第一推送模块3、通讯验证模块4、自动连接模块5、同步更新模块6、添加管理模块7、加密模块8、第二推送模块9和中央处理模块10,通讯验证模块4包括申请模块401、检验模块402、匹配模块403和确认模块404,且申请模块401、检验模块402、匹配模块403和确认模块404均安装在通讯验证模块4上,自动连接模块5包括检测模块501、定时发送模块502和信息备份模块503,且检测模块501、定时发送模块502和信息备份模块503均安装在自动连接模块5上,同步更新模块6包括自动检查模块601、更新判断模块602、第一更新模块603和状态刷新模块604,且自动检查模块601、更新判断模块602、第一更新模块603和状态刷新模块604均安装在同步更新模块6上,添加管理模块7包括下载模块701、第二更新模块702、记录储存模块703、refuff刷新模块704、指令接受模块705、tcp连接模块706和信息上报模块707,下载模块701、第二更新模块702、记录储存模块703、refuff刷新模块704、指令接受模块705、tcp连接模块706和信息上报模块
707均安装在添加管理模块7上。
40.请参阅图2
‑
12,本发明提供一种技术方案:一种基于智能中控系统的中继网关控制方法,包括步骤一,自动扫描;步骤二,推送显示;步骤三,通讯验证;步骤四,数据处理;步骤五,添加管理;步骤六,数据加密;步骤七,数据推送;步骤八,设备扫描;步骤九,自动重连;步骤十,同步更新;步骤十一,进程守护;
41.其中上述步骤一中,中控主机1利用通讯逻辑模块2中的本地服务器udp来创建udp套接字,同时利用局域网udp组播或广播进行自动扫描,在自动扫描的过程中,首先判断是否接收到开启自动发现的指令,如果没有则继续去判断,若接收到则开启所有以太网类型子设备的扫描流程;然后判断是否扫描到设备,如果没有扫描到则关闭扫描流程;
42.其中上述步骤二中,当步骤一中的自动扫描的过程中扫描到了相关设备后,则利用第一推送模块3将扫描到的设备推送到客户端app上进行显示;
43.其中上述步骤三中,当步骤二中的设备信息被推送到app上显示之后,利用通讯验证模块4对扫描到的设备进行验证,首先申请模块401发送验证申请,随即通过检验模块402对设备进行验证,看看是否处于同一局域网,随后利用匹配模块403进行匹配,匹配完成后利用确认模块404进行确认,确认之后利用本地tcp服务器创建tcp套接字,然后监听本地网卡,接收到消息并判断是否有新连接,若没有则返回继续监听,若有接收到消息则添加客户端信息结构体并管理tcp连接;
44.其中上述步骤四中,当步骤三中的信息确认之后,信息传递到中央处理模块10,中央处理模块10进行处理之后进入下一步骤;
45.其中上述步骤五中,当步骤四中中央处理模块10处理信息之后,传递到添加管理模块7,首先判断是否接收到特定设备或者是自动发现的扫描指令,当指令接受模块705接收到指令后,开启特定或者全部设备的扫描流程,扫描到设备后上报扫描到的设备信息,然后判断是否下达注册某台设备的指令,如果没有下达则返回判断是否接收到扫描指令,如果接收到注册设备的指令,则判断是否是以太网设备,若是以太网设备,则通过tcp连接模块706与设备建立tcp连接,然后再次判断是否连接失败或者离线,若离线或者失败则直接结束,若连接成功建立则上报注册成功的信息后结束;若不是以太网设备,则判断所属或者对应的中继设备是否已经注册并连接正常,若不是则结束,若中继设备已经注册并且连接正常,则向中继设备发送组网信息,如果发送超时则结束组网,若没有超时则判断在这段时间内有没有接收到取消的指令,如果有则会直接结束组网,如果没有则再判断是不是在超时时间内接收到到组网成功的设备信息,若接收到则利用信息上报模块707上报设备注册信息后完成注册,从完成设备的连接添加,当上述扫描过程中判断有离线设备时,则重启重连设备,当开机或重启程序后,判断是否同步云端数据,若不需要则继续循环判断,若需要则利用下载模块701下载数据文件,然后第二更新模块702利用读取覆盖式更新的文件、同步刷新本地功能设定,判断文件中的设备是不是以太网通讯类型的设备,如果不是则继续循环判断是否需要同步云端数据进行本地的数据更新;如果文件中的设备是以太网通讯类型的设备则利用记录储存模块703将设备信息记录在rebuff文件中,然后继续循环判断是否同步云端数据,在同步云端数据的同时,要判断rebuff文件是不是空的,如果是则表明是第一次添加中控设备,没有中继设备,然后结束注册重连。如果rebuff文件是非空的,则进行设备扫描,然后判断udp程序是否扫描到与注册表rebuff文件中记录相匹配的设备,若没
有则返回重新设备扫描,若扫描到则重连该设备,如果重连成功则利用refuff刷新模块704刷新rebuff中数据后继续进行设备扫描,若是没有重连成功则直接返回继续扫描设备;
46.其中上述步骤六中,当步骤五中注册添加设备完成后,将添加的设备的信息传递到加密模块8中进行加密,且设备的信息包括设备的名称、ip地址、数量等;
47.其中上述步骤七中,当步骤六中对信息进行加密之后,随即利用第二推送模块9将信息推送到客户端app上进行显示;
48.其中上述步骤八中,当设备在运行的过程中需要对设备进行不断的扫描,扫描流程完善的不仅是设备添加的扫描,同时实现的是已添加设备的状态扫描机制,首先判断是否开启扫描或者是否有离线发生,首先判断是否开启扫描或者是否有离线发生,如果没有就延时一段时间然后重新判断,如果有则利用发送特定的udp信息进行扫描,随后进行阻塞式接收数据,在这个过程进行判断是否阻塞超时或者异常,如果超时或者异常则经过延时之后重新去判断是否有新的离线发生或者开启新的扫描;如果没有阻塞超时或者异常,系统则会接收网络报文并存储对端源地址等数据。然后对接收的报文加以判断,判断该设备mac是否在当前计数循环扫描中首次出现,如果不是则忽略后返回继续阻塞接收数据;如果是则判断该设备是否已经注册,如果是已经注册则判断是否是离线设备,如果是离线设备则进行重连,如果不是则判断是否重启重连设备,是的话则重连设备,不是则返回重新判断是否有离线发生或开启扫描;如果没有选择设备注册,则返回重新阻塞接收数据,进行下一次循环判断;
49.其中上述步骤九中,当步骤八中进行设备扫描的过程中,发现离线设备则利用自动连接模块5进行重连操作,首先利用信息备份模块503记录离线设备的信息,然后关闭套接字,继而进行重连,并且利用定时发送模块502定期发送心跳包的方式以及利用检测模块501检测套接字的状态的方式来判断设备的状态是否断开,没有断开就重复定期发送心跳包,若出现连接异常断开的情况,建立新的连接,然后进行下一轮的设备状态检测,同时,子设备离线后期上级设备会将其状态上报个中控主机1,中控主机1通过mqtt服务器发送至app显示设备离线;
50.其中上述步骤十中,当程序运行开始后检查本地特定路径是否存在并可以访问,若没有则创建路径本地特定路径并赋予读写权限,然后利用更新判断模块602检测判断是否同步云端数据,如果不需要则延时后再继续检测,如果需要则下载数据表到指定文件中,然后利用自动检查模块601检测是否下载成功,若不成功则返回继续循环判断是否同步,如果指令下发成功,则设置文件更新标志,然后通知相关线程,然后读取文件数据并利用第一更新模块603更新到运存中并且利用状态刷新模块604刷新设置,然后返回循环检测是否同步云端数据,继而在云端的数据存储在本地端,利用同步更新模块6实现了本地和云端对设备数据的同步更新;
51.其中上述步骤十一中,在设备运行后,程序进入boot守护进程,然后获取系统后台进程状态,接着判断业务程序是否正常,如果不正常,则重启运行业务程序。如果业务程序运行正常或者重启运行业务程序后经过延时再返回获取系统后台进程状态,然后再加以判断,以此循环。
52.基于上述,本发明的优点在于,该发明使用时依托于物联网技术生态的新型中控系统,由中控系统直接连接本地的中继网关,通过中控系统与云端的通讯,间接实现app对
中继网关以及中继网关下的子设备进行控制和配置,在本地网络中由中控系统管理中继网关及下面的子设备,则不管上行网是否通断,中控系统下的设备均可以按照设定的程序进行运行,从而解决智能家居系统在网络异常的情况下不能正常工作的问题,大大提升了设备运行的可靠性和稳定性。
53.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
54.最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。