InTen

알렉사 스마트홈 서비스 개발하기 A To Z : 2편 본문

프로그래밍/그외

알렉사 스마트홈 서비스 개발하기 A To Z : 2편

인텐 2019. 7. 17. 17:19

이해가 안되신다면 이걸 보고 오시길 바랍니다.

https://inten.tistory.com/entry/%EC%95%8C%EB%A0%89%EC%82%AC-%EC%8A%A4%EB%A7%88%ED%8A%B8%ED%99%88-%EC%84%9C%EB%B9%84%EC%8A%A4-%EA%B0%9C%EB%B0%9C%ED%95%98%EA%B8%B0-A-To-Z-1%ED%8E%B8?category=665830

 

알렉사 스마트홈 서비스 개발하기 A To Z : 1편

오랜만에 글을 써보네요. 알렉사 스마트홈 서비스 개발에 대해서 한국어로 된 문서도 없고 버전도 너무 오래된 글들만 있어서 글을 쓰게 되었습니다. 제가 실제로 개발하면서 불편했던 점들과 잘 나와있지 않아서..

inten.tistory.com

전편에서는 개념과 전제조건에 대한 이야기를 했었습니다.

이번편에서는 알렉사 스킬을 만들어 보고 람다와 연결을 하는 것까지 해보겠습니다.

 

일단 알렉사 스킬을 만들어야 하니 저번 강의에서 가입해둔 아래의 사이트 URL에서 로그인을 해주세요.

https://developer.amazon.com/alexa/console/ask

Amazon Sign-In

 

www.amazon.com

로그인을 하시면 이런식으로 만든 스킬들이 보입니다.

저희는 빨간 네모 상자에 Create Skill을 선택합니다.

Skill name에 스킬명 적으신 후 아래의 버튼 중 스마트 홈을 클릭하시면 SELECTED 라는 태그가 생깁니다.

태그가 생기셨다면 Create skill을 해줍니다.

여기서 Default Language는 US로 해줍니다. 이유는 알렉사는 아직 한국어를 지원해주지 않고 다른 언어, 나라의 경우는 스마트 홈 서비스를 제대로 지원해주지 않습니다.

자세히 알고싶다면 https://developer.amazon.com/docs/smarthome/steps-to-build-a-smart-home-skill.html 를 읽어보세요.

스킬을 만드신 후에는 Copy to clipboard 클릭해 스킬 ID를 복사하고 잠시 람다로 넘어갈 것 입니다.

스킬 ID 복사

https://console.aws.amazon.com/lambda/home?region=us-east-1#/functions 이 URL로 넘어가주시면 되겠습니다.

 

https://console.aws.amazon.com/lambda/home?region=us-east-1#/functions

 

console.aws.amazon.com

전 포스팅에서도 말했지만 알렉사 개발 콘솔 쪽 계정과 aws 계정은 서로 별개 이므로 회원가입을 안하셨다면 하셔야합니다.

함수 생성 버튼을 클릭해주세요.

여기서 가장 중요한 점 지역은 버지니아 북부로 해주세요. 이유는 위에 말하고 URL을 올린거 처럼 미국이 아니면 지원해주는 나라가 아직 별로 있지 않습니다. 
글쓴이는 맨 처음 시도 시 오레곤으로 했다가 로그도 안뜨고 오류만 나서 많이 고생했습니다 버지니아 북부로 해주세요.

람다 함수 생성

런타임은 python 3.6으로 해주시고 이름은 하고 싶은 이름으로 해주세요.

권한은 함수를 생성한 후에 설정을 따로 하겠습니다. 함수 생성 눌러주세요.

페이지에서 트리거 추가를 눌러서 alexa smart home 을 추가해줍니다.

그 후에 ARN 에 복사 버튼을 누르고 메모장에 람다의 주소를 저장해둡니다.

저장해두는 이유는 알렉사 트리거 연결 후에 스킬 EndPoint에 람다의 ARN을 넣어줘야 하기 때문입니다.

애플리케이션 ID에 아까 복사한 알렉사 스킬 ID 복사해둔 것을 붙여넣고 추가를 클릭합니다.

아래의 사진과 같이 해주시면 됩니다.

그 후 메모장에 따로 저장해 두었던 람다의 ARN 주소를 Endpoint 주소에 적고 SAVE 버튼을 누르면 됩니다.

오류가 뜨지 않는다면 제대로 성공하신 겁니다.

이렇게 해주시면 람다와 Alexa Smart Home Service 가 연결 된 것입니다.

다음 포스트에는 람다에 소스 추가 OAUTH2 서버 연결에 대한 포스트 입니다.
람다에 Python3.6 Smart home service 코드를 올리고 그 코드에 대한 설명을 해드리겠습니다.

 

마무리 하기 전에 간단하게 OAUTH2 서버에 대해 이야기를 하자면

따로 서버를 가지고 있지 않더라도 구현을 할 수 있습니다.
아마존에서 지원해주는 LWA를 사용해서 충분히 만들 수 있습니다.

Comments