DMDT
  • Danh Mục
    • Vi Điều Khiển
      • 8051
      • Arduino
      • AVR
      • IC Chức Năng
      • PIC
    • Module
      • MD Chuyển Đổi
      • MD GSM,GPS,3G
      • MD LCD
      • MD Nguồn
      • MD Wifi
    • Điện Tử Cơ Bản
      • ADC/DAC
      • Bộ Nhớ Bán Dẫn
      • Các Họ IC Số
      • Họ OPAM
      • Mạch Tổ Hợp
      • Mạch Tuần Tự
      • Linh Kiện Cơ Bản
    • Mạch Điện Vui
      • DIY – Tự Ráp Mạch
      • Hướng Dẫn Thiết Kế Mạch
      • Sản Phẩm Sáng Tạo
      • Tự Làm Mạch In
    • Cảm Biến
      • Analog (Tín hiệu điện áp)
      • Digital (Tín hiệu số)
  • Phần Mềm
  • Đồ Án
No Result
View All Result
DMDT
  • Danh Mục
    • Vi Điều Khiển
      • 8051
      • Arduino
      • AVR
      • IC Chức Năng
      • PIC
    • Module
      • MD Chuyển Đổi
      • MD GSM,GPS,3G
      • MD LCD
      • MD Nguồn
      • MD Wifi
    • Điện Tử Cơ Bản
      • ADC/DAC
      • Bộ Nhớ Bán Dẫn
      • Các Họ IC Số
      • Họ OPAM
      • Mạch Tổ Hợp
      • Mạch Tuần Tự
      • Linh Kiện Cơ Bản
    • Mạch Điện Vui
      • DIY – Tự Ráp Mạch
      • Hướng Dẫn Thiết Kế Mạch
      • Sản Phẩm Sáng Tạo
      • Tự Làm Mạch In
    • Cảm Biến
      • Analog (Tín hiệu điện áp)
      • Digital (Tín hiệu số)
  • Phần Mềm
  • Đồ Án
No Result
View All Result
DMDT
No Result
View All Result
Home Vi Điều Khiển Arduino

Chương trình kiểm tra nhiệt độ và độ ẩm hiển thị lên web server của nodemcu

12 Tháng Sáu, 2022
in Arduino, Digital (Tín hiệu số), Vi Điều Khiển
399 21

I.Hướng dẫn kết nối linh kiện

1.Chương trình để chúng ta đo nhiệt độ và độ ẩm để hiển thị lên màn hình serial của máy tính

#include <DHT.h>
#define DHTPIN D4// chan vat ly
#define DHTTYPE DHT11//bat ctr +shif +m hien thi man hinh
DHT dht(DHTPIN,DHTTYPE);

void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
Serial.println();
Serial.print("Do am la: ");
Serial.println(h);
Serial.print(" Nhiet do la: ");
Serial.println(t);
Serial.println("----------------------");
delay(1000);
}

2.Theo dõi nhiệt độ độ ẩm qua mạng Wifi

Ta đã đọc được nhiệt độ và độ ẩm rồi thì làm thế nào để gửi nó lên mạng wifi trong nhà. Thật may mắn là ESP8266 có thể tạo ra một server và web ở trên địa chỉ sẵn có của nó, ta chỉ cần đăng nhập vào địa chỉ  là có thông tin về nhiệt độ, độ ẩm rồi. Vậy cách làm thế nào, mình sẽ giải thích một số ý chính trong code dưới đây

const char *ssid ="Thanh Hang"; //tên wifi 
const char *password = "khcpass";//pass wifi

 

 

Tiếp tục là tạo một web server với port là 80 bằng lệnh

WiFiServer server(80);

 

Tạo xong rồi ta thực hiện kết nối ESP8266 vào mạng

Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);// khoi tao wifi
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

Sau đó là khởi động server và in địa chỉ IP ra

server.begin();
Serial.println("Server started");
Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");

 

Trong vòng lặp vô tận chúng ta sẽ thực hiện kiểm tra có client nào kết nối tới không bằng lệnh

WiFiClient client = server.available();

Đồng thời đọc nhiệt độ và độ ẩm

float h = dht.readHumidity(); //doc do am 
float t = dht.readTemperature();//doc nhiet do

Tiếp tục chờ yêu cầu (request) từ client (máy tính hoặc điện thoại khác cùng mạng wifi)

WiFiClient client = server.available();
if (!client) {
return;
}
Serial.println("new client");
while(!client.available()){
delay(1);
}

Coi như đã xong bước nhận yêu cầu, giờ là chuẩn bị câu trả lời cho yêu cầu từ client, ở đây ta sẽ tạo ra một trang web HTML

client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("");
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head><title> YASUO </title></head>");
client.println("<body>");
client.println("<H5>Thong tin nhiet do va do am :</H5>");
client.println("<H3 style='color:#339966'>Nhiet do la :");
client.println(t);
client.println("*C");
client.println("</H3>");
client.println("<H3 style='color:#339966'>Do am la: ");
client.println(h);
client.println("%");
client.println("</H3>");
client.println("</body>");
client.println("</html>");
delay(20);
Serial.println("Client disonnected");
Serial.println("");

Thế là đã xong!

Cảm ơn các bạn đã quan tâm !

Tags: DHt11nhiệt độ truyền serverNODEMCUweb server
Share312Tweet195

Related Posts

Lập trình Arduino – Giao tiếp I2C và sử dụng module Realtime clock DS1307 (module RTC) VỚI NODEMCU
Arduino

Lập trình Arduino – Giao tiếp I2C và sử dụng module Realtime clock DS1307 (module RTC) VỚI NODEMCU

12 Tháng Sáu, 2022
[Chia sẻ] Đo nhiệt độ độ ẩm và gửi lên máy tính qua cổng RJ45 bằng arduino
Arduino

[Chia sẻ] Đo nhiệt độ độ ẩm và gửi lên máy tính qua cổng RJ45 bằng arduino

26 Tháng Sáu, 2022
Next Post
PHÂN LOẠI BỘ NHỚ BÁN DẪN

PHÂN LOẠI BỘ NHỚ BÁN DẪN

[HỌC AVR] BÀI 8.1 .ĐO LƯỜNG ĐA ĐIỂM VỚI DS18B20

[HỌC AVR] Bài 1: GPIO VỚI AVR

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Đăng nhập
Thông báo của
guest
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận

No Result
View All Result
  • Danh Mục
    • Vi Điều Khiển
      • 8051
      • Arduino
      • AVR
      • IC Chức Năng
      • PIC
    • Module
      • MD Chuyển Đổi
      • MD GSM,GPS,3G
      • MD LCD
      • MD Nguồn
      • MD Wifi
    • Điện Tử Cơ Bản
      • ADC/DAC
      • Bộ Nhớ Bán Dẫn
      • Các Họ IC Số
      • Họ OPAM
      • Mạch Tổ Hợp
      • Mạch Tuần Tự
      • Linh Kiện Cơ Bản
    • Mạch Điện Vui
      • DIY – Tự Ráp Mạch
      • Hướng Dẫn Thiết Kế Mạch
      • Sản Phẩm Sáng Tạo
      • Tự Làm Mạch In
    • Cảm Biến
      • Analog (Tín hiệu điện áp)
      • Digital (Tín hiệu số)
  • Phần Mềm
  • Đồ Án

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
wpDiscuz