亚马逊发布亚马逊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 毫米插孔发送声音输出。为此,请右键单击树莓派桌面任务栏上的声音(扬声器)按钮,然后选择模拟,如下图所示。
这将允许Raspberry Pi通过3.5mm插孔发送声音,而不是通过HDMI发送。
接下来,我们需要将树莓派配置为默认使用连接的 USB 麦克风。为此,我们需要编辑树莓派的高级 linux 声音架构的配置。
我们通过以下方式做到这一点:
sudo nano /usr/share/alsa/alsa.conf
编辑器打开,滚动到 PCM 卡的行并将其从 0 更改为 1,如下图所示
保存配置并使用ctrl+x退出
第 3 步:- 设置您的亚马逊开发人员帐户
下一步是我们创建一个亚马逊开发人员帐户,以获取我们能够连接到亚马逊Alexa语音服务所需的开发人员ID,证书和安全配置文件。
首先转到亚马逊的开发人员网站并创建一个帐户,您可以点击此链接,单击登录它将引导您创建开发人员帐户的页面。
完成后,点击此链接进入开发人员的主页。我在浏览亚马逊网站时遇到了一些问题,所以我建议您点击此链接。
在主页上,单击下面突出显示的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
填写表格后,单击页面末尾的下一步按钮。在下一页上,系统将要求您选择一个安全配置文件,选择“创建新配置文件”选项。
输入配置文件名称和合适的描述,然后点击下一步按钮。
单击下一个按钮后,将生成安全配置文件 ID、客户端 ID 和客户端密钥。请妥善保管这些详细信息,因为我们稍后会使用它们。
在单击完成按钮之前,我们需要为允许的源和允许的返回 URL添加路径。
对于允许的源,添加以下链接:
http://localhost:3000
https://localhost:3000
对于允许的返回 URL,添加以下链接:
https://localhost:3000/authresponse
http://localhost:3000/authresponse
添加这些链接后,单击完成按钮,如下所示。
创建亚马逊开发人员帐户并获取所有必需的 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 语音服务。为此,我们编辑automated_install.sh文件;
sudo nano automated_install.h
填写所需的产品 ID、客户端 ID 和客户端密钥信息,如下图所示。
使用 ctrl+x 保存并退出编辑器。
接下来,我们需要将automated_install脚本设置为可执行文件,以便将其安装在树莓派上。为此,请运行;
Sudo chmod+x automated_install.h
之后,我们使用以下命令运行安装;
./automated_install.h
这将在pi上安装Alexa语音服务。在安装过程中,会出现一些您必须提供答案的问题。
您还将被要求在问题中选择音频输出,确保选择 3.5 毫米音频插孔。
这可能需要一段时间,但之后,您将安装 Alexa 语音服务。
第 5 步:获取配套应用并启动 AVS 客户端:
在启动 AVS 之前,我们需要启动并运行配套应用。配套应用程序充当某种网关,允许我们的客户端和 AVS 服务器之间进行交互。
若要启动伴随,我们需要切换到 avs 示例应用目录并运行伴随服务。这可以通过运行以下命令来完成:
cd ~/alexa-avs-sample-app/samples/companionService && npm start
在配套服务运行时,我们需要启动 AVS 客户端,为此,我们打开一个新终端,而不关闭运行配套服务的终端。
在新终端上,通过运行调用 AVS 客户端;
cd ~/alexa-avs-sample-app/samples/javaclient && mvn exec:exec
运行该命令后,您应该会看到一个弹出窗口(如下所示),要求您对设备进行身份验证,复制链接并粘贴到 Web 浏览器中,或单击“是”按钮。
单击“是”后,在完成网页上的身份验证之前,不要单击将弹出的下一个对话框中的“确定”按钮。
Web 浏览器可能会引发一个标志并声明链接不安全,但会前进。该链接将引导您进入亚马逊开发人员帐户登录页面,登录后,您将被重定向到确认身份验证的页面(如下所示)。
您现在可以在我之前提到的对话框中单击确定。这样,Alexa就可以使用了,客户端对话框中的所有按钮现在都将启用,因此您可以单击以向 Alexa 发出命令并获得响应。
第 6 步:激活 Alexa 唤醒词:
我们将在本教程中介绍的最后一件事是激活感官 Alexa 唤醒词代理,您会同意我的观点,必须一直单击按钮才能与 Alexa 通信有点不酷。虽然存在不同的唤醒代理,但对于这个项目,我们将使用感官Alexa唤醒词代理。唤醒代理将在后台运行,等待我们提到唤醒词“alexa”,一旦它听到唤醒词,它就会指示我们的 Alexa 客户端开始侦听命令。
要在客户端仍处于打开状态的情况下安装唤醒字代理,请在新终端上运行以下命令:
cd ~/alexa-avs-sample-app/samples/wakeWordAgent/src && ./wakeWordAgent -e sensory
如果一切正常,您应该得到如下所示的响应。
有了这个,你应该能够通过说Alexa唤醒词来让Alexa听你说话。
全部0条评论
快来发表一下你的评论吧 !