0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

科技观察员 来源:circuitdigest 作者:伊曼纽尔·奥敦拉 2022-11-11 17:17 次阅读

亚马逊发布亚马逊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 毫米插孔发送声音输出。为此,请右键单击树莓派桌面任务栏上的声音(扬声器)按钮,然后选择模拟,如下图所示。

pYYBAGNuEx-ALRKPAABwZML8J00686.jpg

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

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

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

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

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

poYBAGNuEyCAf1n6AACQJRwnKVI848.jpg

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

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

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

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

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

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

poYBAGNuEyeAWK2_AACmNglneTE762.jpg

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

pYYBAGNuEymAVGmzAABNbsNynOI314.jpg

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

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

poYBAGNuEyuAJge-AAB83P4bGuk816.png

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

pYYBAGNuEyyASAoyAAAwD3LWfmg867.png

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

poYBAGNuEy6AMZjrAAAWX0ImA4U457.png

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

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

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

http://localhost:3000

https://localhost:3000

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

https://localhost:3000/authresponse

http://localhost:3000/authresponse

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

pYYBAGNuEy-Ab9wMAAA3-nMQXuM149.png

创建亚马逊开发人员帐户并获取所有必需的 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

poYBAGNuEzCAGdBTAAAf_SgHLdg461.png

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

sudo nano automated_install.h

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

poYBAGNuEzGAEhO-AAArVtx6Tvg403.png

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

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

Sudo chmod+x automated_install.h

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

./automated_install.h

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

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

pYYBAGNuEzKALJ4eAAAfGakQhjs053.png

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

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

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

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

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

poYBAGNuEzSAWSR2AABv_kIq1gw070.png

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

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

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

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

pYYBAGNuEzWACn2SAAAZmimf_Mw322.png

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

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

poYBAGNuEzaAFlSEAAAToZ7xkfQ237.png

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

pYYBAGNuEziAAHAkAAAiL3I6pxU923.png

第 6 步:激活 Alexa 唤醒词:

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

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

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

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

poYBAGNuEzmAVwEjAAAxPANOMus186.png

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

poYBAGNuEzyADEpzAADcKIdI7NA839.jpg

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

    关注

    116

    文章

    1699

    浏览量

    105527
  • Alexa
    +关注

    关注

    2

    文章

    196

    浏览量

    23284
收藏 人收藏

    评论

    相关推荐

    基于Amazon Echo 和 Raspberry Pi 的自动窗帘控制

    ”。步骤设计概述 本设计由以下几个部分组成:将电动窗帘轨道与Raspberry Pi集成编写Python脚本来打开和关闭窗帘编写
    发表于 08-23 16:04

    Raspberry Pi扩展板

    描述clumsyMIDI - 树莓派扩展板 Raspberry Pi 扩展板,包含 MI
    发表于 07-29 06:12

    使用Raspberry Pi构建Amazon Alexa扬声器的方法

    在本教程中,我将向您展示如何通过在 Raspberry Pi 4 上安装 Alexa 语音服务 (AVS)来构建您自己的DIY 版本的 Amazon Alexa 。
    发表于 07-25 17:37 1186次阅读
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>构建</b><b class='flag-5'>Amazon</b> Alexa扬声器的方法

    构建Raspberry Pi电机驱动器HAT的教程分享

    本教程中,我们将构建Raspberry Pi 电机驱动器 HAT来驱动直流和步进电机。此电机驱动器 HAT 包含
    发表于 08-05 16:20 1419次阅读
    <b class='flag-5'>构建</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>电机驱动器HAT的教程分享

    使用Raspberry Pi构建OpenCV人群计数装置

    在本教程中,我们将使用 Raspberry Pi 和 ThingSpeak 构建 OpenCV 人群计数。
    的头像 发表于 08-12 17:24 2925次阅读
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>构建</b><b class='flag-5'>一</b><b class='flag-5'>个</b>OpenCV人群计数装置

    构建基于Raspberry Pi的蓝牙扬声器

     在这篇文章中,我们将通过融合 A2DP、Linux 和音频编解码器的强大功能来构建基于 Raspberry Pi 的蓝牙扬声器,以将数据包从音频源无线传输到音频接收器。为此,我们将破解
    发表于 08-31 16:22 1982次阅读
    <b class='flag-5'>构建</b><b class='flag-5'>一</b><b class='flag-5'>个</b>基于<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>的蓝牙扬声器

    Raspberry Pi上安装Android的方法

    Raspberry Pi 中使用的流行操作系统是 Raspbian,它是基于 linux 的 Raspberry
    的头像 发表于 09-05 15:10 1.9w次阅读
    在<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>上安装Android的方法

    使用Raspberry Pi上的OpenCV库构建人脸识别系统

    在本教程中,我们将学习如何使用 Raspberry Pi 上的 OpenCV 库构建我们自己的人脸识别系统。将此系统安装在便携式 Raspberry
    发表于 09-07 15:48 1191次阅读
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>上的OpenCV库<b class='flag-5'>构建</b>人脸识别系统

    使用Raspberry Pi构建智能车库开门器

    在本教程中,我们将使用 Raspberry Pi 构建智能车库开门器。这里将创建
    的头像 发表于 09-07 15:54 2127次阅读
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>构建</b><b class='flag-5'>一</b><b class='flag-5'>个</b>智能车库开门器

    使用Raspberry Pi构建水位传感器

    电子发烧友网站提供《使用Raspberry Pi构建水位传感器.zip》资料免费下载
    发表于 10-28 16:08 0次下载
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>构建</b>水位传感器

    构建自己的Raspberry Pi ALPR停车系统

    电子发烧友网站提供《构建自己的Raspberry Pi ALPR停车系统.zip》资料免费下载
    发表于 11-08 11:14 0次下载
    <b class='flag-5'>构建</b>自己的<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> ALPR停车系统

    Raspberry Pi Zero便携终端的构建

    电子发烧友网站提供《Raspberry Pi Zero便携终端的构建.zip》资料免费下载
    发表于 01-05 10:43 0次下载
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Zero便携终端的<b class='flag-5'>构建</b>

    寻找实用的Raspberry Pi项目? 制作智能伞架!

    本教程将分步指导您如何制作智能伞架。这是我最喜欢的Raspberry Pi 项目之
    的头像 发表于 02-24 17:22 950次阅读
    寻找实用的<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>项目? 制作<b class='flag-5'>一</b><b class='flag-5'>个</b>智能伞架!

    Raspberry Pi构建复古风格终端

    电子发烧友网站提供《Raspberry Pi构建复古风格终端.zip》资料免费下载
    发表于 07-11 11:41 0次下载
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>构建</b>复古风格终端

    使用Raspberry Pi构建网络摄像头

    电子发烧友网站提供《使用Raspberry Pi构建网络摄像头.zip》资料免费下载
    发表于 07-12 11:30 0次下载
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>构建</b>网络摄像头