Trợ lý ảo Google Assistant này sẽ chủ động lắng nghe giọng nói và đáp ứng các yêu cầu của bạn, bạn chỉ cần nói “OK Google” hoặc “Hey Google”
Để làm được như vậy, bạn sẽ được hướng dẫn cụ thể từng bước, từ thiết lập âm thanh, đăng nhập vào Google Assistant API và làm thế nào để tải và cài đặt các ví dụ thực tế của Trợ lý ảo Google.
Danh sách thiết bị
Yêu cầu cần có:
- Raspberry Pi 2 or 3
- Micro SD Card
- Power Supply
- Loa
- USB Microphone
- Kết nối Ethernet hoặc Wifi (Raspberry Pi 3 trở lên đã có sẵn WiFi)
- Raspberry Pi Case
Đăng ký tài khoản Google API
1. Đăng ký và cài đặt dự án trên Google Actions Console.
Bạn đến đây Google Console Actions dashboard, hoặc theo đường dẫn sau:
https://console.actions.google.com
2. Sau khi đăng nhập, bạn sẽ được thấy như hình dưới.
Chọn vào “Add/Import project”
3. Một của sổ xuất hiện, bạn nhập tên dự án vào “Project Name” (1.)
Chọn tên quốc gia và ngôn ngữ ở mục số (2.)
Nhấn “Create Project” (3.)
4. Tạo một của sổ mới, đi tới Google developers console và bật tính năng Google Embedded Assistant API.
- Bạn nhấn vào đường dẫn liên kết ở (1.)
- Sau đó tìm và nhấn vào nút “Enable” (2.)
5. Quay lại trang đầu tiên mà bạn tạo dự án, kéo xuống cuối trang, bạn sẽ thấy như hình dưới:
Tìm và chọn vào “Device Registration”
6. Ở cửa sổ tiếp theo, chọn “Register Model”.
7. Một cửa sổ menu mới, chọn cần điền các thông tin về “Product Name“, “Manufacturer name” và “Device Type” (1.)
- Tại “Product Name” bạn có thể đặt là “pi3 Google Assistant“.
- Tại “Manufacturer name” có thể là “Pi Viet Nam“.
- Thiết lập “Device Type” là “Speaker”
- Chọn “Device Model ID” ở mục (2.)
- Cuối cùng, bạn chọn “Register Model” (3.)
8. Sau khi đang ký xong, cửa số “Download credentials” xuất hiện.
Các công việc ở bước này sẽ cho phép Trợ lý ảo Google trên Raspberry Pi có thể truy cập vào máy chủ.
- Bạn nhấn vào “Download OAuth 2.0 credentials” (1.) và lưu vào một nơi an toàn
- Tiếp theo bạn nhấn vào “Next” (2.)
9. Cuối cùng, bạn nhấn “Save Traits”
10. Sau khi mọi thứ hoàn tất, bạn thấy cửa sổ suất hiện như hình dưới.
11. Cuối cùng, bạn truy cập vào đường dẫn ở dưới để kích hoạt các tính năng được liệt kê để đảm bảo Google Assistant API hoạt động đúng.
- Web & App Activity
- Location History
- Device Information
- Voice & Audio Activity
https://myaccount.google.com/activitycontrols
Thiết lập âm thanh cho Google Assistant
1. Google Assistant SDK cần phải được thiết lập âm thanh mới hoạt động.
Để cài đặt âm thanh cho Raspberry Pi, chúng ta làm theo các bước sau:
- Xác định vị trí của USB microphone bằng cmd bên dưới. Ghi lại mã số card và mã số thiết bị
arecord -l
- Xác định vị trí speaker (loa), ta sẽ sử dụng cmd bên dưới. Ghi lại mã số card và mã số thiết bị.
Lưu ý: Jack 3.5mm của Raspberry Pi thường là loại Analog hoặc bcm2835 ALSA, với ngõ ra từ cổng HDMI có ID là bcm2835 IEC958/HMDI
aplay -l
2. Sau khi bạn đã có được các mã số của các thiết bị và card microphone và speaker, bạn cần phải tạo tệp có tên: .asoundrc trong thư mục home.
Tệp .asoundrc sẽ giúp Pi định nghĩa các thiết bị âm thanh mà driver âm thanh sẽ sử dụng.
Dùng cmd trong terminal để tạo:
nano /home/pi/.asoundrc
3. Tạo nội dung trong tệp .asoundrc
Thay <card number> và <device number> mà bạn đã tìm trong Bước 1.
pcm.!default {
type asym
capture.pcm "mic"
playback.pcm "speaker"
}
pcm.mic {
type plug
slave {
pcm "hw:<card number>,<device number>"
}
}
pcm.speaker {
type plug
slave {
pcm "hw:<card number>,<device number>"
}
}
4. Cuối cùng nhấn CTRL + X rồi Y và nhấn ENTER để Lưu và kết thúc.
Thử loa và Mic với Trợ lý ảo Google
1. Kiểm tra âm thanh đã hoạt động đúng chưa bằng cách sử dụng cmd bên dưới. Trước khi kiểm tra, bạn nhớ cắm các thiết bị vào Raspberry Pi. Bạn sẽ nghe âm thanh tiếng người nói từ loa.
speaker-test -t wav
2. Bước tiếp theo là kiểm tra microphone với cmd ở dưới.
Dòng cmd này sẽ ghi âm trong trong vòng 5s:
arecord --format=S16_LE --duration=5 --rate=16000 --file-type=raw out.raw
3. Sau khi ghi âm kết thúc, bạn chạy cmd sau để phát lại:
aplay --format=S16_LE --rate=16000 out.raw
4. Nếu âm thanh hồi tiếp về quá to hoặc quá nhỏ, bạn cmd dưới để điều chỉnh âm lượng.
Thường bạn để tầm 70% để hoạt động, quay lại bước 1 để kiểm tra lại.
alsamixer
Downloading and setting up Google Assistant
1. Để cài đặt Google Assistant API, bạn cần cấu hình và thiết lập một vài thứ.
Cập nhật Raspberry Pi:
sudo apt-get update
2. Sau khi cập nhật Raspberry Pi hoàn tất, ta cần xử lý mọi thứ để chạy được Google Assistant API.
Đầu tiên, bạn cần tạo nơi để lưu lại tệp chứng thực mà bạn đã tải về ở đầu bài hướng dẫn.
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3. Copy nội dung tệp chứng thực đã tải và dán vào credentials.json
4. Nhấn Ctrl + X rồi Y -> Enter.
5. Cài đặt Python3 và the Python 3 Virtual Environment trên Raspberry Pi.
sudo apt-get install python3-dev python3-venv
6. Enable python3
python3 -m venv env
7. Cài đặt pip and the setuptools
env/bin/python -m pip install --upgrade pip setuptools --upgrade
8. Tạo môi trường làm việc mới của Python
source env/bin/activate
9. Cập nhật các phiên bản mới nhất
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk[samples]
Ủy quyền Raspberry Pi cho Trợ lý ảo Google
1. Cài đặt công cụ ủy quyền Python.
python -m pip install --upgrade google-auth-oauthlib[tool]
2. Tạo đường dẫn URL để dùng trên trình duyệt
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
3. Lúc này, một đường dẫn xuất hiện, bạn copy và mở trên trình duyệt.
4. Cửa sổ đăng nhập tài khoản Google xuất hiện, bạn chọn tài khoản đã đăng ký API.
Sau đó một đoạn văn bản xuất hiện: “Please copy this code, switch to your application and paste it there”
Sao chép mã xác thực và dán lại vào Terminal và nhấn enter.
Nếu xác thực được chấp nhận, bạn sẽ thấy dòng sau xuất hiện trên Terminal của mình:
“credentials saved: /home/pi/.config/google-oauthlib-tool/credentials.json”
5. Mở terminal mới và nhập cmd sau:
chromium-browser --disable-web-security --user-data-dir "/home/pi/"
6. Xác nhận bước tiếp theo
Thay <projectid> bằng ID của dự án
Nếu bạn không biết ID, bạn vào Actions Console on Google, kích vào dự án bạn đã tạo, chọn Cog phía trên tay tái rồi “Project Settings“.
Thay <deviceid> ID của thiết bị đã được hướng dẫn ở trên.
Nếu bạn không biết ID, bạn vào Actions Console on Google, vào dự án bạn đã tạo và chọn “Device registration”
googlesamples-assistant-pushtotalk --project-id <projectid> --device-model-id <deviceid> --display
7. Sau đó nhấn Enter, một tab mới xuất hiện
Kích chọn “Continue“.
8. Kích chọn “I understand”.
9. Kích chọn “Allow”
10. Tới đây, bạn có thể chạy các ví dụ mẫu của Trợ lý ảo Google.
Bạn có thể gõ “What is the time” -> Enter, bạn sẽ nghe được kết quả trả về.
Các sử dụng Trợ lý ảo Google trên Raspberry Pi
1. Chọn môi trường làm việc cho Trợ lý ảo Google trên Raspberry Pi.
source env/bin/activate
2. Tiếp theo, (env) sẽ xuất hiện.
Bạn gõ:
googlesamples-assistant-pushtotalk
3.Mặc định, Trợ lý ảo sẽ lắng nghe “Ok Google” làm từ khóa để khởi động.
Để bắt đầu, bạn gõ dòng lệnh dưới:
Thay deviceid bằng ID ở trên
googlesamples-assistant-hotword --device-model-id <deviceid>
4. Đến đây, bạn có thể nói “OK google ” để Trợ lý ảo Google bắt đầu làm theo yêu cầu của bạn.
Nếu có vấn đề sảy ra, bạn đến “Setting up your Audio for Google Assistant” vào phần “Testing your Audio for Google Assistant”.
Cài đặt cho Trợ lý ảo Google khởi động cùng hệ thống
1. Đầu tiên bạn tạo tệp mới:
nano /home/pi/start_assistant.sh
2. Chép nội dung sao vào tệp trên với abcd là device id ở đầu bài hướng dẫn
#!/bin/bash
source /home/pi/env/bin/activate
googlesamples-assistant-hotword --device-model-id abcd
3. Nhấn CTRL + X -> Y -> ENTER.
4. Tạo tệp script trên Raspberry Pi.
sudo nano /lib/systemd/system/assistant.service
5. Chép nội dung sao vào tệp trên
[Unit]
Description=Google Assistant
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
ExecStart=/bin/bash /home/pi/start_assistant.sh
Restart=on-abort
User=pi
Group=pi
[Install]
WantedBy=multi-user.target
6. Nhấn CTRL + X -> Y -> ENTER.
7. Enable tệp
sudo systemctl enable assistant.service
8. Khởi động:
sudo systemctl start assistant.service
9. Bạn thử lại “Ok Google” xem đã chạy OK chưa.
Nếu vẫn chưa hoạt động, bạn kiểm tra lỗi với cmd sau:
sudo systemctl status assistant.service
10. Đến đây là đã kết thúc bài hướng dẫn. Hi vọng bạn sẽ thành công với lần thực hiện đầu tiên. Nếu chưa được, bạn hãy làm lại từng bước một thận cẩn thận.
Hãy bình luận các vấn đề bạn gặp phải bên dưới nhé.
Chúc bạn thành công.
Nguồn: PiUpMyLife