跳到主要内容

如何用树莓皮制作Alexa智能屏幕

Raspberry Pi Alexa智能屏幕项目
(图片来源:汤姆的硬件)

在本教程中,我们将在树莓4π基本上是“制作”我们自己的回声秀。我们会给这个项目起个绰号,“皮绍“除了我们在前一篇文章中讨论的Alexa语音服务(AVS)SDK之外,Amazon Alexa智能屏幕SDK也可以实现这个项目,如何用树莓派建立Alexa扬声器.

需要警惕的是PiShow

  • PiShow并不是要取代Echo Show。虽然这个版本包含了许多Echo Show功能,但包括播放视频在内的重要功能被有意排除在这个版本之外。
  • 这款智能屏幕版本的AlexaPi不包括唤醒语音的触发词“Alexa”。用户在和Alexa说话时,会按“A”键。
  • PiShow无法在VNC处于活动状态时启动。必须在Raspberry Pi上禁用VNC。
  • 音乐-用户可以在Pi触摸屏上暂停音乐。音乐功能与中描述的相同AlexaPi文章.
  • Alexa Skills在PiShow上可用,Alexa技能中的任何可视屏幕也在PiShow上可见。此外,Alexa技能还启用了触摸屏功能。
  • 如果你用a触摸屏,当Alexa讲话时,你点击屏幕,她将停止讲话。这与Echo节目中的行为相同。

为什么要建双鱼座?

在我们前文,我们解决了购买AlexaPi项目组件与Echo Dot的成本差异。在这篇文章中,我们充分披露了购买Echo Show比购买PiShow组件更便宜。

如果你已经拥有一个树莓圆周率和一个触摸屏,这可能是一个有趣的周末STEM项目。乐趣就在这里制作学习语音技术是如何在幕后工作的。

(图片来源:汤姆的硬件)

你需要什么

时机:计划至少3小时完成此项目。AVS设备SDK安装步骤大约需要2小时,具体取决于您的Pi模型和互联网速度。

先决条件:

在开始本教程之前,请完成我们上一篇文章中详细介绍的整个项目,如何用树莓派建立Alexa扬声器.

本教程的大部分内容基于终端命令。如果您不熟悉Raspberry Pi上的终端命令,我们强烈建议您25+Linux命令Raspberry Pi用户需要知道第一。

显示设置和安装

1.重要的是:按照上一篇文章中的详细说明完成AVS安装,如何用树莓派建立Alexa扬声器.

2.如果你的AlexaPi正在运行,请按Ctrl-C停止脚本。扬声器,麦克风和电源应该仍然连接。

3.附加屏幕:我为show版本添加了一个7英寸的树莓派触摸屏。但你也可以使用通过HDMI或GPIO接口连接的第三方触摸屏。您可以为as找到这样的屏幕23美元如果你使用非触摸屏,你就不能使用这些功能。

回视图:

(图片来源:汤姆的硬件)

4.打开一个终端。

5.我们将首先创建文件夹并安装PiShow所需的库和应用程序。

cd/home/pi mkdir sdk_文件夹cd sdk_文件夹mkdir sdk构建sdk源代码第三方sdk安装db sudo apt get-y安装\git gcc cmake构建基本libsqlite3 dev libcurl4 openssl dev libfaad dev\libssl dev libsoup2.4-dev libgcrypt20 dev libgstreamer-plugins-bad1.0-dev\gstreamer1.0-plugins-good libasound2 dev doxygen pip安装注释JSON

你的Pi可能已经有了注释JSON安装。

(图片来源:汤姆的硬件)

6.接下来,我们将安装PortAudio来记录麦克风数据。

cd第三方工作组-chttp://www.portaudio.com/archives/pa_stable_v190600_20161030.tgz tar zxf pa_stable_v190600_20161030.tgz cd portaudio./configure——不带插孔

(图片来源:汤姆的硬件)

7.在PortAudio文件夹中运行“make”。在Raspberry Pi 4上执行此命令大约需要1.5分钟。

使

(图片来源:汤姆的硬件)
cd $ HOME / sdk_folder sdk-source git克隆单个的分支,分支v1.21.0 git: / / github.com/alexa/avs-device-sdk.git cd $ HOME / sdk_folder sdk-build cmake $ HOME / sdk_folder / sdk-source / avs-device-sdk \ \ -DPORTAUDIO =上-DGSTREAMER_MEDIA_PLAYER = \ -DPORTAUDIO_LIB_PATH = $ HOME / sdk_folder /第三方/ portaudio / lib / lib / libportaudio。a \ -DPORTAUDIO_INCLUDE_DIR=$HOME/sdk_folder/third- third /portaudio/include \ -DCMAKE_BUILD_TYPE=DEBUG \ -DCMAKE_INSTALL_PREFIX=$HOME/sdk_folder/sdk-install \ -DRAPIDJSON_MEM_OPTIMIZATION=OFF make install

(图片来源:汤姆的硬件)

make安装完成后,屏幕上应该没有错误消息。

9复制配置。从AlexaPi项目(/home/pi/)到Install文件夹,生成AlexaClientSDKConfig. json文件。json文件。

cp~/config.json$HOME/sdk_folder/sdk source/avs device sdk/tools/Install cd$HOME/sdk_folder/sdk source/avs device sdk/tools/Install bash genConfig.sh config.json\您的设备序列号\$HOME/sdk_folder/db\$HOME/sdk_folder/avs device sdk\$HOME/sdk_folder/sdk build/Integration/alexclientsdkconfig.json\-DSDK\u CONFIG\u MANUFACTURER\u NAME=“MANUFACTURER NAME”\-DSDK\u CONFIG\u DEVICE\u DESCRIPTION=“DEVICE DESCRIPTION”

(图片来源:汤姆的硬件)

10.打开文件管理器并导航到/home/pi/sdk_文件夹/sdk build/Integration/folder。

(图片来源:汤姆的硬件)

11右击AlexaClientSDKConfig.json选择文本编辑器打开文件进行编辑。

12在第一组括号中添加gstreammediaplayer的信息。

“gstreamerMediaPlayer”:{“audioSink”:“alsasink”},

(图片来源:汤姆的硬件)

13保存您的文件.

14你也可以保存备份副本AlexaClientSDKConfig_backup.json

(图片来源:汤姆的硬件)

15关闭文本编辑器。

16创建或修改/.asoundrc文件。

CD sudo nano ~/.asoundrc

17将以下行添加到~/.asoundrc

pcm !默认{类型asym播放。PCM{类型插头从属。PCM "hw:0,0"}捕获。PCM{类型插头从属。PCM "hw:1,0"}}

(图片来源:汤姆的硬件)

18按Ctrl-X、Y和Enter键保存~/.asoundrc文件。

19测试你目前的进度。

cd $HOME/sdk_folder/sdk-build PA_ALSA_PLUGHW=1。json DEBUG9

20.与您在AlexaPi项目期间完成的身份验证类似,在终端中,向上滚动以查找代码,然后导航到http://amazon.com/us/code然后输入您的代码。

(图片来源:汤姆的硬件)

(图片来源:汤姆的硬件)

21.按继续您应该会在浏览器中看到一条成功消息。

(图片来源:汤姆的硬件)

22.回到你的终端机并向上滚动至搜索“授权”消息。

(图片来源:汤姆的硬件)

23这个AlexaPi的工作原理与最初的AlexaPi项目稍有不同,在与Alexa对话之前,您必须先键入't',然后键入Enter键。现在试试看。按“t”回车并说:“现在几点了?”

如果Alexa提供了时间,那么你已经成功安装了AVS设备SDK样本应用程序。恭喜!

24按Ctrl-C停止示例应用程序。

25.下一步,我们将下载并下载'让“APL核心库。此序列中的最后一个命令“make”大约需要15分钟才能完成。

cd$HOME/sdk_文件夹git克隆--单分支--分支v1.4.1git://github.com/alexa/apl-core-library.git cd$HOME/sdk_文件夹/apl核心库mkdir build cd build cmake。。制作

(图片来源:汤姆的硬件)

26安装Alexa Smart Screen SDK依赖项、Websocket++、AISO和Node.js

cd$HOME/sdk_文件夹/第三方wgethttps://github.com/zaphoyd/websocketpp/archive/0.8.1.tar.gz -O websocketpp-0.8.1.tar.gz tar-xvzf websocketpp-0.8.1.tar.gz cd$HOME/sdk_folder/third-party sudo apt get-y install libasio dev-无安装建议cd$HOME/sdk_folder/third-party curl-sLhttps://deb.nodesource.com/setup_13.x |sudo-E bash-sudo apt get安装-y节点

(图片来源:汤姆的硬件)

(图片来源:汤姆的硬件)

27下载并安装Alexa Smart Screen SDK。最后一步“制造”大约25分钟才能完成。

cd$HOME/sdk\u文件夹git克隆git://github.com/alexa/alexa-smart-screen-sdk.git mkdir ss build cd ss build cmake-DCMAKE_PREFIX_PATH=$HOME/sdk_folder/sdk install \-DWEBSOCKETPP_INCLUDE_DIR=$HOME/sdk_folder/third-party/websocketpp-0.8.1 \-addable_WEBSOCKET_SSL=ON \-dStreamer_MEDIA_PLAYER=ON \-DCMAKE_build \-TYPE=DEBUG \-DPORTAUDIO=ON-DPORTAUDIO\u LIB\u PATH=$HOME/sdk\u folder/third-party/portaudio/LIB/.libs/libportaudio.a \-DPORTAUDIO\u INCLUDE\u DIR=$HOME/sdk\u folder/third-party/portaudio/INCLUDE/\-DAPL\u CORE=ON \-DAPLCORE\u INCLUDE\u DIR=$HOME/sdk\u folder/apl核心库/aplcore/sdk\u文件夹/apl核心库/build/aplcore\DAPLCORE\u INCLUDE\udk_文件夹/apl核心库/build/rapidjson前缀/src/rapidjson/include \-DYOGA_include_DIR=$HOME/sdk_文件夹/apl核心库/build/yoga前缀/src/yoga \-DYOGA_LIB_DIR=$HOME/sdk_文件夹/apl核心库/build/LIB \../alexa智能屏sdk make

(图片来源:汤姆的硬件)

(图片来源:汤姆的硬件)

接下来,我们可以测试PiShow应用程序。(如果您使用的是VNC,则需要停止并禁用VNC才能启动应用程序。)

跑皮绍

28打开文件管理器并导航到:/home/pi/sdk_文件夹/ss build/modules/GUI/index.html

(图片来源:汤姆的硬件)

29使用浏览器打开index.html通过双击index.html

(图片来源:汤姆的硬件)

30.回到你的终点站输入以下命令开始你的双鱼座。

cd$HOME/sdk_folder/ss build PA_ALSA_PLUGHW=1./modules/Alexa/SampleApp/src/SampleApp-C\$HOME/sdk_folder/sdk build/Integration/alexclientsdkconfig.json-C\$HOME/sdk_folder/Alexa智能屏sdk/modules/GUI/config/SmartScreenSDKConfig.json-L INFO

31您可能需要像在步骤22中那样验证PiShow示例应用程序。如果是,,向上滚动以在终端中找到您的代码,然后导航到http://amazon.com/us/code输入您的代码。

32.返回您的浏览器你应该会看到一条信息“按下并保持A然后发言”

(图片来源:汤姆的硬件)

33.试试看!快速提示:Chromium中的index.html必须是PiShow工作的活动窗口。按住“A”键,然后说:“告诉我天气。”。

恭喜你!你已经完成了你的表演!

(图片来源:汤姆的硬件)

始终使用相同的过程:将/home/pi/sdk_folder/ss build/modules/GUI/index.html作为活动窗口,按住“A”键和Alexa说话的时候。你不需要说“Alexa”这个词

在你的新双鱼身上试穿的东西

  • “播放音乐”-如果使用触摸屏,你可以通过点击屏幕上的暂停键来暂停音乐。
  • “给我讲个笑话。”
  • “开放的大天空”-天气应用与伟大的图形。
  • “地球看起来像什么?”
  • “使空间站”

要停止PiShow,请返回您的终端并按Ctrl-C。

(图片来源:汤姆的硬件)

如果你关闭或重启Pi,你就可以使用Terminal命令重新启动PiShow:

cd$HOME/sdk_folder/ss build PA_ALSA_PLUGHW=1./modules/Alexa/SampleApp/src/SampleApp-C\$HOME/sdk_folder/sdk build/Integration/alexclientsdkconfig.json-C\$HOME/sdk_folder/Alexa智能屏sdk/modules/GUI/config/SmartScreenSDKConfig.json-L INFO
3评论 论坛的评论
  • 4freedomssake
    我想把它当作一个“智能镜子”试试。可以用一个旧显示器和双向玻璃吗?
    回复
  • ZeeshanA
    我在帖子中看到,在任何命令进入屏幕之前,我们都需要按“A”。如何让它像我们的普通alexa SDK一样无头?它应该处于“始终聆听”模式,然后在页面上显示内容。我已经在智能镜像上制作了alexa SDK,并希望添加此功能
    其次,我对这篇文章感到困惑,你是在第一部分再次安装alexa sdk,还是我们直接跳到APL,依赖关系和之后?
    回复
  • PontusBC
    嗨,我能用这个在电视上显示Wyze摄像头吗?这通常只显示在Alexa现场。还是屏幕太大了?
    回复