Dự án: Cài đặt Google Assistant lên Raspberry Pi

Ở loạt bài trước mình cũng đã giới thiệu cho các bạn làm như thế nào để có 1 “Echo Dot” trên Raspberry Pi đúng không nào? Ở bài viết này mình sẽ giới thiệu cho các bạn làm như thế nào để có được “Google Assistant” trên Raspberry Pi.


 Cài đặt Google Assistant lên Raspberry Pi

Yêu cầu phần cứng:

  • 1 Raspberry Pi
  • 1 USB Microphone
  • 1 USB Convert Loa jack 3.5
  • 1 chiếc loa jack 3.5
  • Màn hình + chuột

Yêu cầu phần mềm

  • Cài đặt Raspbian lên Raspberry Pi các bạn xem tại đây
  • Test Mic và Loa

Chạy terminal lệnh sau để thu âm:

sudo arecord -D plughw:1 -r 32000 -f S16_LE test.wav

Sau đó chạy terminal lệnh này để phát lại

sudo aplay ./temp.wav

Hoặc dòng lệnh này:

speaker-test -c2 -twav  

Nếu các bạn đã nghe được tiếng mình vừa thu âm thì Mic và Loa của bạn đã sẵn sàng để sử dụng!

Còn nếu không thì các bạn chạy lệnh sau:

aplay -l 

để chọn card sound và mic sau đó mở file asoundrc để chỉnh sửa theo thiết bị của bạn:

sudo nano ~/.asoundrc 

File của bạn sẽ có nội dung như sau:

pcm.!default { 

    type hw 

    card  xxx

ctl.!default { 

    type hw 

    card  xxx

Trong đó xxx  là số của thiết bị mà bạn chọn (ví dụ 1 hoặc 0)

Hoặc nếu bạn muốn sử dụng usb SoundCard mà bạn cắm vào thì sửa nội dung file asoundrc như sau:

pcm.!default plughw:Device

ctl.!default plughw:Device

 sau đó chạy 2 dòng lệnh test mic và loa lại để xem thành công chưa, nếu thành công thì sang bước kế tiếp nhé.

Đăng ký project developer

 

  • Các bạn click vào REGISTER MODEL và điền vào thông tin của bạn

  • Tiếp theo các bạn download Oauth 2.0 credentials về RaspberryPi, và chắc rằng nó phải nằm trong /home/pi

  • Click Skip

  • Đến đây thì việc tạo Project, Model và tải về Oauth key đã hoàn tất.

Cài đặt SDK và Sample Code

  • Cài đặt python3

sudo apt-get update

sudo apt-get install python3-dev python3-venv # Use python3.4-venv if the package cannot be found.

python3 -m venv env

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

source env/bin/activate

  • Cài đặt SDK và Library liên quan

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]

  • Đã hoàn tất việc cài đặt, bây giờ là đến bước xác thực

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

  • Bạn cần phải import file .json đã down về ở bước Auth 2.0 Credentials

google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype \

      --scope https://www.googleapis.com/auth/gcm \

      --save --headless --client-secrets /path/to/client_secret_client-id.json

  • Sau khi chạy đoạn code trên bạn Terminal sẽ trả về 1 link URL yêu cầu bạn xác thực như sau:

Please visit this URL to authorize this application: https://...

Enter the authorization code:

  • Bạn truy cập vào URL đó trên Web brower và trược trả về đoạn code

"4/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" copy và paste vào authorization code nếu thành công bạn sẽ nhận được đoạn respone sau:

credentials saved: /path/to/.config/google-oauthlib-tool/credentials.json

Vào trong đoạn code sau:

googlesamples-assistant-hotword --project_id my-dev-project --device_model_id my-model

  • Và cuối cùng là chúc mừng bạn đã thành công!
  • À còn một điều nữa để chạy được “GooglePi” các bạn cần phải chạy trong môi trường của python, vậy nên mình sẽ tạo 1 google.sh ở /home/pi có nội dung là:

source env/bin/activate

googlesamples-assistant-hotword

  • Vậy là từ bây giờ ở Terminal các bạn có thể bật “GooglePi” bằng cách:

bash /home/pi/google.sh

Nếu bạn muốn Google tự khởi động cùng hệ thống thì hãy thêm đoạn code trên vào file bash.rc nhé!

Chúc các bạn thành công!

Nếu có thắc mắc hoặc góp ý, các bạn hãy comment bên dưới để bài viết có thể được hoàn thiện hơn. Xin cảm ơn,

Phạm Vĩnh Toàn - Mechasolution Việt Nam

 

Có thể bạn quan tâm ???