- 하드웨어 요구 사항
- Raspberry Pi Google Assistant 용 Google API 설정
- Raspberry Pi Google Home 용 Google Assistant 설정
- Google Assistant 용 Raspberry Pi 인증
- Raspberry Pi에서 Google Assistant 사용
음성으로 제어 할 수있는 스피커에 대해 생각해 본 적이 있습니까? 예, Amazon Echo는 가장 인기있는 음성 제어 스피커 중 하나이지만 경쟁에서 Google Home 도 인기를 얻고 있습니다. 인공 지능 기반 시스템 시대로 나아가면서 음성 비서가 더욱 인기를 얻고 있습니다. Google Assistant, Apple Siri 및 Amazon Alexa에 대해 들어 보셨을 것입니다. 이들은 모두 음성 기반 AI 시스템이며, 서로 다른 점은 생태계이며 Google Assistant가 가장 두드러지는 곳입니다. Google, Apple 및 Amazon,이 모든 회사는 이미 스마트 스피커를 출시했습니다. Google 스마트 스피커도 시장에서 구할 수 있습니다. 우리는 이미 Raspberry Pi 기반 Amazon Echo를 다루었습니다. 이번에는 Raspberry Pi를 Google Home Speaker로 바꾸 겠습니다.
Google은 Github에서 사용할 수있는 오픈 소스 인 음성 서비스를 사용하기위한 API를 제공합니다. Google 음성 서비스를 사용하여 음악을 재생하고 날씨 정보를 얻고 티켓을 예약하는 등 다양한 작업을 할 수 있습니다. 당신이해야 할 일은 Ask뿐입니다. 이 튜토리얼에서는 Google Assistant와 Raspberry Pi를 사용하여 음성 제어 스마트 스피커를 구축하는 방법을 살펴 보겠습니다.
하드웨어 요구 사항
- Raspberry Pi 3 또는 Raspberry Pi 2 Model B 및 SD 카드 (8GB 이상)
- 3.5mm AUX 케이블이있는 외부 스피커
- 모든 웹캠 또는 USB 2.0 마이크
또한 Raspberry pi가 이미 Raspbian OS로 설정되어 있고 인터넷에 연결되어 있다고 가정합니다. 이것들과 함께 튜토리얼을 진행해 봅시다. Raspberry Pi를 처음 사용하는 경우 먼저 Raspberry pi 시작하기를 참조하세요.
참고: 웹캠에는 마이크가 내장되어 있으므로 USB 2.0 마이크 대신이 마이크를 사용합니다.
HDMI 케이블을 사용하여 라즈베리 파이를 연결하려면 키보드, 마우스 및 모니터가 필요합니다.
Raspberry Pi로 웹캠 마이크 확인:
1. Raspberry Pi 터미널을 열고 arecord -l 명령을 입력 합니다. 그러면 아래와 같이 Raspberry Pi에 연결된 하드웨어 장치가 표시됩니다.
카드 1은 우리가 사용할 웹캠의 마이크입니다. 표시되지 않으면 웹캠에 결함이있을 수 있습니다.
2. 이제 다음과 같이 오디오 녹음 명령을 실행하여 마이크가 작동하는지 확인합니다.
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. 녹음 된 오디오를 재생하려면 다음 명령을 입력하십시오.
omxplayer -p -o 로컬 /home/pi/Desktop/test.wav
HDMI 케이블을 사용하여 Raspberry Pi를 모니터와 연결 한 경우 기본적으로 오디오 출력은 모니터의 스피커를 통해 이루어집니다 (내장 스피커가있는 경우). 따라서 3.5mm로 변경하려면 다음 명령을 입력해야합니다.
sudo raspi-config 를 선택하고 고급 옵션으로 이동하십시오.
목록에서 오디오 선택-> Force 3.5mm 선택-> 확인을 선택하고 Raspberry Pi를 다시 시작하십시오.
이제 3.5mm 잭에서 소리가 들릴 것입니다.
참고: 마이크의 입력 음성 크기를 늘리거나 줄이려 면 터미널의 alsamixer 유형 을 선택하십시오. F6을 눌러 터미널에서 사운드 카드를 선택합니다.
F4를 눌러 마이크 dB 게인을 변경하고 원하는대로 설정합니다.
USB 2.0 마이크가있는 경우 마이크를 확인하는 단계는 동일합니다. 여기에서는 USB 마이크 용 웹캠을 사용했습니다.
Raspberry Pi Google Assistant 용 Google API 설정
1. 먼저 Google 콘솔 작업 대시 보드에서 프로젝트를 등록하고 설정해야합니다.
2. Google 계정에 로그인하면 다음과 같은 창이 나타납니다.
프로젝트 추가 / 가져 오기를 클릭합니다.
3. 다음 화면에서 프로젝트 이름 을 입력하고 프로젝트 생성을 클릭 해야합니다 .
4. 이제 새 탭의 Google 개발자 콘솔로 이동하여 Google Assistant API를 검색합니다. 계속 진행하고 활성화 버튼을 누르기 전에 프로젝트를 선택했는지 확인하십시오. 그런 다음 활성화를 클릭합니다.
5. 이제 Google 콘솔의 이전 탭을 열고 화면 하단으로 스크롤합니다.
옵션 장치 등록 을 찾을 수 있으며 클릭하십시오.
6. 다음 화면에서 모델 등록을 클릭합니다. 그런 다음 제품 이름, 제조업체 이름 을 설정하고 장치 유형 을 설정해야합니다. 이러한 이름은 원하는대로 지정할 수 있습니다.
나중에 프로세스에서 필요하므로 장치 모델 ID를 기록해 둡니다.
이제 모델 등록을 클릭합니다.
7. 다음 화면은 자격 증명 다운로드를 위한 것 입니다. 이 자격 증명 파일을 얻으려면 OAuth 2.0 자격 증명 다운로드를 클릭합니다 . 이 파일은 매우 중요하므로 안전한 곳에 보관하십시오.
이제 다음을 클릭하십시오.
8. 필요한 모든 특성을 선택할 수 있지만 우리의 경우에는 이러한 특성이 필요하지 않으므로 아래 표시된대로 건너 뛰기 버튼을 클릭했습니다 .
9. 모든 작업이 완료되면 다음 화면이 나타납니다.
10. 이제 활동 제어 페이지로 이동합니다. 여기에서 Google Assistant API가 제대로 작동하는지 확인하려면 다음 활동 제어를 활성화해야합니다.
웹 및 앱 활동, 위치 기록, 기기 정보, 음성 및 오디오 활동
11. 다시 Google 개발자 콘솔로 이동합니다. 대시 보드 왼쪽 에서 자격 증명 을 클릭합니다. OAuth 동의 화면을 클릭합니다.
12. 제품 이름에 Gmail ID와 이름을 입력하고 저장합니다.
이제 Google API 설정을 완료했습니다.
Raspberry Pi Google Home 용 Google Assistant 설정
이 부분부터는 SSH가 아닌 Raspbian 데스크톱에서 직접 자습서를 완료해야합니다. 이는 내장 웹 브라우저를 사용해야하기 때문입니다.
1. 먼저 다음 명령을 사용하여 Raspberry Pi의 패키지 목록을 업데이트합니다.
sudo apt-get 업데이트
2. 이제 이전에 다운로드 한 자격 증명을 저장할 수있는 파일을 생성합니다. 이를 위해 다음 두 명령을 실행하십시오.
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3.이 파일에서 다운로드 한 자격 증명 파일의 내용을 복사해야합니다. 자주 사용하는 텍스트 편집기에서.json 파일을 열고 ctrl + A를 누른 다음 ctrl + C를 눌러 내용을 복사합니다.
콘텐츠를 복사 한 후 Ctrl + X, Y를 차례로 눌러 파일을 저장 한 다음 마지막으로 Enter 키를 누릅니다.
4. 자격 증명 파일을 저장 한 후 Google 어시스턴트를 실행하는 데 필요한 일부 종속성 설치를 시작합니다.
다음 명령을 실행하여 Python3 및 Python 3 가상 환경을 RPi에 설치합니다.
sudo apt-get install python3-dev python3-venv
5. 이제 다음 명령을 사용하여 가상 환경으로 python3을 활성화합니다.
python3 -m venv env
6. 최신 버전의 pip 및 setuptools를 설치합니다. 업데이트를 받으려면 다음 명령을 실행하십시오.
env/bin/python -m pip install --upgrade pip setuptools --upgrade
7. 파이썬 환경에 들어가려면 다음 명령을 실행해야합니다.
source env/bin/activate
8. 이제 Google Assistant 라이브러리를 설치하고 다음 명령을 하나씩 실행하여 업데이트 된 라이브러리를 가져옵니다.
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk
이제 필요한 모든 종속성 및 라이브러리 설치가 완료되었습니다.
Google Assistant 용 Raspberry Pi 인증
1. 먼저 다음 명령을 실행하여 Google 인증 도구를 Raspberry pi에 설치합니다.
python -m pip install --upgrade google-auth-oauthlib
2. 이제 Google 인증 라이브러리를 실행해야합니다. 이 명령을 실행하여 라이브러리를 실행하십시오.
google-oauthlib-tool --client-secrets ~ / googleassistant / credentials.json \ --scope https://www.googleapis.com/auth/assistant-sdk-prototype \ --scope https: //www.googleapis. com / auth / gcm \ --save –headless
이 명령은 URL을 생성하고이 URL을 복사하여 웹 브라우저에 붙여 넣습니다.
3. 브라우저에서 Google 계정에 로그인합니다. 여러 계정이있는 경우 API 키를 설정 한 계정 만 선택합니다.
로그인 후 긴 인증 코드가 표시됩니다. 이 코드를 복사하여 터미널 창에 붙여넣고 Enter를 누르십시오. 인증이 확인되면 위 이미지와 같이 명령 줄에 다음 줄이 표시되어야합니다.
저장된 자격 증명: /home/pi/.config/google-oauthlib-tool/credentials.json
4. 이제 인증 자격 증명이 확인되었지만 Google은 여전히 팝업 디스플레이를 통해 확인하려고합니다. 그러나 우리의 팝업은 CORS (Cross-origin resource sharing)에 의해 차단되므로 먼저 아래 명령을 사용하여이 기능을 비활성화하십시오.
이 명령을 사용하려면 chromium 브라우저가 닫혀 있는지 확인하고 이제 새 터미널 창을 열고 명령을 입력하십시오. 이 명령은 CORS 보안이 비활성화 된 상태에서 chromium 브라우저를 시작합니다. 비활성화 된 상태에서 인터넷을 탐색하지 마십시오.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
브라우저를 연 후 Google 어시스턴트 샘플을 설정 한 이전 터미널 창으로 이동합니다.
5. 이제 다음 명령을 실행하여 Google 어시스턴트를 처음 실행합니다. 이 명령에서
프로젝트 ID를 잊어 버린 경우 Google의 Actions Console로 이동하여 생성 한 프로젝트를 클릭 한 다음 왼쪽 상단 모서리에있는 톱니 바퀴 아이콘을 클릭 한 다음 프로젝트 설정 을 클릭 합니다.
또한
googlesamples-assistant-pushtotalk --project-id
이 명령은 Chromium 브라우저에서 새 탭을 시작합니다.
6. 이제 터미널 창에서 Enter 를 눌러 트리거하고 질문합니다.
첫 번째 질문을하면 브라우저에 아래와 같은 화면이 나타날 수 있습니다. 계속-> 이해함-> 허용을 클릭합니다.
이 계속 화면이 나타나지 않으면 문제 없습니다.
7. 이제 push를 사용하여 Google Assistant 샘플을 말하고 출력 응답을 얻을 수 있습니다.
터미널 에서 Enter 키 를 누르고 동작을 말하면 음성 응답이 들려야하며 방금 호출 한 동작을 표시하는 다른 탭도 열립니다.
명령에서 –display 인수를 제거하여 탭 열기를 비활성화 할 수 있습니다. 승인 화면을 얻으려면 이것이 필요했습니다.
Raspberry Pi에서 Google Assistant 사용
우리는 Raspberry Pi를 승인했습니다. Google 어시스턴트를 시작하고 싶을 때마다 환경에 들어가 아래 단계를 따르십시오.
1. get in the environment에서 다음 명령을 실행합니다.
소스 환경 / 빈 / 활성화
당신은 볼 수있을 것이다 (ENV) 각 줄의 앞에 나타납니다.
2. 푸시 투 토크 샘플을 시작하려면 다음 명령을 실행합니다.
googlesamples-assistant-pushtotalk
이번에는 제품 ID와 장치 ID가 필요하지 않습니다.
3. 푸시 투 토크 기능 외에도 Ok Google 이라고 말하여 Google 어시스턴트를 트리거 할 수도 있습니다. 이를 위해 유효하지 않은 장치 ID를 입력해야 작동합니다. 잘못된 장치 ID는 aaaa, abcd 와 같은 것일 수 있습니다.
이제 다음 명령을 실행하십시오.
googlesamples-assistant-hotword --device-model-id
이제 Google 어시스턴트에게 Ok Google 이라고 말하면 무엇이든 물어볼 수 있습니다.
그래서 이것이 우리가 Raspberry Pi에 Google Assistant를 설치하고 스피커와 마이크를 연결하여 Google Home으로 전환 할 수있는 방법 입니다.