Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
0,94 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỀ TÀI MÔN HỌC INTERNET OF THINGS (IOT) VÀ ỨNG DỤNG Chủ đề: XÂY DỰNG HỆ THỐNG TƯỚI TỰ ĐỘNG DỰA TRÊN ĐỘ ẨM ĐẤT VÀ THEO DÕI TỪ XA THÔNG QUA ĐIỆN THOẠI DI ĐỘNG Lớp: K61CNTT-3 Giảng viên hướng dẫn: Mai Cường Thọ SV Thực hiện: Dặng Ngọc Sơn MSSV:60136743 Nha Trang : 16/11/2022 Lời mở đầu Nền nông nghiệp nước ta có bước phát triển chưa có nhiều ứng dụng khoa học kỹ thuật áp dụng vào thực tế Rất nhiều quy trình kỹ thuật trồng trọt, chăm sóc tiến hành cách chủ quan, khơng đảm bảo u cầu Có thể nói nơng học, ngồi kỹ thuật trồng trọt, chăm sóc tưới nước tăng thời gian quang hợp khâu quan trọng trồng trọt, để đảm bảo sinh trưởng phát triển bình thường, tưới tưới đủ theo yêu cầu nông học trồng không chịu sâu bệnh, hạn chế thuốc trừ sâu cho sản phẩm an toàn, đạt suất hiệu cao Hệ thống tưới nước tự động kết hợp theo dõi từ xa thông qua điện thoại hệ thống thiết bị phụ trợ tốt đáp ứng theo nhu cầu sinh trưởng trồng, ứng dụng rộng nước phát triển Hệ thống tưới nước tự động kết hợp theo dõi từ xa hình thức tưới nước hợp lý, tiết kiệm sức lao động chi phí nhân cơng, vốn phát triển nhiều nước giới Tuy nhiên, Việt Nam vài ba năm trở lại đây, việc tận dụng hệ thống trở thành xu hướng Hệ thống tưới nước trở nên phổ biến với người nông dân nông thôn với q trình đại hóa, cơng nghiệp hóa nơng thơn chưa dám mạnh dạng đưa vào sử dụng chi phí cao Nắm bắt nhu cầu cấp thiết mong muốn góp chút cơng sức làm giảm bớt gánh nặng cho người làm nơng, nhóm định chọn: “Xây dựng hệ thống tưới tự động dựa độ ẩm đất theo dõi từ xa thông qua điện thoại” để làm đề tài báo cáo Mục lục Chương 1: TỔNG QUAN ĐỀ TÀI 1.1 Giới thiệu tổng quan IoT 1.2 Mục tiêu ý tưởng đề tài .3 1.3 Nguyên lý hoạt động hệ thống 1.4 Lựa chọn phần cứng cho hệ thống: Chương 2: THIẾT KẾ HỆ THỐNG IOT 2.1 Lập bảng liệu .8 2.2 Thiết kế sơ đồ mạch điện .10 2.3 Thiết kế ứng dụng điện thoại thông minh 11 2.3.1 Giới thiệu Blynk 11 2.3.2 Cấu hình nút chức 13 2.4 Viết code chương trình điều khiển .20 Chương 3: KIỂM TRA HOẠT ĐỘNG CỦA HỆ THỐNG 21 Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 24 Tài liệu tham khảo 25 Chương 1: TỔNG QUAN ĐỀ TÀI 1.1 Giới thiệu tổng quan IoT Thuật ngữ Internet of things (viết tắt IoT) hiểu cách đơn giản mạng lưới vạn vật kết nối với thông qua Internet Chúng bao gồm đồ vật, người cung cấp định danh riêng tất có khả truyền tải hay trao đổi thông tin hay liệu qua mạng mà không cần đến tương tác trực tiếp người với người, hay người với máy tính IoT phát triển từ hội tụ công nghệ không dây, công nghệ vi điện tử quan trọng có mặt Internet Nói đơn giản IoT tập hợp thiết bị có khả kết nối thứ lại với với Internet với giới bên ngồi để thực cơng việc Có thể nói IoT có mặt hầu hết lĩnh vực đời sống từ văn hóa, du lịch, giáo dục, y học, truyền thơng,…Tất lĩnh vực ứng dụng từ thành tựu IoT Như trước muốn thơng tin liên lạc với khơng cịn cách khác viết thư truyền thư thơng qua người giao nhận Cịn thơng qua thiết bị thơng minh, chúng kết nối với thông qua hệ thống wifi, 3G hay ứng dụng riêng hãng Chưa đầy 10s gửi tin nhắn đến người hay nhiều người khác Bên cạnh cịn có nhiều ứng dụng khác như: Quản lý mơi trường Quản lý hệ thống máy móc Hệ thống mua sắm trực tuyến Hệ thống kiểm sốt an ninh Nhà thơng minh Ứng dụng quản lý tồn thiết bị cá nhân thơng qua việc động 1.2 Mục têu ý tưởng đề tài: Đọc giá trị độ ẩm đất từ chân A0 NodeMCU hiển thị LCD Cho phép tuỳ chỉnh chế độ Tự đông/Thủ công thông qua chức button1 (V2) Chế độ Tự động - Thiết lập thông số độ ẩm đất giá trị độ ẩm đất =70 hình LCD_i2c hiển thị giá “độ ẩm cao” hệ thống tự tắt máy bơm thông báo Blynk + giá trị cịn lại hình LCD_i2c hiển thị “Độ ẩm bình thường” máy bơm tắt Chế độ Thủ công: + Sử dụng nút nhấn Button (V1) Blynk app để điều khiển đóng ngắt máy bơm Về thực nghiệm: Chạy thành công hệ thống tưới nước dựa độ ẩm đất theo dõi từ xa ứng dụng 1.3 nguyên lý hoạt động hệ thống Nguyên lý hoạt động: #Chế độ tự động Cảm biến thu tín hiệu độ ẩm chân A0 NodeMCU => Hiển thị LCD_i2c Blynk Sau gửi tín hiệu NodeMCU để thực thi lệnh ràng buộc #Chế độ thủ công - Điều khiển đóng tắt relay thơng qua BlinkApp Button (V1) - Bật: Xuất tín hiệu HIGH chân D3 NodeMCU để mở relay mở máy bơm - Tắt: Xuất tín hiệu LOW chân D3 NodeMCU để đóng relay tắt máy bơm 1.4 Lựa chọn phần cứng cho hệ thống: Trên sở phân tích yêu cầu hệ thống Bước 1, chọn lựa linh kiện phần cứng phù hợp như: + Board mạch điều khiển: NodeMCU NodeMCU V1.0 phát triển dựa Chip WiFi ESP8266EX bên Module ESP-12E dễ dàng kết nối WiFi với vài thao tác.Board tích hợp IC CP2102, giúp dễ dàng giao tiếp với máy tính thơng qua Micro USB để thao tác với board Và có sẳn nút nhấn, led để tiện qua q trình học, nghiên cứu Với kích thước nhỏ gọn, linh hoạt board dễ dàng liên kết với thiết bị ngoại vi để tạo thành project, sản phẩm mẫu cách nhanh chóng Thơng số kỹ thuật: - Chip: ESP8266EX - WiFi: 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n - Điện áp hoạt động: 3.3V - Điện áp vào: 5V thông qua cổng USB - Số chân I/O: 11 (tất chân I/O có Interrupt/PWM/I2C/One-wire, trừ chân D0) - Số chân Analog Input: (điện áp vào tối đa 3.3V) - Bộ nhớ Flash: 4MB - Giao tiếp: Cable Micro USB - Hỗ trợ bảo mật: WPA/WPA2 - Tích hợp giao thức TCP/IP - Lập trình ngôn ngữ: C/C++, Micropython, NodeMCU + Cảm biến: Cảm biến độ ẩm đất Thông số kỹ thuật: -Điện áp hoạt động: 3.3~5VDC -Tín hiệu đầu ra: +Analog: theo điện áp cấp nguồn tương ứng +Digital: High Low, điều chỉnh độ ẩm mong muốn biến trở thơng qua mạch so sánh LM393 tích hợp -Chiều dài dây cảm biến: 1m -Kích thước : x 1.6cm Hình 1.2 Cảm biến độ ẩm đất + Thiết bị chấp hành: Hình 1.3 Relay Hình 1.4 Máy bơm nước 5V Màn LCD_I2C: Thông số kỹ thuật: - Điện áp hoạt động V - Kích thước: 98 x 60 x 13.5 mm - Chữ đen, xanh - Có ký tự xây dựng hổ trợ tiếng Anh tiếng Nhật Hình 1.5 Màn hình LCD-I2C Chương 2: THIẾT KẾ HỆ THỐNG IOT 2.1 Lập bảng liệu Trước thiết kế hệ thống IoT cần lập bảng liệu chức Blynk App NodeMCU Trên Blynk App Virtual pin V0 V2 Bảng 2.1 Bảng liệu Trên NodeMCU Chân Widget Gauge Button Chức kết nối Hiện thị A0 nối giá trị cảm với biến cảm biến độ ẩm đất Điều Code cho NodeMCU soilR=analogRead(Cambien); Serial.println(soilR); soilLevel=map(soilR, 0, 1024, 100,0); Serial.println(soilLevel); Blynk.virtualWrite(V0, soilLevel); BLYNK_WRITE(V2) { // chinh che chỉnh chế độ: Button1 = param.asInt(); } Tự dơng/thủ cơng Các tính năng: Cung cấp API & giao diện người dùng tương tự cho tất thiết bị phần cứng hỗ trợ Kết nối với server cách sử dụng: Wifi Bluetooth BLE Ethernet USB (Serial) GSM … Các tiện ích giao diện nhà cung cấp dễ sử dụng Thao tác kéo thả trực tiếp giao diện mà khơng cần viết mã Dễ dàng tích hợp thêm chức cách sử dụng cổng kết nối ảo tích hợp blynk app Theo dõi lịch sử liệu Thông tin liên lạc từ thiết bị đến thiết bị Widget Gửi email, tweet, thông báo realtime, v.v cập nhật tính liên tục! 12 2.3.2 Cấu hình nút chức Chức Gauge (V0) Hình 2.4 Chức Gauge Giá trị độ ẩm(V0) 13 Chức Button (V2) Hình 2.5 Chức Button Chỉnh chế độ (V2) 14 3.Chức LCD (V3) Hình 2.6 Chức LCD (V3) 15 Chức Button (V1) Hình 2.7 Chức Button bật tắt bơm nước thủ công (V1) 16 2.1.1 Giao diện ứng dụng hồn chỉnh Hình 2.8 Giao diện ứng dụng hồn chỉnh 17 2.4 Viết code chương trình điều khiển Phần kết nối khai báo biến // khai báo thư viện #include #define BLYNK_PRINT Serial #include #include // Khởi tạo hình LCD_i2c 16x2 LiquidCrystal_I2C lcd(0x27, 16, 2); char auth[] = "VxsTfgQ8-VkTt-ehS3Ow7muHXUyBIDtU";//Enter your Auth token char ssid[] = "Phuong";// tên Wifi char pass[] = "0778086631";//Mật Wifi #define Cambien A0 #define Maybom D3 BlynkTimer timer; float soilLevel, soilR,Button,Button1; Phần thiết lập điều khiển giao tiếp app blynk với nodeMCU: void setup(){ Serial.begin(9600); pinMode(Maybom, OUTPUT); digitalWrite(Maybom, LOW); delay(100); lcd.init(); lcd.backlight(); Blynk.begin(auth, ssid, pass, "blynk.cloud", 80); lcd.setCursor(1, 0); lcd.print("System Loading"); for (int a = 0; a = 60) { digitalWrite(Maybom, LOW); lcd.setCursor(1, 1); lcd.print("Do am cao "); Blynk.virtualWrite(V3,"Máy Bơm tắt"); } else{ if(soilLevel < 20) { digitalWrite(Maybom, HIGH); lcd.setCursor(0, 1); lcd.print("Do am thap"); Blynk.virtualWrite(V3,"Đang tưới nước"); } else { digitalWrite(Maybom, LOW); lcd.setCursor(1, 1); lcd.print("Do am Bth"); Blynk.virtualWrite(V3,"Máy bơm tắt"); } } } else{ if (Button == 1) 19 { } digitalWrite(Maybom,HIGH); lcd.setCursor(1, 1); lcd.print("May bom mo"); Blynk.virtualWrite(V3,"Máy bơm mở"); } else { digitalWrite(Maybom,LOW); lcd.setCursor(0, 1); lcd.print("May bom tat"); Blynk.virtualWrite(V3,"Máy bơm Tắt "); } } void loop() { Blynk.run(); timer.run(); DocGTcambien(); } 20 Chương 3: KIỂM TRA HOẠT ĐỘNG CỦA HỆ THỐNG 3.1 Tình 1: Kiểm tra kết nối sever NodeMCU Blynk App có hoạt động tốt khơng Tránh trường hợp kết nối hệ thống không thông báo độ ẩm đất Chúng ta theo dõi tình hình độ ẩm để điều khiển ngưỡng tắt mở bơm nước gây ảnh hưởng xấu đến trồng Mất kết nối giữ Blynk node MCU Hình 3.1 Kiểm tra kết nối NodeMCU Blynk app 21 Lỗi Blynk app NodeMCU không giao tiếp với số nguyên nhân sau: + Lỗi kết nối mạng, wifi + Do NodeMCU bị nguồn cổng USB bị lỏng + Do chưa cắm cổng USB NodeMCU vào nguồn + Do khơng tìm sever băng thơng để kết nối 3.2 Tình 2: Kiểm tra độ nhạy cảm biến độ ẩm đất Theo thời gian đầu cảm biến bị ăn mịn khơng cịn xác nên cần theo dõi thường xuyên đưa biện pháp xử lý thích hợp tránh trường hợp cảm biến bị sai lệch ảnh hưởng xấu đến trồng cảm biến bị trục trặc dẫn đến độ ẩm đất thay đổi chức hiển trị Blynk không cập nhật giá trị độ ẩm Hình 3.2 Hoạt động cảm biến chức hiển thị Blynk App 22 Lỗi nguyên nhân sau: + Do cảm biến sử dụng lâu năm bị ăn mịn hư hại dẫn đến việc khơng cịn cập nhật xác giá trị độ ẩm Cần thay cảm biến + Do lỗi kết nối NodeMCU Blynk app dẫn đến việc chuyển giá trị độ ẩm thu từ chân NodeMCU lên Blynk app 3.3 Đánh giá hoạt động hệ thống: Hệ thống tưới phun mưa sử dụng nhiều nông nghiệp với trồng cần nhiều nước tưới cho tán Ngồi phương pháp cịn áp dụng cho việc tưới bãi cỏ, tán cảnh địa điểm công cộng, khu nghỉ dưỡng với thiết kế đảm bảo tính mỹ quan Hệ thống áp dụng cho vườn chè, khu vực trồng hoa, vườn rau lớn Việt Nam Với thiết kế đại, hệ thống phun mưa giúp nơng dân tiết kiệm chi phí đầu tư, sức lao động, nguồn nước vào mùa khơ Được tưới nước tồn bề mặt, trồng phát triển tốt từ rễ lên đến bề mặt lá, tăng hiệu sản xuất nông nghiệp, chất lượng nông sản tốt Hệ thống bọn thiết kế áp dụng tốt phịng thí nghiệm mơ hình trồng rau nhà Ưu điểm hệ thống nhỏ gọn giá thành rẻ tiện dụng cho mơ hình trồng rau nhỏ vừa, dễ chỉnh sửa phương thức phát triển thành dự án lớn phát triển nông nghiệp Tuy nhiên, để mở rộng cho dự án lớn cần phải cải tiến hệ thống nhiều mặt kỹ thuật cảm biến 23 24 Hình 3.4 Demo hệ thống Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN - Kết đạt Sau thời gian tìm hiểu, tham khảo tài liệu từ nhiều nguồn khác nhau, giúp đỡ giảng viên môn bạn bè, em hoàn thành đề tài: “xây dựng hệ thống tưới tự động dựa độ ẩm đất theo dõi từ xa thơng qua điện thoại di động” Nhìn chung đề tài nhóm em có ưu điểm: - Mạch có cấu tạo hoạt động đơn giản khơng phức tạp tính xác khả áp dụng thực tế cao, giảm bớt công sức người việc chăm sóc vườn - Mạch thiết kế với module có biến trở, ta dễ dàng điều chỉnh tùy thuộc vào yêu cầu trường hợp cụ thể - Các thiết bị dễ mua thị trường, giá thành rẻ - Dễ lắp ráp người tập làm mạch điện tử - Có thể mở rộng phát triển dễ dàng Đề tài trình bày nguyên lý hệ thống tưới nước tự động theo dõi từ xa, từ phát triển đề tài thành hệ thống vườn thông minh phù hợp với nhu cầu xã hội - Đề xuất hướng phát triển Với đề tài có đủ thời gian nghiên cứu mở rộng ngồi việc sử dụng cảm biến độ ẩm cịn sử dụng thêm loại cảm biến khác như: cảm biến 25 độ ẩm, cảm biến nhiệt độ ,cảm biến tốc độ động để điều chỉnh lượng nước tưới tiết kiệm hiệu quả, cảm biến đo độ pH để đo độ pH nước tưới, từ kịp thời xử lý nước bị nhiễm phèn Tài liệu tham khảo [1] https://www.youtube.com/watch?v=TiKZPfPyTbw&t=702s [2] https://arduinokit.vn/cam-bien-do-am-he-thong-tuoi-tu-dong-su-dung-arduino/ [3] https://www.youtube.com/watch?v=WLCR0r7rYi8&t=386s 26