안녕하세요, 오늘은 알렉사 스킬 개발 방법에 대해 말씀드리겠습니다.

차례대로 따라하시면 됩니다.^^

 

아래와 같은 스킬을 만들어 볼건데요.

 

 


 

 


 

 


스킬 정보를 입력합니다. Invocation Name은 Alexa에서 Skill을 오픈할 때 사용합니다. Currency라면 "Alexa, Open Currency Skill"이 되겠죠.

 

 

이제 Interaction Model을 만듭니다.

1) Intent Schema입니다:

 

interaction model.txt

 


2) Custom Slot Types입니다:

 

Custom Slot Types으로 베트남 dong, 일본 yen, 유럽 euro, 영국 pound, 중국 yuan 등을 지정하였습니다.


 

3) Sample Utterances 입니다:

 

GetCurrencyIntent dollar to {targetCurrency} currency
GetCurrencyIntent get dollar to {targetCurrency} currency
GetCurrencyIntent send me dollar to {targetCurrency} currency for today
GetCurrencyIntent get today's currency for dollar to {targetCurrency} currency
GetCurrencyIntent send me dollar to {targetCurrency} currency
GetCurrencyIntent give me dollar to {targetCurrency} currency

 

sample utterances.txt


 

 


 

 

위에서 지정한 GetCurrencyIntent를 invoke 하기 위한 발화를 지정합니다. 여기까지 하셨으면 Alexa Skill Kit에서 할 일은 거의 끝났습니다.

 

다음으로 Lambda Function 생성 을 시작해야 하는데요.

Node.js나 Python 중에 편하신 걸로 하시면 됩니다!!

여기에서는 Node.js로 하겠습니다.

 

1) Lambda 함수 생성에서 alexa-skill-kit-sdk-factskill 선택

 


 

2) 원하는 Name을 지정하고, Lambda_basic_execution을 선택 후 Create 버튼 클릭

 


3) ARN을 Copy해서 메모장에 Paste 해놓습니다.

 


 

 


 

 


4) Trigger로 Alexa Skills kit을 선택

 

ARN을 Copy 해놓습니다.

 

 


이제 Intent에 따라 Trigger될 Function을 작성하여 업로드해야겠죠?

 

로컬에서 Node.js Code를 작성합니다.

코드는 첨부파일을 참고 바랍니다. 메일을 보내는 서버도 만드셔야 하는데 다음 포스팅에 같이 올리겠습니다. 소스 상에서는 메일 서버 주소를 http://아이피:포트/ 로 표시하였습니다(Lambda에 바로 하는 방법도 있습니다^^;).

src_final.zip



Alexa developer에서 skill을 위한 intent가 정의되어 있을 경우 호출됩니다.

intentName이 GetCurrencyIntent일 경우 handling 함수를 호출합니다.

 

Intent handling 함수 작성

E-mail 서버로 http post request =>

제목 및 사용자가 선택한 요청국 통화를 parameter로 전달합니다.

 

 


 

이제 코드를 다 작성했으니 index.js 실행에 필요한 모듈을 설치합니다!!

- 로컬에 node.js를 설치합니다.
- 위에서 작성한 index.js가 설치되어 있는 Path로 이동합니다.
- http request에 필요한‘request’ 모듈을 설치합니다.

 

 

node_modules 생성 확인 및 zip 파일로 압축


 

 

 

 

 

Zip 파일 업로드

 

 


 

 

Zip 파일 Upload가 끝났으면 이제 테스트를 진행합니다:

 

Alexa Skills Kit Endpoint 설정(앞에서 Copy했던 ARN을 붙여넣습니다.)

 

 

마지막으로 Alexa Skill 테스트를 진행합니다.

 

 

 

Sample Utterances를 참고하여 예상 발화를 입력해보고 결과가 정상적으로 오는지 확인하면 끝...

 

Amazon 디바이스가 있으시면 그걸로 테스트 하셔도 되고 아니면, 아래 사이트로 접속하셔서 테스트를 진행하시면 됩니다.

https://echosim.io/welcome?next=%2F

 

이상으로 알렉사 스킬 개발 관련 포스팅을 마치겠습니다.

감사합니다.^^



 


 

 

+ Recent posts