[0042] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0043] 如图1所示,根据本发明实施例所述的一种基于前馈预测的环境照度的自动控制方法,包括以下步骤:
[0044] S1通过比较开灯前后开关上的光敏读数,如果所述光敏读数之差超过??(有没有判断标准?),则确认控制设备与被控设备处于同一个房间;
[0045] S2当学习不超过2天时,获取环境的初始亮阈值:hi=L_STD+(Day_Max-L_STD)/2,初始暗阈值:lo=Day_Min+(L_STD-Day_Min)/4+(Day_Max-L_STD)/4,dark=Day_Min+(L_STD-Day_Min)/8,其中,Day_Max为一天中光敏读数的最大值,Day_Min为一天中光敏读数的最小值,L_STD为在自然光为0的环境中光敏读数的最大值;其中,选定自然光为0的环境为21点至24点。
[0046] S3当获取到环境初始亮暗黑阈值后或者学习超过2天后,判断环境光是否发生突变及环境光的变化趋势:
[0047] S31计算取样间隔为2秒的光敏读数差值:GAP=T(i)-T(i-2);
[0048] S32若GAP-50=0,则说明环境光未发生突变;
[0049] S33若GAP-50>0,则说明环境光发生突然变亮的突变;
[0050] S34若GAP-50<0,则说明环境光发生突然变暗的突变;
[0051] S35每5分钟判断一次环境光的变化趋势;
[0052] S4学习用户的作息时间,对用户每天最后关灯时间和每天第一次开灯时间应用聚类算法找到最常用的关灯时间作为用户睡眠开始时间,最常用的开灯时间作为用户睡眠结束时间;
[0053] S5学习用户的亮暗阈值,将用户在6点到19点之间的开灯前后以及关灯前后的亮度值记录下来,当有效数据达到12个或以上时,进行聚类分析得到亮阈值和暗阈值:
[0054] S51若用户开灯前的值大于黑阈值+10,则记录此次开灯前后灯光亮度值;
[0055] S52若用户关灯前的值大于开灯前的值,且开灯前的值与关灯后的值差大于1,则记录此次关灯前后的灯光亮度值;
[0056] S53对所述开灯前后灯光亮度值和关灯前后灯光亮度值分别进行聚类分析,得到开灯和关灯的聚类结果;
[0057] S54若聚类得到的开灯后的值大于用户灯光值user_L,其中,user_L=开灯后的灯光值-开灯前的灯光值,则用户的暗阈值Lo=聚类得到的开灯后的值;
[0058] S55若Lo大于关灯后的环境亮度值Hi’,则Lo=Hi’。
[0059] S6学习用户黑阈值,收集用户的手动开灯前后以及手动关灯前后的光敏值,当有效开灯及关灯次数均达到12次后,进行聚类分析得到黑阈值Dar;
[0060] S7根据学习到的亮暗阈值进行自动控制,并根据用户的操作习惯进行校正:
[0061] S71得到当前需要进行判断的作息时间及亮暗黑阈值;
[0062] S72若当前时间处于用户的休息时间内,则禁用自控;
[0063] S73若用户开关状态发生了改变且处于开启状态:
[0064] S731若当前灯光处于亮阈值,且当前环境趋势为变亮,并大于前一次开灯后的值减去开灯前的值加上开灯后的值,则启用自控;
[0065] S732若当前灯光不处于亮阈值且在黑区域,则禁用自控;
[0066] S733若当前灯光不处于亮阈值且当前处于环境突变状态,则禁用自控;
[0067] S74若用户开关状态没有发生改变:
[0068] S741若开关状态为开启且为手动,通过判断手动操作与自控的差异,对自控灵敏度进行修正;
[0069] S742若开关状态为开启且为自动,当开灯后的灯光值处于亮区域,则禁用自控,否则启用自控;
[0070] S743若开关状态为关闭且为手动,当关灯后的灯光值处于暗或黑区域,则禁用自控,否则启用自控;
[0071] S744若开关状态为关闭且为自动,当开灯后的灯光值处于亮区域,则禁用自控,否则启用自控。
[0072] 为了方便理解本发明的上述技术方案,以下通过具体使用方式上对本发明的上述技术方案进行详细说明。
[0073] 在具体使用时,根据本发明所述的一种基于前馈预测的环境照度的自动控制方法,在算法的一开始需要对控制设备(即开关)与被控设备(即灯)是否在同一个房间,判断的依据为开灯前后的光敏读数之差,若灯和开关在同一房间内,该光敏读数之差应该较大,如果光敏读数之差很小甚至几乎为零,则可判断灯和开关不在同一房间。
[0074] 在最初使用开关时,由于缺少用户开关灯操作的数据,无法应用学习算法来学习用户习惯,此时通过一天中光敏读数的最大值Day_Max、一天中光敏读数的最小值Day_Min和在自然光为0的环境中光敏读数的最大值L_STD来计算环境的初始或称临时亮暗阈值,初始亮阈值:hi=L_STD+(Day_Max-L_STD)/2,初始暗阈值:lo=Day_Min+(L_STD-Day_Min)/4+(Day_Max-L_STD)/4,初始黑阈值:dark=Day_Min+(L_STD-Day_Min)/8。其中,选定自然光为0的环境为21点至24点。
[0075] 在正式开始学习算法后,需要考虑环境光的突变以及环境光的趋势,其中环境光的突变是指在设备上的光敏读数突然发生变化,突然变大或变小,具体判断的步骤为:
[0076] S31计算取样间隔为2秒的光敏读数差值:GAP=T(i)-T(i-2);
[0077] S32若GAP-50=0,则说明环境光未发生突变;
[0078] S33若GAP-50>0,则说明环境光发生突然变亮的突变;
[0079] S34若GAP-50<0,则说明环境光发生突然变暗的突变。
[0080] 而对于环境光趋势的判断中,具体计算过程为:
[0081] a初始化nums=0,并获取5分钟以内光敏读数;
[0082] b判断该过程是否发生了光线突变;
[0083] c若未发生突变,则计算相邻光线值的变化值绝对值SUM(|Ti-Ti+4|),i=0,4,…,296;
[0084] d初始化i=0;
[0085] f若|Ti-Ti+4|>0,则令nums=nums+1,且i=i+4;
[0086] 若|Ti-Ti+4|<0或=0,则i=i+4;
[0087] 若i>292,则进行下一步g;
[0088] g令T_mean=SUM/nums,重新计算波动值,若大于T_mean,则应用到趋势变化中,否则放弃该值。
[0089] 在学习用户的作息时间时,因为用户在睡眠休息期间和其他时间对光线的需求是不同的,所以学习用户的作息时间是非常重要的,作息时间的学习按照对用户的每天最后关灯时间和每天第一次开灯时间应用聚类算法(k-means聚类算法)来找到最常用的关灯时间和开灯时间,这个关灯时间就作为用户睡眠开始时间,开灯时间就作为用户睡眠结束时间。作息时间的学习过程是:
[0090] a.对每天早上7点后到第二天凌晨4:00间的所有关灯时间聚类,聚类结果作为SS;
[0091] b.记录每天①环境照度低于黑阈值或暗阈值时且②凌晨4点至早上10点间的开灯时间减去上次关灯时间间隔最大的开灯时间集合。其中,若暗阈值且黑阈值为空时,环境照度需低于30;
[0092] c.对满足(b)的开灯集合进行聚类。选择聚类簇内个数最多的簇,作为SE,若SS OR SE无计算结果,则令SS=-1OR SE=-1。
[0093] 这里SS就是用户睡眠开始的时间,SE就是用户睡眠结束的时间。
[0094] 另外,需要学习用户的亮暗阈值,也就是学习用户喜欢在什么亮度下关灯,什么亮度下开灯。主要聚类过程就是将用户在早上6点到晚上7点之间的开关灯前后的亮度值记录下来,当有效的开灯和关灯数据均达到12个或以上时,应用k-means聚类算法进行聚类,得到两个结果:亮阈值、暗阈值。其中,在得到有效数据的过程中,需要做数据清洗,将那些不合理的开关灯值扔掉,如关灯前的值应大于开灯前的值,否则视为不合理。
[0095] 在学习了用户的作息时间和亮暗阈值后,此时就开始应用前述学习得到的数据来实现自动控制,此时,仍需要根据用户手动控制的操作来对决定是否开启自动控制,具体过程为:
[0096] S71得到当前需要进行判断的作息时间及亮暗黑阈值;
[0097] S72若当前时间处于用户的休息时间内,则禁用自控;
[0098] S73若用户开关状态发生了改变且处于开启状态:
[0099] S731若当前灯光处于亮阈值,且当前环境趋势为变亮,并大于前一次开灯后的值减去开灯前的值加上开灯后的值,则启用自控;
[0100] S732若当前灯光不处于亮阈值且在黑区域,则禁用自控;
[0101] S733若当前灯光不处于亮阈值且当前处于环境突变状态,则禁用自控;
[0102] S74若用户开关状态没有发生改变:
[0103] S741若开关状态为开启且为手动,通过判断手动操作与自控的差异,对自控灵敏度进行修正;
[0104] S742若开关状态为开启且为自动,当开灯后的灯光值处于亮区域,则禁用自控,否则启用自控;
[0105] S743若开关状态为关闭且为手动,当关灯后的灯光值处于暗或黑区域,则禁用自控,否则启用自控;
[0106] S744若开关状态为关闭且为自动,当开灯后的灯光值处于亮区域,则禁用自控,否则启用自控。
[0107] 最后,通过用户的不断反馈操作,对自动控制的结果反复进行优化,以求达到最佳的自动控制效果。
[0108] 综上所述,借助于本发明的上述技术方案,通过采用自动控制结合手动调整,不仅可以根据用户用光习惯来执行自动开关灯,省去了手动开关的繁琐,同时可以根据环境灯光变化来进行自动控制,节约资源。
[0109] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。