#物联网征文# 智能家居离线语音识别控制系统设计(SU-03T) 原创 精华
1. 离线语音识别控制(SU-03T)
1.1 模块介绍
语音识别模块是在一种基于嵌入式的语音识别技术的模块,主要包括语音识别芯片和一些其他的附属电路,能够方便的与主控芯片进行通讯,开发者可以方便的将该模块嵌入到自己的产品中使用,实现语音交互的目的。
模块实物图如下:
1.2 模块的IO口说明
这款模块常用的IO口有7个分别为: PA25、PA26、PA27、PB2、PB3、PB6、PB7
模块出厂内置的固件命令词如下: -----这些都可以进行自己定制的。
1.3 语音模块与STM32接线
为方便扩展更加灵活的语音控制,可以把B2(UART1_TX)和B3(UART1_RX)做为与其他MCU的通信的接口。
STM32的代码里接收语音模块串口返回的响应指令进行对应的处理:
OneNet云端控制界面:
1.4 STM32的串口处理代码
STM32串口收到语音模块的指令如下:
1.5 在线定制语音模块代码
(1)登录账号
(2)登录后,进行创建产品。
(3)选择离线方案
(4)配置语音识别与引脚功能
这些引脚可以配置为普通的输出引脚,直接连接外部电路,或者单片机的输入引脚配合完成一些逻辑控制。
SU-03T语音模块引出的GPIO口数量有限,为了扩展更加灵活的控制方式,可以配置串口引脚,通过串口与单片机进行通信,完成更灵活更多的语音控制。
(5)定制唤醒词
(5)离线命令词与应答语自定义
下面是我定制的几个命令词。
模块识别到命令词之后可以做出一些响应,点击后面的 >> 图标进行设置。
点击 《添加控制》按钮,配置响应的方式。
设置 控制类型为串口输出,输出的参数我填的A0,主要是为了方便区分而已。这里可以自己定义的。
也就是当语音模块识别到 《打开空调》 指令之后,会通过串口1发送一个串指令出去,单片机收到这条指令就可以进行判断,完成对应的逻辑控制。
发出的指令是这样的: (十六进制的指令)
下面的其他命令依次配置即可。
(6)还可以配置免唤醒词的命令
非重点,根据自己习惯爱好配置即可。
(7)发音人配置
非重点,根据自己习惯爱好配置即可。
(8)检查配置
(9)生成新版本
(10)生成SDK。
生成需要等待一段时间,生成成功会有手机短信提醒的,生成之后就可以下载了。
(11)编译固件
SDK生成之后,点击后面 《编译固件》按钮,添加固件进行编译。
编译成功后,点击下载固件。
(12)下载SDK包
SDK包里包含了烧录工具套装。
1.6 固件烧录
下载的SDK解压后的文件夹为 uni_hb_m_solution
。
注意: 解压的目录不能出现中文。
解压后打开烧录工具:UniOneUpdateTool.exe
准备一个USB-TTL模块,将模块与电脑的USB口连接,准备烧录程序。
连线如下:
待升级的固件选择:uni_app_release_update.bin
SDK包里也带了PDF说明文档,详情看文档即可。
【本文正在参加物联网有奖征文活动】,活动链接: https://ost.51cto.com/posts/14758
定制,语音和智能家居,这三个词结合起来确实厉害。
理论上可以将这个模块嵌入任意产品中来实现语言功能吗?
对产品所在的环境肯定也有要求,比如不能太吵