Chat
Danh mục
Giám sát nhiệt độ, độ ẩm bằng App Blynk sử dụng NodeMCU ESP8266

Giám sát nhiệt độ, độ ẩm bằng App Blynk sử dụng NodeMCU ESP8266

Số lượng:
Thêm vào giỏ
Giám sát nhiệt độ, độ ẩm bằng App Blynk sử dụng NodeMCU ESP8266 đã được thêm vào giỏ hàng


Việc giám sát nhiệt độ, độ ẩm trên điện thoại di động. Giờ đây không còn khó khăn nữa?
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ử