SU-03T语音控制模块详解

当我们谈到智能家居时,经常会通过语音来控制我们的家电,将「懒」发挥到极致。语音模块结合了语音识别和控制技术,使得我们可以通过简单的口令来轻松操控灯光等设备,实现更智能化的生活体验。

在本文中,我们将探讨如何利用语音模块来控制灯光,无需按动开关,只需借助声音的力量。

1. 源码下载及前置阅读

本文首发 良许嵌入式网 :www.lxlinux.net/e/ ,欢迎关注!

本文所涉及的源码及安装包如下(由于平台限制,请点击以下链接阅读原文下载):

www.lxlinux.net/e/stm32/SU-...

往期精彩教程,有兴趣的小伙伴可以看看。

2. 语音模块介绍

2.1 型号介绍

今天要介绍的语音模块型号是 SU-03T,是一款低成本,低功耗,小体积的高性价比离线语音识别模块。直接语音控制,无需联网,无需手机;AI智能语音芯片,反应灵敏;语音指令简单,老少皆宜。

SU-03T 板载一个高灵敏度咪头,一个 8Ω 0.5W 的喇叭和四个继电器。可以用于产品原型测试验证功能,DIY自己的语音控制设备,改装各种小家电。支持自定义开机播报、唤醒词、命令词等。

产品特性如下:

  • 32bit RISC 内核,运行频率 240M
  • 支持 DSP 指令集以及 FPU 浮点运算单元
  • FFT 加速器:最大支持 1024 点复数 FFT/IFFT 运算,或者是 2048 点的实数 FFT/IFFT 运算
  • 内置高速 SRAM,内置 2MB FLASH
  • 内置 3W、单声道 AB 类功放
  • 支持1路驻极体麦
  • 支持 I2S input/output
  • 支持 5V 电源输入
  • 内置 5V 转 3.3V,3.3V 外部负载不超过 150mA
  • RC 12MHz 时钟源和 PLL 锁相环时钟源
  • 内置 POR(Power on Reset),低电压检测和看门狗
  • 所有 GPIO 均可配置为外部中断输入和唤醒源
  • 1个标准 SPI Master 接口,最高速率 30MHz
  • 1个 SPI Slave 接口最高速率 30MHz
  • 1个全双工 UART 最高速率 3Mbps
  • 1个 I2C 主/从控制器最高速率 400kHz
  • 2个 PWM 输出
  • 1个 12-bit SAR-ADC 最大 450Khz 采样率

2.2 工作参数及引脚介绍

工作温度:-20 ~ 85 ℃

工作电压:3.6V ~ 5.5V,一般 5V 供电

供电电流 :>200mA

SU-03T 说明
VCC 5V 供电
GND 接地
3V3 芯片内部 LDO 输出 3.3V,外部负载不能超过 150mA
B8 打印信息引脚,不用可悬空
B7 ADC13 / UART1_TXD / I2C_SCL
B6 ADC12 / UART1_RXD / I2C_SDA
B2 UART1_TXD / I2C_SCL / TIM3_PWM
MIC- 驻极体麦负极
MIC+ 驻极体麦正极
B3 UART1_RXD / I2C_SDA / TIM4_PWM
A27 ADC6 / SPIS_MOSI / SPIM_MOSI / I2S0_DO / DMIC1_CLK / TIM3_PWM
A26 ADC5 / SPIS_CLK / SPIM_CLK / I2S0_BCLK / I2S1_BCLK / DMIC0_CLK
A25 ADC4 / SPIS_MISO / SPIM_MISO / I2S0_LRCLK / I2S1_LRCLK / DMIC_DAT
B0 UART0_TXD / I2C_SCL / TIM3_PWM
B1 UART0_RXD / I2C_SDA / TIM4_PWM
GND 接地
SPK- 喇叭负极
SPK+ 喇叭正极

4. 通信示意图

我们的实现目标是:有一个三色 LED 灯,说「打开红灯」,红灯亮;说「关闭红灯」,红灯灭;说「打开绿灯」,绿灯亮;说「关闭绿灯」,绿灯灭;说「反转黄灯」,黄灯状态反转。

5. 固件生成

我们需要对语音模块 SU-03T 进行配置,打开【智能公元/AI产品零代码平台 (smartpi.cn)】

有账号的登录,没有账号的小伙伴注册一下。

在以下的教程里,红框跟我做,绿框大家可以自由发挥。

如下点击,我们开始创建产品。

还可以选英文,后面对着 SU-03T 说「turn on the light」是不是可以装一下,哈哈。

由于我们只是模型阶段,距离很近,所以选「近距1m」,其他的默认即可。

接下来设置唤醒词。

所谓的唤醒词,就是你以某个关键词喊一下这个模块,它就会从待机模式苏醒,并等待你的下一条指令。

唤醒词可以有一条或多条,比如你可以设置为「你好小美」,也可以再设置为「二蛋」、「狗剩」等等。

相应地,模块唤醒之后会回复你,也就是所谓的「唤醒回复」。这个回复也可以是一条或多条,经过测试,唤醒词与唤醒回复并不是一一对应,而是随机的。

接下来设置命令词自定义。

我们现在想通过说「打开红灯」、「打开绿灯」、「打开黄灯」等命令来操作相应的 LED 灯,所以可以把那些语句设置为命令词。

同样地,也可以设置命令词所对应的回复词。

在左边的「行为」那一列里,就是模块响应我们的命令之后要做的事情。我们可以先设置一下行为的名称,后续设置行为所对应的动作。

上面已经设置好了命令所对应的「行为」名称,现在就可以设置「行为」具体要做的事情。

比如我们说「打开红灯」,那么模块应该把红灯对应的引脚拉低,绿灯、黄灯对应的引脚接高。

其它几个引脚也是根据相应的需求做配置。

设置好后效果如下。

剩下的东西大家都可以按照需要和兴趣自定义,让设备更智能、更人性化、更适合你。

在接下来我们可以配置「开机播报」及「主动退出」。

「开机播报」就是模块在上电的时候自动说的一句话。比如:「欢迎使用本设备」等等。在本案例我们不配置。

模块唤醒之后,在一定时间内(默认 10 秒,可设置)没有收到命令词,就会退出并进入休眠。默认退出回复为「有需要再叫我」,可自定义。

「主动退出」就是我们通过某个关键词让模块立即进入休眠状态。可以配置「退出命令」及相应的「退出回复」。

一切都配置就绪后,可以点击右上角发布版本。

等待大概半小时后,可以在后台下载固件包并烧录。

6. 编程实战

6.1 硬件接线

本教程使用的硬件如下:

  • 语音模块:SU-03T
  • 小灯:三色 LED 灯模块
  • 供电+烧录:micro 数据线
SU-03T LED
A25 R
A26 G
A27 Y
GND G

接好如下图:

6.2 程序烧录

SDK 生成好后,点击下载固件和下载 SDK。

将 microUSB 数据线插到 SU-03T,另一端插到电脑 USB,供电的同时可以用于烧录。

再打开固件文件选择如下文件烧录。

如果没有开始下载,可以开关一下 SU-03T 的开关。

6.3 运行效果

说「你好小美」,唤醒模块;

说「打开红灯」,红灯亮;

说「关闭红灯」,红灯灭;

说「打开绿灯」,绿灯亮;

说「关闭绿灯」,绿灯灭;

说「反转黄灯」,黄灯状态反转,由灭转亮。

再说「反转黄灯」,黄灯状态反转,由亮转灭。

7. 总结

祝贺大家成功点灯!

本文只是一个简单的案例,但实际上 SU-03T 还有更多功能等着大家开发,搭配官网,简单方便。

希望这个案例能够给您带来一些启发,感谢各位看官,love and peace!

另外,想进大厂的同学,一定要好好学算法,这是面试必备的。这里准备了一份 BAT 大佬总结的 LeetCode 刷题宝典,很多人靠它们进了大厂。

刷题 | LeetCode算法刷题神器,看完 BAT 随你挑!

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

推荐阅读:

欢迎关注我的博客:良许嵌入式教程网,满满都是干货!

相关推荐
夜听莺儿鸣6 小时前
502-003_Linux 中断与异常(一):从Linux角度理解中断与异常
linux·中断与异常·linux中断
杨云龙UP6 小时前
TDengine 3.4.2.8 Community 三节点三副本生产集群部署实战(DNode/MNode/taosAdapter/Explorer)
大数据·linux·运维·数据库·tdengine·时序库
向成科技7 小时前
XC3576H工控主板|深度适配Ubuntu 26.04 LTS,释放边缘AI与工业开发新潜能
linux·人工智能·ubuntu·机器人·硬件·主板·边缘ai
Fcy6488 小时前
Linux下 进程间关系与守护进程
linux·运维·服务器·守护进程
码农小韩8 小时前
Linux驱动理论(二)——Linux字符设备驱动
linux·嵌入式软件开发·linux操作系统·linux应用开发·linux驱动理论
well06128 小时前
Linux粘滞位与Makefile机制深度解析
linux·运维·服务器
再写一行代码就下班8 小时前
linux sh脚本在windows修改导致无法使用解决方式
java·linux·centos
额额额对了9 小时前
SPI通信
linux·c语言·汇编·单片机·嵌入式硬件·arm
子木HAPPY阳VIP9 小时前
Ubuntu 关闭防火墙操作步骤
linux·运维·ubuntu
王振超wzc9 小时前
嵌入式开发环境搭建--WM软件安装,Ubuntu操作系统安装
linux·运维·ubuntu