智能化正在影响着人们的生活,给人们带来越来越便利的生活条件。为使智能化更好服务生活,设计了一个基于语音控制的智能家居系统,通过打开Android手机APP,启用语音唤醒功能,通过关键词唤醒实现语音识别功能,识别出用户的指令,把识别出来的命令语句发送给服务器,通过服务器转发给已经上线的控制器端,从而实现整个控制过程。经实际测试,该系统是可靠实用,操作方便。
《家具与室内装饰》杂志是选取行业内专家,刊登权威的专业论文,促进家具与室内装饰业的发展与提高。主要以学术论坛、学术实践为主导。曾用刊名:家具世界。
1 背景
家居智能化正在慢慢影响着人们的生活,给人们带来越来越多的便利条件。智能家居的控制方式從传输媒质的角度来说,存在有线控制方式;从控制终端上来说有键盘、红外遥控器、计算机终端、移动设备等方式。智能手机通过无线方式对家居系统进行控制,快捷、方便、灵活,因此移动端控制将是智能家居的发展趋势。Android系统主要用于移动设备开发,凭借开源,免费和丰富的硬件选择,其已经成为使用最多的移动端操作系统。随着技术的进步,百度公司推出语音识别Android SDK(离在线),给开发者提供一个语音识别的接口,通过云端的识别,给开发者返回识别结果,使开发者能够使用语音进行二次开发。
语音控制具有非接触、非侵入性和易于使用的特点,是智能家居的一个新的方向。该设计是基于语音控制的智能家居系统,采用基于Android平台的移动设备作为控制终端,STM32模块作为执行设备的主控板,通过服务器命令转发,实现了用语音命令通过Android移动设备对家居的设备控制。
2 系统概述
语音控制的智能家居系统框图如图1所示,包括Android移动设备端、云端的百度语音接口、云服务器端、执行设备的主控板及其所属功能模块。其中Android移动端设备提供人机交互界面,输入语音信息;云端的百度语音接口进行云端语音解析并返还解析出的字符串给Android移动端设备;云服务器端控制网络数据传输及其数据存储;STM32控制板负责接收服务器转发过来的命令,对家居中的各个功能模块进行控制,并把功能模块各控制状态返回给服务器。各功能模块功能包括窗帘,插座,室内灯等家居设备和温湿度传感器。
该设计通过语音唤醒功能实现语音识别,通过从云端返回的字符串,判断出用户的命令,把命令发送给服务器,由服务器把命令转发给已经上线的控制器端,从而执行用户命令,实现智能家居的语音控制。
3 控制终端APP的设计与实现
3.1 控制终端APP功能框架设计
其APP的功能框架如图2所示,其功能分为四个部分,本别是账户的登录与注销功能,语音唤醒功能语音识别功能以及按键控制功能。账号的登录是通过在服务器端添加账户获得访问权限,登陆之后获得控制权限;语音唤醒功能是通过特定词唤醒,无须按键触摸,进入语音识界面;语音识别界面则需要进行按钮进行触发;按键控制是用按钮进行功能控制。
3.2控制终端APP程序设计流程
1)账号登录。如图3所示是用户的登录流程图,通过读取用户名和密码,当用户名和密码不为空时,向服务器发送一个post请求,当其账户名密码正确时,就返回一个登录成功的状态值,这时界面跳转到用户主界面;当输入错误的账户名和密码时,界面不进行跳转,并提示账户名或者密码错误的提示。
2)语音唤醒功能。在此功能界面中,无须手动控制,通过检测关键词,唤醒语音识别功能。通过创建唤醒管理器,注册唤醒事件监听器,当有唤醒词出现时,进入处理事件,在处理事件中跳转到语音识别界面,启动录音,等待使用者说话,等语音输入结束,进行预处理,通过百度语音接口上传到服务器并获取识别出来的字符串。
3)语音识别。通过设置按钮点击事件,启动语音识别功能,具体实现功能同上。和语音唤醒的区别在于启动方式不同。
4)按键控制。通过语音控制虽然比较方便,但是在一些需要安静的环境里,语音控制是合适的,因此使用按钮进行控制是不错的选择。
3.3 UI界面设计
语音控制智能家居的登录界面和功能界面如图4所示。登录界面是输入用户名和密码,点击登录后,向服务器发送登录请求,登录成功后界面跳转到功能主界面;点击语音唤醒功能后,跳转到语音唤醒界面,通过语音唤醒关键词,唤醒语音识别功能,直接进行语音识别,无须按钮控制;也可以直接点击语音唤醒,通过点击开始进行语音识别。语音识别之后返回的结果经过处理之后通过HTTP协议中的post函数发送给服务器,通过服务器把命令转发给控制器实现远程控制功能。
4 STM32控制终端
4.1 通信模块
ESP8266是一款高性能的UART-WiFi串口无线模块,由它解决STM32联入网络的问题。ESP8266通过连接路由器,并入网络,从而可以访问云服务器,在透明传输模式下,作为TCP客户端同服务器进行交互;另一方面,ESP8266通过串口同STM32进行交互,从而完成从手机端通过语音对控制器终端的控制。
图5是ESP8266和服务器交互前的设置流程。为了清晰地展现这一过程,使用了串口调试助手进行演示。经过设置之后,ESP8266就能和服务器进行通信了,这样就可以通过手机进行语音控制,把控制信息传送到STM32中,从而实现对家居的功能控制。
4.2 STM32控制模块
图6是STM32的主控板,包括STM32F103C8T6最小系统板,Nokia5110显示屏和ESP8266UART-WiFi串口无线模块。单片机通过串口同ESP8266进行交互,得到控制命令,对命令进行处理,从而完成对终端的控制。
5 结束语
该文设计的基于语音控制的智能家居系统相比较其他方式有以下优势:①基于语音控制,更加智能化。②基于移动端的远程控制,可以随时随地对控制器进行控制。③使用的是Android系统,更易于推广。经实际测试,本系统能够达到预期的效果,对于智能家居的发展具有一定的意义。
参考文献:
[1] 禹谢华,邓林茂,张晓云,等.基于Android与Arduino智能家居控制系统的设计与实现[J].山东农业大学学报:自然科学版,2017(4).
[2] 杨玲,陈伟康,程勇,等.基于Android的智能家居系统的设计与实现[J].信息技术, 2017(7).
[3] 李中平,邱健峰,李璐,等. Android手机远程控制关键技术分析[J].计算机应用与软件, 2013(4).
论文指导 >
SCI期刊推荐 >
论文常见问题 >
SCI常见问题 >