如何使用Raspberry Pi构建一个Amazon Echo

描述

亚马逊发布亚马逊ECHO语音控制扬声器已经快两年了,扬声器的受欢迎程度继续飙升,原因可能与Alexa语音服务的惊人性能以及该平台向开发人员开放的事实相差不远,这导致了顶级电子制造商开发Alexa兼容设备以及几种基于Alexa /Amazon echo的技术的诞生。初创企业。出于这个原因,在今天的文章中,我将向您展示如何构建自己的 DIY 版本的亚马逊 echo,并在树莓派上设置 Alexa 语音服务。

所需组件:

构建此 Raspberry pi Amazon echo 项目需要满足以下条件:

树莓派 3 或 2

WiFi 加密狗(如果要使用树莓派 2)

麦克风

线路输入扬声器(带 3.5 毫米插孔)

5V、2A USB 电源

以太网电缆

可选要求

监控

鼠标和键盘

HDMI 电缆

由于我计划用于这个项目的USB麦克风需要很长时间才能到达,我决定使用连接到USB麦克风和耳机连接器的耳机来为我的PlayStation 3。如果您无法像我一样获得USB麦克风,则可以像大多数USB网络摄像头一样使用任何其他具有麦克风输出的设备。

本教程将基于 Raspbian stretch OS,因此要像往常一样进行,我假设您熟悉使用 Raspbian stretch OS 设置 Raspberry Pi,并且您知道如何使用 putty 等终端软件 SSH 进入 Raspberry Pi。如果您对此有任何问题,本网站上有大量的树莓派教程可以提供帮助。

由于本教程的性质,能够使用显示器等视觉显示或使用 VNC 查看树莓派桌面非常重要。这样做的原因是将ID从亚马逊网站复制到终端。

本教程将分步骤进行,以便于遵循和复制。

第 1 步:准备 Pi

在安装操作系统后开始任何 Raspberry Pi 项目之前,我喜欢在 pi 上运行更新以确保它上面的一切都是最新的。

为此,请运行:

sudo apt-get update

sudo apt-get upgrade

第 2 步:配置 Pi 的声音系统

在此阶段,我将建议使用 VNC 连接显示器或连接到树莓派的桌面,以使事情变得更容易。

启动并运行 Pi 桌面后,通过 USB 将麦克风和扬声器连接到树莓派上的 3.5 毫米音频插孔。我们需要重新配置树莓派以通过 3.5 毫米插孔发送声音输出。为此,请右键单击树莓派桌面任务栏上的声音(扬声器)按钮,然后选择模拟,如下图所示。

Alexa

这将允许Raspberry Pi通过3.5mm插孔发送声音,而不是通过HDMI发送。

接下来,我们需要将树莓派配置为默认使用连接的 USB 麦克风。为此,我们需要编辑树莓派的高级 linux 声音架构的配置。

我们通过以下方式做到这一点:

sudo nano /usr/share/alsa/alsa.conf

编辑器打开,滚动到 PCM 卡的行并将其从 0 更改为 1,如下图所示

Alexa

保存配置并使用ctrl+x退出

第 3 步:- 设置您的亚马逊开发人员帐户

下一步是我们创建一个亚马逊开发人员帐户,以获取我们能够连接到亚马逊Alexa语音服务所需的开发人员ID,证书和安全配置文件。

首先转到亚马逊的开发人员网站并创建一个帐户,您可以点击此链接,单击登录它将引导您创建开发人员帐户的页面。

完成后,点击此链接进入开发人员的主页。我在浏览亚马逊网站时遇到了一些问题,所以我建议您点击此链接。

在主页上,单击下面突出显示的Alexa语音服务。

Alexa

在下一页上,单击下图中突出显示的“创建产品”按钮;

Alexa

按如下说明填写产品表格。

Product Name:- RPi Echo (this name is a personal preference, you can use whatever name you desire)

Product ID: RPiEcho (you can use whatever name you want as product ID).

Product Type: Select Alexa enabled device

Companion App: select No

Product category:  select Other

Product description: whatever comes to mind

How users will interact: select hands free

Image Upload: upload any descriptive image or skip.

Commercial distribution: select No

For children: select No

Alexa

填写表格后,单击页面末尾的下一步按钮。在下一页上,系统将要求您选择一个安全配置文件,选择“创建新配置文件”选项。

Alexa

输入配置文件名称和合适的描述,然后点击下一步按钮。

Alexa

单击下一个按钮后,将生成安全配置文件 ID、客户端 ID 和客户端密钥。请妥善保管这些详细信息,因为我们稍后会使用它们。

在单击完成按钮之前,我们需要为允许的源和允许的返回 URL添加路径。

对于允许的源,添加以下链接:

http://localhost:3000

https://localhost:3000

对于允许的返回 URL,添加以下链接:

https://localhost:3000/authresponse

http://localhost:3000/authresponse

添加这些链接后,单击完成按钮,如下所示。

Alexa

创建亚马逊开发人员帐户并获取所有必需的 ID 后,我们继续在树莓派上安装 Alexa 语音服务。

第 4 步:在树莓派上安装和配置 Alexa 语音服务

要在树莓派上安装 Alexa 语音服务,我们通过运行以下命令克隆alexa git hub 存储库:

git clone 

https://github.com/alexa/alexa-avs-sample-app.git

克隆存储库后,通过运行切换到其目录;

cd alexa-avs-sample-app.git

Alexa

我们需要在运行安装之前配置 Alexa 语音服务。为此,我们编辑automated_install.sh文件;

sudo nano automated_install.h

填写所需的产品 ID、客户端 ID 和客户端密钥信息,如下图所示。

Alexa

使用 ctrl+x 保存并退出编辑器。

接下来,我们需要将automated_install脚本设置为可执行文件,以便将其安装在树莓派上。为此,请运行;

Sudo chmod+x automated_install.h

之后,我们使用以下命令运行安装;

./automated_install.h

这将在pi上安装Alexa语音服务。在安装过程中,会出现一些您必须提供答案的问题。

您还将被要求在问题中选择音频输出,确保选择 3.5 毫米音频插孔。

Alexa

这可能需要一段时间,但之后,您将安装 Alexa 语音服务。

第 5 步:获取配套应用并启动 AVS 客户端:

在启动 AVS 之前,我们需要启动并运行配套应用。配套应用程序充当某种网关,允许我们的客户端和 AVS 服务器之间进行交互。

若要启动伴随,我们需要切换到 avs 示例应用目录并运行伴随服务。这可以通过运行以下命令来完成:

cd ~/alexa-avs-sample-app/samples/companionService && npm start

Alexa

在配套服务运行时,我们需要启动 AVS 客户端,为此,我们打开一个新终端,而不关闭运行配套服务的终端。

在新终端上,通过运行调用 AVS 客户端;

cd ~/alexa-avs-sample-app/samples/javaclient && mvn exec:exec

运行该命令后,您应该会看到一个弹出窗口(如下所示),要求您对设备进行身份验证,复制链接并粘贴到 Web 浏览器中,或单击“是”按钮。

Alexa

单击“是”后,在完成网页上的身份验证之前,不要单击将弹出的下一个对话框中的“确定”按钮。

Web 浏览器可能会引发一个标志并声明链接不安全,但会前进。该链接将引导您进入亚马逊开发人员帐户登录页面,登录后,您将被重定向到确认身份验证的页面(如下所示)。

Alexa

您现在可以在我之前提到的对话框中单击确定。这样,Alexa就可以使用了,客户端对话框中的所有按钮现在都将启用,因此您可以单击以向 Alexa 发出命令并获得响应。

Alexa

第 6 步:激活 Alexa 唤醒词:

我们将在本教程中介绍的最后一件事是激活感官 Alexa 唤醒词代理,您会同意我的观点,必须一直单击按钮才能与 Alexa 通信有点不酷。虽然存在不同的唤醒代理,但对于这个项目,我们将使用感官Alexa唤醒词代理。唤醒代理将在后台运行,等待我们提到唤醒词“alexa”,一旦它听到唤醒词,它就会指示我们的 Alexa 客户端开始侦听命令。

要在客户端仍处于打开状态的情况下安装唤醒字代理,请在新终端上运行以下命令:

cd ~/alexa-avs-sample-app/samples/wakeWordAgent/src && ./wakeWordAgent -e sensory

如果一切正常,您应该得到如下所示的响应。

Alexa

有了这个,你应该能够通过说Alexa唤醒词来让Alexa听你说话。

Alexa

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分