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

            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.

Bạn đang đọc: [[TAPIT] Điều khiển thiết bị bằng giọng nói thông qua Google Assistant và ESP8266

Theo như 1 số thông tin thì đến cuối năm 2018, Google mới ra bản tương hỗ Tiếng Việt. Tuy nghiên cũng chỉ là hy vọng, còn thực sự hay không thì cứ chờ đón nhé .

  1. Chuẩn bị:

  • 1 Kit ESP8266
  • 1 điện thoại thông minh đã 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 liên kết internet để tất cả chúng ta setup, setup .
  • 1 thông tin tài khoản Adafruit IO, thằng này sẽ là server để Esp liên kết tới ( Bạn tự tạo nhé )
  • 1 thông tin tài khoản IFTTT, thằng này là trung gian link Google Assistant với Adafruit
  • Và bạn phải có thông tin 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à USER mà KEY 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 thông tin tài khoản của Google Assistant như trên điện thoại thông minh 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 tất cả 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ự như, 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.

Nội dung code :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

27

28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97

//———————–TAPIT – 06/2018—————————
#include
#include “Adafruit_MQTT.h”
#include “Adafruit_MQTT_Client.h”

#define WIFI_SSID “Ten wifi”
#define WIFI_PASS “passwifi”
#define MQTT_SERV “io.adafruit.com”
#define MQTT_PORT 1883
#define MQTT_NAME “Username”
#define MQTT_PASS “Active Key”

//Set up MQTT and WiFi clients
WiFiClient client;
Adafruit_MQTT_Client mqtt(&client, MQTT_SERV, MQTT_PORT, MQTT_NAME, MQTT_PASS);

//Set up the feed you’re subscribing to
Adafruit_MQTT_Subscribe onoff = Adafruit_MQTT_Subscribe(&mqtt, MQTT_NAME “/f/onoff”);

void setup()
{
Serial.begin(9600);
//Connect to WiFi
Serial.print(“\n\nConnecting Wifi… “);
WiFi.begin(WIFI_SSID, WIFI_PASS);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
}

Serial.println(“OK!”);
//Subscribe to the onoff feed
mqtt.subscribe(&onoff);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
}

void loop()
{
MQTT_connect();
//Read from our subscription queue until we run out, or
//wait up to 5 seconds for subscription to update
Adafruit_MQTT_Subscribe * subscription;
while ((subscription = mqtt.readSubscription(5000)))
{
//If we’re in here, a subscription updated…
if (subscription == &onoff)
{
//Print the new value to the serial monitor
Serial.print(“onoff: “);
Serial.println((char*) onoff.lastread);
//If the new value is “ON”, turn the light on.
//Otherwise, turn it off.
if (!strcmp((char*) onoff.lastread, “ON”))
{
//Active low logic
digitalWrite(LED_BUILTIN, LOW);
}
else
{
digitalWrite(LED_BUILTIN, HIGH);
}
}
}

// ping the server to keep the mqtt connection alive
if (!mqtt.ping())
{
mqtt.disconnect();
}
}

void MQTT_connect()
{
int8_t ret;
// Stop if already connected.
if (mqtt.connected())
{
return;
}
Serial.print(“Connecting to MQTT… “);
uint8_t retries = 3;
while ((ret = mqtt.connect()) != 0) // connect will return 0 for connected
{
Serial.println(mqtt.connectErrorString(ret));
Serial.println(“Retrying MQTT connection in 5 seconds…”);
mqtt.disconnect();
delay(5000); // wait 5 seconds
retries–;
if (retries == 0)
{
// basically die and wait for WDT to reset me
while (1);
}
}
Serial.println(“MQTT Connected!”);
} //END CODE

😀 Sau khi chỉnh lại xong những thông số kỹ thuật thì tất cả 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 để tất cả chúng ta tích hợp Google Assistant + Adafruit + ESP8266 để điều khiển thiết bị trải qua giọng nói, tuy còn đơn thuần với 1 số câu nói quá quen thuộc. Do Google mới chỉ tương hỗ tiếng Anh mà chưa có Tiếng Việt, nhưng cũng nhờ cái này những bạn hoàn toà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 kèm theo 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 những bạn bỏ lỡ hay có gì cần tương hỗ thì cứ phản hồi cho mình biết nhé .

Video demo cho những 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!

( Nguyên lý + Code chuẩn ) Link Mediafire

Theo Tapit

————————————————————————————
DV1 – Nhận vẽ mạch thuê ONLINE Altium Designer/ Orcad 9.2/ Protues nhanh trong ngày


———————————————————————————–

DV2 – Mua linh kiện về làm mạch nhanh – Miễn phí Ship


DV3 – Kênh youtube chia sẻ kiến thức điện tử thực hành ngay

DV4 – Kênh cộng đồng Facebook Điện Tử ChipKool

eChipKool – Chia sẻ kiến thức Kết Nối đam mê điện tử

Đ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.Theo Tapit———————————————————————————————————————————————————————–

Source: https://thomaygiat.com
Category : Nghe Nhìn

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

Bài viết liên quan
Hotline 24/7: O984.666.352
Alternate Text Gọi ngay