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

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

3天内不再提示

如何使用homeassantant软件创建自定义技能以在树莓派上操作GPIO

454398 来源:网络整理 作者:网络整理 2019-12-11 16:06 次阅读

步骤1:设置Homeassistant .yaml文件

您需要转到文件的HTTP部分,而与password部分不同的是,并为homeassistant实例创建密码。

然后,您需要将alexa部分添加到您的homeassantant配置yaml文件中。检查我的其他Instructables来配置homeassistant以获取更多信息

在文件中,您需要拖放到文件底部并添加以下内容:

Alexa

Intents:

ActivateSceneIntent:

动作:

服务:scene.turn_on template:

entity_id:场景。{{Scene | replace(“”,“ _”)}}

语音:

类型:plaintext

文本:OK

现在,您需要设置Scene,以便可以打开和关闭内容。因此,在此文本输入之后,您将添加以下内容(这是我的示例,我将名称“ test”命名为您可以选择自己的名字)

场景:

-名称:Test_light_on

实体:

Switch.TestLED1:开

-名称:Test_light_off

实体:

Switch.TestLed1:关

现在,您将需要添加GPIO部分,以便可以选择要分配的GPIO引脚。要添加,将放置以下内容(这仍然是我的示例,您可以随时更改GPIO编号)

开关:

-平台:rpi_gpio

端口

11:TestLED1

添加这些行以保存.yaml文件并重新启动homeassistant。

步骤2:创建技能

您首先需要在Amazon中使用您的开发人员帐户。

登录后,您需要转到developer.amazon.com,选择alexa,然后选择alexa技能套件。

您现在将添加新技能。

现在填写您要命名的技能和调用名称。调用名称将是您要激活技能时要说的名称。

还请注意应用程序ID,因为稍后将需要它来设置lambda函数。

现在转到交互模型并输入以下内容:

{

“意图”:[

{

“意图”:“ ActivateSceneIntent”,

“广告位”:

{

”名称”:“场景”,

“类型”:“场景”

}

}

}

现在您将添加一个插槽。

添加插槽后,您将需要输入名称“ Scene”,并在homeassistant中输入在.yaml文件中指定的名称,但不能使用下划线字符“ _”,因为当名称为时,alexa将无法正确识别它们。

例如:

测试灯打开

测试灯关闭

添加后,您需要添加语音。这就是您向Alexa讲命令的方式。我选择了以下选项:

ActivateSceneIntent Activate {Scene}

这将允许您说出“ activate”命令,然后您可以从上方说出插槽的名称,例如“ Test light on”打开

请参考以下视频进行现场演示:

第3步:路由器设置

首先,您需要转发您的路由器。为此,您首先需要查看您是否具有静态IP。对于我们大多数人来说,我们都是通过DHCP从ISP获得IP地址的。因此,如果由于某种原因与ISP断开连接,此地址可能会更改。因此,您需要使用DDNS。我们有很多服务可以做到这一点,其中之一就是duckdns。我有一个华硕路由器,所以华硕有自己的服务。在您的WAN设置下,您将找到DDNS选项卡或类似名称。从您使用的任何ddns站点获取您的网址后,您都将其输入到路由器中,然后选择要使用的ddns服务,以便您的路由器将使用您的ISP IP地址更新该ddns服务器,以防万一由于任何原因而改变

一旦设置好,您将需要将家庭辅助端口8123转发到树莓派

为此,您需要进入路由器的端口转发设置,并将tcp/udp端口8123都转发到您的树莓派的IP地址。要从树莓派获取IP地址,只需从树莓派登录到终端,然后键入ifconfig。

请访问www.portforward.com,了解如何转发品牌路由器上的端口。

设置后,您就可以开始构建lambda函数了。

步骤4:Lambda函数设置

对于HTTPS设置,我使用了Amazon aws的lambda函数。因此,请转到console.aws.amazon.com并创建一个帐户。

创建aws帐户后,您将转到所有服务,然后在“计算机”部分下选择lambda

选择创建新的lambda函数。 br》您将在以下网址上找到的代码添加到lambda函数的代码部分:

https://community.home-assistant.io/t/aws-lambda-proxy-custom-alexa-skill -当您不拥有-https/5230

添加后,您将需要更改以下部分:

‘amzn1.ask.skill.xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx’更改为我们在第2步中讨论过的亚马逊开发人员技能的应用程序ID。

http://xxxxxxxx:8123/api/alexa?api_password = pas将需要更新为您的ddns网址和您创建的密码对于设置1中的homeassantant,在配置选项卡下,您需要确保运行时为node.js处理程序为index.handler并且角色将为现有角色。在现有角色下,我只是将其命名为mine lmabda_basic_execution。

为了说明起见,我将其标记为automatic home

将内存更改为128 MB,并将超时设置为0min 10sec

在触发条件下,它将需要具有alexa技能套件。

以下是有关如何设置所有内容的视频,供您参考:

步骤5:最终测试

您最终将需要进行全部测试。

责任编辑:wv

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

    关注

    67

    文章

    4354

    浏览量

    85788
  • GPIO
    +关注

    关注

    16

    文章

    1141

    浏览量

    50652
  • 树莓派
    +关注

    关注

    113

    文章

    1644

    浏览量

    104796
收藏 人收藏

    评论

    相关推荐

    HarmonyOS开发实例:【自定义Emitter】

    使用[Emitter]实现事件的订阅和发布,使用[自定义弹窗]设置广告信息。
    的头像 发表于 04-14 11:37 668次阅读
    HarmonyOS开发实例:【<b class='flag-5'>自定义</b>Emitter】

    使用BGM210L创建一个自定义PCB,是否可以与GPIO引脚共享调试引脚?

    你好 我想使用 BGM210L 创建一个自定义 PCB,并在此自定义 PCB 上实现调试接口(SWCLK、SWDIO 等)。 由于只有几个引脚可用,是否可以共享用于调试的引脚和用于GPIO
    发表于 01-16 08:12

    博途用户自定义库的使用

    博途官方提供了很多库,比如:基本函数库、通信库、安全库、驱动库等等,用户可以使用库中的函数/函数块来完成具体的控制任务。除了官方的库,我们也可以创建自己的库(用户自定义库)。比如,把项目
    的头像 发表于 12-25 10:08 317次阅读
    博途用户<b class='flag-5'>自定义</b>库的使用

    怎样为显示器创建自定义分辨率呢?

    您可以为大多数显示器创建自定义分辨率和刷新率。这可以解决可能不使用标准 Windows 分辨率的显示器,或更正可能导致显示器兼容性问题的无效显示器 EDID。
    的头像 发表于 11-16 09:41 1949次阅读
    怎样为显示器<b class='flag-5'>创建</b><b class='flag-5'>自定义</b>分辨率呢?

    Android端自定义铃声 MobPush对安卓端自定义铃声的教程

    如何为APP推送设置独特的通知铃声呢?本次带来的是MobPush对安卓端自定义铃声的教程,快来看看吧~
    的头像 发表于 10-21 15:34 823次阅读
    Android端<b class='flag-5'>自定义</b>铃声 MobPush对安卓端<b class='flag-5'>自定义</b>铃声的教程

    OpenHarmony自定义组件介绍

    一、创建自定义组件 ArkUI中,UI显示的内容均为组件,由框架直接提供的称为系统组件,由开发者定义的称为自定义组件。
    发表于 09-25 15:36

    Vivado设计套件用户指南:创建和打包自定义IP

    电子发烧友网站提供《Vivado设计套件用户指南:创建和打包自定义IP.pdf》资料免费下载
    发表于 09-13 14:54 0次下载
    Vivado设计套件用户指南:<b class='flag-5'>创建</b>和打包<b class='flag-5'>自定义</b>IP

    Vivado Design Suite用户指南:创建和打包自定义IP

    电子发烧友网站提供《Vivado Design Suite用户指南:创建和打包自定义IP.pdf》资料免费下载
    发表于 09-13 11:34 0次下载
    Vivado Design Suite用户指南:<b class='flag-5'>创建</b>和打包<b class='flag-5'>自定义</b>IP

    OpenHarmony应用开发之自定义弹窗

    本文转载自《OpenHarmony应用开发之自定义弹窗》,作者:zhushangyuan_ ​ 应用场景 应用的使用和开发中,弹窗是一个很常见的场景,自定义弹窗又因为极高的自由度得以广泛应用。本文
    发表于 09-06 14:40

    labview超快自定义控件制作和普通自定义控件制作

    labview超快自定义控件制作和普通自定义控件制作
    发表于 08-21 10:32 5次下载

    教程 2:添加特征-自定义配置文件创建

    教程 2:添加特征 - 自定义配置文件创建
    发表于 07-06 18:50 0次下载
    教程 2:添加特征-<b class='flag-5'>自定义</b>配置文件<b class='flag-5'>创建</b>

    教程 3:构建自定义配置文件

    教程 3:构建自定义配置文件
    发表于 07-06 18:49 0次下载
    教程 3:构建<b class='flag-5'>自定义</b>配置文件

    教程 2:自定义配置文件示例

    教程 2:自定义配置文件示例
    发表于 07-04 20:50 0次下载
    教程 2:<b class='flag-5'>自定义</b>配置文件示例

    创建自定义Kria KV260加速ML应用程序

    电子发烧友网站提供《创建自定义Kria KV260加速ML应用程序.zip》资料免费下载
    发表于 06-26 10:20 0次下载
    <b class='flag-5'>创建</b><b class='flag-5'>自定义</b>Kria KV260加速ML应用程序

    labview自定义控件

    labview自定义精美控件
    发表于 05-15 16:46 9次下载