苏思伟,翁 哲,陈群元,苏益宗,郑仲航,唐小煜
(华南师范大学 物理与电信工程学院,广东 广州 510006)
随着21世纪高新技术产业的不断发展,智能技术越来越渗透到生活的方方面面,方便和改善生活. 近些年来,国内的一些大企业,如海尔、美的等都相继研发出智能家居产品,并面市销售. 市面上的产品绝大多数是面向青年人群或中年人群设计的,鲜有面向老年人的智能家居控制系统[1],而我国老年人群体日趋庞大,老年人的智能家居控制系统已然成为重要的研究课题. 为此,本文提出了改良之后能让老年人避免使用复杂的手机APP和WIFI联网技术的、基于STM32单片机和STC89C51单片机等价格实惠的电子器件、具有稳定性高的智能家居控制实验装置. 高校学生可通过该实验装置,掌握对多种实用传感器的使用以及对常见家居家电的控制,进一步加深对智能家居方向的认识.
面向老年人的智能家居控制系统采用分层控制的设计思路,主要分为4部分的体系结构:传感器感知部分、中心主控制部分、交互通信部分和家具家电部分. 硬件体系结构见图1.
图1 实验装置硬件体系结构图
传感器感知部分主要包括光敏电阻传感器、红外传感器、温湿度传感器、雨滴传感器、烟雾传感器等,中心控制部分包括主控STM32单片机和辅控STC89C51单片机,交互通信部分主要包括LD3320语音识别[2]、手机APP和TFLCD液晶屏,家具家电部分主要包括老年人家居生活中常见的各类家具和家电,如灯泡、门、窗、窗帘和空调等.
1.2.1 总体方案设计
该实验装置的软件设计采用中断函数处理的方式. 主控单片机STM32通过中断的方式同时监视各类传感器、蓝牙和辐控单片机STC89C51的输出数据. 如果主控单片机有正确的信号帧输入,其将进行解析,并将各个家具家电设为必要状态.
为方便解释,本文将从主控单片机作为主体把软件结构分为3个线程:信号接收中断函数、信号处理中断函数和信号输出中断函数. 多线程处理结构图如图2所示.
图2 中断函数处理结构图
1.2.2 信号接收中断函数
信号接收中断函数就是接收信号输入的中断函数程序. 其中主控单片机STM32接收的信号主要来自于各类传感器和单片机STC89C51,而STC89C51的信号源产生是由于LD3320语音模块的识别[2].
接收中断函数流程图如图3所示. 硬件初始化是设置连接STM32单片机的各类传感器和STC89C51的IO口为输入,且初始为高电平. 检测信号即检测信号是否发生跳变,而判断信号是否正确利用消抖算法判断.
图3 接收中断函数流程图
1.2.3 信号处理中断函数
处理中断函数使用了Bang-Bang控制算法、单神经元PID控制算法和其他的数值处理算法[3],Bang-Bang控制算法和单神经元PID控制算法相结合[4]有效地控制室内的灯光亮度和门、窗、窗帘等的开关.
PID控制算法是最早发展起来且应用最为广泛的自动控制算法,目前多应用工业控制和船舶自动舵等方面. 它具有算法简单、鲁棒性好、可靠性高、参量整定方式简便的特点. Bang-Bang控制又称为起停式控制,是一种特殊的时间最优控制算法. 利用Bang-Bang控制算法与PID控制算法相结合不仅能完成利用PID算法对室内环境的调节,还能较传统的PID控制大幅度地缩短了调节时间. 利用Bang-Bang控制和PID控制相结合的算法,可以极大地改善老年人的室内环境,及时感受智能家居带来的便利.
以本装置中的室内亮度调节为例,将PID算法应用于室内亮度的自动调节. 虽然仅仅依靠PID算法就有精确的控制效果,但为了缩短室内亮度的稳定时间,在亮度偏差的绝对值大于设定阈值时引入Bang-Bang控制,反之进入PID控制环节[4]. 图4所示为结合Bang-Bang控制算法和PID控制算法的室内亮度调节结构图.
图4 结合Bang-Bang控制算法和PID控制算法的室内亮度调节结构图
1.2.4 信号输出中断函数
经过处理中断函数对信号的计算后,将得到的计算值输出给对应的家具或者家电,使其做出正确的响应. 在整个装置的实时监控下、不断信号处理和计算值不断输出的中断控制下,最终室内环境将达到最为适宜老年居住的状态.
现在市面上大多的智能家居控制系统是基于互联网的,需要用到手机APP等高科技,对于老年人来说,熟练地掌握这些应用比较困难. 为了增加老年人的对于智能家居的体验舒适度,研发不需要手机APP控制的智能家居系统就会显得尤为重要. 本文考虑了脑电波、眼睛、声音等器官的生理信号,发现声音对于智能家居的控制精确度明显较高,且也大大降低了研究的难度. 因此,老年人可以使用声音代替手机APP控制智能家居. 为了更进一步提高老年人对于智能家居系统的体验舒适度,本系统增加了智能控制方式,即利用各类传感器替代老年人的感受,智能系统主观能动地调节室内环境,如灯光亮度等,使室内环境达到最好的居住条件.
LD3320语音识别用于识别老年人的语音,老年人指令实验装置做操作时,当LD3320语音识别正确,发出信号给辅控单片机STC89C51,经过STC89C51的数据处理,再将必要的控制信号发给主控单片机STM32,STM32根据输入的数据经过算法的计算得出结果并输出给老年人想要控制的家具或者家电,满足老年人的需求.
当老年人通过语音指令系统进入“智能模式”时,本系统将开启智能主动控制模式. 室内室外的各类传感器将被初始化,开启实时监测室内外的环境. 当室内环境数值没有处在设定值的可波动范围内时,系统便会利用Bang-Bang控制算法和PID控制算法使室内环境快速达到理想状态.
为了给老年人及其子女提供更加安心有效的生活[5],异常监控系统如烟雾传感器等安装室内各区域和加速度传感器安装在老年人身上实时进行数据采集及监控,一旦出现异常情况,及时触发报警系统,如室内气体异常将直接拨打119,老年人跌倒将联系老年人的儿女以及拨打120等.
为了测试面向老年人的智能家居控制实验装置的可行性,设计了如图5所示的智能家居实验装置.
图5 智能家居实验装置图
测试员向实验装置发出各类指令,实验装置在较安静的环境下对各类基本指令的识别正确率见表1.
表1 安静环境下指令正确率表
测试员向实验装置发出各类指令,实验装置在较嘈杂的环境下对各类基本指令的识别正确率见表2.
表2 嘈杂环境下指令正确率表
测试员设定实验装置在智能模式下,各项实验设定值如实验装置亮度等为某一确定的值时,改变实验装置周围或者实验装置内的环境因素,多次测定实验装置达到稳定的值,以及达到该稳定值的时间t. 测量结果见表3. 注意:表3中室外下雨和老年人跌倒都不需要设定值,只要其对应的传感器检测到正确信号,系统将进行对应的调整. 室外下雨时,装置调整时间指的是室内做出关窗帘和关窗户的反应,而老人跌倒时,装置调整时间指的是报警或通知家属.
表3 智能模式下的测定表
本文设计了直接面向老年人的智能家居系统,通过硬件和软件2个层面介绍了面向老年人智能家居控制实验装置,加深了对常用传感器的应用以及智能家居系统的模式设计. 硬件部分是基于多传感器和单片机控制,软件部分是中断函数的处理,并结合了Bang-Bang算法和PID算法. 本文还提供了区别APP模式的适合老年人的几种智能家居的控制模式,为学生在智能家居相关的科研项目中提供新思路.