一种基于切片式的本地场景联动网关实现方法及装置制造方法及图纸

技术编号:33439043 阅读:15 留言:0更新日期:2022-05-19 00:26
本发明专利技术公开了一种基于切片式的本地场景联动网关实现方法及装置,所述方法包括:当网关通过LoRa收到终端上行数据时,触发查询本地场景和联动触发源列表,查询若有新的触发源信息,则将触发源中的父类及其相关信息提取到触发源临时队列中,并将终端上行数据修正为已触发本地联动或场景后上报至服务器;网关查询触发源临时队列若有数据,则提取cmd指令进行校验,校验成功则打包数据并入队下行至终端队列中,等待本地联动交互;网关支持服务器对获取或删除本地场景联动或场景交互。所述装置包括主控单元以及与其相连的静态存储器、外扩FLASH模块、以太网模块、LoRa模块。本发明专利技术可实现智能家居网关的本地场景和联动。现智能家居网关的本地场景和联动。现智能家居网关的本地场景和联动。

【技术实现步骤摘要】
一种基于切片式的本地场景联动网关实现方法及装置


[0001]本专利技术涉及智能家居领域,更具体的,涉及一种基于切片式的本地场景联动 网关实现方法及装置。

技术介绍

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

技术实现思路

[0005]鉴于上述问题,本专利技术的目的是提供一种基于切片式的本地场景联动网关实 现方法及装置,实现了智能家居网关的本地场景和联动,解决了没有网络的情形, 本地化的按键场景依旧有效,让智能家居不受限于网络限制。
[0006]本专利技术第一方面提供了一种基于切片式的本地场景联动网关实现方法,所述 方法包括以下步骤:
[0007]触发匹配及入队:当网关通过LoRa收到终端上行数据时,网关会触发查询 本地场景和联动触发源列表,查询是否有新的触发源信息,若有新的触发源信息, 则将触发源中的父类提取到触发源临时队列中,并将终端上行数据修正为已触发 本地联动或场景后(用于区分该指令是否需要服务器触发联动或场景)上报至服 务器;
[0008]指令信息处理:网关查询触发源临时队列是否有数据,如果有数据表明需要 触发对应的本地场景或联动;则提取cmd指令进行校验,校验成功则修正数据包 序号后,打包数据并入队下行至终端队列中,等待本地联动或场景交互;
[0009]本地联动或场景交互:无论网关是否联网,都会根据下行至终端队列数据与 终端进行数据控制交互;若网关此时联网,会将交互过程中所有终端上行数据同 步至服务器。
[0010]本地联动和场景的删除、修改、获取:网关联网后,向服务器发起获取本地 场景和联动请求,服务器根据每个场景和联动的字节大小,按照事先约定的将一 个父场景或父联动拆分为若干个子场景或子联动下发到网关;
[0011]网关根据场景和联动触发源存储表格、场景和联动正常执行信息存储表格、 场景和联动延时执行信息表格、下行设备列表信息存储表格、场景和联动CMD 命令存储表格判断是否是重复发送的,如果为新的,则存储到所述五个表格中对 应的位置;直到服务器推送完所有的子场景和子联动;
[0012]同时,当服务器发现有场景更新时,则告知网关删除对应的子场景,待收到 网关删除完成的回应后,然后再将对应的子场景下发到网关进行更新子场景;
[0013]同理,当服务器发现有联动更新时,则告知网关删除对应的子联动,待收到 网关删除完成的回应后,然后再将对应的子联动下发到网关进行更新子联动。
[0014]本方案中,所述触发匹配及入队具体为:
[0015]网关检查LoRa接收数据,若接收到数据,则查询本地场景及联动触发源列 表,并对比数据设备ID是否为触发源ID,若否,则上报至服务器,若是,则判 断是否为触发动作,若不是触发源,则上报至服务器,若是触发源,则返回被触 发的场景或联动的父类及其他信息;
[0016]然后修改该触发命令的帧头帧尾字段,修改与该触发源ID相同的所有上行 序列号,并返回信息入队触发源临时队列,再上报至服务器。
[0017]本方案中,所述指令信息处理具体为:
[0018]网关查询接收触发源临时队列是否有数据;
[0019]根据触发源临时队列中的字段父类,查询执行信息表中所有字段父类与触发 源临时队列中的字段父类相同的子类,并提取对应子类对应的的cmd存储位置 location、cmd指令个数cmd_num以及cmd指令总长度length;
[0020]判断cmd指令是否延时下行,若是,则进行延时处理,并返回重新查询接收 触发源临时队列是否有数据;若否,则根据数据协议格式分别截取不同的cmd 指令,并分别进行校验处理,校验成功则打包数据并入队下行至终端队列中,等 待下行线程处理。如果触发源中延时标志置位,还需要将对应指令的延时时间 delay提取,将该数据入队到延时指令信息处理中。延时其他的过程与正常过程 一致。
[0021]本方案中,所述延时指令信息处理具体为:
[0022]以延时时基为1s,每次延时1s后则触发一次查询,若有延时cmd指令,则 查询延时数组中延时时间是否为0,若为0,则重新查询,若不为0,则将延时 数组中有延时要求cmd指令的延时时间减去1s,如果此时该cmd的延时时间不 为0,则重新查询,若为0,则表明该指令此时需要下行,取出数组中对应的cmd 指令并打包数据入队到下行至终端队列中,交由下行线程处理。
[0023]本专利技术第二方面提供一种基于切片式的本地场景联动网关实现装置,所述装 置包括主控单元以及与其相连的静态存储器、外扩FLASH模块、以太网模块、LoRa 模块;
[0024]所述主控单元通过所述以太网模块与服务器联系,通过LoRa模块与终端通 讯;
[0025]所述主控单元控制实现对所述装置的控制;
[0026]所述外扩FLASH模块实现代码存储及本地联动和场景保存。。
[0027]本方案中,所述外扩FLASH模块存储有五个表格,分别为:
[0028]场景和联动触发源存储表、场景和联动正常执行信息存储表、场景和联动延 时执行信息表、下行设备列表信息存储表、场景和联动CMD命令存储表;
[0029]所述场景和联动触发源存储表用于存储场景或联动的触发源及触发源对应 的信息;用于对接收到的数据进行比对并提取相应的信息;与场景和联动正常执 行信息存储表相对应;
[0030]所述场景和联动正常执行信息存储表存储了各个子类在外扩FLASH模块中 存储
的位置信息location、指令数量cmd_num及该子类的总长度length;用于 场景和联动触发源存储表和场景和联动CMD命令存储表格存储表的中介;
[0031]所述场景和联动延时执行信息存储表与场景和联动正常执行信息存储表功 能相同,多了一个字段延时时间delay,用于对延时处理有要求的场景和联动;
[0032]所述下行设备列表信息存储表存储了下行终端的设备列表,用来根据字段 type来区分是单火类设备还是零火类设备以及组播指令,以及通知下行线程采 取不同的下行策略;
[0033]场景和联动CMD命令存储表存储了所有子类的场景或联动的指令。
[0034]本方案中,所述主控单元的主控芯片的型号为:STM32H750ZBT6;LoRa模块 的LoRa芯片型号为ZM470SX

M;静态存储器的存储芯片型号为:CY62157EV30LL本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于切片式的本地场景联动网关实现方法,其特征在于,所述方法包括以下步骤:触发匹配及入队:当网关通过LoRa收到终端上行数据时,网关会触发查询本地场景和联动触发源列表,查询是否有新的触发源信息,若有新的触发源信息,则将触发源中的父类提取到触发源临时队列中,并将终端上行数据修正为已触发本地联动或场景后上报至服务器;指令信息处理:网关查询触发源临时队列是否有数据,如果有数据表明需要触发对应的本地场景或联动;则提取cmd指令进行校验,校验成功则修正数据包序号后,打包数据并入队下行至终端队列中,等待本地联动或场景交互;本地联动或场景交互:无论网关是否联网,都会根据下行至终端队列数据与终端进行数据控制交互;若网关此时联网,会将交互过程中所有终端上行数据同步至服务器;本地联动和场景的删除、修改、获取:网关联网后,向服务器发起获取本地场景和联动请求,服务器根据每个场景和联动的字节大小,按照事先约定的将一个父场景或父联动拆分为若干个子场景或子联动下发到网关;网关根据场景和联动触发源存储表格、场景和联动正常执行信息存储表格、场景和联动延时执行信息表格、下行设备列表信息存储表格、场景和联动CMD命令存储表格判断是否是重复发送的,如果为新的,则存储到所述五个表格中对应的位置;直到服务器推送完所有的子场景和子联动;同时,当服务器发现有场景更新时,则告知网关删除对应的子场景,待收到网关删除完成的回应后,然后再将对应的子场景下发到网关进行更新子场景;同理,当服务器发现有联动更新时,则告知网关删除对应的子联动,待收到网关删除完成的回应后,然后再将对应的子联动下发到网关进行更新子联动。2.根据权利要求1所述的一种基于切片式的本地场景联动网关实现方法,其特征在于,所述触发匹配及入队具体为:网关检查LoRa接收数据,若接收到数据,则查询本地场景及联动触发源列表,并对比数据设备ID是否为触发源ID,若否,则上报至服务器,若是,则判断是否为触发动作,若不是触发源,则上报至服务器,若是触发源,则返回被触发的场景或联动的父类及其他信息;然后修改该触发命令的帧头帧尾字段,修改与该触发源ID相同的所有上行序列号,并返回信息入队触发源临时队列,再上报至服务器。3.根据权利要求1或2所述的一种基于切片式的本地场景联动网关实现方法,其特征在于,所述指令信息处理具体为:网关查询接收触发源临时队列是否有数据;根据触发源临时队列中的字段父类,查询执行信息表中所有字段父类与触发源临时队列中的字段父类相同的子类,并提取对应子类对应的的cmd存储位置location、cmd指令个数cmd_num以及cmd指令总长度length;判断cmd指令是否延时下行,若是,则进行延时处理,并返回重新查询接收触发源临时队列是否有数据;若否,则根据数据协议格式分别截取不同的cmd指令,并分别进行校验处理,校验成功则打包数据并入队下行至终端队列中,等待下行线程处理;若触发源中延时标志置位,需要将对应指令的延时时间delay提取,将该数据入队到延
时指令信息处理中进行延时指令信息处理。4.根据权利要求3所述的一种基于切片式的本地场景联动网关实现方法,其特征在于,所述延时指令信息处理具体为:以延时时基为1s,每次延时1s后则触发一次查询,若有延时cmd指令,则查询延时数组中延时时间是否为0,若为0,则重新查询,若不为0,则将延时数组中有延时要求cmd指令的延时时间减去1s,如果此时该cmd的延时时间不为0,则重新查询,若为0,则表明该指令此时需要下行,取出数组中对应的cmd指令并打包数据入队到下行至终端队列中,交由下行线程处理。5.一种基于切片式的本地场景联动网关实现装置,其特征在于,所述装置包括主控单元以及与其相连的静态存储器、外扩FLASH模块、以太网模块、LoRa模块;所述主控单元通过所述以太网模块与服务器联系,通过LoRa模块与终端通讯;所述主控单元控制实现对所述装置的控制;所述外扩FLASH模块实现代码存储及本地联动和场景保存。6.根据权利要求5所述的一种基于切片式的本地场景联动网关实现装置,其特征在于,所述外扩FLASH模块存储有五个表格,分别为:场景和联动触发源存储表、场景和联动正常执行信息存储表、场景和联动延时执行信息表、下行设备列表信息存储表、场景和联动CMD命令存储表;所述场景和联动触发源存储表用于存储场景或联动的触发源及触发源对应的信息;用于对接收到的数据进行比对并提取相应的信息;与场景和联动正常执行信息存储表相对应;所述场景和联动正常执行信息存储表存储了各个子类在外扩FLASH模块中存储的位置信息location、指令数量cmd_num及该子类的总长度length;用...

【专利技术属性】
技术研发人员:聂仙忠钟晨崔志凡张丞鑫曹佳丽
申请(专利权)人:浙江慧居智能物联有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1