1. 引言
人工智能(Artificial Intelligence),英文缩写为AI,也称机器智能。“人工智能”一词最初是在1956年的Dartmouth学会上提出的。它是计算机科学、控制论、信息论、神经生理学、心理学、语言学等多种学科互相渗透而发展起来的一门综合性学科。从计算机应用系统的角度出发,人工智能是研究如何制造智能机器或智能系统来模拟人类智能活动的能力,以延伸人们智能的科学 [1] 。人工智能的定义可以分为两部分,即“人工”和“智能”。“人工”比较好理解,争议性也不大。有时我们会要考虑什么是人力所能及制造的,或者人自身的智能程度有没有高到可以创造人工智能的地步,等等。但总的来说,“人工系统”就是通常意义下的人工系统 [2] 。随着科学技术的不断发展,人们对生活质量的要求越来越高,人们需要一个更加舒适的居住环境。智能家居技术就在这种背景下应运而生 [3] 。智能家居中的前沿技术已经不局限于单个电子产品的智能化,而是将所有家里的电子设备,通过无线通讯技术、传感器技术、嵌入式技术和控制技术等形成一个智能系统 [4] [5] [6] 。将智能与人工有机融合,会给家居智能系统提供更大的发展空间,同时也让智能家居更加人性化 [7] [8] [9] 。
本文设计的人工智能家居生态系统以人工智能为特色,本设计主要由单片机和语音模块、雨淋模块、步进电机模块、压力传感器模块、时钟模块、红外对射传感器模块组成。人工智能家居生态系统以智能机器人“小伊娃”作为管家,主要采用语音识别等功能,对生活中的家居设备以及场景状态进行识别,从而达到智能控制及交互的效果。人机互动,自动感应,自动作出相应动作,凸显人性化。
2. 总体设计方案
人工智能家居生态系统主要由单片机和语音模块、雨淋模块、步进电机模块、压力传感器模块、时钟模块、红外对射传感器模块组成。进入门时,两个红外对射传感器模块先后感应到并先后触发电平,从而判断是进入,开启一楼的灯,同时也触发语音模块响应,进入语音一级菜单,这时就能通过语音控制相关功能。可通过语音交互单独控制相关灯的亮灭,相关门的开关,空调的开关。可通过时钟模块播报时间。也可通过联动一起控制相关灯,方便易用。当踏上楼梯时,压力模块感应到发出电平信号,单片机系统检测到并开启二楼的卧室灯,厕所灯,台灯。下楼梯时压力模块检测到压力使单片机关闭二楼的所有灯光。下雨时雨淋模块检测到雨水,自动使窗户关闭。窗和门采用步进电机模块控制转动角度。出门时检测到出门,关闭屋内所有灯光,同时也关闭空调。
3. 硬件设计
3.1. 模块说明
1) STC89C52单片机
本系统的核心是采用51系列单片机,型号为STC89C52RC。该单片机IO口扩展到44个,可控制更多模块,集成TFT液晶屏的接口与5 V、3 V、GND等接口,方便扩展与应用。
2) LD3320A语音识别模块
该语音模块主要用于与单片机串行通讯,识别语音发送相关数据码,以及对收到的数据码作出回应。本模块可通过设计实现人机对话,具有自定义剧本设定功能,也有端口控制以及信号输出。本模块具有8个输出IO口,通过配置TF卡文件可以实现输出高电平、低电平、高电平点动0.5S、高电平点动1S的控制。可以控制继电器,控制LED灯,本模块还具备1个串口,具备串口输出识别码功能,支持1-12字节自定义16进制输出,可与单片机通讯,与串口无线模块通讯,与串口wifi模块或蓝牙通讯。本作品支持口令识别方式,当定义模块关键字时,只有每次识别到关键字后模块才能接收其他操作。另外还支持普通识别模式、按键触发模式,以适应不同应用环境。该模块也具备点播功能,可以选择任意播放音乐文件。本语音识别模块支持550条语音命令识别,每条10字以内,每次候选50句识别,具备菜单跳转功能、1个主菜单,10个二级菜单、随意切换调用,剧本可灵活任意修改。
3) ULN2003步进电机模块
该步进电机模块主要用于控制门和窗的转动,控制转动角度的大小,以及转动的方向和速度。该步进电机步进角度为5.625 × 1/64,减速比为1/64,供电为5 V直流供电。5线4相,可以用普通的uln2003芯片驱动,也可以接成2相使用,本设计为与uln2003芯片驱动步进电机,通过合理多次重复控制芯片引脚的电平使步进电机转动。
4) 雨淋模块
雨淋模块主要用于检测外界是否有雨,当检测到有雨时发送电平给单片机,使窗户关闭。该模块传感器采用双面高品质材料,可用于检测雨滴、水滴。配电位器可调节灵敏度,方便对不同情况进行调节。使用LM393比较器输出,信号干净,波形好,驱动能力超过15 mA。该模块工作电压为3.3 V~5 V。可以输出模拟量和数字量,D0输出数字量,AO输出模拟量。
5) DS1302实时时钟模块
DS1302实时时钟模块芯片内含有一个实时时钟/日历和31字节静态RAM,具有计算2100年之前的秒、分、时、日、星期、月、年的能力,还有闰年调整的功能。通过简单的串行口与单片机进行通讯。该模块在本系统中主要用于记录时间以及窗和门的开关状态。
6) 红外对射传感器模块
红外对射传感器模块为槽型光耦传感器,槽宽为10 mm,使用宽电压LM393比较器,信号干净,波形好。该红外对射传感器模块在本系统中用于检测人进出门。
7) 压力传感器模块
压力传感器模块主要用于检测人踏上楼梯,感应到上下楼梯时发出相应的电平使系统开启相关的灯。该模块传感器触发质量为50 g。电位器可调节灵敏度,方便对感应灵敏度进行调节。模块工作电压为3.3 V~5 V。可以输出模拟量和数字量,D0输出数字量,AO输出模拟量。
3.2. 电路设计
系统以STC89C52RC单片机为核心部件,经过串口与各个模块连接。经过,模型设计成型和系统植入,人工智能家居生态系统如图1所示。
4. 程序与算法
4.1. 程序设计
本系统程序是以上述硬件电路为基础,结合生活中的场景,展开功能性的开发设计而成。本程序

Figure 1. Artificial intelligence home ecosystem
图1. 人工智能家居生态系统
采用模块化编程的方式进行设计开发,整体头文件引用、函数声明以及变量的定义进行整合,总体分为各个模块函数进行设计。延时函数的编写,利用执行空语句循环,起到延时的作用,用于系统功能以及硬件时序编写所需。在此系统中,各模块相互之间的联系,主要依靠与单片机的串口通讯,串口模块程序,分为收发数据的编写。主函数主要的功能是结合语音模块和单片机,采用串口通讯的方式,识别所接收的指令,以及初始化和扫描一些功能性函数,从而实现各个功能模块的作用,同时作为联系各模块之间的桥梁,实现人机的交互,是本系统的核心处理函数(如图2所示)。
门窗的控制基于步进电机,由单片机控制,设计为门窗控制模块,利用步进电机的角度转动功能给予电平控制,以实现门窗的开关效果。另外,本设计考虑到门窗角度的极限状态,特意利用时钟模块所剩余的静态RAM空间进行对门窗开关的记忆,以此来准确控制门窗的转动方向。再基于时钟模块,通过单片机串口对其时间和多余的RAM空间进行写入和读取,利用其模块自身的记忆及计时功能,可延伸出更多功能。其次,利用时钟模块,开发了报时系统,接收到报时命令时,经过算法的计算,单独的报出时分数据,来达到报时的效果。时钟模块,采取扫描的方式,设置开关,来判断设置的闹钟时间是否与当时时间吻合并播放闹铃。雨淋模块,当外部天气下雨时,扫描到有雨淋于板上,系统将会自动关闭窗户,达到智能控制家居的效果。红外对射传感器模块,利用扫描两个红外对射感应器,来判断主人的进出状态,更智能更节能更人性化得对家居进行控制。压力感应模块,则是利用压力感应器,来判断主人上下楼的状态,更安全智能的对灯光进行控制,方便主人在家中的行走,提高上下楼的安全性。
4.2. 关键算法
1) 基于模糊数学叠加算法:设用一个集合Y定义系统中所有可能发生的各种操作外在表现,由这些操作外在表现引起的各种操作等定义为一个集合X。如针对不同模式,某些灯具可能都会被开启。因而假定某操作开启的次数为N,那么Y = N × X。
2) 基于“粗糙集理论”的模糊算法 [10] :现在简易的系统很难精确识别或者自我判别与设定指令相近的条件,比如语音交互,相类似的语音可能导致不一样的操作。尽量在程序设计过程中植入“粗糙集理论”的模糊算法,将程序的预判条件放宽,而且设计程序语音尽量简易。
5. 性能评估与分析
评估要求:1) 外界一个声源发出语音,分别测试独立模式、联动模式、情景识别、报时模式、睡眠模式、派对模式下对应的操作,观察系统是否准确做出相应的语音回应,是否准确做出相应的动作。2) 外界在感应器上做出相关感应动作,观察系统是否准确做出相关动作,是否准确发出相关的语音回应。
评估结果:在无外界声音干扰情况下,各模式下语音交互测试准确无误;传感器测试结果准确,包括下雨关窗、上下楼梯开关灯和进出门开启语音交互等。
可见,基于模糊数学叠加算法和“粗糙集理论”的模糊算法,本系统在实际应用过程中人工智能实现了高准确度的人机交互功能。整个系统形成了良好的智能化和人性化的“管家”模式,给予人们生活更多的便利。
6. 总结
人工智能家居生态系统以“小伊娃”的人工机器人作为管家,能够进行较为系统的人机语音互动和人性化的智能控制,虽然与真正意义上的完全智能还是相差甚远,但是基本满足家居生活的日常所需,整体上覆盖了整个家居生态,形成了一套比较完善的智能生态系统。