- 所需组件:
- 步骤1:准备好Pi
- 步骤2:配置Pi的音响系统
- 步骤3:-设置您的Amazon开发人员帐户
- 步骤4:在Raspberry Pi上安装和配置Alexa语音服务
- 第5步:获取配套应用程序并启动AVS Client:
- 步骤6:激活Alexa唤醒字:
自亚马逊发布Amazon ECHO语音控制扬声器以来已经过去了将近两年,并且扬声器的受欢迎程度持续飙升,其原因可能与Alexa语音服务的惊人性能以及该平台开放至开发商促成了顶级电子制造商开发Alexa兼容设备,并催生了多家基于Alexa / amazon echo的技术初创公司。因此,在今天的文章中,我将向您展示如何构建自己的DIY版本的Amazon echo,以及如何在树莓派pi上设置Alexa语音服务。
无论您是工程师还是制造商,这都是一个机会,您可以熟悉定义亚马逊回声工作原理的基本原理,如果您决定构建基于Amazon Echo或Alexa语音服务的设备,这将非常方便。
所需组件:
构建此Raspberry pi亚马逊回声项目需要以下内容:
- 树莓派3或2
- WiFi加密狗(如果要使用树莓派2)
- 麦克风
- 输入扬声器(带3.5mm插孔)
- 5V,2A USB电源
- 以太网电缆
可选要求
- 监控
- 滑鼠与键盘
- HDMI电缆
由于计划用于此项目的USB麦克风花费的时间太长,因此我决定在PlayStation 3上使用连接到USB麦克风和耳机接口的耳机。如果无法像我一样买到USB麦克风,您可以将任何其他具有麦克风输出的设备(如大多数USB网络摄像头)使用。
本教程将基于Raspbian Stretch OS,因此,像往常一样继续进行操作,我将假定您熟悉使用Raspbian Stretch OS设置Raspberry Pi的知识,并且您知道如何使用腻子等终端软件通过SSH进入raspberry pi 。如果您对此有任何疑问,此网站上有大量的Raspberry Pi教程可以提供帮助。
由于本教程的性质,能够使用像监视器这样的可视显示器或使用VNC查看树莓派桌面非常重要。原因是将ID从Amazon网站复制到终端。
本教程将分步骤进行,以使其易于遵循和复制。
步骤1:准备好Pi
在安装操作系统之后启动任何Raspberry Pi项目之前,我喜欢在pi上运行更新以确保其上的所有内容都是最新的。
为此,请运行:
sudo apt-get更新 sudo apt-get升级
步骤2:配置Pi的音响系统
在此阶段,我建议您使用VNC连接显示器或连接到Raspberry Pi的桌面,以简化操作。
在Pi桌面启动并运行的情况下,将USB上的麦克风和扬声器连接到Raspberry Pi上的3.5mm音频插孔。我们需要重新配置树莓派以通过3.5mm插孔发送声音输出。为此,请在树莓派的桌面任务栏上右键单击声音(扬声器)按钮,然后选择模拟,如下图所示。
这将使Raspberry Pi通过3.5毫米插孔发送声音,而不是通过HDMI发送声音。
接下来,我们需要将Raspberry Pi配置为默认使用连接的USB麦克风。为此,我们需要编辑raspberry pi的高级linux声音体系结构的配置。
我们这样做:
须藤nano /usr/share/alsa/alsa.conf
编辑器打开,滚动到PCM卡的行,并将其从0更改为1,如下图所示。
保存配置并使用 ctrl + x 退出
步骤3:-设置您的Amazon开发人员帐户
下一步是我们创建一个Amazon开发人员帐户,以获取我们能够连接到Amazon Alexa语音服务所需的开发人员ID,证书和安全配置文件。
首先转到亚马逊的开发人员的网站并创建一个帐户,您可以单击此链接,单击登录将引导您该页面创建您的开发人员帐户。
完成后,请点击此链接到达开发人员的主页。我在浏览亚马逊网站时遇到一些问题,因此建议您点击此链接。
在主页上,单击下面突出显示的Alexa语音服务。
在下一页上,单击“ 创建产品” 按钮,在下图中突出显示;
如下所述填写产品表格。
产品名称:RPi Echo(此名称是个人喜好,您可以使用所需的任何名称) 产品ID:RPiEcho(您可以使用所需的任何名称作为产品ID)。 产品类型:选择启用了Alexa的设备 Companion App:选择否 产品类别:选择其他 产品描述:随心所欲 用户互动方式:选择免提 图像上传:上传任何描述性图像或跳过。 商业发行版:选择否 对于儿童:选择否
填写表格后,单击页面末尾的下一个按钮。在下一页上,将要求您选择一个安全配置文件,然后选择“ 创建新配置文件” 选项。
输入配置文件名称和适当的描述,然后单击下一步。
单击下一个按钮后,将生成安全配置文件ID,客户端ID和客户端密钥。请妥善保管这些细节,以备日后使用。
在单击完成按钮之前,我们需要为“允许的来源”和“允许的返回URL”添加路径。
在“允许的来源”中,添加以下链接:
- http://本地主机:3000
- https://本地主机:3000
在允许的返回网址中,添加以下链接:
- https:// localhost:3000 / authresponse
- http:// localhost:3000 / authresponse
添加了这些链接后,单击完成按钮,如下所示。
创建了Amazon开发人员帐户并获取了所有必需的ID之后,我们便继续在树莓派上安装Alexa语音服务。
步骤4:在Raspberry Pi上安装和配置Alexa语音服务
要在树莓派上安装Alexa语音服务,我们可以通过运行以下命令来克隆alexa git hub回购:
git clone https://github.com/alexa/alexa-avs-sample-app.git
复制仓库后,通过运行进入其目录;
cd alexa-avs-sample-app.git
在运行安装之前,我们需要配置Alexa语音服务。为此,我们编辑automatic_install.sh文件。
须藤纳米自动化_install.h
如下图所示,填写所需的产品ID,客户ID和客户机密信息。
使用ctrl + x保存并退出编辑器。
接下来,我们需要使 automatic_install 脚本成为可执行文件,以便将其安装在raspberry pi上。要进行此运行;
须藤chmod + x automation_install.h
之后,我们使用;运行安装。
./automated_install.h
这将在pi上安装Alexa语音服务。在安装过程中,将出现一些必须提供答案的问题。
您还将被要求在所有问题中选择音频输出,确保选择3.5mm音频插孔。
这可能需要一段时间,但是之后,您将安装Alexa语音服务。
第5步:获取配套应用程序并启动AVS Client:
在启动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进行通信并不酷。当存在不同的唤醒代理时,对于此项目,我们将使用Sensory Alexa唤醒词代理。唤醒代理将在后台运行,等待我们提及唤醒词 “ alex a”,一旦听到唤醒词,它将指示我们的Alexa客户端开始监听命令。
要在客户端仍处于启动状态的情况下安装唤醒词代理,请在新终端上运行以下命令:
cd〜/ alexa-avs-sample-app / samples / wakeWordAgent / src &&./wakeWordAgent -e sensory
如果一切正常,则应该得到以下响应。
有了这个,您应该能够通过说出alexa唤醒词来让Alexa听您讲话。
对于本教程的家伙来说就是这样,您还可以在DIY树莓派amazon echo上加载其他一些内容,如果时间允许,我将尝试在接下来的一些教程中介绍其中的大多数内容。试一下这个项目,让我知道进展如何。
另外,请检查我们其他类似的 Raspberry Pi项目:
- Raspberry Pi上的Plex Media Server
- Raspberry Pi打印服务器
- 如何在Raspberry Pi 3上安装Kodi
- 具有运动捕捉功能的Raspberry Pi监控摄像机