(Tiểu luận) đồ án tốt nghiệp hệ thống điều khiển và giám sát trang trại nông nghiệp bằng công nghệ iot

166 25 0
(Tiểu luận) đồ án tốt nghiệp hệ thống điều khiển và giám sát trang trại nông nghiệp bằng công nghệ iot

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP HỆ THỐNG ĐIỀU KHIỂN VÀ GIÁM SÁT TRANG TRẠI NÔNG NGHIỆP BẰNG CÔNG NGHỆ IOT NGÀNH: KỸ THUẬT ĐIỆN TỬ, TRUYỀN THÔNG GIẢNG VIÊN HƯỚNG DẪN: TS NGUYỄN TRỌNG HẢI Sinh viên thực hiện: MSSV: Lớp: La Nhật Hảo 1511010042 15DDT01 Nguyễn Đình Thuận 1511010031 15DDT01 Nguyễn Đức Duy 1511010015 15DDT01 Tp Hồ Chí Minh, tháng 09/2021 0 Tieu luan BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP HỆ THỐNG ĐIỀU KHIỂN VÀ GIÁM SÁT TRANG TRẠI NÔNG NGHIỆP BẰNG CÔNG NGHỆ IOT NGÀNH: KỸ THUẬT ĐIỆN TỬ, TRUYỀN THÔNG GIẢNG VIÊN HƯỚNG DẪN: TS NGUYỄN TRỌNG HẢI Sinh viên thực hiện: MSSV: Lớp: La Nhật Hảo 1511010042 15DDT01 Nguyễn Đình Thuận 1511010031 15DDT01 Nguyễn Đức Duy 1511010015 15DDT01 Tp Hồ Chí Minh, tháng 09/2021 0 Tieu luan MÃ ĐỀ TÀI: 90 VIỆN KỸ THUẬT HUTECH PHIẾU ĐĂNG KÝ ĐỀ TÀI ĐỒ ÁN/KHÓA LUẬN TỐT NGHIỆP Hệ: ………………CQ………… (CQ, LT, B2, VLVH) Họ tên sinh viên/ nhóm sinh viên đăng ký đề tài (sĩ số nhóm……): (1) La Nhật Hảo MSSV: 1511010042 ………Lớp: 15DDT01 Điện thoại: 0922090323 Email: lanhathao090323@gmail.com (2) Nguyễn Đình Thuận .MSSV: 1511010031 ………Lớp: 15DDT01 Điện thoại: 0364987643 Email: ndinhthuan1997@gmail.com (3) Nguyễn Đức Duy MSSV: 1511010015 ……….Lớp: 15DDT01 Điện thoại: 0987897209 Email: ducduy848@gmail.com Ngành : Kỹ thuật điện tử, truyền thông Chuyên ngành : Điện tử viễn thông Tên đề tài đăng ký : Hệ thống điều khiển giám sát trang trại nông nghiệp công nghệ IOT Sinh viên hiểu rõ yêu cầu đề tài cam kết thực đề tài theo tiến độ hoàn thành thời hạn TP HCM, ngày 10 tháng 08 năm 2021 Giảng viên hướng dẫn (Ký ghi rõ họ tên) Sinh viên đăng ký (Ký ghi rõ họ tên) Nguyễn Đình Thuận La Nhật Hảo Nguyễn Đức Duy Nguyễn Trọng Hải 0 Tieu luan MÃ ĐỀ TÀI: 90 Viện Kỹ thuật Hutech PHIẾU GIAO NHIỆM VỤ THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP (Mỗi sinh viên phiếu, GVHD ghi rõ tên đề tài nhiệm vụ sinh viên GVHD chuyển cho SV để nộp VP Viện.) Sinh viên thực đề tài Họ tên : La Nhật Hảo MSSV : 1511010042 Lớp : 15DDT01 Điện thoại : 0922090323 Email : lanhathao090323@gmail.com Ngành : Điện tử - Truyền thông Tên đề tài: Hệ thống điều khiển giám sát trang trại nông nghiệp công nghệ IOT Nhiệm vụ thực đề tài: Kết nối Arduino với module, cảm biến, động sử dụng hệ thống Giao tiếp Module ESP8266 với Arduino Uno R3 Viết chương trình arduino Tìm hiểu cơng nghệ IoT Tìm hiểu board Node MCU ESP8266 Kết nối Module ESP8266 với Internet để cập nhật liệu TP HCM, ngày 10 tháng 08 năm 2021 Giảng viên hướng dẫn (Ký ghi rõ họ tên) Sinh viên thực (Ký ghi rõ họ tên) La Nhật Hảo Nguyễn Trọng Hải 0 Tieu luan MÃ ĐỀ TÀI: 90 Viện Kỹ thuật Hutech PHIẾU GIAO NHIỆM VỤ THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP (Mỗi sinh viên phiếu, GVHD ghi rõ tên đề tài nhiệm vụ sinh viên GVHD chuyển cho SV để nộp VP Viện.) Sinh viên thực đề tài Họ tên : Nguyễn Đình Thuận MSSV : 1511010031 Lớp : 15DDT01 Điện thoại : 0364987643 Email : ndinhthuan1997@gmail.com Ngành : Điện tử - Truyền thông Tên đề tài: Hệ thống điều khiển giám sát trang trại nông nghiệp công nghệ IOT Nhiệm vụ thực đề tài: Tìm hiểu cách thức hoạt động cảm biến sử dụng hệ thống Tìm hiểu chuẩn truyền thông UART, I2C, Thiết kế sơ đồ khối, giải thích chức khối Tính toán lựa chọn linh kiện cho khối Tính thiết kế sơ đồ ngun l tồn mạch giải thích ngun l hoạt động mạch Thi công phần cứng, chạy thử nghiệm TP HCM, ngày 10 tháng 08 năm 2021 Giảng viên hướng dẫn (Ký ghi rõ họ tên) Sinh viên thực (Ký ghi rõ họ tên) Nguyễn Đình Thuận Nguyễn Trọng Hải 0 Tieu luan MÃ ĐỀ TÀI: 90 Viện Kỹ thuật Hutech PHIẾU GIAO NHIỆM VỤ THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP (Mỗi sinh viên phiếu, GVHD ghi rõ tên đề tài nhiệm vụ sinh viên GVHD chuyển cho SV để nộp VP Viện.) Sinh viên thực đề tài Họ tên : Nguyễn Đức Duy MSSV : 1511010015 Lớp : 15DDT01 Điện thoại : 0987897209 Email : ducduy848@gmail.com Ngành : Điện tử - Truyền thông Tên đề tài: Hệ thống điều khiển giám sát trang trại nông nghiệp công nghệ IOT Nhiệm vụ thực đề tài: Nghiên cứu xây dựng App Blynk giao tiếp với hệ thống thông qua Wifi Tìm hiểu phương thức gửi liệu từ board mạch lên Web App Blynk Thiết kế giao diện App Truyền nhận gửi giữ liệu lên app Blynk Thiết kế hoàn chỉnh mơ hình thực tế, chạy thử nghiệm cân chỉnh mơ hình hệ thống Thiết kế, dây hồn thiện mơ hình TP HCM, ngày 10 tháng 08 năm 2021 Giảng viên hướng dẫn (Ký ghi rõ họ tên) Sinh viên thực (Ký ghi rõ họ tên) Nguyễn Đức Duy Nguyễn Trọng Hải 0 Tieu luan LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Tp Hồ Chí Minh, ngày 10 tháng 08 năm 2021 (Ký tên ghi rõ họ tên) La Nhật Hảo Nguyễn Đình Thuận Nguyễn Đức Duy i 0 Tieu luan LỜI CẢM ƠN Lời đầu tiên, chúng em xin chân thành cảm ơn Thầy/Cơ trường Đại học Huetch nói chung Thầy/Cơ Viện Kỹ Thuật Hutech nói riêng truyền đạt kiến thức quý báu môn đại cương môn chuyên ngành, buổi thực hành nhiệt tình Thầy/Cơ giúp chúng em có kiến thức vững vàng để có tiền đề hồn thành đề tài nghiệp sau Lời tiếp theo, chúng em xin phép gửi đến Thầy Nguyễn Trọng Hải lòng biết ơn lời cảm ơn chân thành sâu sắc nhất, người tận tình hướng dẫn, giúp đỡ, tạo điều kiện tốt suốt thời gian hoàn thành Đồ Án Tốt Nghiệp Cuối cùng, nhóm em xin cảm ơn đến gia đình bạn bè, người hỗ trợ, quan tâm, giúp đỡ động viên suốt q trình học tập hồn thành Đồ Án Tốt nghiệp Mặc dù cố gắng hoàn thành mục tiêu đề tài đặt kiến thức cịn hạn chế nên chắn khơng tránh khỏi thiếu sót, mong q Thầy/Cơ thơng cảm, mong nhận ý kiến chân thật nhóm ln học hỏi khắc phục để có kết tốt Nhóm em xin chân thành cảm ơn! ii 0 Tieu luan MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH SÁCH CÁC CHỮ VIẾT TẮT vii DANH SÁCH CÁC HÌNH viii DANH SÁCH CÁC BẢNG xii LỜI MỞ ĐẦU 1 Tính cấp thiết đề tài Tình hình nghiên cứu Mục đích nghiên cứu Nhiệm vụ nghiên cứu Phương pháp nghiên cứu Kết đạt .3 Kết cấu đồ án tốt nghiệp Chương 1: GIỚI THIỆU 1.1 Nhu cầu công nghệ IoTs lĩnh vực trang trại nông nghiệp 1.1.1 Công nghệ IoTs 1.1.2 Đáp ứng công nghệ IoTs lĩnh vực nông nghiệp 1.1.3 Hiệu mang lại từ việc áp dụng công nghệ IoTs nông nghiệp.9 1.2 Nhiệm vụ cần thực nhằm giải vấn đề cho nông nghiệp IoTs 11 1.3 Phạm vi giới hạn 11 Chương 2: TỔNG QUAN GIẢI PHÁP 13 2.1 Xu hướng tính chất IoT 13 2.1.1 Sự thông minh 13 2.1.2 Kiến trúc dựa kiện 13 2.1.3 Là hệ thống phức tạp 13 2.1.4 Kích thước 13 2.1.5 Vấn đề không gian, thời gian 13 iii 0 Tieu luan 2.1.6.Luồng lượng 14 2.2 Những thách thức ảnh hưởng đến phát triển mơ hình IoT 14 2.2.1 Chưa có chuẩn hóa 14 2.2.2 Hàng rào subnetwork 15 2.2.3 Chi phí phát triển mạng 15 2.3 Phần cứng phần mềm node mạng mơ hình ứng dụng IoT 16 2.3.1 Phần cứng 16 2.3.2 Phần mềm 16 2.4 Lựa chọn công nghệ truyền thông cho IoT 17 2.5 Chuẩn truyền thông Wifi 17 2.6 Giới thiệu số ứng dụng hệ thống nông nghiệp lĩnh vực IoTs 19 2.7 Các giải pháp đưa đáp ứng cho hệ thống 25 2.7.1 Tại quản lý nhiệt độ – độ ẩm lại quan trọng 25 2.7.2 Kiểm soát nhiệt độ độ ẩm nhà kính 25 2.7.3 Ảnh hưởng nhiệt độ tới trồng 26 2.7.4 Một số phương pháp kiểm sốt mơi trường nhà kính 28 2.8 Các giải pháp đưa áp dụng cho mơ hình đề tài 29 2.9 Giới thiệu hệ thống điều khiển giám sát trang trại nông nghiệp IoTs.30 Chương 3: PHƯƠNG PHÁP GIẢI QUYẾT 32 3.1 Mô tả phương pháp 32 3.2 Phân tích chọn lựa thiết bị linh kiện phần cứng 32 3.2.1 Arduino Uno R3 .32 3.2.2 Node MCU ESP8266 .36 3.2.2 Module DHT22 41 3.2.3 Cảm biến khí gas MQ-2 43 3.2.5 Cảm biến ánh sáng CDS 45 3.2.6 Module cảm biến độ ẩm đất 46 3.2.7 Màn hình LCD 20x4 47 3.2.8 Mạch chuyển đổi I2C cho LCD 49 3.2.9 Bơm mini 12V 50 3.2.10 Máy bơm phun mini 12V 51 3.2.11 Led dây 12V 5050 52 iv 0 Tieu luan Blynk.virtualWrite(V3, z);//gas Blynk.virtualWrite(V7, w);//as } void setup() { // Serial port for debugging purposes Serial.begin(9600); Blynk.begin(auth, ssid, password); pinMode(tb1, OUTPUT); //ngõ pinMode(tb2, OUTPUT); pinMode(tb3, OUTPUT); pinMode(tb4, OUTPUT); pinMode(btnPin1, INPUT_PULLUP); pinMode(btnPin2, INPUT_PULLUP); pinMode(btnPin3, INPUT_PULLUP); pinMode(btnPin4, INPUT_PULLUP); pinMode(ledPin1, OUTPUT); pinMode(ledPin2, OUTPUT); pinMode(ledPin3, OUTPUT); pinMode(ledPin4, OUTPUT); digitalWrite(ledPin1, led1State); digitalWrite(ledPin2, led1State); digitalWrite(ledPin3, led1State); digitalWrite(ledPin4, led1State); timer.setInterval(500L, sendSensor); timer.setInterval(500L, checkPhysicalButton); // Initialize SPIFFS 134 0 Tieu luan if(!SPIFFS.begin()){ Serial.println("An Error has occurred while mounting SPIFFS"); return; } // Connect to Wi-Fi WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi "); } // Print ESP32 Local IP Address Serial.println(WiFi.localIP()); // Route for root / web page server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){ request->send(SPIFFS, "/index.html", String(), false, processor); }); // Route to load style.css file server.on("/style.css", HTTP_GET, [](AsyncWebServerRequest *request){ request->send(SPIFFS, "/style.css", "text/css"); }); // Route to set GPIO1 to HIGH server.on("/on1", HTTP_GET, [](AsyncWebServerRequest *request){ digitalWrite(tb1, LOW); digitalWrite(tb1, led1State); request->send(SPIFFS, "/index.html", String(), false, processor); 135 0 Tieu luan }); // Route to set GPIO1 to LOW server.on("/off1", HTTP_GET, [](AsyncWebServerRequest *request){ digitalWrite(tb1, HIGH); request->send(SPIFFS, "/index.html", String(), false, processor); }); // Route to set GPIO2 to HIGH server.on("/on2", HTTP_GET, [](AsyncWebServerRequest *request){ digitalWrite(tb2, LOW); request->send(SPIFFS, "/index.html", String(), false, processor); }); // Route to set GPIO2 to LOW server.on("/off2", HTTP_GET, [](AsyncWebServerRequest *request){ digitalWrite(tb2, HIGH); request->send(SPIFFS, "/index.html", String(), false, processor); }); // Route to set GPIO3 to HIGH server.on("/on3", HTTP_GET, [](AsyncWebServerRequest *request){ digitalWrite(tb3, LOW); request->send(SPIFFS, "/index.html", String(), false, processor); }); // Route to set GPIO3 to LOW server.on("/off3", HTTP_GET, [](AsyncWebServerRequest *request){ digitalWrite(tb3, HIGH); 136 0 Tieu luan request->send(SPIFFS, "/index.html", String(), false, processor); }); // Route to set GPIO4 to HIGH server.on("/on4", HTTP_GET, [](AsyncWebServerRequest *request){ digitalWrite(tb4, LOW); request->send(SPIFFS, "/index.html", String(), false, processor); }); // Route to set GPIO4 to LOW server.on("/off4", HTTP_GET, [](AsyncWebServerRequest *request){ digitalWrite(tb4, HIGH); request->send(SPIFFS, "/index.html", String(), false, processor); }); server.on("/temperature", HTTP_GET, [](AsyncWebServerRequest *request){ request->send_P(200, "text/plain", getTemperature().c_str()); }); server.on("/humidity", HTTP_GET, [](AsyncWebServerRequest *request){ request->send_P(200, "text/plain", getHumidity().c_str()); }); server.on("/gas", HTTP_GET, [](AsyncWebServerRequest *request){ request->send_P(200, "text/plain", getGas().c_str()); }); server.on("/anhsang", HTTP_GET, [](AsyncWebServerRequest *request){ request->send_P(200, "text/plain", getAnhsang().c_str()); }); // Start server 137 0 Tieu luan server.begin(); } void loop() { if(Serial.available() > ) { c = Serial.readString(); } Serial.println(c); x = c.toInt()/1000000; //lay phan nguyen y = c.toInt()/10000%100; z = c.toInt()%10000/100; w = c.toInt()%100; //lay phan du Serial.print("Nhiet do: "); Serial.println(x); Serial.print("Do am: "); Serial.println(y); Serial.print("Khi gas: "); Serial.println(z); Serial.print("Anh sang: "); Serial.println(w); delay(1000); Blynk.run(); timer.run(); } Code Websever 138 0 Tieu luan ESP8266 Web Server HỆ THỐNG ĐIỀU KHIỂN VÀ GIÁM SÁT TRANG TRẠI NÔNG NGHIỆP IoTs 139 0 Tieu luan HOME

Trạng thái máy 1: %STATE1%

ON OFF

Trạng thái máy 2: %STATE2%

ON OFF

Trạng thái máy 3: %STATE3%

ON OFF

Trạng thái máy 4: %STATE4%

ON 140 0 Tieu luan OFF

Name Value Temperature %TEMPERATURE% °C Humidity 141 0 Tieu luan %HUMIDITY% % Gas %GAS% % Anhsang %ANHSANG% % 142 0 Tieu luan Hình 4.7: Sơ đồ nguyên lý khối công suất ngõ  Nguyên lý hoạt động mạch Khối ngõ công suất điều khiển thiết bị có cơng suất 1KW kết nối với chân D1, D2, D3, D4 module ESP8266 Khi có tín hiệu “ON” (tín hiệu mức cao) transistor dẫn, dòng điện chạy qua cuộn dây relay làm relay đóng tiêp điểm tạo mạch kín nên thiết bị bật, đồng thời led sáng báo hiệu thiết bị bật Ngược lại có tín hiệu “OFF” (tín hiệu mức thấp) transistor ngưng dẫn cuộn dây 0 relay khơng có dịng điện chạy qua làm tiếp điểm hở tạo hở mạch dẫn đến tắt Tieu luan thiết bị, led báo hiệu tắt 76 Diode: Diode dùng để chống dòng ngược từ relay để bảo vệ 0 C1815 Vì relay có cuộn dây, điện có dịng ngược, dịng ngược q Tieu luan lớn làm hỏng transitor Điện trở: Điện trở mắc từ ngõ vào mạch với chân (Anode) Opto nhằm hạn dịng kích Ở đây, nhóm chọn trở 330 Ohm Opto PC817: Để đảm bảo an tồn cho mạch điều khiển nhóm sử dụng thêm Opto PC817 (hay cịn gọi cách ly quang) Nó linh kiện tích hợp có cấu tạo gồm led photodiot hay phototransitor Được sử dụng để cách ly khối điều khiển với khối ngõ cơng suất Khi có cố cháy, chập mạch tầng công suất không ảnh hưởng đến tầng điều khiển Khi có tín hiệu điều khiển từ ngõ vào gửi đến, có dịng qua điện trở tới chân Anode Opto làm cho led nội bên Opto phát sáng Khi led phát sáng làm thông cực photo diot, mở cho dòng điện chạy qua Dòng điện qua transistor khuếch đại, kéo cuộn hút làm thay đổi trạng thái relay 4.2.2.5 Khối cảm biến Cảm biến DHT22 Hiện nay, thị trường có nhiều loại cảm biến nhiệt độ, độ ẩm sử dụng đề tài AMT1001,DHT21, DHT22,…nhưng DHT22 cảm biến giá rẻ so với cảm biến khác, thích hợp cho ứng dụng thu thập liệu Do nhóm định sử dụng cảm biến Hình 4.8: Cảm biến DHT22 77 0 Tieu luan  Thiết kế: Cảm biến DHT22 gồm chân kết nối sau: Chân VCC nối với nguồn 5VDC Arduino Chân GND nối với chân GND nguồn Arduino Chân DATA nối với chân vi điều khiển (Arduino Uno R3) 0 Tieu luan Hình 4.9: Sơ đồ kết nối cảm biến DHT22 với Arduino R3 Arduino Uno R3 thiết lập chân DATA Output, kéo chân DATA xuống khoảng thời gian >18ms Khi DHT22 hiểu Arduino muốn đo giá trị nhiệt độ độ ẩm Arduino đưa chân DATA lên 1, sau thiết lập lại chân đầu vào Sau khoảng 20-40us, DHT22 kéo chân DATA xuống thấp Nếu>40us mà chân DATA ko kéo xuống thấp nghĩa ko giao tiếp với DHT22 Chân DATA mức thấp 80µs sau DHT22 kéo nên cao 80µs Bằng việc giám sát chân DATA, Arduino biết có giao tiếp với DHT22 ko Nếu tín hiệu đo DHT22 lên cao, hồn thiện trình giao tiếp Arduino với DHT22 Thiết kế khối cảm biến cường độ ánh sáng 78 0 Tieu luan Hình 4.10: Sơ đồ kết nối cảm biến ánh sáng Chọn chân A1 board Arduino làm chân đọc giá trị cảm biến ánh sáng Khi nút nhấn chế độ thường hở (đang chạy chế độ Auto) Nếu giá trị cường độ ánh sáng xuống thấp ngưỡng mà nhóm thiết lập chân số xuất mức [1] nối vào chân VCC đèn led, chân lại nối vào GND Lúc đó, đèn phát sáng Ngược lại cao led tắt 4.2.2.6 Khối hiển thị Chức khối hiển thị: Dùng để hiển thị thông tin dạng chữ số giúp người dùng quan sát rõ ràng cự ly gần mà không cần sử dụng thiết bị kết nối Internet để giám sát website Cụ thể hiển thị hình thông số cảm biến nhiệt độ, độ ẩm ánh sáng Ngồi cịn hiển thị trạng thái hoạt động thiết bị 0 Có nhiều linh kiệnTieu để lựaluan chọn cho khối hiển thị như: LCD, Led ma ... thống điều khiển giám sát trang trại nông nghiệp IoTs Sơ đồ khối mô tả Hệ thống điều khiển giám sát trang trại nông nghiệp IoTs Hình 2.13: Sơ đồ khối hệ thống Hệ thống điều khiển giám sát Iots bao...BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP HỆ THỐNG ĐIỀU KHIỂN VÀ GIÁM SÁT TRANG TRẠI NÔNG NGHIỆP BẰNG CÔNG NGHỆ IOT NGÀNH: KỸ THUẬT ĐIỆN TỬ,... cấu đồ án tốt nghiệp Chương 1: GIỚI THIỆU 1.1 Nhu cầu công nghệ IoTs lĩnh vực trang trại nông nghiệp 1.1.1 Công nghệ IoTs 1.1.2 Đáp ứng công nghệ IoTs lĩnh vực nông

Ngày đăng: 06/02/2023, 09:15

Tài liệu cùng người dùng

Tài liệu liên quan