Điều khiển thiết bị bằng giọng nói thông qua Google Assistant Tiếng Viết sử dụng ESP8266, Blynk và IFTTT

13 Tháng 05 2019 | Đăng bởi: Cao Thanh Hùng

 

Trong bài viết hôm nay mình sẽ hướng dẫn các bạn cách sử dụng trợ lý ảo Google Assistant Tiếng Việt để bật/tắt các thiết bị trong gia đình và điều khiển trực tiếp thông qua App Blynk.

Để thực hiện dự án chúng ta cần một NodeMCU ESP8266 các bạn có thể tìm mua ở đây nhé. Xem ngay

Hướng dẫn tạo dự án mới trên App Blynk

Bước đầu tiên các bạn cần tạo một Project mới trên App Blynk để có thể điều khiển được các thiết bị. Trong trường hợp các bạn lần đầu tiên tiếp cận và chưa biết cách cài đặt và tạo mới trên App Blynk thì các bạn có thể đọc tham khảo bài viết bên dưới, để có thể hiểu hơn trong quá trình làm cho dự án của mình.

Đăng nhập và kết nối với IFTTT

Việc kết nối và điều khiển các thiết bị từ ESP8266 với Blynk thật sự dễ dàng. Nhưng câu hỏi đặt ra ở đây làm sao để Blynk hiểu được những câu lệnh như bật đèn, tắt đèn... để truyền đến NodeMCU ESP8266 và thực thi hành động. Vì thế để giải quyêt vấn đề này chúng ta cần có một trang Web làm trung gian và IFTTT là một lựa chọn tốt cho dự án này.

Bước đầu tiên chúng ta đăng nhập vào Web IFTTT để đăng ký tài khoản ở đây mình đăng ký bằng tài khoản Google các bạn có thể đăng ký bằng Facebook.

 

 

Sau khi đăng nhập thành công các bạn Click vào "My Applets" và chọn "New Applet" để tạo một dự án mới.

 

Bấm vào  + this 

 

 

Tìm kiếm đến Google Assistant và bấm kết nối. 

 

       

 

Đặt câu lệnh thực thi trên Google Assistant

Chọn thẻ "Say a simple phrase."

 

  • What do you want to say?: Chúng ta đặt tên câu lệnh cần nói ở đây mình đặt là "turn on".

  • Ngoài ra ở 2 mục tiếp theo các bạn có thể đặt thêm những câu lệnh khác để có thể bật/tắt thiết bị của mình.

  • What do you want the Assistant to say in the response?: Ở phần này là câu phản hồi từ Google Assistant khi mình thực hiện lệnh vừa nói.

 

 

Cấu hình Webhooks

Tiếp theo ta chọn  + that 

 

Và chọn Webhooks nhé.

  

 

Nhấn vào "Connect" và chọn "Make a Web request".

 

 

 

Chúng ta điền đầy đủ các thông tin trên trường hiển thị.

 

 

  • URL: Nhập URL theo cú pháp sau: http://188.166.206.43/YourAuthTokenHere/update/DigitalPinToBeUpdateHere

    • http://188.166.206.43: Đây là URL của Blynk Server.

    • YourAuthTokenHere: Mã Token được cấp khi chúng ta tạo một dự án mới trên App Blynk.

    • DigitalPinToBeUpdateHere: Chân được cấu hình để điều khiển thiết bị.

  • Method: Chọn PUT.

  • Content Type: Chọn application/json.

  • Body: Chúng ta điền vào ["1"], nghĩa là đang bật thiết bị.

Sau khi đã điền đầy đủ thông tin nhấn "Create action" để hoàn tất nhé.

 

 

Tương tự các bạn tự làm cho phần "tắt đèn" nhé.

Kết quả khi đã làm xong.

 

Lưu ý:

Ở phần chọn chân để điều khiển thiết bị, các bạn chọn pin "GPIO" để khi IFTTT truyền các lệnh xuống ESP8266 có thể hiểu được.

Ví dụ: Trong bài viết hôm nay mình chọn chân "GPIO16" thì mình sẽ điền là D16.

 

Code:

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = "90e6fc3ed332435587af6799fb58de88";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "CAFE GALAXY_2.4G";
char pass[] = "xxxxxx";

void setup()
{
  // Debug console
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
}

void loop()
{
  Blynk.run();
}

Lời kết

Thật thú vị phải không các bạn, qua bài hôm nay các bạn có thể thực hiện cho mình một dự án nhỏ ngay trong ngôi nhà của mình bằng việc sử dụng Google Assistant và trong chuỗi bài viết về ESP8266 với Google Assistant bằng ngôn ngữ Tiếng Việt trong bài tiếp theo mình sẽ hướng dẫn các bạn các thực hiện trên Web Server của Adafruit các bạn chờ xem nhé.

Trong quá trình thực hiện mọi thắc mắc các bạn nhớ Comment bên dưới bài viết mình sẽ trả lời trong thời gian sớm nhất.

 

Tham gia cộng đồng Arduino KIT

  • Để nhận được nhiều kiến thức bổ ích, các bạn Đăng ký để nhận thông báo khi có bài viết mới nhé.

  • Tham gia Cộng đồng Arduino KIT để cùng nhau thảo luận và chia sẽ kiến thức về lập trình Arduino.

Nếu các bạn thấy bài viết bổ ích nhớ LikeShare cho mọi người cùng học nhé.

 

Chúc các bạn thành công.

Trân trọng.

Bài viết liên quan

Bình luận
2 bình luận:
binh-luan

Nguyen Luc

19/05/2019

Trong trường hợp e dùng ESP32 thì e làm tương tự nhé. e chỉ cần xác định chân gpio . vd "gpio2" thì e sẽ điền D2 là được. Trong quá trình e làm có gì thắc mắc thì nhắn trực tiếp vào biểu tượng massenger bên phía tay phải để a có thể phản hồi nhanh nhất Trân trọng.

binh-luan

Nguyễn Hoàng Trình

19/05/2019

Trước tiên em rất cảm ơn bài viết rất chi tiết và bổ ích của anh. Cho e hỏi nếu e dùng con ESP32 thì nó khác nhâu trên bài viêt ở chỗ nào vậy anh như ở đoạn này "Chúng ta đang sử dụng ESP8266 và chọn D0 để điều khiển thiết bị , nhưng vấn đề ở đây là khi Blynk Server nhận các lệnh từ IFTTT nó chỉ hiểu và gửi lệnh xuống "Arduino Uno" vì vậy thay vì chúng ta ghi D0 ta thay bằng D16 (GPIO16) trên board " và đoạn này trong code : char auth[] = "90e6fc3ed332435587af6799fb58de88"; nếu có thời gian a chỉ giúp e vs

Viết bình luận: