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 !