Giám sát nhiệt độ, độ ẩm bằng App Blynk sử dụng NodeMCU ESP8266
vào
23 Apr, 2020
Việc App Blynk ra đời với một nền tản mạnh mẽ giúp mọi người có thể tạo ra nhiều dự án hay ho.
Mà không cần phải lập trình bằng những đoạn code phức tạp.
Trong bài viết hôm nay mình sẽ hướng dẫn các bạn cách để hiển thị các thông số của cảm biến DHT11 lên Blynk.
Và cách lấy dữ liệu đọc được từ cảm biến nhé.
Truyền dữ liệu từ phần cứng lên App Blynk.
Cấu hình các thông số cảm biến DHT11 trên App Blynk
Để hiển thị các dữ liệu đo chúng ta vào Widget Box (+) > Click vào GAUGE để lấy các thang đo dữ liệu ra.
Nếu bạn chưa biết cách làm sao để tải App và tạo một Project trên Blynk các bạn xem bài viết bên dưới nhé.
Cài đặt các thông số chi tiết nhiệt độ, độ ẩm
Để tiến hành cài đặt các thông số cho cảm biến ta thực hiện các bước sau:
Click vào GAUGE để tiến hành cài đặt thông số.
Cài đặt thông số nhiệt độ
- Ở mục GAUGE 1: Đặt tên cho thang đo nhiệt độ (temperature).
- INPUT: Cấu hình cho PIN cần kết nối, ở đây mình chọn Virtual > V6 (0~1023) đổi lại (0~50).
- LABELS: e.g: Temp:/pin/độ c.
- REFRESH INTERVAL: Vào Push chọn tốc độ đọc cảm biến nhiệt độ (sec).
Cài đặt thông số độ ẩm
- Ở mục GAUGE 2 : Đặt tên cho thang đo độ ẩm (humidity).
- INPUT: Cấu hình cho PIN cần kết nối, ở đây mình chọn Virtual > V5 (0~1023) đổi lại (0~100).
- LABELS: e.g: Temp:/pin/% (Độ ẩm đơn vị là %).
- REFRESH INTERVAL: Vào Push chọn tốc độ đọc cảm biến độ ẩm (sec).
Biểu đồ nhiệt độ, độ ẩm DHT11
Tiếp tục vào Widget Box (+) > Click vào SUPPERCHART để biểu đồ hiển thị nhiệt độ, độ ẩm ra.
Ở mục SuperChart : Đặt tên biểu đồ.
DATASTREAMS: Đặt tên cho từng biểu đồ Nhiệt độ và Độ Ẩm.
Virtual là các chân dùng để trao đổi dữ liệu giữa phần cứng với App Blynk ở đây mình chọn (V6 cho Nhiệt Độ), (V5 cho Độ Ẩm).
Để hiển thị vectơ các mức giá trị đo trên biểu đồ.
Ta vào mục Y-AXIS VALUES chuyển về nút SHOW (hiển thị) cho cả Nhiệt Độ và Độ Ẩm.
Để hiển thị thời gian cập nhật vào mục X-AXIS VALUES chuyển về nút SHOW.
Như vậy là đã xong phần cài đặt, bước tiếp theo ta tiến hành upload chương trình và xem kết quả nhé.
Sơ đồ đấu nối
NodeMCU ESP8266
|
Cảm biến nhiệt độ, độ ẩm DHT11
|
3V3
|
VCC (5V)
|
GND
|
GND
|
D4
|
OUT
|
Nguyên lý NodeMCU ESP8266 với DHT11.
Các linh kiện cần thiết cho dự án
Tên linh kiện
|
Arduino KIT
|
Shoppe
|
NodeMCU ESP8266
|
Xem sản phẩm tại đây
| |
Cảm biến nhiệt độ, độ ẩm DHT11
|
Xem sản phẩm tại đây
|
Code
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include "DHT.h"
#include <SimpleTimer.h>
#define DHTTYPE DHT11
#define dht_dpin 2
DHT dht(dht_dpin, DHTTYPE);
SimpleTimer timer;
char auth[] = "49d330c27974424a8d4e897eec57dfd1";
char ssid[] = "Nha Tro 4";
char pass[] = "nguyennam";
float t;
float h;
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
dht.begin();
timer.setInterval(2000, sendUptime);
}
void sendUptime()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
Serial.println("Humidity and temperature\n\n");
Serial.print("Current humidity = ");
Serial.print(h);
Serial.print("% ");
Serial.print("temperature = ");
Serial.print(t);
Blynk.virtualWrite(V6, t);
Blynk.virtualWrite(V5, h);
}
void loop()
{
Blynk.run();
timer.run();
}
Thư viện
- Download thư viện "DHT.h" : Tải ngay
- Download thư viện "SimpleTimer.h": Tải ngay
- Download thư viện "BlynkSimpleEsp8266.h": Tải ngay
Giải thích code
Bước đầu tiên chúng ta đi vào khai báo chân đọc cảm biến nhiệt độ, độ ẩm.
Ở đây mình chọn chân GPIO2 tức là chân D4 trên board NodeMCU ESP8266.
#define dht_dpin 2
Tiếp theo ta tiến hành cấu hình các thông số như Token, tên Wifi và mật khẩu Wifi.
char auth[] = "49d330c27974424a8d4e897eec57dfd1"; char ssid[] = "Nha Tro 4"; char pass[] = "nguyennam";
Khai báo biến và đọc giá trị nhiệt độ, độ ẩm DHT11.
- Đọc nhiệt độ, độ ẩm (DHT11) sử dụng Arduino Uno: Xem ngay
float h = dht.readHumidity(); float t = dht.readTemperature();
Chúc các bạn thành công.
Trân trọng.
( Nguyên lý + Code chuẩn) Link Mediafire
------------------------------------------------------------------------------------
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ử