说明
当复刻完ESP-AI之后,我们还是一头雾水,不知道怎么和ESP-AI说话,那么这篇文章将让你茅塞顿开,ESP-AI支持多种唤醒,能满足不同需求
按键唤醒
在目前版本中,官方推荐的是天问语音唤醒模块,既然推荐天问,为什么还要按键唤醒?那是因为,经过实测,天问对电量消耗巨大,并且价格昂贵,虽然好用,但性价比并不高 言归正传,那么按键唤醒我们该怎样做?
接线
由于我手上关于按键,只有一个五向摇杆按键模块 , 其他按键操作起来其实一样的 图中说的很清楚了,这个模块一个5个按键,我们本次只用他的上键(UP)
将esp32s3的10号引脚连接UP,COM连接esp32s3中的GND即可
修改客户端配置文件
将以下代码粘贴到Arduino ide 中,记住将wifi 配置,服务配置改为自己的,改完之后编译就可以了,最后按上键就可以唤醒了
#include <esp-ai.h>
ESP_AI esp_ai;
// 定义按键引脚
const int buttonPin = 10;
bool lastButtonState = HIGH; // 用于记录上一次按键状态
void setup() {
Serial.begin(115200);
bool debug = true;
// [必 填] wifi 配置: { wifi 账号, wifi 密码 } 注意:要用双引号!
ESP_AI_wifi_config wifi_config = { "Xiaomi_FANFAN", "yangfan0522", "ESP-AI" };
//ESP_AI_server_config server_config = { }; // 如果你使用的是开发者平台,这留空即可
// [必 填] 服务配置: { 服务IP, 服务端口, "请求参数,用多个参数&号分割" }
ESP_AI_server_config server_config = { "192.168.31.108", 8088, "&token=123456" };
// [必 填] 离线唤醒方案:{ 方案, 识别阈值 }, "edge_impulse" | "diy",为 "diy" 时可调用 esp_ai.wakeUp() 方法进行唤醒
ESP_AI_wake_up_config wake_up_config = {};
strcpy(wake_up_config.wake_up_scheme, "custom");
// [可留空] 麦克风引脚配置:{ bck_io_num, ws_io_num, data_in_num }
ESP_AI_i2s_config_mic i2s_config_mic = { 4, 5, 6 };
// [可留空] 扬声器引脚配置:{ bck_io_num, ws_io_num, data_in_num, 采样率 }
ESP_AI_i2s_config_speaker i2s_config_speaker = { 16, 17, 15, 16000 };
// [可留空] 音量调节配置:{ 输入引脚,输入最大值(1024|4096),默认音量(0-1) }
ESP_AI_volume_config volume_config = { 34, 4096, 1 };
// 开始运行 ESP-AI
esp_ai.begin({debug, wifi_config, server_config, wake_up_config, volume_config, i2s_config_mic, i2s_config_speaker});
// 设置按键引脚为输入模式
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
esp_ai.loop();
// 检测按键是否按下
bool buttonState = digitalRead(buttonPin);
if (buttonState == LOW && lastButtonState == HIGH) {
esp_ai.wakeUp();
}
lastButtonState = buttonState;
}
没有回复内容