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

    文章

    6123

    浏览量

    113352
  • Google Assistant

    关注

    0

    文章

    28

    浏览量

    3890
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    汽车抬头显示的智能化旅程

    愈发智能的抬头显示技术,让驾驶更安全、更有趣
    的头像 发表于 08-06 16:37 499次阅读
    汽车抬头显示的智能化旅程

    MQTT网关具备边缘计算功能吗?有什么功能

    现代MQTT网关通常具备边缘计算功能,尤其是为适应物联网(IoT)场景中低延迟、高可靠、带宽优化等需求而设计的新一代网关。传统MQTT网关的核心功能是协议转换(如将Modbus、ZigBee等设备
    的头像 发表于 07-15 15:01 579次阅读
    MQTT网关具备边缘计算<b class='flag-5'>功能</b>吗?有什么<b class='flag-5'>功能</b>?

    CYW43907使用AP功能时是否具有自适应功能

    我们想在我们的产品中使用这种芯片来获得 CE 注册证书,CE 需要自适应功能,但是我们在数据表和源包中找不到任何消息。functions 要执行如下: 启动时自动扫描并选择干扰较小的频道,遇到干扰
    发表于 07-09 08:21

    SDX75技术解析:高通X75路由器有多强?

    最近我在短视频平台刷到一台有趣的产品,搭载高通X75的路由器 。看介绍很猛,主打搭载高通SDX75平台,支持WiFi 7,还支持5G-A能插卡直接上网。 这种高端路由器在国内基本没有,我一开始是带着
    的头像 发表于 05-27 17:17 1892次阅读
    SDX75技术解析:高通X75路由器有多强?

    20个常见有趣的晶振问答,向你&amp;quot;晶&amp;quot;准表白

    华昕电子整理20个晶振使用过程最常见且很有趣的问题,并且一一解答。晶振应用常见问题1、晶振会爆炸吗?不会!晶振内部已抽真空并充氮气,没有易燃物。2、无源晶体有正负极吗?没有,不必担忧贴反。3、负载
    的头像 发表于 05-20 18:12 990次阅读
    20个常见<b class='flag-5'>有趣</b>的晶振问答,向你&amp;quot;晶&amp;quot;准表白

    90元打造小智AI腕表,语音交互超有趣

    项目,以及小智AI的官方仓库中的代码,感谢大佬们的付出。 小智官方GitHub:`https://github.com/78/xiaozhi-esp32 项目功能 软件功能上,与其它小智AI硬件没有太大
    发表于 04-16 14:26

    如何在APM32F407开发板上应用uC/OS-III实时操作系统

    最近我开始学习 uC/OS-III 实时操作系统,并着手将其移植到APM32F407 开发板上。在这个过程中,我遇到了许多有趣的挑战和发现,也感受到了操作系统带来的强大功能和灵活性。
    的头像 发表于 04-01 09:39 1256次阅读
    如何在APM32F407开发板上应用uC/OS-III实时操作系统

    智慧路灯的功能有哪些

    引言 在智慧城市建设的宏伟蓝图中,叁仟智慧路灯承载着提升城市照明智能化水平、实现多功能集成服务的使命,宛如城市发展的 “智慧触角”,以其多元功能深刻影响着城市生活的方方面面。然而,尽管叁仟智慧路灯
    的头像 发表于 03-24 16:21 683次阅读
    智慧路灯的<b class='flag-5'>功能</b>有哪些

    为什么蓝牙5.4很有趣

    它解决了之前蓝牙版本无法解决的一对多的场景。新应用: ESL – 电子货架标签 (service+profile)。不仅限于ESL: 它也是工业应用的理想选择 (比如:传感器读取网络),其他广泛的应用, 适用于AP网关 + 低功耗标签系统 它是灵活, 可扩展, 低功耗, 优雅, 相对简单 它适用于超低功耗应用场景 它能够运行在量产的nRF52 相对低延迟 可能方案一: 可能方案 (BT 5.0) 所有的tag都扫描(low noise), AP正在广播: AP携带它想要链接的扫描者的MAC地址,仅仅指定的tag能够跟A
    的头像 发表于 03-20 10:35 641次阅读
    为什么蓝牙5.4很<b class='flag-5'>有趣</b>?

    IGBT IPM的错误输出功能

    本文将介绍“保护功能和工作时序”系列的第五个功能——“错误输出功能(FO)”。
    的头像 发表于 03-19 17:22 1072次阅读
    IGBT IPM的错误输出<b class='flag-5'>功能</b>

    一文详解LC谐振电路

    今天,我们看一下电路中电感和电容一起出现时会发生什么有趣的事情。
    的头像 发表于 03-19 09:47 1.4w次阅读
    一文详解LC谐振电路

    SOLIDWORKS 2025 PDM新增功能

    随着SOLIDWORKS 2025的发布其PDM系统也迎来了一系列重要的新增功能。这些功能不仅进一步简化了产品数据管理流程,还显著提升了团队协作的效率和准确性。本文将详细解析SOLIDWORKS 2025 PDM的新增功能,以便
    的头像 发表于 01-22 13:48 692次阅读
    SOLIDWORKS 2025 PDM新增<b class='flag-5'>功能</b>

    新思科技LucidShape 2024.09新增功能

    LucidShape的最新版本2024.09带来了一系列新功能与增强功能,旨在解决光学开发者面临的最常见和最复杂的挑战。从微透镜阵列(MLA)的自动掩模计算,到高级分析功能的改进,LucidShape 2024.09致力于简化工
    的头像 发表于 01-21 09:16 966次阅读
    新思科技LucidShape 2024.09新增<b class='flag-5'>功能</b>

    示波器的触发功能(下)

    01触发位置水平触发位置控制功能只在数字示波器上提供。触发位置控制功能可能位于示波器水平控制区域。它实际上表示的是触发在波形记录中的位置。通过改变水平触发位置,可以捕获触发事件前的信号操作,这称为预
    的头像 发表于 12-12 11:43 1569次阅读
    示波器的触发<b class='flag-5'>功能</b>(下)