Ngày nay nhiều người đang sử dụng phần mềm trợ lý ảo trong nhà và văn phòng để giúp đỡ các tác vụ hàng ngày. Có nhiều mẫu khác nhau để mua, nhưng bạn có biết mình có thể tự xây dựng một không? Amazon Developer cho phép bạn sử dụng phần mềm Alexa để tạo Amazon Echo riêng với Raspberry Pi.
Vật Liệu Cần Thiết
Cho dự án này, bạn sẽ cần:
- Raspberry Pi 3 hoặc Pi 2 Model B và cáp nguồn Micro-USB
- Thẻ Micro SD (Tối thiểu 8 GB) – Nếu bạn chưa cài hệ điều hành, có một hệ điều hành dễ dùng tên NOOBS (New Out of the Box Software). Cách đơn giản nhất để có NOOBS là mua thẻ SD đã cài sẵn NOOBS.
- Microphone USB 2.0 Mini
- Loa ngoài và cáp âm thanh 3.5mm
- Bàn phím USB, chuột và màn hình HDMI ngoài
- Kết nối Internet (Ethernet hoặc WiFi)
- Để Pi 2 kết nối Internet không dây, bạn cần bộ chuyển đổi WiFi Wireless Adapter. Pi 3 có WiFi tích hợp.
Đăng Ký Tài Khoản Amazon Developer
Nếu bạn cần tài khoản Amazon Developer, hãy tạo một tài khoản miễn phí trên trang của họ. Đọc Điều khoản và Thỏa thuận AVS (Alexa Voice Service) tại đây.
Hoàn thiện thông tin hồ sơ của bạn.
Đọc và chấp nhận Thỏa thuận Phân phối Ứng dụng.
Chọn xem bạn có muốn kiếm tiền từ ứng dụng hay không.
Tạo Thiết Bị Trên Amazon Developer
Sau khi đăng ký tài khoản Amazon Developer, hãy tạo một thiết bị Alexa và hồ sơ bảo mật. Hãy ghi chú kỹ các tham số sau khi bạn thực hiện thiết lập – ProductID, ClientID và ClientSecret, vì bạn cần nhập lại chúng sau này.
Từ menu trên cùng, chọn "Alexa Voice Service".
Màn hình "Welcome to Developer" sẽ xuất hiện.
Màn hình đầu tiên hỏi về sản phẩm bạn đang xây dựng.
- Đầu tiên, đặt tên cho thiết bị của bạn.
- Tiếp theo, nhập Product ID không có khoảng trắng hoặc ký tự đặc biệt. Lưu ý: Bạn cần giá trị này sau. Hãy ghi nó lại ở đâu đó.
- Chọn Alexa-Enabled Device cho loại sản phẩm.
- Alexa cần một ứng dụng đồng hành. Chọn yes cho câu hỏi này.
- Chọn Wireless Speakers từ menu thả xuống.
- Nhập "Raspberry Pi Project on Github" vào hộp mô tả. Đây là thông tin cho AVS và không hiển thị cho người khác.
- Chọn cả hai tùy chọn "Touch-initiated" và "Hands-free".
- Bạn có thể tải lên hình ảnh cho thiết bị, nhưng hãy bỏ qua bước này cho lúc này.
- Chọn "no" cho các câu hỏi về phân phối thương mại và sản phẩm cho trẻ em.
- Nhấn "Next".
Tạo Hồ Sơ Bảo Mật
Trên trang này, bạn tạo một hồ sơ bảo mật LWA (Login with Amazon) mới để xác định dữ liệu người dùng và thông tin xác thực bảo mật với dự án này.
- Nhấn "Create new profile".
- Tạo tên cho hồ sơ. Có thể là "Alexa Security Profile".
- Nhập mô tả cho hồ sơ. Bạn có thể chọn "Alexa Security Profile Description".
- Nhấn "Next".
- Amazon tạo Client ID và Client Secret cho bạn. Đây là hai giá trị còn lại bạn cần sau này. Giữ chúng gần bên.
- Nhập Allowed origins và Allowed return URLs. Chúng ta thiết lập đường dẫn http và https cho dự án này, nên nhập sau vào trường "Allowed Origins" – "https://localhost:3000".
- Nhấn "Add".
- Nhập "https://localhost:3000" vào cùng hộp nơi bạn nhập cái đầu tiên.
- Nhấn "Add" lần nữa.
- Làm tương tự cho Allowed Return URLs, trừ việc nhập hai URL sau:
https://localhost:3000/authresponse https://localhost:3000/authresponse
- Trang nên trông như thế này trước khi bạn nhấn Finish. Đảm bảo không có URL nào vẫn còn ở trường nhập. Chúng hiển thị trên nền xám sau khi bạn thêm.
- Sau khi nhấn "Finish", màn hình này xuất hiện. Dự án của bạn đã được tạo và sẵn sàng cài đặt.
Clone Ứng Dụng Mẫu Alexa
- Mở Terminal.
- Nhập lệnh sau:
cd Desktop git clone https://github.com/alexa/alexa-avs-sample-app.git
Cập Nhật Script Cài Đặt Bằng Thông Tin Xác Thực Của Bạn
Trước khi chạy script cài đặt, cập nhật script với thông tin xác thực bạn đã ghi lại từ Amazon – ProductID, ClientID, ClientSecret.
- Nhập sau trong Terminal:
cd ~/Desktop/alexa-avs-sample-app nano automated_install.sh
- Khi chạy, màn hình này xuất hiện. Dùng phím mũi tên để điều hướng, và thay thế các trường ProductID, ClientID và ClientSecret bằng giá trị của bạn.
- Thay đổi nên trông như sau:
ProductID="Your Device Name" ClientID="amzn.xxxxx.xxxxxxxxx" ClientSecret="4e8cb14xxxxxxxxxxxxxxxxxxxxxxxxxxxxx6b4f9"
- Nhấn Ctrl + X để thoát script. Nhấn Y rồi Enter để lưu thay đổi.
Chạy Script Cài Đặt
Để chạy script, mở Terminal và chạy các lệnh sau.
cd ~/Desktop/alexa-avs-sample-app . automated_install.sh
Trong khi script chạy, bạn sẽ được hỏi một số câu hỏi đơn giản. Chúng nhằm đảm bảo bạn đã hoàn tất tất cả thiết lập cần thiết trên Amazon trước khi cài đặt chương trình.
Cài đặt mất khoảng ba mươi phút, hãy đi ăn vặt chút.
Khi cài đặt đúng, cửa sổ terminal sẽ trông như hình sau.
Ba Terminal
Bạn phải hoàn tất ba bước để chạy ứng dụng Alexa. Mỗi bước phải chạy trong một cửa sổ Terminal riêng biệt, và bạn phải làm theo đúng thứ tự.
Có một số chương trình tôi cần nhưng không có. Tôi cài đặt chúng khi thực hiện. Trong trường hợp bạn gặp cùng vấn đề, tôi đã bao gồm ghi chú bên cạnh trong mỗi bước.
Terminal 1
Cửa sổ này chạy dịch vụ web để xác thực ứng dụng của bạn với AVS (Alexa Voice Service).
Mở Terminal và nhập các lệnh sau:
cd ~/Desktop/alexa-avs-sample-app/samples cd companionService && npm start
Lưu ý: npm là trình quản lý gói cho ngôn ngữ lập trình JavaScript. Nếu nó không có sẵn khi bạn chạy lệnh, bạn có thể tải nó tại đây.
Khi script kết thúc, cửa sổ trông như sau, cho thấy Pi đang lắng nghe trên cổng 3000.
Đừng đóng cửa sổ này. Nó cần giữ mở trong khi hoàn tất các bước tiếp theo.
Terminal 2
Cửa sổ này giao tiếp với AVS.
Nhập sau vào một cửa sổ Terminal khác.
cd ~/Desktop/alexa-avs-sample-app/samples cd javaclient && mvn exec:exec
Lưu ý: mvn là viết tắt của Apache Maven. Nếu bạn không có nó, nhấn vào đây để bắt đầu.
Khi chạy client, một hộp thoại xuất hiện nói "Please register your device by …"
Nhấn Yes.
Với một số trình duyệt, bạn sẽ nhận được cảnh báo kết nối không an toàn. Bỏ qua bằng cách nhấn nút "advanced". Sau đó trên màn hình tiếp theo, nhấn "Proceed to localhost (unsafe)".
Bây giờ, đăng nhập vào Amazon bằng thông tin developer của bạn.
Màn hình tiếp theo xin phép sử dụng hồ sơ bảo mật bạn tạo trước đó cho thiết bị bạn đang đăng ký. Nhấn Okay.
Bạn sẽ được chuyển hướng đến URL bắt đầu bằng "https://localhost:3000/authresponse" trông như hình sau.
Quay lại hộp thoại mở và nhấn nút OK. Client giờ có thể chấp nhận yêu cầu từ thiết bị Alexa của bạn.
Giữ terminal mở cũng như hộp thoại Voice Service.
Terminal 3
Cửa sổ này cài đặt ứng dụng đánh thức Alexa bằng từ khóa kích hoạt. Bỏ qua nếu bạn không muốn dùng giọng nói để khởi động Alexa.
Mở một terminal mới và dùng một trong các lệnh sau để khởi động wake word engine dùng Sensory hoặc KITT.AI.
Để dùng Sensory wake word engine, nhập:
cd ~/Desktop/alexa-avs-sample-app/samples cd wakeWordAgent/src && ./wakeWordAgent -e sensory
Để dùng KITT.AI wake word engine, nhập:
cd ~/Desktop/alexa-avs-sample-app/samples cd wakeWordAgent/src && ./wakeWordAgent -e kitt_ai
Thử Nghiệm
Nói chuyện với Alexa bằng từ khóa đánh thức "Alexa". Chờ tiếng bíp trước khi ra lệnh. Ví dụ, hãy thử nói "Alexa". Chờ bíp, rồi hỏi "What's the time?".
Nếu cô ấy phản hồi đúng, bạn đã có một thiết bị Alexa hoạt động!
Xem trang Alexa của Amazon để có thêm ý tưởng. Alexa này có thể làm mọi thứ Echo làm được!