Professional Documents
Culture Documents
Lab 3 - ESP Thingspeak Firebase
Lab 3 - ESP Thingspeak Firebase
4. Các bước giao tiếp cảm biến MQ2 (MQ3) và ESP32 (kèm theo hình ảnh các bước
thực hiện và sơ đồ kết nối).
Sơ đồ kết nối:
5. Các bước thực hiện, giải thích code quá trình cập nhật dữ liệu lên server Thingspeak
và kết quả thực hiện (video clip demo nếu có).
// Khai báo thư viện
#include <WiFi.h>
int GASPIN = A0; //Đặt biến GASPIN lấy dữ liệu từ chân A0 của MQ2
// Thiết lập kết nối đến wifi và in các dòng ra màn hình hiển thị
void setup()
Serial.begin(115200);
delay(10);
Serial.println("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
delay(500);
Serial.print(".");
Serial.println("");
Serial.println("WiFi connected");
}
// Đọc dữ liệu từ GASPIN và lưu vào GAS
void loop()
// In ra dòng Failed to read from MQ-2 sensor! nếu không có dữ liệu từ MQ2
if (isnan(GAS))
return;
postStr +="&field1=";
postStr += String(GAS);
postStr += "r\n";
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print("\n\n");
client.print(postStr);
Serial.println(GAS);
delay(500);
// Nếu không kết nối được thì dừng client và đợi kết nối lại
client.stop();
Serial.println("Waiting...");
// Thingspeak cần tối thiểu 15s cho mỗi lần cập nhật dữ liệu
delay(1500);
Serial.begin(9600);
delay(1000);
WiFi.begin (WIFI_SSID, WIFI_PASSWORD);
Serial.print("Dang ket noi");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println ("");
Serial.println ("Da ket noi WiFi!");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}
// Lấy dữ liệu từ GASPIN và đưa vào g
void loop() {
delay(200);
}
Link video kết quả thực hiện: https://youtu.be/nK8cSNrgbRU
Tài liệu tham khảo (liệt kê theo đúng chuẩn IEEE)