Miscellaneous

echosim 에서 Amazon Echo 음성인식 맛보기 1

[혜안] 2017. 10. 29. 23:28
728x90

echosim.io 에서 Amazon Echo 음성인식 맛보기

요즘 이러저러한 이유로 구글 API 를 이용한 음성인식은 접어두고 AWS를 공부 중이다.
그러던 중 흥미있는 사이트가 있어 올려본다.
이걸 라즈베리파이에 연결할 수 있을 지, 뭘 할지 등 아무것도 정해진 건 없다.

https://echosim.io/

이 사이트가 흥미로운 이유는,

Amazon 개발자 콘솔인 https://developer.amazon.com에서 개발한 Alexa Skill을 이 사이트에서 시험해 볼 수 있기 때문이다.
Echo와 같은 Alexa 디바이스 없이 말이다.
게다가 Skill을 Publish 하기도 전에 말이다.
게다가 기본적인 Alexa의 기능도 체험해 볼수있다.

Alexa Skill이 무엇인지는 아래 사이트에서…
https://aws.amazon.com/ko/blogs/korea/new-alexa-skills-kit-alexa-voice-service-alexa-fund/

잠깐 설명하자면, Echo와 같은 음성인식 스피커에서 사용할 수 있는 커스텀 기능이다. 예를 들면 Echo를 통해 음성명령으로 도미노 피자를 주문하는 것, Nest 온도조절계를 조절하는 것, 주식을 사고파는 것 등이 모두 개별의 Skill이고,
무엇이든 개발하여 Amazon Skills에 등록하면 나 뿐만 아니라, 다른 사용자들도 이를 활성화하여 사용할 수 있는 것이다.
이는 유료일 수도 있고 무료일 수도 있다.

어떤 Skill들이 있는지는 https://alexa.amazon.com 또는 amazon.com의 echo 카테고리에서 구경할 수 있다.

그러면 Alexa Skill 하나 만들어보자.

마침 매우 적절한 예제가 있어 약간의 수정만 하면 바로 만들어 볼 수 있다.

https://github.com/polo149278/alexa-workshop/wiki/%EC%8B%A4%EC%8A%B5-2.--Alexa-Skill-%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-AWS-%EC%9D%B8%ED%94%84%EB%9D%BC-%EA%B4%80%EB%A6%AC


“ 요약하자면,

무료 인스턴스를 만들고,

인스턴스를 제어할 Lambda Function과 Lambda를 실행할 권한을 생성한다.

그리고, Lambda Function을 호출할 Alexa Skills Kit을 만들어서 echosim.io 사이트를 통해 음성으로 인스턴스를 제어 할 계획이다.”

링크를 타고 들어가도 되고, 아래의 순서를 따라 만들어도 된다.

  1. 우선 AWS의 무료 인스턴스가 필요하다.
    https://aws.amazon.com 에 가입하고 프리티어로 무료 인스턴스를 생성한다.
    개인 계정 당 리눅스와 윈도우 인스턴스를 각각 한 개씩 1년간 무료로 생성하고 사용할 수 있다.
    생성된 인스턴스에 각각 window, Linux 로 이름을 붙인다. 아래와 같이…

  2. 인스턴스를 생성한 후에는, Lambda를 실행할 권한 생성을 위해 IAM 서비스를 선택한다.

  3. Roles를 선택하고 새로운 Role을 생성한다.

  4. AWS Service -> Lambda -> Permissions

  5. 권한을 선택하는 화면에서 아래 2개를 선택한다.

    • AmazonEC2FullAccess
    • CloudWatchLogsFullAccess
  6. Next를 클릭하고 Role name을 입력한다.

  7. Create Role을 클릭하면 목록에 생성된 Role이 보인다.

    권한생성은 완료되었고, Lambda를 생성하자.

  8. 서비스 -> Lambda 서비스를 선택하고, Region을 미국 동부(버지니아 북부) 로 선택한다.
    아직까지 Alexa Skills Kit을 사용가능한 Region은 버지니아 뿐이다. 물론 Lambda 서비스만 버지니아이고, 제어할 때에는 Seoul Region의 인스턴스도 가능하다.

  9. 함수 생성

  10. 새로 작성

  11. 이름을 입력하고, 기존 역할에서 IAM에 생성한 Role을 찾아서 선택한다.

  12. 함수 생성을 클릭하면 Function을 코딩할 수 있는 에디트 화면으로 이동한다.

  13. 에디트 화면에서 바로 코드를 넣어도 되고, zip파일로 코드를 삽입할 수도 있다. 일단 아래 소스를 열어 복사한 후 에디트 창에 붙여넣자.
    다운로드 : admin_job.js

  14. 스크롤을 내리면 실행 역할에 새로 생성한 IAM 역할이 선택되어 있다. 스크롤을 다시 올려 저장 및 테스트 버튼 옆에 이벤트 선택을 클릭하자.

    테스트 이벤트 구성 창이 뜨고, 이벤트 템플릿을 선택할 수 있다.
    작성한 코드가 발생할 이벤트를 선택하는 화면이다.

  15. 이벤트 템플릿을 열면 여러개의 이벤트가 보이고, 그 중 Alexa Start Session을 선택한다.

  16. 이벤트 이름을 임의로 지정하고 생성 버튼을 클릭하자.그리고 Function 화면에서 저장 및 테스트 버튼을 클릭하면 테스트 결과가 출력된다.

여기까지 일단 Lambda Function을 생성했다.

스압 관계로 아마존 개발자 사이트에서 Lambda Function과 Alexa를 연결하는 방법은 다음 포스트로…

728x90