电子说
步骤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的免费套餐,我担心这可能会花费我很多钱,但是使用一段时间后,在阅读论坛后,对于个人和开发用途的使用限制如此之高,它永远都无法达到收费标准。还有一种使用自己的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
全部0条评论
快来发表一下你的评论吧 !