Đây là loa thông minh DIY dựa trên dự án AIY của Google. Mình đã cài đặt thành công lên Orange Pi Zero và hoàn thiện với vỏ hộp nhỏ gọn.
CHUẨN BỊ
Để DIY mình cần những thứ sau:
- Orange Pi Zero https://link.hs2t.com/uuXSD3PXaH1tUbds5
- Board mở rộng (sẵn micro và đường line out 3.5mm) https://link.hs2t.com/HnxFJAHLqRusDihW8
- Thẻ nhớ từ 4G (nếu bạn biết shrink img có thể dùng thẻ 2G)
- Loa 5mm 40ohm 3W https://link.hs2t.com/ZMzC3ULAeg9qj4xe8
- Mạch tăng âm 3W https://link.hs2t.com/cc3GW3PwuQJWr65a6
- Led
- Download file ảnh backup của mình để ghi ra thẻ nhớ https://taymay.page.link/opz_assistant_vn
- File in 3D vỏ hộp https://taymay.page.link/vo_loa_orangepi
Một lưu ý quan trọng nhiều bạn đã gặp là board hoạt động chập chờn hoặc không khởi động được. Cái này cần dùng nguồn thật tốt nhé. Nguồn thường thường sẽ không đủ dòng và gây ra các vấn đề bất ổn.
LẮP RÁP LOA VÀ HÀN LED
Các bạn ráp theo ảnh bên:
- đèn LED nối đúng vào hai chân 25 và 26 trên board Orange Pi Zero
- Nguồn cấp 3v3 cho mạch tăng âm, và câu line out L trên board mở rộng vào mạch tăng âm
Mạch tăng cần thiết phải mắc thêm tụ lọc nguồn để không bị rè. Các bạn dùng tụ có F càng lớn thì càng tốt (thực tế mình dùng tụ )
GHI FILE ẢNH VÀ TẠO PROJECT TRÊN GOOGLE CLOUD
- Sau khi tải về file ảnh, các bạn dùng phần mềm [Balena Eatcher (https://www.balena.io/etcher/) để ghi ra thẻ nhớ
- Làm theo đúng 17 bước hướng dẫn này https://aiyprojects.withgoogle.com/voice/#google-assistant--get-credentials để có được file assistant.js
- Tạo hotword ở trang https://snowboy.kitt.ai/ sau đó đổi tên thành tieunhi.pmdl (hoặc đặt tên bất kỳ rồi sửa lại trong file start_assistant.sh)
- Copy 2 file assistant.json và tieunhi.pmdl vào orange pi bằng lệnh sau:Với 192.168.1.x là địa chỉ ip của Orange Pi Zero
scp assistant.json tieunhi.pmdl [email protected]:/root/
- SSH vào Orange Pi Zero để làm tiếp các bước dưới
TEST MIC VÀ LOA
Dùng lệnh này để ghi âm trong 5 giây
arecord --format=S16_LE --duration=5 --rate=16000 --file-type=raw out.raw
Sau đó phát lại ra loa để kiểm tra
aplay --format=S16_LE --rate=16000 out.raw
CHẠY & CẤP QUYỀN LẦN ĐẦU
Dùng lệnh này để chạy lần đầu
./start_assistant.sh
Sau khi cấp quyền xong thì được một token, hãy copy và dán lại vào chỗ vừa copy url là hoàn thành nhé
CHẠY SERVICE TỰ ĐỘNG
Sau khi chạy thành công lần đầu thì mới bật service lên để chạy tự động mỗi khi cấp nguồn cho Orange Pi Zero nhé Các bạn dùng lệnh này để bật service tạo sẵn lên
systemctl enable assistant.service
systemctl start assistant.service
Nếu không có file assistant.service có thể tạo bằng lệnh sau:
nano /lib/systemd/system/assistant.service
[Unit]
Description=Google Assistant
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
ExecStart=/bin/bash /root/start_assistant.sh
Restart=on-abort
User=root
Group=root
[Install]
WantedBy=multi-user.target
VIDEO HƯỚNG DẪN
LINK THAM KHẢO
- Dự án AIY: https://aiyprojects.withgoogle.com/voice/
- Github của AIY: https://github.com/google/aiyprojects-raspbian
- Snowboy dùng cho hotword: https://snowboy.kitt.ai/
- Mod snowboy cho AIY: https://github.com/senyoltw/custom-hotword-for-aiy-voicekit
- Orange Pi gpio librarie:
Đăng nhận xét