
1、介紹
SU-03T語音識別控制模塊為用戶提供便利便宜的串口離線語音識別方案,可廣泛且快速應用於智能家居,各類智能小家电,86盒,玩具,燈具等需要語音操控的產品。 语音識別採用了離線語音識別晶片。透過串口通信的方式實現與主機的交互,最多支持150條語音指令,可在用戶平台上自主定製語音指令和固件,命令詞可任意修改,開發簡單,不需要寫程式碼。自帶固件下載晶片,只需數據線即可完成固件下載。支援語音調節音量、學習唤醒詞,識別靈敏且準確率高。
2、原理圖
SU-03T語音識別控制模組-HS-S57-L 原理圖點擊查看
3、模組參數
引腳名稱 | 描述 |
|---|---|
VCC | VCC(電源輸入正極) |
GND | GND(電源輸入負極) |
TX | 信號發送引腳 |
RX | 信號接收引腳 |
供電電壓:3.3V / 5V
連接方式:PH2.0 4P端子線
安裝方式:雙螺絲固定/樂高搭建
4、電路板尺寸

燒錄固件教學(注意:模块出廠時已經燒錄固件,可直接使用。需要自己修改條目時燒錄固件步驟)
燒錄文件:點擊下載
第一步:下載文件

第二步:打開燒錄程序

第三步:添加要燒錄的文件進入程序,點擊燒錄

第四步:按下模块復位按鍵

按下後觀察到app開始加載進度

下載完成後模組有語音提示。之後可以用UNO開發板控制語音模組了。

5、Arduino IDE示範程序
注意:程式上傳時如果提示庫文件報錯,請先導入庫文件!
Arduino IDE 庁件文件下載及導入教範:點擊查看
示範程序(UNO開發板):
volatile int yuyin;
#include <SoftwareSerial.h>
// 串口发送消息最大长度
#define UART_SEND_MAX 32
#define UART_MSG_HEAD_LEN 2
#define UART_MSG_FOOT_LEN 2
// 串口发送消息号
#define U_MSG_bozhensgshu 1
#define U_MSG_boxiaoshu 2
#define U_MSG_bobao1 3
#define U_MSG_bobao2 4
#define U_MSG_bobao3 5
#define U_MSG_bobao4 6
#define U_MSG_bobao5 7
#define U_MSG_bobao6 8
#define U_MSG_bobao7 9
#define U_MSG_bobao8 10
#define U_MSG_bobao9 11
#define U_MSG_bobao10 12
#define U_MSG_bobao11 13
#define U_MSG_bobao12 14
#define U_MSG_bobao13 15
#define U_MSG_bobao14 16
#define U_MSG_bobao15 17
#define U_MSG_bobao16 18
#define U_MSG_bobao17 19
#define U_MSG_bobao18 20
#define U_MSG_bobao19 21
#define U_MSG_bobao20 22
#define U_MSG_bobao21 23
#define U_MSG_bobao22 24
#define U_MSG_bobao23 25
#define U_MSG_bobao24 26
#define U_MSG_bobao25 27
#define U_MSG_bobao26 28
#define U_MSG_bobao27 29
#define U_MSG_bobao28 30
#define U_MSG_bobao29 31
#define U_MSG_bobao30 32
#define U_MSG_bobao31 33
#define U_MSG_bobao32 34
#define U_MSG_bobao33 35
#define U_MSG_bobao34 36
// 串口消息参数类型
typedef union {
double d_double;
int d_int;
unsigned char d_ucs[8];
char d_char;
unsigned char d_uchar;
unsigned long d_long;
short d_short;
float d_float;}uart_param_t;
SoftwareSerial mySerial(5,6);
// 串口发送函数实现
void _uart_send_impl(unsigned char* buff, int len) {
// TODO: 调用项目实际的串口发送函数
for(int i=0;i<len;i++)
{
mySerial.write (*buff++);
}
}
// 串口通信消息尾
const unsigned char g_uart_send_foot[] = {
0x55, 0xaa
};
// 十六位整数转32位整数
void _int16_to_int32(uart_param_t* param) {
if (sizeof(int) >= 4)
return;
unsigned long value = param->d_long;
unsigned long sign = (value >> 15) & 1;
unsigned long v = value;
if (sign)
v = 0xFFFF0000 | value;
uart_param_t p; p.d_long = v;
param->d_ucs[0] = p.d_ucs[0];
param->d_ucs[1] = p.d_ucs[1];
param->d_ucs[2] = p.d_ucs[2];
param->d_ucs[3] = p.d_ucs[3];
}
// 浮点数转双精度
void _float_to_double(uart_param_t* param) {
if (sizeof(int) >= 4)
return;
unsigned long value = param->d_long;
unsigned long sign = value >> 31;
unsigned long M = value & 0x007FFFFF;
unsigned long e = ((value >> 23 ) & 0xFF) - 127 + 1023;
uart_param_t p0, p1;
p1.d_long = ((sign & 1) << 31) | ((e & 0x7FF) << 20) | (M >> 3);
param->d_ucs[0] = p0.d_ucs[0];
param->d_ucs[1] = p0.d_ucs[1];
param->d_ucs[2] = p0.d_ucs[2];
param->d_ucs[3] = p0.d_ucs[3];
param->d_ucs[4] = p1.d_ucs[0];
param->d_ucs[5] = p1.d_ucs[1];
param->d_ucs[6] = p1.d_ucs[2];
param->d_ucs[7] = p1.d_ucs[3];
}
// 串口通信消息头
const unsigned char g_uart_send_head[] = {
0xaa, 0x55
};
void setup(){
Serial.begin(9600);
pinMode(13, OUTPUT);
digitalWrite(13,LOW);
mySerial.begin(9600);
yuyin = 0;
Serial.begin(9600);
}
void loop(){
//你好小爱唤醒语音识别模块
//语音识别模块RX引脚接uno开发D5引脚,TX引脚接uno开发D6引脚
if (mySerial.available() > 0) {
yuyin = mySerial.read();
Serial.println(yuyin,HEX);
}
if (yuyin == 1) {
yuyin = 0;
Serial.println("开灯");
digitalWrite(13,HIGH);
} else if (yuyin == 2) {
yuyin = 0;
Serial.println("关灯 ");
digitalWrite(13,LOW);
}
}6、ESP32 Python 示例(適用於Mixly IDE /米思齊)
開發板選擇 Python ESP32 【ESP32 Generic(4MB)】切換為代碼模式上傳
注意:程式上傳時如果提示庫文件報錯,請先導入庫文件!
米思齊(Mixly)IDE ESP32庫檔案下載及匯入教學:點擊查看
示例程式(ESP32-Python):
import machine
import time
uart1=machine.UART(1, tx=17, rx=16, baudrate=9600)
pin2 = machine.Pin(2, machine.Pin.OUT)
while True:
if uart1.any():
data = uart1.read()
if data == b'\x01':
pin2.value(1)
print('111', 'Mixly')
time.sleep_ms(100)
elif data == b'\x02':
pin2.value(0)
print('nnnn', 'Mixly')
time.sleep_ms(100)7、米思齊 Mixly 示例程式(圖形化語言)
示範程序(UNO開發板):點擊下載
注意:程式上傳時如果提示庫文件報錯,請先導入庫文件!
米思齊(Mixly)IDE Arduino 圖庫檔案下載及匯入教學:點擊查看

示範程序(ESP32開發板):點擊下載
注意:程式上傳時如果提示庫文件報錯,請先導入庫文件!
米思齊(Mixly)IDE ESP32庫檔案下載及匯入教學:點擊查看

8、測試環境搭建
Arduino UNO 測試環境搭建
準備配件:
UNO - R3 開發板 *1
HS-UNO EXP1 擴展板 *1
USB type-c 資料線 *1
LED燈模塊 *1
SU-03T 聲音識別控制模塊(HS-S57-L)*1
PH2.0 4P端子轉杜邦線 *1 或 PH2.0 4P雙頭端子線 *1
電路接線圖:

ESP32 測試環境搭建
準備配件:等更新...
電路接線圖:等更新...
9、視頻教學
10、測試結論
Arduino UNO 混试结果:
器件連接好線之後,將上述程式燒錄到開發板之後,即可跟SU-03T 語音識別控制模組對話。

全部參考資料:點擊下載