라즈베리파이에서 구글 어시스턴트 실행하기

메이커 2018-09-15 (토) 23:04 1년전 3866  

요즘, 텔레비전 광고에서 종종 보이는 구글 어시스턴트.


4eb8db95a0a4ce915caee4aba559ad37_1537019


안드로이드 핸드폰에서 가능하다는 구글 어시스턴트, 리눅스 기반의 라즈베리파이에서도 물론 됩니다. 

라즈베리파이에서 된다는 것은, 다양한 활용성이 생긴다는 것이겠죠? 

오늘은 라즈베리파이에서 구글 어시스턴트를 구현하는 방법에 대해서 설명해볼께요.


1. 필요한 부품들


라즈베리파이를 활용한 구글 어시스턴트를 구현하기 위해서는 다음의 부품들이 필요합니다. 


1. 라즈베리파이 3 B+ (https://goo.gl/yhNQyz)

2. 스피커 및 마이크 모듈 (https://goo.gl/c6b6ni)

3. 16GB 마이크로SD 카드 

4. 2.5A 어댑터

5. 모니터와 키보드/마우스 (설정시)

 

본 강좌에서 참고할 링크는 다음과 같습니다. 

1. 구글 공식 개발 사이트: https://developers.google.com/assistant/sdk/guides/library/python/embed/setup

2. 메카솔루션의 카페 (구글 어시스턴트를 교육했던 자료가 카페에 담겨 있습니다): cafe.naver.com/mechawiki


2. Step I - 스피커/마이크 모듈 설치하기

a. 라즈베리파이에 운영체제를 설치합니다. 

b. Respeak 제품 (https://goo.gl/c6b6ni)을 라즈베리파이에 적층합니다. 

c. 터미널에서 다음의 명령어를 입력하여, Respeak을 사용할 수 있도록 설치합니다. 

 

4eb8db95a0a4ce915caee4aba559ad37_1537019
 

 

git clone https://github.com/respeaker/seeed-voicecard.git 

cd seeed-voicecard

sudo ./install.sh


d. 재부팅한 후에 aplay -l 과 arecord -l을 입력합니다. 그리고, Seeed2mivoicec가 스피커(aplay)와 마이크(arecord) 목록으로 뜨는지 확인합니다. 


3. Step II - 구글 계정을 통한 구글 어시스턴트 SDK 설치와 실행

 

I. 구글 계정 생성과 프로젝트 생성

1) console.actions.google.com에 접속한 후 새로운 프로젝트 추가하기 [Create Project 버튼 클릭]
2) https://console.developers.google.com/ 이동 후, 서비스 약관의 마지막에 "예/Yes" 클릭하고 동의버튼
3) F5를 눌러서 리프레시하고, "Select a project" 콤보박스에서 STEP #9에서 만든 프로젝트 선택
4) Dashboard 오른쪽의 ENABLE APIS AND SERVICE 클릭
5) Google assistant API 검색 후, Google Assistant API 사용 설정 (ENABLE 버튼 클릭)

2. 디바이스 등록
1) console.actions.google.com에서 생성한 프로젝트 클릭 후 왼쪽 메뉴에서 "Device registration" 클릭
2) REGISTER MODEL 클릭
3) Product name 입력, Manufacturer name 입력, Device type 선택 (Light 혹은 Speaker 아무거나) 후, REGISTER MODEL 클릭
4) 다운로드 폴더에서 JSON 확장자의 client_secret 파일이 있다면 삭제하거나 다른 폴더로 이동 (새로 업데이트된 파일 다운로드 예정, 혼돈이 될 수 있음)
5) Download OAuth 2.0 credentials 클릭하여 JSON 라즈베리파이에 저장 후, NEXT 버튼
6) traits 선택 창에서 SKIP 클릭

3. Google Assistant SDK 설치
1) 터미널을 열고 다음의 명령어 실행하기
$sudo apt-get update

$sudo apt-get install python3-dev python3-venv

 

 

$python3 -m venv env

 

 

$env/bin/python -m pip install --upgrade pip setuptools wheel

 

 

$source env/bin/activate

 

 

$sudo apt-get install portaudio19-dev libffi-dev libssl-dev libmpg123-dev

 

 

$python -m pip install --upgrade google-assistant-library

 

 

$python -m pip install --upgrade google-assistant-sdk[samples]

 

 

$python -m pip install --upgrade google-auth-oauthlib[tool]



2) [아주 중요] 터미널에서 다음 명령어를 입력하게 되는데, 이 때 다운로드 받은 json 파일 Full Name이 필요함. 다운로드 받은 json이라는 확장자를 가진 파일명이 client_secret_1990557xxxx.com.json"일 경우, 다음과 같이 입력 (json 파일은 Downloads라는 폴더에 있어야 함
$google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype --scope https://www.googleapis.com/auth/gcm --save --headless --client-secrets /home/pi/Downloads/client_secret_1990557xxxx.com.json

3) 입력을 하게 되면, "Please visit this URL 뒤에 긴 링크가 생성됨. 마우스를 이용해서 링크를 복사 (Copy URL)하고 윈도우 창을 띄워서 접속
4) 작업했던 계정을 선택 한 후 Allow (허용) 클릭
5) 생성된 코드를 복사해서 터미널의 "Enter the authorization code:" 뒤에 붙여넣고 엔터 (오른쪽 마우스 클릭 후 붙여넣기)
6) [아주 중요] console.actions.google.com에서 프로젝트를 클릭하면, 왼쪽 상단에 기어 모양이 있고, Project settings에서 project id (프로젝트 아이디를 확인할 수 있음). 그리고, 왼쪽의 메뉴에서 Device registration을 클릭하면 model id (모델 아이디)도 확인이 가능

만약, 프로젝트 아이디가 fixedspeaker08이고 모델아이디가 fixedspeaker08-fixedspeaker08이라면 다음과 같이 입력할 수 있음

$ googlesamples-assistant-hotword --project_id fixedspeaker08 --device_model_id fixedspeaker08-fixedspeaker08

4. 오케이 구글
1) 오케이 구글이라고 말하고, 영어로 이야기하면 대화가 시작

2) 만약, 소리가 들리지 않는다면, 라즈베리파이 바탕화면의 왼쪽 상단에 있는 스피커 모양의 오른쪽 클릭을 통해 아날로그로 변경하고, 왼쪽 클릭을 통해 볼륨 조절이 가능 



 

 

▶아래 플러스 친구 버튼을 통해 다양한 정보와 교제 자료 및 이벤트등의 소식을 받아보실 수 있습니다.




모바일 버전으로 보기