本发明涉及监控照明灯,尤其涉及一种监控照明灯控制方法、装置、灯控终端及存储介质。
背景技术:
1、监控照明灯是一种为夜间提供照明和安防功能的设备,由一个或多个高功率led灯组成,可提供足够的光线以照亮监控区域,并通常配备摄像机用于监控,通过摄像机采集到的图像结合传感器进行监控并报警。监控照明灯通常具有多种不同的模式,以适应各种不同的应用场景。
2、现有技术中,监控照明灯会在各种不同的模式之间切换,控制逻辑设计复杂,功能间耦合严重,可扩展性差,维护困难。
技术实现思路
1、本发明实施例提供了一种监控照明灯控制方法、装置、灯控终端及存储介质,以解决现有技术中灯控逻辑复杂,功能耦合严重,可扩展性差的问题。
2、第一方面,本发明实施例提供了一种监控照明灯控制方法,包括:
3、实时获取当前触发的灯控数据;其中,灯控数据包括:灯控模式及优先级;
4、根据当前触发的灯控数据的优先级,将当前触发的灯控数据推入堆栈中对应的位置;
5、根据当前堆栈栈顶的灯控数据生成灯控指令,基于灯控指令控制监控照明灯点亮;
6、当灯控指令执行完毕后,控制当前堆栈栈顶的灯控数据出栈。
7、可选的,在根据当前堆栈栈顶的灯控数据生成灯控指令,基于灯控指令控制监控照明灯点亮之后,及当灯控指令执行完毕后,控制当前堆栈栈顶的灯控数据出栈之前,上述方法还包括:
8、在灯控指令执行过程中,实时检测灯控指令对应的灯控数据是否位于堆栈栈顶;
9、若检测到灯控指令对应的灯控数据位于堆栈栈顶,则控制灯控指令继续执行;
10、若检测到灯控指令对应的灯控数据不位于堆栈栈顶,则中断灯控指令的执行,重新获取当前堆栈栈顶的灯控数据,并跳转至根据当前堆栈栈顶的灯控数据生成灯控指令,基于灯控指令控制监控照明灯点亮的步骤继续执行。
11、可选的,上述方法还包括:
12、在中断灯控指令的执行时,为灯控指令对应的灯控数据设置中断标记;其中,中断标记用于标识灯控指令中断的位置;
13、根据当前堆栈栈顶的灯控数据生成灯控指令,基于灯控指令控制监控照明灯点亮,包括:
14、根据当前堆栈栈顶的灯控数据生成灯控指令;
15、确定当前堆栈栈顶的灯控数据是否存在中断标记;
16、若不存在,则从灯控指令的初始位置开始执行,控制监控照明灯点亮;
17、若存在,则从灯控指令中断的位置开始执行,控制监控照明灯点亮。
18、可选的,根据当前触发的灯控数据的优先级,将当前触发的灯控数据推入堆栈中对应的位置,包括:
19、若当前触发的灯控数据的优先级为最高优先级,则将其推入堆栈栈顶;
20、若当前触发的灯控数据的优先级不是最高优先级,则确定当前堆栈中的其他灯控数据的优先级;
21、按照从栈顶至栈底,优先级从高至低的顺序,将当前触发的灯控数据放置在堆栈中对应的位置。
22、可选的,按照从栈顶至栈底,优先级从高至低的顺序,将当前触发的灯控数据放置在堆栈中对应的位置,包括:
23、若堆栈中存在与当前触发的灯控数据的优先级相同的其他灯控数据,则将当前触发的灯控数据放置在相对同优先级的其他灯控数据靠近栈顶的位置。
24、可选的,上述方法还包括:
25、获取用户输入的手动关灯指令;
26、若获取得到手动关灯指令,则控制当前正在执行的灯控指令对应的灯控数据出栈,并控制监控照明灯关闭。
27、可选的,上述方法还包括:
28、获取用户输入的强制关灯指令;
29、若获取得到强制关灯指令,则清空堆栈,并控制监控照明灯关闭。
30、第二方面,本发明实施例提供了一种监控照明灯控制装置,包括:
31、数据获取模块,用于实时获取当前触发的灯控数据;其中,灯控数据包括:灯控模式及优先级;
32、数据入栈模块,用于根据当前触发的灯控数据的优先级,将当前触发的灯控数据推入堆栈中对应的位置;
33、灯控模块,用于根据当前堆栈栈顶的灯控数据生成灯控指令,基于灯控指令控制监控照明灯点亮;
34、出栈模块,用于当灯控指令执行完毕后,控制当前堆栈栈顶的灯控数据出栈。
35、第三方面,本发明实施例提供了一种灯控终端,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上第一方面或第一方面的任一种可能的实现方式提供的监控照明灯控制方法的步骤。
36、第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上第一方面或第一方面的任一种可能的实现方式提供的监控照明灯控制方法的步骤。
37、本发明实施例提供一种监控照明灯控制方法、装置、灯控终端及存储介质。上述方法包括:实时获取当前触发的灯控数据;其中,灯控数据包括:灯控模式及优先级;根据当前触发的灯控数据的优先级,将当前触发的灯控数据推入堆栈中对应的位置;根据当前堆栈栈顶的灯控数据生成灯控指令,基于灯控指令控制监控照明灯点亮;当灯控指令执行完毕后,控制当前堆栈栈顶的灯控数据出栈。本发明实施例中按照优先级将灯控数据入栈,依次从栈顶取出灯控数据对监控照明灯进行,控制逻辑简单清晰,可扩展性强,低耦合,易维护。
1.一种监控照明灯控制方法,其特征在于,包括:
2.根据权利要求1所述的监控照明灯控制方法,其特征在于,在所述根据当前所述堆栈栈顶的灯控数据生成灯控指令,基于所述灯控指令控制监控照明灯点亮之后,及所述当所述灯控指令执行完毕后,控制当前所述堆栈栈顶的灯控数据出栈之前,所述方法还包括:
3.根据权利要求2所述的监控照明灯控制方法,其特征在于,所述方法还包括:
4.根据权利要求1至3任一项所述的监控照明灯控制方法,其特征在于,所述根据所述当前触发的灯控数据的优先级,将所述当前触发的灯控数据推入堆栈中对应的位置,包括:
5.根据权利要求4所述的监控照明灯控制方法,其特征在于,所述按照从栈顶至栈底,优先级从高至低的顺序,将所述当前触发的灯控数据放置在所述堆栈中对应的位置,包括:
6.根据权利要求1至3任一项所述的监控照明灯控制方法,其特征在于,还包括:
7.根据权利要求1至3任一项所述的监控照明灯控制方法,其特征在于,还包括:
8.一种监控照明灯控制装置,其特征在于,包括:
9.一种灯控终端,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,执行如权利要求1至7中任一项所述的监控照明灯控制方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上的权利要求1至7中任一项所述的监控照明灯控制的步骤。