在本教程中,我们将在树莓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项目。乐趣就在这里制作和学习语音技术是如何在幕后工作的。
你需要什么
- 树莓皮3B+或覆盆子皮
- 16GB(或更大)microSD卡(请参阅最佳覆盆子Pi microSD卡),并重新安装树莓皮
- 电源/键盘/鼠标/显示器/HDMI线(适用于树莓派)
- USB麦克风
- 演讲者与3.5毫米或USB接口。我们只测试了一个3.5毫米扬声器,但USB也应该可以工作。
- HDMI监视器,7“树莓派触摸屏或3.5英寸或5英寸TFT屏幕-该项目使用触摸屏功能。
- 可选:迷你无线键盘-用于启动脚本并在安装后按住“A”键。
时机:计划至少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