라즈베리 파이로 아마존 에코 만들기

많은 사람들이 오늘날 가정과 사무실에서 일상적인 작업을 돕기 위해 보조 소프트웨어를 사용하고 있습니다. 구매할 수 있는 다양한 모델이 있지만, 직접 만들 수 있다는 사실을 알고 계셨나요? 아마존 개발자는 라즈베리 파이를 사용하여 자신만의 아마존 에코를 만들기 위해 Alexa 소프트웨어를 사용할 수 있도록 허용합니다.

재료

이 프로젝트에 필요한 것:

  • 라즈베리 파이 3 또는 Pi 2 모델 B 및 마이크로 USB 전원 케이블
  • 마이크로 SD 카드 (최소 8GB) – 운영 체제가 설치되어 있지 않은 경우, NOOBS (New Out of the Box Software)라는 사용하기 쉬운 운영 체제가 있습니다. NOOBS를 얻는 가장 간단한 방법은 NOOBS가 미리 로드된 SD 카드를 구매하는 것입니다.
  • USB 2.0 미니 마이크
  • 외부 스피커 및 3.5mm 오디오 케이블
  • USB 키보드 및 마우스 및 외부 HDMI 모니터
  • 인터넷 연결 (이더넷 또는 WiFi)
  • Pi 2가 무선으로 인터넷에 연결하려면 WiFi 무선 어댑터가 필요합니다. Pi 3에는 내장 WiFi가 있습니다.

또한 읽어보세요: 아마존 에코를 개인화하기 위한 5가지 필수 팁과 요령

아마존 개발자 계정 등록

아마존 개발자 계정이 필요하다면, 그들의 페이지에서 무료로 생성하세요. AVS (Alexa Voice Service) 약관 및 계약을 여기에서 읽어보세요.

raspberrypi-echo-amazon-developer-account

프로필 정보를 완성하세요.

raspberrypi-echo-register-profile-info

앱 배포 계약을 읽고 수락하세요.

raspberrypi-echo-register-app-distribution-agree

앱을 수익화할 것인지 선택하세요.

raspberrypi-echo-register-payments

아마존 개발자에서 장치 만들기

아마존 개발자 계정을 등록한 후, Alexa 장치 및 보안 프로필을 만드세요. 설정을 진행하면서 다음 매개변수 – ProductID, ClientID 및 ClientSecret을 주의 깊게 기록하세요. 나중에 다시 입력해야 합니다.

상단 메뉴에서 “Alexa Voice Service”를 선택하세요.

“개발자에게 오신 것을 환영합니다” 화면이 나타납니다.

raspberrypi-echo-developer-welcome

첫 번째 화면은 당신이 만들고 있는 제품에 대해 묻습니다.

  1. 먼저, 장치의 이름을 입력하세요.

raspberrypi-echo-product-name

  1. 다음, 공백이나 특수 문자가 없는 Product ID를 입력하세요.

참고: 나중에 필요합니다. 어딘가에 기록하세요.

  1. 제품 유형으로 Alexa-Enabled Device를 선택하세요.

raspberrypi-echo-product-type

  1. Alexa에는 동반 앱이 필요합니다. 이 질문에 대해 예를 선택하세요.

raspberrypi-echo-companion-app

  1. 드롭다운 메뉴에서 무선 스피커를 선택하세요.

  2. 설명란에 “Github의 Raspberry Pi 프로젝트”를 입력하세요. 이는 AVS에 대한 정보이며 다른 사람에게는 보이지 않습니다.

  3. “터치 시작” 및 “핸즈프리” 옵션을 모두 체크하세요.

raspberrypi-echo-product-options

  1. 장치에 대한 이미지를 업로드할 수 있지만, 지금은 이 단계를 건너뛰겠습니다.

  2. 상업적 배포 및 아동 제품 질문에 대해 “아니오”를 선택하세요.

raspberrypi-echo-product-options-2

  1. “다음”을 클릭하세요.

보안 프로필 만들기

이 페이지에서, 이 프로젝트와 관련된 사용자 데이터 및 보안 자격 증명을 식별하기 위해 새로운 LWA (Login with Amazon) 보안 프로필을 만듭니다.

  1. “새 프로필 만들기”를 클릭하세요.

raspberrypi-echo-lwa-security-profile2

  1. 프로필 이름을 만드세요. “Alexa 보안 프로필”과 같은 이름을 사용할 수 있습니다.

raspberrypi-echo-security-profile-name

  1. 프로필에 대한 설명을 입력하세요. “Alexa 보안 프로필 설명”을 선택할 수 있습니다.

raspberrypi-echo-security-description

  1. “다음”을 클릭하세요.

  2. 아마존이 Client ID 및 Client Secret을 생성합니다. 이것들은 나중에 필요한 다른 두 값입니다. 가까이에 두세요.

raspberrypi-echo-id-and-secret1

  1. 허용된 출처 및 허용된 반환 URL을 입력하세요. 이 프로젝트를 위해 http 및 https 경로를 설정하고 있으므로, “허용된 출처” 필드에 다음을 입력하세요 — “http://localhost:3000.”

  2. “추가”를 클릭하세요.

  3. 첫 번째 입력란에 입력한 것과 같은 박스에 “https://localhost:3000”을 입력하세요.

raspberrypi-echo-allowed-origins-2

  1. 다시 “추가”를 클릭하세요.

  2. 허용된 반환 URL에 대해서도 같은 작업을 수행하되, 다음 두 URL을 입력하세요:

http://localhost:3000/authresponse  
https://localhost:3000/authresponse
  1. “완료”를 클릭하기 전에 페이지가 다음과 같아야 합니다. 입력한 필드에 여전히 URL이 남아 있지 않은지 확인하세요. 추가한 후에는 회색 배경에 표시됩니다.

raspberrypi-echo-all-origins

  1. “완료”를 클릭하면 이 화면이 나타납니다. 프로젝트가 생성되었으며 설치할 준비가 되었습니다.

raspberrypi-echo-product-screen

Alexa 샘플 앱 복제하기

  1. 터미널을 엽니다.

raspberrypi-echo-open-terminal2

  1. 다음을 입력하세요:
cd Desktop  
git clone https://github.com/alexa/alexa-avs-sample-app.git

설치 스크립트를 업데이트하여 자격 증명 추가하기

설치 스크립트를 실행하기 전에, 아마존에서 기록한 자격 증명 – ProductID, ClientID, ClientSecret으로 스크립트를 업데이트하세요.

  1. 터미널에 다음을 입력하세요:
cd ~/Desktop/alexa-avs-sample-app  
nano automated_install.sh
  1. 실행되면 이 화면이 나타납니다. 키보드의 화살표를 사용하여 탐색하고, ProductID, ClientID 및 ClientSecret 필드를 자신의 값으로 교체하세요.

raspberrypi-echo-insert-device-data

변경 사항은 다음과 같아야 합니다:

ProductID="Your Device Name"  
ClientID="amzn.xxxxx.xxxxxxxxx"  
ClientSecret="4e8cb14xxxxxxxxxxxxxxxxxxxxxxxxxxxxx6b4f9"
  1. Ctrl + X를 눌러 스크립트를 종료하세요. Y를 입력한 후 Enter를 눌러 변경 사항을 저장하세요.

설치 스크립트 실행하기

스크립트를 실행하려면 터미널을 열고 다음 명령을 실행하세요.

cd ~/Desktop/alexa-avs-sample-app  
. automated_install.sh

이 스크립트가 실행되는 동안 몇 가지 간단한 질문에 답해야 합니다. 이는 프로그램을 설치하기 전에 아마존에서 필요한 모든 설정을 완료했는지 확인하기 위한 것입니다.

raspberrypi-echo-setup-questions

설치는 약 30분이 소요되므로 간식을 가져오세요.

정상적으로 설치되면 터미널 창은 다음 이미지와 같아야 합니다.

raspberrypi-echo-end-install2

세 개의 터미널

Alexa 앱을 실행하려면 세 가지 단계를 완료해야 합니다. 각 단계는 별도의 터미널 창에서 실행되어야 하며, 올바른 순서로 수행해야 합니다.

필요한 프로그램이 있었지만 없었던 경우가 있었습니다. 진행하면서 이러한 프로그램을 설치했습니다. 같은 문제가 발생할 경우, 각 단계에 이와 관련된 주석을 포함했습니다.

터미널 1

이 창은 AVS (Alexa Voice Service)와 앱을 인증하기 위한 웹 서비스를 실행합니다.

터미널을 열고 다음 명령을 입력하세요:

cd ~/Desktop/alexa-avs-sample-app/samples  
cd companionService && npm start

참고: npm은 JavaScript 프로그래밍 언어의 패키지 관리자입니다. 명령을 실행할 때 사용할 수 없다면, 여기에서 얻을 수 있습니다.

스크립트가 완료되면 창은 다음과 같아야 하며, Pi가 포트 3000에서 수신 대기 중임을 보여줍니다.

raspberrypi-echo-port-3000

이 창을 닫지 마세요. 다음 단계를 완료하는 동안 열어 두어야 합니다.

터미널 2

이 창은 AVS와 통신합니다.

다른 터미널 창에 다음을 입력하세요.

cd ~/Desktop/alexa-avs-sample-app/samples  
cd javaclient && mvn exec:exec

참고: mvn은 Apache Maven의 약자입니다. 설치되어 있지 않다면, 여기에서 시작하세요.

클라이언트를 실행하면 “장치를 등록하려면 …”라는 대화 상자가 나타납니다.

예를 클릭하세요.

raspberrypi-echo-open-site

일부 브라우저에서는 연결이 안전하지 않다는 경고가 표시됩니다. “고급” 버튼을 클릭하여 이를 무시하세요. 그런 다음 다음 화면에서 “localhost로 진행 (안전하지 않음)”을 클릭하세요.

이제 개발자 자격 증명을 사용하여 아마존에 로그인하세요.

다음 화면에서는 등록 중인 장치에 대해 이전에 생성한 보안 프로필을 사용할 수 있는 권한을 요청합니다. 확인을 클릭하세요.

raspberrypi-echo-use-security-profile

https://localhost:3000/authresponse”로 시작하는 URL로 리디렉션됩니다. 다음 이미지를 참조하세요.

열려 있는 대화 상자로 돌아가 확인 버튼을 클릭하세요. 이제 클라이언트가 Alexa 장치의 요청을 수락할 수 있습니다.

터미널과 음성 서비스 대화 상자를 모두 열어 두세요.

raspberrypi-echo-voice-service-box

터미널 3

이 창은 Alexa를 깨우는 애플리케이션을 설치합니다. 음성을 사용하여 Alexa를 시작하고 싶지 않다면 이 단계를 건너뛰세요.

새 터미널 창을 열고 Sensory 또는 KITT.AI를 사용하여 웨이크 워드 엔진을 실행하기 위해 다음 명령 중 하나를 사용하세요.

Sensory 웨이크 워드 엔진을 사용하려면 다음을 입력하세요:

cd ~/Desktop/alexa-avs-sample-app/samples  
cd wakeWordAgent/src && ./wakeWordAgent -e sensory

KITT.AI의 웨이크 워드 엔진을 사용하려면 다음을 입력하세요:

cd ~/Desktop/alexa-avs-sample-app/samples  
cd wakeWordAgent/src && ./wakeWordAgent -e kitt_ai

테스트하기

“Alexa”라는 웨이크 워드를 사용하여 Alexa에게 이야기하세요. 명령을 내리기 전에 비프음을 기다리세요. 예를 들어, “Alexa”라고 말한 후 비프음을 기다리고 “지금 몇 시야?”라고 물어보세요.

정확하게 응답하면, 작동하는 Alexa 장치가 있는 것입니다!

아마존의 Alexa 웹페이지에서 더 많은 아이디어를 확인하세요. 이 Alexa는 Echo가 할 수 있는 모든 것을 할 수 있습니다!