관리 메뉴

Jeongchul

Google Voice Kit 2 본문

스마트미러

Google Voice Kit 2

김정출 김정출 2018.06.06 18:59


Google Voice Kit 2


음성 인식과 음성 출력이 가능한 AIY Voice Kit 2와 Google Cloud Assistant API를 이용해 완성을 해보겠습니다.


Google Voice Kit 개봉전 사진은 다음과 같습니다.


안에 있는 부품을 살펴보겠습니다.


박스 안에 들어가 있는 부품은 다음과 같습니다.

안내서를 보면 자세한 설명이 나와 있습니다.




1 Voice HAT accessory board

2 Voice HAT microphone board

3 2× plastic standoffs

4 3-inch speaker (wires attached)

5 Arcade-style push button

6 4-wire button cable

7 5-wire daughter board cable

8 9 Cardboard box and frame

10 40-pinheader(pre-solderedto Voice HAT accessory board)

11 Lamp

12 Microswitch

13 Lampholder

키트 안에는 음성 기능이있는 장치를 만드는 데 필요한 구성 요소가 있습니다.

라즈베리 파이 상자를 열면 두 가지를 볼 수 있습니다.

마분지 조각, 아케이드 - 스타일 버튼, 스피커 및 일부 케이블과 HAT (Hardware Attached on Top) 보드 및 다른 더 좁은 보드가 있습니다. 하나는 모든 액세서리를 연결하는 것입니다. 다른 하나는 스테레오 마이크입니다.


이러한 모든 구성 요소는 함께 AIY 프로젝트를 구축합니다.

키트 : 뚜껑에 다채로운 단추가있는 작은 판지 장치. 버튼을 누르거나 손을 대거나 (또는 사용자 정의 트리거를 만드는 경우) 큰소리로 말하여 장치에 질문합니다. 마분지 장치 안에는 모든 구성 요소가 있습니다.


모든 부품을 준비하고, AIY를 만들 때입니다.

프로젝트 음성 키트. 목표는 포함 된 모든 부품 (및 라즈베리 파이 보드)을 조립하고 상단에 버튼이있는 작은 판지 장치를 만드는 것입니다. 이 프로젝트는 상대적으로 쉬운 빌드이며 어떤 구성 요소도 납땜 할 필요가 없습니다.

전선을 올바르게 정렬합니다. Voice HAT 액세서리 보드 (더 큰 보드)를 자세히 살펴 보는 것도 좋은 생각입니다. Voice HAT는 AIY Project Kit의 핵심이며, 모든 것이 HAT에 연결됩니다. 또한 두 개의 블록으로 구성된 브레이크 아웃 GPIO 핀을 제공합니다 : 서보 및 드라이버 보이스를 연결합니다.

HAT 액세서리 보드를 GPIO 핀을 통해 라즈베리 파이에 연결하십시오. 로컬 Python 응용 프로그램을 통해 Google의 Cloud 서비스에 연결됩니다. 파이썬 소스 코드는 GitHub과 마찬가지로 소프트웨어 이미지와 함께 제공됩니다.


1. INSERTTHE STANDOFFS

두 가지 방법으로 시작합니다. 이들은 작은 플라스틱 실린더이며 라스베리 파이 보드의 노란색 마운트 구멍에 넣습니다. 스탠드를 40 핀 GPIO 헤더의 반대쪽에있는 두 개의 노란색 구멍 (HDMI 연결과 같은 쪽)에 삽입합니다. 그들을 밀어 넣고, 그들은 제자리에 잡습니다.


2. SECURE THE HAT

이제 Voice HAT 액세서리 보드를 가져 와서 Raspberry Pi 보드의 GPIO 핀에 연결하십시오. GPIO 커넥터를 조심스럽게 정렬합니다. Rasterberry Pi의 GPIO 헤더 핀이있는 Voice HAT 액세서리 보드에 있습니다. 부드럽게 눌러 Voice HAT 액세서리 보드가 안전한지 확인합니다. 보드의 다른면에있는 스페이서를 아래로 눌러 보드를 함께 고정합니다.



3. ATTACH THE SPEAKER WIRES

Voice HAT 액세서리 보드를 자세히 살펴보고 두 개의 작은 나사로 청색 터미널을 확인합니다. 이 단자는 스피커 연결부입니다. (보드 위의 '스피커'가 인쇄되어 있습니다). 두 개의 연결에는 각각 작은 '+'와 '-'기호가 아래에 인쇄되어 있습니다. 빨간색과 검정색 선이 연결된 스피커를 찾습니다. 빨간색 와이어를 Voice HAT 액세서리 보드의 양극 (+) 단자에 삽입합니다. 이제 검정색 선을 음수에 추가합니다. 아직 고정되지 않았으니 제 자리에 놓습니다.


4. SCREW IN THE WIRES

이 시점에서 두 전선은 안전하지 않은 소켓에 있을 것입니다. 전선을 제자리에 잡고 Phillips 00 스크류 드라이버를 사용하여 소켓의 각 나사를 조심스럽게 돌립니다. 케이블을 조심스럽게 잡아 당겨서 안전한지 확인합니다. 이제 스피커를 보드의 한쪽면에 놓고 다른 구성 요소에 액세스 할 수 있습니다.


5. THE BUTTON CABLE

4-wire 단추 케이블을 찾습니다. 한쪽 끝에는 흰색 수 커넥터가 있고 다른 한쪽에는 금속 접점이있는 4 개의 개별 와이어가 있습니다. 흰색 플러그를 Voice HAT 액세서리 보드의 '버튼'이라고 표시된 일치하는 흰색 소켓에 삽입합니다 (빨간 버튼에 가장 가까운 소켓입니다). 케이블은 한 방향으로만 움직일 것이므로 강제로 움직이면 안됩니다. 케이블의 색상이 이미지와 일치하는지 확인합니다. 금속 접점이있는 4 개의 개별 와이어에 대해 나중에 다시 보겠습니다.



6. THE MICROPHONE CABLE

Voice HAT 마이크로폰 보드 및 5 와이어 도터 보드 케이블을 찾습니다. 케이블 끝에 양쪽 끝에 일치하는 흰색 플러그가 있습니다. 케이블의 양쪽 끝이 동일하므로 5-wire 커넥터 케이블의 한 쪽 끝을 잡고 Voice HAT 마이크로폰 보드에 삽입합니다. 그것은 한 방향으로 만 돌아갈 것입니다. 케이블을 끼웁니다.


7. 5-wire 도터 보드 케이블의 다른 쪽 끝을 잡고 Voice HAT 액세서리 보드에 연결합니다.

그것은 보드에 'Mic'라고 표시된 두 번째 흰색 소켓입니다. 이 연결은 보드의 가장자리에 가까운 더 큰 소켓입니다.

5 선 커넥터는 한 방향으로만 맞습니다. 이미지에서 와이어의 색상과 커넥터와 소켓의 모양을 확인하여 양쪽 모두를 정렬합니다. 그것은 깨끗이 제자리에 고정되어야 합니다.




8. FOLD THE CARDBOARD

이제 상자로 가봅시다. 한쪽면에 여러 개의 구멍이있는 큰 판지 조각을 찾습니다(그림 참조). 접은 자국을 따라 접은 다음 4면을 사용하여 측면을 찾은 다음 FOLD 1로 표시된면을 접습니다.



9. SECURE THE BOX

다른 폴드에 대해서도 동일한 작업을 수행하여 폴드 4를 밑으로 밀어 넣어 제 위치에 고정시킵니다.


10. FOLD THE FALPS
키트와 함께 제공되는 다른 판지 조각을 찾습니다(그림 참조). 이 조각은 하드웨어를 잡을 내부 프레임을 만듭니다. 주름을 따라 1과 2로 표시된 플랩을 접습니다.


11. PUSH IT OUT

1과 2 접기 위의 플랩에는 U 자 모양의 컷 아웃이 있습니다. 그것을 밖으로 밀어 접습니다.


12. FOLD OUT THE FLAP

그런 다음 나머지 플랩을 바깥쪽으로 접습니다. FOLD UP이라고 표시된 부분을 접하여 작업중인 표면과 평평하게 합니다. 제자리에 유지하기 위해 U자형 플랩 뒤에 감싸는 작은 노치가 있습니다.


13. CHECK THE FLUSH

U 형 플랩은 상자 측면과 나란히 놓여야합니다. 이 시점에서 판지는 그 모양을 유지하지 못할 수 있습니다. 일단 상자에 들어 있으면 함께 나타납니다.


14. ADD THE SPEAKER

스피커 (이제는 Raspberry Pi 3에 첨부 됨)를 찾습니다. 스피커를 판지 프레임의 U 자형 포켓에 밀어 넣습니다.


15. SLIDE INTO THE RASPBERRY PI

골판지 프레임을 돌립니다. Pi + Voice HAT 하드웨어를 가지고 플랩 1 및 2 (그림) 아래의 프레임 하단으로 밀어 넣습니다.. 골판지 프레임은 Raspberry Pi의 USB 포트를 노출해야합니다.


16. PUT IT ALL TOGETHER

빌드를 함께 할 차례입니다. 먼저, 손상을 막기 위해 라즈베리 파이에서 SD 카드를 제거합니다. 이제 이전에 조립 한 골판지 상자를 가지고 7 개의 스피커 구멍으로 측면을 살펴봅니다. 골판지 프레임과 하드웨어를 카드 보드 상자에 밀어 넣습니다. 스피커가 스피커 구멍이있는 상자면에 맞춰 졌는지 확인합니다.


17. CHECK THE WIRES

일단 그것이 들어 오면, 라즈베리 파이는 상자의 바닥에 앉아 있어야 합니다. 전선이 연결되어 있는지 확인합니다.


18.CHECK THE PORTS

골판지 상자의 구멍을 확인합니다. 라즈베리파이 포트는 분명히 보여야합니다.


19. PACK THE ARCADE BUTTON

아케이드 버튼을 찾습니다. 플라스틱 버튼, 스페이서 및 너트가 있습니다. 연결되어 있는 경우, 메인 버튼에서 너트와 스페이서를 풀어서 한쪽에 놓습니다.



20. ADD THE BUTTON

플라스틱 단추를 바깥 쪽에서 골판지 상자의 위쪽에 넣습니다. 밀어 넣을 수 있는 단추면이 바깥 쪽을 향하게하고 안에 큰 나사가 있어야합니다. 'BUTTON Spacer first'라고 표시된 면입니다.


21. SECURE THE BUTTON

스페이서를 가져와 버튼 쪽으로 그것을 나사에 추가합니다. 그런 다음 와셔를 조여 버튼을 제자리에 고정시킵니다. 스페이서가 와셔와 판지 뚜껑 사이에 있는지 확인합니다.


22. Connect Button

문양을 바탕으로 흰색 -검정색(왼쪽에서 오른쪽순) 밑으로 파란색 - 빨강색(왼쪽에서 오른쪽순) 연결합니다.



23. TAPE THE MICROPHONE

다음으로 스카치 테이프를 사용하여 Voice HAT Microphone 보드를 상단 플랩에 고정시킵니다. 보드는 상단 플랩의 버튼 아래에 있으며 두 개의 마이크가 두 개의 구멍과 정렬되어 있습니다. 보드 반대쪽을 테이핑하기 전에 다른 쪽의 구멍이 두 개의 마이크와 정렬되어 있는지 확인합니다. 일부 스카치 테이프를 사용하여 마분지 보드의 상단 플랩에 마이크 보드를 고정합니다.



24. CHECK THE MICROPHONE

플랩을 돌리고 마이크가 판지 구멍과 일치하는지 다시 확인합니다. 올바른 정렬은 음성 명령을 내릴 때 마이크로폰 보드가 사용자의 목소리를 들을 수 있도록 합니다.


30. THE FINISHED BUILD

음성 키트가 조립되었으므로 이제 소프트웨어 설치 및 Google Assistant를 사용하여 질문에 대답 할 수 있습니다. 상자를 닫고 아래로 닫습니다.


SD카드 라즈비안 OS

음성인식이 가능한 소프트웨어가 설치된 라즈비안 OS를 다운받습니다.

주소는 다음과 같습니다.

https://dl.google.com/dl/aiyprojects/aiyprojects-latest.img.xz


다운받은 이미지를 SD카드에 Flash하기 위해 다음의 사이트로 이동하여 프로그램을 다운받습니다.

https://etcher.io/

Download for Windows x 64버튼을 클릭합니다.


동의함 버튼을 클릭합니다.


설치가 진행됩니다.


프로그램이 실행됩니다. Select image 버튼을 클릭합니다.


다운받은 aiyprojects-2018-04-13.img.xz를 클릭합니다.


Flash! 버튼을 클릭합니다.


완료가 되면 다음의 화면이 나옵니다.


라즈비안 OS가 연결된 MicroSD카드를 라즈베리파이에 연결합니다.


Google Voice Kit 연결

충전기를 연결해 부팅을 시작합니다.


와이파이 연결을 먼저 진행합니다.


라즈베리파이 화면과 PC화면을 공유할 수 있습니다.

http://jeongchul.tistory.com/428?category=553186


$ sudo vi /etc/rc.local

su pi -c ‘vncserver :1’ &


VNC Viewer로 연결이 된다면 라즈베리파이에 모니터가 필요없게 됩니다.


비밀번호 설정



우선 업데이트와 업그레이드를 진행합니다.

$ sudo apt-get update

$ sudo apt-get upgrade


Google Cloud Platform 사이트 이용시 한글이 깨져 한글 설치를 진행합니다.

$ sudo apt-get install ibus ibus-hangul fonts-unfonts-core


Raspberry Pi Configuration 버튼을 클릭합니다.


Localisation -> Set Locale 버튼을 클릭합니다.


Language : ko (Korean)을 선택하고 Character Set : UTF-8를 클릭하고 OK 버튼을 클릭합니다.


Set Timezone 버튼을 클릭합니다. Area : Asia, Location : Seoul 을 선택하고 OK 버튼을 클릭합니다.


Set Keyboard 버튼을 클릭하고 Layout : Korean, Variant : Korean (101/104 key compatible) 선택하고 OK 버튼을 클릭합니다.


OK 버튼을 클릭하고 Reboot에 YES 버튼을 클릭합니다.


Audio 체크

바탕화면에 있는 Check audio 파일을 클릭합니다.


스피커 테스트를 먼저 진행합니다. 들리면 y, 들리지 않는다면 스피커 입력 단자를 살펴봅니다.

다음은 마이크 테스트를 진행합니다.


Google Cloud API

chromium(웹 브라우저)을 실행합니다. 상단 바로가기 메뉴에서 Apps 옆에 있는  “Google API Console” 버튼을 클릭합니다.


로그인을 진행합니다.


프로젝트 선택에서 down-arrow 버튼을 클릭합니다.


새 프로젝트 버튼을 클릭합니다.


프로젝트 이름과 프로젝트 ID 를 입력하고 만들기 버튼을 클릭합니다.


프로젝트에서 생성된 voice-kit를 선택합니다.

API 및 서비스 사용 설정 버튼을 클릭합니다.


assistant를 입력하고 Google Assistant API를 클릭합니다.


사용 설정 버튼을 클릭합니다.


사이드 메뉴에서 사용자 인증 정보 메뉴를 클릭합니다.


사용자 인증 정보 만들기 버튼을 클릭하고 OAuth 클라이언트 ID 버튼을 클릭합니다.


동의 화면 구성 버튼을 클릭합니다.


제품 이름을 입력하고 저장 버튼을 클릭합니다.


이름을 입력하고 생성 버튼을 클릭합니다.

생성한 클라이언트 ID 다운로드 버튼을 클릭합니다. client


다운받은 client_secret_***.json을 assistant.json으로 변경합니다.

$ cd ~/Downloads/

$ mv client_secret_***.json assistant.json


assistant.json을 /home/pi로 이동합니다.

$ mv assistant.json ~/

자 이제 예제를 실행해볼까요.

$ cd ~/AIY-voice-kit-python/src/examples/voice/

$ ls


먼저 시작해봅시다. 버튼 테스트 먼저 진행합니다.

$ python3 assistant_library_with_button_demo.py


실행과 동시에 액세스 허용 버튼을 클릭합니다.



영어로 가능합니다.

“OK, Google”

“Weather”

“Do you have a breakfast?”

“Beam me up Scotty!”

“How much wood could a woodchuck chuck...”

“I’m one of your engineers.”

“How do you say "this tastes delicious" in Korean?”

“How far away is the moon?”

“Beatbox!”

“Remind me to call my friend tomorrow morning.”


브라우저에서 다음의 사이트로 이동합니다.

http://myaccount.google.com/activitycontrols


음성 및 오디오 활동 세션에서 기록 관리 버튼을 클릭합니다.


다음의 활동 기록에서 실제 음성 검색 내용등을 확인할 수 있습니다.

라즈베리파이가 부팅되면서 자동으로 시작하기 위해서는 다음의 명령어를 실행합니다.

$ sudo vi /etc/systemd/system/assist.service


[Unit]

Description=Assist @ reboot


[Service]

Environment=XDG_RUNTIME_DIR=/run/user/1000

ExecStart=/home/pi/AIY-projects-python/src/examples/voice/main.py

Restart=always

User=pi

StandardOutput=syslog

StandardError=syslog

SyslogIdentifier=assist


[Install]

WantedBy=multi-user.target



$ cd ~/AIY-projects-python/src/examples/voice

$ cp assistant_library_demo.py main.py


다음 부팅시에 서비스를 가능하도록 설정하고 시작합니다.

$ sudo systemctl enable assist.service

$ sudo systemctl start assist.service


리부팅으로 확인해봅시다.

$ sudo reboot


포스팅은 여기까지 하겠습니다.



4 Comments
댓글쓰기 폼