1. Trang chủ
  2. » Luận Văn - Báo Cáo

Do an lan cuoi khotailieu

61 17 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 3,32 MB

Nội dung

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN ĐIỆN TỬ BỘ MÔN KỸ THUẬT MÁY TÍNH - VIỄN THƠNG ĐỒ ÁN MƠN HỌC TÊN ĐỀ TÀI THIẾT KẾ MẠCH ĐIỀU KHIỂN THIẾT BỊ VÀ GIÁM SÁT NHIỆT ĐỘ QUA INTERNET NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH Sinh viên thực hiện: Phạm Thanh Hải MSSV: 16119084 Nguyễn Ngọc Hải MSSV: 16119083 TP HỒ CHÍ MINH – 12/2019 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN ĐIỆN TỬ BỘ MƠN KỸ THUẬT MÁY TÍNH - VIỄN THƠNG ĐỒ ÁN MÔN HỌC TÊN ĐỀ TÀI THIẾT KẾ MẠCH ĐIỀU KHIỂN THIẾT BỊ VÀ GIÁM SÁT NHIỆT ĐỘ QUA INTERNET NGÀNH CƠNG NGHỆ KỸ THUẬT MÁY TÍNH Giảng viên hướng dẫn: ThS LÊ MINH Sinh viên thực hiện: Phạm Thanh Hải MSSV: 16119084 Nguyễn Ngọc Hải MSSV: 16119083 TP HỒ CHÍ MINH – 12/2019 BẢN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN LỜI NÓI ĐẦU Trong xu phát triển nay, với bùng nổ ngành cơng nghệ thơng tin, điện tử, tự động hóa,… Đã làm cho đời sống người ngày hồn thiện Các thiết bị tự động hóa ngày xâm lấn vào sản xuất chí vào sống sinh hoạt hàng ngày người Do ngơi nhà thơng minh giám sát điều khiển từ xa trở thành thực Là sinh viên khoa Điện trường Đại học Sư phạm kĩ thuật TP.Hồ Chí Minh, với kiến thức học mong muốn thiết kế mơ hình nhà tự động hóa đáp ứng nhu cầu hàng ngày Nhóm thực chọn “Thiết kế mạch điều khiển thiết bị giám sát nhiệt độ, độ ẩm qua internet” để làm đề tài cho đồ án nhóm Trong q trình thực đồ án, nhóm cố gắng để hồn thiện cách tốt Nhưng không tránh khỏi thiếu sót mong thầy đóng góp ý kiến để đề tài nhóm hồn thiện LỜI CẢM ƠN Lời đầu tiên, nhóm thực xin gửi lời cảm ơn sâu sắc đến thầy ThS Lê Minh tận tình hướng dẫn, bảo, giúp đỡ để nhóm hồn thành đồ án Nhóm xin gửi lời cảm ơn chân thành tới thầy cô khoa Điện – Điện tử, trường Đại học Sư phạm Kĩ thuật TP Hồ Chí Minh tận tình giảng dạy, giúp đỡ truyền đạt kiến thức suốt thời gian học tập rèn luyện trường Và cuối cùng, nhóm xin gửi lời cảm ơn chân thành đến tất bạn bè lớp 16119, người hỗ trợ, chia sẻ, giúp cho nhóm suốt trình học tập thực đồ án Nhóm thực xin chân thành cảm ơn! Tóm tắt Trong đề tài này, nhóm thực nghiên cứu lý thuyết thành phần thiết bị để thi cơng phần cứng Từ áp dụng thiết kế, xây dựng hệ thống điều khiển thiết bị giám sát nhiệt độ từ xa, dùng cảm biến quang để nhận biết thay đổi ánh sáng, cảm biến DHT11 đo nhiệt độ, độ ẩm Và liệu thu thập từ cảm biến gửi đến module ESP8266 NodeMcu để xử lý Ngoài chức thu thập xử lý liệu đo từ khối cảm biến, module ESP đảm nhiệm việc giao tiếp với khối module gồm relay dùng để điều khiển tắt/mở thiết bị điện cách tự động thông qua giao diện người dùng Phần mềm lập trình cho ESP8266 NodeMcu Arduino IDE Nhiệt độ, độ ẩm đo hiển thị giao diện người dùng cập nhật liên tục thời điểm, ngồi cịn hiển thị nhiệt độ, độ ẩm cao thời điểm cụ thể để theo dõi giám sát Led báo hệ thống hoạt động chế độ Auto/Manual để người dùng dễ nhận biết chế độ hoạt động Ngoài ra, hệ thống cập nhật chế độ hoạt động trạng thái thiết bị từ xa lưu vào sở liệu MỤC LỤC DANH MỤC HÌNH XI DANH MỤC BẢNG XI CÁC TỪ VIẾT TẮT XII CHƯƠNG TỔNG QUAN 1.1 GIỚI THIỆU 1.2 MỤC TIÊU ĐỀ TÀI 1.3 GIỚI HẠN ĐỀ TÀI 1.4 PHƯƠNG PHÁP NGHIÊN CỨU 1.5 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 1.6 BỐ CỤC QUYỂN BÁO CÁO CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ ARDUINO 2.2 TỔNG QUAN VỀ ESP8266 NODEMCU 2.3 MODULE CẢM BIẾN ÁNH SÁNG QUANG TRỞ CDS 10 2.4 MODULE RELAY 12 2.5 CẢM BIẾN DHT11 13 2.6 TÌM HIỂU VÀ XÂY DỰNG WEB SERVER 15 2.7 NGÔN NGỮ LẬP TRÌNH PHP 19 2.8 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 24 CHƯƠNG 26 THIẾT KẾ HỆ THỐNG 26 3.1 YÊU CẦU HỆ THỐNG 26 3.2 THIẾT KẾ HỆ THỐNG 28 3.3 THIẾT KẾ PHẦN MỀM 36 KẾT QUẢ 42 4.1 KẾT QUẢ MƠ HÌNH THI CƠNG 42 4.2 HOẠT ĐỘNG CỦA HỆ THỐNG 42 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 44 5.1 KẾT LUẬN 44 5.2 HƯỚNG PHÁT TRIỂN 45 TÀI LIỆU THAM KHẢO 45 PHỤ LỤC 46 DANH MỤC HÌNH DANH MỤC BẢNG CÁC TỪ VIẾT TẮT AC :Alternating Current DC :Direct Current CHƯƠNG TỔNG QUAN 1.1 GIỚI THIỆU Khi sống người nâng cao, nhu cầu ngày cao đòi hỏi phải hỗ trợ tốt Và từ nhu cầu thực tế đó, ý tưởng điều khiển thiết bị giám sát nhiệt độ từ xa hình thành Với phát triển cách nhanh chóng ngành điện tử nhiều ngành khác ý tưởng điều khiển từ xa khơng cịn vướng rào cản cơng nghệ Theo xu hướng toàn cầu 4.0, thứ kết nối với (IoT) Nhưng hầu hết cơng trình trường học, nhà, chưa lắp đặt hệ thống thơng minh, cần nhiều thao thác người Ngoài ra, chức tiết kiệm lượng, cảnh báo cố,… chưa ý đến Theo xu hướng phát triển vượt bậc công nghệ nhu cầu điều khiển từ xa, tự động mang lại trải nghiệm tốt cho người giúp nâng cao chất lượng sống Từ ý tưởng đó, nên việc xây dựng “HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ TỪ XA” đời để đáp ứng phần sống người Những ưu nhược điểm việc điều khiển thiết bị giám sát nhiệt độ, độ ẩm từ xa hay tự động:  Ưu điểm: • Khi trời tối tự động đóng relay điều khiển mở đèn • Nhiệt độ đo vượt nhiệt độ cài giới hạn tự động đóng relay điều khiển mở quạt Hình 3.12 Lưu đồ chương trình hệ thống 3.3.3 Thiết kế giao diện web Để thực điều khiển đóng/ngắt Relay chế độ Manual giám sát nhiệt độ, độ ẩm từ xa qua internet, ta phải xây dựng giao diện website để tương tác với người dùng Web động hay DHTML (Dynamic HTML) định nghĩa phần mềm sử dụng cho việc mô tả kết hợp ngôn ngữ đánh đấu siêu văn HTML, stylesheet ngôn ngữ script làm cho tài liệu trở nên sinh động DHTML cho phép người lập trình dễ dàng thêm hiệu ứng cho trang web Ví dụ làm động hình ảnh text trang web Cấu trúc DHTML: Control Home

nội dung website

38 Giao diện website xây dựng: Hình 3.13 Giao diện điều khiển thiết bị Giao diện trang chủ bật lên nhiệt độ độ ẩm thời gian Ngồi cịn hiển thị nhiệt độ cao nhất, độ ẩm cao kèm theo thời gian Hình 3.14 Giao diện trang chủ giám sát nhiệt độ, độ ẩm Hình 3.15 Tồn giao diện trang chủ 39 Khi người dùng truy cập vào từ điện thoại hay thiết bị khác webserver hiển thị giao diện tương ứng phù hợp với thiết bị người dùng Hình 3.16 Giao diện truy nhập điện thoại 40 Hình 3.17 Giao diện bảng sở liệu hiển thị giao diện người dùng 41 CHƯƠNG KẾT QUẢ 4.1 KẾT QUẢ MÔ HÌNH THI CƠNG Hình 4.1 Mơ hình demo hệ thống Khối board mạch hệ thống gồm có module nodeMcu, cảm biến DHT11, khối cảm biến ánh sáng, khối nút nhấn, bus giao tiếp khối mạch Relay Sử dụng Adapter chuyển từ 220V AC sang 12V DC dòng 1A, nguồn 12V vào khối nguồn để chuyển điện áp phù hợp cung cấp cho khối khác 4.2 HOẠT ĐỘNG CỦA HỆ THỐNG Khi có nguồn cấp khối bắt đầu hoạt động 42 Đầu tiên khối module ESP8266 NodeMcu khởi chạy chế độ thiết lập ban đầu Khối module phải kết nối wifi hệ thống hoạt động tiếp Sau kết thành cơng mạng wifi ESP kết nối đến server, gửi địa IP ESP lên server để tương tác với server Lúc đầu cấp điện hệ thống hoạt động chế độ Manual Phía server lắng nghe xem có client kết nối khơng, có client kết nối kiểm tra có tín hiệu điều khiển từ giao diện Khi server nhận tín hiệu điều khiển tương ứng từ giao diện, server giải mã tín hiệu để phía ESP nhận tín hiệu thay đổi trạng thái điều khiển phù hợp Khi nhấn nút chuyển chế độ sang Auto, khơng cần quan tâm đến tín hiệu từ giao diện người dùng Chế độ auto thực theo thay đổi ánh sáng ngưỡng nhiệt độ cài giới hạn trước Hệ thống cập nhật lại trạng thái chế độ thiết bị có thay đổi Ở module DHT11 hoạt động hồn toàn độc lập với việc điều khiển thiết bị ngược lại Nếu khơng nhận tín hiệu điều khiển thiết bị module ESP NodeMcu cập nhật nhiệt độ, độ ẩm lên server 43 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 KẾT LUẬN Sau thời gian nghiên cứu học tập, tìm hiểu với dẫn Thầy Lê Minh, đến đồ án nhóm hồn thành Đồ án đáp ứng yêu cầu đặt ban đầu “THIẾT KẾ ĐIỀU KHIỂN THIẾT BỊ VÀ GIÁM SÁT NHIỆT ĐỘ QUA INTERNET” chế độ hoạt động Qua đề tài giúp nhóm có nhiều kiến thức hữu ích cho chun ngành sau có kỹ làm việc nhóm, xếp trình tự cơng việc,… Việc thiết kế hệ thống có ý nghĩa to lớn, ứng dụng nhiều lĩnh vực đời sống xã hội cơng nghiệp Ngồi ra, module ESP nodeMcu kết hợp với Vi điều khiển khác mở nhiều hướng ứng dụng khác, phục vụ tốt cho việc học tập nghiên cứu Việc xây dựng hệ thống liên quan đến nhiều tảng kiến thức từ kiến thức lý thuyết kiến thức thực tiễn Những kết đạt - Tìm hiểu nguyên lý chung chuẩn truyền thông wifi IEEE 802.11 quy định, tìm hiểu kiến thức họ giao thức TCP/IP - Kết nối thành công mạch với server, demo điêu khiển thiết bị thông qua wifi - Thiết kế thành công mạch đo nhiệt độ, độ ẩm sử dụng cảm biến DHT11, truyền lên server sau khoảng thời gian định trước - Lập trình giao diện web để đo lường, hiển thị thống kê thông số nhiệt độ, độ ẩm điều khiển cấu chấp hành Đánh giá kết đạt - Đo hiển thị xác nhiệt độ, độ ẩm mơi trường upload liệu lên server ổn định Kết đo xác với sai số nằm phạm vi cho phép Mạch hoạt động ổn định 44 - Tuy nhiên, số mặt hạn chế trang web chưa tự động cập nhật lên giá trị phải refresh lại trang để cập nhật liệu - Với kết bước đầu kết nối truyền liệu thành công qua mạng wifi thực đo lường điều khiển số thông số môi trường, điều khiển cấu chấp hành để thay đổi quạt, điều hòa với kết demo khẳng định khả phát triển đề tài Trong trình nghiên cứu thực đề tài hội để nhóm tự kiểm tra lại kiến học trường, đồng thời phát huy tính sáng tạo, khả giải vấn đề theo yêu cầu đặt Tuy nhiên số chỗ nhóm trình bày chưa cụ thể, logic cịn nhiều thiếu sót, mong Thầy góp ý giúp đỡ tạo điều kiện để nhóm sữa chữa nhằm phục vụ tốt cho việc trình bày đồ án tốt nghiệp sau 5.2 HƯỚNG PHÁT TRIỂN Tối ưu mạch điện, giải thuật, cảm biến nhiệt độ nghỉ khơng có nhu cầu dùng Tăng tính xác ổn định Tích hợp nhiều cảm biến phù hợp với nhiều đối tượng người dùng để phục vụ cho sống phục vụ công nghiệp thay chuẩn ethernet, RS485 Phát triển ứng dụng theo dõi sức khỏe bệnh nhân từ xa TÀI LIỆU THAM KHẢO [1] https://esp8266.vn/ [2] https://iotmakervn.github.io/iot-starter-book/ 45 [3] https://www.electronics-lab.com/project/nodemcu-esp8266-webservertutorial/ [4] www.dientuvietnam.com/ PHỤ LỤC #include #include "DHT.h" #define DHTPIN D4 #define DHTTYPE DHT11 #define CBAS D6 46 #define relay1 D1 #define relay2 D0 #define btn_mode1 D7 #define btn_mode2 D3 #define led_mode1 D5 #define led_mode2 D2 int mode1 = 0; int mode2 = 0; String status1 = "OFF"; String status2 = "OFF"; String chedo1 = "Manual"; String chedo2 = "Manual"; unsigned long previousMillis = 0; unsigned long interval = 100000; const char* ssid = " "; const char* password = " "; const char* host = "doan2doan2.000webhostapp.com"; const int httpPort = 80; WiFiClient client; WiFiServer server(httpPort); String header; DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(115200); delay(100); dht.begin(); pinMode(relay1, OUTPUT); digitalWrite(relay1, LOW); pinMode(relay2, OUTPUT); digitalWrite(relay2, LOW); pinMode(btn_mode1, INPUT); pinMode(btn_mode2, INPUT); pinMode(led_mode1, OUTPUT); digitalWrite(led_mode1, LOW); pinMode(led_mode2, OUTPUT); digitalWrite(led_mode2, LOW); pinMode(CBAS, INPUT); Serial.println(); Serial.println(); Serial.print("Connecting to WiFi network with IP Address: "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { 47 delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected."); Serial.print("IP address: "); Serial.println(WiFi.localIP()); Serial.print("Netmask: "); Serial.println(WiFi.subnetMask()); Serial.print("Gateway: "); Serial.println(WiFi.gatewayIP()); server.begin(); Serial.print("Connecting to "); Serial.println(host); if (!client.connect(host, httpPort)) { Serial.println("connection failed"); return; } //=================Load WiFi.localIP()=================== String url_ip = "/FinalDoan/address.php?ip=" + (WiFi.localIP().toString()); Serial.print("Requesting URL IP: "); Serial.println(url_ip); client.print(String("GET ") + url_ip + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); delay(200); while(client.available()) { String line_ip = client.readStringUntil('\r'); Serial.print(line_ip); } Serial.println(); Serial.println("Closing connection"); //==================Load Status Device=================== String url_state = "/FinalDoan/addstatus.php?status_1=" + status1 + "&status_2=" + status2 + "&mode_1=" + chedo1 + "&mode_2=" + chedo2; Serial.print("Requesting URL STATUS: "); Serial.println(url_state); client.print(String("GET ") + url_state + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); delay(200); while(client.available()){ String line_state = client.readStringUntil('\r'); Serial.print(line_state); } Serial.println(); Serial.println("Closing connection"); } 48 //===================void loop()==================== void loop() { if( digitalRead(btn_mode1) == 0) { while( digitalRead(btn_mode1) == 0) {} mode1 = !mode1; Serial.print("Mode 1: "); Serial.println(mode1); } if( digitalRead(btn_mode2) == 0) { while( digitalRead(btn_mode2) == 0) {} mode2 = !mode2; Serial.print("Mode 2: "); Serial.println(mode2); } //=============================================== if(mode1 == 1) { chedo1 = "Auto"; digitalWrite(led_mode1, HIGH); if(digitalRead(CBAS) == 1) { digitalWrite(relay1, HIGH); status1 = "ON"; } else { digitalWrite(relay1, LOW); status1 = "OFF"; } } else { chedo1 = "Manual"; digitalWrite(led_mode1, LOW); } //============================================= if(mode2 == 1) { chedo2 = "Auto"; digitalWrite(led_mode2, HIGH); float temp = dht.readTemperature(); if(temp >= 33) { digitalWrite(relay2, HIGH); 49 status2 = "ON"; } else { digitalWrite(relay2, LOW); status2 = "OFF"; } } else { chedo2 = "Manual"; digitalWrite(led_mode2, LOW); } //============================================== client = server.available(); if (client) { Serial.println("New Client."); String currentLine = ""; while (client.connected()) { if (client.available()) { char c = client.read(); Serial.write(c); header += c; if (c == '\n') { if (currentLine.length() == 0) { client.println("HTTP/1.1 200 OK"); client.println("Content-type:text/html"); client.println("Connection: close"); client.println(); if ( mode1 == 0) { if (header.indexOf("GET /?pin=11")) { Serial.println("Relay 1"); digitalWrite(relay1, !digitalRead(relay1)); if (( digitalRead( relay1)) == 1) { status1 = "ON"; } else { status1 = "OFF"; } } } if ( mode2 == 0) { if (header.indexOf("GET /?pin=12")) { Serial.println("Relay 2"); 50 digitalWrite(relay2, !digitalRead(relay2)); if (( digitalRead( relay2)) == 1) { status2 = "ON"; } else { status2 = "OFF"; } } } client.println(); break; } else { currentLine = ""; } } else if (c != '\r') { currentLine += c; } } } //================================================= if (!client.connect(host, httpPort)) { Serial.println("connection failed"); return; } String url_status2 = "/FinalDoan/addstatus.php?status_1=" + status1 + "&status_2=" + status2 + "&mode_1=" + chedo1 + "&mode_2=" + chedo2; client.print(String("GET ") + url_status2 + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); while(client.available()) { String line_status2 = client.readStringUntil('\r'); Serial.print(line_status2); } header = ""; client.stop(); Serial.println("Client disconnected."); Serial.println(""); } //==================SENSOR==================== unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval) { 51 float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { Serial.println("Failed to read from DHT sensor!"); return; } Serial.print("Connecting to "); Serial.println(host); if (!client.connect(host, httpPort)) { Serial.println("connection failed"); return; } String url = "/FinalDoan/addsensor.php?temp=" + String(t) + "&humi="+ String(h); Serial.print("Requesting URL: "); Serial.println(url); client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); previousMillis = currentMillis; while(client.available()) { String line = client.readStringUntil('\r'); Serial.print(line); } Serial.println(); Serial.println("Closing connection"); } } 52 ... trang chủ bật lên nhiệt độ độ ẩm thời gian Ngồi cịn hiển thị nhiệt độ cao nhất, độ ẩm cao kèm theo thời gian Hình 3.14 Giao diện trang chủ giám sát nhiệt độ, độ ẩm Hình 3.15 Tồn giao diện trang... dụng hầu hết mạng máy tính LAN, WAN, mạng toàn cầu Internet sử dụng giao thức TCP/IP phát triển dạng rút gọn mơ hình OSI 15 2.6.2 Mơ hình tham chiếu OSI Khi mạng đời nhanh chóng phát triển Kích... khác nhau, tất điều liên quan đến hoạt đơng vận chuyển thông tin 18 TCP/IP cho phép hoạt động thông tin diễn số mạng liên mạng phù hợp tốt hoạt động truyền tin LAN WAN TCP/IP không bao gồm cho

Ngày đăng: 11/07/2020, 13:55

TỪ KHÓA LIÊN QUAN

w