使用 ESP32 在 Google Nest mini 上输出语音

Voice outout on a Google Nest mini using ESP32

我正在尝试将输入的文本输出为语音消息。我正在使用 Google Nest Mini 和 ESP32。

下面显示的代码按预期工作。它使用 ghn.notify() 将消息传递给语音助手并大声说出来。

#include <WiFi.h>
#include <esp8266-google-home-notifier.h>

const char* ssid     = "your_ssid";
const char* password = "your_password";

GoogleHomeNotifier ghn;

void setup() 
{
  Serial.begin(9600);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  
  const char displayName[] = "Living Room speaker";
  
  if (ghn.device(displayName, "en") != true) 
  {
    Serial.println(ghn.getLastError());
    return;
  }
  
  ghn.notify("Hi, how are you");  
}

但是,当我尝试将字符串作为参数传递给 ghn.notify() 时,出现以下错误:

no matching function for call to 'GoogleHomeNotifier::notify(String&)'

这是添加的代码:

void loop() {
  if (Serial.available()) { 
    String command = Serial.readStringUntil('\n'); 
     
    ghn.notify(command); 
    
  }
}

有没有办法让语音助手说出在串口监视器中输入的文字?

我找到了解决问题的方法。 使用时

ghn.notify(command);

a built-in 函数用于修复错误。 所以最后代码看起来像这样:

void loop() {
  if (Serial.available()) { 
    String command = Serial.readStringUntil('\n'); 
     
    ghn.notify(command.c_str()); 
    
  }
}