Đồ án Mô hình hệ thống trồng rau tự động

pdf 98 trang thiennha21 14/04/2022 3040
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Mô hình hệ thống trồng rau tự động", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_an_mo_hinh_he_thong_trong_rau_tu_dong.pdf

Nội dung text: Đồ án Mô hình hệ thống trồng rau tự động

  1. BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA VŨNG TÀU KHOA CÔNG NGHỆ KỸ THUẬT - NÔNG NGHIỆP - CNC ĐỒ ÁN TỐT NGHIỆP MÔ HÌNH HỆ THỐNG TRỒNG RAU TỰ ĐỘNG Trình độ đào tạo : Đại Học Chính Quy Ngành : Công Nghệ Kỹ Thuật Điện – Điện Tử Chuyên ngành : Điều Khiển Và Tự Động Hóa Giáo viên hướng dẫn: ThS. Lưu Hoàng Sinh viên thực hiện : Lê Công Thành MSSV: 16031542 Ngô Minh Quyền MSSV: 16031472 Lớp : DH16TD Vũng Tàu, Năm 2020
  2. TRƯỜNG ĐẠI HỌC BÀ RỊA-VŨNG TÀU CỘNG HOÀ XÃ HỘI CHỦ NGHĨA KHOA CNKT - NNCNC VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP (Đính kèm Quy định về việc tổ chức, quản lý các hình thức tốt nghiệp ĐH, CĐ ban hành kèm theo Quyết định số 585/QĐ-ĐHBRVT ngày 16/7/2013 của Hiệu trưởng Trường Đại học BR-VT) Họ tên sinh viên 1: Lê Công Thành Ngày sinh: 06/03/1998 MSSV: 16031542 Email: Lecongthanh0587807475@gmail.com Họ tên sinh viên 2: Ngô Minh Quyền Ngày sinh: 26/02/1998 MSSV: 16031472 Email: Minhquyen262@gmail.com Lớp : DH16TD Chuyên ngành : Điều Khiển Và Tự Động Hóa Hệ đào tạo : Đại Học Chính Quy I. Tên đề tài: MÔ HÌNH HỆ THỐNG TRỒNG RAU TỰ ĐỘNG II. Giảng viên hướng dẫn: Ths. Lưu Hoàng III. Ngày giao đề tài: 12/2019 IV. Ngày hoàn thành đồ án/ khoá luận tốt nghiệp: 05/2020 Bà Rịa - Vũng Tàu, ngày tháng năm 2020 Giảng viên hướng dẫn Sinh viên thực hiện (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên) Trưởng bộ môn Trưởng khoa (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)
  3. NHẬN XÉT (Của giáo viên hướng dẫn) • Thái độ, tác phong và nhận thức trong quá trình thực hiện: • Kiến thức chuyên môn: • Hình thức, bố cục trình bày: . • Nội dung, kết quả: • Nhận xét khác: Bà Rịa - Vũng Tàu, ngày tháng năm 2020 Giáo viên hướng dẫn (Ký và ghi rõ họ tên) 3
  4. NHẬN XÉT (Của giáo viên phản biện) • Thái độ, tác phong và nhận thức trong quá trình thực hiện: • Kiến thức chuyên môn: • Hình thức, bố cục trình bày: . • Nội dung, kết quả: • Nhận xét khác: Bà Rịa - Vũng Tàu, ngày tháng năm 2020 Giáo viên phản biện (Ký và ghi rõ họ tên) 4
  5. LỜI CẢM ƠN Đầu tiên nhóm em xin gởi lời cảm ơn sâu sắc đến Thầy Lưu Hoàng - Giảng viên bộ môn Điện - Điện Tử, đã tận tình giúp đỡ, hướng dẫn, giảng giải cho chúng em trong lựa chọn đề tài cũng như trong quá trình thực hiện đề tài. Trong quá trình thực hiện đồ án cũng đã xảy ra nhiều khó khăn, thiếu sót nhưng được sự hỗ trợ và góp ý của Thầy nên nhóm đã hoàn thành được đồ án. Trong suốt thời gian được theo học tại trường Đại học Bà Rịa Vũng Tàu, Tp. Vũng Tàu, em đã nhận được nhiều sự quan tâm và giúp đỡ từ Thầy Cô và bạn bè. Cảm ơn Hiệu Trưởng, cùng các quý thầy cô trường Đại học Bà Rịa – Vũng Tàu đã hỗ trợ tận tình về trang thiết bị, phần mềm, cơ sở vật chất tạo điều kiện hoàn thành đồ án. Với lòng biết ơn sâu sắc, em xin gửi lời cảm ơn tới quý Thầy Cô, những người đã truyền lại cho em rất nhiều kinh nghiệm và kiến thức quý báu, những sự giúp đỡ ấy đã tiếp thêm động lực cho em vững bước trên con đường mình đã chọn. Và đặc biệt là Thầy, Cô khoa Điện - Điện tử đã truyền đạt kiến thức, kinh nghiệm cũng như tạo những điều kiện tốt nhất để nhóm em hoàn thành đề tài. Xin cảm ơn các bạn cùng khóa, cùng khoa đã động viên, khích lệ, ủng hộ về nhiều mặt góp phần làm nên thành công của đồ án này. Cảm ơn Đại Học Bà Rịa Vũng Tàu! Xin chân thành cảm ơn! Người thực hiện đề tài Lê Công Thành Ngô Minh Quyền 5
  6. LỜI MỞ ĐẦU Hiện nay, khoa học Công nghệ ngày càng đạt được những thành tựu to lớn, kéo theo đó là sự phát triển vượt bậc trong các ngành nghề có ứng dụng khoa học kỹ thuật. Đối với một nước mà nền nông nghiệp còn chiếm vai trò to lớn trong nền kinh tế thì việc ứng dụng khoa học Công nghệ là điều cấp thiết và cần được mở rộng. Nhằm giải quyết vấn đề này, nhờ sự giúp sức của tiến bộ về khoa học kỹ thuật, các hệ thống giám sát, xử lý, cung ứng quá trình sản xuất ngày càng hiện đại đã được đưa vào nông nghiệp và đặc biệt là các ứng dụng của Công nghệ IOT đã góp phần tạo nên một môi trường sản xuất năng động, khoa học và giải phóng sức lao động, tăng năng suất, mang lại hiệu quả kinh tế cao. Với mong muốn nghiên cứu và tạo ra một hệ thống giám sát nông nghiệp tiện ích sử dụng Công nghệ IOT, để góp phần đáp ứng nhu cầu trên và đóng góp thêm giải pháp phát triển, nhóm quyết định chọn đề tài: “MÔ HÌNH HỆ THỐNG TRỒNG RAU TỰ ĐỘNG”. 6
  7. TÓM TẮT ĐỂ TÀI Phương pháp thực hiện là dùng ESP32 xây dựng thành một khối điều khiển trung tâm, dùng các module cảm biến: độ ẩm đất, nhiệt độ và độ ẩm không khí thu thập dữ liệu từ môi trường canh tác gửi về ESP32, từ đó so sánh với thông số đã cài đặt trước ESP32 sẽ điều khiển các thiết bị ngoại vi: máy bơm nước, van điện. Bên cạnh đó ESP32 sẽ gửi dữ liệu lên ứng dụng Android điều khiển phạm vi gần và Web thông qua ESP32 để điều khiển hệ thống từ xa. Nội dung đề tài tập trung nghiên cứu phương thức giao tiếp giữa ESP32 với các cảm biến độ ẩm đất, cảm biến nhiệt độ và độ ẩm không khí. Mô hình nhỏ gọn, bố trí linh kiện hợp lí, dễ quan sát, sử dụng, đảm bảo tính an toàn và thẩm mỹ. Do thời gian, kiến thức và kinh nghiệm của nhóm còn có hạn nên sẽ không thể tránh khỏi những sai sót. Nhóm em rất mong được sự giúp đỡ và tham khảo ý kiến của thầy cô và các bạn nhằm đóng góp phát triển thêm đề tài. 7
  8. MỤC LỤC PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP Error! Bookmark not defined. I. Tên đề tài: MÔ HÌNH TRỒNG CÂY TỰ ĐỘNGError! Bookmark not defined. II. Giảng viên hướng dẫn: Ths. Lưu HoàngError! Bookmark not defined. III. Ngày giao đề tài: 12/2019 Error! Bookmark not defined. IV. Ngày hoàn thành đồ án/ khoá luận tốt nghiệp: 05/2020 Error! Bookmark not defined. NHẬN XÉT Error! Bookmark not defined. (Của giáo viên hướng dẫn) Error! Bookmark not defined. NHẬN XÉT Error! Bookmark not defined. (Của giáo viên phản biện) Error! Bookmark not defined. LỜI CẢM ƠN Error! Bookmark not defined. LỜI MỞ ĐẦU Error! Bookmark not defined. TÓM TẮT ĐỂ TÀI Error! Bookmark not defined. CHƯƠNG 1. TỔNG QUAN Error! Bookmark not defined. 1. ĐẶT VẤN ĐỀ Error! Bookmark not defined. 2. MỤC TIÊU Error! Bookmark not defined. 3. NỘI DUNG NGHIÊN CỨU Error! Bookmark not defined. 4. GIỚI HẠN Error! Bookmark not defined. 5. BỐ CỤC Error! Bookmark not defined. CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Error! Bookmark not defined. 1. ỨNG DỤNG IOT TRONG NÔNG NGHIỆPError! Bookmark not defined. 2. CÁC CHUẨN TRUYỀN DỮ LIỆU, CHUẨN KẾT NỐIError! Bookmark not defined. 3. GIỚI THIỆU PHẦN CỨNG Error! Bookmark not defined. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ Error! Bookmark not defined. 1. GIỚI THIỆU Error! Bookmark not defined. 2. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNGError! Bookmark not defined. CHƯƠNG 4. THI CÔNG HỆ THỐNG Error! Bookmark not defined. 1. GIỚI THIỆU Error! Bookmark not defined. 1
  9. 2. THI CÔNG HỆ THỐNG Error! Bookmark not defined. CHƯƠNG 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ Error! Bookmark not defined. 1. KẾT QUẢ Error! Bookmark not defined. 2. NHẬN XÉT Error! Bookmark not defined. 3. ĐÁNH GIÁ Error! Bookmark not defined. CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Error! Bookmark not defined. 1. KẾT LUẬN Error! Bookmark not defined. 2. HƯỚNG PHÁT TRIỂN Error! Bookmark not defined. TÀI LIỆU THAM KHẢO Error! Bookmark not defined. 2
  10. MỤC LỤC HÌNH ẢNH Hình 1. Minh họa về ứng dụng IOT trong nông nghiệp 9 Hình 2. Bốn cấu phần cơ bản của một hệ thống IOT 11 Hình 3. Ứng dụng Iot 11 Hình 4. Mô hình tưới rau Iot 12 Hình 5. Hình ảnh minh họa 14 Hình 6. Logo Wifi 15 Hình 7. Module ESP 32 24 Hình 8. Bộ Nguồn 25 Hình 9. Mạch 8 Relay Opto cách ly 5VDC. 26 Hình 10. Cảm biến lưu lượng 27 Hình 11. Cảm biến lưu lượng nước DN20 28 Hình 12. Van điện từ 29 Hình 13. Module cảm biến độ ẩm và nhiệt độ DHT11 30 Hình 14. Module cảm biến độ ẩm đất 31 Hình 15. Sơ đồ khối hệ thống. 32 Hình 16. Nguyên lý hoạt động 35 Hình 17. Hình ảnh mô phỏng (Hệ thống phun nước) 36 Hình 18. Hình ảnh mô phỏng (Hệ thống phun nước) 37 Hình 19. Hệ thống phun nước 37 Hình 20. Hộp chứa nước 38 Hình 21. Hộp chứa nước 38 Hình 22. Kết nối với thiết bị điện 39 Hình 23. Tổng quan mô hình từ trên 39 Hình 24. Tổng quan mô hình từ sau 40 Hình 25. Tổng quan mô hình từ trước 40 Hình 26. Tổng quan mô hình bên cạnh 41 Hình 27. Tổng quan mô hình 41 Hình 28. Tổng quan mô hình 42 3
  11. Hình 29. Tổng quan mô hình hoàn thiện và kết nối với ap 42 Hình 30. Kết nối đường ống dẫn nước 43 Hình 31. Đầu phun nước 43 Hình 32. Thùng chứa phân 44 Hình 33. Van một chiều, van điện từ và van nước 44 Hình 34. Cảm biến lưu lượng 45 Hình 35. Hộp đựng thiết bị điện (nguồn, chip, relay) 45 Hình 36. Motor bơm nước 46 Hình 37. Lắp đặt 46 Hình 38. Kết nối với bơm phân 47 Hình 39. Tổng quan mô hình 48 Hình 40. Tổng quan mô hình 49 Hình 41. Đi dây, kết nối các thiết bị điện. 51 Hình 42. Mô hình hoạt động 52 Hình 43. Mô hình hoạt động 52 Hình 44. Mô hình hoạt động 53 Hình 45. Mô hình hoạt động 54 Hình 46. Mô hình hoạt động khi kết nối với app 54 Hình 47. Mô hình hoạt động 55 Hình 48. Cài đặt Arduino IDE 56 Hình 49. Các bước cài đặt phần mền Arduino 57 Hình 50. Các bước cài đặt phần mền Arduino 57 Hình 51. Các bước cài đặt phần mền Arduino 58 Hình 52. Các bước cài đặt phần mền Arduino 59 Hình 53. Các bước cài đặt phần mền Arduino 59 Hình 54. Các bước cài đặt phần mền Arduino 60 Hình 55. Các bước cài đặt phần mền Arduino 60 Hình 56. Giao diện của ứng dụng ở trạng thái tự động (trái) 79 Hình 57. Giao diện cài đặt 80 4
  12. Hình 58. Giao diện theo dõi hằng ngày 81 Hình 59. Cài đặt quy trình tưới nước tưới phân cho rau. 82 Hình 60. Giao diện cài đặt quy trình 82 Hình 61. Giao diện bắt đầu quy trình. 83 Hình 62. Giao diện cài đặt kết nối wifi 84 Hình 63. Giao diện cài đặt API 85 Hình 64. Giao diện theo dõi quy trình 86 5
  13. CHƯƠNG 1. TỔNG QUAN 1. ĐẶT VẤN ĐỀ Nông nghiệp luôn là vấn đề trọng yếu của mỗi quốc gia trong việc bảo đảm an ninh lương thực, nó là một trong hai ngành sản xuất vật chất quan trọng của nền kinh tế. Là khu vực sản xuất chủ yếu, đảm bảo đời sống cho xã hội, là thị trường rộng lớn cung cấp nguyên liệu và tiêu thụ sản phẩm của nền kinh tế và tích lũy cho công nghiệp. Việt Nam hiện nay vẫn còn là một nước sản xuất chủ yếu về nông nghiệp với trên 66,9% dân số cả nước tập trung sống ở vùng nông thôn, lao động nông nghiệp chiếm tới 42% lao động trong toàn xã hội. Ngày nay, nước ta đang hướng tới xây dựng một nền công nghiệp phát triển, điều đó mang lại nhiều lợi ích cho đất nước nhưng cũng kèm theo nhiều hệ lụy, đặc biệt là ô nhiễm môi trường, một trong những mảng chịu thiệt hại rất lớn từ vấn đề trên chính là ngành nông nghiệp. Bên cạnh đó, trong nhiều năm qua, sản xuất nông nghiệp ở Việt Nam gặp rất nhiều khó khăn do các hiện tượng thời tiết cực đoan ngày càng diễn biến phức tạp do ảnh hưởng của biến đổi khí hậu toàn cầu, làm ảnh hưởng to lớn đến năng suất cũng như chất lượng các sản phẩm từ nông nghiệp. Cùng với đó, việc chuyển dịch cơ cấu kinh tế theo hướng công nghiệp, dịch vu, đã làm giảm đáng kể nhân lực trong nông nghiệp, và theo nhiều dự báo số lượng này sẽ tiếp tục gia tăng trong những năm tới, điều này đưa tới những bài toán cho việc giải quyết vấn đề nhân lực trong các ngành nông nghiệp. Chính vì vậy, việc tìm kiếm những giải pháp mới để ổn định và nâng cao chất lượng sản phẩm, năng suất thu hoạch trở thành ưu tiên hàng đầu của nhà nước trong những năm qua. Do đó, những ứng dụng Công nghệ được đưa vào trong việc chăm sóc, thu hoạch trong nông nghiệp để khắc phục vấn đề thiên tai, môi trường, cũng như tiết kiệm nhân lực, đồng thời gia tăng năng suất cây trồng, đơn giản hóa việc quản lý. 6
  14. Một trong những ứng dụng Công nghệ nổi bật được đưa vào trong nông nghiệp trong những năm gần đây là Internet of thing ( viết tắt là IOT) đã và đang đem lại nhiều kết quả thành Công, dần dần được áp dụng và phổ biến trên nhiều diện tích canh tác nông nghiệp, vì vậy chúng em chọn đề tài “ MÔ HÌNH HỆ THỐNG TRỒNG RAU TỰ ĐỘNG ” nhằm có hiểu biết thêm về tác động của Công nghệ tới khả năng phát triển của cây trồng, cũng như quản lý của người điều khiển, bên cạnh đó là nghiên cứu thêm về các ứng dụng Công nghệ điện tử được đưa vào. 2. MỤC TIÊU Mục tiêu của đề tài là xây dựng được một hệ thống IoT trong nông nghiệp có khả năng giám sát nhiệt độ, độ ẩm (thông qua các cảm biến), ổn định điều kiện môi trường (thông qua bơm nước). Hệ thống này cho phép thực hiện các thao tác giám sát - điều khiển trên một trang web và một ứng dụng trên smartphone. 3. NỘI DUNG NGHIÊN CỨU • NỘI DUNG 1: Thiết kế phần cài đặt loại cây trồng trên website. Cập nhật các thông số giới hạn để có thể điều khiển hệ thống ở hai chế độ: tự động và bằng tay. • NỘI DUNG 2: Thiết kế - thi Công mạch điều khiển. • NỘI DUNG 3: Thiết kế - thi Công mô hình trồng rau trong nông nghiệp. • NỘI DUNG 4: Nhận xét - đánh giá kết quả thực hiện. Hoàn thiện mô hình. • NỘI DUNG 5: Hoàn thành luận văn. 4. GIỚI HẠN Đề tài MÔ HÌNH HỆ THỐNG TRỒNG RAU TỰ ĐỘNG gồm: • Kích thước của mô hình thi công: dài 120cm, cao 15cm, rộng 60cm. • Sử dụng 2 module cảm biến: module cảm biện độ ẩm đất, module cảm biến nhiệt độ, độ ẩm không khí để truyền dữ liệu môi trường của đối tượng canh tác vào bộ điều khiển trung tâm. • Một ESP32 đóng vai trò làm bộ điều khiển trung tâm. 7
  15. 5. BỐ CỤC • Chương 1: Tổng Quan. Trình bày, đặt vấn đề dẫn nhập lí do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án. • Chương 2: Cơ Sở Lý Thuyết. Trình bày các lý thuyết liên quan đến vấn đề mà đề tài sẽ dùng để thực hiện thiết kế, thi công cho đề tài. • Chương 3: Thiết Kế và Tính Toán. Trình bày tổng quan các yêu cầu của để tài về thiết kế và các tính toán hệ thống bao gồm sơ đồ nguyên lý toàn mạch và của từng phần của hệ thống. • Chương 4: Thi Công Hệ Thống. Trình bày kết quả thi công phần cứng và kết quả hình ảnh trên màn hình hay mô phỏng tín hiệu, kết quả thống kê. • Chương 5: Kết Quả, Nhận Xét và Đánh Giá. Trình bày kết quả của cả quá trình nghiên cứu làm đề tài bao gồm thời gian nghiên cứu, kết quả đạt được, nhận xét, đánh giá về đề tài và tính ứng dụng của đề tài trong thực tiễn. • Chương 6: Kết Luận Và Hướng Phát Triển. Trình bày kết quả đạt được so với mục tiêu đề ra ban đầu, nhận xét và đánh giá kết quả đạt được của đề tài nghiên cứu. Hướng phát triển của đề tài sau này trong quá trình nghiên cứu. 8
  16. CHƯƠNG 2. CƠ SỞ LÝ THUYẾT 1. ỨNG DỤNG IOT TRONG NÔNG NGHIỆP 1.1. Giới thiệu. Từ khi lần đầu được giới thiệu cách đây gần 20 năm, cho tới hiện nay các ứng dụng IOT là một trong những mảng Công nghệ phát triển nhất trong cuộc cách mạng Công nghiệp 4.0, nó xuất hiện và tác động tích cực tới từng ngành, từng lĩnh vực trong đó có ngành nông nghiệp. Ứng dụng IOT trong nông nghiệp góp phần tạo nên một môi trường sản xuất năng động, khoa học và giải phóng sức lao động, tăng năng suất, mang lại hiệu quả kinh tế cao, giúp nâng cao tính chuyên nghiệp và cải thiện bộ mặt cho cho nền nông nghiệp trong tương lai gần. Hình 1. Minh họa về ứng dụng IOT trong nông nghiệp 1.2. Cấu trúc cơ bản của một hệ thống ứng dụng Công nghệ IOT Kiến trúc của IOT gồm bốn thành phần cơ bản chính gồm: Vạn vật (Things), Trạm kết nối (Gateways), Hạ tầng mạng (Internet) và cuối cùng là lớp dịch vụ (Service). 9
  17. • Vạn vật (Things): Ngày nay có vô vàn vật dụng đang hiện hữu trong cuộc sống, ở trên các khu canh tác, ở trong nhà hoặc trên chính các thiết bị lưu động của người dùng. Giải pháp IoT giúp các thiết bị thông minh được sàng lọc, kết nối và quản lý dữ liệu của đối tượng nông nghiệp một cách cục bộ, còn các thiết bị chưa thông minh thì có thể kết nối được thông qua các trạm kết nối. Từ đó, các thiết bị, vật dụng sẽ có thể thực hiện nhiệm vụ của mình đối với đối tượng nông nghiệp cần quản lý. • Trạm kết nối (Gateways): Các trạm kết nối sẽ đóng vai trò là một vùng trung gian trực tiếp, cho phép các vật dụng có sẵn này kết nối với điện toán đám mây một cách bảo mật và dễ dàng quản lý. Gateways có thể là một thiết bị vật lý hoặc là một phần mềm được dùng để kết nối giữa Cloud (điện toán đám mây) và bộ điều khiển, các cảm biến, các thiết bị thông minh. • Hạ tầng mạng (Internet): Internet là một hệ thống toàn cầu của nhiều mạng IP được kết nối với nhau và liên kết với hệ thống máy tính. Cơ sở hạ tầng mạng này bao gồm thiết bị định tuyến, trạm kết nối, thiết bị tổng hợp, thiếp bị lặp và nhiều thiết bị khác có thể kiểm soát lưu lượng dữ liệu lưu thông và cũng được kết nối đến mạng lưới viễn thông và cáp - được triển khai bởi các nhà cung cấp dịch vụ. • Lớp dịch vụ (Service): Là các ứng dụng được các hãng Công nghệ, hoặc thậm chí người dùng tạo ra để dễ dàng sử dụng các sản phẩm IOT một cách hiệu quả và tận dụng được hết giá trị của sản phẩm. 10
  18. Hình 2. Bốn cấu phần cơ bản của một hệ thống IOT 1.3. Ứng dụng IoT trong nông nghiệp Hình 3. Ứng dụng Iot − IoT trong nông nghiệp là nền tảng của Nông nghiệp Thông minh. Nó sẽ giúp nâng cao chất lượng, bảo đảm vệ sinh an toàn thực phẩm và nâng cao giá trị hàng nông phẩm. Nông nghiệp thông minh là gì? Nông nghiệp thông minh là một thuật ngữ rộng thu thập các hoạt động sản xuất thực phẩm và nông nghiệp có ứng dụng công nghệ 4.0, bao gồm: IoT, Big Data và công nghệ phân tích tiên tiến. 11
  19. Ứng dụng quan trọng nhất trong nông nghiệp thông minh là Phân tích dữ liệu, trực quan hóa và hệ thống hóa quản lý. Việc phân tích dữ liệu cảm biến sẽ thúc đẩy tính minh bạch trong các quy trình nông nghiệp, vì nông dân có được những hiểu biết quý giá về hiệu suất của cánh đồng, nhà kính, v.v. Không chỉ dừng lại ở đó, ở mô hình nông nghiệp thông minh, người nông dân còn có thể tham khảo tư vấn của hệ thống AI, được xây dựng trên nền tảng kiến thức của các nhà khoa học. Các ứng dụng IoT phổ biến khác trong nông nghiệp thông minh có thể kể đến như: • Các hệ thống dựa trên cảm biến để giám sát cây trồng, đất, đồng ruộng, chăn nuôi, kho chứa, hoặc bất kỳ yếu tố quan trọng nào ảnh hưởng đến sản xuất. • Xe nông nghiệp thông minh, máy bay không người lái, robot tự động và thiết bị truyền động. • Không gian sản xuất nông nghiệp kết nối như nhà kính thông minh hoặc thủy canh. Hình 4. Mô hình tưới rau Iot − Lợi ích của việc sử dụng IoT trong nông nghiệp Giống như trong các ngành công nghiệp khác, ứng dụng IoT trong nông nghiệp hứa hẹn hiệu quả trước đây không có, giảm tài nguyên và chi phí, tự động hóa dựa trên phân tích dữ liệu, và tối ưu hóa quy trình. Tuy nhiên, riêng đối với ngành nông nghiệp, vai trò của IoT là vô cùng quan trọng. Nó sẽ mang tới các giải pháp 12
  20. bước ngoặt, giải quyết những vấn đề cấp bách liên quan tới sự sinh tồn và phát triển của loài người. • Hiệu quả vượt trội: Ngày nay, ngành nông nghiệp là một cuộc đua. Nông dân bị thúc ép phải trồng nhiều sản phẩm hơn trong khi chất lượng đất ngày một tệ hơn, diện tích ngày một giảm và biến động thời tiết ngày một phức tạp. IoT trong nông nghiệp sẽ cho phép nông dân theo dõi sản phẩm và điều kiện của họ trong thời gian thực. Họ nhận được thông tin chi tiết nhanh, có thể dự đoán các vấn đề trước khi chúng xảy ra và đưa ra quyết định sáng suốt về cách phòng tránh chúng. Ngoài ra, các giải pháp IoT trong nông nghiệp cũng cho phép thực hiện quy trình sản xuất tự động. Ví dụ: tưới tiêu, bón phân dựa trên nhu cầu và robot thu hoạch tự động. • Phủ sóng nông nghiệp: Vào thời điểm dân số thế giới chạm ngưỡng 9 tỷ người, 70% trong số đó sẽ sống ở khu vực thành thị. Nhà kính và hệ thống thủy canh dựa trên IoT đặt trong lòng thành phố sẽ là cứu cánh, cung cấp nguồn thực phẩm như trái cây và rau tươi ngắn hạn cho công dân thành thị Các hệ thống nông nghiệp chu trình khép kín thông minh cho phép người ta cơ bản là trồng được thực phẩm ở khắp mọi nơi, trong các siêu thị, trên các tòa nhà chọc trời, tường và mái nhà, trong các container vận chuyển và, tất nhiên, trong chính gia đình mình. • Giảm tài nguyên: Rất nhiều giải pháp IoT trong nông nghiệp được tập trung vào việc tối ưu hóa việc sử dụng tài nguyên, như: Nước, năng lượng, đất đai. Canh tác chính xác bằng cách sử dụng IoT dựa trên dữ liệu được thu thập từ các cảm biến khác nhau sẽ giúp nông dân phân bổ chính xác để sử dụng vừa đủ tài nguyên cần thiết cho sự sinh trưởng và phát triển nông sản. • Quy trình sạch hơn: Điều tương tự cũng liên quan đến thuốc trừ sâu và phân bón. Các hệ thống dựa trên IoT để canh tác chính xác giúp các nhà sản xuất tiết kiệm nước và năng lượng, không chỉ làm cho nông nghiệp xanh hơn, mà còn giảm đáng kể việc sử dụng thuốc trừ sâu và phân bón. Cách tiếp cận này cho phép có được một sản phẩm cuối cùng sạch hơn và hữu cơ hơn so với các phương pháp nông nghiệp truyền thống. • Nhanh chóng: Một trong những lợi ích của việc sử dụng IoT trong nông nghiệp là cải tiến tốc độ của các quy trình. Nhờ hệ thống giám sát và dự đoán thời gian thực, nông dân có thể nhanh chóng phản ứng với mọi thay đổi đáng kể về thời 13
  21. tiết, độ ẩm, chất lượng không khí cũng như sức khỏe của từng loại cây trồng hoặc đất trên đồng ruộng. Đặc biệt, trong điều kiện thời tiết thay đổi thất thường hoặc khắc nghiệt, việc ứng dụng IoT trong nông nghiệp sẽ có thể giúp người nông dân thời đại mới cứu lấy mùa màng. • Cải thiện chất lượng nông sản: Nông nghiệp dựa trên nền tảng công nghệ sẽ cho ra đời các sản phẩm tốt hơn. Bằng việc sử dụng cảm biến đất và cây trồng, giám sát bằng máy bay không người lái (drone) trên không và lập bản đồ trang trại, nông dân có thể hiểu rõ hơn sự phụ thuộc chi tiết giữa các điều kiện và chất lượng của cây trồng. Sử dụng các hệ thống được kết nối, họ có thể tạo lại các điều kiện tốt nhất và tăng giá trị dinh dưỡng của sản phẩm. − Kết luận Thị trường sẽ hình thành và sụp đổ, các mô hình kinh doanh đột phá sẽ xuất hiện hoặc thoái trào, nhưng nhu cầu lương thực của loài người sẽ không bao giờ giảm. Vì lý do này, sự phát triển của các lĩnh vực như thực phẩm và nông nghiệp sẽ luôn được chú trọng, đặc biệt là với các động lực chúng ta quan sát trên thế giới ngày nay. Do đó, ứng dụng IoT trong nông nghiệp hứa hẹn một tương lai đầy tươi sáng. Hình 5. Hình ảnh minh họa 14
  22. 2. CHUẨN TRUYỀN DỮ LIỆU, CHUẨN KẾT NỐI 2.1. GIAO THỨC TRUYỀN DỮ LIỆU BẰNG WIFI Wifi (là viết tắt từ Wireless Fidelity hay mạng 802.11) là hệ thống mạng không dây sử dụng sóng vô tuyến, cũng giống như điện thoại di đông, truyền hình và radio. Kết nôi Wifi thường là sự lựa chọn hàng đầu của rất nhiều kỹ sư giải pháp bởi tính thông dụng và kinh tế của hệ thống wifi và mạng LAN với mô hình kết nối trong một phạm vi địa lý có giới hạn. Hình 6. Logo Wifi 15
  23. Các sóng vô tuyến sử dụng cho WiFi gần giống với các sóng vô tuyến sử dụng cho thiết bị cầm tay, điện thoại di động và các thiết bị khác. Nó có thể chuyển và nhận sóng vô tuyến, chuyển đổi các mã nhị phân 1 và 0 sang sóng vô tuyến và ngược lại. Tuy nhiên, sóng WiFi có một số khác biệt so với các sóng vô tuyến khác ở chỗ: Chúng truyền và phát tín hiệu ở tần số 2.4 GHz hoặc 5 GHz. Tần số này cao hơn so với các tần số sử dụng cho điện thoại di động, các thiết bị cầm tay và truyền hình. Tần số cao hơn cho phép tín hiệu mang theo nhiều dữ liệu hơn. Hiện nay, đa số các thiết bị wifi đều tuân theo chuẩn 802.11n, được phát ở tần số 2.4Ghz và đạt tốc độ xử lý tối đa 300Megabit/giây Hệ thống này đã hoạt động ở sân bay, quán café, thư viện hoặc khách sạn. Hệ thống cho phép truy cập Internet tại những khu vực có sóng của hệ thống này, hoàn toàn không cần đến cáp nối. Ngoài các điểm kết nối công cộng (hotspots), WiFi có thể được thiết lập ngay tại nhà riêng. Tên gọi 802.11 bắt nguồn từ viện IEEE (Institute of Electrical and Electronics Engineers). Viện này tạo ra nhiều chuẩn cho nhiều giao thức kỹ thuật khác nhau, và nó sử dụng một hệ thống số nhằm phân loại chúng; 6 chuẩn thông dụng của WiFi hiện nay là 802.11a/b/g/n/ac/ad. − Hoạt động Máy tính xách tay cắm thêm thẻ adapter ở cổng PC card đang liên lạc với router có hai ăng-ten nằm đằng sau. Truyền thông qua mạng không dây là truyền thông vô tuyến hai chiều. Cụ thể: Thiết bị adapter không dây (hay bộ chuyển tín hiệu không dây) của máy tính chuyển đổi dữ liệu sang tín hiệu vô tuyến và phát những tín hiệu này đi bằng một ăng-ten. 16
  24. Thiết bị router không dây nhận những tín hiệu này và giải mã chúng. Nó gởi thông tin tới Internet thông qua kết nối hữu tuyến Ethernet. Quy trình này vẫn hoạt động với chiều ngược lại, router nhận thông tin từ Internet, chuyển chúng thành tín hiệu vô tuyến và gởi đến adapter không dây của máy tính. − Sóng Wi-Fi Các sóng vô tuyến sử dụng cho WiFi gần giống với các sóng vô tuyến sử dụng cho thiết bị cầm tay, điện thoại di động và các thiết bị khác. Nó có thể chuyển và nhận sóng vô tuyến, chuyển đổi các mã nhị phân 1 và 0 sang sóng vô tuyến và ngược lại. Tuy nhiên, sóng WiFi có một số khác biệt so với các sóng vô tuyến khác ở chỗ: Chúng truyền và phát tín hiệu ở tần số 2.4 GHz, 5 GHz hoặc 60 GHz. Tần số này cao hơn so với các tần số sử dụng cho điện thoại di động, các thiết bị cầm tay và truyền hình. Tần số cao hơn cho phép tín hiệu mang theo nhiều dữ liệu hơn. Chúng dùng chuẩn 802.11: Chuẩn 802.11b là phiên bản đầu tiên trên thị trường. Đây là chuẩn chậm nhất và rẻ tiền nhất, và nó trở nên ít phổ biến hơn so với các chuẩn khác. 802.11b phát tín hiệu ở tần số 2.4 GHz, nó có thể xử lý đến 11 megabit/giây, và nó sử dụng mã CCK (complimentary code keying). 17
  25. Chuẩn 802.11g cũng phát ở tần số 2.4 GHz, nhưng nhanh hơn so với chuẩn 802.11b, tốc độ xử lý đạt 54 megabit/giây. Chuẩn 802.11g nhanh hơn vì nó sử dụng mã OFDM (orthogonal frequency-division multiplexing), một công nghệ mã hóa hiệu quả hơn. Chuẩn 802.11a phát ở tần số 5 GHz và có thể đạt đến 54 megabit/ giây. Nó cũng sử dụng mã OFDM. Những chuẩn mới hơn sau này như 802.11n còn nhanh hơn chuẩn 802.11a, nhưng 802.11n vẫn chưa phải là chuẩn cuối cùng. Chuẩn 802.11n cũng phát ở tần số 2.4 GHz, nhưng nhanh hơn so với chuẩn 802.11a, tốc độ truyền dữ liệu tối đa đạt 450 megabit/giây. Chuẩn 802.11ac phát ở tần số 5 GHz nhanh hơn so với chuẩn 802.11n, tốc độ truyền dữ liệu tối đa đạt đến 1.3 Gigabit/giây Chuẩn 802.11ad phát ở tần số 60 GHz nhanh hơn so với chuẩn 802.11ac, tốc độ truyền dữ liệu tối đa đạt đến 4,6 Gigabit/giây WiFi có thể hoạt động trên cả ba tần số và có thể nhảy qua lại giữa các tần số khác nhau một cách nhanh chóng. Việc nhảy qua lại giữa các tần số giúp giảm thiểu sự nhiễu sóng và cho phép nhiều thiết bị kết nối không dây cùng một lúc. 18
  26. − Adapter Một adapter cắm vào khe PCI cho máy tính để bàn. Các máy tính nằm trong vùng phủ sóng WiFi cần có các bộ thu không dây, adapter, để có thể kết nối vào mạng. Các bộ này có thể được tích hợp vào các máy tính xách tay hay để bàn hiện đại. Hoặc được thiết kế ở dạng để cắm vào khe PC card hoặc cổng USB, hay khe PCI. Khi đã được cài đặt adapter không dây và phần mềm điều khiển (driver), máy tính có thể tự động nhận diện và hiển thị các mạng không dây đang tồn tại trong khu vực. − Router Nguồn phát sóng WiFi là máy tính với: • Một cổng để nối cáp hoặc modem ADSL • Một router (bộ định tuyến) • Một hub Ethernet • Một firewall • Một access point không dây Hầu hết các router có độ phủ sóng trong khoảng bán kính 30,5 m về mọi hướng. 19
  27. − Các chuẩn bảo mật WiFi: WEP WEP (Wired Equivalent Privacy) là một gỉai thuật bảo mật cho mạng không dây chuẩn IEEE 802.11. Ban đầu, các nhà sản xuất chỉ sản xuất các thiết bị WiFI với chuẩn bảo mật 64 bit. Sau này có các cải tiến hơn với các chuẩn bảo mật 128 bit và 256 bit. Bảo mật WEP sau đó xuất hiện nhiều lổ hổng. Các khóa WEP ngày nay có thể bị crack trong một vài phút các bằng phần mềm hoàn toàn miễn phí trên mạng. Vào năm 2004, với sự phát triển của các chuẩn bảo mật mới như WPA, WPÀ2, IEEE tuyên bố các chuẩn WEP trong bảo mật WiFi sẽ không còn được hỗ trợ. WPA WPA (Wi-Fi Protected Access) là giao thức và chuẩn bảo mật WiFi phát triển bởi Liên hiệp Wifi (Wifi Alliance). WPA được phát triển để thay thế cho chuẩn WEP trước đó có nhiều lỗ hổng bảo mật. Phiên bản phổ biến nhất của WPA là WPA-PSK (Pre-Shared Key). Các kí tự được sử dụng bởi WPA là loại 256 bit, nên tính bảo mật sẽ cao hơn rất nhiều so với mã hóa 64 bit và 128 bit có trong hệ thống WEP. Trong WPA có hỗ trợ TKIP (Temporal Key Integrity Protocol). TKIP sử dụng các gỉai thuật để đảm bảo an toàn cho các gói tin truyền trong WIFI để tránh bị đánh cắp. Tuy nhiên TKIP sau này cũng bộc lộ một số lổ hổng bảo mật và bị thay thế bởi AES (Advanced Encryption Standard). Giao thức AES được dùng trong cả WPA và WPA 2. 20
  28. WPA 2 WPA 2 (WiFi Protected Access II) là giao thức và chuẩn bảo mật thay thế cho WPA từ năm 2006 và được xem là chuẩn bảo mật an toàn nhất đến thời điểm này. Ngoài việc sử dụng giao thức AES, thì WPA 2 còn sử dụng thêm giao thức mã hóa CCMP (CTR mode with CBC-MAC Protocol). Giao thức CCMP là một giao thức truyền dữ liệu và kiểm soát tính truyền dữ liệu thống nhất để bảo đảm cả tính bảo mật và nguyên vẹn của dữ liệu được truyền đi. Cho đến nay thì giao thức bảo mật WPA2 dùng AES là giao thức bảo mật Wifi tốt nhất. 2.2. GIAO THỨC INTERNET PROTOCOL Internet Protocol (tiếng Anh, viết tắt: IP, có nghĩa là Giao thức Internet) là một giao thức hướng dữ liệu được sử dụng bởi các máy chủ nguồn và đích để truyền dữ liệu trong một liên mạng chuyển mạch gói. Dữ liệu trong một liên mạng IP được gửi theo các khối được gọi là các gói (packet hoặc datagram). Cụ thể, IP không cần thiết lập các đường truyền trước khi một máy chủ gửi các gói tin cho một máy khác mà trước đó nó chưa từng liên lạc với. IP cung cấp một dịch vụ gửi dữ liệu không đảm bảo (còn gọi là cố gắng cao nhất), nghĩa là nó hầu như không đảm bảo gì về gói dữ liệu. Gói dữ liệu có thể đến nơi mà không còn nguyên vẹn, nó có thể đến không theo thứ tự (so với các gói khác được gửi giữa hai máy nguồn và đích đó), nó có thể bị trùng lặp hoặc bị mất hoàn toàn. Nếu một phần mềm ứng dụng cần được bảo đảm, nó có thể được cung cấp từ nơi khác, thường từ các giao thức giao vận nằm phía trên IP. 21
  29. Các thiết bị định tuyến liên mạng chuyển tiếp các gói tin IP qua các mạng tầng liên kết dữ liệu được kết nối với nhau. Việc không có đảm bảo về gửi dữ liệu có nghĩa rằng các chuyển mạch gói có thiết kế đơn giản hơn. (Lưu ý rằng nếu mạng bỏ gói tin, làm đổi thứ tự hoặc làm hỏng nhiều gói tin, người dùng sẽ thấy hoạt động mạng trở nên kém đi. Hầu hết các thành phần của mạng đều cố gắng tránh để xảy ra tình trạng đó. Đó là lý do giao thức này còn được gọi là cố gắng cao nhất. Tuy nhiên, khi lỗi xảy ra không thường xuyên sẽ không có hiệu quả đủ xấu đến mức người dùng nhận thấy được.) IP rất thông dụng trong mạng Internet công cộng ngày nay. Giao thức tầng mạng thông dụng nhất ngày nay là IPv4; đây là giao thức IP phiên bản 4. IPv6 được đề nghị sẽ kế tiếp IPv4: Internet đang hết dần địa chỉ IPv4, do IPv4 sử dụng 32 bit để đánh địa chỉ (tạo được khoảng 4 tỷ địa chỉ); IPv6 dùng địa chỉ 128 bit, cung cấp tối đa khoảng 3.4×1038 địa chỉ (xem bài về IPv6 để biết thêm chi tiết). Các phiên bản từ 0 đến 3 hoặc bị hạn chế, hoặc không được sử dụng. Phiên bản 5 được dùng làm giao thức dòng (stream) thử nghiệm. Còn có các phiên bản khác, nhưng chúng thường dành là các giao thức thử nghiệm và không được sử dụng rộng rãi. Địa chỉ IP được chia thành 4 số giới hạn từ 0 - 255. Mỗi số được lưu bởi 1 byte - > IP có kích thước là 4byte, được chia thành các lớp địa chỉ. Có 3 lớp là A, B, và C. Nếu ở lớp A, ta sẽ có thể có 16 triệu địa chỉ, ở lớp B có 65536 địa chỉ. Ví dụ: Ở lớp B với 132.25, chúng ta có tất cả các địa chỉ từ 132.25.0.0 đến 132.25.255.255. Phần lớn các địa chỉ ở lớp A llà sở hữu của các công ty hay của tổ chức. Một ISP thường sở hữu một vài địa chỉ lớp B hoặc C. Ví dụ: Nếu địa chỉ IP của bạn là 132.25.23.24 thì bạn có thể xác định ISP của bạn là ai. (có IP là 132.25.x.) 22
  30. Trên Internet thì địa chỉ IP của mỗi người là duy nhất và nó sẽ đại diện cho chính người đó, địa chỉ IP được sử dụng bởi các máy tính khác nhau để nhận biết các máy tính kết nối giữa chúng. Đây là lý do tại sao bạn lại bị IRC cấm, và là cách người ta tìm ra IP của bạn. Địa chỉ IP có thể dễ dàng phát hiện ra, người ta có thể lấy được qua các cách sau: • Bạn lướt qua một trang web, IP của bạn bị ghi lại • Trên IRC, bất kì ai cũng có thể có IP của bạn • Trên ICQ, mọi người có thể biết IP của bạn, thậm chí bạn chọn ``do not show IP`` người ta vẫn lấy được nó • Nếu bạn kết nối với một ai đó, họ có thế gõ ``netstat –n ``, và biết được ai đang kết nối đên họ • Nếu ai đó gửi cho bạn một email với một đoạn mã java tóm IP, họ cũng có thể tóm được IP của bạn • Có thể dùng những phần mềm như tcpdump hay wireshark để nhìn vào gói tin IP và tìm ra IP của bạn. 23
  31. Định tuyến và địa chỉ IP Có lẽ các khía cạnh phức tạp nhất của IP là việc đánh địa chỉ và định tuyến. Đánh địa chỉ là công việc cấp địa chỉ IP cho các máy đầu cuối, cùng với việc phân chia và lập nhóm các mạng con của các địa chỉ IP. Việc định tuyến IP được thực hiện bởi tất cả các máy chủ, nhưng đóng vai trò quan trọng nhất là các thiết bị định tuyến liên mạng. Các thiết bị đó thường sử dụng các giao thức cổng trong (interior gateway protocol, viết tắt là IGP) hoặc các giao thức cổng ngoài (external gateway protocol, viết tắt là EGP) để hỗ trợ việc đưa ra các quyết định chuyển tiếp các gói tin IP (IP datagram) qua các mạng kết nối với nhau bằng giao thức IP. 3. GIỚI THIỆU PHẦN CỨNG 3.1 Board điều khiển 3.1.1. Module ESP32 Hình 7. Module ESP 32 Kit RF thu phát wifi bluetooth ESP32 được tích hợp anten và RF, hoạt động tiết kiệm năng lượng, ổn định, chống nhiễu tốt, đây là giải pháp chi phí thấp nhất cho 1 dự án với một mạch sử dụng wifi 2.4Ghz và bluethooth TSMC công nghệ 40nm năng lượng thấp. 24
  32. Thông số kỹ thuật: • Hiệu suất cao với giá thấp • Kích thước nhỏ gọn, dễ dàng tích hợp hệ thống. • Bộ xử lý mạnh mẻ • Hổ trợ các chế độ: AP, STA, và AP+STA • Hổ trợ chương trình LUA, dễ dàng phát triển. Ứng dụng: Sử dụng rộng rãi trong các ứng dụng IoT: các thiết bị thông minh trong nhà, giám sát và điều khiển không dây 3.2. Bộ nguồn 3.2.1. Nguồn 5V Hình 8. Bộ Nguồn Thông số kỹ thuật: • Điện Áp Đầu Vào: AC 220V (Chân L và N) • Điện Áp Đầu Ra: DC 5V (Chân dương V+, Chân Mass-GND: V-) • Điện áp ra điều chỉnh: (+) (-)10% 25
  33. 3.3. Relay Hình 9. Mạch 8 Relay Opto cách ly 5VDC. Mạch 8 Relay Opto cách ly 5VDC thích hợp với các ứng dụng đóng ngắt tải AC hoặc DC, mạch có thiết kế nhỏ gọn, tích hợp opto và transistor cách ly, kích đóng bằng mức thấp (0VDC) phù hợp với mọi loại MCU và thiết kế có thể sử dụng nguồn ngoài giúp cho việc sử dụng trở nên thật linh động và dễ dàng. Thông số kỹ thuật: • Điện áp sử dụng: 5VDC. • Tín hiệu kích: TTL 3.3~5VDC, mức thấp Low Relay đóng, mức cao High Relay ngắt. • Mỗi Relay tiêu thụ dòng khoảng 80mA. • Điện thế đóng ngắt tối đa: AC250V ~ 10A hoặc DC30V ~ 10A (Để an toàn nên dùng cho tải có công suất <100W). • Tích hợp Opto cách ly, Diod chống nhiễu và đèn báo tín hiệu kích. • Kích thước: 137 x 56 x 20mm. 26
  34. 3.4. Cảm biến lưu lượng Hình 10. Cảm biến lưu lượng Cảm biến lưu lượng nước là cảm biến lưu lượng nước thường dùng trong các máy bơm nước hồ cá, máy bơm mini, máy nước nóng.v.v Cảm biến hoạt động dựa tên cánh quạt nước và cảm biến Hall bên trong, khi nước chảy qua làm quạt nước quay ==> cảm biến Hall ==> xung vuông (từ NPN). Chức năng 3 dây ngõ ra: • Màu đỏ: nguồn: 5 - 24V. • Dây đen: GND (mass). • Dây vàng: tín hiệu. Công thức lưu lượng: • Q = F / 7.5. • F: tần số (Hz). • Q: lưu lượng: (L/min). • 7.5: hằng số. Thông số kỹ thuật: • Nguồn: 5 - 24V. • Dòng tiêu thụ: < 10mA. • Chịu áp lực đến: 1.75Mpa. 27
  35. • Lưu lượng đo: 1 - 30 (L/min). • Nhiệt độ hoạt động: 1,75Mpa. • Chính xác: [trong 1 ~ 30L / phút] ± 10%. • Đặc tính xung dòng chảy: (6.6 * Q) Q = L / Min ± 3%. • Chu kỳ nhiệm vụ xung đầu ra: 50% ± 10%. • Phạm vi lưu lượng: 1-30L / phút. 28
  36. 3.6. Van điện từ Hình 12. Van điện từ • Van điện từ - phi 27 dùng điện 220v đóng khi cắt nguồn điện và khi được cấp nguồn điện van sẽ mở cho nước chảy qua. • Van điện từ thường được sử dụng trong các hệ thống bơm nước điều khiển từ xa hoặc điều khiển tự động tắt mở khi kết hợp với các bộ hẹn giờ tắt mở nguồn điện BT00015, bộ cảm biến độ ẩm, nhiệt độ hoặc hệ thống điều khiển tắt mở nguồn điện từ xa như ổ cắm thông minh WIFI Broadlink SP3 BT00011 – • Dựa vào đặt tính đóng mở bằng điện van điện từ được ứng dụng rộng rãi trong môi trường điều khiển tự động. • Có thể kết hợp van điện từ với công tắc cảm ứng để làm hệ thống tự động khi có chuyển động của người. • Có thể ứng dụng van điện từ với công tắc hẹn giờ để làm hệ thống tự động tưới tiêu theo định kỳ • Đường kính ống ren trong 27 mm. • Cuộn coil dạng đúc, kín nước giúp bạn an toàn hơn khi sử dụng trong môi trường nước. • Chất liệu: đồng (thau). • Nhiệt độ môi trường làm việc từ âm -5 ~ 80 C. 29
  37. • Áp suất chịu được tối đa 7kg/cm2. • Trọng lượng 600 gram. • Kích thước (Dài x Rộng x Cao, mm): 120 x 80 x 60. 3.7. Module cảm biến độ ẩm và nhiệt độ DHT11 Module cảm biến độ ẩm và nhiệt độ DHT11 là module cảm biến dùng để đo nhiệt độ, độ ẩm và các ứng dụng đo nhiệt độ, độ ẩm khác rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất). Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào. Hình 13. Module cảm biến độ ẩm và nhiệt độ Thông số kỹ thuật: DHT11 • Nguồn: 3 -> 5 VDC. • Chuẩn giao tiếp: TTL, 1 wire. • Dòng sử dụng: 2.5mA max (khi truyền dữ liệu). • Đo tốt ở độ ẩm: 20-80%RH với sai số: 5%. • Đo tốt ở nhiệt độ: 0 to 50°C sai số ±2°C. • Tần số lấy mẫu tối đa: 1Hz (1 giây 1 lần). • Kích thước; 15mm x 12mm x 5.5mm. • 4 chân, khoảng cách chân: 0.1''. 30
  38. 3.8. Module cảm biến độ ẩm đất Hình 14. Module cảm biến độ ẩm đất Module cảm biến độ ẩm đất có thể được sử dụng cho các ứng dụng nông nghiêp, tưới nước tự động cho các vườn cây khi đất khô, hoặc dùng trong các ứng dụng của hệ thống nhà thông minh. Module cảm biến độ ẩm đất gồm hai phần: • Đầu dò: Hai đầu đo của đầu dò được cắm vào đất để phát hiện độ ẩm. Dùng dây nối giữa cảm biến và module chuyển đổi, khi độ ầm của đất đạt ngưỡng thiết lập, đầu ra DO sẽ chuyển trạng thái từ mức thấp lên mức cao. Thông tin về độ ẩm đất sẽ được đọc về và gởi tới module chuyển đổi. • Module chuyển đổi: Module chuyển đổi có cấu tạo chính gồm một IC so sánh LM393, một biến trở, 4 điện trở dán 100 ohm và 2 tụ dán. Biến trở có chức năng định ngưỡng so sánh với tín hiệu độ ẩm đất đọc về từ cảm biến. Ngưỡng so sánh và tín hiệu cảm biến sẽ là 2 đầu vào của IC so sánh LM393. Khi độ ẩm thấp hơn ngưỡng định trước, ngõ ra của IC là mức cao (1), ngược lại là mức thấp (0). Thông số kỹ thuật: • Điện áp hoạt động: 3.3V-5V • Led đỏ báo nguồn vào, Led xanh báo độ ẩm. • Ic so sánh: LM393 • VCC: 3.3V-5V • GND: 0V • DO: Đầu ra tín hiệu số (0 và 1) • AO: Đầu ra Analog (Tín hiệu tương tự). 31
  39. CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ 1. GIỚI THIỆU Mô hình mà nhóm thực hiện cũng chính là mô hình thực nghiệm, vậy nên mô hình thiết kế và thi Công phải đáp ứng được các yêu cầu sau: • Hiển thị được giá trị nhiệt độ, độ ẩm không khí và độ ẩm đất. • Điều khiển được các thiết bị ngoại vi bằng hai hình thức: bằng tay và tự động. • Mô hình đạt được sự ổn định và tính chính xác cao. • Phù hợp với điều kiện kinh tế. 2. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 2.1. Thiết kế sơ đồ khối của hệ thống. Wifi Wifi 220v | 5v Khối Web Hình 15. Sơ đồ khối hệ thống. Khối điều khiển trung tâm: khối điều khiển trung tâm sử dụng ESP32 có hiệu năng cao, dùng để điều khiển các thiết bị khác trong hệ thống: • Điều khiển đọc dữ liệu từ cảm biến. • Truyền dữ liệu lên web qua thiết bị trung gian. 32
  40. Khối cảm biến: bao gồm cảm biến nhiệt độ, cảm biến độ ẩm có tính chính xác cao, dùng để thu thập dữ liệu về nhiệt độ, đổ ẩm xung quanh đối tượng canh tác, từ đó đưa tín hiệu về khối điều khiển trung tâm, so sánh với giá trị đặt trước, rồi sau đó khối điều khiển trung tâm sẽ xử lý để phù hợp với yêu cầu của giá trị đặt trước. Khối hiển thị: Khối hiển thị sử dụng màn hình trực tiếp từ smartphone dùng để hiển thị số liệu đọc được từ khối cảm biến. Khối thiết bị ngoại vi: nhận tín hiệu từ khối điều khiển để hoạt động (thiết bị hoạt động dựa trên tín hiệu của cảm biến, được lập trình từ khối điều khiển). Web: Nhận dữ liệu từ khối điều khiển trung tâm, hiển thị trạng thái hoạt động của các thiết bị ngoại vi, giá trị đọc được từ các cảm biến và điều khiển hoạt động của thiết bị. Khối nguồn cung cấp: Khối nguồn cung cấp là khối quan trọng giúp cung cấp điện cho toàn bộ hệ thống. Vì vậy cần tính toán hợp lý để khối nguồn có thể cung cấp đủ dòng và áp để mạch có thể hoạt động tốt và ổn định. 2.2. Tính toán thiết kế mạch 2.2.1. Khối điều khiển trung tâm Hiện nay trên thị trường có rất nhiều dòng vi điều khiển khác nhau như PIC,AVR, 8051, Raspberry, Arduino, ESP8266, ESP32 Tất cả đều có thể đáp ứng được yêu cầu đặt ra nhưng nhóm chọn ESP32 vì nó có những ưu điểm sau: Được sản xuất mới, nhiều chức năng mới. Giá thành rẻ, dễ sử dụng. Kích thước nhỏ gọn. Là dòng vi điều khiển mã nguồn mở, có nhiều thư viện hổ trợ cho các module chức năng khác nhau, trình biên dịch đơn giản. 33
  41. 2.2.2. Khối cảm biến • Module Cảm biến độ ẩm đất: Cảm biến phát hiện độ ẩm đất, bình thường đầu ra mức thấp, khi đất thiếu nước đầu ra sẽ mức cao. Module có thể sử dụng để tưới nước tự động. Độ nhạy của cảm biến độ ẩm đất có thể điều chỉnh được (Bằng cách điều chỉnh biến trở màu xanh trên board mạch). Phần đầu dò được cắm vào đất để phát hiện độ ẩm, khi độ ầm của đất đạt ngưỡng thiết lập, đầu ra DO sẽ chuyển trạng thái từ mức thấp lên mức cao. Thông số kỹ thuật: • Điện áp làm việc: 3.3V ~ 5V. • Có lỗ cố định để lắp đặt thuận tiện. • PCB có kích thước nhỏ 3.2 x 1.4 cm. • Sử dụng chip LM393 để so sánh, ổn định làm việc. Đầu kết nối sừ dụng 3 dây. VC 3.3V ~ 5V CGN GND của nguồn ngoài DDO Đầu ra tín hiệu số (mức cao hoặc mức thấp) AO Đầu ra tín hiệu tương tự (Analog) • Module cảm biến nhiệt độ độ ẩm DHT11: Cảm biến độ ẩm và nhiệt độ là cảm biến rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất). Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào. Thông số kỹ thuật: • Nguồn: 3 -> 5 VDC. • Dòng sử dụng: 2.5mA max (khi truyền dữ liệu). • Đo tốt ở độ ẩm: 2080%RH với sai số 5%. • Đo tốt ở nhiệt độ: 0 to 50°C sai số ±2°C. • Tần số lấy mẫu tối đa: 1Hz (1 giây 1 lần). 34
  42. • Kích thước: 15mm x 12mm x 5.5mm. • 4 chân, khoảng cách chân 0.1''. • Module ESP32 Module ESP32 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập trình các ứng dụng trên ESP32 trở nên rất đơn giản. Module ESP32 được dùng cho các ứng dụng cần kết nối, thu thập dữ liệui, đặc biệt là các ứng dụng liên quan đến IoT. 2.3. Sơ đồ nguyên lý toàn mạch Hình 16. Nguyên lý hoạt động 35
  43. CHƯƠNG 4. THI CÔNG HỆ THỐNG 1. GIỚI THIỆU Sau thời gian nghiên cứu, nhóm đã hoàn thiện được sản phẩm và đáp ứng yêu cầu đưa ra. Các khối chức năng hoạt động đúng và đồng bộ với nhau. Kết quả sau một chu trình hoạt động của mô hình sẽ giúp ta điều khiển được các thiết bị ngoại vi, thực hiện các hoạt động chăm sóc đối tượng canh tác và hiển thị các thông số lấy từ cảm biến lên màn hình APP, WEB để giúp người dùng dễ dàng quản lí. 2. THI CÔNG HỆ THỐNG 2.1. QUÁ TRÌNH THỰC HIỆN MÔ HÌNH MÔ PHỎNG Hình 17. Hình ảnh mô phỏng (Hệ thống phun nước) 36
  44. Đường ống dẫn nước để tưới nước ra hai bên luống rau. Hình 18. Hình ảnh mô phỏng (Hệ thống phun nước) Hình 19. Hệ thống phun nước 37
  45. Hình 20. Hộp chứa nước Hình 21. Hộp chứa nước Hộp chưa nước và phân. Phía bên trái ở trong hộp là motor bơm nước, phía bên phải gồm motor bơm phân và cảm biến lưu lượng. 38
  46. Hình 22. Kết nối với thiết bị điện Hình 23. Tổng quan mô hình từ trên 39
  47. Hình 24. Tổng quan mô hình từ sau Hình 25. Tổng quan mô hình từ trước Sử dụng miếng dán trang trí để cho mô hình gọn gàng, tăng tính thẫm mĩ. 40
  48. Hình 26. Tổng quan mô hình bên cạnh Hình 27. Tổng quan mô hình Trang bị hệ thống đèn để dễ dàng quan sát và nhu cầu sử dụng mô hình vào ban đêm. 41
  49. Hình 28. Tổng quan mô hình Hình 29. Tổng quan mô hình hoàn thiện và kết nối với ap 42
  50. 2.2. QUÁ TRÌNH THỰC HIỆN MÔ HÌNH THỰC TẾ Hình 30. Kết nối đường ống dẫn nước Hình 31. Đầu phun nước Sử dụng để tưới nước đều, mịn cho cây trồng. 43
  51. Hình 32 Thùng chứa phân Hình 33. Van một chiều, van điện từ và van nước 44
  52. Hình 34. Cảm biến lưu lượng Hình 35. Hộp đựng thiết bị điện (nguồn, chip, relay) 45
  53. Hình 36. Motor bơm nước Hình 37. Lắp đặt 46
  54. Hình 38. Kết nối với bơm phân 47
  55. Hình 39. Tổng quan mô hình 48
  56. Hình 40 Tổng quan mô hình 49
  57. 2.3. THI CÔNG BO MẠCH Hình 41. Tổng quan mô hình. Hình 42. Lắp đặt công tắc. 50
  58. Hình 43. Đi dây, lắp đặt các thiết bị điện. Hình 44. Đi dây, kết nối các thiết bị điện. 51
  59. 2.4. KIỂM TRA VÀ VẬN HÀNH THỬ Hình 45. Mô hình hoạt động Hình 46. Mô hình hoạt động 52
  60. Hình 47. Mô hình hoạt động 53
  61. Hình 48. Mô hình hoạt động Hình 49. Mô hình hoạt động khi kết nối với app Điều khiển và giám sát trực tiếp trên web. 54
  62. Hình 50. Mô hình hoạt động Motor bơm nước và bơm phân hoạt động ổn định. Hệ thống nước phun đều. 55
  63. 2.5. LẬP TRÌNH 2.5.1. Phần mềm lập trình. Chương trình được lập trình trên phần mềm Arduino: − Cài đặt Java Runtime Environment (JRE) Vì Arduino IDE được viết trên Java nên bạn cần phải cài đặt JRE trước Arduino IDE. Link tải: Chú ý: Nhiều bạn do không cài JRE trên máy nên thường hay gặp phải tình trạng không chạy được Arduino IDE. 2 bản JRE phổ biến nhất là bản dành cho Windows 32bit (x86) và Windows 64bit (x64) mình đã đánh dấu trong hình. Nhớ chọn "Accept License Agreement". Hình 51. Cài đặt Arduino IDE Bước 1: Truy cập địa chỉ Đây là nơi lưu trữ cũng như cập nhật các bản IDE của Arduino. Bấm vào mục “Windows ZIP file for non admin install”. 56
  64. Hình 52. Các bước cài đặt phần mền Arduino Bạn sẽ được chuyển đến một trang mời quyền góp tiền để phát triển phần mềm cho Arduino, tiếp tục bấm JUST DOWNLOAD để bắt đầu tải. Hình 53. Các bước cài đặt phần mền Arduino Bước 2: Sau khi download xong, các bạn bấm chuột phải vào file vừa download arduino-1.8.12-windows.zip và chọn “Extract here” để giải nén. Bước 3: Copy thư mục arduino-1.8.12 vừa giải nén đến nơi lưu trữ. Bước 4: Chạy file trong thư mục arduino-1.8.12\ để khởi động Arduino IDE 57
  65. Hình 54. Các bước cài đặt phần mền Arduino − Cài đặt Driver Để máy tính của bạn và board Arduino giao tiếp được với nhau, chúng ta cần phải cài đặt driver trước tiên. Nếu bạn dùng Windows 8, trong một số trường hợp Windows không cho phép bạn cài Arduino driver (do driver không được kí bằng chữ kí số hợp lệ). Do vậy bạn cần vào Windows ở chế độ Disable driver signature enforcement thì mới cài được driver. Đầu tiên, các bạn chạy file arduino-1.8.12\drivers\dpinst-x86.exe (Windows x86) hoặc arduino-1.8.12\drivers\dpinst-amd64.exe (Windows x64). Cửa sổ “Device Driver Installation Wizard” hiện ra, các bạn chọn Next để tiếp tục. 58
  66. Hình 55. Các bước cài đặt phần mền Arduino Khi có yêu cầu xác nhận cài đặt driver, chọn “Install” Hình 56. Các bước cài đặt phần mền Arduino Đợi khoảng 10 giây trong lúc quá trình cài đặt diễn ra 59
  67. Hình 57. Các bước cài đặt phần mền Arduino Quá trình cài đặt đã hoàn tất. Bấm “Finish” để thoát. Hình 58. Các bước cài đặt phần mền Arduino 60
  68. 2.5.2. Code của chương trình được sử dụng. #define ESP32 #include #include #define led 2 #define Setup 5 #include "FileManager.h" #include "EepromFuntion.h" #include "Define.h" #include "Webpage.h" #include "GetAPI.h" #include "Funtion.h" #include "AutoProcess.h" uint8_t count2=0,wificonf=0,lastMin=0,lastDay=0; bool intteruptDisable=1,intteruptDisable2=1; String ssid = ""; String password = ""; bool dhcp; uint8_t staticIP[4]={192,168,1,252}; uint8_t gateway[4]={192,168,1,1}; uint8_t subnet[4]={255,255,255,0}; IPAddress dns1(8,8,8,8); IPAddress dns2(8,8,4,4); uint16_t localPort=80; WiFiServer server(localPort);//539840836 hw_timer_t * timer = NULL; //create a hardware timer void IRAM_ATTR onTimer(){ //timer interrupt if(intteruptDisable)return; 61
  69. if(intteruptDisable2)return; if(++timerCount =60){ onlineSec=0; if(++onlineMin>=60){ onlineMin=0; if(++onlineHour>=24){ onlineHour=0; incDate(&onlineDay,&onlineMonth,&onlineYear); } } } Serial.println(String(onlineHour)+':' +String(onlineMin)); if(++count2>=240)count2=0; } void setup(){ Serial.begin(115200); pinMode(led,OUTPUT);digitalWrite(led,0); pinMode(Setup, INPUT_PULLUP); Serial2.begin(9600); if(!EEPROM.begin(EepromSize))Serial.println("failed to initialise 62
  70. EEPROM"); Serial.println("initialise EEPROM OK"); if(!SPIFFS.begin(true))Serial.println("An Error has occurred while mounting SPIFFS"); SystemInit(); wificonf=digitalRead(Setup); if(wificonf)checkWifi(); else wifiConfig(); //getDateTime(); PlantingProcessInit(); // Use 1st timer of 4; 1 tick take 1/(80MHZ/80) = 1us so we set divider 80 and count up timer=timerBegin(0,80,true); //Attach onTimer function to our timer timerAttachInterrupt(timer,&onTimer,true); //Set alarm to call onTimer function every second 1 tick is 1us=> 1 second is 1000000us *//* Repeat the alarm (third parameter) timerAlarmWrite(timer,10000,true); //Start an alarm 10000 timerAlarmEnable(timer); // } //=== void loop(){ if(wificonf)checkWifi(); httpProcess(); if(stateUpdate){PlantingProcessRun();stateUpdate=0;} if(count2%60==5){count2++;readDHT();}//getDateTime(); if((count2%60==25)&&(onlineMin%3==0)){getWeather();count2++;} 63
  71. if((count2%60==25)&&(onlineMin%3==1)){getForecastHourly();count2++;} if((count2%60==25)&&(onlineMin%3==2)){getForecastDaily();count2++;} } //=== void SystemInit(){ uint8_t i; readFile("/Setting.txt",dataBuffer); deserializeJson(document,dataBuffer); JsonObject documentRoot = document.as (); String sid = documentRoot["WifiName"];ssid=sid; Serial.println(ssid); String pass = documentRoot["WifiPass"];password=pass; Serial.println(password); dhcp=documentRoot["DHCP"]; for(i=0;i<4;i++)staticIP[i]=documentRoot["LocalIP"][i]; Serial.println((IPAddress)(staticIP)); for(i=0;i<4;i++)gateway[i]=documentRoot["LocalGateway"][i]; Serial.println((IPAddress)(gateway)); for(i=0;i<4;i++)subnet[i]=documentRoot["LocalSubnet"][i]; Serial.println((IPAddress)(subnet)); localPort=documentRoot["LocalPort"]; Serial.println(localPort); InitAuthData(PassMax); intteruptDisable=0; intteruptDisable2=0; readFile("/ApiData.txt",dataBuffer); deserializeJson(document,dataBuffer); 64
  72. documentRoot = document.as (); String loc = documentRoot["weatherLocation"]; weatherLocation=loc; String key = documentRoot["weatherKey"]; weatherKey=key; String aqiloc = documentRoot["airVisualLocation"]; String aqikey = documentRoot["airVisualKey"]; airVisualLocation=aqiloc; airVisualKey=aqikey; String uvikey = documentRoot["openuvKey"]; openuvKey=uvikey; } void checkWifi(){ if(WiFi.status()==WL_CONNECTED)return; char wait=0; Serial.println("Connecting to WiFi "); WiFi.begin(&ssid[0],&password[0]); // Connect to Wi-Fi if(!dhcp)WiFi.config(staticIP,gateway,subnet,dns1,dns2); while(WiFi.status()!=WL_CONNECTED){ Serial.print("."); digitalWrite(led,1);delay(200); digitalWrite(led,0);delay(200); if(++wait>40){Serial.println(".");wifiConfig();wificonf=0;return;} } Serial.print("SSID: ");Serial.println(WiFi.SSID()); Serial.print("IP: ");Serial.println(WiFi.localIP()); server.begin(localPort); } void wifiConfig(){ WiFi.softAP("AutoPlanting:192.168.11.1","123456789");delay(100); 65
  73. if(!WiFi.softAPConfig(IPAddress(192, 168, 11, 1), IPAddress(192, 168, 11, 1), IPAddress(255, 255, 255, 0))){ Serial.println("AP Config Failed"); } else{ IPAddress myIP = WiFi.softAPIP(); Serial.print("AP IP address: ");Serial.println(myIP); Serial.println("Login to config wifi"); digitalWrite(led,1); server.begin(); } } void httpProcess(){ WiFiClient client = server.available(); if(!client)return; unsigned short i=0,len; char type=0; char requestURI[200]; char requestBody[1200]; char httpMethod=0; static uint16_t httpCount=0; httpCount++; if(client.connected()){ delay(30); len = client.available(); if(!len){client.stop();return;} digitalWrite(led,1); while(len ){ if(type==0){ requestURI[i++] = client.read(); 66
  74. if(i 5){httpMethod=UNKNOWN;} } else if((requestURI[i-2]=='\r')&&(requestURI[i- 1]=='\n')){requestURI[i-2]=0;type=1;i=0;} } else{ requestBody[i++] = client.read(); if(i>1198){requestBody[i]=0;break;} if(i>3){if(requestBody[i-3]=='\n'&&requestBody[i- 2]=='\r'&&requestBody[i-1]=='\n'){i=0;}} } if(len==0 && client.available()>0){delay(30);len=client.available();} } if(type==0)requestURI[i]=0;else requestBody[i]=0; } if(httpMethod==GETT) Serial.print(httpCount+String(" GET:")); else if(httpMethod==POSTT)Serial.print(httpCount+String(" POST:")); else if(httpMethod==HEAD)Serial.print(httpCount+String(" HEAD:")); else Serial.print(httpCount+String(" UNKNOWN:")); Serial.println(requestURI); if(i){Serial.print(String("requestBody:"));Serial.println(requestBody);} if(httpMethod==GETT){ 67
  75. httpGET(requestURI); if(!imagelen)client.println(dataBuffer); else{short r=0;while(imagelen){client.write(dataBuffer[r++]);imagelen ;}} } else if(httpMethod==POSTT){httpPOST(requestURI,requestBody);client.println(d ataBuffer);} client.stop(); digitalWrite(led,0); } #ifndef __AutoProcess_h__ #define __AutoProcess_h__ #include "Adafruit_Sensor.h" #include "DHT.h" #include #define flowSensorPin 18 #define DHTPIN 19 uint16_t temp=315,humi=65; DHT dht(DHTPIN,DHT11); #define waterPump 25 #define manurePump 26 #define Lamp 27 #define On 0 #define Off 1 #define flowmeterCalib 75 //750xung/l/s volatile uint8_t humiRequite=0,pumpMode; volatile uint16_t waterPumpDelay=0,manurePumpDelay=0; bool waterPumpOn,manurePumpOn,lampOn,stateUpdate; 68
  76. volatile uint16_t flowmeterCount=0,flowRateCount,flowRate=0,pumpOnTime,flowOnLitre; extern uint8_t lastMin,lastDay; struct SelectType{ uint8_t type; char name[64]; uint8_t cycle; uint8_t day; uint8_t month; uint8_t year; uint8_t lastidx; }; struct TimeType{ uint8_t hour; uint8_t minute; }; struct ProcessType{ uint8_t idx; uint8_t hour; uint8_t minute; uint8_t day; uint8_t month; uint8_t year; uint8_t water; uint8_t manure; uint8_t humi; }; struct DailyProcessType{ uint8_t state; uint8_t hour; 69
  77. uint8_t minute; uint8_t water; //phut uint16_t wstate; //sec uint8_t manure; //lit uint16_t mstate; //lit*100 uint8_t humi; uint8_t hstate; }; #define pProcessMax 300 #define dailyProcessMax 20 struct ProcessType pProcess[pProcessMax]; struct DailyProcessType dailyProcess[dailyProcessMax]; struct SelectType startDate; struct SelectType selectedProcess; void IRAM_ATTR flowmeterCounter(){ flowmeterCount++; flowRateCount++; } void readDHT(){ float t = dht.readTemperature(); if(isnan(t))Serial.println("Failed to read temp from DHT sensor!"); else {Serial.println(t);temp=uint16_t(round(t*10));} float h = dht.readHumidity(); if(isnan(h))Serial.println("Failed to read humi from DHT sensor!"); else{Serial.println(h);humi=uint16_t(round(h));} } void incDate(uint8_t *dd,uint8_t *mm,uint8_t *yy){ uint8_t day=*dd,month=*mm,year=*yy; day++; if(month==2){ 70
  78. if(year%4){if(day>28){day=1;month++;}} else if(day>29){day=1;month++;} } else if((month==4||month==6||month==9||month==11)&&(day>30)){day=1;mo nth++;} else if(day>31){day=1;month++;} if(month>12){month=1;year++;} *dd=day;*mm=month;*yy=year; } void StartPlantingProcess(struct SelectType *ptr){ char buff[2000],temp[20],times[10]; uint8_t i,j,idx=0,d; uint8_t day,month,year,startyear=ptr->year,startday=ptr- >day,startmonth=ptr->month; intteruptDisable=1; if(ptr->type==2)readFile("/Process2.txt",buff); else if(ptr->type==3)readFile("/Process3.txt",buff); else readFile("/Process1.txt",buff); intteruptDisable=0; deserializeJson(document,buff); JsonObject docRoot= document.as (); day=startday-1; month=startmonth,year=startyear; for(i=1;i name); ptr->cycle=docRoot["Day"]; for(j=0;j =docRoot["Action"][j]["startDay"] && 71
  79. i lastidx=idx;return;} } } } ptr->lastidx=idx; idx=0; while(idx lastidx){ for(i=idx+1;i lastidx;i++){ if(pProcess[idx].day!=pProcess[i].day)break; if(pProcess[idx].month!=pProcess[i].month)break; if(pProcess[idx].year!=pProcess[i].year)break; if(pProcess[idx].hour<pProcess[i].hour)continue; if(pProcess[idx].hour<pProcess[i].hour)continue; if((pProcess[idx].hour==pProcess[i].hour)&&(pProcess[idx].minute<=pPro cess[i].minute))continue; 72
  80. d=pProcess[idx].hour;pProcess[idx].hour=pProcess[i].hour;pProcess[i].hour =d; d=pProcess[idx].minute;pProcess[idx].minute=pProcess[i].minute;pProcess [i].minute=d; d=pProcess[idx].water;pProcess[idx].water=pProcess[i].water;pProcess[i].w ater=d; d=pProcess[idx].manure;pProcess[idx].manure=pProcess[i].manure;pProce ss[i].manure=d; d=pProcess[idx].humi;pProcess[idx].humi=pProcess[i].humi;pProcess[i].hu mi=d; } idx++; } } void GetDailyProcess(){ uint8_t i=0,k=0; for(uint8_t k=0;k<selectedProcess.lastidx;k++){ if(pProcess[k].day==onlineDay && pProcess[k].month==onlineMonth){ dailyProcess[i].hour=pProcess[k].hour; dailyProcess[i].minute=pProcess[k].minute; dailyProcess[i].water=pProcess[k].water; dailyProcess[i].manure=pProcess[k].manure; dailyProcess[i].humi=pProcess[k].humi; dailyProcess[i].wstate=0; dailyProcess[i].mstate=0; dailyProcess[i].hstate=0; 73
  81. if((pProcess[k].hour<onlineHour)||(pProcess[k].hour==onlineHour && pProcess[k].minute<onlineMin)){ dailyProcess[i].state=0xff; } else dailyProcess[i].state=i+1; i++; } } k ; if(i)dailyProcess[i].state=0; else if((pProcess[k].day+(30*pProcess[k].month)+(365*pProcess[k].year))<(onl ineDay+(30*onlineMonth)+(365*onlineYear)))dailyProcess[0].state=0xfe; Serial.println("dailyProcess " + String(i)); } void PlantingProcessRun(){ if(waterPumpOn&&(pumpMode=='A')){ if(waterPumpDelay==0){ if(manurePumpOn==0){ digitalWrite(waterPump,Off); waterPumpOn=0;Serial.println("waterPump Off"); } } } if(manurePumpOn&&(pumpMode=='A')){ flowOnLitre=(uint16_t)((flowmeterCount*10)/(flowmeterCalib*6)); if(manurePumpDelay<=flowOnLitre){ manurePumpDelay=0; digitalWrite(manurePump,Off); manurePumpOn=0;Serial.println("manurePump Off"); 74
  82. if(waterPumpDelay==0 && waterPumpOn==1){ digitalWrite(waterPump,Off); waterPumpOn=0;Serial.println("waterPump Off"); } } } if(selectedProcess.type==0)return; for(uint8_t i=0;i<dailyProcessMax;i++){ if(dailyProcess[i].state==0)break; if((dailyProcess[i].wstate==0) && (dailyProcess[i].mstate==0))continue; if(waterPumpDelay==0)dailyProcess[i].wstate=0; if(manurePumpDelay==0)dailyProcess[i].mstate=0; } if(lastMin==onlineMin)return;lastMin=onlineMin; if(lastDay!=onlineDay){GetDailyProcess();lastDay=onlineDay;} for(uint8_t i=0;i<dailyProcessMax;i++){ if(dailyProcess[i].state==0)break; if(dailyProcess[i].hour!=onlineHour)continue; if(dailyProcess[i].minute!=onlineMin)continue; dailyProcess[i].state=0xff; if(pumpMode=='M')continue; if(dailyProcess[i].water){ digitalWrite(waterPump,On);Serial.println("waterPump On"); waterPumpOn=1; waterPumpDelay=(dailyProcess[i].water*60); dailyProcess[i].wstate=waterPumpDelay; pumpOnTime=0; } if(dailyProcess[i].manure){ flowmeterCount=0; 75
  83. digitalWrite(waterPump,On); waterPumpOn=1; digitalWrite(manurePump,On); manurePumpOn=1; manurePumpDelay=(dailyProcess[i].manure*100); dailyProcess[i].mstate=manurePumpDelay; flowmeterCount=0; } if(dailyProcess[i].humi)humiRequite=dailyProcess[i].humi; } } void PlantingProcessInit(){ pinMode(waterPump,OUTPUT); pinMode(manurePump,OUTPUT); pinMode(Lamp,OUTPUT); digitalWrite(waterPump,Off);waterPumpOn=0; digitalWrite(manurePump,Off);manurePumpOn=0; digitalWrite(Lamp,Off);lampOn=0; pumpMode=EEPROM.read(PumpModeStore); selectedProcess.type=EEPROM.read(ProcessTypeStore); if(selectedProcess.type>3)selectedProcess.type=0; if(selectedProcess.type){ selectedProcess.day=EEPROM.read(ProcessDayStore); selectedProcess.month=EEPROM.read(ProcessMonthStore); selectedProcess.year=EEPROM.read(ProcessYearStore); StartPlantingProcess(&selectedProcess); } dht.begin();delay(200); readDHT(); 76
  84. pinMode(flowSensorPin, INPUT_PULLUP); attachInterrupt(flowSensorPin,flowmeterCounter, FALLING); if(onlineDay){GetDailyProcess();lastDay=onlineDay;} startDate.day=onlineDay;startDate.month=onlineMonth;startDate.year=onli neYear; } #endif 77
  85. CHƯƠNG 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ 1. KẾT QUẢ Sau thời gian nghiên cứu và thực hiện thi Công đề tài hệ thống giám sát nông nghiệp bằng IOT, nhóm đã hoàn thành đề tài dù gặp nhiều khó khăn. Trong quá trình nghiên cứu và thi Công nhóm cũng đã học thêm được nhiều kiến thức mới bổ ích. 1.1. Nội dung - Nghiên cứu về cách xây dựng WEB. - Nghiên cứu về module ESP32. - Nghiên cứu về cảm biến độ ẩm đất. - Nghiên cứu về module cảm biến nhiệt độ DHT11. - Nghiên cứu thiết kế mạch nguồn. 1.2. Kết quả nghiên cứu Qua đề tài này, nhóm còn được trau dồi thêm nhiều kỹ năng: thiết kế, lắp đặt hệ thống điện, mô hình sao cho tối ưu. Hiểu hơn về các cảm biến thông dụng. Bên cạnh đó, kỹ năng truyền - nhận thông tin nhờ module Esp32 cũng được nhóm hiểu rõ hơn. 78
  86. • Giao diện của ứng dụng Hình 59. Giao diện của ứng dụng ở trạng thái tự động (trái) và bằng tay (phải) 79
  87. Hình 60. Giao diện cài đặt Hình 61. Giao diện cài đặt Wifi 80
  88. Hình 61. Giao diện theo dõi hằng ngày 81
  89. Hình 62. Cài đặt quy trình tưới nước tưới phân cho rau. Hình 63. Giao diện cài đặt quy trình Có thể thêm hoặc bớt quy trình trồng, tùy vào mục đích sử dụng. 82
  90. Hình 64. Giao diện bắt đầu quy trình. 83
  91. Hình 65. Giao diện cài đặt kết nối wifi 84
  92. Hình 66. Giao diện cài đặt API 85
  93. Hình 67. Giao diện theo dõi quy trình Hệ thống điều khiển thông qua thiết bị thông minh (Smartphone, Laptop, PC ) Ứng dụng này có đầy đủ các thông tin được cập nhật liên tục từ bộ điều khiển và hỗ trợ cho quá trình điều khiển các thiết bị ngoại vi tại vườn. Ứng dụng này không những là giải pháp tối ưu trong việc sửa chữa, bảo trì các thiết bị ngoại vi tại vườn, mà còn là ứng dụng thay thế web khi xảy ra sự cố về Internet. Người trồng trọt không cần phải lắp đặt hay thao gỡ nhà kính khi muốn trồng xen canh các loại cây khác nhau, với hệ thống IoT này, điều kiện canh tác có thể được thay đổi một cách linh hoạt. Chi phí cho lượng điện tiêu thụ cho quá trình canh tác cũng được giảm đáng kể, vì hệ thống thực hiện điều khiển tắt - mở các 86
  94. thiết bị ngoại vi một cách tự động, nhiệt độ không khí đạt khoảng an toàn, độ ẩm đất đạt khoảng ổn định cho sự sinh trưởng và phát triển của cây, bơm nước tự động tắt; ngược lại, khi không đáp ứng được điều kiện môi trường đặt trước, hệ thống sẽ tự động mở hoặc tắt các thiết bị ngoại vi để đảm bảo môi trường nuôi trồng luôn ở trạng thái tốt nhất. Chính vì vậy, năng suất canh tác khi sử dụng hệ thống IoT này sẽ tăng cao; bởi lẽ, điều kiện canh tác không phụ thuộc vào điều kiện môi trường, đáp ứng được nhu cầu của thị trường, nhu cầu của các khách hàng khó tính nhất. 2. NHẬN XÉT Trong quá trình thiết kế và thi công đề tài, nhóm gặp nhiều khó khăn và phát sinh trong việc lựa chọn linh kiện, hướng thiết kế, nhưng sau khi tìm hiểu thì những vấn đề trên đã được giải quyết. Khó khăn lớn nhất của đề tài là việc nghiên cứu ra sau khi thu được giá trị đọc được từ cảm biến là thông báo để hiển thị lên Web và APP. Trong đó việc lập trình phần mềm là vấn đề làm nhóm gặp nhiều khó khăn trong thời gian nghiên cứu và tìm hiểu hướng giải quyết. Sau thời gian nghiên cứu, thi công thì dự án đã hoàn thành kịp tiến độ. Hệ thống hoạt động tương đối ổn định. Nhưng những yêu cầu đặt ra đối với hệ thống chỉ đạt trên 85%, vẫn còn điểm hạn chế là chưa áp dụng được vào qui mô lớn. 3. ĐÁNH GIÁ Hệ thống có khả năng giúp người dùng giám sát được đối tượng canh tác. Hệ thống hoạt động ổn định trong thời gian dài, đảm bảo được việc thu thập thông tin từ đối tượng canh tác cũng như truyền nhận dữ liệu lên web. Mô hình đã cho ra được một giải pháp toàn diện cho nhà nông: • Tiết kiệm tối đa chi phí vận hành, nhân công, • Nâng cao chất lượng nông sản • Tối ưu hóa thời gian quản lý vườn • Nâng cao sản lượng nông sản 87
  95. CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 1. KẾT LUẬN Sau một thời gian nghiên cứu và hoàn thành đề tài, nhóm đã nhận thấy mô hình đã hiệu quả được 85%, trong thời gian nghiên cứu và thực hiện đề tài, nhóm đã học hỏi và tìm hiểu thêm được nhiều kiến thức mới cũng như củng cố lại kiến thức đã học giúp hoàn thành đề tài này. Vì đây là đề tài hướng đến việc giúp cho những người nông dân giảm bớt thời gian và sức lao động, trong qua trình canh tác nông nghiệp nên phải chú trọng độ ổn định và chính xác dẫn đến nhiều khó khăn trong quá trình lập trình. Nhưng nhờ sự hướng dẫn của giảng viên hướng dẫn và các tài liệu tham khảo thì nhóm đã giải quyết được tương đối yêu cầu của đề tài. Trong quá trình thực hiện đề tài về phần cứng, nhóm đã tìm hiểu được chức năng của các chân IO của board Ardruino, kết hợp với các cảm biến để đọc giá trị, sử dụng chân TX-RX để giao tiếp và module ESP32. Việc kết hợp các module này lại với nhau để làm việc ổn định mất nhiều thời gian nhưng cũng học hỏi được rất nhiều trong quá trình làm. Tuy rằng sản phẩm đã được hoàn thành nhưng nhóm vẫn nhận thấy sản phẩm còn nhiều thiếu sót, cần được chỉnh sửa và cải tiến hơn. − Xây dựng hoàn thành mô hình Hệ thống giám sát nông nghiệp bằng ứng dụng IOT. − Mô hình có khả năng cập nhật dữ liệu từ đối tượng canh tác để xử lý theo yêu cầu mà người dùng cài đặt. 2. HƯỚNG PHÁT TRIỂN Đề tài cơ bản đáp ứng được những yêu cầu đặt ra tuy nhiên để sản phẩm hoàn thiện được hơn nữa thì đòi hỏi cần được cải tiến và nghiên cứu thêm. Về chức năng, thiết bị được nghiên cứu chỉ dừng lại ở các chức năng cơ bản: 88
  96. đọc nhiệt độ độ ẩm đất, độ ẩm không khí. Một số chức năng nên bổ sung thêm là: − Độ pH: Xử lý pH trong đất. − Phát triển mô hình với quy mô lớn hơn. − Có lò sưởi để tăng nhiệt độ khi nhiệt độ xuống thấp. − Hoàn thiện mô hình và tối ưu một cách kinh tế hơn. − Có thể dùng năng lượng từ pin mặt trời để tạo ra nguồn điện. − Cài đặt giá trị để cảm biến theo điều kiện sống của từng loại cây trồng. 89
  97. TÀI LIỆU THAM KHẢO [1] Lê Trúc/petrotimes.com, “ Lời giải cho bài toán lao động nông nghiệp”, 2018. [2] baomoi.com, “Chuyển dịch cơ cấu ngành kinh tế của Việt Nam: thành tựu và kiến nghị”, 2017. [3] Trần Thu Hà, Trương Thị Bích Ngà, “Giáo trình Điện tử cơ bản”, Nhà xuất bản ĐH Quốc Gia TP Vũng Tàu, 2013. [4] Nguyễn Việt Hùng, Nguyễn Ngô Lâm, Nguyễn Văn Phúc, Đặng Phước Hải Trang, Giáo trình kỹ thuật truyền số liệu, NXB ĐH Quốc Gia TP. HCM, 2012. [5] Marco Schwartz, “Internet of Things with ESP8266”, Packt Publishing, 2016. [6] Phan Quang Phô, Nguyễn Đức Chiến, “Giáo trình cảm biến”. Nhà xuất bản Khoa Học Kỹ Thuật, 2000. [7] Dương Minh Trí, “Cảm biến và ứng dụng”, Nhà xuất bản Khoa học và Kỹ thuật, 2001. [8] www.arduino.vn/bai-viet/1226- web-server-voi-arduino-va-esp8266 [9] cam/?utm_source=Google%20Shopping&utm_campaign=GoogleMerchants - Feed&utm_medium=cpc&utm_term=9698&gclid=CjwKCAjw1cX0BRBm EiwAy9tKHoF-c3A0vfmstfgXl0XWgvH-OF_Te- HSwjHEVjO3qbKMssPTNn4X_xoCd0AQAvD_BwE [10] [11] [12] cho-cac-ky-su-dien 90
  98. [13] [14] [15] [16] 91