Biến Raspberry Pi thành Amazon Echo

Ngày nay các phần mềm trợ lý ảo đang dần trở nên phổ biến hơn và trở thành một người bạn hữu ích giúp chúng ta hoàn thành các công việc ở văn phòng cũng như tại nhà dễ dàng hơn. Không khó để tìm mua một chiếc loa trợ lý ảo, nhưng điều thú vị là bạn hoàn toàn có thể tạo ra một thiết bị trợ lý ảo cho riêng mình với Amazon Developer. Amazon Developer cho phép bạn sử dụng phần mềm Alexa để biến Raspberry Pi trở thành Amazon Echo.

Vật liệu cần thiết

Đối với nhiệm vụ này, bạn sẽ cần:

  • Raspberry Pi 3 hoặc Pi 2 Model B và cáp điện Micro-USB
  • Thẻ micro SD (tối thiểu 8 GB) - Nếu bạn chưa cài đặt hệ điều hành, có một hệ điều hành mới khá dễ sử dụng được gọi là NOOBS. Cách đơn giản nhất để tải NOOBS là mua thẻ SD được tải sẵn NOOBS.
  • Một micro mini có cổng USB 2.0
  • Loa ngoài và cáp âm thanh 3,5 mm
  • Bàn phím USB, chuột và màn hình HDMI
  • Kết nối Internet (Ethernet hoặc WiFi)
  • Đối với Raspberry Pi 2, để kết nối Internet không dây, bạn cần chuẩn bị thêm Adapter WiFi. Còn Raspberry Pi 3 đã có tích hợp Wi-Fi.

Đăng ký tài khoản Amazon Developer

Nếu bạn chưa có 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ọ.

Điển đầy đủ thông tin cá nhân cần thiết

Đọc và chấp nhận Thỏa thuận sử dụng ứng dụng.

Chọn xem bạn có kiếm tiền từ ứng dụng của mình hay không.

Tạo thiết bị của bạn 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à một profile bảo mật. Lưu ý, hãy chú ý đến những thông tin này sau khi bạn thực hiện cài đặt: ProductID, ClientID và ClientSecret, vì bạn sẽ cần đến các thông số này ở những bước sau.

Ở phía trên cùng màn hình, phần menu tùy chọn, chọn Alexa Voice Service.

Màn hình "Welcome to Developer" sẽ hiện ra.

Màn hình đầu tiên hỏi bạn về sản phẩm mà bạn đang phát triển.

1. Trước tiên, hãy đặt tên cho thiết bị của bạn.

2. Tiếp theo, nhập ProductID (không được có dấu cách hoặc ký tự đặc biệt) (Chú ý bạn sẽ cần đến thông tin này ở những bước sau, hãy ghi chú lại).

3. Chọn Alexa-Enabled Device cho mục loại sản phẩm.

4. Alexa sẽ cần một ứng dụng đồng hành. Chọn Yes cho phần này.

5. Chọn Wireless Speakers (loa không dây) trong menu tùy chọn.

6. Nhập “Raspberry Pi Project on Github” vào ô mô tả. Đây là thông tin cho AVS và những người dùng khác sẽ không thể đọc được.

7. Tích vào cả hai tùy chọn Touch-initiatedHands-free.

8. Bây giờ bạn có thể tải lên hình ảnh cho thiết bị của mình.

9. Chọn No đối với mục phát triển thiết bị nhằm mục đích thương mại và các câu hỏi liên quan đến trẻ em.

10. Nhấp vào Next.

Tạo profile bảo mật của bạn

Trên trang này, bạn tạo một profile bảo mật LWA (Login with Amazon) mới để xác định dữ liệu người dùng và thông tin đăng nhập bảo mật.

1. Nhấp vào “Create new profile”.

2. Tạo tên cho profile. Ví dụ như "Alexa Security Profile".

3. Trong phần nhập mô tả cho profile. Bạn có thể chọn “Alexa Security Profile Description”.

4. Nhấp vào Next.

5. Amazon tạo ra một Client ID và Client Secret cho bạn. Đây là hai thông tin bạn sẽ cần đến sau này. Vậy nên hãy lưu ý.

6. Nhập URL của Allowed origins và Allowed return. Chúng ta đang thiết lập các địa chỉ http và https cho dự án này, vì vậy hãy nhập “http://localhost:3000.” vào mục “Allowed origins” của bạn.

7. Click vào Add.

8. Tiếp tục gõ địa chỉ “https://localhost: 3000” như bạn đã gõ vào ô phía trên.

9. Tiếp tục Click vào Add.

10. Thực hiện tương tự với URL của Allowed return, ngoại trừ nhập hai URL sau:

http://localhost:3000/authresponse
https://localhost:3000/authresponse

11. Trang web sẽ trông như thế này trước khi bạn nhấn Finish. Hãy đảm bảo rằng các URL phải được hiển thị trên nền xám sau khi bạn đã nhập chúng vào các ô tương ứng.

12. Sau Khi bạn nhấp vào Finish, màn hình này sẽ xuất hiện. Lúc này, dự án của bạn đã được tạo và sẵn sàng để đi tới phần cài đặt.

Sao chép ứng dụng Alexa mẫu

  1. Mở cửa sổ nhập lệnh (Terminal).

2. Nhập thông tin sau:

cd Desktop
git clone https://github.com/alexa/alexa-avs-sample-app.git

Cập nhật các lệnh cài đặt bằng cách sử dụng các thông tin xác thực

Trước khi cho chạy các lệnh cài đặt, hãy cập nhật chúng bằng thông tin xác thực bạn đã được Amazon cung cấp: ProductID, ClientID, ClientSecret.

1. Trong Terminal, gõ như sau:

cd ~/Desktop/alexa-avs-sample-app
nano automated_install.sh

2. Khi lệnh chạy, một màn hình như thế này sẽ xuất hiện. Bạn sử dụng các phím điều hướng mũi tên trên bàn phím để điều hướng và thay thế các trường cho ProductID, ClientID và ClientSecret bằng các giá trị bạn đã được nhận.

Lệnh sau khi thay đổi sẽ trông như thế này:

ProductID="Your Device Name"
ClientID="amzn.xxxxx.xxxxxxxxx"
ClientSecret="4e8cb14xxxxxxxxxxxxxxxxxxxxxxxxxxxxx6b4f9"

Nhấp Ctrl + X để thoát tập lệnh. Nhấp Y và sau đó nhấn Enter để lưu các thay đổi của bạn.

Chạy các lệnh cài đặt

Để chạy tập lệnh, mở Terminal và nhập các lệnh sau:

cd ~/Desktop/alexa-avs-sample-app
. automated_install.sh

Trong khi tập lệnh này đang chạy, bạn sẽ được yêu cầu trả lời một số câu hỏi đơn giản để đảm bảo rằng bạn đã hoàn thành tất cả các thiết lập cần thiết trên Amazon trước khi cài đặt chương trình.

Quá trình cài đặt sẽ diễn ra trong khoảng ba mươi phút.

Sau khi cài đặt thành công, cửa sổ Terminal của bạn sẽ trông giống như hình dưới đây.

3 Terminal

Bạn phải hoàn thành ba bước để chạy ứng dụng Alexa. Mỗi bước được chạy trong một cửa sổ Terminal riêng biệt, và bạn thực hiện các bước theo đúng thứ tự.

Terminal 1

Cửa sổ này sẽ chạy một dịch vụ web để ủy quyền ứ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à gói quản lý 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ể lấy nó ở đây.

Khi quá trình chạy lệnh kết thúc, cửa sổ trông như thế này sẽ xuất hiện.

Đừng vội đóng, cửa sổ này cần phải vẫn mở trong khi bạn tiến hành các bước tiếp theo.

Terminal 2

Cửa sổ này giúp giao tiếp với AVS.

Gõ lệnh 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 chưa có, hãy nhấp vào đây.

Khi bạn chạy client, một hộp thoại sẽ xuất hiện hiển thị rằng: "Please register your device by …"

Chọn Yes.

Với một số trình duyệt, bạn sẽ nhận được cảnh báo rằng kết nối này không an toàn. Tắt thông báo này bằng cách nhấp vào nút Advance. Sau đó, ở màn hình tiếp theo, nhấp vào Proceed to localhost (unsafe).

Bây giờ, hãy đăng nhập vào Amazon bằng thông tin đăng nhập của nhà phát triển mà bạn đã có.

Màn hình tiếp theo sẽ yêu cầu quyền sử dụng profile bảo mật bạn đã tạo trước đó cho thiết bị bạn đang đăng ký. Nhấp vào Ok.

Sau đó bạn sẽ được chuyển hướng đến một URL bắt đầu bằng “https://localhost: 3000/authresponse” trông giống như hình dưới đây.

Quay lại hộp thoại đang mở và nhấp vào nút OK. Bây giờ client có thể chấp nhận các yêu cầu từ thiết bị Alexa của bạn.

Không được đóng cửa sổ terminal và hộp thoại Voice Service Dialog.

Terminal 3

Ứng dụng đánh thức Alexa bằng giọng nói sẽ được cài đặt ở cửa sổ này. Nếu bạn không muốn sử dụng giọng nói để ra lệnh cho Alexa, có thể bỏ qua bước này.

Mở một cửa sổ Terminal mới và sử dụng một trong các lệnh sau đây để đưa ra hệ thống lời nói đánh thức cho Alexa bằng cách sử dụng Sensory hoặc KITT.AI.

Để sử dụng hệ thống lời nói đánh thức hãy nhập lệnh:

cd ~/Desktop/alexa-avs-sample-app/samples
cd wakeWordAgent/src && ./wakeWordAgent -e sensory

Dùng thử

Đánh thức trợ lý ảo bằng cách nói “Alexa”. Sau khi một tiếng bíp xuất hiện là bạn có thể bắt đầu ra lệnh. Ví dụ, hãy thử bằng cách nói, “Alexa.” Đợi tiếng bíp và hỏi, “mấy giờ rồi?” (What’s the time?).

Nếu Alexa trả lời đúng thì cô trợ lý ảo của bạn đã sẵn sàng cho công việc.

Xem thêm:

Thứ Năm, 16/08/2018 11:40
31 👨 739
0 Bình luận
Sắp xếp theo
    ❖ Raspberry Pi