1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế và thi công hệ thống giám sát chăm sóc cây trồng

98 10 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Và Thi Công Hệ Thống Giám Sát Chăm Sóc Cây Trồng
Tác giả Dương Minh Thiện, Vũ Duy Thức
Người hướng dẫn ThS. Nguyễn Văn Phúc
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Máy Tính
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 98
Dung lượng 11,4 MB

Cấu trúc

  • CHƯƠNG 1 (17)
    • 1.1. Giới thiệu tình hình nghiên cứu hiện nay (17)
    • 1.2. Mục tiêu đề tài (17)
    • 1.3. Giới hạn đề tài (18)
    • 1.4. Phương pháp nghiên cứu (18)
    • 1.5. Đối tượng và phạm vi nghiên cứu (19)
    • 1.6. Bố cục quyển báo cáo (19)
  • CHƯƠNG 2 (21)
    • 2.1. Giới thiệu sơ về IoT Internet of Things (21)
      • 2.1.1. Giới thiệu về IoT (21)
      • 2.1.2. Cấu trúc của hệ thống IoT (21)
    • 2.2. Tổng quan về phần mềm lập trình cho vi điều khiển (22)
      • 2.2.1. Giới thiệu về phần mềm Arduino IDE (22)
      • 2.2.2. Các thao tác cơ bản trên phần mềm lập trình Arduino (24)
    • 2.3. Tổng quan về phần mềm lập trình Android Studio (25)
      • 2.3.1. G iới thiệu sơ về hệ điều hành Arduino (25)
      • 2.3.2. Giới thiệu về phần mềm lập trình Android Studi o (25)
      • 2.3.3. Các thao tác sử dụng cở bản trên phần mềm Android Studio (26)
      • 2.3.4. Ưu điểm và nhược điểm của Android Stuidio (29)
    • 2.4. Tổng quan về firebase (29)
      • 2.4.1. Giới thiệu về cơ sở dữ liệu Firebase (29)
      • 2.4.2. Cách thức hoạt động của Firebase (30)
      • 2.4.3. Ưu điểm và nhược điểm của Firebase (31)
    • 2.5. Cá c chuẩn truyền dữ liệu (31)
      • 2.5.1. Chuẩn giao tiếp UART (32)
      • 2.5.2. Chuẩn giao tiếp I2C (33)
      • 2.5.3. Chuẩn giao tiếp One -Wire (34)
  • CHƯƠNG 3 (37)
    • 3.1. Yêu cầu của hệ thố ng (37)
      • 3.1.1. Chức năng của từng khối (38)
    • 3.2. Tính toán và thiết kế mạch (39)
      • 3.2.1. Khối điều khiển trung tâm (39)
      • 3.2.3. Khối cảm biến (46)
      • 3.2.4. Khối ngoại vi (58)
      • 3.2.5. Khối nguồn (59)
    • 3.3. Lập trình hệ thống (63)
      • 3.3.1 Lưu đồ giải thuật chương trình chính phần cứng (63)
      • 3.3.2 Lưu đồ giải thuật phần mềm (68)
  • CHƯƠNG 4 (69)
    • 4.1. Đóng gói hệ thống (69)
    • 4.2. Kết quả phần cứng (72)
  • CHƯƠNG 5 (81)
    • 5.1. Kết luận (81)
    • 5.2. Hướng phát triển (81)
  • TÀI LIỆU THAM KHẢO (0)
  • PHỤ LỤC (83)

Nội dung

Giới thiệu tình hình nghiên cứu hiện nay

Hiện nay, sự phát triển của xã hội và công nghệ 4.0 đã dẫn đến việc tự động hóa trong đời sống hàng ngày Việc ứng dụng công nghệ khoa học kỹ thuật trở nên thiết yếu, đặc biệt trong các lĩnh vực như quản lý, công nghiệp và nông nghiệp Hệ thống điều khiển tự động đóng vai trò quan trọng trong việc nâng cao hiệu quả và quản lý thông tin trong các ngành khoa học kỹ thuật.

Nông nghiệp đóng vai trò quan trọng trong việc đảm bảo an ninh lương thực của các quốc gia, vì đây là một trong những lĩnh vực sản xuất vật chất chủ yếu của nền kinh tế.

Ngành nông nghiệp đóng vai trò quan trọng trong việc cung cấp thực phẩm cho xã hội và là thị trường chủ yếu cung ứng nguyên vật liệu cho nền kinh tế Hiện nay, Việt Nam có hơn 66,9% dân số làm việc trong lĩnh vực nông nghiệp, nhưng quy mô và chất lượng sản xuất vẫn chưa đạt yêu cầu so với các nước khác do công nghệ lạc hậu và phụ thuộc vào lao động thủ công Mô hình trồng trọt tự động đang được áp dụng rộng rãi, giúp giải phóng sức lao động và quản lý hiệu quả thông qua ứng dụng trên điện thoại, cho phép người dùng theo dõi và điều khiển hệ thống bơm tưới từ xa Hệ thống này không chỉ tự động hóa quy trình sản xuất mà còn tích hợp công nghệ IoT, góp phần vào sự phát triển của cách mạng công nghiệp 4.0.

Mục tiêu đề tài

Hệ thống giám sát chăm sóc cây trồng không chỉ cần thiết mà còn mang lại nhiều lợi ích thiết thực, chính vì vậy mà đề tài này được lựa chọn và triển khai Đề tài “Thiết kế và thi công hệ thống giám sát chăm sóc cây trồng” nhằm đạt được các mục tiêu quan trọng trong việc nâng cao hiệu quả quản lý cây trồng.

Nghiên cứu cơ sở lý thuyết về thiết kế và thi công hệ thống giám sát và điều khiển thiết bị trong mô hình trồng cây thông minh là rất quan trọng Hệ thống này giúp tối ưu hóa quy trình trồng trọt, nâng cao hiệu quả sản xuất và giảm thiểu rủi ro Việc áp dụng công nghệ tiên tiến trong giám sát và điều khiển không chỉ cải thiện chất lượng cây trồng mà còn tiết kiệm nguồn lực.

• Nghiên cứu về module ESP32, cảm biến nhiệt độ, độ ẩm, độ ẩm đất, cảm biến dòng điện, cách kết nối giữa các module để hoàn thành mô hình

Phần cứng được thiết kế để đo nhiệt độ môi trường, độ ẩm không khí và độ ẩm đất, cho phép người dùng bật tắt máy bơm tưới và máy bơm phun sương một cách tự động hoặc bằng tay Ngoài ra, hệ thống cung cấp thông tin lên màn hình LCD, giúp người dùng giám sát trực tiếp tại nông trại Đặc biệt, phần cứng còn có khả năng phát hiện các linh kiện bị lỗi trong hệ thống, nâng cao hiệu quả quản lý và vận hành.

Ứng dụng phần mềm cho phép người dùng giám sát từ xa các thông số nông trại như nhiệt độ môi trường, độ ẩm đất và độ ẩm không khí Người dùng nhận được cảnh báo khi điều kiện môi trường không phù hợp cho sự phát triển cây trồng và có thể kiểm tra lịch sử đo tại từng thời điểm để theo dõi tình hình môi trường Ứng dụng cung cấp biểu đồ cột cho nhiệt độ và biểu đồ Pie cho độ ẩm đất, độ ẩm không khí Bên cạnh đó, người dùng có khả năng điều khiển máy bơm tưới và máy phun sương từ xa, cũng như xác định linh kiện nào đang gặp sự cố hoặc hoạt động bình thường thông qua giao diện ứng dụng.

• Cân chỉnh, hoàn thiện được mô hình khu vườn trồng cây.

Giới hạn đề tài

Nhóm thực hiện đồ án này sẽ thiết kế và thi công hệ thống giám sát và điều khiển nhằm chăm sóc một số cây trồng trong khu vườn nhỏ.

Hệ thống chỉ áp dụng đối với một số cây trồng.

Hệ thống chưa giải quyết được việc theo dõi sự sinh trưởng của cây trồng

Dừng lại ở mức mô hình học tập chứ chưa đưa vào thực tế để sử dụng.

Phương pháp nghiên cứu

Những phương pháp nghiên cứu mà nhóm đã sử dụng trong đề tài này:

• Phương pháp tổng hợp tài liệu lý thuyết: Đọc datasheet module ESP32, cảm biến nhiệt độ và độ ẩm, cảm biến độ ẩm đất

• Phương pháp phân tích nghiên cứu: Tìm hiểu sự sinh trưởng của cây trồng để đưa ra những phương pháp hợp lý giúp cây trồng phát triển

Phương pháp chuyên gia là việc tham khảo ý kiến và tư vấn trực tiếp từ giáo viên hướng dẫn, bạn cùng lớp và anh chị khóa trên Nhóm sẽ tập hợp những ý kiến này để làm cơ sở cho việc viết bài báo cáo.

Để thu thập tài liệu hiệu quả, người học cần xem các bài giảng liên quan đến các module cảm biến, tìm hiểu cách xây dựng ứng dụng trên Android Studio, và đọc thêm tài liệu từ các mạng xã hội.

• Phương pháp phân tích và tổng hợp: Phân tích và tổng hợp những nội dung cần thiết để làm cơ sở viết bài báo cáo.

Đối tượng và phạm vi nghiên cứu

Nghiên cứu nguyên lý hoạt động và sơ đồ phần cứng của module ESP32, cảm biến nhiệt độ và độ ẩm DHT21, cảm biến dòng ZMCT103C, cảm biến độ ẩm đất, máy bơm tưới và máy phun sương là rất quan trọng để hiểu cách các thiết bị này tương tác và hoạt động hiệu quả trong hệ thống tự động hóa.

• Nghiên cứu và tìm hiểu về cách lập trình ứng dụng điện thoại trên Android Studio cũng và các ngôn ngữ lập trình khác liên quan đến ứng dụng

• Nghiên cứu về cơ sở dữ liệu Firebase, cách giao tiếp giữa Firebase và Android Studio, giao tiếp giữa Firebase và phần cứng.

• Nghiên cứu và tìm hiểu cách lập trình trên trình biên dịch Arduino, cũng như tìm hiểu thêm các thư viện có sẵn trên trình biên dịch

• Nghiên cứu các giao thức kết nối và giao tiếp giữa các module với nhau

Phạm vi nghiên cứu: Nghiên cứu dựa trên các mô hình đã có sẵn, tích hợp và ứng dụng những tính năng mới cho đề tài.

Bố cục quyển báo cáo

Bài báo cáo này gồm có 5 chương:

Chương này trình bày tổng quan về tình hình nghiên cứu hiện tại, nêu bật tính cấp thiết của đề tài và mục đích nghiên cứu Nó cũng mô tả phương pháp nghiên cứu, đối tượng và phạm vi nghiên cứu, cùng với bố cục đồ án Ngoài ra, chương này còn phân tích nguyên nhân và động lực hoàn thành đề tài, đồng thời đề cập đến các phương pháp nghiên cứu đã được áp dụng.

Chương 2:Cơ sở lý thuyết.

Chương này trình bày cơ sở lý luận và những vấn đề thực tiễn liên quan đến đề tài Chương 3: Thiết kế và thi công hệ thống

Chương này mô tả chi tiết quá trình thiết kế và lựa chọn giải pháp cho hệ thống, bao gồm sơ đồ khối và lưu đồ giải thuật Nó cũng trình bày thiết kế ứng dụng trên nền tảng Android, lập trình cho hệ thống, thiết kế sơ đồ mạch in PCB, và xây dựng mô hình khu vườn trồng cây.

Chương 4: Kết quả thực hiện

Chương này tóm tắt các kết quả đạt được từ đề tài sau khi hoàn tất khảo sát, đồng thời giải thích các chức năng hoạt động của hệ thống và kèm theo hình ảnh thực tế để minh họa.

Chương 5: Kết luận và hướng phát triển

Chương này nêu rõ các vấn đề đã được giải quyết trong đề tài và đề xuất các hướng phát triển tiềm năng nhằm hoàn thiện hơn cho nghiên cứu.

Giới thiệu sơ về IoT Internet of Things

IoT, hay Internet of Things (Internet kết nối vạn vật), đang ảnh hưởng sâu rộng đến cuộc sống hàng ngày của chúng ta qua nhiều thiết bị như máy điều hòa và đồng hồ thông minh Đây là một mạng lưới lớn gồm các thiết bị kết nối qua Internet, cho phép thu thập và chia sẻ dữ liệu về cách sử dụng và môi trường hoạt động Tất cả dữ liệu này được thu thập thông qua các cảm biến gắn trong thiết bị, ví dụ như bóng đèn có thể điều khiển qua ứng dụng điện thoại thông minh, cũng được xem là một thiết bị IoT.

Thiết bị IoT có thể đơn giản như đồ chơi trẻ em hoặc phức tạp như xe tải không người lái và động cơ phản lực, với hàng ngàn cảm biến thu thập và truyền dữ liệu để tối ưu hóa hiệu suất Trong các dự án lớn như thành phố thông minh, cảm biến được lắp đặt để giúp chúng ta hiểu và kiểm soát môi trường IoT cung cấp ngôn ngữ chung cho phép các thiết bị giao tiếp hiệu quả với nhau.

2.1.2 Cấu trúc của hệ thống IoT

Cấu trúc của hệ thống IoT gồm 4 phần chính: Thiết bị (Things), trạm kết nối (Gateways), hạ tầng mạng (Network and Cloud), dịch vụ (Services)

Hình 2.1 Cấu trúc của hệ thống IoT

Tầng thiết bị bao gồm các thiết bị quen thuộc như máy in, máy hút bụi, máy xay sinh tố, đồng hồ, camera, thiết bị đo, công tắc và bóng đèn Những thiết bị này được trang bị cảm biến để thu thập dữ liệu từ môi trường xung quanh.

Các trạm kết nối đóng vai trò quan trọng trong việc trung gian kết nối thiết bị với điện toán đám mây, mang lại sự an toàn và thuận tiện cho quá trình kết nối.

Hạ tầng mạng đóng vai trò quan trọng trong điện toán đám mây, bao gồm các thiết bị định tuyến và dữ liệu từ các tầng dưới Để gửi thông tin qua Internet, dữ liệu cần được truyền qua các bộ định tuyến, đảm bảo đến đúng vị trí của máy chủ trong trung tâm dữ liệu.

Dịch vụ IoT bao gồm các ứng dụng được phát triển bởi các công ty công nghệ hoặc người dùng, nhằm tối ưu hóa việc sử dụng sản phẩm IoT và khai thác tối đa các chức năng của chúng.

2.1.3 Ưu điểm và nhược điểm Ưu điểm:

- Việc kiểm soát ra vào có thể thực hiện thuận tiện mọi lúc mọi nơi thông qua mạng Internet

- Dữ liệu được lưu trữ trong cơ sở dữ liệu để tiết kiệm thời gian và tiền bạc và tăng tính linh hoạt của dữ liệu

- IoT là giải pháp giúp tự động hóa mọi thứ để nâng cao chất lượng cuộc sống Nhược điểm:

Với sự phát triển của Internet và khả năng kết nối giữa các thiết bị, việc chia sẻ thông tin trở nên dễ dàng hơn bao giờ hết Tuy nhiên, điều này cũng đồng nghĩa với nguy cơ cao về việc đánh cắp thông tin cá nhân.

Kết cấu của hệ thống có mối quan hệ chặt chẽ, do đó khi một sự cố xảy ra, khả năng hư hỏng các thiết bị kết nối là rất cao.

Tổng quan về phần mềm lập trình cho vi điều khiển

2.2.1 Giới thiệu về phần mềm Arduino IDE

Arduino IDE là phần mềm lập trình vi điều khiển phổ biến, hỗ trợ ngôn ngữ C và C++, giúp sinh viên dễ dàng lập trình nhúng Phần mềm tương thích đa nền tảng với Mac, Windows, Linux và Java, cung cấp các chức năng chỉnh sửa và biên dịch mã quan trọng Arduino IDE hỗ trợ nhiều mô-đun như Arduino Mega và Arduino Uno, cũng như các mô-đun ESP như ESP8266 và ESP32 Mỗi mô-đun chứa vi điều khiển được lập trình thông qua các bản phác thảo, từ đó tạo ra tệp hex để chuyển và tải lên bộ điều khiển của bảng.

Hình 2.2 Trình biên dịch Arduino

Mặc dù là phần mềm mã nguồn mở, Arduino IDE sở hữu khả năng bảo mật thông tin xuất sắc Nhà phát hành nhanh chóng phát hiện và khắc phục lỗi, đồng thời cập nhật thường xuyên, giúp bảo vệ thông tin người dùng khỏi việc mất mát hoặc rò rỉ ra ngoài.

Arduino cung cấp một module quản lý bo mạch cho phép người dùng chọn và thay đổi bo mạch thông qua Menu Quá trình sửa đổi lựa chọn sẽ tự động cập nhật, đảm bảo dữ liệu trong bo mạch và dữ liệu sửa đổi luôn đồng nhất Ngoài ra, Arduino IDE hỗ trợ người dùng tìm ra lỗi trong mã code, giúp sửa lỗi kịp thời và tránh tình trạng bo mạch hoạt động với code lỗi, từ đó bảo vệ bo mạch khỏi hư hỏng và giảm tốc độ xử lý.

Hình 2.2 Sự đa dạng và phong phú về thư viện

Arduino IDE hỗ trợ hơn 700 thư viện, được phát triển và chia sẻ bởi các nhà xuất bản phần mềm Arduino cùng cộng đồng người dùng Tất cả mọi người đều có thể truy cập và sử dụng các thư viện này cho các dự án cá nhân mà không phải trả phí.

2.2.2 Các thao tác cơ bản trên phần mềm lập trình Arduino

Hình 2.3 Một số tính năng thường xuyên sử dụng trên phần mềm

Bảng 1 Thao tác trên Android IDE

Verify Kiểm tra lỗi phần code chuẩn bị truyền xuống cho bo mạch Arduino.

Upload Giúp nhập đoạn code vào bo mạch Arduino.

Open Mở một sketchhiện có sẵn

Save Lưu sketch vào IDE

Serial Monitor Mở serial monitor

Tổng quan về phần mềm lập trình Android Studio

2.3.1 Giới thiệu sơ về hệđiều hành Arduino

Hình 2.4 Logo hệ điều hành Android

Android là hệ điều hành dựa trên Linux, được thiết kế cho các thiết bị di động thông minh như điện thoại và máy tính bảng cảm ứng Với giấy phép Google (Apache) ít ràng buộc, Android thu hút nhiều nhà phát triển nhanh chóng phân phối sản phẩm của họ trên các nền tảng khác nhau Lập trình ứng dụng Android hỗ trợ nhiều ngôn ngữ lập trình, bao gồm Java, Kotlin, AngularJS, C#, HTML và CSS, giúp đa dạng hóa lựa chọn cho các nhà phát triển.

2.3.2 Giới thiệu về phần mềm lập trình Android Studio

Hiện nay, có nhiều phần mềm hỗ trợ phát triển ứng dụng Android cho cả điện thoại và thiết bị IoT, nổi bật là MIT App Inventor Nền tảng này cho phép các nhà phát triển dễ dàng tạo ứng dụng cho hệ điều hành Android thông qua phương pháp kéo thả.

Nền tảng này sử dụng giao diện người dùng đồ họa, cho phép người dùng kéo và thả các khối mã để phát triển ứng dụng cho thiết bị Android Một ứng dụng nổi bật trong lĩnh vực IoT là Blynk, một phần mềm mã nguồn mở.

Android Studio là công cụ phát triển mạnh mẽ và chính thức cho ứng dụng di động trên nền tảng Android, được Google hỗ trợ Nó là môi trường phát triển tích hợp (IDE) chủ yếu để tạo ra hầu hết các ứng dụng mà người dùng sử dụng hàng ngày, cho phép điều khiển phần cứng từ xa, hiển thị và lưu trữ dữ liệu cảm biến, cũng như chuyển đổi dữ liệu và thực hiện nhiều chức năng khác.

Android Studio là phần mềm cung cấp giao diện người dùng để xây dựng ứng dụng Android, đồng thời xử lý quản lý tệp phức tạp ở hậu trường Ngôn ngữ lập trình chính được sử dụng là Java, và Android Studio cấp phép cho Android SDK, một tập hợp các công cụ cần thiết để phát triển ứng dụng Hệ điều hành Android của Google dựa trên Java, với khoảng 9 triệu lập trình viên trên toàn thế giới sử dụng ngôn ngữ này Mặc dù Android Java có một số khác biệt so với Java thông thường, nhưng vẫn giữ nhiều điểm chung quan trọng.

2.3.3 Các thao tác sử dụng cở bản trên phần mềm Android Studio

Mở ứng dụng Android Studio sau đó bấm File => New Project

Hình 2.7 Giao diện khởi tạo Project trên Android Studio

Trong phần Phone and Tablet, bấm chọn “Empty Activity”

Hình 2.8 Giao diện Phone and Tablet Ở bước này ta tiến hành đặt tên, chọn thư mục lưu trữ cho project cũng như cài đặt các cấu hình cơ bản.

Sau khi hoàn thành việc tạo project, bước tiếp theo là thiết kế giao diện cho ứng dụng Trong quá trình này, chúng ta sẽ thêm các đối tượng như image view, button, text view, và linear layout để tạo nên giao diện người dùng hoàn chỉnh.

Phần mềm cung cấp 12 tính năng tích hợp sẵn, giúp người dùng dễ dàng sắp xếp thiết kế giao diện cho ứng dụng Ngoài ra, người dùng cũng có thể sử dụng ngôn ngữ lập trình XML để tạo ra giao diện ứng dụng một cách linh hoạt và hiệu quả.

Hình 2.10 Giao diện của ứng dụng khi thiết kế

Phần lập trình ngôn ngữ XML trong Android Studio giúp sắp xếp các đối tượng một cách hiệu quả Ngoài ra, người dùng có thể sử dụng các câu lệnh để điều chỉnh và cải thiện giao diện thiết kế.

Trong quá trình lập trình bằng ngôn ngữ Java, bước đầu tiên là ánh xạ các đối tượng để liên kết hoạt động của chúng với thiết kế giao diện Tiếp theo, cần thực hiện kết nối ứng dụng với Firebase và tiến hành đẩy dữ liệu lên cơ sở dữ liệu.

Hình 2.12 Giao diện lập trình Java

2.3.4 Ưu điểm và nhược điểm của Android Stuidio Ưu điểm:

• Hệ điều hành thân thiện và dễ dàng sử dụng.

• Khả năng chạy nhiều ứng dụng cùng lúc

• Vì là mã nguồn mở nên được nhiều nhà phát triển lựa chọn để phát triển ứng dụng.

• Sở hữu kho ứng dụng Google Play, tại đây có rất nhiều sản phẩm được người dùng sử dụng miễn phí.

Mã nguồn mở mang lại nhiều lợi ích, nhưng cũng tiềm ẩn nhược điểm như dễ bị tấn công bởi phần mềm độc hại kém chất lượng và các lỗ hổng bảo mật.

• Quản lý chất lượng ứng dụng phức tạp

Tổng quan về firebase

2.4.1 Giới thiệu vềcơ sở dữ liệu Firebase

Hình 2.13 Giao diện ứng dụng Firebase

Firebase là một cơ sở dữ liệu thời gian thực dựa trên đám mây do Google cung cấp, rất hiệu quả cho việc phát triển ứng dụng và trang web di động Với các API đơn giản và tính năng dễ sử dụng, Firebase đã trở thành lựa chọn hàng đầu của nhiều nhà phát triển để xây dựng sản phẩm cho hàng triệu người dùng toàn cầu Ngoài ra, Firebase còn cung cấp dịch vụ đa năng với khả năng bảo mật tốt, hỗ trợ cả hệ điều hành Android và iOS.

2.4.2 Cách thức hoạt động của Firebase

Bằng cách đăng ký tài khoản Firebase, bạn có thể dễ dàng tạo ứng dụng và truy cập cơ sở dữ liệu trực tiếp được định dạng dưới dạng chuỗi JSON Dữ liệu sẽ được đồng bộ hóa ngay khi có thay đổi và kết nối đến từng máy client trên các nền tảng khác nhau Trong trường hợp có lỗi mạng, dữ liệu sẽ được lưu trữ cục bộ, đảm bảo rằng các thay đổi sẽ được tự động cập nhật lên máy chủ Firebase Tất cả dữ liệu được truyền qua kết nối SSL bảo mật cao, đảm bảo an toàn cho thông tin của bạn.

Hình 2.14 Giao diện Realtime Database

Firebase cung cấp một giải pháp hiệu quả cho việc xác thực người dùng qua các nền tảng như email, Facebook, Twitter, GitHub và Google Tính năng xác thực này không chỉ bảo vệ thông tin cá nhân của người dùng mà còn ngăn chặn việc đánh cắp tài khoản Đặc biệt, Firebase rất hữu ích cho việc phát triển sản phẩm nhanh chóng và thuận tiện, cũng như cho các bài tập và dự án Việc kết hợp xác thực Firebase với cơ sở dữ liệu trực tiếp trong ứng dụng giúp tiết kiệm thời gian đáng kể so với các phương pháp khác.

Hình 2.15 Giao diện Authentication Database

Cung cấp dịch vụ lưu trữ nhanh và an toàn cho ứng dụng web sản xuất, cho phép nhà phát triển triển khai ứng dụng và phân phối nội dung tĩnh lẫn động chỉ với một lệnh Sử dụng CDN, người dùng nhận được bản sao nội dung từ máy chủ gần nhất khi truy cập trang web, nâng cao hiệu suất và trải nghiệm người dùng.

2.4.3 Ưu điểm và nhược điểm của Firebase Ưu điểm:

• Tạo tài khoản và sử dụng dễ dàng.

• Tốc độ phát triển nhanh.

• Nhiều dịch vụ trên một nền tảng.

• Tập trung phát triển giao diện người dùng

• Firebase không có máy chủ.

• Không phải là mã nguồn mở.

• Người dùng không có quyền sử dụngmã nguồn.

• Firebase không hoạt động ở nhiều quốc gia.

• Không phải tất cả các dịch vụ của Firebase đều miễn phí.

• Firebase khá đắt và giá không ổn định.

• Chỉ hoạt động trên Google Cloud.

Cá c chuẩn truyền dữ liệu

UART, viết tắt của "Universal Asynchronous Receiver/Transmitter", là một phương thức truyền thông tin phổ biến trong các chuẩn giao tiếp, sử dụng hình thức truyền nối tiếp không đồng bộ Chức năng chính của UART là truyền dữ liệu nối tiếp giữa hai thiết bị, cho phép giao tiếp thông qua hai phương thức: giao tiếp dữ liệu nối tiếp và giao tiếp dữ liệu song song.

Dữ liệu được truyền qua giao thức UART được cấu trúc thành các gói, mỗi gói bao gồm 1 bit bắt đầu, từ 5 đến 9 bit dữ liệu tùy thuộc vào loại UART, cùng với một bit kiểm tra chẵn lẻ tùy chọn và 1 hoặc 2 bit dừng.

Giao thức UART duy trì mức điện áp cao khi không có dữ liệu truyền Khi bắt đầu truyền, nó sẽ hạ mức điện áp từ cao xuống thấp Ngay khi phát hiện sự thay đổi điện áp, giao thức lập tức đọc các bit trong khung.

Khung dữ liệu là nơi lưu trữ các dữ liệu cần được vận chuyển, với kích thước dao động từ 5bit đến 8bit khi áp dụng bit chẵn lẻ Nếu không sử dụng các bit này, kích thước có thể kéo dài đến 9 bit Trong mọi trường hợp, dữ liệu sẽ được gửi đi với bit quan trọng nhất được truyền đầu tiên.

Bit chẵn lẻ là một phương pháp để nhận chỉ báo UART về tình trạng dữ liệu đã được nhận hay chưa trong quá trình truyền Sau khi nhận khung dữ liệu từ UART, cần đếm số bit có giá trị 1 và xác định xem tổng số đó là chẵn hay lẻ Nếu bit chẵn lẻ là 0 (chẵn), tổng số bit 1 trong khung dữ liệu phải là số chẵn; ngược lại, nếu bit chẵn lẻ là 1 (lẻ), tổng các bit 1 phải là số lẻ Khi bit chẵn lẻ khớp với dữ liệu, UART xác nhận rằng quá trình truyền không có lỗi Tuy nhiên, nếu bit chẵn lẻ là 0 mà tổng là số lẻ, hoặc nếu bit chẵn lẻ là 1 mà tổng là số chẵn, UART sẽ phát hiện rằng một bit trong khung dữ liệu đã bị thay đổi.

Bit dừng: Để báo hiệu kết thúc gói, hãy gửi điều khiển UART Truyền dữ liệu từ điện áp thấp lên điện áp cao ít nhất khoảng 2 bit [2]

• Chuẩn giao tiếp được sử dụng bởi 2 dây.

• Không cần đến tín hiệu Clock

• Có một bit chẵn lẻ để cho phép kiểm tra lỗi.

• Cấu trúc gói dữ liệu của UART có thể thay đổi, miễn là cả hai bên đều thiết lập cho nó

• Phương pháp có nhiều tài liệu và được sử dụng rộng rãi trong các mô hình Nhược điểm:

• Kích thước của khung dữ liệu được giới hạn tối đa là 9 bit.

• Không hỗ trợ nhiều hệ thống chủ tớ

• Tốc độ truyền của mỗi UART phải nằm trong khoảng 10% của nhau.

I2C, viết tắt của "Inter-Integrated Circuit", là giao thức truyền dữ liệu giữa các CPU của nhiều IC trên cùng một bo mạch, sử dụng chỉ hai dây tín hiệu Với tính đơn giản và hiệu quả, giao thức này được áp dụng rộng rãi trong vi điều khiển, thiết bị cảm biến và nhiều loại mô-đun khác Đây là một giao thức truyền thông nối tiếp đồng bộ, trong đó các bit dữ liệu được truyền theo từng bit tại các khoảng thời gian đều đặn được xác định bởi tín hiệu đồng hồ tham chiếu.

I2C sử dụng hai đường truyền tín hiệu:

• Một đường xung nhịp được truyền bởi thiết bị chủ (thông thường ở 100kHz và 400kHz và cực đại ở 1MHz và 3,4 MHz)

• Một đường dữ liệu (SDA) theo 2 hướng

Khi một thiết bị ngoại vi được kết nối vào bus I2C, chân SDA của thiết bị sẽ được nối với dây SDA của bus, trong khi chân SCL sẽ được kết nối với dây SCL.

Hình 2.17 Kết nối thiết bị vào bus I2C Ưu điểm:

• Chỉ sử dụng hai dây

• Hỗ trợ nhiều thiết bị chủ, tớ

• Bit ACK / NACK xác nhận mỗi khung được chuyển thành công

• Phần cứng ít phức tạp hơn so với UART

• Giao thức phổ biến được sử dụng rộng rãi

• Tốc độ truyền dữ liệu chậm hơn SPI.

• Kích thước của khung dữ liệu bị giới hạn ở 8 bit.

2.5.3 Chuẩn giao tiếp One-Wire

Chuẩn giao tiếp One-Wire, được nghiên cứu và phát triển bởi Dallas Semiconductor (Maxim), chỉ cần một sợi dây để truyền tín hiệu và cung cấp nguồn điện (không tính đến dây nối đất) Đây là một tiêu chuẩn truyền thông bán song công và không đồng bộ, tôn trọng mối quan hệ chủ-tớ, trong đó một hoặc nhiều thiết bị Slave có thể kết nối với dây bus, nhưng chỉ có một Master được phép kết nối Khi không có dữ liệu trên đường truyền, bus dữ liệu phải ở mức cao, vì vậy cần kéo lên nguồn thông qua điện trở.

Chuẩn One-Wire cho phép giao tiếp với vi điều khiển (VĐK) thông qua tín hiệu trên bus được chia thành các khe thời gian 60 micro giây Mỗi bit dữ liệu được truyền dựa trên các khe thời gian này, và các thiết bị Slave có thể yêu cầu thời gian quy định khác nhau Điều quan trọng là chuẩn giao tiếp này phải được thiết lập chính xác về thời gian Để tối ưu hóa đường truyền, cần có một bộ định thời để đảm bảo độ trễ chính xác nhất.

Hình 2.19 Giao tiếp One-Wire

Chuẩn One-Wire có 4 thao tác cơ bản sau:

• Wire 1 (gửi bit 1): Master sẽ kéo xuống 0 một khoảng A (us) rồi về mức 1 khoảng

• Wire 0 (gửi bit 0): Master kéo xuống 0 khoảng C (us) rồi trả về 1 khoảng D

• Read (Đọc một bit): Master kéo xuống 0 một khoảng A rồi trả về 1 delay khoảng

E rồi đọc giá trị Slave gửi về delay F (us)

Để khởi động lại, hãy kéo Master xuống 0 một khoảng H, sau đó nhả lên mức 1 và cấu hình Master là chân In delay I (us) Tiếp theo, đọc giá trị trả về từ Slave; nếu giá trị bằng 0, giao tiếp sẽ được phép, còn nếu bằng 1 thì có thể có lỗi đường truyền hoặc Slave đang bận Ưu điểm của quy trình này là đảm bảo tính ổn định trong giao tiếp.

• Được sử dụng rộng rãi để giao tiếp với các thiết bị nhỏ

• Ứng dụng nhiều trong các bài tập, đồ án sinh viên, các công việc không yêu cầu tốc độ cao.

• Cho phép truyền nhận dữ liệu với nhiều Slave trên một đường truyền

• Khi kết nối với con số hơn 20 Slave thì việc truyền nhận dữ liệu xảy ra lỗi.

Yêu cầu của hệ thố ng

Hệ thống giám sát và điều khiển hệ thống trồng cây trồng ứng dụng IoT thực hiện các chức năng sau:

● LCD Hiển thị được nhiệt độmôi trường, độ ẩm không khí, độ ẩm đất, tình trạng bật tắt của máy bơm tưới, máy phun sương

Máy bơm tưới và máy phun sương sẽ tự động hoạt động khi nhiệt độ môi trường, độ ẩm không khí và độ ẩm đất không đạt yêu cầu cho sự phát triển tối ưu của cây trồng.

● Nút nhấn bật tắt máy bơm tưới, máy phun sương trực tiếp tại khu vườn

Hệ thống thu thập dữ liệu từ các cảm biến và gửi lên Firebase qua module ESP32 Ứng dụng sau đó lấy dữ liệu từ Firebase để hiển thị thông tin, giúp người dùng theo dõi từ xa một cách hiệu quả.

● Bật tắt máy bơm tưới, máy phun sương từ xa.

● Trên App có thể theo dõi được tình trạng hoạt động của các cảm biến

● App sẽ thông báo khi nhiệt độ môi trường, độ ẩm không khí, độ ẩm đất quá ngưỡng

Hình 3.1 Sơ đồ khối toàn bộ hệ thống

3.1.1 Chức năng của từng khối

Khối điều khiển trung tâm xử lý đóng vai trò quan trọng trong việc thu thập dữ liệu từ các thiết bị và điều khiển khối hiển thị, cảm biến, cũng như khối relay Nó còn là cầu nối trung gian giúp nhận và gửi dữ liệu lên Firebase, từ đó cho phép giao tiếp hai chiều giữa Firebase và ứng dụng Android.

Khối cảm biến môi trường bao gồm cảm biến nhiệt độ, độ ẩm không khí và độ ẩm đất, có nhiệm vụ thu thập dữ liệu từ môi trường Các dữ liệu này sẽ được gửi về khối điều khiển trung tâm để so sánh với các giá trị đã được cài đặt trước đó.

Khối cảm biến thiết bị bao gồm cảm biến dòng điện để theo dõi hoạt động của máy bơm và cảm biến dòng chảy để kiểm soát lượng nước bơm ra Cảm biến dòng điện giúp kiểm tra tình trạng máy bơm, xác định xem máy đang hoạt động, tắt hoặc gặp sự cố Khi cảm biến phát hiện dòng điện, máy bơm đang hoạt động; ngược lại, nếu không phát hiện, máy bơm có thể chưa bật hoặc bị trục trặc Cảm biến dòng chảy đảm bảo máy bơm tưới và phun sương cung cấp lượng nước cần thiết, hỗ trợ sự phát triển mạnh mẽ cho cây trồng.

Khối hiển thị sử dụng cổng giao tiếp I2C kết nối trực tiếp với vi điều khiển, cho phép LCD 16x2 hiển thị dữ liệu đã được xử lý Điều này giúp người dùng theo dõi các thông số môi trường và thực hiện thao tác trực tiếp thông qua các nút nhấn.

Khối ngoại vi bao gồm các nút nhấn như Reset Wifi, chọn chế độ Mode, và bật/tắt máy bơm cũng như máy phun sương Nếu người dùng không muốn khu vườn hoạt động ở chế độ Auto, họ có thể sử dụng các nút này để điều chỉnh hoạt động của máy bơm và máy phun sương theo thời gian mong muốn.

Khối relay có vai trò quan trọng trong việc đóng ngắt các tiếp điểm thông qua sự điều khiển từ các ngõ ra của ESP32, giúp quản lý và điều khiển các thiết bị hiệu quả Bên cạnh đó, khối relay còn đảm bảo sự cách ly giữa mạch công suất và mạch điều khiển, nâng cao độ an toàn và ổn định cho hệ thống.

Khối động cơ bao gồm máy bơm áp lực phun sương, máy bơm tưới, ống nhựa và béc phun sương Khi cảm biến phát hiện các thông số môi trường không phù hợp với sự phát triển của cây trồng, khối điều khiển trung tâm sẽ tác động đến khối động cơ qua Relay để điều chỉnh các thông số này Cụ thể, máy bơm tưới sẽ được kích hoạt để thay đổi độ ẩm đất, trong khi máy phun sương sẽ được sử dụng để điều chỉnh nhiệt độ và độ ẩm không khí.

Khối nguồn cung cấp đóng vai trò quan trọng trong hệ thống, cung cấp điện cho các thành phần như khối xử lý trung tâm, giao tiếp Wifi, khối hiển thị, thiết bị, cảm biến và relay Do đó, việc tính toán chính xác cho khối nguồn cung cấp là cần thiết để đảm bảo hoạt động ổn định của toàn bộ hệ thống.

23 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.

Tính toán và thiết kế mạch

Dưới đây là số lượng linh kiện trong tập đồ án “Thiết kế và thi công hệ thống giám sát chăm sóc cây trồng” sử dụng:

Bảng 2 Liệt kê số lượng linh kiện trong tập đồ án

Cảm biến độ ẩm đất 2

Cảm biến nhiệt độ, độ ẩm không khí 1

Cảm biến dòng điện ZMCT103C 1

Cảm biến lưu lượng nước 1

Bơm áp lực để phun sương DP-521 1

Bơm áp lực để tưới R385 1

Trong hệ thống điện tử, các linh kiện nhỏ như điện trở, diode, nút nhấn và transistor được phân chia thành nhiều khối chức năng Những khối này bao gồm khối điều khiển trung tâm, khối cảm biến môi trường, khối cảm biến thiết bị, khối hiển thị, khối ngoại vi, khối relay, khối động cơ và khối nguồn Mỗi khối đảm nhận vai trò quan trọng trong việc vận hành và điều khiển hệ thống.

3.2.1 Khối điều khiển trung tâm

Phân tích lựa chọn linh kiện:

Khối xử lý trung tâm là trái tim của hệ thống, và trong dự án này, nhóm đã quyết định chọn ESP32 vì nó không chỉ tiếp nhận mà còn xử lý mọi dữ liệu một cách hiệu quả.

ESP32 là một module tích hợp nhiều tính năng nổi bật, đóng vai trò quan trọng trong việc truyền nhận dữ liệu giữa phần cứng và phần mềm Với khả năng kết nối mạng WiFi hoàn chỉnh, ESP32 giúp hệ thống dễ dàng đẩy dữ liệu lên cơ sở dữ liệu qua Internet Ngoài ra, kích thước nhỏ gọn của nó cho phép ứng dụng linh hoạt trong các sản phẩm khác Đặc biệt, ESP32 còn hỗ trợ các tính năng bảo mật theo chuẩn IEEE 802.11 như WFA, WPA/WPA2 và WAPI, đảm bảo an toàn cho dữ liệu truyền tải.

ESP32 là một hệ thống vi điều khiển trên chip (SoC) mạnh mẽ và linh hoạt, dễ sử dụng với khả năng lập trình trực tiếp qua trình biên dịch của Arduino Là phiên bản kế thừa của SoC ESP8266, ESP32 cho phép phát triển ứng dụng một cách đơn giản Nó lý tưởng cho các ứng dụng yêu cầu kết nối không dây, thu thập và kiểm soát dữ liệu qua Wifi, đặc biệt trong lĩnh vực IoT Các ứng dụng của ESP32 rất đa dạng, từ mạng cảm biến tiết kiệm năng lượng đến những tác vụ phức tạp như mã hóa âm thanh, truyền phát nhạc và giải mã MP3.

Hình 3.2 Module thu phát WIFI BLE ESP32 NodeMCU LuaNode32

Bảng 3 Thông số kỹ thuật module ESP32

Wifi 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n/e/i Điện áp hoạt động 3.3V Điện áp vào 5V từ cổng USB

Số chân Analog Input 18 chân

Giao tiếp Cable micro USB

Chuẩn giao tiếp UART/SPI/SDIO/I2C/PWM/I2S/IR/ADC/DAC

Hỗ trợ bảo mật WPA/WPA2

Tích hợp giao thức TCP/IP

Lập trình trên các ngôn ngữ C/C++, Mircropython, NodeMCU - Lua

Hình 3.3 Sơ đồ chân ESP32

Mỗi chân của bo ESP32 có nhiều chức năng khác nhau, vì vậy khi sử dụng cho một tác vụ cụ thể, cần kiểm tra các chức năng thay thế Bo ESP32 DevKit phiên bản 36 chân ít phổ biến hơn phiên bản 30 chân, nhưng sơ đồ chân của nó rất hữu ích nếu bạn sở hữu Cả hai phiên bản có sơ đồ chân tương tự, chỉ khác nhau ở một số chân phía dưới Trong phiên bản 36 chân, 6 chân GPIO (GPIO6 đến GPIO11) được dành riêng cho SPI Flash IC và không nên sử dụng cho mục đích khác Bạn có thể sử dụng thêm chân GPIO0 (Chân 23) cho các ứng dụng khác.

Sơ đồ nguyên lýkhối xử lý trung tâm:

Hình 3.4 Sơ đồ nguyên lý EPS32

Phân tích và lựa chọn linh kiện:

Màn hình LCD 16x2 đóng vai trò quan trọng trong các dự án nhúng, cho phép hiển thị nhiệt độ môi trường, độ ẩm không khí và độ ẩm đất Người dùng có thể dễ dàng điều khiển hệ thống tưới và máy phun sương thông qua các nút nhấn, giúp giám sát toàn bộ hệ thống một cách hiệu quả.

Màn hình LCD (Liquid Crystal Display) là thiết bị hiển thị phổ biến trong ứng dụng vi điều khiển, nổi bật với nhiều ưu điểm như khả năng hiển thị đa dạng ký tự (chữ, số và đồ họa), dễ dàng tích hợp vào mạch qua nhiều giao thức khác nhau, tiêu tốn ít tài nguyên hệ thống và có giá thành hợp lý Trong số các loại LCD, loại 16x2 được sử dụng rộng rãi trong các mạch ứng dụng.

Mô đun LCD 16x02, như JHD162A, là loại phổ biến với cấu trúc 2 cột 5x7 hoặc 5x8 ma trận điểm Nó có 16 chân, đi kèm với ánh sáng nền và chức năng điều chỉnh độ tương phản, mỗi ma trận điểm có độ phân giải 5x8 chấm Thông tin về số chân, tên và chức năng tương ứng được trình bày trong bảng bên dưới.

Bảng 4 Sơ đồ chân LCD 16x2

Chân số Tên chân Chức năng

3 Vee Chỉnh sửa độ tương phản

LCD 16x2 có 16 chân trong đó 8 chân dữ liệu (D0 - D7) và 3 chân điều khiển (RS,

Bảng điều khiển LCD 16x2 có 5 chân để cung cấp nguồn và đèn nền, cùng với các chân điều khiển giúp cấu hình dễ dàng giữa chế độ lệnh và dữ liệu.

Chân Vee là để điều chỉnh độ tương phản của màn hình LCD và độ tương phản có thể điều chỉnh bằng cách thay đổi điện áp ở chân này

Chân R/W là chân dùng để lựa chọn giữa chế độ đọc và ghi Khi chân này ở mức cao, nó cho phép chế độ đọc, trong khi mức thấp sẽ kích hoạt chế độ ghi.

Chân E được sử dụng để kích hoạt các mô-đun, cho phép chuyển đổi từ cao xuống thấp, qua đó kích hoạt các chân dữ liệu DB0 đến DB7 Trên các chân này, dữ liệu sẽ được hiển thị và lệnh sẽ được thực hiện.

Việc sử dụng module LCD I2C giúp tiết kiệm chân cho vi điều khiển, chỉ cần kết nối 2 chân SCL và SDA thay vì 6 chân như thông thường Điều này rất cần thiết trong các mô hình sử dụng LCD, giúp tối ưu hóa tài nguyên và nâng cao hiệu suất của hệ thống.

Sơ đồ nguyên lý khối hiện thị LCD I2C:

Hình 3.7 Sơ đồ nguyên lý khối hiển thị

Kết nối chân giữa ESP32 và I2C LCD:

Bảng 5 Kết nối chân giữa module ESP32 và module I2C LCD 16x2

Hình 3.8 Sơ đồ nối chân giữa Module ESP32 và Module I2C

Khi kết nối màn hình I2C với ESP32, việc đầu tiên cần thực hiện là xác định địa chỉ của thiết bị, vì mỗi thiết bị I2C đều có một địa chỉ riêng Đối với nhiều loại I2C LCD, địa chỉ mặc định thường là 0x27, với 0x biểu thị định dạng hex Tuy nhiên, địa chỉ này có thể thay đổi tùy thuộc vào vị trí của các chân A0, A1, A2 trên bộ điều khiển I2C của thiết bị.

Tiếp đến, sao chép bộ mã này và tải nó lên bảng với màn hình LCD I2C đã được kết nối

Mã này quét các thiết bị I2C kết nối với ESP32 và hiển thị số lượng thiết bị có địa chỉ trên bảng điều khiển shell Đối với ESP8266, cần thay thế chân SDA và SCL cho phù hợp.

Trong dự án giám sát và điều khiển hệ thống trồng trọt ứng dụng IoT, việc lựa chọn linh kiện cảm biến là rất quan trọng Các cảm biến như nhiệt độ môi trường, độ ẩm không khí, độ ẩm đất, cảm biến dòng điện để đo máy bơm và cảm biến lưu lượng nước giúp thu thập dữ liệu cần thiết Những cảm biến này hỗ trợ người dùng trong việc quản lý khu vườn một cách hiệu quả Đặc biệt, cảm biến nhiệt độ và độ ẩm DHT21 là một trong những linh kiện không thể thiếu trong hệ thống này.

Giới thiệu cảm biến nhiệt độ và độ ẩm DHT21

Lập trình hệ thống

3.3.1 Lưu đồ giải thuật chương trình chính phần cứng

• Giải thích lưu đồchương trình chính:

Đầu tiên, phần cứng sẽ kết nối với WiFi đã lưu trước đó Nếu không thể kết nối, ESP32 sẽ phát ra một WiFi có tên "ESP32" mà không cần mật khẩu, cho phép người dùng kết nối và nhập thông tin WiFi mới.

Khi kết nối WiFi thành công, hệ thống sẽ tự động chuyển sang chế độ AUTO Nếu người dùng muốn thay đổi chế độ, chỉ cần nhấn nút MODE trên thiết bị hoặc sử dụng ứng dụng để điều chỉnh.

Lưu đồ điều khiển chế độ AUTO

• Giải thích lưu đồđiều khiển chế độ Auto:

Khi vào chế độ Auto, LCD sẽ hiển thị màn hình chế độ auto sau đó là hiển thị giá trị của các cảm biến.

Tiếp đến sẽ đọc cài đặt chế độ từ App nếu như trên App tắt chế độ Auto thì phần cứng sẽ chuyển qua chế độ Manual

Khi cảm biến DHT21 phát hiện nhiệt độ hoặc độ ẩm vượt ngưỡng, máy bơm phun sương sẽ tự động kích hoạt và thông báo trên ứng dụng rằng máy bơm đang hoạt động Đồng thời, cảm biến đo dòng điện sẽ kiểm tra dòng điện qua dây dẫn 220V của máy bơm; nếu có dòng điện, ứng dụng sẽ thông báo máy bơm vẫn hoạt động bình thường Ngược lại, nếu không có dòng điện, ứng dụng sẽ cảnh báo người dùng để tiến hành kiểm tra và thay thế.

Khi nhiệt độ hoặc độ ẩm không khí đạt đến giới hạn quy định, máy bơm phun sương sẽ tự động tắt và gửi thông báo đến ứng dụng, thông báo rằng máy bơm đã ngừng hoạt động.

Khi độ ẩm đất giảm xuống dưới mức giới hạn, máy bơm tưới sẽ tự động bật và gửi thông báo đến ứng dụng rằng máy bơm đang hoạt động Lúc này, máy bơm sẽ cung cấp lượng nước theo giá trị mà người dùng đã cài đặt trên ứng dụng Khi máy bơm tưới tắt, ứng dụng cũng sẽ nhận thông báo rằng máy bơm đã ngừng hoạt động.

Khi máy bơm tưới hoạt động, cảm biến dòng điện sẽ đo giá trị dòng điện trên dây dẫn 220V Nếu có dòng điện chạy qua, ứng dụng sẽ thông báo rằng máy bơm tưới còn hoạt động tốt Ngược lại, nếu không phát hiện dòng điện, ứng dụng sẽ cảnh báo rằng máy bơm cần kiểm tra, giúp người dùng nhận biết và tiến hành kiểm tra hoặc thay thế kịp thời.

Khi máy bơm tưới đã đạt đủ khối lượng nước theo cài đặt nhưng độ ẩm đất vẫn chưa đạt yêu cầu, máy bơm sẽ tự động hoạt động lại sau khoảng hai phút.

• Lưu đồ điều khiển chế độ Manual

• Giải thích lưu đồđiều khiển chế độ Manual:

Khi vào chế độ Manual thì màn hình LCD sẽ hiển thị chế độ Manual cùng với trạng thái của hai máy bơm tưới và máy bơm phun sương.

Phần cứng sẽ đọc cài đặt chế độ từ ứng dụng; nếu ứng dụng chuyển từ chế độ Manual sang chế độ Auto, phần cứng cũng sẽ tự động chuyển sang chế độ Auto.

Kiểm tra nút nhấn bật/tắt máy bơm tưới là bước quan trọng Khi nhấn nút trên phần cứng, hệ thống sẽ xác định trạng thái của máy bơm Nếu máy bơm đang bật, hệ thống sẽ tắt máy, ngược lại nếu máy bơm đang tắt, hệ thống sẽ tiến hành bật máy lên.

Khi bật hoặc tắt máy bơm tưới, trạng thái của máy bơm sẽ được hiển thị trên màn hình LCD, cho phép người dùng theo dõi trực tiếp hoặc từ xa thông qua ứng dụng trên điện thoại thông minh.

Khi máy bơm tưới hoạt động, hệ thống sẽ gửi trạng thái của máy lên ứng dụng để đồng bộ Khi người dùng điều khiển bật/tắt máy bơm tưới trên ứng dụng, phần cứng cũng sẽ nhận biết và thực hiện thao tác tương ứng.

Kiểm tra nút nhấn bật/tắt máy bơm phun sương là bước quan trọng Khi nhấn nút trên phần cứng, hệ thống sẽ xác định trạng thái của máy bơm Nếu máy bơm đang bật, nó sẽ được tắt; ngược lại, nếu máy bơm đang tắt, hệ thống sẽ kích hoạt để bật máy bơm lên.

Khi bật hoặc tắt máy bơm phun sương, trạng thái của máy bơm sẽ được hiển thị trên màn hình LCD, giúp người dùng theo dõi trực tiếp hoặc từ xa qua điện thoại thông minh đã cài đặt ứng dụng.

Khi máy bơm phun sương hoạt động, hệ thống sẽ gửi trạng thái của máy lên ứng dụng để đồng bộ hóa Ngược lại, khi người dùng điều khiển tắt hoặc bật máy bơm phun sương qua ứng dụng, phần cứng cũng nhận tín hiệu và thực hiện thao tác tương ứng.

3.3.2 Lưu đồ giải thuật phần mềm

Ứng dụng bắt đầu bằng việc kết nối Wifi để nhận dữ liệu về chăm sóc cây trồng đã được chuẩn bị sẵn và sau đó đẩy dữ liệu lên Firebase Khi kết nối thành công, màn hình chính của ứng dụng sẽ hiển thị giao diện đăng nhập Người dùng cần nhập đúng tài khoản và mật khẩu để truy cập vào giao diện chính; nếu chưa có tài khoản, họ có thể thực hiện đăng ký.

Đóng gói hệ thống

Hình 4.1 Gắn khóa cửa và bản lề lá để làm cửa

Hình 4.2 Mặt trước của mô hình trồng cây trồng

Hình 4.3 Mặt trái và mặt phải của mô hình

Hình 4.4 Mặt sau của mô hình

Hình 4.5 Tầng hầm mặt sau mô hình.

Kết quả phần cứng

Hệ thống chăm sóc cây trồng hiển thị lời chào trên màn hình LCD khi được cấp nguồn, sau đó chuyển sang chế độ AUTO Màn hình cung cấp các thông số quan trọng như nhiệt độ, độ ẩm, độ ẩm đất, cùng với trạng thái hoạt động của máy bơm và máy phun sương.

Hình 4.6 Mặt trước của bo mạch chính

Hình 4.7 Mặt sau của bo mạch chính

Sau khi kết nối Wifi thành công thì LCD sẽ hiển thị “Connect WIFI … Successful” nhằm mục đích để người sử dụng biết được là đã kết nối WIFI

Hình 4.8 LCD thông báo kết nối WIFI thành công

Khi hệ thống được cấp nguồn thì màn hình LCD sẽ hiển thị lời chào “Hệ Thống Chăm Sóc Cây Trồng”

Hình 4.9 LCD hiển thị lời chào Sau đó hệ thống sẽ bắt đầu ở chế độ AUTO.

Ở chế độ AUTO, người dùng không thể bật hoặc tắt máy bơm và máy phun sương Giao diện này cho phép người dùng theo dõi các thông số quan trọng như nhiệt độ môi trường, độ ẩm không khí và độ ẩm đất, được hiển thị rõ ràng trên màn hình LCD.

Hình 4.11 LCD thể hiện các thông số môi trường

Màn hình LCD hiển thị các chỉ số T, H, S, trong đó T là nhiệt độ, H là độ ẩm không khí và S là độ ẩm đất Ví dụ, khi trồng cây, điều kiện lý tưởng là nhiệt độ 20 độ C và độ ẩm không khí đạt 70%.

Khi nhiệt độ không khí cao hơn ngưỡng 20 độ C hoặc độ ẩm không khí nhỏ hơn 70 phần trăm thì hệ thống sẽ tiến hành bật máy bơm phun sương

Khi nhiệt độ giảm xuống bằng 20 độ C hoặc độ ẩm không khí tăng lên bằng 70% thì thì bơm phun sương sẽ tắt

Hình 4.12 Bật/tắt máy phun sương

Khi độ ẩm đất xuống dưới 70 phần trăm thì máy bơm tưới sẽ được bật và tưới với lượng nước người dung cài đặt sẵn trên App

Khi độ ẩm đất bằng với 70 phần tram thì máy bơm tưới sẽ tắt

Hình 4.13 Bật tắt máy bơm tưới Chế độ Manual

Khi người dung nhấn nút MODE để vào chế độ Manual thì màn hình LCD sẽ hiển thị chữ Manual và trạng thái của 2 máy bơm

Hình 4.14 Giao diện LCD ở chế độ Manual

Khi sử dụng chế độ Manual, người dùng có thể kích hoạt máy bơm tưới bằng nút nhấn có ghi chữ TƯỚI Lúc này, trạng thái của máy bơm tưới sẽ được đồng bộ trên ứng dụng theo phần cứng Khi cảm thấy cây trồng đã được tưới đủ, người dùng chỉ cần nhấn nút để tạm dừng.

Người dùng có thể tắt máy bơm tưới bằng cách nhấn nút 60 một lần nữa hoặc sử dụng ứng dụng để tắt máy bơm một cách tiện lợi hơn.

Hình 4.15 Máy bơm tưới đang bật trên LCD

Bật máy bơm phun sương giúp giảm nhiệt độ và tăng độ ẩm trong không gian xung quanh Khi người dùng nhấn nút "PHUN", máy bơm sẽ tự động hoạt động và trạng thái của máy cũng sẽ được đồng bộ trên ứng dụng.

Hình 4.16 Máy bơm phun sương đang bật trên LCD

Khi không còn cần sử dụng máy bơm phun sương, người dùng có thể dễ dàng tắt máy bằng cách nhấn nút PHUN một lần nữa hoặc sử dụng ứng dụng để tắt máy bơm một cách thuận tiện.

4.3 Kết quả phần mềm Đính kèm phụ lục 1: Hướng dẫn sử dụng phần mềm.

Dưới đây là một số hình ảnh minh họa cho phần mềm chăm sóc cây trồng ứng dụng công nghệ IoT mà nhóm đã phát triển sau quá trình nghiên cứu Bên cạnh đó, chúng tôi cũng giới thiệu giao diện của ứng dụng ngay khi khởi động.

Giao diện Login & SignUp cho phép người dùng đăng nhập nếu đã có tài khoản và mật khẩu Trong trường hợp quên mật khẩu, người dùng có thể kiểm tra thông tin đăng nhập qua Firebase Nếu chưa có tài khoản, người dùng có thể chọn mục SignUp, nơi hệ thống sẽ yêu cầu nhập tên, tài khoản Gmail và mật khẩu.

Hình 4.17 Giao diện Login & SignUp

Giao diện chính của ứng dụng hiển thị ba hình vuông, cung cấp thông tin về nhiệt độ môi trường (đơn vị độ C), độ ẩm không khí (đơn vị %) và độ ẩm đất (đơn vị %).

Hình 4.18 Giao diện chính của ứng dụng

• Giao diện tình trạng linh kiện & lịch sử đo thông số

Giao diện "Tình trạng linh kiện" hiển thị danh sách các linh kiện như DHT21 và độ ẩm đất khi người dùng nhấp vào.

1, 2, 3; máy bơm phun sương; máy bơm tưới

Giá trị “1” thể hiện rằng linh kiện đang hoạt động tốt.

Giá trị “0” thể hiện rằng linh kiện đang bị hòng

Hình 4.19 Giao diện tình trạng linh kiện

Giao diện lịch sử đo thông số cho phép người dùng kiểm tra các lần đo với thông tin chi tiết về thời gian, bao gồm năm, tháng, ngày, giờ, phút và giây Ngoài ra, giao diện cũng hiển thị các thông số quan trọng như độ ẩm đất, độ ẩm không khí và nhiệt độ.

Hình 4.20 Giao diện lịch sử đo

Giao diện "Đo" của ứng dụng cung cấp biểu đồ cột hiển thị nhiệt độ theo từng lần đo, giúp người dùng dễ dàng theo dõi sự biến động nhiệt độ trong khoảng thời gian dài.

Khi chuyển qua giao diện “Nhiệt độ”, ứng dụng sẽ hiện thị biểu đồ tròn Pie, thể hiện nhiệt độ hiện tại

Tương tự ở giao diện “Độ ẩm không khí” & “Độ ẩm đất”, giao diện của ứng dụng cũng thể hiện biểu đồ Pie

Hình 4.21 Giao diện ở các biểu độ cột, Pie thể hiện các thông số

Kết luận

Sau khoảng thời gian nghiên cứu, thi công và với các mục tiêu đã đề ra cho hệ thống

Hệ thống giám sát và điều khiển mô hình trồng cây ứng dụng IoT đã được thiết kế và thi công hoàn chỉnh, đáp ứng được các yêu cầu cần thiết trong việc quản lý và tối ưu hóa quy trình trồng trọt.

• Mô hình hoạt động ổn định, toàn bộ hệ thống có thể chạy trong khoảng thời gian dài

• Đáp ứng được vấn đề về nguồn cung cấp

• Thiết kế và thi công được mô hình trồng cây

• Thiết kế được App có thể điều khiển và giám sát khu vườn dễ sử dụng, tiện lợi, cung cấp được cho người dùng những thông tin cần thiết

• Lưu các thông tin dữ liệu trên Firebase, vì thế người dùng có thể dễ dàng theo dõi hoặc xóa dữ liệu

Hệ thống gặp khó khăn trong việc kết nối khi ở xa Wifi, dẫn đến kết nối kém Hiện tại, hệ thống chưa thể giám sát sự phát triển của cây trồng và chỉ quản lý được một khu vườn nhỏ.

Qua đồ án này, nhóm đã nắm vững phương pháp điều khiển thông qua vi điều khiển và nhận thức rõ về những ứng dụng quan trọng của vi điều khiển trong thực tiễn.

Trong quá trình thực hiện đồ án tốt nghiệp, do hạn chế về thời gian và kinh nghiệm thực tế, tôi nhận thấy còn nhiều thiếu sót Rất mong nhận được đánh giá từ quý Thầy Cô và góp ý từ các bạn sinh viên để đề tài được hoàn thiện hơn.

Hướng phát triển

Thiết kế hệ thống tự động gieo hạt, bón phân, phun thuốc tự động

Thiết kế được hệ thống tự động lấy nước từng ngày, mỗi ngày tưới bao nhiêu lần đối với cây trồng

Thiết kế một máy chủ riêng để phục vụ lưu trữ dữ liệu mà không phụ thuộc vào Firebase để bảo mật dữ liệu.

Thiết kế thêm Camera để có thể quan sát quá trình sinh trưởng của cây từ xa

Available: https://vn.got-it.ai/blog/phan-mem-arduino-ide-la-gi-chi-tiet-nhat

[2] "Điện Tử Tương Lai," Linh Kiện Điện Tử, 15 02 2022 [Online]

Available: https://dientutuonglai.com/giao-tiep-uart-la-gi.html

[3] L H N Ngô Thành Đạt, THIẾT KẾ VÀ THI CÔNG HỆ THỐNG IOTS

CHĂM SÓC VƯỜN CÂY ĂN QUẢ SỬ DỤNG PIN NĂNG LƯỢNG MẶT TRỜI, TP Hồ Chí Minh: ACADEMIA, 2018

[4] Đ M Đ Tử, "Đam Mê Điện Tử," Linh Kiện Điện Tử, 21 06 2022 [Online]

Available: https://dammedientu.vn/gioi-thieu-chuan-giao-tiep-i2c

[5] L ESPRESSIF [ESPRESSIF SYSTEMS (SHANGHAI) CO., "All Data Sheet,"

2021 [Online] Available: https://pdf1.alldatasheet.com/datasheet- pdf/view/1148023/ESPRESSIF/ESP32.html

[6] Đ T T Lai, "Điện Tử Tương Lai," Linh Kiện Điện Tử, 15 09 2022 [Online]

Available: https://dientutuonglai.com/so-do-chan-esp32.html/

[7] K Phạm, "Trung Tâm Đào Tạo Công Nghệ Khoa Phạm," 16 05 2017

[8] L XIAMEN AMOTEC DISPLAY CO., "DataSheet LCD 16x2," 29 10 2008

Available: https://www.sparkfun.com/datasheets/LCD/ADM1602K-NSW-FBS-3.3v.pdf

PHỤ LỤC 1: HƯỚNG DẪN SỬ DỤNG PHẦN MỀM

Để truy cập ứng dụng và điều khiển các thiết bị trong khu vườn, người dùng cần có tài khoản và mật khẩu Chỉ khi nhập đúng thông tin đã đăng ký, người dùng mới có thể vào hệ thống; nếu không, hệ thống sẽ thông báo rằng tài khoản hoặc mật khẩu không chính xác.

Hình 4.17 Giao diện Login của ứng dụng

Trong phần giao diện SignUp, người dùng có khả năng tạo tên riêng cho tài khoản, thiết lập tên Gmail và mật khẩu Sau khi hoàn tất quá trình đăng ký, thông tin sẽ được lưu trữ trên Firebase, cho phép người sử dụng quản lý số lượng tài khoản đã đăng ký một cách hiệu quả.

Hình 4.17 Giao diện SignUp của ứng dụng

Hình 4.17 Thông tin tài khoản được đưa lên Firebase

Giao diện chính hiển thị các thông số quan trọng như nhiệt độ môi trường, độ ẩm không khí và độ ẩm đất, giúp người dùng dễ dàng theo dõi và giám sát tình trạng môi trường.

Có các mục: Tình trạng linh kiện, lịch sử đo, Biểu đồ đo, bật/tắt máy bơm, máy phun sương

Hình 4.18 Giao diện chính ứng dụng chăm sóc cây trồng

Khi bạn nhấp vào biểu tượng người ở góc phải trên cùng, ứng dụng sẽ hiển thị thông tin của người dùng hiện tại Dưới đây là hướng dẫn chi tiết cách đăng xuất tài khoản khỏi ứng dụng.

• Hướng dẫn Logout khỏi hệ thống

Hình 4.18 Hướng dẫn Logout ra khỏi màn hình chính

Để đăng xuất, hãy nhấp vào biểu tượng hình người, sau đó thông tin tên và Gmail sẽ hiện ra dưới màn hình chính Tiếp theo, bấm vào biểu tượng thoát (hình cánh cửa) và màn hình chính sẽ hiển thị thông báo Cuối cùng, nhấn Confirm để hoàn tất quá trình đăng xuất.

Trong mục tình trạng linh kiện, người dùng có thể nhấn vào để xem danh sách hoạt động của các linh kiện như DHT21, độ ẩm đất 1, độ ẩm đất 2, độ ẩm đất 3, máy bơm phun sương và máy bơm tưới Mức “1” biểu thị rằng linh kiện đang hoạt động tốt.

“0” thì linh kiện bị hỏng hoặc bị lỏng phích cắm Thông tin này cũng sẽ được hiển thị trên Firebase

Hình 4.19 Giao diện tình trạng linh kiện

Giao diện lịch sử đo cho phép người dùng xem lại dãy lịch sử các lần đo tại các thời điểm khác nhau, bao gồm các thông số như độ ẩm đất, độ ẩm không khí và nhiệt độ môi trường Điều này giúp người sử dụng dễ dàng theo dõi các thông số quan trọng cho sự phát triển của cây trồng, từ đó có thể đưa ra những biện pháp chuẩn bị phù hợp Dưới đây là hình ảnh minh họa cho giao diện lịch sử đo.

Hình 4.20 Giao diện lịch sử đo

Giao diện biểu đồ cột của ứng dụng hiển thị nhiệt độ môi trường, cung cấp thông tin chi tiết qua các biểu đồ cột và biểu đồ Pie Những biểu đồ này thể hiện các thông số quan trọng như nhiệt độ, độ ẩm không khí và độ ẩm đất, giúp người dùng dễ dàng theo dõi và phân tích điều kiện môi trường.

Hình 4.21 Giao diện biểu đồ đo nhiệt độ

Biểu đồ cột trên thể hiện số lần đo ở trục Ox và nhiệt độ đo được tại mỗi thời điểm ở trục Oy, giúp người nông dân dễ dàng thống kê tình hình nhiệt độ ảnh hưởng đến sự phát triển của cây trồng.

• Giao diện biểu đồ Pie thể hiện nhiệt độ hiện tại

Hình 4.21 Giao diện biểu đô Pie thể hiện nhiệt độ

• Giao diện biểu đồ Pie thể hiện độ ẩm không khí hiện tại

Hình 4.21 Giao diện biểu đồ Pie thể hiện độ ẩm không khí

• Giao diện biểu đồ Pie thể hiện độ ẩm đất hiện tại

Hình 4.21 Giao diện biểu đồ Pie thể hiện độ ẩm đất

• Máy bơm, máy phun sương, chế độ Auto, nhập mực nước cần tưới

Hình 4.18 Hướng dẫn cách nhập mực nước cần tưới

Khi truy cập giao diện chính, hệ thống sẽ tự động hoạt động ở chế độ Auto, trong đó người dùng không thể điều chỉnh bật/tắt máy bơm hay máy phun sương Tuy nhiên, người dùng có thể nhập mực nước cần tưới, giúp cảm biến lưu lượng nước và máy bơm tự động cung cấp lượng nước theo yêu cầu.

Khi tắt chế độ Auto, hệ thống chuyển sang chế độ Manual, cho phép người dùng bật hoặc tắt máy bơm và máy phun sương theo thời gian mong muốn Tuy nhiên, trong chế độ Manual, người dùng không thể nhập con số mực nước cần tưới.

Ngày đăng: 08/12/2023, 15:30

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w