怎样用Alexa语音控制电视遥控器ESP8266

电子说

1.3w人已加入

描述

步骤1:Alexa技能设置

遥控器

The Alexas技能套件接受语音命令并使用“值”列表对其进行过滤

一旦注册:

在Amazon Developer Console中,选择Alexa选项卡》 Alexa技能套件[入门]

[添加新技能]

技能类型:自定义互动模型

语言:选择正确的答案,当设置为英语(美国)时,它不会响应!

名称:这现在不重要,因为我们不发布。

调用名称:选择一个简短的名称,它是用来打开应用程序的单词。

[NEXT]

意图架构,粘贴代码

自定义广告位类型 {添加广告位类型],在广告位值中输入EFFECT_ON_TV

,粘贴代码

样本内容,然后输入TVCommandIntent tv {TVAction}

[SAVE],在下一个技能页面上,当应用程序启动词“ clicker”或之后通过“ tv {slot value}”触发“ Intent”时,我们必须添加要运行的代码的链接。

设置Lambda服务器python脚本后,我们将返回Alexa。

步骤2:AWS Lambda Server Python脚本

注册AWS的免费套餐,我担心这可能会花费我很多钱,但是使用一段时间后,在阅读william hill官网 后,对于个人和开发用途的使用限制如此之高,它永远都无法达到收费标准。还有一种使用自己的HTTPS服务器的替代方法,也许这是esp8266可以做的,另一个可指导的!

这是在说出“调用名称”(例如“ Alexa open clicker”)并从Alexa接收到魔语单词时运行的代码。应用启动后,您只需要说“电视播放,电视跳五”,Alexa就会向该python脚本发送“播放”,“跳转5”。如果一段时间后没有响应,该应用程序将超时。

在AWS Services中,首先选择您的位置,在右上角有一个选项。

(对于美国),选择N Virginia,对于欧盟,选择爱尔兰。

从“计算”标题中选择Lambda。

[创建Lambda函数]

[空白函数]

配置触发器: :单击虚线框,然后选择Alexa Skills Kit

[NEXT]

配置功能

名称任意

说明,由您决定

Runtine :Python 2.7

粘贴python代码,

在代码中,URL HTTP地址稍后需要更改为您自己的外部ip地址。

link =“ http://185.255.255.255:777/text?data=” + favorite_color

在屏幕下方是一个角色,请单击选项卡上的选择选择自定义角色

这将打开一个新屏幕,然后单击允许。它返回到配置功能屏幕,其中将Lamda基本执行选择为现有角色。

[NEXT]查看,单击[创建功能],它将编译并给您一个ARN编号。复制此代码,我们会将其放入alexa技能套件中。

步骤3:

步骤4:将Alexa技能套件链接设置为AWS Lambda

在Alexa技能套件中,选择“配置”页面,然后选择“全局字段”,然后选择“ AWS Lambda”和您所在的区域,然后将ARN代码粘贴到[NEXT]框中,以进行测试,选择启用。

我们现在在这里完成了,现在已经完成了一些硬件。

步骤5:Arduino NANO 3V3转换

遥控器

ESP8266从3v3运行,因此您可以运行它从外部调节器或转换成纳米。我使用了带有CH340 usb芯片的克隆nano。我有两种不同的PCB布局,但是希望可以涵盖大多数布局。

我们需要用与引脚兼容的3v3 one 1117-3替换5V稳压器。然后将5V电压从USB插座仅接到稳压器,然后将其他所有东西连接到其输出。幸运的是,可以通过移除输入二极管来代替稳压器,并从二极管的输入侧向纳米板上的Vin输入一根导线。

检查是否可以在转换后对纳米进行编程。

步骤6:NANO代码

遥控器

此代码用于我的SKY UK遥控器,可能是特定于模型,值得检查您的代码是否在未链接到esp8266的单独草图中工作。

我使用的是shirriff 2.0.1版的IRremote库。

使用IRrecord示例来捕获需要IR接收器模块的远程命令,或者您可以在网上找到代码?我不在这里讨论,但是您可以在这里选择要控制的内容和方式。

连接易趣上可用的红外发射器或构建一个红外发射器。您应该使用850nm红外灯,因为它们是接收器中最常见的。 IR库使用D3作为TX引脚

alexa单词被传递到nano,因此从这里开始它的nano具有语音控制。

步骤7:ESP8266

遥控器

遥控器

ESP8266模块很多,我我用一个必须在显微镜下接线的电线,ESP8266-01有一个2x4接头和所有需要的针脚,而且价格便宜。网络上有大量示例,。我的跳闸,在编程时需要在加电期间将GPIO_0连接到gnd(然后可以悬空),其配置引脚在内部拉高。编程后,让GPIO_0浮动并重新上电。 CHPD永久连接到V +。

arduino 1.6.11中的板管理器没有esp8622链接,在Arduino IDE中的

filespreferences》其他板管理器URL,添加:

http://arduino.esp8266.com/stable/package_esp8266c 。..

然后转到板管理器并找到esp8266软件包。现在应该会为您提供esp8266主板的大列表,请选择工具》主板》 ESP8266通用模块。使用USB转uart模块,您现在可以使用esp8266_server_text对esp部分进行编程。用3V3供电,连接TX-RX,RX-TX和Gnd。

您需要在脚本中输入网络SSID和密码以及将为端口转发设置的端口,例如777。

您可以通过为esp重新通电来运行代码在连接到USB至UART转换器的同时,arduino串行窗口(9600波特)应显示esp模块的本地ip地址。将其输入代码并重新编程。

步骤8:网络设置

遥控器

因此,允许Lambda URL调用连接到ESP HTTP服务器,我们需要将您的路由器设置为端口转发。我从http://www.whatsmyip.org/获得了外部ip地址,我处于微波链路上,因此我的提供商拥有路由器,因此我不得不要求他们转发端口。我必须提供网络上ESP8266的IP地址和所选择的端口,例如777。需要将外部IP地址输入到lambda python脚本中,当您通过以下方式运行esp8266代码时,将显示您的本地esp地址: usb到uart的链接。

从USB到uart的连接上的ESP模块应在终端上显示来自lambda的传入单词。

将ESP连接到nano(如图3v3所示),将gnd和TX连接到nano D2软串行。如果您在USB上有USB上的nano到epc上的串行通讯显示器,则应该显示从esp接收到的信息。

如果ESP未连接到网络或未响应来自lambda的URL调用,则lambda将超时并且Alexa报告失败的技能响应。

第9步:Alexa打开Clicker电视暂停

我将模块放在接收器旁边,但是具有更高功率的IR输出,它可以放在房间的任何地方。我使用一个知名品牌的USB电源适配器通过USB供电。

坐下来,说“ Alexa open Clicker”

电视指南

电视

电视选择

电视播放

电视跳转五

以前进一定的分钟数,宏将达到30倍等待在要求的时间内播放。

英国的广告大约需要5分钟。

要退出该应用,请说Alexa退出了。

责任编辑:wv 

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

全部0条评论

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

×
20
完善资料,
赚取积分