스마트 미러에 Alexa를 추가하는 방법

스마트 거울에 아마존 에코 기능을 통합하여 더욱 스마트하게 활용해 보세요.

이미 스마트 거울을 구축하셨다면, 캘린더, 날씨 정보, 뉴스 등에 편리하게 접근하고 계실 겁니다. 하지만 여기서 멈추지 마세요! 매직 미러 소프트웨어를 활용하면 알렉사 음성 제어와 같은 다양한 기능을 추가할 수 있습니다.

다양한 개발자들이 이러한 모듈들을 만들고 있으며, 그 종류는 알렉사 또는 (카메라나 적외선 센서를 이용한) 인체 감지 기능과 같은 유용한 기능부터 눈송이 효과나 Spotify 재생 정보처럼 재미있는 기능까지 매우 다양합니다.

저희는 mmm-awesome-allexa 모듈을 추천합니다. 매직 미러 소프트웨어용 알렉사 모듈 중 활발히 개발 및 유지보수되고 있기 때문입니다.

만약 구글 어시스턴트 설치를 원하신다면, 구글에서는 자세한 튜토리얼을 제공하고 있습니다. 이 튜토리얼은 라즈베리 파이에 어시스턴트를 설치하는 방법을 단계별로 이미지와 다운로드 링크를 포함하여 안내합니다. 구글 어시스턴트용 매직 미러 모듈도 몇 가지 존재하지만, 조사 결과 모듈에 문제가 있는 경우가 많고, 종종 충돌하거나 화면 정보를 덮어버리는 문제가 발견되었습니다. 가장 간단한 설정을 원하신다면 구글 AIY 키트를 추가하고, 그에 맞는 특정 튜토리얼을 따르는 것을 추천합니다.

대부분의 모듈 설치는 다음과 같은 기본 단계를 거칩니다.

GitHub에서 모듈 코드 다운로드
모듈별 옵션 설정
미러 구성에 모듈 추가

모듈에 따라 2단계와 3단계는 복잡할 수 있습니다. 예를 들어 알렉사 설정은 눈송이 추가보다 더 많은 설정을 요구합니다. 또한 특정 알렉사 모듈은 모듈 다운로드 전에 몇 가지 추가 소프트웨어(의존성)를 설치해야 합니다.

필요한 준비물

본 가이드에서는 스마트 미러가 이미 완성되었다고 가정합니다. 아직 시작하지 않았다면 여기서 시작하되, 비용과 공간을 고려하여 여기에 나열된 추가 재료들을 염두에 두십시오.

스마트 미러 (완성된 상태)
마이크
스피커

마이크와 스피커의 경우, 구글 AIY 음성 키트를 추천합니다. 16달러 가격에 이보다 더 저렴한 마이크와 스피커 조합을 찾기 어려울 겁니다. 동봉된 판지 상자를 꼭 사용할 필요는 없습니다. 구성 요소를 제외하고 미러 외부에서 마이크와 스피커를 배치하는 것이 더 효과적일 수 있습니다.

두 번째 버전의 구글 AIY 음성 키트도 있지만, 더 비싸고 웨이크 워드나 매직 미러 소프트웨어를 실행할 만큼 강력하지 않은 라즈베리 파이 제로가 포함되어 있으므로 건너뛰는 것이 좋습니다.

스피커와 마이크를 연결했다면 알렉사 모듈을 설치할 준비가 된 것입니다. 구글 AIY 키트를 사용하는 경우, 조립 가이드를 참고하여 마이크와 스피커 구성 요소를 연결하십시오.

모듈 의존성 설치

mmm-awesome-alexa 모듈을 다운로드하고 구성하기 전에, 모듈이 필요로 하는 몇 가지 의존성을 설치해야 합니다. 다른 것을 설치하기 전에 항상 라즈베리 파이를 업데이트하는 것이 좋습니다. 라즈베리 파이에서 다음 명령을 실행하여 시작합니다.

sudo apt update && sudo apt upgrade

라즈베리 파이가 최신 상태가 되면, 다음 명령들을 하나씩 실행합니다.

sudo apt-get install sox libsox-fmt-all
sudo apt-get install swig3.0 python-pyaudio python3-pyaudio sox
pip install pyaudio
sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg libav-tools
sudo apt-get install libatlas-base-dev

각 명령은 의존성을 설치하며, 모두 실행해야 합니다. 명령을 실행하고 다운로드 및 설치가 완료될 때까지 기다린 후 다음 명령을 실행하십시오.

모듈 코드 다운로드

매직 미러용 모듈을 추가하는 첫 번째 단계는 모듈의 GitHub 코드를 다운로드하는 것입니다. 이를 위해 라즈베리 파이에 로그인하고 터미널을 열어 모듈이 저장될 디렉토리로 이동해야 합니다. 그런 다음 다운로드 명령을 사용하여 GitHub에서 코드를 가져옵니다. 셸 액세스 권한이 있다면, 이 모든 작업을 원격으로 수행할 수도 있습니다.

터미널을 열고 다음을 입력하십시오.

cd ~/MagicMirror/modules

이 명령은 매직 미러 소프트웨어의 모듈 폴더로 작업 디렉토리를 변경합니다. 새 모듈을 다운로드할 때마다 이곳에서 모든 것을 정리하는 것이 좋습니다. 다음 단계는 다음 명령을 사용하여 GitHub에서 소프트웨어를 다운로드하는 것입니다.

git clone https://github.com/dolanmiu/MMM-awesome-alexa.git

완료되면 다음 명령을 사용하여 디렉토리를 모듈로 변경합니다.

cd MMM-awesome-alexa

알렉사 모듈이 제대로 작동하려면 몇 가지 추가 의존성이 필요합니다. 다음 명령을 실행하여 설치합니다.

npm install --only=prod

이제 디렉토리를 새로 생성된 node_modules 폴더로 변경합니다.

cd node_modules

이전 명령으로 추가된 snowboy 폴더를 삭제합니다. 최신 버전의 snowboy가 필요합니다.

rm -rf snowboy

다음으로 다음 명령을 사용하여 최신 버전의 snowboy를 다운로드합니다.

git clone https://github.com/Kitt-AI/snowboy.git

계속하기 전에 디렉토리를 새 snowboy 폴더로 변경하십시오.

cd snowboy

이제 node_modules 폴더를 제거하고 몇 가지 추가 의존성을 설치해야 합니다. 이 단계를 수행하려면 snowboy 폴더 안에 있어야 합니다. 디렉토리를 변경하지 마십시오. 다음 명령들을 하나씩 실행합니다.

rm -rf node_modules
npm install nan --save 
npm install [email protected] --save 
npm install 
npm run prepublish 
npm install --save-dev electron-rebuild 
npm install nan 
./node_modules/.bin/electron-rebuild

이제 모듈이 완전히 다운로드 및 설치되었습니다.

알렉사 모듈 설정

이제 mmm-awesome-alexa 모듈이 설치되었으므로 구성해야 합니다. 첫 번째 단계는 디렉토리를 모듈의 루트로 변경하는 것입니다. 터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.

cd ~/MagicMirror/modules/MMM-awesome-alexa

이 알렉사 모듈에는 구성 도우미가 있습니다. 이것을 실행하겠습니다. 터미널에 입력하세요:

npm run config-helper

클라이언트 ID를 묻는 메시지가 표시됩니다. 기본적으로 맞춤형 에코를 설정하는 중이므로, 브라우저를 열고 알렉사 개발자 사이트로 이동합니다. 그런 다음 아마존 계정으로 로그인하십시오.

로그인한 후 “시작하기” 버튼을 클릭합니다. 장치를 만드는 중이므로 “제품”을 클릭하고 “제품 만들기”를 클릭합니다.

다음 화면에서 제품 이름과 제품 ID를 지정합니다. 제품 이름으로 “Magic_Mirror_Alexa”를 추천하고, 제품 ID로 “YourFirstName_MM_Alexa”를 추천합니다. 범주에서 “Smart Home”을 선택하고, 핸즈프리와 원거리 옵션을 모두 활성화합니다. 일련의 예/아니오 질문이 나타나면 모든 질문에 “아니요”를 선택한 다음 “다음”을 클릭합니다.

보안 프로필 화면에서 “새 프로필 만들기”를 클릭합니다. 제품 ID에 사용한 것과 동일한 이름을 보안 프로필에 사용하십시오. 그런 다음 원하는 설명을 입력하고 “다음”을 클릭합니다.

계약을 확인하고 “마침”을 클릭합니다.

새로 생성된 제품을 클릭한 다음 보안 프로필을 클릭하면 클라이언트 ID와 클라이언트 암호가 표시되어야 합니다.

허용된 반환 URL 항목에 다음과 같이 입력합니다:
https://magic-mirror-avs.github.io/Alexa-Web-Helper/authresponse

그런 다음 “추가” 버튼을 클릭합니다. 아래로 스크롤하고 “업데이트” 상자를 클릭하여 URL 추가를 완료합니다.

터미널에 클라이언트 ID를 묻는 메시지가 표시됩니다. 브라우저에서 클라이언트 ID를 복사하여 터미널에 붙여넣고 Enter 키를 누릅니다. 이제 터미널에서 클라이언트 암호를 입력하라는 메시지가 표시됩니다. 브라우저로 다시 전환하고 클라이언트 암호를 복사한 다음 터미널에 붙여넣고 Enter 키를 누릅니다.

장치 ID를 입력하라는 메시지가 표시되면 위에서 만든 이름을 제품 ID로 입력합니다(이 예에서는 Magic_Mirror_Alexa).

반환 URL을 입력하라는 메시지가 표시되면 다음 명령을 입력하고 Enter 키를 누릅니다.

https://magic-mirror-avs.github.io/Alexa-Web-Helper/authresponse

터미널은 맞춤형 링크를 표시합니다. 복사하여 브라우저에 붙여넣습니다. 그런 다음 메시지가 표시되면 아마존 계정으로 로그인합니다. 다음 화면에서 “허용”을 클릭합니다.

브라우저에 오류가 표시되지만 걱정하지 마세요! 예상된 것입니다. 오류 페이지의 URL을 스크롤하여 “Code=xxxxxx” 섹션을 찾습니다.

“code=”와 “&scope” 사이에 나타나는 문자와 숫자를 복사하여 터미널에 붙여넣습니다. 완료되면 Enter 키를 누르십시오.

MagicMirror 구성을 생성할 것인지 묻는 메시지가 표시되면 Y를 입력하고 Enter 키를 누릅니다.

어떤 깨우기 단어를 사용할지 묻는 메시지가 표시됩니다. “Alexa”가 기본으로 선택되어 있으므로 Enter 키를 누릅니다.

라이트 모드 및 시각화 사용에 대해서는 아니오로 답하십시오.

구성 도우미가 모듈 정보를 생성합니다. 다음과 같이 보일 것입니다.

{
 module: "MMM-awesome-alexa",
 position: "bottom_bar",
 config: {
 wakeWord: "Alexa",
 clientId: "YOUR_CLIENT_ID",
 clientSecret: "YOUR_CLIENT_SECRET",
 deviceId: "YOUR_DEVICE_ID",
 refreshToken: "YOUR_REFRESH_TOKEN",
 lite: false,
 isSpeechVisualizationEnabled: false
 }
 }

해당 라인을 복사합니다. 매직 미러 구성에 추가해야 합니다.

매직 미러 구성에 알렉사 모듈 추가

그런 다음 다음 명령을 사용하여 디렉토리를 매직 미러 구성 폴더로 변경합니다.

cd ~/MagicMirror/config

그리고 nano 명령을 사용하여 config.js 파일을 엽니다.

nano config.js

}의 첫 번째 인스턴스(모듈의 끝) 바로 뒤에 Enter 키를 눌러 다음 { 항목(새 모듈의 시작) 앞에 빈 줄을 만듭니다.

새로 만든 빈 줄에 구성 도우미 단계에서 얻은 모듈 코드를 붙여넣습니다. 자동 생성된 코드에는 오류가 있을 수 있습니다. 또한 모듈이 }로 끝나도록 마지막 대괄호 뒤에 쉼표를 입력해야 합니다.

Ctrl+x를 사용하여 파일을 닫습니다. 메시지가 표시되면 “y”를 입력하여 저장을 확인하고 Enter 키를 눌러 파일 이름을 동일하게 유지합니다.

모듈이 완료되었습니다. 모듈이 제자리에 있는 매직 미러 소프트웨어를 다시 시작하려면 pm2 restart mm를 입력하면 매직 미러 소프트웨어가 재부팅됩니다. 알렉사가 이제 매직 미러에서 작동합니다.

이것은 매직 미러에 설정할 수 있는 복잡한 모듈 중 하나입니다. 하지만 다른 모듈의 경우 기본 단계는 동일합니다. 즉, 코드를 다운로드하고 모듈별 옵션을 구성하고 구성에 모듈을 추가하는 것입니다. 여러분의 거울에 눈송이 효과나 움직임 감지 기능, 혹은 구글 포토 기능 등을 추가할 수도 있습니다.