Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 87 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
87
Dung lượng
5,22 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CÔNG NGHỆ ĐIỆN KHÓA LUẬN TỐT NGHIỆP THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN VÀ GIÁM SÁT NHÀ NẤM SỬ DỤNG WEB SERVER VÀ SMS Sinh viên thực 1: Đặng Duy Cảnh MSSV: 17113321 Sinh viên thực 2: Nguyễn Duy Khánh MSSV: 17113331 Lớp: DHDI13BVL Giáo viên hướng dẫn: Th.S Nguyễn Đức Tồn TP-Hồ Chí Minh, năm 2019 Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên/ nhóm sinh viên giao đề tài Sinh viên 1: Đặng Duy Cảnh MSSV: 17113321 Sinh viên 2: Nguyễn Duy Khánh MSSV: 17113331 Tên đề tài Thiết kế hệ thống điều khiển giám sát nhà nấm sử dụng Web Server SMS Nội dung Kết Giảng viên hướng dẫn Tp HCM, ngày tháng Sinh viên i năm 20 Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN - ii Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh MỤC LỤC PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP i NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ii MỤC LỤC iii DANH SÁCH HÌNH VẼ vi DANH SÁCH CÁC BẢNG vii LỜI NÓI ĐẦU CHƯƠNG TỔNG QUAN 1.1.Đặt vấn đề: ……2 1.2.Ý nghĩa đề tài: 1.3.Giới hạn nghiên cứu đề tài: 1.4.Mục tiêu nghiên cứu đề tài: 1.5.Kết nghiên cứu đề tài: CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 ỨNG DỤNG IOT TRONG NÔNG NGHIỆP 2.1.1 Giới thiệu 2.1.2 Cấu trúc hệ thống ứng dụng công nghệ IOT 2.2 GIỚI THIỆU VỀ QUY TRÌNH TRỒNG NẤM 2.2.1 Giới thiệu 2.3 TỔNG QUAN VỀ WEB SERVER 14 2.3.1 Giới thiệu 14 2.3.2 Giao tiếp thông qua HTTP 16 2.4 TỔNG QUAN VỀ SMS 18 2.4.1 Giới thiệu 18 2.4.2 Cấu trúc tin nhắn SMS 19 2.5 CÁC CHUẨN TRUYỀN DỮ LIỆU 20 2.5.1 Chuẩn truyền thông UART 20 iii Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh 2.5.2 Chuẩn giao tiếp I2C 21 2.5.3 Chuẩn truyền thông SPI 23 CHƯƠNG 3CÁC THIẾT BỊ CẤU THÀNH HỆ THỐNG 24 3.1 GIỚI THIỆU CÁC THIẾT BỊ VÀO-RA SỬ DỤNG TRONG ĐỀ TÀI 24 3.2 GIỚI THIỆU PHẦN CỨNG 24 3.2.1 Cảm Biến Độ Ẩm, Nhiệt Độ DHT21 24 3.2.2 Cảm biến độ ẩm đất 25 3.2.3 Wi-Fi ESP8266 27 3.2.4 Board điều kiển trung tâm STM32F103 30 3.2.5 LCD 16x2 34 3.2.6 Module SIM 800C 39 3.2.7 Mạch Module Relay 41 3.2.8 Module nguồn cấp/ Module điều áp LM2596 42 CHƯƠNG THIẾT KẾ TOÀN HỆ THỐNG 44 4.1 GIỚI THIỆU 44 4.2 THIẾT KẾ HỆ THỐNG 44 4.2.1 Thiết kế sơ đồ khối hệ thống 44 4.2.2 Sơ đồ nguyên lý khối 46 4.2.3 Sơ đồ dây Board Master STM32F103 RBT6 54 CHƯƠNG THI CÔNG HỆ THỐNG 57 5.1 GIỚI THIỆU 57 5.2 THI CÔNG BOARD MẠCH 57 5.2.1 Mạch điều khiển trung tâm (chính) 57 5.2.2 Mạch RF: 59 5.2.3 Module SIM 800C 59 5.2.4 Mạch chip trung tâm STM32F103 RBT6 60 iv Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh 5.2.5 Mạch nguồn 60 5.3 ĐÓNG GĨI VÀ THI CƠNG MƠ HÌNH 63 5.4 LƯU ĐỒ GIẢI THUẬT CỦA HỆ THỐNG 65 5.5 LẬP TRÌNH VÀ TEST HỆ THỐNG 65 5.5.1 Tổng quan phần mềm lập trình 65 5.5.2 CODE SỬ DỤNG TRONG ĐỀ TÀI 67 5.5.3 Tiến hành test hệ thống 73 CHƯƠNG KẾT QUẢ-NHẬN XÉT-ĐÁNH GIÁ 75 6.1 KẾT QUẢ: 75 6.1.1 Kết nghiên cứu 75 6.2 NHẬN XÉT 76 6.3 ĐÁNH GIÁ 77 6.4 HƯỚNG PHÁT TRIỂN 77 TÀI LIỆU THAM KHẢO ………………………………………………………… 78 v Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh DANH SÁCH HÌNH VẼ Hình 2.1 Minh họa ứng dụng IOT nông nghiệp Hình 2.2 Bốn cấu phần hệ thống IOT Hình 2.3: Nấm rơm Hình 2.4 Giao tiếp qua HTTP 17 Hình 2.5: Giao diện kết nối dây chuẩn SPI 23 Hình 3.1: Cảm biến DHT21 25 Hình 3.2: Cảm biến độ ẩm đất 26 Hình 3.3: Chip Esp8266 27 Hình 3.4: Wifi ESP8266 NodeMCU Lua CP2102 29 Hình 3.5: Sơ đồ chân Wifi ESP8266 NodeMCU Lua CP2102 30 Hình 3.6: STM32F103 RBT6 31 Hình 3.7: Hình dạng, sơ đồ chân LCD 16x2 35 Hình 3.8: Bảng mã ký tự LCD 38 Hình 3.9: Module SIM800C 40 Hình 3.10: Module Relay 41 Hình 3.11: Module LM2596 42 Hình 4.1: Sơ đồ khối hệ thống 44 Hình 4.2 Sơ đồ nguyên lý STM32F103 RBT6 46 Hình 4.3: Sơ đồ nối dây STM32F 47 Hình 4.4 Khối nguồn STM32F 47 Hình 4.5: Khối nạp 48 Hình 4.6 Sơ đồ nguyên lý RF 49 Hình 4.7: Khối nguồn 51 Hình 4.8: Khối Sim 51 Hình 4.9: LCD 16x2 52 Hình 4.10: Sơ đồ nguyên lý LCD 54 Hình 4.11 Sơ đồ dây Board Xử lý trung tâm 54 Hình 4.12: Sơ đồ nguyên lý ESP8266 55 Hình 4.13 Motor bơm nước 57 vi Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh Hình 4.16: Sơ đồ dây toàn hệ thống 58 Hình 5.1: Mơ 3D phần mềm Altium 59 Hình 5.2: Hình ảnh thực tế mạch điều khiển trung tâm (chính) 60 Hình 5.3: Mô Altium 61 Hình 5.4: Hình ảnh thực tế Module Sim 800C 62 Hình 5.5 Hình ảnh thực tế STM 32F103 62 Hình 5.6: Hình ảnh thực tế Mạch nguồn 63 Hình 5.7 Mặt trước mơ hình 63 Hình 5.8 Mặt cạnh bên mơ hình 64 Hình 5.9 Các vùng giao diện 66 Hình 5.10: Các trạng thái kết nối 73 Hình 5.11: Giao diện hệ thống điều khiển…………………………………74 vii Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh DANH SÁCH CÁC BẢNG Bảng 2.1: Điều kiện nuôi trồng nấm rơm 13 Bảng 3.1: Chức chân LCD .35 Bảng 3.2 Chức chân RS R/W LCD 16x2 37 Bảng 3.3: Đặc tính điện LCD 39 Bảng 3.5: Đặc tính điện làm việc điển hình LCD 39 viii Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh LỜI NÓI ĐẦU Ngày nay, với ứng dụng khoa học kỹ thuật tiên tiến, giới ngày thay đổi, văn minh đại Và khái niệm mơ hình nhà trồng nấm thơng minh đời Nhà nấm thông minh giải pháp điều khiển giám sát thông số như: nhiệt độ, độ ẩm khơng khí, ánh sáng, nồng độ C02 độ ẩm chất Chúng ta cần có giải pháp giúp người dùng giám sát qua Smartphone - Internet, nhận cảnh báo thông số môi trường nhà nấm, tích hợp cơng nghệ điều khiển tự động điều hịa mơi trường giúp quản lý nhà nấm hiệu cao khoa học Nhận thức tầm thực tiễn nhà nấm thông minh sở để chúng em chọn đề tài đồ án tốt nghiệp: “Thiết kế hệ thống điều khiển giám sát nhà nấm sử dụng Web Server SMS” Trong suốt thời gian hồn thành đồ án, chúng em tìm hiểu vi điều khiển, chế độ truyền thông, cảm biến đo, cấu chấp hành, cách kết nối mạng Ethernet, điều khiển qua tin nhắn SMS, đồng thời tìm hiểu tiêu chí nhà nấm thơng minh Dưới hướng dẫn, bảo nhiệt tình thầy Nguyễn Đức Toàn với cố gắng nỗ lực thành viên nhóm, chúng em hoàn thành đồ án thời hạn cho phép Tuy nhiên thời gian hạn chế, lượng kiến thức lớn nên chúng em tránh khỏi nhiều thiếu sót Vì vậy, chúng em mong nhận nhiều ý kiến đánh giá, góp ý thầy cô giáo bạn sinh viên để chúng em phát triển hồn thiện thêm đề tài Chúng em xin chân thành cảm ơn! Nhóm sinh viên thực Đặng Duy Cảnh Nguyễn Duy Khánh Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh Hình 5.8 Mặt cạnh bên mơ hình 64 Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh 5.4 LƯU ĐỒ GIẢI THUẬT CỦA HỆ THỐNG 5.5 LẬP TRÌNH VÀ TEST HỆ THỐNG 5.5.1 Tổng quan phần mềm lập trình Giới thiệu phần mềm lập trình Arduino IDE Mơi trường phát triển tích hợp (IDE) Arduino ứng dụng đa tảng viết Java, từ IDE sử dụng cho ngơn ngữ lập trình xử lý Wiring Nó thiết kế để dành cho người tập làm quen với lĩnh vực phát triển phần mềm Arduino IDE bao gồm chương trình code editor với chức đánh dấu cú pháp, tự động canh lề, biên dịch upload chương trình lên board với cú nhấp chuột Một chương trình code viết cho Arduino gọi sketch Arduino IDE tải miễn phí trang chủ Arduino với phiên 1.8.9 người dùng dùng trực tiếp phần mềm Arduino IDE giao diện web với tên gọi Arduino Web Editor 65 Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh Hướng dẫn cài đặt phần mềm Arduino IDE Truy cập địa chỉ: https://www.arduino.cc/en/Main/Software Hình 5.9 Các vùng giao diện Vùng lệnh: bao gồm nút lệnh menu (File, Edit, Sketch, Tools, Help) Phía icon cho phép sử dụng nhanh chức thường dùng IDE Vùng soạn thảo chương trình: vùng soạn thảo chương trình mặc định chương trình hàm setup() hàm loop(): • setup (): hàm chạy khởi động chương trình, dùng để thiết lập cài đặt chạy lần suốt chương trình • loop (): hàm chạy sau hàm setup() lặp lặp lại tắt nguồn hệ thống Vùng thông báo: vùng thông báo cho người dung biết lỗi chương trình Nếu chương trình khơng có lỗi biên dịch thành cơng thơng báo cho người dùng biết thơng tin dung lượng file chương trình nhớ ram sử dụng 66 Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh 5.5.2 CODE SỬ DỤNG TRONG ĐỀ TÀI #include #include // #include "DHT.h" // DHT11 temperature and humidity sensor Predefined library #define DHTTYPE DHT22 // DHT 11 //#define dht_dpin //GPIO-0 D3 pin of nodemcu #define DHTPIN int Raw = A0; int threshold = 16; //Analog channel A0 as used to measure temperature //Nodemcu digital pin water sensor read-GPIO16 -D0 of NodeMCU int Solenoid = 13; // GPIO13 -D7 of NodeMCU Motor connection const char* ssid = "KLTN IUH"; // ten WIFI const char* password = "iuh12345"; // mat khau WIFI //DHT dht(dht_dpin, DHTTYPE); DHT dht(DHTPIN, DHTTYPE); WiFiServer server(80); void setup(void) { dht.begin(); Serial.begin(9600); delay(10); 67 Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh pinMode(threshold,INPUT_PULLUP); //Pin#13 as output-Activate pullup at pin 13 pinMode(Solenoid, OUTPUT); digitalWrite(Solenoid, LOW); //D7 as output //Deactivate Solenoid // Connect to WiFi network Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); //Begin WiFi while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); // Start the server server.begin(); Serial.println("Server started"); // Print the IP address on serial monitor Serial.print("Use this URL to connect: "); Serial.print("http://"); //URL IP to be typed in mobile/desktop browser Serial.print(WiFi.localIP()); Serial.println("/"); } 68 Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh void loop() { // Check if a client has connected WiFiClient client = server.available(); if (!client) { return; } // Wait until the client sends some data Serial.println("new client"); while(!client.available()){ delay(1); } // Read the first line of the request String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); float h =0.0; //Humidity level float t =0.0; //Temperature in celcius float f =0.0; //Temperature in fahrenheit float percentage = 0.0; // Calculating percentage of moisture float reading = 0.0; //Analog channel moisture read // Match the request int value = LOW; if (request.indexOf("/Up=ON") != -1) { h = dht.readHumidity(); //Read humidity level t = dht.readTemperature(); //Read temperature in celcius f = (h * 1.8) + 32; //Temperature converted to Fahrenheit reading = analogRead(Raw); //Analog pin reading output voltage by water moisture rain sensor percentage = (reading/1024) * 100; //Converting the raw value in percentage 69 Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh if (reading 38) { digitalWrite(Solenoid, HIGH); } if(t < 35) { digitalWrite(Solenoid, LOW); } } if (request.indexOf("/Solenoid=ON") != -1) { //Motor ON digitalWrite(Solenoid, HIGH); value = HIGH; } if (request.indexOf("/Solenoid=OFF") != -1) { //Motor OFF digitalWrite(Solenoid, LOW); value = LOW; } // Return the response client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); 70 Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh client.println(""); // not forget this one client.println(""); client.println(""); client.println("Smart Garden - Weather Station"); client.println("GVHD: Th.S NGUYENDUCTOAN"); client.println("SVTH: CANH-KHANH "); client.print("Temperature in Celsius ="); client.println(t); //client.println(15); client.println(""); client.print("Temperature in Fahrenheit ="); client.println(f); client.println(""); client.print("Humidity ="); client.println(h); client.print(" %"); client.println(""); client.println(); client.print("Moisture Level Percentage ="); client.print(percentage); client.print("%"); if(digitalRead(threshold)==HIGH){ // Read digital output of soil sensor client.println("Threshold Reached = Rain detected / Moisture exceeded / Water detected"); } client.println(""); if(value == HIGH) client.println("Motor/Pump Operational"); 71 Khóa luận tốt nghiệp Duy Cảnh-Duy Khánh else client.print("Motor/Pump at Halt"); client.println(""); client.println("Motor Pump On "); client.println("