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

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

3天内不再提示

GoogleAssistant的有趣功能

454398 来源:工程师吴畏 2019-08-07 09:35 次阅读

背景:

Google发布了他们的AIY项目套件,最初没有多少人可以访问它。我开始修改Google Assistant SDK时添加类似AIY的功能。每个项目都需要一个名称,因此我将其命名为GassistPi( G oogle Assist ant Pi )。到目前为止,该项目已快速转发,其中包含了许多有趣的功能,并拥有自己的社区。

那么你可以用这个项目做什么:

没有IFTTT,API.AI的GPIO语音控制,动作SDK。

没有IFTTT和MQTT的NodeMCU的语音控制。

流互联网广播电台。

连接到RPi的伺服语音控制。

安全关闭RPi。

从YouTube流媒体音乐。

跟踪地块。

RSS源。

控制Kodi。

从Google Play音乐中流式传输音乐。

将YouTube视频投射到Chromecast

控制Chromecast。

控制Sonoff Tasmota设备/模拟Wemo

全部通过语音命令。

步骤1:入门

下载Raspbian桌面图像的最新项目并将其刻录到SD卡上。

连接外围设备,如麦克风,扬声器,键盘,鼠标,显示器,然后启动Pi 。

打开终端并执行以下步骤

步骤2:安装音频配置文件

1。更新操作系统和内核

sudo apt-get update

sudo apt-get install raspberrypi-kernel

2。重启Pi

3。根据您的设置选择音频配置。 speaker-test命令用于初始化alsa,所以请不要跳过它。 AIY-HAT和CUSTOM-HAT用户,请在提到的地方重启Pi,否则会导致音频和任务栏问题。

3.1。 USB DAC或USB声卡用户,

sudo chmod +x /home/pi/GassistPi/audio-drivers/USB-DAC/scripts/install-usb-dac.sh

sudo /home/pi/GassistPi/audio-drivers/USB-DAC/scripts/install-usb-dac.sh

speaker-test

3.2。 AIY-HAT用户,

sudo chmod +x /home/pi/GassistPi/audio-drivers/AIY-HAT/scripts/configure-driver.sh

sudo /home/pi/GassistPi/audio-drivers/AIY-HAT/scripts/configure-driver.sh

sudo reboot

sudo chmod +x /home/pi/GassistPi/audio-drivers/AIY-HAT/scripts/install-alsa-config.sh

sudo /home/pi/GassistPi/audio-drivers/AIY-HAT/scripts/install-alsa-config.sh

speaker-test

3.3。 USB MIC和HDMI用户,

sudo chmod +x /home/pi/GassistPi/audio-drivers/USB-MIC-HDMI/scripts/install-usb-mic-hdmi.sh

sudo /home/pi/GassistPi/audio-drivers/USB-MIC-HDMI/scripts/install-usb-mic-hdmi.sh

speaker-test

3.4。 USB MIC和AUDIO JACK用户,

sudo chmod +x /home/pi/GassistPi/audio-drivers/USB-MIC-JACK/scripts/usb-mic-onboard-jack.sh

sudo /home/pi/GassistPi/audio-drivers/USB-MIC-JACK/scripts/usb-mic-onboard-jack.sh

speaker-test

3.5。 CUSTOM VOICE HAT用户,

sudo chmod +x /home/pi/GassistPi/audio-drivers/CUSTOM-VOICE-HAT/scripts/install-i2s.sh

sudo /home/pi/GassistPi/audio-drivers/CUSTOM-VOICE-HAT/scripts/install-i2s.sh

sudo reboot

sudo chmod +x /home/pi/GassistPi/audio-drivers/CUSTOM-VOICE-HAT/scripts/custom-voice-hat.sh

sudo /home/pi/GassistPi/audio-drivers/CUSTOM-VOICE-HAT/scripts/custom-voice-hat.sh

speaker-test

使用HDMI/板载插孔,确保强制音频

sudo raspi-config

选择高级选项,然后音频并选择强制音频

那些使用任何其他DAC或HAT按照制造商的指南安装卡,然后您可以尝试使用USB-DAC配置文件后更改硬件ID

4。重启Pi

5。使用以下命令检查扬声器

speaker-test -t wav

步骤3:CONTINUE SETTING UP AUDIO

1。下载凭证---》 .json文件

2.将.json文件放入/home/pi目录不要重命名

3.使用单行安装程序安装Google智能助理。

4.1使安装程序可执行

sudo chmod +x 。/GassistPi/scripts/gassist-installer.sh

4.2执行安装程序

sudo 。/GassistPi/scripts/gassist-installer.sh

5.从终端复制google助理验证链接并使用您的Google帐户进行授权

6。将授权码从浏览器复制到终端,然后按enter键

7.验证成功后,Google Assistant演示测试将自动启动。开始时,音量可能较低,助手音量独立于Pi音量,所以使用“音量调高”命令增加音量。

8.验证助手的工作后,关闭并退出终端

步骤4:BOOT SERVICE SETUP上的HEADLESS AUTOSTART

1。打开/home/pi/GassistPi/systemd/目录中的服务文件,并在指定的位置添加项目和模型ID并保存文件。

2。使服务安装程序可执行

sudo chmod +x /home/pi/GassistPi/scripts/service-installer.sh

3。运行服务安装程序

sudo /home/pi/GassistPi/scripts/service-installer.sh

4。启用服务

sudo systemctl enable gassistpi.service

5。启动服务

sudo systemctl start gassistpi.service

步骤5:GPIO,SERVO和Pi关闭的语音控制

默认的GPIO和关闭触发字是* *触发**。它应该用于控制GPIO,伺服和Pi的安全关闭。

故意包含它以防止由于误报命令引起的控制动作。如果您想更改触发字,可以用您想要的触发字替换main.py和assistant.py代码中的‘** trigger **’。

伺服电机的默认关键字是的伺服即可。例如,命令触发伺服90 将使伺服旋转90度。

如果您想更改关键字,可以将action.py脚本中的‘servo’替换为所需的电机关键字。

为了安全关闭pi,命令是:触发关闭

您可以在actions.py脚本中定义自己的自定义操作。

步骤6:语音控制NodeMCU

有两种方法可以控制NodeMCU:

控制运行网络服务器的NodeMCU。

控制运行Sonoff-Tasmota的NodeMCU固件。

控制运行网络服务器的NodeMCU:

添加wifi凭据,进行所需的更改并将Arduino代码上传到NodeMCU并从串行监视器获取IP地址。在actions.py文件中添加NodeMCU的IP地址。

语法:“嗨谷歌,触发器打开/关闭Devicename”

控制运行Sonoff-Tasmota固件的NodeMCU:

Pi3和Pi Zero用户分别在main.py脚本和pushbutton.py脚本中的标记位置分配设备名称和设备IP地址。

语法:“嗨谷歌,打开/关闭Devicename”

使用Sonoff-Tasmota优于网络服务器的优点是,使用Sonoff-Tasmota,您可以除了GassistPi之外,还使用Amazon Alexa(回声设备)模拟Wemo切换并控制NodeMCU。

步骤7:将YouTube VDIEOS转换为Chromecast并控制Chromecast

首先,在actions.py脚本中的指定位置添加Chromecast的IP地址。

投放YouTube视频的默认命令为播放所需视频在Chromecast上, Chromecast 作为触发词。

示例:嗨谷歌,在Chromecast上播放MasterChef第1季第1集投下MasterChef YouTube视频。

注意:使用第三方脚本投放到Chromecast的YouTube已被屏蔽,因此我采用了一种迂回的方法,因此您可能无法在Chromecast上找到常用的YouTube界面。

以下是使用 Chromecast 作为触发词来控制Chromecast的默认命令。暂停:

嘿谷歌,暂停Chromecast

恢复:

嗨谷歌,恢复Chromecast

停止:

嘿谷歌,结束Chromecast

向上/向下更改音量:

嗨谷歌,Chromecast音量增大/减小

第8步:YOUTUBE的音乐流

这利用了YouTube Data API v3。

添加YouTube API和生成API密钥

1。转到Google云端控制台上的项目页面 - 》

2。从列表中选择您的项目。

3。在左上角,单击汉堡图标或三条水平堆叠线。

4。将鼠标指针移到“API和服务”上,然后选择“凭据”。

5。单击创建凭据并选择API密钥,然后选择关闭。记下创建的API密钥,并将其输入到指定位置的actions.py脚本中。

6。 “从API和服务”选项中选择库,然后在搜索栏中输入youtube,选择“YouTube Data API v3”API并单击“启用”。

7。在API窗口中,单击“所有API凭据”,然后在下拉列表中确保对刚刚生成的API密钥进行勾选(复选标记)。

播放音乐的默认关键字没有自动播放的YouTube是Stream 。

例如, Stream I get you 命令将从YouTube获取Bebe Rexha的“我有你”。

从使用自动播放的YouTube播放音乐的默认关键字是自动播放和流。

例如,自动播放和流我得到你命令将播放请求的“我有你”,并且在曲目结束后将自动播放后续曲目。自动播放曲目的数量限制为最多10个。可以在actions.py脚本中的YouTube_Autoplay功能下进行更改。

步骤9:从Google音乐中播放音乐

来自Google音乐的音乐使用[Gmusicapi]。

输入行中的actions.py文件中的Google用户ID和密码

logged_in = api.login(‘YOUR_GMAIL_ID’, ‘YOUR_GMAIL_PASSWORD’, Mobileclient.FROM_MAC_ADDRESS)

如果您使用的是两步身份验证或双因素身份验证,请生成并使用应用专用密码。

您可以做的事情:

播放使用以下语法循环播放所有歌曲:

“嗨谷歌,播放来自Google音乐的所有歌曲”

播放添加到用户创建的播放列表中的歌曲(不包括:大多数播放的播放列表,thumsup播放列表等)使用语法:

“嘿谷歌,播放第一版的歌曲yogle in Google Music“

播放列表按创建日期排序,如果您有多个播放列表,请使用类似的语法替换第一个,第二个,第三个等。此外,您需要在main.py中进行适当的更改(已在脚本中对其进行评论以提供帮助)

使用以下语法播放特定艺术家的歌曲:

“Hey Google,播放来自Google音乐的艺术家YOUR_ARTIST_NAME的歌曲”

使用以下语法播放特定相册中的歌曲:

“嗨谷歌,播放来自Google音乐专辑YOUR_ALBUM_NAME的歌曲”

目前你不能做的事情:(某些功能可能会在以后添加):

更改曲目

随机曲目

重复曲目

步骤10:控制KODI

添加YouTube API并生成API密钥

按照“YOUTUBE中的音乐流”步骤中列出的步骤添加API密钥

在Kodi上启用HTTP控制

默认情况下,Web服务器处于禁用状态,必须由用户手动启用。

1。这可以在设置→服务→控制→允许通过HTTP进行远程控制中完成。

2。将端口号设置为8080,将用户名设置为kodi,将密码设置为kodi(用户名和密码应为小写)。

在Kodi上添加YouTube插件

让Kodi播放YouTube视频,您需要在Kodi上添加并启用YouTube插件。

用于Kodi控制的命令Sytanxes

请注意,所有命令中都应使用“on Kodi”。

步骤11:PARCEL跟踪,RSS FEAY播放和无线电流

PARCEL跟踪

跟踪包裹的默认关键字是parcel 。

例如,您可以说我的包裹在哪里或跟踪我的包裹。

生成的API编号应添加到指定位置的actions.py脚本中。为了更好地理解,请按照随附的YouTube视频进行操作。

RSS FEEDS PLAYBACK

播放RSS源的默认关键字是Feed或新闻或报价。使用示例,顶级科技新闻将播放顶级技术新闻,顶级世界新闻将播放与不同节目相关的头条新闻,顶级体育新闻将播放顶级体育相关新闻,当天的报价将给出一些报价。

请勿将Play命令与YouTube中的音乐流媒体相关联。 actions.py文件中feed函数中的numfeeds变量是Feed限制。某些RSS源最多可包含60个项目,并且numfeeds变量限制要流式传输的项目数。默认值已设置为10,如果您愿意,可以更改。

RADIO STREAMING

流式广播的默认关键字将调整为。例如,调入Radio 2命令将打开actions.py文件中列出的相应无线电流。

已启用OK-Google和自定义热门词/唤醒词的无线电流。

第12步:添加原始的Google家庭式指标

根据电路板更改草图中的引脚编号并上传。

按照给出的电路图。

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

    关注

    25

    文章

    4620

    浏览量

    95205
  • Google Assistant

    关注

    0

    文章

    28

    浏览量

    3680
收藏 人收藏

    评论

    相关推荐

    全网最有趣的光模块科普,请告诉我牛不牛!

    相信很多通信人,都听说过光模块的大名。但对于各种光模块的种类、性能指标、命名方式却总是记不住,到处搜索,难以找全~所以今天文档君就为大家全方位“盘一盘”光模块,搞了超多有趣的例子,让你一次性记住
    的头像 发表于 06-24 08:04 138次阅读
    全网最<b class='flag-5'>有趣</b>的光模块科普,请告诉我牛不牛!

    探秘台灯革新:四键带数码管时钟显示功能台灯电子方案深度解析

    探索一款创新的台灯电子方案,它融合了四键操作和数码管时钟显示功能,使用DLT8SA20A芯片,确保了稳定性与可靠性。这款台灯不仅提供灵活的亮度调节(15%-85%)和无极调光功能,还能通过触摸按键
    的头像 发表于 03-13 21:10 179次阅读
    探秘台灯革新:四键带数码管时钟显示<b class='flag-5'>功能</b>台灯电子方案深度解析

    安科瑞多功能电力仪表设置仪表脉冲常数教程

    功能电力仪表
    jf_55193456
    发布于 :2024年02月02日 15:14:30

    Amazon Connect新增生成式AI功能

    Connect Contact Lens为客户互动添加了AI生成摘要功能,帮助管理人员评估和优化坐席表现; Amazon Connect中的Amazon Lex现已利用生成式AI,使构建有效且有趣的自助
    的头像 发表于 12-18 17:34 402次阅读

    他们都用Copilot做什么?让工作高效又有趣

    办公体验 扫描二维码,锁定直播间 点亮在看,给BUG点好看 原文标题:他们都用Copilot做什么?让工作高效又有趣 文章出处:【微信公众号:微软科技】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 12-01 08:10 230次阅读
    他们都用Copilot做什么?让工作高效又<b class='flag-5'>有趣</b>

    神秘又有趣的话题——芯片引脚顺序!

    亲爱的“芯”朋友,你们有没有发现,每颗芯片上都布满了密密麻麻的引脚,犹如一座迷宫,让人无从下手?今天,我们一起来揭开这个迷宫的神秘面纱,探索一下这个既神秘又有趣的话题——芯片引脚顺序!芯片,这个看似
    的头像 发表于 11-28 09:33 9176次阅读
    神秘又<b class='flag-5'>有趣</b>的话题——芯片引脚顺序!

    有趣的光耦振荡器

    有趣的光耦振荡器
    的头像 发表于 11-23 09:09 618次阅读
    <b class='flag-5'>有趣</b>的光耦振荡器

    一个有趣的线性光耦隔离放大电路该如何分析?

    前几天,有人询问我一个有趣的电路该如何分析。这是一个基于*HCNR201* 这款带有输入补偿的线性光耦的模拟隔离放大器。下面让我们来看一下这个放大器输入输出之间的线性关系是什么。
    的头像 发表于 11-02 10:51 967次阅读
    一个<b class='flag-5'>有趣</b>的线性光耦隔离放大电路该如何分析?

    分享芯片行业有趣的小知识

    随着拜登签署《芯片与科学家法案》,全球芯片争夺战进一步升温,我国芯片市场再次面临霸权主义的挑战。尽管困难重重,我们决不会停止在芯片领域的探索与发展,这彰显了芯片对国家的至关重要性。除了其重要性,芯片还有许多有趣的小知识,让我们一起来探索一下。
    的头像 发表于 09-11 15:38 678次阅读

    好玩有趣

    电源电路元器件电压Arduino电子diy
    学习电子知识
    发布于 :2023年08月30日 23:35:47

    三相功能电表ADL400/C带485通讯# 多功能电表

    功能电表安科瑞
    jf_31541594
    发布于 :2023年08月18日 15:24:53

    虹科便携式光谱仪:可视化的掌上光谱课堂

    虹科GoSpectro是一款功能强大的工具,由于其非常直观的应用程序和易用性,使光谱学变得有趣。它非常适合高中实验课,能够可视化光学和光谱学的基本概念,通过实践为学生提供学习光谱学的实用和有趣方法,是一款成本实惠的教育工具。
    的头像 发表于 08-14 09:31 366次阅读
    虹科便携式光谱仪:可视化的掌上光谱课堂

    分享一种有趣的OTA升级思路

    采用 LoRa 技术进行无线通讯,考虑到产品的实际需求,增加了产品的 OTA 固件升级的功能。因为 LoRa 通讯速度较慢,合理的减小 APP 区域固件的大小加快固件升级的速度变的尤为重要,于是就开启了优化调整 APP 区域固件大小之旅。
    发表于 07-28 15:51 701次阅读
    分享一种<b class='flag-5'>有趣</b>的OTA升级思路

    分享几个有趣的Linux命令

    Linux当中有很多比较有趣的命令,可以动手看看,很简单的。
    发表于 07-10 14:22 329次阅读
    分享几个<b class='flag-5'>有趣</b>的Linux命令