将我们的 Google HOME 智能扬声器安装在 Raspberry Pi 上

Google Assistant SDK 终于发布,可以使用西班牙语的 Google Home (o 西班牙语) 在其他新语言中! 所以现在可以在 Raspberry Pi 上安装我们自己的 Google Assistant, 几分钟后, 带麦克风和扬声器, 您将拥有一个 Raspberry Pi 来满足您的要求!

 

 

 

非常适合放在客厅或任何隐藏的地方, 配备一个良好的全向麦克风, 我们可以用自己的语言向它提问,它也能够相对准确地回答我们😉 除了西班牙语, 还支持英语, 德语, 法语, 意大利语和日语. 好处是谷歌有非常详细的文档, 你可以按照文档步骤或这些更简略的步骤来准备一切!

 

我们将使用安装并更新了 Raspbian 系统的树莓派, 首先要确保音频正常工作, 包括麦克风的输入和我们希望输出声音的扬声器. 使用以下命令, 首先查看录音设备,然后查看播放设备:

[源代码]arecord -l
aplay -l[/源代码]

 

我们编辑音频配置文件‘~/.asoundrc’’ 并指定我们正在使用的麦克风, 在这种情况下是一个特定的USB设备, 但我们也可以使用网络摄像头的麦克风, 以及默认输出音频:

[源代码]pcm.!违约 {
type asym
playback.pcm {
type plug
slave.pcm "hw:0,0"
}
capture.pcm {
type plug
slave.pcm "hw:1,0"
}
}[/源代码]

 

如果我们想进行声音测试以查看是否能听到声音…:

[源代码]speaker-test -t wav[/源代码]

 

更好的是, 录制一个示例,看看我们通过麦克风听起来如何:

[源代码]arecord –format=S16_LE –duration=5 –rate=16000 –file-type=raw out.raw[/源代码]

 

为了听听我们听起来如何, 执行:

[源代码]aplay –format=S16_LE –rate=16000 out.raw[/源代码]

 

现在我们可以去Google的操作控制台, 在 https://console.actions.google.com, 我们需要使用一个有效的 Google 账户登录,并创建一个新的 Google 云端平台项目, 为此,请单击 “添加/导入项目”. 在我们的树莓派上安装 Google Assistant API 后,我们将访问该 API 以进行查询,项目将显示有关消耗的数据.

 

我们必须指定项目名称,并且如果希望更改动作的语言或选择我们的国家/地区, 就是这个时候,

 

我们必须启用 Google Assistant API, 因为 https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview 从组合框中选择我们的项目并点击 “使”,

 

现在我们就可以去注册我们的设备了! 再次进入控制台, 在 https://console.actions.google.com/
前往 “设备注册” > “注册模型” 然后我们创建它!

 

我们需要给它一个名称或‘产品名称’’ (并记录下来), 制造商名称或‘制造商’’ 我们选择是否需要某种设备, 如果不清楚就留在'自动', 点击 “注册模型”,

 

现在, 我们需要下载访问Google助手服务的凭证文件, 点击 “下载OAuth 2.0 凭证” 然后把它保存在某个地方,

 

我们可以用WinSCP或类似工具把它复制到树莓派,路径为/home/pi,

 

回到助手并点击 “跳”,

 

我们保存刚刚注册的设备, 通过点击 “救”,

 

不错, 现在在树莓派上配置Python虚拟环境,以隔离SDK及其依赖的系统Python包, 我们选择Python选项 3:

[源代码]sudo apt-get install python-dev python-virtualenv
virtualenv env –no-site-packages
env/bin/python -m pip install –升级pip setuptools wheel
source env/bin/activate[/源代码]

 

我们安装了必要的依赖项,以及 Google Assistant SDK,这将允许我们在 Raspberry Pi 上运行 Google Assistant:

[源代码]sudo apt-get install portaudio19-dev libffi-dev libssl-dev libmpg123-dev[/源代码]

 

通过 pip 在虚拟环境中安装最新版本的 Python:

[源代码]python -m pip install –升级 google-assistant-sdk[示例][/源代码]

 

我们安装或更新授权工具:

[源代码]python -m pip install –升级 google-auth-oauthlib[工具][/源代码]

 

现在我们生成运行示例所需的凭证, 我们将使用之前下载的 JSON 文件:

[源代码]google-oauthlib-tool –作用域 https://www.googleapis.com/auth/assistant-sdk-prototype –作用域 https://www.googleapis.com/auth/gcm –保存 –无界面模式 –client-secrets /home/pi/client_secret_xxxx.apps.googleusercontent.com.json[/源代码]

 

如果一切都正确, 它会显示类似如下的信息:

[源代码]"Please visit this URL to authorize this application: https://…"[/源代码]

Copiamos la URL y vamos a ella con un navegador (que esté logueado con nuestra cuenta de Google), tras permitirlo nos dará un código de autenticación que debemos pegar en la shell.

 

现在, ya estamos listos para probar un ejemplo! En el mismo entorno virtual, ejecutamos el siguiente comando indicando nuestro ID de Proyecto y nuestro ID de modelo, que si no los habéis ido anotando, los encontraréis en la Consola de Actions de Google buscando en las opciones generales del proyecto y del dispositivo. Si esta todo OK ejecutamos el siguiente comando y quedará listo para que hablemos con el Assistant, es momento de probar:

[源代码]googlesamples-assistant-hotwordproject_id entrada-txarlatanadevice_model_id entrada-txarlatana-entrada-xxxx[/源代码]

 

顺便一提, para cambiar el idioma de nuestro Asistente, 我们将直接通过手机完成这项工作, 我想你们应该已经安装了助手的应用程序 (如果没有的话,你们可以安装它 :P, 打开它, 我们在顶部点击指南针, 在下一屏中,选择探索,我们需要去 “设置”,

 

在设置中,我们需要在设备中查找之前注册的设备, 我们选择它, 到那里后,我们就可以给谷歌的先生们访问我们更多的数据,或者选择我们希望与助手互动的语言!

 

大功告成! 我们已经在一台树莓派上设置了服务, 如果我们再次运行上面的示例,助手将以我们的语言进行, 我们将需要不断按回车键或说‘好的, 谷歌’ 无论是与我们的互动示例. Como en mi caso no me interesa que el micrófono esté siempre escuchando y así también evitar la necesidad de decir ‘OK Googletodo el rato, pues mediante una solución cutrecilla he conseguido esquivarlo. He creado un scriptcillo para iniciar el Assistant y otro para detenerlo, os lo dejo por si de casualidad a alguien le es de utilidad 🙂

 

google_assistant_para.sh

[源代码]cd /home/pi/
source env/bin/activate
nc -l 12345 | /home/pi/env/bin/python3 /home/pi/env/bin/googlesamples-assistant-pushtotalkproject-id txarlatanadevice-model-id txarlatana-pitxarlatana-xxxx &[/源代码]

 

google_assistant_para.sh

[源代码]pkill python3
pkill google
pkill nc[/源代码]

推荐文章

作者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 请随时与我联系, 我会尽我所能帮助你, 分享就是生活 ;) . 享受文档!!!