一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于切片式的本地场景联动网关实现方法及装置与流程

2022-05-18 16:08:46 来源:中国专利 TAG:


1.本发明涉及智能家居领域,更具体的,涉及一种基于切片式的本地场景联动 网关实现方法及装置。


背景技术:

2.现有的部分智能家居网关不支持本地场景和联动,场景和联动都需要通过云 端服务器来进行发送,这样就造成了如果在断网即网关和服务器无法通讯的情况 下,场景和联动会失效,使得智能家居不智能化。
3.其他支持本地场景和联动的网关对存储和运行硬件ram或sram要求高,因 为每个场景和联动的大小不一致,导致了存储空间上面的浪费,不利于智能家居 网关市场竞争力。
4.目前的lorawan网关只对数据进行透传,而且必须要网络支持,lorawan网 关系统的链路较长,直接引进的话是不适合应用于智能家居产品。


技术实现要素:

5.鉴于上述问题,本发明的目的是提供一种基于切片式的本地场景联动网关实 现方法及装置,实现了智能家居网关的本地场景和联动,解决了没有网络的情形, 本地化的按键场景依旧有效,让智能家居不受限于网络限制。
6.本发明第一方面提供了一种基于切片式的本地场景联动网关实现方法,所述 方法包括以下步骤:
7.触发匹配及入队:当网关通过lora收到终端上行数据时,网关会触发查询 本地场景和联动触发源列表,查询是否有新的触发源信息,若有新的触发源信息, 则将触发源中的父类提取到触发源临时队列中,并将终端上行数据修正为已触发 本地联动或场景后(用于区分该指令是否需要服务器触发联动或场景)上报至服 务器;
8.指令信息处理:网关查询触发源临时队列是否有数据,如果有数据表明需要 触发对应的本地场景或联动;则提取cmd指令进行校验,校验成功则修正数据包 序号后,打包数据并入队下行至终端队列中,等待本地联动或场景交互;
9.本地联动或场景交互:无论网关是否联网,都会根据下行至终端队列数据与 终端进行数据控制交互;若网关此时联网,会将交互过程中所有终端上行数据同 步至服务器。
10.本地联动和场景的删除、修改、获取:网关联网后,向服务器发起获取本地 场景和联动请求,服务器根据每个场景和联动的字节大小,按照事先约定的将一 个父场景或父联动拆分为若干个子场景或子联动下发到网关;
11.网关根据场景和联动触发源存储表格、场景和联动正常执行信息存储表格、 场景和联动延时执行信息表格、下行设备列表信息存储表格、场景和联动cmd 命令存储表格判断是否是重复发送的,如果为新的,则存储到所述五个表格中对 应的位置;直到服务器推送完所有的子场景和子联动;
12.同时,当服务器发现有场景更新时,则告知网关删除对应的子场景,待收到 网关删除完成的回应后,然后再将对应的子场景下发到网关进行更新子场景;
13.同理,当服务器发现有联动更新时,则告知网关删除对应的子联动,待收到 网关删除完成的回应后,然后再将对应的子联动下发到网关进行更新子联动。
14.本方案中,所述触发匹配及入队具体为:
15.网关检查lora接收数据,若接收到数据,则查询本地场景及联动触发源列 表,并对比数据设备id是否为触发源id,若否,则上报至服务器,若是,则判 断是否为触发动作,若不是触发源,则上报至服务器,若是触发源,则返回被触 发的场景或联动的父类及其他信息;
16.然后修改该触发命令的帧头帧尾字段,修改与该触发源id相同的所有上行 序列号,并返回信息入队触发源临时队列,再上报至服务器。
17.本方案中,所述指令信息处理具体为:
18.网关查询接收触发源临时队列是否有数据;
19.根据触发源临时队列中的字段父类,查询执行信息表中所有字段父类与触发 源临时队列中的字段父类相同的子类,并提取对应子类对应的的cmd存储位置 location、cmd指令个数cmd_num以及cmd指令总长度length;
20.判断cmd指令是否延时下行,若是,则进行延时处理,并返回重新查询接收 触发源临时队列是否有数据;若否,则根据数据协议格式分别截取不同的cmd 指令,并分别进行校验处理,校验成功则打包数据并入队下行至终端队列中,等 待下行线程处理。如果触发源中延时标志置位,还需要将对应指令的延时时间 delay提取,将该数据入队到延时指令信息处理中。延时其他的过程与正常过程 一致。
21.本方案中,所述延时指令信息处理具体为:
22.以延时时基为1s,每次延时1s后则触发一次查询,若有延时cmd指令,则 查询延时数组中延时时间是否为0,若为0,则重新查询,若不为0,则将延时 数组中有延时要求cmd指令的延时时间减去1s,如果此时该cmd的延时时间不 为0,则重新查询,若为0,则表明该指令此时需要下行,取出数组中对应的cmd 指令并打包数据入队到下行至终端队列中,交由下行线程处理。
23.本发明第二方面提供一种基于切片式的本地场景联动网关实现装置,所述装 置包括主控单元以及与其相连的静态存储器、外扩flash模块、以太网模块、lora 模块;
24.所述主控单元通过所述以太网模块与服务器联系,通过lora模块与终端通 讯;
25.所述主控单元控制实现对所述装置的控制;
26.所述外扩flash模块实现代码存储及本地联动和场景保存。。
27.本方案中,所述外扩flash模块存储有五个表格,分别为:
28.场景和联动触发源存储表、场景和联动正常执行信息存储表、场景和联动延 时执行信息表、下行设备列表信息存储表、场景和联动cmd命令存储表;
29.所述场景和联动触发源存储表用于存储场景或联动的触发源及触发源对应 的信息;用于对接收到的数据进行比对并提取相应的信息;与场景和联动正常执 行信息存储表相对应;
30.所述场景和联动正常执行信息存储表存储了各个子类在外扩flash模块中 存储
的位置信息location、指令数量cmd_num及该子类的总长度length;用于 场景和联动触发源存储表和场景和联动cmd命令存储表格存储表的中介;
31.所述场景和联动延时执行信息存储表与场景和联动正常执行信息存储表功 能相同,多了一个字段延时时间delay,用于对延时处理有要求的场景和联动;
32.所述下行设备列表信息存储表存储了下行终端的设备列表,用来根据字段 type来区分是单火类设备还是零火类设备以及组播指令,以及通知下行线程采 取不同的下行策略;
33.场景和联动cmd命令存储表存储了所有子类的场景或联动的指令。
34.本方案中,所述主控单元的主控芯片的型号为:stm32h750zbt6;lora模块 的lora芯片型号为zm470sx-m;静态存储器的存储芯片型号为:cy62157ev30ll-45zsxi;外扩flash模块的外扩芯片型号为:w25q128fvsg;以 太网的主芯片型号为:lan8720a。
35.本方案中,所述装置可实现以下方法:
36.触发匹配及入队:当网关通过lora收到终端上行数据时,网关会触发查询 本地场景和联动触发源列表,查询是否有新的触发源信息,若有新的触发源信息, 则将触发源中的父类提取到触发源临时队列中,并将终端上行数据修正为已触发 本地联动或场景后(用于区分该指令是否需要服务器触发联动或场景)上报至服 务器;
37.指令信息处理:网关查询触发源临时队列是否有数据,如果有数据表明需要 触发对应的本地场景或联动;则提取cmd指令进行校验,校验成功则修正数据包 序号后,打包数据并入队下行至终端队列中,等待本地联动或场景交互;
38.本地联动或场景交互:无论网关是否联网,都会根据下行至终端队列数据与 终端进行数据控制交互;若网关此时联网,会将交互过程中所有终端上行数据同 步至服务器。
39.本地联动和场景的删除、修改、获取:网关联网后,向服务器发起获取本地 场景和联动请求,服务器根据每个场景和联动的字节大小,按照事先约定的将一 个父场景或父联动拆分为若干个子场景或子联动下发到网关;
40.网关根据场景和联动触发源存储表格、场景和联动正常执行信息存储表格、 场景和联动延时执行信息表格、下行设备列表信息存储表格、场景和联动cmd 命令存储表格判断是否是重复发送的,如果为新的,则存储到所述五个表格中对 应的位置;直到服务器推送完所有的子场景和子联动;
41.同时,当服务器发现有场景更新时,则告知网关删除对应的子场景,待收到 网关删除完成的回应后,然后再将对应的子场景下发到网关进行更新子场景;
42.同理,当服务器发现有联动更新时,则告知网关删除对应的子联动,待收到 网关删除完成的回应后,然后再将对应的子联动下发到网关进行更新子联动。
43.本方案中,所述触发匹配及入队具体为:
44.网关检查lora接收数据,若接收到数据,则查询本地场景及联动触发源列 表,并对比数据设备id是否为触发源id,若否,则上报至服务器,若是,则判 断是否为触发动作,若不是触发源,则上报至服务器,若是触发源,则返回被触 发的场景或联动的父类及其他信息;
45.然后修改该触发命令的帧头帧尾字段,修改与该触发源id相同的所有上行 序列号,并返回信息入队触发源临时队列,再上报至服务器;
46.所述指令信息处理具体为:
47.网关查询接收触发源临时队列是否有数据;
48.根据触发源临时队列中的字段父类,查询执行信息表中所有字段父类与触发 源临时队列中的字段父类相同的子类,并提取对应子类对应的的cmd存储位置 location、cmd指令个数cmd_num以及cmd指令总长度length;
49.判断cmd指令是否延时下行,若是,则进行延时处理,并返回重新查询接收 触发源临时队列是否有数据;若否,则根据数据协议格式分别截取不同的cmd 指令,并分别进行校验处理,校验成功则打包数据并入队下行至终端队列中,等 待下行线程处理。如果触发源中延时标志置位,还需要将对应指令的延时时间 delay提取,将该数据入队到延时指令信息处理中。延时其他的过程与正常过程 一致。
50.本方案中,所述延时指令信息处理具体为:
51.以延时时基为1s,每次延时1s后则触发一次查询,若有延时cmd指令,则 查询延时数组中延时时间是否为0,若为0,则重新查询,若不为0,则将延时 数组中有延时要求cmd指令的延时时间减去1s,如果此时该cmd的延时时间不 为0,则重新查询,若为0,则表明该指令此时需要下行,取出数组中对应的cmd 指令并打包数据入队到下行至终端队列中,交由下行线程处理。
52.本发明公开了一种基于切片式的本地场景联动网关实现方法及装置,所述方 法实现了智能家居网关的本地场景和联动,解决了没有网络的情形,本地化的按 键场景依旧有效,让智能家居不受限于网络限制。
53.所述方法对场景和联动进行了切片式处理,一个父类场景或父类联动可以被 切片为响应长度的对个子场景或子联动,使得所有子场景和子联动不会字节过长, 造成空间浪费,降低了本地场景和联动化对硬件的要求。加强了智能网关的市场 竞争力和实用性。
54.所述装置对lorawan进行修正,在传输速度上不受限lorawan的劣势,即将 其劣势转化为优势。同时能满足远距离传输及全屋覆盖的要求。
55.所述方法的本地场景和联动可以独立区分出所控设备为单火供电还是零火 供电以及是否采用组播模式,根据终端这几个特性执行不同的通讯方式。
56.所述方法通过字段处理,可以将本地场景和联动的触发源上报至服务器并却 别与其他触发源,是的终端设备控制的根源可塑。
57.所述方法使用多表格存储方式,使得网关在执行时效率更高。
58.所述方法有序列号识别功能,可以识别出是否为重发数据进行过滤。防止因 重发导致本地场景和联动重复动作。
59.所述方法支持本地场景和联动指令中延时指令操作。
60.所述方法支持在网关联网时对网关本地子场景和子联动的随时更新,做到有 网络的情况下同步子场景和子联动为最新的子场景和子联动。
附图说明
61.图1示出了本技术一种基于切片式的本地场景联动网关实现方法的流程图;
62.图2示出了本技术所述触发匹配及入队流程图;
63.图3示出了本技术所述正常指令信息处理流程图。
64.图4示出了本技术所述延时指令信息处理流程。
65.图5示出了本技术一种基于切片式的本地场景联动网关实现装置的框图。
66.图6示出了本技术所述五大表格对应的关系示意图。
67.图7示出了本技术所述联动交互的流程图。
具体实施方式
68.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具 体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下, 本技术的实施例及实施例中的特征可以相互组合。
69.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明 还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并 不受下面公开的具体实施例的限制。
70.图1示出了本技术一种基于切片式的本地场景联动网关实现方法的流程图。
71.如图1所示,本技术公开了一种基于切片式的本地场景联动网关实现方法, 所述方法包括以下步骤:
72.s102:触发匹配及入队:当网关通过lora收到终端上行数据时,网关会触 发查询本地场景和联动触发源列表,查询是否有新的触发源信息,若有新的触发 源信息,则将触发源中的father类提取到触发源临时队列中,将终端上行数据 修正为已触发本地联动或场景后(用于区分该指令是否需要服务器触发联动或场 景)并上报至服务器;
73.s104:指令信息处理:网关查询触发源临时队列是否有数据,如果有数据表 明需要触发对应的本地场景或联动;则提取cmd指令进行校验,校验成功则打包 数据并入队下行至终端队列中,本地联动或场景交互;
74.s106:本地联动或场景交互:无论网关是否联网,都会根据下行至终端队列 数据与终端进行数据控制交互。若网关此时联网,会将交互过程中所有终端上行 数据同步至服务器。
75.本地联动和场景的删除、修改、获取:网关联网后,向服务器发起获取本地 场景和联动请求,服务器根据每个场景和联动的字节大小,按照事先约定的将一 个父场景或父联动拆分为若干个子场景或子联动下发到网关;
76.网关根据场景和联动触发源存储表格、场景和联动正常执行信息存储表格、 场景和联动延时执行信息表格、下行设备列表信息存储表格、场景和联动cmd 命令存储表格判断是否是重复发送的,如果为新的,则存储到所述五个表格中对 应的位置;直到服务器推送完所有的子场景和子联动;
77.同时,当服务器发现有场景更新时,则告知网关删除对应的子场景,待收到 网关删除完成的回应后,然后再将对应的子场景下发到网关进行更新子场景;
78.同理,当服务器发现有联动更新时,则告知网关删除对应的子联动,待收到 网关删除完成的回应后,然后再将对应的子联动下发到网关进行更新子联动。
79.根据本发明实施例,如图2所示,图2示出了触发匹配及入队流程图,所述 触发匹配及入队具体为:
80.网关检查lora接收数据,若接收到数据,则查询本地场景及联动触发源列 表,并
对比数据设备id是否为触发源id,若否,则上报至服务器,若是,则判 断是否为触发动作,若不是触发源,则上报至服务器,若是触发源,则返回被触 发的场景或联动的父类及其他信息;
81.然后修改该触发命令的帧头帧尾字段,修改与该触发源id相同的所有上行 序列号,并返回信息入队触发源临时队列,再上报至服务器。
82.需要说明的是,当网关通过lora收到终端上行数据时,网关会触发查询本 地场景和联动触发源列表,并与上行数据对应信息进行比对。如果上行设备id 相同,则更新触发源列表中的所有与上行设备相同id的上行序列号即source_id。 此时并且比对触发源列表中的source和action是否相同。如果相同表明该终端 数据位本地场景和联动触发源数据。此时还需要比对触发源中的上行序列号 up_old_serial是否相同,相同表明该指令为终端重发指令,不触发信息入队触 发源临时队列。如果不相同则表明是新的触发源信息,需要将触发源中的father 类提取到触发源临时队列中。
83.根据本发明实施例,如图3所示,图3示出了正常指令信息处理流程图,所 述指令信息处理具体为:
84.网关查询接收触发源临时队列是否有数据;根据触发源临时队列中的字段父 类,查询执行信息表中所有字段父类与触发源临时队列中的字段父类相同的子类, 并提取对应子类对应的的cmd存储位置location、cmd指令个数cmd_num以及 cmd指令总长度length;
85.判断cmd指令是否延时下行,若是,则进行延时处理,并返回重新查询接收 触发源临时队列是否有数据;若否,则根据数据协议格式分别截取不同的cmd 指令,并分别进行校验处理,校验成功则打包数据并入队下行至终端队列中,等 待下行线程处理。如果触发源中延时标志置位,还需要将对应指令的延时时间 delay提取,将该数据入队到延时指令信息处理中。延时其他的过程与正常过程 一致。
86.需要说明的是,该线程一直在查询触发源临时队列是否有数据。如果有数据 表明需要触发对应的本地场景或联动。根据触发源临时队列中的字段father, 查询执行信息表中所有字段father与触发源临时队列中的字段father相同的子 类son,并提取对应子类son对应的的cmd存储位置location、cmd指令个数 cmd_num以及cmd指令总长度length,根据存储信息提取cmd,分别进行校验处 理,校验成功则打包数据并入队下行至终端队列中,等待下行线程处理。如果触 发源中延时标志置位,还需要将对应指令的延时时间delay提取,将该数据入队 到延时指令信息处理中。延时其他的过程与正常过程一致。
87.根据本发明实施例,如图4所示,图4示出了延时指令信息处理流程,所述 延时指令信息处理具体为:
88.以延时时基为1s,每次延时1s后则触发一次查询,若有延时cmd指令,则 查询延时数组中延时时间是否为0,若为0,则重新查询,若不为0,则将延时 数组中有延时要求cmd指令的延时时间减去1s,如果此时该cmd的延时时间不 为0,则重新查询,若为0,则表明该指令此时需要下行,取出数组中对应的cmd 指令并打包数据入队到下行至终端队列中,交由下行线程处理。
89.图5示出了本技术一种基于切片式的本地场景联动网关实现装置的框图。
90.如图5所示,本技术公开了一种基于切片式的本地场景联动网关实现装置, 所述基于切片式的本地场景联动网关实现装置5包括主控单元51以及与其相连 的静态存储器
52、外扩flash模块53、以太网模块54、lora模块55;
91.所述主控单元51通过所述以太网模块54与服务器联系,通过lora模块55 与终端通讯;
92.所述主控单元51控制实现对所述基于切片式的本地场景联动网关实现装置 5的控制;
93.所述外扩flash模块53实现代码存储及本地联动和场景保存。。
94.根据本发明实施例,所述外扩flash模块53存储有五个表格,分别为:
95.场景和联动触发源存储表格、场景和联动正常执行信息存储表格、场景和联 动延时执行信息表格、下行设备列表信息存储表格、场景和联动cmd命令存储表 格。
96.需要说明的是,所述场景和联动触发源存储表用于存储场景或联动的触发源 及触发源对应的信息;用于对接收到的数据进行比对并提取相应的信息;与场景 和联动正常执行信息存储表相对应。
97.所述场景和联动正常执行信息存储表存储了各个子类在外扩flash模块中 存储的位置信息location、指令数量cmd_num及该子类的总长度length;用于 场景和联动触发源存储表和场景和联动cmd命令存储表格存储表的中介。
98.所述场景和联动延时执行信息存储表与场景和联动正常执行信息存储表功 能相同,多了一个字段延时时间delay,用于对延时处理有要求的场景和联动。
99.所述下行设备列表信息存储表存储了下行终端的设备列表,可以根据字段 type来区分是单火类设备还是零火类设备以及组播指令,这样可以通知下行线 程采取不同的下行策略。
100.场景和联动cmd命令存储表格存储了所有子类的场景或联动的指令。
101.(1)场景和联动触发源存储表如表1所示。
102.表1场景和联动触发源存储表
[0103][0104][0105]
字段说明:
[0106]
source_id:触发源地址;
[0107]
source:触发源;
[0108]
action:触发动作;
[0109]
father:父类;
[0110]
up_old_serial:上行老的序列号,用于比对是否重复命令;
[0111]
delay_type:数据存储在延时区还是在非延时区。0x01:仅在非延时区域; 0x02:仅在延时区域;0x03:两个区域都有。
[0112]
场景和联动触发源存储表用于存储场景或联动的触发源及触发源对应的信 息。
用于对接收到的数据进行比对并提取相应的信息。与场景和联动正常执行信 息存储表相对应。
[0113]
本实施例采取联动和场景需要各自创建一个表格。
[0114]
(2)场景和联动正常执行信息存储表如表2所示。
[0115]
表2场景和联动正常执行信息存储表
[0116]
序号fathersoncmd_numlocationlength1
…………………………2…………………………………………………………
[0117]
字段说明:
[0118]
father:父类;
[0119]
son:子类;
[0120]
cmd_num:该子类总的命令数;
[0121]
location:存储位置序号;
[0122]
length:该子类命令总长度。
[0123]
场景和联动正常执行信息存储表存储了各个子类son在flash中存储的位置 信息location、指令数量cmd_num及该子类的总长度length。用于场景和联动 触发源存储表和场景和联动cmd命令存储表格存储表的中介。
[0124]
本实施例采取联动和场景需要各自创建一个表格。
[0125]
(3)场景和联动延时执行信息存储表如表3所示。
[0126]
表3场景和联动延时执行信息存储表
[0127]
序号fathersoncmd_numlocationlengthdelay1
………………………………2……………………………………………………………………
[0128]
字段说明:
[0129]
father:父类;
[0130]
son:子类;
[0131]
cmd_num:该子类总的命令数;
[0132]
location:存储位置序号;
[0133]
length:该子类命令总长度;
[0134]
delay:指令延迟下发时间。
[0135]
场景和联动延时执行信息存储表与场景和联动正常执行信息存储表功能相 同,多了一个字段延时时间delay,用于对延时处理有要求的场景和联动。
[0136]
目前采取联动和场景需要各自创建一个表格。
[0137]
(4)下行设备列表信息存储表如表4所示。
[0138]
表4下行设备列表信息存储表
[0139]
序号down_idtypedown_old_num1………………2……………………………………
[0140]
字段说明:
[0141]
down_id:执行终端地址;
[0142]
type:执行终端类型。0:零火类设备;1:单火类设备;2:组播指令;
[0143]
down_old_num:下行老的序列号,用于比对是否重复命令。
[0144]
下行设备列表信息存储表存储了下行终端的设备列表,可以根据字段type 来区分是单火类设备还是零火类设备以及组播指令,这样可以通知下行线程采取 不同的下行策略。
[0145]
本实施例中联动和场景及语音中控需要共同创建一个表格。
[0146]
(5)场景和联动cmd命令存储表如表5所示。
[0147]
表5场景和联动cmd命令存储表格存储表
[0148]
序号cmd1
……2………………
[0149]
字段说明:
[0150]
cmd:子类场景或联动的指令存储。存储了所有子类的场景或联动的指令。
[0151]
本实施例中采取联动和场景需要各自创建一个表格。
[0152]
五大表格之间的关系如图6所示,图6示出了五大表格对应的关系示意图, 当lora收到数据后进入触发源表格中进行识别,如果是有效的触发源,则根据 触发源表格中字段father在正常执行信息表格和延时执行信息表格中的字段 father中查找与之相同的所有父类,根据触发源表格中字段delay_type判断执 行信息表格是否在延时表格中存在。之后在执行表格中根据字段cmd_num、 location、length在cmd命令表格中读出需要执行的下行子场景或联动,最后 在经过下行设备信息列表表格中字段type识别出具体的命令类型,并更新字段 down_old_num,打包对应的终端下行指令。
[0153]
根据本发明实施例,所述主控单元的主控芯片的型号为:stm32h750zbt6; lora模块的lora芯片型号为zm470sx-m;静态存储器的存储芯片型号为: cy62157ev30ll-45zsxi;外扩flash模块的外扩芯片型号为:w25q128fvsg;以 太网的主芯片型号为:lan8720a。
[0154]
需要说明的是,本实施例中stm32h750zbt6作为主控制芯片,控制整个装置 的功能实现。zm470sx-m为lora芯片,实现和终端的lora通讯。lan8720a为以 太网实现芯片,为通过以太网口实现与服务器数据交互。w25q128fvsg为外扩 flash,实现代码存储。本实施例所述装置实现方法所取的硬件都没有较高要求, 采用经济可靠的方式实现了网关的本地场景和联动化。
[0155]
根据本发明实施例,所述装置可实现以下方法:
[0156]
触发匹配及入队:当网关通过lora收到终端上行数据时,网关会触发查询 本地场景和联动触发源列表,查询是否有新的触发源信息,若有新的触发源信息, 则将触发源中的父类提取到触发源临时队列中,并将终端上行数据修正为已触发 本地联动或场景后(用
于区分该指令是否需要服务器触发联动或场景)上报至服 务器;
[0157]
指令信息处理:网关查询触发源临时队列是否有数据,如果有数据表明需要 触发对应的本地场景或联动;则提取cmd指令进行校验,校验成功则修正数据包 序号后,打包数据并入队下行至终端队列中,等待本地联动或场景交互;
[0158]
本地联动或场景交互:无论网关是否联网,都会根据下行至终端队列数据与 终端进行数据控制交互;若网关此时联网,会将交互过程中所有终端上行数据同 步至服务器。
[0159]
本地联动和场景的删除、修改、获取:如图7所示,图7示出了联动交互的 流程图。网关联网后,向服务器发起获取本地场景和联动请求,服务器根据每个 场景和联动的字节大小,按照事先约定的将一个父场景或父联动拆分为若干个子 场景或子联动下发到网关;
[0160]
网关根据场景和联动触发源存储表格、场景和联动正常执行信息存储表格、 场景和联动延时执行信息表格、下行设备列表信息存储表格、场景和联动cmd 命令存储表格判断是否是重复发送的,如果为新的,则存储到所述五个表格中对 应的位置;直到服务器推送完所有的子场景和子联动;
[0161]
同时,当服务器发现有场景更新时,则告知网关删除对应的子场景,待收到 网关删除完成的回应后,然后再将对应的子场景下发到网关进行更新子场景;
[0162]
同理,当服务器发现有联动更新时,则告知网关删除对应的子联动,待收到 网关删除完成的回应后,然后再将对应的子联动下发到网关进行更新子联动。
[0163]
本方案中,所述触发匹配及入队具体为:
[0164]
网关检查lora接收数据,若接收到数据,则查询本地场景及联动触发源列 表,并对比数据设备id是否为触发源id,若否,则上报至服务器,若是,则判 断是否为触发动作,若不是触发源,则上报至服务器,若是触发源,则返回被触 发的场景或联动的父类及其他信息;
[0165]
然后修改该触发命令的帧头帧尾字段,修改与该触发源id相同的所有上行 序列号,并返回信息入队触发源临时队列,再上报至服务器;
[0166]
所述指令信息处理具体为:
[0167]
网关查询接收触发源临时队列是否有数据;
[0168]
根据触发源临时队列中的字段父类,查询执行信息表中所有字段父类与触发 源临时队列中的字段父类相同的子类,并提取对应子类对应的的cmd存储位置 location、cmd指令个数cmd_num以及cmd指令总长度length;
[0169]
判断cmd指令是否延时下行,若是,则进行延时处理,并返回重新查询接收 触发源临时队列是否有数据;若否,则根据数据协议格式分别截取不同的cmd 指令,并分别进行校验处理,校验成功则打包数据并入队下行至终端队列中,等 待下行线程处理。如果触发源中延时标志置位,还需要将对应指令的延时时间 delay提取,将该数据入队到延时指令信息处理中。延时其他的过程与正常过程 一致。
[0170]
根据本发明实施例,所述延时指令信息处理具体为:
[0171]
以延时时基为1s,每次延时1s后则触发一次查询,若有延时cmd指令,则 查询延时数组中延时时间是否为0,若为0,则重新查询,若不为0,则将延时 数组中有延时要求cmd指令的延时时间减去1s,如果此时该cmd的延时时间不 为0,则重新查询,若为0,则表明该指令此时需要下行,取出数组中对应的cmd 指令并打包数据入队到下行至终端队列中,交由
下行线程处理。
[0172]
本发明公开了一种基于切片式的本地场景联动网关实现方法及装置,所述方 法实现了智能家居网关的本地场景和联动,解决了没有网络的情形,本地化的按 键场景依旧有效,让智能家居不受限于网络限制。
[0173]
所述方法对场景和联动进行了切片式处理,一个父类场景或父类联动可以被 切片为响应长度的对个子场景或子联动,使得所有子场景和子联动不会字节过长, 造成空间浪费,降低了本地场景和联动化对硬件的要求。加强了智能网关的市场 竞争力和实用性。
[0174]
所述装置对lorawan进行修正,在传输速度上不受限lorawan的劣势,即将 其劣势转化为优势。同时能满足远距离传输及全屋覆盖的要求。
[0175]
所述方法的本地场景和联动可以独立区分出所控设备为单火供电还是零火 供电以及是否采用组播模式,根据终端这几个特性执行不同的通讯方式。
[0176]
所述方法通过字段处理,可以将本地场景和联动的触发源上报至服务器并却 别与其他触发源,是的终端设备控制的根源可塑。
[0177]
所述方法使用多表格存储方式,使得网关在执行时效率更高。
[0178]
所述方法有序列号识别功能,可以识别出是否为重发数据进行过滤。防止因 重发导致本地场景和联动重复动作。
[0179]
所述方法支持本地场景和联动指令中延时指令操作。
[0180]
所述方法支持在网关联网时对网关本地子场景和子联动的随时更新,做到有 网络的情况下同步子场景和子联动为最新的子场景和子联动。
[0181]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以 通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单 元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如: 多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或 不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通 信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、 机械的或其它形式的。
[0182]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单 元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分 布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本 实施例方案的目的。
[0183]
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中, 也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个 单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功 能单元的形式实现。
[0184]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以 通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质 中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括: 移动存储设备、只读存储器(rom,read-only memory)、随机存取存储器(ram, random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0185]
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的 产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理 解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软 件产品的形式体现
出来,该计算机软件产品存储在一个存储介质中,包括若干指 令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执 行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储 设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献