步驟1:Alexa技能設(shè)置
The Alexas技能套件接受語音命令并使用“值”列表對其進(jìn)行過濾
一旦注冊:
在Amazon Developer Console中,選擇Alexa選項(xiàng)卡》 Alexa技能套件[入門]
[添加新技能]
技能類型:自定義互動模型
語言:選擇正確的答案,當(dāng)設(shè)置為英語(美國)時,它不會響應(yīng)!
名稱:這現(xiàn)在不重要,因?yàn)槲覀儾话l(fā)布。
調(diào)用名稱:選擇一個簡短的名稱,它是用來打開應(yīng)用程序的單詞。
[NEXT]
意圖架構(gòu),粘貼代碼
自定義廣告位類型 {添加廣告位類型],在廣告位值中輸入EFFECT_ON_TV
,粘貼代碼
樣本內(nèi)容,然后輸入TVCommandIntent tv {TVAction}
[SAVE],在下一個技能頁面上,當(dāng)應(yīng)用程序啟動詞“ clicker”或之后通過“ tv {slot value}”觸發(fā)“ Intent”時,我們必須添加要運(yùn)行的代碼的鏈接。
設(shè)置Lambda服務(wù)器python腳本后,我們將返回Alexa。
步驟2:AWS Lambda Server Python腳本
注冊AWS的免費(fèi)套餐,我擔(dān)心這可能會花費(fèi)我很多錢,但是使用一段時間后,在閱讀論壇后,對于個人和開發(fā)用途的使用限制如此之高,它永遠(yuǎn)都無法達(dá)到收費(fèi)標(biāo)準(zhǔn)。還有一種使用自己的HTTPS服務(wù)器的替代方法,也許這是esp8266可以做的,另一個可指導(dǎo)的!
這是在說出“調(diào)用名稱”(例如“ Alexa open clicker”)并從Alexa接收到魔語單詞時運(yùn)行的代碼。應(yīng)用啟動后,您只需要說“電視播放,電視跳五”,Alexa就會向該python腳本發(fā)送“播放”,“跳轉(zhuǎn)5”。如果一段時間后沒有響應(yīng),該應(yīng)用程序?qū)⒊瑫r。
在AWS Services中,首先選擇您的位置,在右上角有一個選項(xiàng)。
(對于美國),選擇N Virginia,對于歐盟,選擇愛爾蘭。
從“計(jì)算”標(biāo)題中選擇Lambda。
[創(chuàng)建Lambda函數(shù)]
[空白函數(shù)]
配置觸發(fā)器: :單擊虛線框,然后選擇Alexa Skills Kit
[NEXT]
配置功能
名稱任意
說明,由您決定
Runtine :Python 2.7
粘貼python代碼,
在代碼中,URL HTTP地址稍后需要更改為您自己的外部ip地址。
link =“ http://185.255.255.255:777/text?data=” + favorite_color
在屏幕下方是一個角色,請單擊選項(xiàng)卡上的選擇選擇自定義角色
這將打開一個新屏幕,然后單擊允許。它返回到配置功能屏幕,其中將Lamda基本執(zhí)行選擇為現(xiàn)有角色。
[NEXT]查看,單擊[創(chuàng)建功能],它將編譯并給您一個ARN編號。復(fù)制此代碼,我們會將其放入alexa技能套件中。
步驟3:
步驟4:將Alexa技能套件鏈接設(shè)置為AWS Lambda
在Alexa技能套件中,選擇“配置”頁面,然后選擇“全局字段”,然后選擇“ AWS Lambda”和您所在的區(qū)域,然后將ARN代碼粘貼到[NEXT]框中,以進(jìn)行測試,選擇啟用。
我們現(xiàn)在在這里完成了,現(xiàn)在已經(jīng)完成了一些硬件。
步驟5:Arduino NANO 3V3轉(zhuǎn)換
ESP8266從3v3運(yùn)行,因此您可以運(yùn)行它從外部調(diào)節(jié)器或轉(zhuǎn)換成納米。我使用了帶有CH340 usb芯片的克隆nano。我有兩種不同的PCB布局,但是希望可以涵蓋大多數(shù)布局。
我們需要用與引腳兼容的3v3 one 1117-3替換5V穩(wěn)壓器。然后將5V電壓從USB插座僅接到穩(wěn)壓器,然后將其他所有東西連接到其輸出。幸運(yùn)的是,可以通過移除輸入二極管來代替穩(wěn)壓器,并從二極管的輸入側(cè)向納米板上的Vin輸入一根導(dǎo)線。
檢查是否可以在轉(zhuǎn)換后對納米進(jìn)行編程。
步驟6:NANO代碼
此代碼用于我的SKY UK遙控器,可能是特定于模型,值得檢查您的代碼是否在未鏈接到esp8266的單獨(dú)草圖中工作。
我使用的是shirriff 2.0.1版的IRremote庫。
使用IRrecord示例來捕獲需要IR接收器模塊的遠(yuǎn)程命令,或者您可以在網(wǎng)上找到代碼?我不在這里討論,但是您可以在這里選擇要控制的內(nèi)容和方式。
連接易趣上可用的紅外發(fā)射器或構(gòu)建一個紅外發(fā)射器。您應(yīng)該使用850nm紅外燈,因?yàn)樗鼈兪墙邮掌髦凶畛R姷摹?IR庫使用D3作為TX引腳
alexa單詞被傳遞到nano,因此從這里開始它的nano具有語音控制。
步驟7:ESP8266
ESP8266模塊很多,我我用一個必須在顯微鏡下接線的電線,ESP8266-01有一個2x4接頭和所有需要的針腳,而且價格便宜。網(wǎng)絡(luò)上有大量示例,。我的跳閘,在編程時需要在加電期間將GPIO_0連接到gnd(然后可以懸空),其配置引腳在內(nèi)部拉高。編程后,讓GPIO_0浮動并重新上電。 CHPD永久連接到V +。
arduino 1.6.11中的板管理器沒有esp8622鏈接,在Arduino IDE中的
filespreferences》其他板管理器URL,添加:
http://arduino.esp8266.com/stable/package_esp8266c 。..
然后轉(zhuǎn)到板管理器并找到esp8266軟件包。現(xiàn)在應(yīng)該會為您提供esp8266主板的大列表,請選擇工具》主板》 ESP8266通用模塊。使用USB轉(zhuǎn)uart模塊,您現(xiàn)在可以使用esp8266_server_text對esp部分進(jìn)行編程。用3V3供電,連接TX-RX,RX-TX和Gnd。
您需要在腳本中輸入網(wǎng)絡(luò)SSID和密碼以及將為端口轉(zhuǎn)發(fā)設(shè)置的端口,例如777。
您可以通過為esp重新通電來運(yùn)行代碼在連接到USB至UART轉(zhuǎn)換器的同時,arduino串行窗口(9600波特)應(yīng)顯示esp模塊的本地ip地址。將其輸入代碼并重新編程。
步驟8:網(wǎng)絡(luò)設(shè)置
因此,允許Lambda URL調(diào)用連接到ESP HTTP服務(wù)器,我們需要將您的路由器設(shè)置為端口轉(zhuǎn)發(fā)。我從http://www.whatsmyip.org/獲得了外部ip地址,我處于微波鏈路上,因此我的提供商擁有路由器,因此我不得不要求他們轉(zhuǎn)發(fā)端口。我必須提供網(wǎng)絡(luò)上ESP8266的IP地址和所選擇的端口,例如777。需要將外部IP地址輸入到lambda python腳本中,當(dāng)您通過以下方式運(yùn)行esp8266代碼時,將顯示您的本地esp地址: usb到uart的鏈接。
從USB到uart的連接上的ESP模塊應(yīng)在終端上顯示來自lambda的傳入單詞。
將ESP連接到nano(如圖3v3所示),將gnd和TX連接到nano D2軟串行。如果您在USB上有USB上的nano到epc上的串行通訊顯示器,則應(yīng)該顯示從esp接收到的信息。
如果ESP未連接到網(wǎng)絡(luò)或未響應(yīng)來自lambda的URL調(diào)用,則lambda將超時并且Alexa報告失敗的技能響應(yīng)。
第9步:Alexa打開Clicker電視暫停
我將模塊放在接收器旁邊,但是具有更高功率的IR輸出,它可以放在房間的任何地方。我使用一個知名品牌的USB電源適配器通過USB供電。
坐下來,說“ Alexa open Clicker”
電視指南
電視
電視選擇
電視播放
電視跳轉(zhuǎn)五
以前進(jìn)一定的分鐘數(shù),宏將達(dá)到30倍等待在要求的時間內(nèi)播放。
英國的廣告大約需要5分鐘。
要退出該應(yīng)用,請說Alexa退出了。
責(zé)任編輯:wv
-
遙控器
+關(guān)注
關(guān)注
18文章
830瀏覽量
65986 -
ESP8266
+關(guān)注
關(guān)注
50文章
962瀏覽量
44851 -
Alexa
+關(guān)注
關(guān)注
2文章
196瀏覽量
23287
發(fā)布評論請先 登錄
相關(guān)推薦
評論