具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本申请一些实施例中的一种智能开关的内部结构图。其中,该开关包括内置有按键和控制模组的通讯板、以及为所述通讯板供电的电源板,其中:
所述按键包括场景按键和实体回路按键,且所述开关与其他的关联开关之间的连接回路设置有用于实现点对点控制的本地联动。
具体的,请参考图2,由图2可知,本申请实施例提供的智能开关可以分为一回路+一场景、二回路+二场景、三回路+三场景等组合。其中,各个回路、场景、以及回路和场景之间均相互独立。需要说明的是,本申请实施例提供的智能开关与其他的关联开关之间的连接回路可以实现多种本地联动组合,当然也可以不设置本地联动,这个可以根据用户的实际需求,进行灵活调整。而,本申请实施例对于设定了本地联动的开关回路没有特殊要求,其可以实现一对多,也可以实现多对一。
需要说明的是,开关的本地联动所联动的其他关联开关,可以根据具体的需求进行变更,其非固定写死的,即在不同的应用场景中,本申请实施例公开的开关所关联到的目标关联开关可以是相同的,其也可以是不同的,其可以根据用户偏好,进行灵活调整,如此将更解决不同用户之间喜好的差异性问题。
在其中一个实施例中,不管本申请实施例中公开的开关是否设置了本地联动,其都可以保持和网关之间的即时通讯。另外,当本申请实施例中公开的开关回路设置了本地联动时,其附带的本地联动双控功能,将不再受制于服务器和网关,即在网关和服务器均处于异常工作状态(例如断电等状态)时,其依旧可以根据已设定的本地联动,进行开关之间的点对点控制。如此,也避免了在无网络或其他异常应用场景下,无法使用本地联动双控功能的情况,保证了传统开关之间的本地双控模式,提高了开关控制效率。
所述控制模组,用于对所述场景按键产生的动作进行扫描,并基于得到的第一扫描结果,调整所述开关的工作状态。
具体的,请参考图3,控制模组将对按键产生的动作进行扫描,并在首次确定按键按下时,进行100ms的延时。经过这段延时时间之后,控制模组将再次检测按键按下的标志,以确认按键是否按下。在其中一个实施例中,控制模组在确认按键按下时,还将触发对应的内置LED闪烁或点亮、以及触发内置的电机震动,以使得每次按下按键时,能够有更好的触感或提示感。当然,当前实施例中也可以采用其他的方式,以提示操作用户当前按键处于按下状态,例如,触发内置的声控器发出声音、以及通过内置的显示屏幕进行提示信息的显示等,本申请实施例对此不作限定。
在其中一个实施例中,控制模组采用G6500模组。当前实施例中,G6500模组负责开关与之间的服务器通讯、控制继电器吸合、捕捉红外人体中断信号及处理、控制电机震动、控制LED点亮的亮度等相关处理,其为通讯板的核心组成部分,其中,通讯板中的其他外围器件,将结合对应的硬件性能相辅相成,实现了整个本地联动开关的硬件组成部分。
在其中一个实施例中,在场景按键处理的过程中,得到的扫描结果包括长按或短按。其中,针对场景按键长按这一情况,控制模组将会启动开发复位并进行初始化。针对场景按键短按这一情况,控制模组将会打包按键按下过程中对应产生的场景按键数据,并将对应得到的打包数据主动上传到服务器。
所述控制模组,还用于对所述实体回路按键产生的动作进行扫描,并基于得到的第二扫描结果,调整所述开关的本地联动状态。
具体的,请参考图3,在实体回路按键处理的过程中,得到的扫描结果同样也包括长按或短按。在其中一个实施例中,针对实体回路按键长按这一情况,控制模组将判断当前回路中是否设置了本地联动;其中,(1)若当前该回路中已设置本地联动,且已处于本地联动状态时,将取消本地联动,否则,将当前该回路恢复到本地联动状态。(2)若当前该回路中没有设置本地联动,则不进行任何动作,或直接跳转到下一执行动作。针对实体回路按键短按这一情况,控制模组同样会判断当前回路中是否设置了本地联动,其中,(1)若当前该回路中已设置本地联动,控制模组将调用本地联动发送数据打包处理,并将对应的数据发送至被联动的目标关联开关。(2)若当前该回路中没有设置本地联动,则控制开关实体回路的继电器开关,并打包数据上报至服务器。
由上可知,本申请实施例提供的一种智能开关,通过在开关与其他的关联开关之间的连接回路设置用于实现点对点控制的本地联动,基于开关与开关之间进行本地联动的控制方式,对按键产生的动作进行扫描,并基于得到的扫描结果调整开关的本地联动状态或工作状态,如此,在无须通过服务器或网关进行转发数据的情况下,能够解决网关异常、网络异常或服务器异常的情况下,无法实现本地联动的问题,提高了开关控制效率。
在其中一个实施例中,所述第一扫描结果包括表征场景按键处于长按状态的第一子扫描结果、以及表征场景按键处于短按状态的第二子扫描结果;所述控制模组,还用于基于得到的第一子扫描结果,在确定场景按键处于长按状态时,进行开关复位;所述控制模组,还用于基于得到的第二子扫描结果,在确定场景按键处于短按状态时,将对应产生的按键数据上报至服务器。
具体的,请参考图3,由于前述实施例中已对上述的实施原理进行了详细的说明,当前实施例中将不做过多说明。
在其中一个实施例中,所述第二扫描结果包括表征实体回路按键处于长按状态的第三子扫描结果、以及表征实体回路按键处于短按状态的第四子扫描结果。
所述控制模组,还用于基于得到的第三子扫描结果,在确定实体回路按键处于长按状态,以及,当前回路已设置本地联动且处于本地联动状态时,取消当前回路的本地联动。
所述控制模组,还用于基于得到的第三子扫描结果,在确定实体回路按键处于长按状态,以及,当前回路已设置本地联动但未处于本地联动状态时,将当前回路恢复到本地联动状态。
所述控制模组,还用于基于得到的第四子扫描结果,在确定实体回路按键处于短按状态,以及,当前回路已设置本地联动时,调用本地联动,并将对应产生的按键数据发送至其他被联动的目标关联开关。
所述控制模组,还用于基于得到的第四子扫描结果,在确定实体回路按键处于短按状态,以及,当前回路未设置本地联动时,调用开关实体回路继电器控制,并将对应产生的按键数据发送至服务器。
具体的,请参考图3,由于前述实施例中已对上述的实施原理进行了详细的说明,当前实施例中将不做过多说明。
在其中一个实施例中,控制模组通过显示不同的灯光,来区分按键所处的不同状态。在一个实施例中,控制模组还可以通过服务器远程或本地调光方式,调整光线亮度。其中,调光之后的光线状态也将同步到服务器,以使得服务器能够更好地掌握调光进度。在一个实施例中,在断电之后,且再来电时,控制模组还可以将显示光线恢复到断电之前的状态,由此免去用户再去调光的麻烦,提高了用户的使用体验感。
在其中一个实施例中,该开关还包括连接到控制模组的震动电机和LED面板,其中:所述控制模组,还用于在确定实体回路按键或场景按键按下时,触发震动电机震动,和/或,控制LED面板产生灯光。
所述控制模组,还用于在接收到控制命令,且在确定所述控制命令包括服务器下发的远程控制命令时,控制LED面板产生灯光,以及针对所述远程控制命令进行被动回复。
具体的,请参考图3,本申请实施例中公开的开关在接收到控制命令时,将根据当前使用的通讯协议判断其数据来源。其中,针对服务器下发的远程控制命令,将控制LED闪烁或点亮,并在调用被动回复功能,进行数据打包处理之后,将打包得到的数据包上报到服务器。
所述控制模组,还用于在确定所述控制命令包括本地联动点对点控制指令时,执行所述本地联动点对点控制指令,并将解析出的联动触发目标关联开关的设备标识上报给服务器,以便服务器能够更好的查询到具体的实施情况。
具体的,请参考图3,针对接收到的本地联动点对点控制指令,控制模组将会执行该指令,并解析出联动触发设备(即联动触发目标关联开关)的设备ID(即设备标识),以及调用本地联动数据打包处理功能,并将当前打包得到的数据包上报到服务器,以便服务器能够更好的查询到具体的实施情况。
上述实施例中,基于开关与开关之间进行点对点本地联动控制,无需通过服务器或网关进行转发,解决了网关异常、网络异常或服务器异常的情况下无法实现本地联动的问题。
在其中一个实施例中,该开关还包括连接到控制模组的用于检测人体执行动作的人体红外感应器,其中:所述控制模组,还用于在通过所述人体红外感应器检测到当前存在人为按键动作时,控制LED面板进行背光显示,以及,检测到当前存在无人为按键动作或检测到人体处于静止状态时,熄灭LED面板的背光指示。
具体的,请参考图3,当前实施例中人体红外感应器在检测到有人移动即存在人为按键这一情况时,将触发控制模组点亮该开关所有回路和场景的LED,即控制LED面板进行背光显示。其中,背光显示亮度可以根据用户需求进行灵活调整。如此,即解决了不同用户对开关背光LED不同亮度的需求问题,也解决了在黑暗环境下,由于无背光所导致的错按开关等问题。另外,在检测到一直有人移动时,将控制LED面板一直保持背光显示状态,以及,在检测到无人移动(即当前存在无人为按键情况)时,一方面,将熄灭场景按键的背光指示;另一方面,实体回路的背光指示将根据当前开关实体回路继电器的状态决定是否熄灭,如此,当人体处于静止状态或无人时,人体红外感应器将触发开关背光LED的关闭,解决了开关背光LED常亮,从而影响人体睡眠质量的问题。
在其中一个实施例中,请参考图4,本申请实施例中的嵌入式软件架构分为四个层次,分别为硬件层、驱动层、MAC层和应用层。其中,硬件层作为最底层,其有着实实在在的样子,看得着也摸得着。它是真正的执行层,能够接受上层发送来的指令,并通过电信号在数字逻辑电路里的流动来执行指令、处理数据。其中包含了STM32G030C8T6、ASR6500SLC、按键、LED、零火电源、继电器、串口、红外感应以及外围电路等。驱动层中包含了UART驱动程序、SPI驱动程序、RTC驱动程序、Flash驱动程序、ASR6500SLC驱动程序、按键驱动程序、LED驱动程序、继电器驱动程序以及红外人感驱动程序等。MAC层中包含了LoRaWAN MAC层、人体红外感应中断MAC层、发送队列MAC层、Timer定时器MAC层、LED显示MAC层、按键中断处理MAC层、继电器控制MAC层以及Flash存储MAC层;应用层中包含了零火LoRaWAN收发机制、本地联动处理机制、零火继电器控制机制、应用解析、上报服务器打包数据、本地联动打包数据、发送队列、存储、日志打印等。
上述实施例中,采用LoRaWAN通讯技术为载体,应用LoRaWAN协议框架进行通讯,在无需中继的情况下,也能够实现开关点对点之间的远距离数据传输,使得开关点对点之间的联动双控不再取决于其他终端设备好坏的情况,完全实现了两个开关之间的独立本地联动双控功能。另外通过LoRaWAN参数优化响应时间,可以将响应时间缩短到毫秒级,满足了智能家居毫秒级响应需求。
请参照图5所示,本申请实施例还提供了一种适用于上述任一项实施例中公开的开关的本地联动控制方法,该方法应用于控制模组,包括以下步骤:
步骤S500,对所述场景按键产生的动作进行扫描,并基于得到的第一扫描结果,调整所述开关的工作状态。
步骤S501,对所述实体回路按键产生的动作进行扫描,并基于得到的第二扫描结果,调整所述开关的本地联动状态。
在其中一个实施例中,第一扫描结果包括表征场景按键处于长按状态的第一子扫描结果、以及表征场景按键处于短按状态的第二子扫描结果;步骤S500中,基于得到的第一扫描结果,调整所述开关的工作状态,包括:
步骤S5000,基于得到的第一子扫描结果,在确定场景按键处于长按状态时,进行开关复位。
步骤S5001,基于得到的第二子扫描结果,在确定场景按键处于短按状态时,将对应产生的按键数据上报至服务器。
在其中一个实施例中,第二扫描结果包括表征实体回路按键处于长按状态的第三子扫描结果、以及表征实体回路按键处于短按状态的第四子扫描结果;步骤S501中,基于得到的第二扫描结果,调整所述开关的本地联动状态,包括:
步骤S5010,基于得到的第三子扫描结果,在确定实体回路按键处于长按状态,以及,当前回路已设置本地联动且处于本地联动状态时,取消当前回路的本地联动。
步骤S5011,基于得到的第三子扫描结果,在确定实体回路按键处于长按状态,以及,当前回路已设置本地联动但未处于本地联动状态时,将当前回路恢复到本地联动状态。
步骤S5012,基于得到的第四子扫描结果,在确定实体回路按键处于短按状态,以及,当前回路已设置本地联动时,调用本地联动,并将对应产生的按键数据发送至其他被联动的目标关联开关。
步骤S5013,基于得到的第四子扫描结果,在确定实体回路按键处于短按状态,以及,当前回路未设置本地联动时,调用开关实体回路继电器控制,并将对应产生的按键数据发送至服务器。
在其中一个实施例中,该方法还包括:
步骤S502,在确定实体回路按键或场景按键按下时,触发震动电机震动,和/或,控制LED面板产生灯光。
步骤S503,在接收到控制命令,且在确定所述控制命令包括服务器下发的远程控制命令时,控制LED面板产生灯光,以及针对所述远程控制命令进行被动回复。
步骤S504,在确定所述控制命令包括本地联动点对点控制指令时,执行所述本地联动点对点控制指令,并将解析出的联动触发目标关联开关的设备标识上报给服务器。
在其中一个实施例中,该方法还包括:
步骤S505,在通过所述人体红外感应器检测到当前存在人为按键动作时,控制LED面板进行背光显示,以及,检测到当前存在无人为按键动作或检测到人体处于静止状态时,熄灭LED面板的背光指示。
由上可知,本申请实施例提供的一种本地联动控制方法,通过在开关与其他的关联开关之间的连接回路设置用于实现点对点控制的本地联动,基于开关与开关之间进行本地联动的控制方式,对按键产生的动作进行扫描,并基于得到的扫描结果调整开关的本地联动状态或工作状态,如此,在无须通过服务器或网关进行转发数据的情况下,能够解决网关异常、网络异常或服务器异常的情况下,无法实现本地联动的问题,提高了开关控制效率。
在本申请所提供的实施例中,应该理解到,所揭露方法,可以通过其它的方式实现。另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。