全屋智能系统中局域网内离线控制实现方法与流程

文档序号:27372746发布日期:2021-11-15 14:14阅读:587来源:国知局
全屋智能系统中局域网内离线控制实现方法与流程

1.本发明属于智能家居技术领域,尤其是涉及一种全屋智能系统中局域网内离线控制实现方法。


背景技术:

2.全屋智能系统,如智能家居系统中,由于离线方式会导致网关侧的设备状态与服务器侧的设备状态信息不一致,离线与在线切换存在诸多不便,容易出现因为两边状态紊乱而无法控制成功的问题,而且离线控制对网关的依赖较高,每增加一种新开发的设备都需要更新网关的固件,否则容易出现网关不知如何操作新类型设备的情况,导致管理困难的问题。所以目前通过用户端对智能家居设备进行控制、编辑时,普遍采用的是在线方式。但是,在线方式进行控制和编辑需要高度依赖网络,在无网络情况下无法实现设备控制或编辑,而且用户端与网关之间的通信每一步均需经过外部网络,存在较大的安全隐患,容易出现隐私泄露的问题。所以需要一种既能够实现离线控制,又能够避免网关与服务器侧状态信息无法保持一致导致从离线转变为在线时控制、编辑出现错误的问题。


技术实现要素:

3.本发明的目的是针对上述问题,提供一种全屋智能系统中局域网内离线控制实现方法。
4.为达到上述目的,本发明采用了下列技术方案:一种全屋智能系统中局域网内离线控制实现方法,包括以下步骤:s1.在用户端本地建立与网关的绑定关系,同时在网关端建立与用户端账号的绑定关系;s2.当用户端与网关进行通信时,用户端首先判断自己是否在相应的局域网内,若是,则通过局域网离线方式与网关进行通信;s3.在从离线转变为在线时,对网关与服务器中的设备状态和/或场景数据进行同步。
5.在上述的全屋智能系统中局域网内离线控制实现方法中,若用户端当前不处于相应的局域网内,则通过服务器在线方式与网关进行通信。
6.在上述的全屋智能系统中局域网内离线控制实现方法中,步骤s1之前还包括网关加密步骤a和账号加密步骤b:a.网关出厂之前,由服务器生成并保存网关的网关公钥和网关私钥,并将网关私钥写入网关;b.在用户注册账号时,用户端为注册账号生成并保存用户公钥和用户私钥在本地,同时将用户公钥与账号信息一起发送给服务器。
7.在上述的全屋智能系统中局域网内离线控制实现方法中,步骤s1中,当用户端向
服务器请求绑定相应网关时,服务器将用户端的账号信息与用户公钥同时发送给相应网关,将相应网关的网关信息与网关公钥同时发送给相应用户端,以实现在用户端本地建立与网关的绑定关系,以及在网关端建立与用户端账号的绑定关系。
8.在上述的全屋智能系统中局域网内离线控制实现方法中,步骤s2中,用户端与网关正式通信前先通过随机算法生成一个随机数作为本次通信的会话密码,并使用网关公钥对会话密码进行加密得到验证秘钥,然后将验证秘钥发送给网关;网关使用自己的网关私钥对验证秘钥进行解密得到会话密码,然后用用户公钥对会话密码加密得到回复秘钥,并将回复秘钥回复给用户端;用户端接收到回复秘钥后,用自己的用户私钥进行解密,并确认解密密码是否与会话密码一致,若一致,则后续利用此会话密码进行通信。
9.在上述的全屋智能系统中局域网内离线控制实现方法中,用户端向网关发送的通信内容包括设备控制命令、场景编辑命令和场景控制命令,且所述的网关中存储有设备信息和场景信息。
10.在上述的全屋智能系统中局域网内离线控制实现方法中,步骤s2中,当所述的通信内容为场景控制命令时,用户端通过局域网离线访问网关处的场景列表,并根据用户操作从所述的场景列表中选取一个或多个场景并生成场景执行命令,然后将场景执行命令通过局域网离线方式发送给网关,网关根据场景执行命令执行相应的场景模式;所述的场景编辑命令包括已有场景编辑命令和场景新建命令,当所述的通信内容为已有场景编辑命令时,用户端通过局域网离线访问网关处的场景列表,根据用户的操作在场景列表中选中一个场景,并在从网关处获取所选中场景的场景数据后进入场景编辑页,然后根据用户操作对场景数据编辑完成后将编辑后的场景数据发送给网关,网关根据接收到的场景数据更新相应场景的配置;当所述的通信内容为场景新建命令时,用户端通过局域网离线访问网关处的设备列表,并根据用户的操作在从设备列表中选中一个或多个设备后进入场景编辑页,根据用户操作对所选中的设备编辑完成后将新建场景的场景数据发送给网关,网关根据场景数据进行场景配置以完成场景新建。
11.在上述的全屋智能系统中局域网内离线控制实现方法中,所述的服务器中存储有定义了所有相关设备的产品功能的物模型,所述的网关不定期从服务器中同步所述的物模型。
12.在上述的全屋智能系统中局域网内离线控制实现方法中,步骤s3中,对网关与服务器中的设备状态进行同步的方法包括:c1.网关及服务器分别将系统内所有设备划分为若干组,并为每一组设备生成状态摘要:c2.当从离线转变为在线后,服务器将网关侧的状态摘要与服务器侧相应的状态摘要进行比对;c3.提取比对不一致状态摘要对应的所有设备作为待同步设备,并将网关侧待同步设备的状态同步至服务器。
13.在上述的全屋智能系统中局域网内离线控制实现方法中,所述的服务器和网关中分别具有针对各场景的场景摘要,且步骤s3对网关与服务器中的场景数据同步方法包括:
当网关与用户端之间的通信方式从离线转变为在线后,进行一次网关与服务器的场景摘要比对,将比对不一致的场景摘要提取出来,并将网关中该场景摘要对应的场景数据同步至服务器中。
14.本发明的优点在于:1、将账号与网关相互绑定,使账号端能够访问所绑定网关的场景数据和设备信息,实现设备离线控制,场景模式离线编辑和控制;2、在用户端处于局域网内的时候,优先使用基于局域网的离线方式直接与网关通信,不依赖于网络,降低服务器平台访问率,同时能够提高私密性及安全性;3、通过摘要的方式比对网关与服务器侧相应设备状态情况,并针对性地对发生了状态变化的组对应的设备进行状态同步,既能够实现所有改变了状态的设备的状态同步,又能够提高同步效率,避免大量的非必要同步;4、同步过程中只需对摘要进行比对即可,无需对所有场景记录进行匹配同步,在大场景下优势尤其明显,能够避免大批量场景的频繁同步,提高同步效率,大大减少网络资源的占用量;5、提供定义了产品功能的物模型,网关可以通过更新物模型来获取新设备的所有功能,无需在有新开发设备加入时更新网关固件;6、网关和账号分别具有对应的私钥和公钥,只有与网关绑定的账号才能够实现与网关的离线通信,能够保证离线通信的安全性;7、每次通信都有一个随机会话秘钥,一次通信过程中使用固定的会话秘钥,提高通信效率的同时进一步保证通信的安全性,降低秘钥破解概率。
附图说明
15.图1为本发明全屋智能系统中局域网内离线控制实现方法的方法流程图;图2为本发明全屋智能系统中局域网内离线控制实现方法中场景离线控制方法流程图;图3为本发明全屋智能系统中局域网内离线控制实现方法中已有场景编辑方法流程图;图4为本发明全屋智能系统中局域网内离线控制实现方法中新建场景的方法流程图;图5为本发明全屋智能系统中局域网内离线控制实现方法中对网关与服务器中的设备状态进行同步的方法流程图;图6为本发明全屋智能系统中局域网内离线控制实现方法中场景同步方法流程图;图7为本发明全屋智能系统中局域网内离线控制实现方法中网关与用户端离线安全通信的方法流程图。
具体实施方式
16.下面结合附图和具体实施方式对本发明做进一步详细的说明。
17.本实施例公开了一种全屋智能系统中局域网内离线控制实现方法,基于web服务
和app服务的离线编辑器,用户在用户端(app端)能够通过离线方式对智能家居系统进行设备控制、场景新建、场景编辑等操作。
18.如图1所示,本方法具体包括以下步骤:s1.在用户端本地建立与网关的绑定关系,同时在网关端建立与用户端账号的绑定关系;s2.当用户端与网关进行通信时,用户端首先判断自己是否在相应的局域网内,若是,则通过局域网离线方式与网关进行通信,否则,通过服务器在线方式与网关进行通信;s3.在用户端与网关之间的通信从离线转变为在线时,网关与服务器中的设备状态、场景数据进行同步。由网关自行判断本次与用户端之间的通信属于在线方式还是离线方式,同时,网关还用于记录上次与用户端之间的通信采用的是离线方式还是在线方式,从而在通信从离线转变为在线时进行设备及场景数据同步。与网关绑定的用户端不局限于一个用户端,支持多个用户端与同一个网关进行绑定。从离线方式转变为在线方式时,与网关离线通信的用户端和与网关在线通信的用户端可以不是同一个用户端。
19.离线通信的方式保证了通信的安全性,响应的迅速性,同时能够降低服务器压力,大幅度减少服务器端的通信量及处理量。当用户端在相应的局域网内时默认离线通信方式,但是优选在首页或其他页面设置在线切换按钮,用户通过点击该在线切换按钮可以切换为在线通信方式。
20.优选地,服务器中存储有定义了所有相关设备的产品功能的物模型,产品功能的定义包括相应设备的设备类型、设备属性、通道数量、通道具备的功能(如开、关功能,温度调节功能等)。
21.网关不定期从服务器中同步物模型。具体可以为,服务器可以在物模型有更新时便同步物模型至相应的网关,或者,在网关每次重新上线时同步一次物模型,实现网关侧物模型的及时更新。相关设备是指智能家居提供企业的所有设备,服务器在物模型有变动后便同步至网关,使网关及时获取新开发设备的设备信息,避免了客户在增加新开发设备类型时,网关不知如何操作新设备而需要升级网关固件的问题,为离线控制提供了方便。
22.具体地,用户端向网关发送的通信内容包括设备控制命令、场景编辑命令和场景控制命令,且网关中存储有设备信息和场景信息。对设备进行控制时,从网关处获取设备列表,在用户选中或搜索设备进行离线控制后将控制命令发送给网关,网关根据控制命令控制相应设备执行动作。
23.具体地,如图2所示,步骤s2中,当所述的通信内容为场景控制命令时,用户端通过局域网离线访问网关处的场景列表,并根据用户操作从所述的场景列表中选取一个或多个场景并生成场景执行命令,然后将场景执行命令通过局域网离线方式发送给网关,网关根据场景执行命令执行相应的场景模式;场景编辑命令包括已有场景编辑命令和场景新建命令,如图3所示,当通信内容为已有场景编辑命令时,用户端通过局域网离线访问网关处的场景列表,根据用户的操作在场景列表中选中一个场景,并在从网关处获取所选中场景的场景数据后进入场景编辑页,然后根据用户操作对场景数据编辑完成后将编辑后的场景数据发送给网关,网关根据接收到的场景数据更新相应场景的配置;如图4所示,当通信内容为场景新建命令时,用户端通过局域网离线访问网关处的
设备列表,并根据用户的操作在从设备列表中选中一个或多个设备后进入场景编辑页,根据用户操作对所选中的设备编辑完成后将新建场景的场景数据发送给网关,网关根据场景数据进行场景配置以完成场景新建。
24.进一步地,用户端在局域网内通过局域网与网关离线通信时,用户端与网关之间的通信信息服务器是不知道的,此时系统内很可能存在一个或多个设备状态是改变了的,而服务器无法获取一切离线相关信息。但是纯离线控制无法满足用户的需求,很多时候,用户有在线控制的需要,此时,为了避免同时支持离线控制与在线控制时出现控制紊乱的情况,就需要在离线转变为在线的时候同步服务器端与网关端的设备状态,具体地,如图5所示,对网关与服务器中的设备状态进行同步的方法包括:c1.网关将系统内所有设备划分为若干组并为每一组设备生成状态摘要;服务器将网关所在智能家居系统内所有设备相应地划分为若干组,且同样为每一组设备生成状态摘要;正常情况下,网关侧的所有状态摘要与服务器侧相应的状态摘要是一样的。
25.c2.当从离线转变为在线后,服务器将网关侧的状态摘要与服务器侧相应的状态摘要进行比对;c3.提取比对不一致状态摘要对应的所有设备作为待同步设备,并将网关侧待同步设备的状态同步至服务器。
26.从离线转变为在线,若通过将所有设备的状态同步至服务器也能够实现状态同步,但是在实际应用中,大部分设备状态是不变的,将所有设备状态同步至服务器的方式会出现大量的非必要同步,在楼宇级的大型智能化场景下,一个系统涉及到的设备数量极多,采用全同步的方式会明显增加系统压力,导致由于离线所带来的效益抵不过大量同步带来的缺陷。本方案采用将设备分组的方式解决了全量同步的问题,对各组进行摘要比对,然后对摘要发生变化的一组或机组进行状态同步,能够大大减轻同步压力,提高同步效率,减轻系统压力,突出离线方式带来的效益。
27.另外,上述采用的是一层摘要方式,实际应用中,还可以设置为两层、三层或多层摘要方式。以两层为例,网关及服务器分别将系统内所有设备划分为若干大组,并为每大组设备生成状态摘要,然后对每一大组再划分为若干小组,并为每一小组设备生成状态摘要;在从离线转变为在线时,首先将服务器、网关两边各大组的相应状态摘要进行比对,若存在不一致的状态摘要,则提取比对不一致状态摘要对应的大组,然后对大组下的若干小组的状态摘要进行比对,此时再提取比对不一致状态摘要对应的小组的所有设备作为待同步设备,并将网关侧待同步设备的状态同步至服务器。
28.例如,某个智能家居系统中涉及了100个设备,可以将100个设备划分为5组,一组20个设备,网关与服务器分别对5组设备生成状态摘要,假设网关对5组设备生成的状态摘要为a1、a2、a3、a4、a5,服务器对5组设备生成的状态摘要也为a1、a2、a3、a4、a5,若设备状态不变,则状态摘要也不变,若设备状态改变,则状态摘要也改变。当进行离线控制时,100个设备中总有一个或多个设备状态是改变的,假设第2组中有设备的状态改变,则此时,网关端的a2会变成a2’,与服务器端的a2不一致,本实施例中采用的是一层摘要方式,所以对第2组所有20个设备进行同步。当采用两层摘要方式时,例如每组20个设备进一步划分,划分为5组,一组4个设备,每组设备再生成状态摘要,假设网关对第2大组进一步划分的5组设备生
成的状态摘要为b1、b2、b3、b4、b5,服务器对第2大组进一步划分的5组设备生成的状态摘要为b1、b2、b3、b4、b5’此时,第2组的状态摘要比对不一致时(即a2与a2’比对不一致),进一步比对前述进一步划分的5组状态摘要,即分别将b1、b2、b3、b4、b5与b1、b2、b3、b4、b5’进行比对,然后再对比对结果为不同的状态摘要的小组的设备进行状态同步,如状态摘要b5,b5’不同,则将网关状态摘要b5’下的4个设备状态同步至服务器,服务器同步设备状态后,重新生成状态摘要。
29.进一步地,组的划分可以由网关随机划分,或由本领域技术人员设定规则,网关根据设定规则划分,或由本领域技术人员设定一定规则后由网关在满足设定规则的前提下随机划分,如可以将属于同一场景的所有设备划分为一组,有时候同一个设备同属于两个或多个场景,此时,优选将这两个或多个场景的所有设备划分为一组,若涉及设备数量过多,则可以将涉及设备划分为两组或多组,各组之间可以具有不同的设备数量。
30.进一步地,服务器和网关中分别具有针对各场景模式的场景摘要,在一个场景模式中,每个涉及到的设备都会占用一定的字节,包括执行动作、uid信息、执行延时情况等信息。所以在一个场景数据中会有比较多的信息,场景涉及设备越多,信息量就越大。当用户通过离线方式对场景进行场景模式新增、场景模式删除、场景模式中设备新增、设备删除、设备状态更改等编辑操作时,在转变为上线控制方式以后,需要将场景模式进行同步。如果在转为上线通信方式后将所有场景模式的场景数据同步一遍在家庭环境下是可行的,但是随着智能家居系统的不断发展,智能家居系统不断被应用于楼宇级的大环境下,这时候一个智能家居系统会包含大量的设备,可能存在较多的场景模式数量,各场景模式涉及的设备数量也较多。此时,若采用全量同步的方式会需要消耗大量的空间,如一个场景是10k,该场景的场景摘要是100个字节,若没有摘要机制,则无论场景是否改变都需要直接同步场景,消耗10k的同步空间,若有摘要机制,则先通过比对摘要,然后对有更改的场景进行针对性地同步,对于没有更改的场景,消耗100个字节即可,大大节省了同步空间。
31.所以本实施例的服务器和网关中分别具有针对各场景的场景摘要,且步骤s3对网关与服务器中的场景数据同步方法包括:当网关与用户端之间的通信方式从离线转变为在线后,进行一次网关与服务器的场景摘要比对,将比对不一致的场景摘要提取出来,并将网关中该场景摘要对应的场景数据同步至服务器中。
32.另外,上述同步方向是将网关中的场景数据同步至服务器中,在实际应用中,还会存在一种网关离线,用户在用户端通过服务器在线方式对场景模型进行在线编辑的需求。传统方法满足前述编辑的方式是在网关重新上电时对服务器中的场景模式同步一次,此时同步方向是将服务器中的场景数据同步至网关中,同样在大的应用环境下会存在同步效率慢,耗时长等问题。
33.本问题面对前述两个问题,对本方案进行进一步优化,网关与服务器中的场景摘要均包括摘要生成时间,如图6所示,具体方法如下:当网关从离线变更为在线或从离线控制方式转变为在线控制方式时,进行一次网关与服务器的场景摘要比对,若比对全部一致,则无需同步,若存在比对不一致的情况,则将比对不一致的场景摘要提取出来,并判断服务器侧的场景摘要与网关侧的场景摘要哪个时间较新,用较新时间的场景数据同步较旧时间的场景数据。
34.如用户通过离线控制方式与网关进行离线通信,并对其中的一个场景x进行了场景模式的编辑,则网关侧关于该场景x的场景摘要会更新,摘要中记录有更新时间,此时,若转变为在线方式,则比较结果是场景x的场景摘要不一致,比较服务器侧关于该场景x的场景摘要时间可知网关侧的场景摘要较新,所以用网关侧场景x的场景数据更新服务器侧场景x的场景数据,场景数据更新后,相应的场景摘要也进行更新。反之亦然,不在此赘述。
35.场景摘要可以在网关侧进行比对,然后将比对结果发送给服务器,如果是需要网关侧的场景更新,则通知服务器即可,如果需要服务器侧的场景更新,则通知服务器进行相应场景的更新。同样地,也可以在服务器侧进行比对,然后将比对结果发送给网关,如果是需要服务器侧的场景更新,则通知网关即可,如果需要网关侧的场景更新,则通知网关进行相应场景的更新。
36.通过上述方法,无论是网关离线时通过用户端在线场景模式编辑,还是用户端通过离线通信方式直接对网关进行离线场景模式编辑,都能够通过比对摘要的方式同步两边的场景摘要,进而同步改变了的场景数据,实现场景的两种离线编辑方式。即在网关离线情况下,用户端又不在局域网内时,可以通过用户端在线方式实现网关离线的场景模式编辑,在网关上线后通过比对摘要的方式从服务器同步有改动的场景模式,无需对所有场景进行全量匹配或同步;在网关和用户端在局域网内时,用户端通过局域网离线方式与网关通信实现离线场景模式编辑,在恢复在线控制之后,通过比对摘要方式从网关端同步有改动的场景模式至服务器,同样无需对所有场景进行全量匹配或同步。通过设置摘要的概念,避免大批量场景的频繁同步,提高同步效率,大大减少网络资源的占用量。
37.优选地,如图7所示,本方法还包括用于保证网关与用户端离线安全通信的方法:具体地,步骤s1之前还包括网关加密步骤a和账号加密步骤b:a.网关出厂之前,由服务器生成并保存网关的网关公钥和网关私钥,并将网关私钥通过安全链路写入网关;b.在用户注册账号时,用户端为注册账号生成并保存用户公钥和用户私钥在本地,同时将用户公钥与账号信息一起发送给服务器。
38.步骤s1中,当用户端向服务器请求绑定相应网关时,服务器将用户端的账号信息与用户公钥同时发送给相应网关,将相应网关的网关信息与网关公钥同时发送给相应用户端,以实现在用户端本地建立与网关的绑定关系,以及在网关端建立与用户端账号的绑定关系。用户端可以通过扫描相应网关上的sn码或输入网关的部分信息等方式向服务器请求绑定相应网关。
39.步骤s2中,用户端与网关正式通信前先通过随机算法生成一个随机数作为本次通信的会话密码,并使用网关公钥对会话密码进行加密得到验证秘钥,然后将验证秘钥发送给网关;网关使用自己的网关私钥对验证秘钥进行解密得到会话密码,然后用用户公钥对会话密码加密得到回复秘钥,并将回复秘钥回复给用户端;用户端接收到回复秘钥后,用自己的用户私钥进行解密,并确认解密密码是否与会话密码一致,若一致,则后续利用此会话密码进行通信。每次通信都有一个随机会话秘钥,通过过程中使用固定的会话秘钥,提高通信效率的同时进一步保证通信的安全性,降低秘钥破解概率。
40.本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
41.尽管本文较多地使用了用户端、用户端账号、网关、服务器、网关公钥、网关私钥、用户公钥、用户私钥等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1