Qualcomm Home Hub 100控制Alexa IoT 裝置創建手把手教學-後篇

前言:

繼上一篇 ” Qualcomm Home Hub 100控制Alexa IoT 置創建手把手教學-前篇介紹完創建AWS IoT coreAVS、創建Qualcomm Home Hub 100LWA(Login with Amazon)後,這一篇將繼續介紹如何創建與配置SkillLambda Function與實際測試,讓使用者能完成整個Alexa語音控制流程。

註:此篇有關LWA(Login with Amazon)資訊請參考” Qualcomm Home Hub 100控制Alexa IoT 裝置創建手把手教學-前篇

手把手教學:

  1. Create the skill(skill)

  1. 點擊網址 https://developer.amazon.com/login.html 並登錄。

點擊Alexa Skills KitàCreate Skill( 1920)

圖 19

 

圖 20

 

  1. 輸入Skill nameà選擇Smart Home Skill APIà點選Create skill(21)

圖 21

 

  1. 完成此步驟後保留此頁面資訊,完成Lambda設置後在步驟”Configure skill”還需回來輸入其他資訊。( 22)

圖 22

 

  1. Create the Lambda function

  1. 下載 https://github.com/alexa/alexa-smarthome 此網址內檔案。( 23)

    圖 23

  1. 複製alexa-smarthome-master.zip\alexa-smarthome-master\validation_schemas\ alexa_smart_home_message_schema.json至上一步下載檔案之/sample_lambda/python路徑中。

 

  1. 重新壓縮/sample_lambda/python路徑中所有檔案,這裡要注意python.zip檔案裡不能再包含一個python檔案夾,必須是lambda.py名稱等檔案。( 24)

    圖 24

  1. 進入https://console.aws.amazon.com/console/home à Services à Lambda( 25)

圖 25

 

 

  1. 點選Create Function ( 26)

    圖 26

  1. 點選Author from scratch” à填入Function name”(使用者自訂) à 點選” Runtime” 選擇python 3.6 à點選 Change default execution role” à點選” Create a new role with basic Lambda permissions” à點選”Create Function” ( 27)

 

圖 27

  1. 點選” ADD Triggers” à點選“Trigger configuration” à選擇”Alexa Smart Home” à填入” Application Id”,這裡Application Id是步驟”Create the skill”” Your Skill ID” (AVS頁面中“Your Skill ID”)à勾選” Enable trigger” à 點選”Add” ( 282930)

 

圖 28

 

圖 29

圖 30

  1. 點選”Action” à ”Upload a .zip file” à上傳” Create the Lambda function”步驟 c ”檔案。( 31)

圖 31

  1. 點選” Runtime settings” à “Edit” à更改”Handler”lambda.lambda_handlerà點選“Save” ( 32)

圖 32

  1. 記住”Lambda ARN”,之後在Configure skill時會用到。 ( 33)

圖 33

  1. 開始撰寫Lambda Function。此時會看到lambda.py檔案內已內建許多虛擬裝置範例,可供使用者進行參考修改。要控制實體裝置必須在Lambda Function中設定client位置、client.get_thing_shadowclient.publish等,這樣與AWS IoT core連接。在”Qualcomm Home Hub 100控制Alexa IoT裝置流程架構”Demo中智能鎖與燈即是利用此範例建立。 ( 343536)

圖 34

圖 35

圖 36

           i. 在這裡可以參考"Smart Home Skill APIs”來建置使用者獨一無二的Alexa體驗,可參考網址https://developer.amazon.com/en-US/docs/alexa/custom-skills/ask-soundlibrary.html。(圖 37)

圖 37

  1. Configure skill

  1. 回到 https://developer.amazon.com/home.html àAlexaà Alexa Skills Kità使用者創建之skill

 

  1. 填入Lambda ARN ” Default endpoint” à點選”Save” ( 38)

圖 38

  1. 點選”Account Linking”輸入以下對應資訊並記下:( 39)

Authorization URI = https://www.amazon.com/ap/oa à

Your Client ID = LWA Client IDà

Your Client Secret = LWA Client Secretà

Scope = profileà

Access Token URI=https://api.amazon.com/auth/o2/tokenà

Client Authentication Scheme = HTTP Basic

圖 39

  1. 複製Alexa Redirect URLs”網址à LWA “Web Setting” “Allowed Return URLs” à點選”Save” ( 4041)

圖 40

 

圖 41

  1. 執行範例

在執行範例前必須先確保使用者有與該帳戶連接的Alexa設備,在完成以下步驟後即可利用Qualcomm Home Hub 100 進行控制。

  1. 進入https://alexa.amazon.com 網頁。

  2. 點選”Skill” à“Your Skills ” à選擇自訂Skill,右下角會顯示”devUS” à點選”Enable” à登陸Amazon帳號à點選”DISCOVER DEVICES” (424344)

圖 42

 

圖 43

 

圖 44

  1. 點選”Smart Home” à “Device”,此時會看到許多裝置顯示在列表中。在此範例這些裝置是屬於虛擬裝置,透過Lambda規則中建立。( 45)

圖 45

此時就可以透過Qualcomm Home Hub 100利用Alexa控制其他支援Alexa裝置, 並可以進入https://console.aws.amazon.com/console/home à Services àCloudWatch看到裝置執行Log(4647)

圖 46

 

圖 47

  1. 結語

從電影《鋼鐵人》看到主角利用語音助理操控各種裝置、查詢各種資料,可以看出人類與電腦”溝通”一直是人類未來世界願景之一。透過上述一步步教學即可建立最基本利用Qualcomm Home Hub 100透過Alexa控制Alexa裝置,使用者可以依據不同的需求去建立屬於自己Lambda規則,讓Alexa更加活用。從建立最基本語音助理去學習裡面機制與流程,進而踏入語音助理世界第一步。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論