本文采用AIOT技术、语音识别技术与传统的空调遥控器结合,STM32F103主控芯片与红外发射电路实现发射红外编码信号,设计一款集语音交互、联网控制功能于一体的空调红外遥控器。该遥控器有两种方式对空调进行控制,分别为语音控制和联网控制。这两种方式都是主控芯片收到不同的控制命令,发射出相对应的红外编码信号,从而达到控制空调的目的,同时空调运行状态显示在1.44寸的TFTLCD屏幕上。另外,为了达到类似语音助手的交互,作品搭载了语音播放模块,可以依据识别到的关键词语做出相应的语音回复,提升交互感,带来全新的,智能的生活体验。
1引言
2研究意义及背景
(1)理论意义。随着社会的飞速发展,社会生活变得更加便捷和智能,智能家居概念逐渐融入社会,将会为人们组建一个智能、安全和快捷的数字化家居空间。在智能家居给人们带来便捷生活的同时,人们的控制习惯逐渐发生改变,语音交互和APP远程联网控制是现在智能家居行业内,使用的最多的智能控制方式,而空调又是现代家庭生活中最重要的电器之一,将会是智能家居系统中重要的组成部分。本设计结合这个背景,将设计一款集语音交互、联网控制功能于一体的空调红外遥控器,带来全新的、智能的生活体验。
(2)工程背景。随着物联网技术的发展,智能家居概念逐渐融入社会,很多的家电产品也纷纷带有了联网功能,使用APP就可以控制和查看家电的运行状态,十分方便,但是一般的家电使用寿命都很长,为了一个新的功能去换一套家电,显然是不划算的。可以换个思路,大多数的家电都是采用红外遥控器控制的,只需制作一个联网的遥控器,从而家电也具备联网的功能,这种方式只需要换一个遥控器,而不是换一套家电。
(3)本作品选择了联网意义较高的空调作为控制对象,制作一款具备语音交互与联网控制的空调红外遥控器。
(4)研究内容及任务。设计一款语音交互空调遥控器,要求:能够语音识别并做出对应的语音反馈;控制空调,具体操作可以为切换空调模式,升降温,定时,扫风等;LCD显示屏显示空调模式,温度,扫风等;夜灯功能,根据语音指令开关灯启用夜灯功能;遥控功能可以使用手机APP远程控制;具有间隔定时功能。
(5)主要工作。本设计中的重点工作是对空调遥控器红外波形采集和解码,并设计发射功率较大的红外发射电路,以及遥控器的联网,能实现手机对空调遥控器的远程控制。
3系统整体设计
图1系统设计框架图
系统设计框架图,如图1所示,图中MCU主控左侧共包含语音播放、语音识别、ESP-12F、红外发射电路、LCD显示屏、温湿度传感器和小夜灯共计7个模块,MCU将运行RT-Thread嵌入式实时操作系统,创建的5个线程,交由操作系统进行统一的管理调度。
其中语音识别模块主要用于识别与控制相关的关键词,达到语音控制的效果,为了达到类似语音助手的交互逻辑,系统搭载了语音播放模块,提升交互感。而将MCU与机智云平台联系起来的就是ESP-12F无线联网模块,可以使用手机对空调遥控器的远程控制。系统将通过该红外发射电路发射红外编码信号,实现对空调的控制。1.44寸的LCD屏幕将显示空调当前运行状态、室内温湿度、WIFI的连接状态。小夜灯可以在夜里提供临时的照明。
因为系统中的模块比较多,实时性要求也比较高,使用裸机编程难度大,所以选用了RT-Thread操作系统,让操作系统对模块进行任务调度。
3.1芯片选择
MCU作为整个系统的“大脑”,选择尤为重要,要同时满足系统中各个模块、电路的工作需求,表1为语音交互空调遥控器设计中各个模块所需的外设。
表1各个模块所需的外设
C51系列芯片:仅拥有2个定时器,1个串口,32个普通10口,5个中断源,是8位的MCU,4k的ROM,128bytes的RAM,可用的外设资源较少,达不到系统设计的需求。
Cortex-M4系列芯片:虽然在性能远远超过Cortex-M3系列芯片,能够满足系统设计的需求,但价格更贵,并且性能会过剩,性价比不高,故不选择此系列的芯片。
Cortex-M3系列芯片:意法半导体公司生产的基于CortexM3系列的STM32F103RCT6芯片,芯片引脚数为64,最高主频为72M,工作电压2V~3.6V,它拥有的资源包括:48KBSRAM、256KBFLASH、2个基本定时器、4个通用定时器、2个高级定时器、3个SPI、2个ⅡC、5个串口、及51个通用10口[1]。此芯片开发过程简单,性价比极高,被广泛用于各个领域。经过与表2-1作比较后,选用该芯片作为主控芯片完全能够满足系统设计的需求。
3.2RT-Thread嵌入式实时操作系统
图2RT-Thread操作系统架构图
本设计作品中,需要用到很多的模块,实时性要求也比较高,单纯的裸机系统已经不能够完美地解决问题,反而会使编程变得更加复杂,可以考虑引入RTOS实现多线程管理,将各个模块分成一个个任务,交由操作系统进行合理地多任务调度、充分利用系统资源,提高实时性[2]。RTOS有许多种,需要一个能运行在STM32F103RCT6芯片上的操作系统,同时占用的系统资源FLASH和RAM比较少,不会影响程序的运行。
RT-Thread是一款嵌入式实时操作系统(RTOS),内核最小的资源占用情况是3KBROM,1.2KBRAM,完全符合需求。RT-Thread基本属性之一是支持多任务,允许多个任务同时运行并不意味着处理器在同一时刻真地执行了多个任务。事实上,一个处理器核心在某一时刻只能运行一个任务,由于每次对一个任务的执行时间很短、任务与任务之间通过任务调度器进行非常快速地切换,给人造成多个任务在一个时刻同时运行的错觉[3]。
3.3ESP-12F 机智云物联网云平台
作品中需要APP远程联网控制,需要一个WiFi模块和一个物联网云平台,系统将数据采集发送给云端,云端将数据处理完成后,再把结果发送给用户的手机APP。esp8266是一颗高性能无线SOC,被广泛的应用于物联网行业。为了减小开发的难度,选择基于ESP8266设计开发的ESP-12FWIFI模块,该模块支持标准的IEEE802.11b/g/n协议,完整的TCP/IP协议栈,用户可以直接使用它为设备添加联网功能。
机智云物联网平台为开发者提供了自助式智能硬件开发工具与开放的云端服务。GAgent是机智云为硬件接入提供的运行于通信模组等环境的嵌入式固件系统,主要的作用是数据转发,是设备数据、机智云、应用端(APP)的数据交互桥梁。借助机智云物联网云平台,也可以省去云端服务器的搭建,降低开发难度,节省成本田。所以,将GAgent固件烧入WIFI模组中,再配合机智云平台,主控MCU只需要负责把发送的数据告诉ESP-12F模块,它将自动地把数据打包发送给云端,云端再将数据发送到移动端(APP),这样就能将系统联网的桥梁打通。
3.4语音识别
在智能家居中,语音交互是很重要的一种人与物的交互方式,当前市面上大多数使用的嵌入式语音识别芯片为LD3320,基于非特定人语音识别技术的语音识别/声控芯片。
非特定人语音识别技术ASR,语言学家建立语音模型对大量的语音数据进行分析,建立数学模型后,反复训练提取基元语音的细节特征,以及各基元间的特征差异。可以得到在统计概率最优化意义上的各个基元语音特征。最后由资深工程师将算法以及语音模型转化为硬件芯片以应用在嵌入式系统中S1。只需要设定好要识别的关键词语列表,以字符的形式把这些关键词语传送到LD3320内部,不需要用户作任何地录音训练,将用户说出的词语与关键词语列表进行比较,就可以识别关键词。
3.5其它组成部分
(1)语音播放。为了达到类似语音助手的交互,系统搭载了语音播放模块,提升交互感。因为系统针对性很强,所以只需要预存与空调操控相关的应答语句,也是这一点,选择便宜的MP3播放模块就可以满足需求,而不用去选购比较昂贵语音合成模块。
(2)HDC1080温湿度传感器。空调主要的目的就是调节室内的温度,系统搭载了一颗高精度的温湿度传感器,实时测量室内的温度和湿度,同时温湿度数据也将通过WIFI,同步到移动端APP上,可远程查看室内温度。
(3)红外发射电路。红外发射电路是整个系统最关键的部分,系统将通过该电路发射红外编码信号,实现对空调的控制。
(4)触摸按键。触摸按键主要作用是控制LCD屏幕的背光,降低LCD屏幕的功耗,同时按键上的LED灯可以作为语音识别时的识别指示灯。
(5)小夜灯。小夜灯模块由一个大功率的LED灯组成,在夜晚提供临时照明,可使用语音或手机APP控制夜灯的开关。
(6))LCD屏幕。1.44寸的LCD屏幕将显示空调当前运行状态、室内温湿度、WIFI的连接状态,以及通过WIFI网络获取的日期时间,LCD屏幕背光开关将通过触摸按键控制,在背光点亮60秒后,会自动熄灭,这样做主要是为了降低功耗,延长使用寿命。
4结束语
本文主要介绍了作品整个系统的组成模块,系统中两个重要的功能,一是联网服务主要由机智云物联网云平台提供,二是语音识别则交由LD3320模块来实现。因为系统所包含的模块比较多,选择植入RT-Thread实时操作系统,不仅提高了系统的实时性,还大大降低了编程的难度。
,