Điều khiển thiết bị bằng giọng nói thông qua Google Assistant và ESP8266

         Picture of ESP8266 Voice Control With Google Assistant and Adafruit IO

           Điều khiển thiết bị từ xa bằng RF, bluetooth, hồng ngoại…thì quá bình thường, cảm thấy nó không công nghệ gì cao siêu lắm khi mà giờ wifi, smartphone android có khắp nơi. Chỉ cần với giọng nói của bạn với vài câu nói ra lệnh để bật hay tắt thiết bị thông qua Google Assistant có trên điện thoại Andoird, nghe có vẻ hấp dẫn hơn nhiều. Nếu bạn có Google Home thì vẫn nói câu lệnh như vậy sau khi đã làm với Google Assistant, bởi Google Home cũng chính là Google Assistant. Tuy nghiên Google Home có thể làm vài thứ khác đặc biệt chuyên dụng hơn so với Google Assistant trên điện thoại.

            Hiện tại Google chỉ hỗ trợ 1 số ngôn ngữ giao tiếp nhưng không có Tiếng Việt nhé. Nên chỉ sử dụng Tiếng Anh thôi đấy. Cụ thể thì bạn phải chuyển ngôn ngữ điện thoại sang English đi nhé, chứ để Tiếng Việt thì không thể kích hoạt được Google Assistant.
Theo như 1 số thông tin thì đến cuối năm 2018, Google mới ra bản hỗ trợ Tiếng Việt. Tuy nghiên cũng chỉ là hi vọng, còn sự thật hay không thì cứ chờ đợi nhé.

  1. Chuẩn bị:
  • 1 Kit ESP8266
  • 1 Smartphone đã bật Google Assitant (Bật cái này như thế nào thì nhờ bạn hỏi bác Google nhé)
  • 1 máy tính kết nối internet để chúng ta setup, cài đặt.
  • 1 tài khoản Adafruit IO, thằng này sẽ là server để Esp kết nối tới (Bạn tự tạo nhé)
  • 1 tài khoản IFTTT, thằng này là trung gian liên kết Google Assistant với Adafruit
  • Và bạn phải có tài khoản cho Google Assistant
  1. Cài đặt trên Adafruit

Sau khi đăng nhập, bạn phải tạo 1 Dashboard

Mình tạo 1 Dashboard tên “Demo Google Assistant

Sau khi có Dashboard, chúng ta vào Dashboard  add thêm Block. Và block chúng ta cần add đó là Toggle (như hình trên)

Sau đó chúng ta cần tạo 1 Feed mới (làm như trên hình thì mình tạo feed tên “onoff”). Tạo xong tích rồi Next.

Chúng ta cứ để mặc định là ON và OFF như vậy nhé.

Sau khi tạo Block xong thì sẽ như vậy.

Chú ý: Ở Tab VIEW AIO KEY, đây là USERKEY chúng ta sẽ sử dụng trong code IDE cho ESP8266 bên dưới. Nhớ để xíu nữa sử dụng.

  1. Đăng nhập và setup trên IFTTT

Bạn nhớ phải đăng nhập bằng tài khoản của Google Assistant như trên điện thoại nhé.
Cái của mình thì đăng nhập bằng Gmail của Google luôn.

Click NEW APPLET để tạo applet mới. Ở đây chúng ta sẽ tạo 2 Applet, 1 cái cho lệnh ON, 1 cái cho lệnh OFF. Mình sẽ hướng dẫn làm lệnh ON, còn lệnh OFF thì sẽ tương tự, chỉ khác vài câu lệnh.

Với mục THIS thì chúng ta sẽ chọn Google Assistant như hình dưới

Chọn “Say a simple phrase

Điền câu lệnh muốn nói như thế nào thì tùy, mình thì “turn on the light”. Điền xong thì Create Trigger.

Với mục THAT thì chọn “Adafruit” nhé

 

Chọn “Send data to Adafruit IO

Lúc này chúng ta chọn Feed “onoff” (Cái mà chúng ta đã tạo ở dashboard Adafruit), còn mục Data to save thì nhập “ON” nhé (Do đang làm lệnh ON thiết bị)

Tương tự, chúng ta tạo Applet mới cho lệnh OFF, thay vì “turn on the light” thì giờ sẽ là “turn off the light”. Rất dễ dàng.

 

Sau khi tạo 2 Applet cho 2 lệnh ON và OFF thì sẽ hiển thị như vậy.

  1. Cài đặt cho ESP8266

Đầu tiên chúng ta phải thêm thư viện của Adafruit vào IDE.

Vào Sketch->Include Library ->Library Manager,
Add thêm thư viện “Adafruit MQTT

Cấu hình chân điều khiển relay, mình sử dụng chân GPIO16 trên ESP8266 để điều khiển.

Link download: Test_GoogleAssistant_ESP8266.ino

Nội dung code:

 

Sau khi chỉnh lại xong các thông số thì chúng ta build và nạp code cho ESP8266. Cuối cùng chạy thử thôi nào   😀 

  1. Kết luận:

Trên đây là bài hướng dẫn để chúng ta kết hợp Google Assistant + Adafruit + ESP8266 để điều khiển thiết bị thông qua giọng nói, tuy còn đơn giản với 1 số câu nói quá quen thuộc. Do Google mới chỉ hỗ trợ tiếng Anh mà chưa có Tiếng Việt, nhưng cũng nhờ cái này các bạn có thể nâng cao luyện thêm tiếng anh, nói nhiều hơn, tự tin hơn. Nếu bạn có điều kiện mua được Google Home thì bạn nói trên Google Assistant hay Google Home đều như nhau cả nhé. Trong bài viết có gì sai sót mong các bạn bỏ qua hay có gì cần hỗ trợ thì cứ phản hồi cho mình biết nhé.

Video demo cho các bạn xem thử:

Cảm ơn các bạn đã xem bài viết này, chúc bạn thành công!
Xem thêm:  Tổng hợp hướng dẫn Internet of Things với NodeMCU ESP8266 và ESP32
Người viết: Huỳnh Tấn Lĩnh