手把手教你用树莓派搭建一个亚马逊Alexa智能音响

在树莓派上的免提Alexa

  • 由Amit Jotwani制作

  • 由Gagan Luthra发表

  • 发表在亚马逊Alexa,树莓派和声音

手把手教你用树莓派搭建一个亚马逊Alexa智能音响

关于这个项目

说明如何使用AVS,Node.js服务器,LWA和第三方唤醒引擎在Raspberry Pi上设置免提Alexa。

  • 语音控制

所需的硬件

在开始之前,让我们回顾一下你需要什么。

  • 树莓派3 (推荐)或Pi 2型号B (支持)

  • 用于Raspberry Pi的Micro-USB电源线

  • Micro SD卡(最少8 GB) – 您需要一个操作系统才能开始使用。NOOBS(新开箱即用的软件)是Raspberry Pi易于使用的操作系统安装管理器。获得NOOBS最简单的方法是购买预装NOOBS的SD卡- 树莓派8GB预装(NOOBS)Micro SD卡。或者,您可以下载并安装在您的SD卡上(按照说明在这里)。

  • USB 2.0迷你麦克风– Raspberry Pi没有内置麦克风;

    与Alexa交互,你需要一个外部插件

  • 带3.5mm音频电缆的外置扬声器

  • 一个USB键盘和鼠标,以及一个外部HDMI显示器– 如果您无法远程(SSH)进入您的Pi,我们还建议您使用USB键盘和鼠标以及HDMI监视器。

  • 互联网连接(以太网或WiFi)

  • (可选)适用于Pi 2的WiFi无线适配器(在Amazon上购买)。注意:Pi 3有内置的WiFi。

我们将向您介绍如何将远程(SSH)加入您的设备,无需使用显示器,键盘和鼠标 – 以及如何排除日志以进行故障排除。

让我们开始吧

Pi上的原始Alexa需要手动下载库/依赖关系,并更新一系列容易出现人为错误的配置文件。为了使这个过程更快,更容易,我们已经包含了一个安装脚本,该脚本将负责所有的繁重工作。这将安装时间缩短到Raspberry Pi 3上不到一个小时。

第1步:设置你的Pi

除非您已经在您的Pi上安装了Raspbian Jessie,请按照我们的指导 – 设置Raspberry Pi – 将引导您下载并安装Raspbian Jessie,并连接硬件(如果您不熟悉Raspberry Pi,我们强烈建议你按照上面的指导。

第2步:注册Amazon开发者帐户

除非你已经有了,否则请在developer.amazon.com上创建一个免费的开发者账户。您应该在这里查看AVS条款和协议

手把手教你用树莓派搭建一个亚马逊Alexa智能音响

第3步:创建设备和安全配置文件

按照这里的步骤注册您的产品并创建一个安全配置文件。记下下列参数。您将在下面的步骤5 中需要这些。

ProductID(也称为设备类型ID)

ClientID

ClientSecret

重要提示:请确保您的允许来源允许返回URL 在“ 安全配置文件”>“Web设置”设置(请参阅创建设备和安全配置文件):

手把手教你用树莓派搭建一个亚马逊Alexa智能音响

  • 允许的起源:https:// localhost:3000

  • 允许的返回URL:https:// localhost:3000 / authresponse

第4步:克隆示例应用程序

打开终端,输入以下内容:

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

第5步:使用您的凭证更新安装脚本

运行安装脚本之前,你需要与你在步骤3中得到了凭证更新脚本- ,ProductIDClientIDClientSecret终端中键入以下内容:

cd ~/Desktop/alexa-avs-sample-appnano automated_install.sh

手把手教你用树莓派搭建一个亚马逊Alexa智能音响

粘贴的价值观ProductIDClientID以及ClientSecret您从上述步骤3得到。变化应该是这样的:

ProductID="RaspberryPi3"

ClientID="amzn.xxxxx.xxxxxxxxx"

ClientSecret="4e8cb14xxxxxxxxxxxxxxxxxxxxxxxxxxxxx6b4f9"

键入ctrl-X 然后是Y ,然后按Enter将更改保存到文件。

第6步:运行安装脚本

您现在已准备好运行安装脚本。这将安装所有依赖项,包括Sensory和KITT.AI的两个唤醒字引擎。

注意:安装脚本会将所有项目文件安装在运行脚本的文件夹中。

要运行脚本,请打开终端并导航到克隆项目的文件夹。然后运行以下命令:

cd ~/Desktop/alexa-avs-sample-app. automated_install.sh

系统会提示您回答几个简单的问题。这些有助于确保您在继续之前完成了所有必要的先决条件。

手把手教你用树莓派搭建一个亚马逊Alexa智能音响

当巫师开始时,去拿一杯咖啡 – 大约需要30分钟。

第7步:运行您的Web服务,示例应用程序和唤醒字引擎

现在安装完成了,您需要在3个独立的终端窗口中运行三个命令:

  • 终端窗口1 :运行Web服务进行授权

  • 终端窗口2 :运行示例应用程序与AVS通信

终端窗口3 :运行唤醒词引擎,允许您使用短语“ ” 开始交互Alexa

注意:这些命令必须按顺序运行。

终端窗口1

打开一个新的终端窗口,然后输入以下命令来调出用于授权您的示例应用程序与AVS的Web服务:

cd ~/Desktop/alexa-avs-sample-app/samplescd companionService &

&

npm start

手把手教你用树莓派搭建一个亚马逊Alexa智能音响

服务器现在在端口3000上运行,并准备启动客户端。请参阅API概述>授权以了解有关授权的更多信息。

终端窗口2

打开一个新的终端窗口并输入以下命令以运行与AVS进行通信的示例应用程序:

cd ~/Desktop/alexa-avs-sample-app/samplescd javaclient &

&

mvn exec:exec

手把手教你用树莓派搭建一个亚马逊Alexa智能音响

请参阅API概述>接口以了解有关发送到/来自AVS的消息的更多信息。我们来看看与Window 2相关的几个步骤。

  • 运行客户端时,会弹出一个窗口,显示一条消息:请在Web浏览器中访问以下URL并按照以下说明注册设备:https:// localhost:3000 / provision / d340f629bd685deeff28a917。你想在默认浏览器中自动打开URL吗?

点击“是” 在默认浏览器中打开该URL。

  • 如果您使用Pixel桌面(并使用Chromium浏览器)运行Raspbian Jessie,则可能会从浏览器中收到警告。您可以通过点击高级 – >进入本地主机(不安全)来避开它。

  • 您将被带到亚马逊网页的登录页面。输入您的亚马逊凭证。

  • 您将被带到Dev授权页面,确认您希望设备访问之前创建的安全配置文件。

手把手教你用树莓派搭建一个亚马逊Alexa智能音响

点击确定

您现在将被重定向到一个以查询字符串开头的URL https://localhost:3000/authresponse
。网页的正文会说设备令牌准备就绪。

手把手教你用树莓派搭建一个亚马逊Alexa智能音响

  • 返回到Java应用程序,然后单击确定按钮。客户端现在已经准备好接受Alexa请求。

终端窗口3

注意:跳过此步骤即可运行相同的应用程序,而不需要唤醒字引擎。

该项目支持两个第三方唤醒词引擎:Sensory’s TrulyHandsFre
和KITT.AI’s Snowboy。该-e参数用于选择代理并支持{{engine } }kitt_ai
和的两个值sensory 。打开一个新的终端窗口并使用以下命令调出Sensory或KITT.AI的唤醒字引擎。唤醒词引擎将允许您使用短语“发起交互” Alexa”

要使用Sensory 唤醒词引擎,请输入:

cd ~/Desktop/alexa-avs-sample-app/samplescd wakeWordAgent/src &

&

./wakeWordAgent -e sensory

或者,输入这个使用KITT.AI 的唤醒词引擎:

cd ~/Desktop/alexa-avs-sample-app/samplescd wakeWordAgent/src &

&

./wakeWordAgent -e kitt_ai现在你有一个可用的免提AVS原型!使用以下资源来了解有关可用唤醒字引擎的更多信息:
  • 感觉的

  • KITT.AI

第8步:与Alexa交谈

您现在只需使用唤醒词“Alexa”即可与Alexa交谈。尝试以下操作:

  • 说“Alexa”,然后等待哔哔声。现在说“现在几点了?”

  • 说“Alexa”,然后等待哔哔声。现在说“西雅图的天气怎么样?”

如果您愿意,也可以单击“收听”按钮,而不是使用唤醒词。点击“收听”按钮,在开始说话之前等待音频提示。听到音频提示之前,可能需要一两秒钟的时间。

第9步:(可选):去头,摆脱显示器,键盘和鼠标

现在你已经有了你的AVS原型,你可能想摆脱显示器,键盘和鼠标。你可以使用SSH和VNC来做到这一点。按照说明设置SSH和VNC。

软件应用程序和在线服务本指南提供了在Raspberry Pi 上设置AVS的分步说明。它演示了如何使用我们的Java示例应用程序(在Raspberry Pi上运行), 服务器和第三方唤醒字引擎来访问和测试AVS Node.js。您将使用Node.js服务器通过使用Raspberry Pi的Web浏览器访问网站来获取使用Amazon(LWA)授权代码的登录。

原文始发于:手把手教你用树莓派搭建一个亚马逊Alexa智能音响

|

发表评论