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

电子说

1.3w人已加入

描述

步骤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

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分