唤醒方案
403字约1分钟
2024-11-07
当你想和设备进行对话时,需要先把设备唤醒。
ESP-AI 提供的唤醒方案有: 天问asrpro
、内置语音唤醒
、串口唤醒
、引脚高/低电平唤醒(按钮唤醒)
。
需要注意:v2.0 版本中暂时未推出:内置语音唤醒,请时时关注我们,在接下来的版本中会推出。
按钮唤醒
当给某一个引脚输入高电平或者低电平时触发。
#include <esp-ai.h>
ESP_AI esp_ai;
void setup() {
Serial.begin(115200);
bool debug = true;
ESP_AI_wifi_config wifi_config = { "", "", "ESP-AI" };
ESP_AI_server_config server_config = { };
// [必 填] 唤醒方案: { 方案, 语音唤醒用的阈值(本方案忽略即可), 引脚IO }
ESP_AI_wake_up_config wake_up_config = { "pin_high", 1, 10 }; // 如果按钮按下是低电平,那使用 pin_low 即可
esp_ai.begin({ debug, wifi_config, server_config, wake_up_config });
}
void loop() {
esp_ai.loop();
}
天问唤醒
实际上是对串口唤醒的封装。
天问代码:https://github.com/wangzongming/esp-ai/blob/master/client/esp-ai/examples/asrpro-wakeup/voice.hd(或者加qq群下载)
//...
ESP_AI_wake_up_config wake_up_config = {};
strcpy(wake_up_config.wake_up_scheme, "asrpro"); // 唤醒方案
strcpy(wake_up_config.str, "start"); // 串口和天问asrpro 唤醒时需要配置的字符串,也就是从另一个开发板发送来的字符串
esp_ai.begin({ wake_up_config });
// ...
内置语音唤醒
//...
// 唤醒方案: { 方案, 语音唤醒用的阈值 , 引脚唤醒方案(本方案忽略), 发送的字符串(本方案忽略) }
ESP_AI_wake_up_config wake_up_config = {"edge_impulse", 0.95};
esp_ai.begin({ wake_up_config });
// ...
串口唤醒
//...
// 唤醒方案: { 方案, 语音唤醒用的阈值(本方案忽略即可), 引脚唤醒方案(本方案忽略), 发送的字符串 }
ESP_AI_wake_up_config wake_up_config = {"serial", 1, 10, "start"};
esp_ai.begin({ wake_up_config });
// ...