1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống chăm sóc cây trồng sử dụng mạch arduino và thiết bị di động

115 3 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

Định dạng
Số trang 115
Dung lượng 5,66 MB

Cấu trúc

  • 1.1. Đặt vấn đề (16)
  • 1.2. Các giải pháp hiện tại và hạn chế (17)
  • 1.3. Mục tiêu và định hướng giải pháp (18)
  • 1.4. Đối tượng và phạm vi nghiên cứu (20)
  • 1.5. Đóng góp của luận văn (20)
  • 1.6. Kết cấu của luận văn (21)
  • 2.1. Ảnh hưởng của môi trường đến sự sinh trưởng của cây trồng (22)
    • 2.1.1. Ảnh hưởng của độ ẩm (22)
    • 2.1.2. Ảnh hưởng của nhiệt độ (24)
  • 2.2. Giới thiệu về Arduino (26)
    • 2.2.1. Arduino Wemos D1 R2 (28)
    • 2.2.2. Cảm biến độ ẩm đất HT195 (29)
    • 2.2.3. Cảm biến nhiệt độ DHT11 (30)
  • 2.3. Thư viện và công cụ xây dựng hệ thống (32)
  • 2.4. So sánh các kết quả nghiên cứu hiện tại (33)
  • 3.1. Tổng quan giải pháp (46)
    • 3.1.1. Giải pháp theo dõi môi trường sống của cây (0)
    • 3.1.2. Giải pháp kiểm soát lượng nước tưới cho cây trồng (49)
    • 3.1.3. Giải pháp kiểm soát cây trồng tại nhiều vị trí khác nhau (51)
  • 3.2. Mô tả hệ thống (53)
    • 3.2.1. Kiến trúc logic (58)
    • 3.2.2. Kiến trúc vật lý (60)
    • 3.2.3. Chức năng hệ thống (63)
  • 4.1. Cài đặt (65)
    • 4.1.1. Lắp đặt hệ thống (65)
    • 4.1.2. Cài đặt cơ sở dữ liệu (68)
    • 4.1.3. Kết quả xây dựng hệ thống (77)
  • 4.2. Thử nghiệm (77)
    • 4.2.1. Kịch bản thử nghiệm (77)
    • 4.2.2. Kết quả thử nghiệm (79)
  • KẾT LUẬN (87)
    • 5.1. Kết luận (87)
    • 5.2. Hướng phát triển trong tương lai (87)
  • TÀI LIỆU THAM KHẢO (89)
  • PHỤ LỤC (93)
    • A. ĐẶC TẢ USE CASE (93)
      • A.1 Đặc tả use “Đăng nhập” (93)
      • A.2 Đặc tả use “Tạo tài khoản” (94)
      • A.3 Đặc tả use “Truy vấn danh sách tài khoản” (95)
      • A.4 Đặc tả use “Truy vấn thông tin chi tiết một tài khoản” (96)
      • A.5 Đặc tả use “Mở khóa tài khoản” (97)
      • A.6 Đặc tả use “Tạo thông tin cây trồng” (98)
      • A.7 Đặc tả use “Cập nhật thông tin cây trồng” (99)
      • A.8 Đặc tả use “Khóa tài khoản” (101)
      • A.9 Đặc tả use “Đổi mật khẩu” (102)
      • A.10 Đặc tả use “Truy vấn danh sách thông tin cây trồng” (104)
      • A.11 Đặc tả use “Truy vấn thông tin chi tiết cây trồng” (105)
      • A.12 Đặc tả use “Đăng ký tài khoản” (106)
      • A.13 Đặc tả use “Thêm mới thiết bị” (107)
      • A.14 Đặc tả use “Truy vấn thông tin thiết bị” (108)
      • A.15 Đặc tả use “Truy vấn thông tin chi tiết của thiết bị” (108)
      • A.16 Đặc tả use “Cập nhật thông tin thiết bị” (109)
      • A.17 Đặc tả use “Thiết lập tham số” (110)
      • A.18 Đặc tả use “Truy vấn lịch trình” (111)
      • A.19 Đặc tả use “Cập nhật lịch trình” (112)
      • A.20 Đặc tả use “Xử lý thủ công” (113)
      • A.21 Đặc tả use “Truy vấn thông báo” (114)

Nội dung

Các giải pháp hiện tại và hạn chế

Ứng dụng IoT vào trong nông nghiệp hiện nay là một xu hướng chung của toàn thế giới, IoT trong nông nghiệp số là các thiết bị thông minh, các cảm biến kết nối và điều khiển tự động Có nhiều giải pháp sử dụng các loại cảm biến và vi mạch điện tử đã được xây dựng để nâng cao năng suất, chất lượng cây trồng và giảm chi phí sản xuất.

Mỗi loại cây trồng có những đặc tính và đặc điểm khác nhau, tác động từ môi trường đến sự sinh trưởng của các loại cây trồng cũng không giống nhau Để đạt được chất lượng thu hoạch cao, đã có nghiên cứu thực hiện theo dõi môi trường sống của cây bằng cách sử dụng các cảm biến điện tử để thu thập dữ liệu sau đó hiển thị trên màn hình hoặc ứng dụng nhằm trực quan hóa môi trường sống của cây dưới dạng số liệu có thể đọc được [2] Nhưng chỉ nắm bắt được thông tin môi trường sống của cây vẫn chưa thể thực sự nâng cao hiệu suất cây trồng.

Kiểm soát nước cung cấp cho cây cũng là một vấn đề rất được quan tâm, cây trồng không thể phát triển tốt nếu không được cung cấp nước đầy đủ Một số nghiên cứu khác đề xuất giải pháp kiểm soát lượng nước tưới cho cây bằng việc thiết lập các ngưỡng giá trị về độ ẩm đất, nếu độ ẩm của đất chưa đạt ngưỡng cho phép thì sẽ tự động kích hoạt máy bơm để cung cấp nước và tự động tắt máy bơm khi độ ẩm đất đã ởmức ổn định [3] [4] [5] Hoạt động cung cấp nước thông qua dữ liệu độ ẩm đất thu được từ cảm biến cũng gặp một số vấn đề như: trong thời điểm giữa trưa nắng với nhiệt độ môi trường cao, độ ẩm đất giảm mạnh nhưng nếu tưới nước vào thời điểm này cây sẽ rất dễ bị chết. Để giải quyết vấn đề cung cấp nước đúng thời điểm cho cây, giải pháp lập lịch tưới cây được thực hiện, một số nghiên cứu xác định cây trồng cần phải được tưới nước hai lần một ngày vào sáng và tối, kết hợp thời gian tưới với việc so sánh dữ liệu thu được từ cảm biến với ngưỡng độ ẩm đất để ra quyết định bật/tắt máy bơm [6]. Điều này chỉ thực sự đúng với một số loại cây trồng, vì có những loại cây cần nhiều hoặc ít hơn hai lần tưới trong ngày và không cố định vào thời điểm sáng và tối.Hầu hết các giải pháp được đưa ra đều chỉ tập trung theo dõi và chăm sóc cây trồng ở một khu vực nhất định và chưa có giải pháp nào cho việc theo dõi nhiều khu vực trồng cây khác nhau.

Mục tiêu và định hướng giải pháp

Mục tiêu chính của đề tài là nghiên cứu và đưa ra giải pháp nhằm giải quyết các vấn đề: theo dõi môi trường sống của cây, kiểm soát lượng nước tưới cho cây và kiểm soát cây trồng ở nhiều vị trí khác nhau.

Giải pháp hướng tới là sử dụng các thiết bị nhúng kết nối tới ứng dụng di động thông qua internet để giải quyết các vấn đề trong việt trồng và chăm sóc cây trồng tại nhà Tổng quan giải pháp được minh họa trên Hình 1.1.

Hình 1.1: Mô hình giải pháp Để theo dõi môi trường sống của cây cần phải sử dụng các cảm biến có chức năng chuyên biệt, ví dụ: cảm biến độ ẩm để đo độ ẩm đất, cảm biến nhiệt độ để đo nhiệt độ môi trường, cảm biến độ pH để đo độ chua của đất, các cảm biến này sẽ được lắp đặt tại các khu vực trồng cây, có nhiệm vụ thu thập các thông số môi trường sống của cây sau đó xử lý và lưu trữ vào CSDL đồng thời hiển thị trên ứng dụng di động dưới dạng số liệu để người dùng dễ dàng theo dõi.

Các loại cây trồng khác nhau thường có thời gian tưới cây và lượng nước cần cung cấp khác nhau Trong các hệ thống chăm sóc cây trồng, máy bơm là dụng cụ được sử dụng để bơm nước tưới cho cây, vì các loại máy bơm khác nhau có khả năng hoạt động không giống nhau nên để kiểm soát được lượng nước tưới cho cây cần kiểm soát được thời gian hoạt động của máy bơm Đối với thời gian tưới cây trong ngày, cần phải có lịch trình tưới cây chi tiết và có thể thay đổi để áp dụng lên nhiều loại cây trồng.

Trong một hệ thống chăm sóc cây trồng thông minh, sẽ có nhiều bộ xử lý trung tâm được sử dụng, mỗi bộ xử lý trung tâm được lập trình để thu thập dữ liệu và đảm nhiệm việc theo dõi cũng như kiểm soát một khu vực trồng cây nhất định Với mục tiêu kiểm soát được nhiều khu vực trồng cây khác nhau, cần phải kiểm soát được các bộ xử lý trung tâm tại mỗi vị trí Để làm được điều đó cần phải định danh các bộ xử lý và dữ liệu thu về bằng các mã thiết bị riêng biệt, sau đó quản lý các khu vực trồng cây thông qua mã thiết bị trên ứng dụng di động.

Đóng góp của luận văn

Đề tài luận văn này có 3 đóng góp chính như sau:

Tìm hiểu lý thuyết công nghệ: (i) Tìm hiểu về ảnh hưởng của môi trường (độ ẩm, nhiệt độ) đến sự sinh trưởng và phát triển của cây trồng (ii) Tìm hiểu về các phương hướng nghiên cứu ứng dụng các công nghệ IoT trong chăm sóc cây trồng. (iii) Tìm hiểu về các thiết bị nhúng như mạch Arduino D1 R2, cảm biến độ ẩm đất HT195, cảm biến nhiệt độ DHT11 và các công nghệ xây dựng ứng dụng trên thiết bị di động. Đề xuất giải pháp kết hợp các thiết bị nhúng và phần mềm trên thiết bị di động để theo dõi môi trường sống của cây và kiểm soát lượng nước cung cấp cho cây cũng như xác định thời điểm tưới cây thông qua lịch trình thiết lập sẵn tại một hoặc nhiều vị trí khác nhau.

Cài đặt và triển khai thử nghiệm hệ thống trên 3 khu vực với những loại cây trồng, môi trường và thông số khác nhau Kết quả thử nghiệm cho thấy: (i) Hệ thống có khả năng theo dõi và kiểm soát nhiều khu vực trồng cây khác nhau (ii) Hiển thị thời gian thực thông số độ ẩm và nhiệt độ trên ứng dụng di động (iii) Thiết lập và thay đổi được lịch trình tưới cây và tham số hệ thống (iv) Hoạt động tưới cây diễn ra đúng theo lịch với lượng nước cung cấp được kiểm soát thông qua thời gian hoạt động của máy bơm (v) Hệ thống tạo thông báo, cảnh báo linh hoạt và rõ ràng theo các hoạt động đã được thực hiện.

Kết cấu của luận văn

Phần còn lại của luận văn được tổ chức như sau.

Chương 2 trình bày về tầm quan trọng của các yếu tố nhiệt độ và độ ẩm, các ảnh hưởng khi thay đổi và kiểm soát được các yếu tố này lên cây trồng Tại chương này cũng sẽ giới thiệu về các vi mạch, cảm biến và công nghệ được sử dụng để xây dựng lên hệ thống Cuối cùng sẽ trình bày các nghiên cứu liên quan đến hoạt động theo dõi và kiểm soát môi trường sống của cây trồng.

Chương 3 trình bày chi tiết giải pháp đề ra để giải quyết các vấn đề trong hoạt động trồng và chăm sóc cây trồng tại nhà, đó là một hệ thống cho phép người dùng có khả năng theo dõi môi trường sống, kiểm soát lượng nước cung cấp cho nhiều loại cây trồng khác nhau và tại nhiều địa điểm riêng biệt.

Chương 4 trình bày mô hình triển khai hệ thống, đồng thời đưa ra một kịch bản để thử nghiệm khả năng hoạt động của hệ thống và sau cùng là liệt kê ra những kết quả đạt được sau quá trình xây dựng hệ thống.

Chương 5 trình bày tổng kết luận văn, các thành tựu đã đạt được, hạn chế của giải pháp đề ra và định hướng phát triển trong tương lai.

CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ

Chương 2 trình bày về cơ sở lý thuyết để thực hiện đề tài và các công nghệ được sử dụng trong quá trình xây dựng hệ thống đồng thời liệt kê và đánh giá kết quả của các công trình nghiên cứu tương tự Các mục chính bao gồm: (i) Ảnh hưởng của yếu tố nhiệt độ và độ ẩm đất tác động lên cây trồng (ii) Giới thiệu về board mạch Arduino và các cảm biến sử dụng trong hệ thống (iii) Liệt kê các công cụ và thư viện sử dụng để xây dựng hệ thống (iv) So sánh kết quả của các công trình nghiên cứu sử dụng IoT trong chăm sóc cây trồng và đưa ra hạn chế của các nghiên cứu đó.

Ảnh hưởng của môi trường đến sự sinh trưởng của cây trồng

Ảnh hưởng của độ ẩm

Nước là yếu tố vô cùng quan trọng cho sự phát triển của cây trồng Cây trồng sống và phát triển nhờ chất dinh dưỡng trong đất và được nước hòa tan, đưa lên cây qua hệ thống rễ Nước giúp cây trồng thực hiện quá trình vận chuyển các chất khoáng trong đất hỗ trợ điều kiện quang hợp, hình thành sinh khối tạo nên sự sinh trưởng của cây trồng Vì vậy trong đất cần có một độ ẩm thích hợp để cây trồng hút nước được dễ dàng [7]. Độ ẩm của đất là lượng nước được giữ trong khoảng không giữa các hạt đất Độ ẩm quá thấp hoặc quá cao đều ảnh hưởng đến sự sinh trưởng và phát triển của cây trồng Độ ẩm thích hợp cho các loại cây trồng dao động trong khoảng từ 60% – 70%.Các ảnh hưởng của độ ẩm đến cây trồng được kể đến như: (i) Làm tăng quá trình sản xuất, vận chuyển carbohydrate và các chất dinh dưỡng cho cây trồng; giúp tăng sự phân chia, phát triển của tế bào và cây trồng sinh trưởng phát triển bình thường (ii) Ảnh hưởng đến quá trình sinh trưởng của rễ cây; bộ rễ dài và sâu, vươn ra theo các chiều trong đất giúp cây trồng lấy được nhiều chất dinh dưỡng (iii) Độ ẩm ảnh hưởng đến sự hấp thu chất dinh dưỡng của cây trồng, khi độ ẩm thích hợp cây trồng có thể hấp thu tốt nhất các chất dinh dưỡng có trong nước và phân bón giúp cây phát triển, tăng đề kháng (iv) Độ ẩm trong đất cũng ảnh hưởng tới vi sinh vật trong đất, vi sinh vật cần nước để có thể hoạt động và thực hiện các chức năng của mình Khi độ ẩm đất thích hợp các vi sinh vật trong đất thực hiện vai trò phân giải các chất hữu cơ, quá trình chuyển hóa chất dinh dưỡng trong phân bón và các chất khó tan có trong đất, giải phóng các chất khoáng bị giữ chặt trong đất thành dạng dễ tiêu giúp cây trồng hấp thụ các chất dinh dưỡng đầy đủ nhất làm tăng năng suất cây trồng (v) Ảnh hưởng đến không khí trong đất Độ ẩm quá cao (đất ngập nước) chiếm hết chỗ của không khí trong đất dẫn đến tình trạng yếm khí Các tế bào rễ không hô hấp được, không cung cấp đủ oxy cho hoạt động của các tế bào. Cùng với việc tích lũy các chất độc hại sinh ra trong điều kiện yếm khí làm chết đi các lông hút ở rễ, không thể hình thành được lông hút mới, vì vậy cây không thể hút nước nên lâu ngày sẽ dẫn đến héo và chết cây [7].

Vì nước rất quan trọng cho cây trồng nên cần có kế hoạch xác định thời điểm tưới cây cho phù hợp bằng cách định kỳ theo dõi độ ẩm đất ở khu trồng trọt Nếu độ ẩm xuống gần tới giới hạn dưới là lúc đó cần phải tưới nước Các phương pháp cung cấp, kiểm soát lượng nước phù hợp cho cây trồng có thể kể đến như: (i) Biện pháp đơn giản nhất là phủ gốc, vật liệu để che phủ có thể bằng rơm rạ, lá cây khô không nhiễm khuẩn bệnh, màng phủ nông nghiệp làm giảm lượng nước bốc hơi, giữ ẩm cho đất,giảm cỏ và sâu bệnh Hoặc bón các chất giữ ẩm bằng các biện pháp truyền thống như bón nhiều phân chuồng, phân xanh hoại mục làm tăng độ xốp, thoáng khí và khả năng giữ ẩm của đất (ii) Biện pháp thứ hai là tưới ngầm, phương pháp tưới cây qua hệ thống thiết bị máy bơm cùng với hệ thống ống dẫn được thiết kế dưới lòng đất.(iii)Biện pháp thứ ba tưới nhỏ giọt Tưới nhỏ giọt là một phương pháp tưới tiết kiệm nước và phân bón bằng cách cho phép nước nhỏ giọt từ từ vào rễ của nhiều loại cây khác nhau, hoặc nhỏ lên bề mặt đất hoặc trực tiếp lên vùng có rễ, thông qua một mạng lưới gồm các van, đường ống, và lỗ thoát (iv) Ngoài ra còn có hệ thống sử dụng cảm biến độ ẩm đất để thu thập và được xử lý qua bộ xử lý trung tâm giúp theo dõi được độ ẩm của cây cũng như có thể kiểm soát được lượng nước tưới khi độ ẩm vượt ngưỡng cho phép.

Ảnh hưởng của nhiệt độ

Nhiệt độ giới hạn cho sự tồn tại của sinh vật là khoảng -35 o C đến +75 o C Tuy nhiên, khoảng nhiệt độ thích hợp nhất cho sự sinh trưởng và phát triển của phần lớn cây trồng nông nghiệp chỉ biến thiên trong khoảng nhiệt độ hẹp hơn, có thể từ 15 o C

- 40 o C Ở nhiệt độ cao hay thấp hơn khoảng giới hạn này thì sự sinh trưởng sẽ bị giảm 1 cách nhanh chóng [8].

Nhiệt độ tối hảo cho sự sinh trưởng khác nhau tùy theo giống hay loài, thời gian tác động của nhiệt độ, tuổi cây, thời kỳ phát triển và các ngưỡng sinh trưởng riêng biệt được dùng để đánh giá khả năng hoàn thành chu kỳ sống, sự hấp thụ nước và dinh dưỡng, hô hấp, khả năng thẩm thấu của màng tế bào và sự tổng hợp protein Các ảnh hưởng này được phản ảnh bằng sự sinh trưởng phát triển của cây trồng Khả năng sinh trưởng của cây trồng phụ thuộc rất lớn vào tốc độ hình thành lá mới, có nghĩa là diện tích quang hợp mới tăng làm ảnh hưởng rất lớn đến tổng quang hợp và sản lượng của cây trồng Vì vậy, tốc độ ra lá, sự phát triển các lá mới và thời gian phát triển của các giai đoạn sinh trưởng khác nhau đóng góp rất lớn đến sản lượng của cây trồng [8].

Tiến trình hô hấp và sự thoát hơi nước của cây trồng chịu ảnh hưởng trực tiếp bởi nhiệt độ, các quá trình này giảm khi nhiệt độ giảm và ngược lại Ở nhiệt độ cao, tốc độ hô hấp ban đầu tăng rất nhanh nhưng sau đó vài giờ thì lại giảm rất nhanh đối với 1 số cây trồng Đối với nhiều loại giống cây trồng thì nhiệt độ tối hảo cho quang hợp thấp hơn nhiệt độ tối hảo cho hô hấp Có thể là trong điều kiện nhiệt độ cao kéo dài, cây trồng có thể bị mất cân đối trong quá trình tích lũy chất hữu cơ, bởi vì sự hô hấp tiến hành nhanh hơn quang hợp [8].

Trong điều kiện nhiệt độ cao, sự mất nước do thoát hơi có thể vượt quá lượng nước hấp thu vào, và hậu quả là cây bị héo Sự hấp thu nước của rễ cây chịu ảnh hưởng bởi nhiệt độ, trong môi trường nhiệt độ tăng từ 0 o C - 60 o C hay 70 o C thì sự hấp thu nước của rễ tăng Nhiệt độ đất thấp cũng có thể ảnh hưởng bất lợi đến sự sinh trưởng của cây do ảnh hưởng của nhiệt độ đến sự hấp thu nước Nếu nhiệt độ đất thấp mà sự thoát hơi cao, thì cây trồng có thể bị tổn thương do các mô bị mất nước Độ ẩm đất cũng có thể bị ảnh hưởng do nhiệt độ, thời tiết nóng không bình thường sẽ làm cho sự bốc hơi nước nhanh hơn từ mặt đất [8].

Nhiệt độ cũng gây ảnh hưởng một cách gián tiếp đến sự sinh trưởng của cây, do ảnh hưởng của nhiệt độ đến số vi sinh vật trong đất Sự hoạt động của các vi khuẩn chuyển hóa, cũng như phần lớn sinh vật tự dưỡng tăng theo sự tăng nhiệt độ pH đất cũng có thể thay đổi theo nhiệt độ, và pH lại ảnh hưởng đến sự sinh trưởng của cây trồng Điều này thường được giải thích là sự hoạt động của vi sinh vật trong đất, mang theo sự giải phóng CO 2 , CO 2 này kết hợp với nước hình thành carbonic acid (H2CO3) Trong các đất chua ít thì chỉ một sự thay đổi nhỏ về pH cũng có thể ảnh hưởng đến khả năng hữu dụng của các chất dinh dưỡng vi lượng như Mn,

Nhiệt độ cũng có thể làm thay đổi thành phần không khí trong đất, do sự tăng hay giảm sự hoạt động của vi sinh vật trong đất Khi hoạt động của vi sinh vật đất tăng, thì hàm lượng CO 2 của không khí trong đất tăng và hàm lượng O 2 giảm. Trong điều kiện mà sự khuếch tán của các khí trong đất bị hạn chế, thì việc giảm hàm lượng O 2 có thể ảnh hưởng đến tốc độ hô hấp của rễ cây và vì thế ảnh hưởng đến khả năng hấp thu dinh dưỡng của rễ.

Nhiều nghiên cứu về mối quan hệ giữa năng suất hay sản lượng chất khô và nhiệt độ đã được thực hiện Sự hiểu biết về các mối quan hệ giữa nhiệt độ và sự sinh trưởng của cây trồng là rất quan trọng bởi vì khi trồng 1 cây hay giống nào đó không thích hợp với điều kiện nhiệt độ trong 1 vùng nào đó sẽ dẫn đến kết quả là tiềm năng năng suất sẽ bị giảm, và có thể sẽ không có thu hoạch gì cả.

Các phương pháp được sử dụng để kiểm soát nhiệt độ có thể được kể đến như:(i) Sử dụng rèm che nắng trong thời gian có nhiều ánh sáng và nhiệt độ cao, rèm che nắng thường được thiết kế để giảm ánh sáng từ 30% đến 50% và có thể đóng mở dễ dàng, rèm che nắng thường được đóng vào những giờ ánh sáng chiếu mạnh nhất và nóng nhất trong ngày (ii) Lắp đặt quạt lưu lượng gió ngang; đặc biệt là trồng cây trong nhà, những chiếc quạt này rất cần thiết để lưu thông không khí, phân bổ nhiệt độ đồng đều giúp cây trao đổi khí tốt hơn (iii) Lắp đặt hệ thống tường ướt; tường ướt là một phương pháp làm mát tích cực giúp làm giảm nhiệt độ trong nhà kính.

Giới thiệu về Arduino

Arduino Wemos D1 R2

Arduino Wemos D1 R2 là phiên bản được thiết kế lại bởi Wemos theo kích thước cũng như hình dáng board Arduino Uno, tuy nhiên chip xử lý chính của board là chip ESP8266 được nạp sẵn firmware NodeMCU để có thể dùng được với trình soạn thảo và biên dịch Arduino IDE Arduino Wemos D1 R2 giúp phát triển các ứng dụng IoT thông qua mạng WiFi, là board được sử dụng khá phổ biến hiện nay dành cho các ứng dụng về IoT [10] Hình 2.3 minh họa mạch và các chân I/O có trên mạch.

Bảng 2.1: Thông số kỹ thuật mạch

Vi điều khiển ESP8266EX

Giao tiếp Cable Micro USB

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

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

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

Bảng 2.2: Thông số chân mạch Arduino Wemos D1 R2

Module cảm biến độ ẩm đất (HT195) được sử dụng để đo độ ẩm đất Bao gồm hai thành phần chính: (i) Đầu dò đo độ ẩm đất: Hai đầu đo của cảm biến đượ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. Thông tin về độ ẩm đất sẽ được đọc về và gửi tới module chuyển đổi (ii) Mạch xử lý tín hiệu: mạch xử lý 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) [11] Hình 2.4 cho thấy đầu dò và mạch xử lý của cảm biến HT195

Hình 2.4: Module cảm biến độ ẩm đất HT195 Bảng 2.3: Thông số kỹ thuật HT195 Bảng 2.4: Thông số chân HT195 Điện áp hoạt 3.3V-5V động

Cảm biến nhiệt độ DHT11

3.3V – 5V GND Đầu ra tín hiệu số

DHT11 là một cảm biến kỹ thuật số để cảm nhận nhiệt độ và độ ẩm Cảm biến này có thể dễ dàng giao tiếp với bất kỳ bộ vi điều khiển vi nào như Arduino,Raspberry Pi, để đo độ ẩm và nhiệt độ ngay lập tức Cảm biến DHT11 bao gồm một phần tử cảm biến độ ẩm điện dung và một điện trở nhiệt để cảm nhận nhiệt độ Tụ điện cảm biến độ ẩm có hai điện cực với chất nền giữ ẩm làm chất điện môi giữa chúng Thay đổi giá trị điện dung xảy ra với sự thay đổi của các mức độ ẩm IC đo, xử lý các giá trị điện trở đã thay đổi này và chuyển chúng thành dạng kỹ thuật số. Để đo nhiệt độ, cảm biến này sử dụng một nhiệt điện trở có hệ số nhiệt độ âm, làm giảm giá trị điện trở của nó khi nhiệt độ tăng Để có được giá trị điện trở lớn hơn ngay cả đối với sự thay đổi nhỏ nhất của nhiệt độ, cảm biến này thường được làm bằng gốm bán dẫn hoặc polymer Cảm biến nhiệt độ và độ ẩm DHT11 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 có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào [12] Hình 2.5 minh hoạt cảm biến nhiệt độ DHT11

Hình 2.5: Module cảm biến nhiệt độ DHT11 Bảng 2.5: Thông số kỹ thuật DHT11 Điện áp hoạt 3V-5V động

Dòng điện tiêu 2.5mA thụ

Phạm vi cảm 20% - 90% RH, biến độ ẩm sai số ±5%RH

Phạm vi cảm 0°C ~ 50°C, sai biến nhiệt độ số ±2°C

Tần số lấy mẫu 1Hz (1 giây 1 tối đa lần)

Bảng 2.6: Thông số chân DHT11

Data Đầu ra cả nhiệt độ và độ ẩm thông qua dữ liệu nối tiếp

Thư viện và công cụ xây dựng hệ thống

Bảng 2.7: Danh sách thư viện và công cụ sử dụng

Mục đích Công cụ Địa chỉ URL

IDE lập Visual studio 2019 https://visualstudio.microsoft.com/ trình Visual studio code 1.65.2 https://code.visualstudio.com/

Cơ sở dữ PostgreSQL 14 https://www.postgresql.org/ liệu Firebase https://firebase.google.com/

Quản trị pgAdmin 4 https://www.pgadmin.org/

Ngôn ngữ C# https://learn.microsoft.com/en- lập trình us/dotnet/csharp/

Framework Radzen Blazor 3.18.11 https://blazor.radzen.com/

Entity framework 5.0.15 https://www.entityframeworktutorial.net/ Net 5.0 https://dotnet.microsoft.com/

Thiết bị Arduino Wemos D1R2 https://www.arduino.cc/ phần cứng Cảm biến độ ẩm đất https://www.arduino.cc/reference/en/libr

Cảm biến nhiệt độ https://www.arduino.cc/reference/en/libr

Máy bơm mini 3V3 https://www.et-pump.com/

Transistor S9013 https://www.alldatasheet.com/

Hệ điều Window Server 2019 https://www.microsoft.com/en- hành us/evalcenter/evaluate-windows-server-

Android 9 https://developer.android.com/studio/rele ases/platforms

So sánh các kết quả nghiên cứu hiện tại

Trong thời đại công nghệ 4.0, các lĩnh vực trong đời sống con người đều có sự góp mặt của CNTT Có rất nhiều hệ thống CNTT dựa trên công nghệ IoT đã được phát triển bởi nhiều nhóm nghiên cứu và ứng dụng vào những lĩnh vực khác nhau tùy thuộc vào nhu cầu thực tế Lĩnh vực nông nghiệp cũng không phải ngoại lệ Các ứng dụng công nghệ được sử dụng trong nông nghiệp nhằm nâng cao hiệu suất và giảm chi phí, việc áp dụng công nghệ sẽ hỗ trợ người dùng tích cực về mặt thông tin, giúp họ đưa ra những quyết định chính xác và hành động kịp thời.

Lubis và cộng sự (2018) đã nghiên cứu hệ thống giám sát sự tăng trưởng của giống lúa Mekongga sử dụng cảm biến vi điều khiển nhằm theo dõi môi trường sống của cây trồng Mục đích của nghiên cứu này là theo dõi môi trường sống của cây lúa từ đó nâng cao năng suất cây trồng Hệ thống sử dụng các cảm biến (độ ẩm đất, độ ẩm không khí, cường độ ánh sáng và mực nước) được kết nối với Arduino nano và Raspberry Pi để tính toán, đưa ra kết quả từ dữ liệu thu được Ngoài ra Raspberry Pi với sự hỗ trợ của modem sẽ đưa các thông số môi trường lên CSDL tập trung và hiển thị cho người dùng giúp họ thuận tiện trong việc theo dõi, đưa ra quyết định trong việc chăm sóc cây trồng Hệ thống đã được triển khai thử nghiệm trên một ruộng lúa với giống lúa là Mekongga Kết quả cho thấy hệ thống có khả năng hoạt động ổn định và thu về những dữ liệu về môi trường sống của cây, dữ liệu được biểu diễn dưới dạng đồ thị giúp người dùng thuận tiện trong việc theo dõi và đưa ra quyết định [2].

Niamul Hassan và cộng sự (2015) đã thực hiện nghiên cứu ở Bangladesh về ứng dụng của IoT trong hoạt động theo dõi và kiểm soát môi trường sống của cây trong nhà kính Trong bài báo này, nhóm nghiên cứu chỉ ra các hệ thống tự động trong nông nghiệp mang lại nhiều lợi ích hơn phương pháp trồng cây thông thường vì nó giúp kiểm soát được các thông số môi trường, giảm thiểu tác động xấu từ môi trường đến cây trồng Trong phạm vi nghiên cứu của mình, nhóm tác giả đề ra một giải pháp để theo dõi nhiệt độ và độ ẩm không khí, độ ẩm đất và ánh sáng trong nhà kính Giải pháp đưa ra là sử dụng Arduino và cảm biến nhiệt độ, cảm biến độ ẩm đất, cảm biến ánh sáng kết hợp với màn hình LCD để hiển thị cảnh báo, dữ liệu thu được từ cảm biến được phân tích để đưa ra hành động giải quyết thích hợp Mục tiêu chính của nghiên cứu này là cung cấp cho người nông dân khả năng theo dõi trực quan các biến số tự nhiên theo thời gian thực từ đó phản ứng kịp thời với những biến đổi Kết quả thực nghiệm cho thấy, hệ thống do nhóm nghiên cứu đề xuất hoạt động bình thường và không có lỗi nào, thu thập dữ liệu theo thời gian thực và nhận được những phản hồi tích cực từ phía người dùng [3].

Birasalapati Doraswamy (2016) đề xuất một hệ thống mạng lưới không dây gồm các cảm biến nhiệt độ và độ ẩm của đất đặt tại các vùng rễ của cây Hệ thống có liên kết giao tiếp dựa trên internet cho phép kiểm tra dữ liệu và lập lịch tưới cây trên một ứng dụng di động Mục tiêu chính của hệ thống này là để theo dõi thông số về nhiệt độ và độ ẩm đất tại môi trường trồng cây từ xa và kiểm soát việc cung cấp nước cho cây trồng Thử nghiệm thực tế trên một số loại cây trồng cho thấy, hệ thống tiết kiệm lên tới 90% lượng nước so với các phương pháp tưới tiêu thông thường Do chi phí sản xuất thấp, hệ thống được đánh giá là có tiềm năng hoạt động được ở những khu vực bị cô lập về mặt địa lý hạn chế về nước [4].

Jirapond Muangprathuba và cộng sự (2019) đã đề xuất một hệ thống tưới cây nông nghiệp dựa trên mạng cảm biến không dây nhằm kiểm soát lượng nước tưới và theo dõi môi trường sống của cây trồng Hệ thống sử dụng các thiết bị IoT để thu thập thông số về độ ẩm từ cảm biến DHT22, nhiệt độ lấy từ dịch vụ web của trang khí tượng để xử lý, phân tích và lưu trữ dữ liệu trên ứng dụng trên điện thoại thông minh Điều này cho phép người dùng kiểm soát cả chức năng tưới nước tự động và thủ công do đó kiểm soát được lượng nước tưới để phù hợp với nhu cầu của cây trồng Hệ thống đã được triển khai và lắp đặt thực nghiệm giúp giảm chi phí và tăng năng suất nông nghiệp [5].

Punitha.K và cộng sự (2017) đã đưa ra 1 nghiên cứu về việc theo dõi môi trường sống của cây và kiểm soát lượng nước tưới cho cây Mục đích chính là hướng tới việc kiểm soát lượng nước tưới cho cây bằng cách thiết lập 1 lịch trình tưới cây tự động 2 lần 1 ngày (sáng, tối) Hệ thống sử dụng cảm biến độ ẩm và vi điều khiển ATmega32 nhằm thu thập dữ liệu độ ẩm đất sau đó phân tích và ra quyết định khi đến lịch tưới cây,nếu độ ẩm thấp hơn mức cho phép thì thực hiện tưới cây Dữ liệu thu được và các hoạt động chăm sóc cây sẽ được người dùng theo dõi qua thiết bị di động [6].

Arathi Reghukumar và cộng sự (2019) đã đưa ra một giải pháp phục vụ cho việc chăm sóc và kiểm soát lượng nước tưới cho cây trồng Mục đích chính của bài báo này là thiết kế một hệ thống tưới nước nhằm kiểm soát lượng nước tưới và theo dõi tình trạng sức khỏe của cây trồng nhằm đưa ra các biện pháp chăm sóc cây phù hợp Giải pháp đưa ra là sử dụng cảm biến nhiệt độ, độ ẩm DHT11, cảm biến pH, cảm biến sàn, Arduino kết hợp module ESP8266 làm bộ xử lý trung tâm để thu thập dữ liệu xử lý và cảnh báo qua email cho người dùng về tình trạng sức khỏe của cây và tự động tưới cây khi cần thiết Kết quả của nghiên cứu cho thấy thiết kế này là một hệ thống tưới cây cải tiến, tiết kiệm thời gian, cũng như có thể thông báo về tình trạng cây trồng và môi trường bất cứ lúc nào và bất cứ nơi đâu cho người dùng [13]. Ipin Prasojo và cộng sự (2020) đã đưa ra một nghiên cứu để kiểm soát lượng nước tưới cho cây trồng Mục tiêu của nghiên cứu này là thiết kế một hệ thống tưới cây tự động hoạt động cả trong mùa mưa và mùa khô nhằm kiểm soát lượng nước tưới cho cây vào các mùa trong năm Thiết bị tưới cây tự động được thiết kế sử dụng cảm biến tấm đồng hoạt động như một điện cực để đo điện trở của đất được chuyển đổi thành điện áp tương tự và sau đó thành dữ liệu kỹ thuật số để có thể xử lý bằng bộ xử lý Arduino Uno nhằm hiển thị kết quả các thông số của độ ẩm lên màn hình LCD; kích hoạt máy bơm tự động khi đất khô, bộ vi điều khiển chỉ huy van điện từ mở và tưới cây, nhưng khi đất ướt, van điện từ đóng lại và nước ngừng chảy Kết quả của thực nghiệm cho thấy hệ thống tưới nước ổn định, phù hợp với các điều kiện đất khác nhau [14].

Maria Beata Inka Astutiningtyas và cộng sự (2021) đưa ra ý tưởng để thiết kế một hệ thống chăm sóc cây trồng tự động ứng dụng cho các khu vườn nhỏ trong nhà Nhóm tác giả chỉ ra rằng, do tác động của biến đổi khí hậu, một khu vườn nhỏ để cung cấp sự mát mẻ và thoải mái trong nhà là rất cần thiết, tuy nhiên do thời gian sinh hoạt hàng ngày nên hoạt động chăm sóc cây không được chú ý và cây dễ dàng bị chết; vì vậy một hệ thống tưới cây thông minh là rất cần thiết cho sự tăng trưởng của thực vật Mục đích chính của nghiên cứu này là hướng tới việc kiểm soát lượng nước tưới cho cây bằng cách thiết lập hệ thống tưới cây tự động cho những khu vườn nhỏ Hệ thống sử dụng cảm biến độ ẩm, nhiệt độ, PH và Arduino để thu thập xử lý thông tin và cảnh báo cho người dùng các thông số môi trường qua thiết bị điện thoại giúp người dùng có thể điều chỉnh thời gian tưới nước và nếu độ ẩm thấp hơn mức cho phép thì thực hiện tưới cây Kết quả của nghiên cứu cho thấy hệ thống hoạt động ổn định có thể giúp chăm sóc cây trồng và hỗ trợ chống biến đổi khí hậu [15].

Abhishek và cộng sự (2021) đã đưa ra dự án về chăm sóc và kiểm soát lượng nước tưới cho cây trồng tại nhà Mục tiêu chính của dự án là xây dựng một hệ thống tưới tự động tưới cây vào đúng thời điểm với lượng nước phù hợp nhằm kiểm soát lượng nước cung cấp cho cây trồng Hệ thống sử dụng cảm biến độ ẩm đất và mạch Arduino UNO làm bộ xử lý trung tâm Khi đưa đầu dò của cảm biến độ ẩm vào đất, cảm biến sẽ phát hiện ra sự thiếu ẩm trong đất và kích hoạt máy bơm nước để tự động tưới cây; khi đất đã đủ ướt, máy bơm sẽ tự động tắt vì cảm biến độ ẩm đất đã cảm nhận được sự phù hợp của độ ẩm trong đất Kết quả của dự án cho thấy hệ thống hoạt động ổn định khi đảm bảo bể chứa đủ lượng nước bơm và có thể sử dụng trong lĩnh vực y tế, nơi một số cây thuốc cần được tưới thường xuyên với lượng nước thích hợp vào đúng thời điểm [16].

Kotni.Naga Siva và cộng sự (2019) đã nghiên cứu dự án về kiểm soát lượng nước và theo dõi môi trường sống của cây trồng Mục đích chính của nghiên cứu này là thiết kế một hệ thống đo hàm lượng nước trong đất và kiểm soát tốc độ dòng chảy của nước.

Hệ thống sử dụng các cảm biến độ ẩm (được đặt trong đất) để đo lượng nước có trong đất và Arduino để nhận, xử lý dữ liệu từ cảm biến Nếu độ ẩm không nằm trong phạm vi quy định, hệ thống sẽ kiểm soát hàm lượng nước cho phù hợp Kết quả của nghiên cứu cho thấy hệ thống được lập trình như một vòng tròn khép kín, có thể quan sát độ ẩm và kiểm soát hàm lượng nước cho phù hợp cho cây trồng [17].

Ima Primisima và cộng sự (2015) đã đưa ra một giải pháp về việc kiểm soát lượng nước tưới cho cây trồng ở nhiều vị trí khác nhau Nhóm tác giả cho rằng, tưới cây tự động chỉ sử dụng chế độ tưới nước theo giờ sẽ không phù hợp với đặc điểm nhu cầu cần nước của từng loại cây, nhưng việc kết hợp cảm biến độ ẩm đất sẽ giải quyết được nhiều vấn đề về nhu cầu nước của nhiều loại cây trồng Mục đích chính của giải pháp này là thiết lập một hệ thống tưới cây có các chế độ tưới với lượng nước phù hợp mỗi loại cây Hệ thống sử dụng cảm biến độ ẩm, module ADC0820, bộ xử lý FPGA cùng với ba dạng công tắc điều khiển nước dành cho các loại cây trồng sử dụng nước thấp, trung bình và cao Dữ liệu đầu vào được thu từ cảm biến độ ẩm đất và module ADC0820 và được xử lý tại bo mạch FPGA sau đó ra quyết định điều khiển cho công tắc, tùy thuộc vào dữ liệu phân tích được và loại cây trồng mà công tắc phù hợp sẽ được kích hoạt, đầu ra của hoạt động này là việc kích hoạt máy bơm nếu độ ẩm đất thấp hoặc hủy kích hoạt máy bơm nếu độ ẩm ở mức phù hợp Thử nghiệm trên 3 loại cây trồng: cây ớt, cây hoa đá, cây xương rồng cho thấy, hệ thống hoạt động chính xác và cung cấp lượng nước phù hợp với từng loại cây trồng [18]. Manisha Mayuree và cộng sự (2019) đã đưa ra một dự án về việc kiểm soát lượng nước tưới cho đồng ruộng Nghiên cứu chỉ ra rằng, hoạt động cung cấp nước cho đồng ruộng bằng cách thủ công rất mất thời gian và công sức của người nông dân, vì vậy cần áp dụng những công nghệ hiệu quả hơn để giải quyết việc này, việc phát triển một hệ thống tưới cây tự động là rất cần thiết vì nó có thể thay thế con người trong hoạt động bơm nước tưới và cũng kiểm soát nước hiệu quả hơn Mục đích chính của bài báo là xây dựng hệ thống tưới cây tự động nhằm kiểm soát lượng nước tưới cho cây trồng dựa trên dữ liệu thu thập về từ các cảm biến độ ẩm đất và mạch Arduino Dữ liệu thu được từ độ ẩm đất, hệ thống sẽ tiến hành so sánh với giới hạn đã được đặt ra từ trước; khi độ ẩm thấp hơn giới hạn quy định máy bơm sẽ được kích hoạt cho đến khi giá trị độ ẩm cần thiết máy bơm sẽ tự động ngắt Cảm biến mực nước được sử dụng để kiểm soát lượng nước trong bồn chứa Với việc sử dụng module GSM, người dùng sẽ nhận được các thông báo khi giá trị độ ẩm không ở ngưỡng cho phép dưới dạng tin nhắn SMS Dự án này giải quyết vấn đề tưới nước thủ công, tiết kiệm rất nhiều thời gian cho người sử dụng và cũng tập trung vào việc bảo tồn nước với độ chính xác cao hơn trong việc phân phối nước cho cây trồng [19].

Abhishek Gupta và cộng sự (2016) đã đưa ra một nghiên cứu nhằm kiểm soát lượng nước tưới cho cây trồng Nghiên cứu chỉ ra rằng tốc độ cạn kiệt nguồn nước đang là một mối đe dọa nguy hiểm; vì vậy cần có một giải pháp cho việc tưới cây thông minh và hiệu quả Hệ thống được xây dựng sẽ dựa vào dữ liệu độ ẩm đất và tự động kích hoạt máy bơm khi có điện Hệ thống sử dụng vi điều khiển PIC16F877A kết hợp với cảm biến độ ẩm đất, vi điều khiển được lập trình để cảm nhận độ ẩm của cây, nếu độ ẩm đất ở mức không mong muốn, máy bơm sẽ được kích hoạt để cung cấp nước cho cây trồng cho đến khi độ ẩm ở mức mong muốn, hệ thống sẽ tự động tắt máy bơm [20].

Shweta B Saraf và cộng sự (2017) đã trình bày một hệ thống về việc kiểm soát lượng nước tưới cho cây trồng Hệ thống tưới tiêu này mô tả sự kết hợp của mạng cảm biến không dây, IoT và máy chủ đám mây để lưu trữ dữ liệu Hệ thống đã đạt được mục tiêu cung cấp khả năng giám sát từ xa và kiểm soát việc tưới tiêu với cảm biến thời gian thực về các điều kiện khí quyển và đất như nhiệt độ không khí, độ ẩm và độ ẩm của đất từ đó kiểm soát lượng nước tưới Thực nghiệm hệ thống hoạt động rất khả thi và có thể quản lý việc cung cấp nước tưới hiệu quả hơn [21].

D Amu và cộng sự (2019) đã trình bày một hệ thống tưới tự động dựa trên IOT sử dụng cảm biến và Arduino nhằm giải quyết việc kiểm soát lượng nước tưới cho cây trồng Mục tiêu chính của hệ thống là cung cấp nước cho cây trồng hoặc bất kỳ vùng đất canh tác nào một cách cơ học nhằm kiểm soát lượng nước được tưới cho cây trồng thông qua vi điều khiển Arduino Uno và cảm biến độ ẩm Dữ liệu từ cảm biến độ ẩm được so sánh với ngưỡng độ ẩm đặt trước, sẽ cho biết ruộng có cần tưới hay không Hệ thống còn sử dụng module GSM cho phép kiểm soát việc cung cấp nước và bật tắt máy bơm thông qua điện thoại thông minh Thực nghiệm cho thấy hệ thống hoạt động rất ổn định và đạt được mục tiêu mà nhóm tác giả đã đưa ra [22].

Tổng quan giải pháp

Giải pháp kiểm soát lượng nước tưới cho cây trồng

Trong điều kiện thông thường, cây trồng thường được tưới 2 lần một ngày vào sáng và tối Nhưng đối với một số loại cây trồng khác nhau lại có khoảng thời gian tưới khác nhau, số lần tưới có thể nhiều hoặc ít hơn 2 lần và không cố định vì vậy cần phải có một lịch trình tưới cây cụ thể, có thể tùy chỉnh để áp dụng được cho nhiều loại cây trồng Bằng việc thiết lập các tham số đầu vào bao gồm: khoảng thời gian tưới cây trong ngày và tần suất tưới cây; hệ thống sẽ tự động tính ra lịch trình chăm sóc cây trồng theo từng mốc thời gian cụ thể Các bước tính toán lịch trình được mô tả trong Sơ đồ 3.2.

Sơ đồ 3.2: Trình tự các bước tính toán lịch trình

Bước 1: Xác định thời gian của lần tưới cây thứ 1 là thời điểm đầu tiên trong khoảng thời gian tưới cây trong ngày.

Bước 2: Lấy khoảng thời gian tưới cây trong ngày chia cho tần suất để biết được số lần sẽ thực hiện tưới cây.

Bước 3: Tạo ra một vòng lặp với số lần lặp bằng số lần sẽ thực hiện tưới cây.

Bước 4: Tính thời gian của lần tưới cây thứ N bằng thời gian lần tưới cây thứ N-1 cộng thêm số thời gian bằng với tần suất tưới cây.

Bước 5: Nếu thời gian của lần tưới thứ N lớn hơn thời điểm kết thúc trong khoảng thời gian tưới cây trong ngày thì sẽ dừng lại Lịch trình lúc này sẽ bắt đầu từ lần tưới thứ 1 đến lần tưới thứ N-1.

Người dùng có thể theo dõi và điều chỉnh lại lịch trình đề xuất bằng ứng dụng di động Khi thay đổi các tham số đầu vào, một lịch trình mới phù hợp với loại cây đang được trồng sẽ được tạo Đối với mỗi khu vực trồng cây khác nhau có thể sẽ sử dụng những loại máy bơm khác nhau, để kiểm soát được lượng nước tưới cho cây cần thiết lập thời gian kích hoạt máy bơm, khi nhận được tín hiệu tưới cây máy bơm sẽ hoạt động đúng bằng thời gian đã thiết lập, giúp cho lượng nước tưới ra cố định và dễ dàng kiểm soát Bộ xử lý trung tâm được lựa chọn là loại có thể lập trình bằng các IDE cung cấp sẵn để nhận các tín hiệu điều khiển và thực hiện kích hoạt thiết bị relay để đóng/mở máy bơm nước; tín hiệu điều khiển có thể được gửi đến từ lịch trình thiết lập sẵn hoặc từ người dùng thông qua ứng dụng di động. Luồng tưới cây tự động theo lịch được mô tả trong Sơ đồ 3.3.

Sơ đồ 3.3: Luồng tưới cây tự động theo lịch

Khi bắt đầu, hệ thống sẽ đọc các giá trị thời gian có trong lịch trình sau đó so sánh với thời gian thực Nếu thời gian trên lịch tương đương với thời gian thực tế, hệ thống sẽ đọc giá trị cảm biến độ ẩm đất và ngưỡng độ ẩm đất do người dùng thiết lập để so sánh, nếu giá trị cảm biến bé hơn ngưỡng cho phép thì hệ thống sẽ đọc thông tin thời gian kích hoạt máy bơm và thực hiện mở máy bơm theo thời gian vừa đọc được, sau khi thời gian kích hoạt kết thúc sẽ đóng máy bơm đồng thời tạo thông báo và lưu vào CSDL; nếu giá trị cảm biến nằm trong ngưỡng cho phép, hệ thống sẽ tạo thông báo và lưu vào CSDL Ngoài tưới cây theo lịch trình, hệ thống cũng hỗ trợ người dùng tưới cây bằng các tác vụ thủ công Khi người dùng nhập thông tin thời gian tại cổng kích hoạt, hệ thống sẽ đọc thông tin cổng và thời gian kích hoạt để mở cổng theo yêu cầu của người dùng, sau đó tạo thông báo vào hiển thị trên ứng dụng di động, luồng tưới cây thủ công được mô tả trong Sơ đồ 3.4 Quá trình đọc dữ liệu lịch trình và kiểm tra kích hoạt thủ công sẽ liên tục được thực hiện cho đến khi hệ thống bị ngắt khỏi nguồn điện Trong trường hợp người dùng thay đổi lịch trình, hệ thống sẽ lập tức theo dõi và hoạt động theo lịch trình mới.

Sơ đồ 3.4: Luồng tưới cây thủ công

Giải pháp kiểm soát cây trồng tại nhiều vị trí khác nhau

Do hạn hẹp về diện tích sống, cây trồng trong nhà thường không được trồng tập trung tại một vị trí mà phân tán tại nhiều nơi khác nhau trong nhà Với mỗi vị trí được trồng một loại cây hoặc một số loại cây có đặc tính về độ ẩm, nhiệt độ, nhu cầu nước, … gần giống nhau Tuy nhiên, trong cuộc sống sinh hoạt hàng ngày với lịch trình bận rộn, việc ghi nhớ được các đặc điểm riêng biệt hay thời điểm tưới tiêu phù hợp cho từng vị trí trồng cây là không dễ dàng Như đã được trình bày tại hai giải pháp trên (mục 3.1.1 và 3.1.2), hệ thống sử dụng một bộ xử lý trung tâm để đọc dữ liệu môi trường và kiểm soát máy bơm cung cấp nước cho cây tại một vị trí. Áp dụng tương tự trên nhiều vị trí trồng cây, sẽ sử dụng nhiều bộ xử lý trung tâm khác nhau để theo dõi và kiểm soát cây trồng Mô hình theo dõi và kiểm soát nhiều vị trí trồng cây được mô tả trong Hình 3.4.

Hình 3.4: Mô hình theo dõi và kiểm soát nhiều vị trí trồng cây

Mỗi bộ xử lý trung tâm sẽ được lập trình để gán với một mã thiết bị riêng biệt không trùng lặp Mã thiết bị có tác dụng phân biệt dữ liệu được gửi từ bộ xử lý đến server và ngược lại Trên ứng dụng di động, người dùng tạo các mục quản lý, mỗi mục tương ứng với một mã thiết bị sẽ theo dõi và kiểm soát một vị trí trồng cây Khi truy cập vào một mục, hệ thống sẽ dựa vào mã thiết bị được liên kết để truy vấn thông tin về môi trường trồng cây tại vị trí tương ứng Lịch trình được thiết lập để cung cấp nước tự động cho cây tại các vị trí khác nhau cũng sẽ được định danh thông qua mã thiết bị và lưu trữ vào CSDL Mỗi bộ xử lý trung tâm trong quá trình hoạt động chỉ được phép truy cập đến lịch trình được định danh bằng mã thiết bị tương ứng để đọc thông tin và thực hiện nhiệm vụ Bằng việc định danh dữ liệu và kiểm soát thông tin thông qua mã thiết bị, hệ thống cung cấp khả năng theo dõi và tưới nước cho cây trồng tại nhiều vị trí trồng cây khác nhau, tham số hệ thống và lịch trình tại mỗi vị trí cũng được thiết lập và cập nhật để phù hợp nhất với cây trồng tại vị trí tương ứng Luồng tạo mới mục thiết bị được mô tả trong Sơ đồ 3.5.

Sơ đồ 3.5: Luồng tạo mới mục thiết bị Để thực hiện giải pháp đã đề ra, hệ thống chăm sóc cây trồng Garden Plus đã được xây dựng và phát triển Mô tả chi tiết về hệ thống trong mục 3.2.

Mô tả hệ thống

Kiến trúc logic

Garden Plus là một hệ thống IoT, dữ liệu trong hệ thống được tạo ra bởi nhiều loại thiết bị, đồng thời được xử lý và truyền tới các vị trí khác nhau Mô hình tham chiếu IoT được đề xuất bao gồm nhiều tầng, mỗi tầng được xác định bởi một thuật ngữ và có quan hệ liên kết với nhau Các tầng của hệ thống bao gồm: Tầng thiết bị, tầng mạng, tầng dịch vụ và tầng ứng dụng Hình 3.5 mô tả kiến trúc của hệ thống.

Hình 3.5: Kiến trúc hệ thống

Kiến trúc mô tả các kết nối trong hệ thống nhằm mục đích thu thập, hiển thị trực quan dữ liệu môi trường sống của cây, đồng thời thực hiện các tác vụ chăm sóc cây trồng được gửi đến từ phía người dùng thông qua hệ thống Mỗi tầng của kiến trúc có các thành phần khác nhau và được mô tả như sau. a Tầng thiết bị

Tầng thiết bị có nhiệm vụ thực hiện đo lường và thu thập dữ liệu thông qua các cảm biến, điều khiển các thiết bị chấp hành đồng thời gửi và nhận dữ liệu từ các thiết bị khác qua mạng Theo đó, dữ liệu có được từ tầng thiết bị sẽ là cơ sở cho sự vận hành của hệ thống Hệ thống đề xuất sử dụng các loại phần cứng bao gồm: (i) Bộ xử lý trung tâm: mạch Arduino; (ii) Cảm biến: cảm biến độ ẩm đất, cảm biến nhiệt độ;(iii) Thiết bị chấp hành: máy bơm. b Tầng mạng

Tầng mạng có nhiệm vụ truyền dẫn dữ liệu từ tầng thiết bị lên tầng dịch vụ và ngược lại Trong hệ thống, mạch Arduino tại tầng thiết bị được kết nối tới internet thông qua mạng wifi cục bộ để gửi và nhận dữ liệu tới tầng dịch vụ. c Tầng dịch vụ

Tầng dịch vụ là nơi dữ liệu được phân tích và xử lý đồng thời lưu trữ vào CSDL sau đó được truy xuất bởi các ứng dụng phần mềm Đây cũng là nơi dữ liệu được theo dõi và quản lý, các hoạt động như điều khiển thiết bị, tạo dựng và kiểm tra lịch tưới cây, tạo thông báo/cảnh báo cũng được thực hiện tại tầng này Tất cả các quá trình trên đều liên quan đến sự tương tác giữa tầng thiết bị và tầng ứng dụng Luồng dữ liệu tương tác trong hệ thống được thực hiện qua 3 giai đoạn: Giai đoạn thu thập dữ liệu, giai đoạn lưu trữ và phân tích dữ liệu, giai đoạn phân phối dữ liệu Hình 3.6 minh họa luồng dữ liệu vào ra trong hệ thống.

Hình 3.6: Luồng dữ liệu trong hệ thống

Giai đoạn thu thập dữ liệu: Dữ liệu thu được từ hai loại cảm biến sẽ được gửi dưới dạng tín hiệu về mạch Arduino sau đó được gửi lên Server.

Giai đoạn lưu trữ và phân tích dữ liệu: trong giai đoạn này sẽ có ba dạng dữ liệu được lưu trữ (i) Dữ liệu môi trường sống của cây được gửi đến từ mạch Arduino bao gồm dữ liệu độ ẩm đất và dữ liệu nhiệt độ môi trường; và các thông báo về hoạt động chăm sóc cây trồng cũng như cảnh báo sẽ được lưu trữ trong giai đoạn này (ii)

Dữ liệu các thông số thiết lập của người dùng bao gồm: thông số giới hạn độ ẩm đất, giới hạn nhiệt độ, khoảng thời gian tưới cây trong ngày, tần suất tưới cây, … Lịch trình tưới cây sẽ được tính toán bằng các thông số: thời gian tưới cây trong ngày, tần suất tưới cây và sau đó lưu trữ vào CSDL (iii) Dữ liệu các loại cây trồng do quản trị viên bổ sung và cập nhật, có tác dụng tham khảo đối với người dùng khi có nhu cầu tìm hiểu thêm thông tin về cây trồng.

Giai đoạn phân phối dữ liệu: tại giai đoạn này, dữ liệu được đưa tới 2 đối tượng sử dụng (i) Dữ liệu về thông số môi trường sống của cây do các cảm biến thu thập được, các thông báo và cảnh báo được tạo trong quá trình hoạt động của hệ thống và dữ liệu cây trồng do quản trị viên tạo dựng sẽ được hiển thị cho người dùng theo dõi thông qua ứng dụng di động (ii) Dữ liệu lịch trình sau khi được tính toán sẽ được gửi về cho mạch Arduino theo dõi và thực hiện bật/tắt máy bơm khi đúng thời điểm đã đặt ra, thông số về ngưỡng giới hạn sẽ được sử dụng để so sánh với dữ liệu thu được từ cảm biến để tạo các cảnh báo nếu giá trị cảm biến vượt ngưỡng cho phép. d Tầng ứng dụng

Tầng ứng dụng là tầng cuối cùng trong kiến trúc của hệ thống Dữ liệu tại tầng này được hiển thị dưới dạng số liệu có thể đọc được, đồng thời được truy xuất và sử dụng bởi các ứng dụng bao gồm: ứng dụng di động và ứng dụng quản trị hệ thống. Ứng dụng di động được phát triển trên hệ điều hành Android và cho phép người dùng theo dõi các thông số môi trường thu được từ thiết bị phần cứng; thiết lập lịch tưới cây và thực hiện các thao tác chăm sóc cây trồng; nhận thông báo và tham khảo thông tin các loại cây trồng. Ứng dụng quản trị hệ thống là ứng dụng được thiết kế trên nền tảng web,được xây dựng nhằm mục đích quản trị các thành phần chung của hệ thống như:Quản lý tài khoản, khóa/mở khóa tài khoản người dùng; tạo dựng, cập nhật, bổ sung kho dữ liệu nguồn thông tin cây trồng cho người dùng.

Kiến trúc vật lý

Hình 3.7 cho thấy mô hình tổng quan kết nối các thành phần thiết bị thuộc phần cứng Trong khi Hình 3.8 mô tả chi tiết kết nối từ cảm biến đến mạch điều khiển và kết nối từ mạch điều khiển đến các thiết bị chấp hành Thiết bị sẽ hoạt động khi mạch được kết nối tới nguồn điện và thực hiện các tác vụ tưới cây khi nhận được tín hiệu điều khiển gửi qua internet.

Hình 3.7: Mô hình kết nối phần cứng

Hình 3.8: Sơ đồ kết nối mạch

Mạch Arduino Wemos D1 R2 là một board mạch có khả năng kết nối tới internet thông qua vi xử lý ESP8266EX Trong hệ thống này, Wemos D1 R2 được sử dụng để thu các tín hiệu từ cảm biến và kiểm tra dữ liệu để tạo cảnh báo Vì có khả năng kết nối tới internet nên mạch được lập trình để gửi dữ liệu thu được lên server và nhận các tín hiệu điều khiển sau đó ra lệnh thực thi cho các thiết bị chấp hành Các chân trên mạch Arduino được kết nối tới các cảm biến và thiết bị chấp hành để tạo thành một mạng lưới thiết bị có khả năng thực hiện việc theo dõi và kiểm soát lượng nước cho cây trồng.

Cảm biến độ ẩm đất HT195 được sử dụng để thu về các giá trị độ ẩm đất trong khu vực trồng cây và có hai thành phần bao gồm: đầu dò đo độ ẩm đất và mạch xử lý tín hiệu Đầu dò đo độ ẩm đất được lắp đặt trực tiếp xuống đất Mạch xử lý tín hiệu có hai đầu ra là D0 và A0 tương ứng với tín hiệu digital và analog Tại chân đầu ra digital sẽ trả ra hai giá trị 0 và 1 tương ứng với đèn báo sáng và không sáng ở trên mạch, nếu đất có đủ độ ẩm và ở ngưỡng cho phép đèn sẽ sáng tương ứng với đầu ra là 0 và ngược lại; ngưỡng độ ẩm có thể điều chỉnh được bằng biến trở có trên mạch Với chân đầu ra analog, chân này được nối trực tiếp với mạch phân áp của cảm biến và không đi qua mạch so sánh vì vậy tín hiệu điện áp được đưa trực tiếp đến đầu ra A0 Trong hệ thống được xây dựng, giá trị độ ẩm đất được thu về cho mục đích lưu trữ và phân tích vì vậy sẽ sử dụng chân A0 để thu nhận dữ liệu. Chân kết nối giữa HT195 và Arduino được mô tả trong Bảng 3.2.

Bảng 3.2: Chân kết nối HT195 với Arduino Wemos D1 R2

Cảm biến nhiệt độ DHT11 được sử dụng để đo giá trị nhiệt độ môi trường sống của cây và được lắp đặt trong khu vực trồng cây Mạch DHT11 có gắn sẵn điện trở và chỉ có một dây giao tiếp để truyền và nhận dữ liệu vì vậy để lấy được dữ liệu từ DHT11 chỉ cần nối trực tiếp chân data trên mạch với một cổng I/O trên mạch Arduino Chân kết nối giữa DHT11 và Arduino được mô tả trong Bảng 3.3.

Bảng 3.3: Chân kết nối DHT11 với Arduino Wemos D1 R2

Máy bơm mini 3V3 được sử dụng để tưới nước hoặc cung cấp các chất dinh dưỡng cần thiết cho cây trồng Vì đầu ra của mạch Arduino là dạng tín hiệu điện và có điện áp nhỏ vì vậy cần sử dụng thêm một thiết bị relay có tác dụng như một công tắc điện để đóng và mở máy bơm Trong hệ thống, máy bơm có công suất nhỏ vì vậy chỉ sử dụng transistor S9013 để bật/tắt máy bơm, đối với các máy bơm có công suất lớn hơn thì có thể thay bằng các module relay có điện áp cao hơn.

Chức năng hệ thống

Bảng 3.4 liệt kê các chức năng của hệ thống tương ứng với mỗi đối tượng tham gia hệ thống.

Bảng 3.4: Chức năng hệ thống

STT Chức năng Đối tượng sử dụng

2 Khóa tài khoản Quản trị viên

3 Đổi mật khẩu Người dùng

4 Truy vấn danh sách thông tin cây trồng

5 Truy vấn thông tin chi tiết cây trồng

7 Truy vấn danh sách tài khoản

8 Truy vấn thông tin chi tiết một tài khoản Quản trị viên

10 Tạo thông tin cây trồng

11 Cập nhật thông tin cây trồng

14 Truy vấn thông tin thiết bị

15 Truy vấn thông tin chi tiết của thiết bị

16 Cập nhật thông tin thiết bị Người dùng

Chương này đã phân tích và đưa ra giải pháp để giải quyết cho các vấn đề đã đặt ra tại chương 1 Giải pháp được đề ra sử dụng hai loại cảm biến chính để thu thập dữ liệu là cảm biến độ ẩm đất và cảm biến nhiệt độ; dữ liệu của cảm biến được thu nhận và tính toán bởi bộ xử lý trung tâm; đồng thời hiển thị và truy xuất trên ứng dụng di động nhằm theo dõi liên tục tình trạng môi trường sống của cây. Việc thiết lập các lịch trình tự động giúp giảm công sức cho người trồng cây nhưng vẫn cung cấp được đủ lượng nước cần thiết cho cây trồng Giải pháp kiểm soát cây trồng tại nhiều vị trí thông qua mã thiết bị giúp cho người dùng theo dõi nhiều khu vực trồng cây khác nhau mà không cần mất quá nhiều thời gian cho việc ghi nhớ đặc điểm môi trường và lượng nước thích hợp cho từng loại cây Từ giải pháp đã đề ra, một hệ thống IoT sử dụng cảm biến và mạch Arduino đã được xây dựng.Phần cài đặt và thử nghiệm hệ thống được đề ra tại chương tiếp theo – Chương 4.

CÀI ĐẶT VÀ THỬ NGHIỆM

Chương 3 đã trình bày giải pháp cho vấn đề theo dõi và chăm sóc cây trồng tại nhà đồng thời mô tả xây dựng hệ thống theo giải pháp đã đề ra Tại chương 4 sẽ tiến hành cài đặt và thử nghiệm hệ thống đã xây dựng Chương 4 bao gồm 2 phần chính:Cài đặt hệ thống và thử nghiệm hệ thống.

Cài đặt

Lắp đặt hệ thống

Hình 4.1: Mô hình hệ thống thử nghiệm

Hệ thống được triển khai lắp đặt trên 3 khu vực và cùng được kết nối về một ứng dụng di động để theo dõi và quản lý, Hình 4.1 minh họa hệ thống thử nghiệm.Trong đó: (i) khu vực số 1 có nhiệm vụ theo dõi và kiểm soát lượng nước cung cấp cho cây nông nghiệp; (ii) khu vực số 3 có nhiệm vụ theo dõi và kiểm soát lượng nước cung cấp cho cây ăn quả; (iii) khu vực số 2 có nhiệm vụ kết hợp với khu vực số 1 và số 3 để kiểm thử khả năng kiểm soát nhiều vị trí trồng cây khác nhau Bảng 4.1 mô tả chi tiết các thành phần và cách thức kết nối trong hệ thống.

Bảng 4.1: Mô tả thành phần hệ thống thử nghiệm

STT Thành phần Mô tả

1 Database Database PostgreSQL được cài đặt trên một Server riêng biệt và chạy trên cổng 5432 Danh mục bảng dữ liệu và trường thông tin được mô tả trong mục 4.1.2.

Firebase là một dịch vụ cơ sở dữ liệu hoạt động ở trên nền tảng đám mây và được hỗ trợ bởi Google Các ứng dụng kết nối đến Firebase thông qua đường dẫn: gardenplus- xxxxx-default-rtdb.asia-southeast1.firebasedatabase.app

2 API Server Được xây dựng theo tiêu chuẩn RESTful API Các phương thức sử dụng bao gồm: POST, GET, PUT, DELETE API được cài đặt trên dịch vụ IIS của Server và hoạt động trên cổng 8002 đồng thời kết nối đến Database thông qua chuỗi kết nối.

3 Web Server Phát triển trên framework NET 5.0 và cài đặt trên IIS của

Server đồng thời hoạt động trên cổng 8003 Web Server kết nối đến API thông qua đường dẫn http://localhost:8002 và sử dụng giao thức HTTP. Message được gửi từ Web Server đến API đều phải có token đi kèm để xác thực Định dạng dữ liệu gửi và nhận là JSON.

4 Ứng dụng di Sử dụng SDK Flutter để phát triển và hoạt động trên nền động tảng Android Ứng dụng di động kết nối đến API để lưu trữ, cập nhật và truy vẫn dữ liệu thông qua đường dẫn http://localhost:8002 và sử dụng giao thức HTTP. Message được gửi từ ứng dụng đến API đều phải có token

STT Thành phần Mô tả đi kèm để xác thực Định dạng dữ liệu gửi và nhận là JSON.

5 Arduino Wemos Mạch Arduino đọc dữ liệu môi trường thu về từ cảm biến D1R2 sau đó sử dụng các dịch vụ được cung cấp bới API để lưu, cập nhật và truy vấn dữ liệu trong Database Arduino kết nối tới API theo đường dẫn http://localhost:8002 và sử dụng giao thức HTTP.

6 Cảm biến độ ẩm Đầu dò của cảm biến độ ẩm đất được lắp đặt trực tiếp đất xuống đất (quy cách và vị trí lắp đặt được mô tả trong mục 3.1.1) và gửi tín hiệu điện về mạch xử lý tín hiệu sau đó mạch xử lý sẽ gửi tín hiệu thu được về Arduino Kết nối từ đầu dò đến mạch xử lý và từ mạch xử lý đến Arduino thông qua dây điện (cách thức kết nối được mô tả cổng kết nối trong Hình 3.8)

7 Cảm biến nhiệt Cảm biến nhiệt độ được lắp đặt để đo giá trị nhiệt độ trực độ tiếp trong khu vực trồng cây Kết nối từ cảm biến nhiệt độ đến Arduino thông qua dây điện (cách thức kết nối được mô tả cổng kết nối trong Hình 3.8)

8 Transistor Transistor được sử dụng như một công tắc điện để bật/tắt S9013, Máy máy bơm nước và nhận tín hiệu điều khiển từ Arduino. bơm 3V3 Kết nối giữa transistor, máy bơm và mạch Arduino thông qua dây điện (cách thức kết nối được mô tả cổng kết nối trong Hình 3.8)

9 Đèn led Tương tự như máy bơm Đèn led cũng được kết nối đến mạch Arduino thông qua dây điện.

Cài đặt cơ sở dữ liệu

Hình 4.2 mô tả các trường thông tin và bảng dữ liệu được cài đặt trong CSDL PostgreSQL

Hình 4.2: Mô tả bảng dữ liệu và liên kết bảng

Bảng người dùng (crcs_users): Lưu thông tin tài khoản và thông tin cá nhân của người dùng.

Bảng 4.2: Bảng thông tin người dùng crcs_users

Tên cột Mô tả Kiểu dữ liệu Khóa chính id long X record_stat Trạng thái bản ghi character varying(1) create_by Người tạo character varying(255) create_date Ngày tạo timestamp without time zone modify_by Người sửa character varying(255) modify_date Ngày sửa timestamp without time zone mod_no Số lần sửa integer username Tên đăng nhập character varying(50) password Mật khẩu character varying(105) fullname Họ tên character varying(105) email Email character varying(50) phonenumber Số điện thoại character varying(15) role Quyền hạn character varying(5) status Trạng thái tài khoản character varying(1) limit_login Số lần đăng nhập integer last_login Lần đăng nhập cuối timestamp without time zone profile_image Ảnh đại diện bytea

Bảng cây trồng (gdpl_tree): Lưu thông tin về cây trồng.

Bảng 4.3: Bảng thông tin cây trồng gdpl_tree

Tên cột Mô tả Kiểu dữ liệu Khóa chính id long X record_stat Trạng thái bản ghi character varying(1) create_by Người tạo character varying(255) create_date Ngày tạo timestamp without time zone modify_by Người sửa character varying(255) modify_date Ngày sửa timestamp without time zone mod_no Số lần sửa integer tree_code Mã cây trồng character varying(10) tree_name Tên cây trồng character varying(105) tree_name_english Tên tiếng anh character varying(105) tree_description Mô tả cây trồng text tree_logo Hình ảnh bytea tree_type Loại cây trồng character varying(10) season_stat Trạng thái cây có vụ mùa character varying(1) hoặc không season_from_date Thời điểm bắt đầu vụ mùa character varying(2)

(tháng trong năm) season_to_date Thời điểm kết thúc vụ mùa character varying(2)

(tháng trong năm) geo_location Vùng character varying(255) suitable_climate Khí hậu thích hợp character varying(255) suitable_soil_type Loại đất phù hợp character varying(255)

Bảng thông tin chi tiết cây trồng (gdpl_tree_detail): Lưu thông tin chi tiết về cây trồng Liên kết với bảng gdpl_tree thông qua trường tree_code.

Bảng 4.4: Bảng thông tin chi tiết cây trồng gdpl_tree_detail

Tên cột Mô tả Kiểu dữ liệu Khóa chính id long X record_stat Trạng thái bản ghi character varying(1) create_by Người tạo character varying(255) create_date Ngày tạo timestamp without time zone modify_by Người sửa character varying(255) modify_date Ngày sửa timestamp without time zone mod_no Số lần sửa integer tree_code Mã cây trồng character varying(10) stage_grow_up Giai đoạn phát triển character

(nhỏ {1}, lớn {2}, ) varying(10) stage_grow_up_time Thời gian phát triển character varying(5) trong 1 giai đoạn stage_grow_up_time_unit Đơn vị (W, M, Y) character varying(1) stage_grow_up_image Ảnh minh họa giai bytea đoạn phát triển stage_description Mô tả giai đoạn text proper_humidity Độ ẩm thích hợp decimal light_intensity Nhiệt độ thích hợp decimal min_humidity Độ ẩm tối thiểu decimal max_humidity Độ ẩm tối đa decimal min_light Nhiệt độ tối thiểu decimal max_light Nhiệt độ tối đa decimal nutrients_type Loại chất dinh dưỡng character phù hợp varying(105) nutrients_type_1 Loại chất dinh dưỡng character phù hợp varying(105) nutrients_type_2 Loại chất dinh dưỡng character phù hợp varying(105) nutrients_type_3 Loại chất dinh dưỡng character phù hợp varying(105) nutrients_type_4 Loại chất dinh dưỡng character phù hợp varying(105) nutrients_type_5 Loại chất dinh dưỡng character phù hợp varying(105)

Bảng thông tin thiết bị người dùng (crcs_users_device): Lưu thông tin các thiết bị đang được người dùng sử dụng và cấu hình cho các thiết bị Liên kết với bảng gdpl_tree thông qua cột device_tree Liên kết với bảng crcs_users thông qua trường username.

Bảng 4.5: Bảng thông tin thiết bị người dùng crcs_users_device

Tên cột Mô tả Kiểu dữ liệu Khóa chính id long X record_stat Trạng thái bản ghi character varying(1) create_by Người tạo character varying(255) create_date Ngày tạo timestamp without time zone modify_by Người sửa character varying(255) modify_date Ngày sửa timestamp without time zone mod_no Số lần sửa integer username Tên đăng nhập character varying(50) device_no Mã thiết bị character varying(10) device_description Mô tả thiết bị character varying(255) device_stat Trạng thái sử dụng character varying(1) device_tree Loại cây hỗ trợ character varying(10) time_to_add Thời gian bắt đầu sử timestamp without dụng time zone time_to_end Thời gian tắt gần nhất timestamp without time zone auto_stat Loại trạng thái tự character varying(1) động (Thủ công, tự động, bán tự động) port1_setting_stat Thiết lập trạng thái character varying(1) cổng ra(sử dụng/không sử dụng) port1_setting_type Loại hình sử dụng character

(tưới nước / tưới chất varying(10) dinh dưỡng / ) time1_watering Thời gian phun nước decimal

(Trong trường hợp thủ công hoặc bán tự động) port2_setting_stat Thiết lập trạng thái character varying(1) cổng ra(sử dụng/không sử dụng) port2_setting_type Loại hình sử dụng character

(tưới nước / tưới chất varying(10) dinh dưỡng / ) time2_watering Thời gian phun nước decimal

(Trong trường hợp thủ công hoặc bán tự động) port3_setting_stat Thiết lập trạng thái character varying(1) cổng ra(sử dụng/không sử dụng) port3_setting_type Loại hình sử dụng character

(tưới nước / tưới chất varying(10) dinh dưỡng / ) time3_watering Thời gian phun nước decimal

(Trong trường hợp thủ công hoặc bán tự động)

Bảng thiết lập tham số (gdpl_user_tree_setup): Lưu thông tin về cấu hình độ ẩm và nhiệt độ cho cây trồng Liên kết với bảng crcs_users_device thông qua trường device_no và liên kết với bảng crcs_users thông qua trường user_id.

Bảng 4.6: Bảng thiết lập tham số gdpl_user_tree_setup

Tên cột Mô tả Kiểu dữ liệu Khóa chính id long X record_stat Trạng thái bản ghi character varying(1) create_by Người tạo character varying(255) create_date Ngày tạo timestamp without time zone modify_by Người sửa character varying(255) modify_date Ngày sửa timestamp without time zone mod_no Số lần sửa integer tree_code Mã cây trồng character varying(10) user_id Mã người dùng character varying(50) device_no Mã thiết bị character varying(10) stage_grow_up Giai đoạn phát triển character

(nhỏ {1}, lớn {2}, ) varying(10) min_humidity Độ ẩm tối thiểu decimal max_humidity Độ ẩm tối đa decimal min_light Cường độ ánh sáng decimal tối thiểu max_light Cường độ ánh sáng decimal tối đa

Bảng thiết lập lịch trình (gdpl_user_schedule): Lưu thông tin thiết lập lịch trình tưới cây tự động Liên kết với bảng crcs_users_device thông qua trường device_no và liên kết với bảng crcs_users thông qua trường user_id.

Bảng 4.7: Bảng thiết lập lịch trình gdpl_user_schedule

Tên cột Mô tả Kiểu dữ liệu Khóa chính id long X record_stat Trạng thái bản ghi character varying(1) create_by Người tạo character varying(255) create_date Ngày tạo timestamp without time zone modify_by Người sửa character varying(255) modify_date Ngày sửa timestamp without time zone mod_no Số lần sửa integer tree_code Mã cây trồng character varying(10) user_id Mã người dùng character varying(50) device_no Mã thiết bị character varying(10) frequency Chu kỳ bơm (khoảng decimal(2,1) cách 2 lần bơm) unit Đơn vị (giờ, ngày, character varying(1) tháng) from_time Từ giờ trong ngày timestamp without time zone to_time Đến giờ trong ngày timestamp without time zone module Loại tưới (nước/chất character varying(5) dinh dưỡng/chất kích thích/ ) time_wartering Thời gian phun timestamp without time zone unit_time_wartering Đơn vị (giây, phút, character varying(1) giờ) check_interleaved Cho phép đan xen character varying(1) lịch (phun nước/chất dinh dưỡng/ ) ref_no Mã lịch character varying(15)

Bảng thông tin chi tiết lịch trình (gdpl_user_schedule_detail): Lưu thông tin lịch trình tưới cây chi tiết Liên kết với bảng gdpl_user_schedule thông qua trường ref_no.

Bảng 4.8: Bảng thông tin chi tiết lịch trình gdpl_user_schedule_detail

Tên cột Mô tả Kiểu dữ liệu Khóa chính id long X record_stat Trạng thái bản ghi character varying(1) create_by Người tạo character varying(255) create_date Ngày tạo timestamp without time zone modify_by Người sửa character varying(255) modify_date Ngày sửa timestamp without time zone mod_no Số lần sửa integer ref_no Mã lịch character varying(15) timer Thời gian tưới timestamp without time zone next_timer Thời gian tưới tiếp timestamp without theo time zone module Loại tưới character

(nước/phân bón/chất varying(5) kích thích/ ) description Mô tả character varying(255) notify_stat Trạng thái thông báo character

(có/không) varying(1) prioritize_stat Ưu tiên (dùng trong character trường hợp 2 lần varying(1) phun trùng 1 giờ status Trạng thái kích hoạt character varying(1)

Kết quả xây dựng hệ thống

Kết quả xây dựng hệ thống bao gồm: ứng dụng di động, ứng dụng quản trị, API và cơ sở dữ liệu được mô tả trong Bảng 4.9.

Bảng 4.9: Thống kê kết quả

STT Mô tả Danh mục Thống kê

1 Ứng dụng di Số dòng code 7992 động Dung lượng toàn bộ mã nguồn 1.13G

Dung lượng bộ cài đặt 49MB

2 Ứng dụng Số dòng code 2784 quản trị Dung lượng toàn bộ mã nguồn 159MB

Dung lượng bộ cài đặt 91MB

Dung lượng toàn bộ mã nguồn 55MB

Dung lượng bộ cài đặt 15MB

Thời gian phản hồi/1 lần gọi API 50 ms

4 Cơ sở dữ liệu Số lượng bảng 7

Số bản ghi trên Database Postgre 50

Số bản ghi trên Firebase 510

Thử nghiệm

Kịch bản thử nghiệm

Mục đích của thử nghiệm: (i) Kiểm tra khả năng thu thập thông số môi trường sống của cây tại các cụm thiết bị riêng biệt (ii) Kiểm tra thời gian kích hoạt của hệ thống có đúng với lịch trình đã đề ra chưa (iii) Đánh giá khả năng kiểm soát đa thiết bị tại các khu vực trồng cây khác nhau.

Thông số lắp đặt 3 cụm thiết bị được mô tả trong Bảng 4.10.

Bảng 4.10: Bảng thông số thử nghiệm

Thông số Khu vực số 1 Khu vực số 2 Khu vực số 3

Mô tả Lắp đặt tại ban công Lắp đặt trong hộp demo Lắp đặt tại ban công trong nhà trong nhà.

Loại cây Cây rau cải Cỏ lan chi Cây bơ trồng

Thiết bị Bộ xử lý: Arduino Bộ xử lý: Arduino Bộ xử lý: Arduino sử dụng Wemos D1 R2 Wemos D1 R2 Wemos D1 R2

Cảm biến: Cảm biến: Cảm biến:

• Cảm biến độ ẩm • Cảm biến độ ẩm đất • Cảm biến độ ẩm đất (HT195) (HT195) đất (HT195)

• Cảm biến nhiệt độ • Cảm biến nhiệt độ • Cảm biến nhiệt độ

Thiết bị relay: Thiết bị relay: Không sử Thiết bị relay:

Thiết bị điều khiển: Thiết bị điều khiển: Thiết bị điều khiển:

• Cổng chính: Máy • Cổng chính: Đèn • Cổng chính: Máy bơm mini 3.3V Led bơm mini 3.3V

• Cổng phụ: Không • Cổng phụ: 3 đèn • Cổng phụ: Không sử dụng Led tương ứng với sử dụng

Thông số Tần suất: 3 giờ tưới 1 Tần suất: 2 giờ tưới 1 Tần suất: 12 giờ tưới 1 thiết lập lần lần lần lịch trình Thời gian hoạt động Thời gian hoạt động Thời gian hoạt động trong ngày: 8h – 17h trong ngày: 7h – 18h trong ngày: 6h – 18h Thời gian tưới cây: 6s Thời gian tưới cây: 10s Thời gian tưới cây: 15s Lịch trình đề xuất: Lịch trình đề xuất: Lịch trình đề xuất:

Thông số Khu vực số 1 Khu vực số 2 Khu vực số 3

Lần tưới 08:00:00 Lần tưới 07:00:00 Lần tưới 06:00:00 thứ 1: thứ 1: thứ 1:

Lần tưới 11:00:00 Lần tưới 09:00:00 Lần tưới 18:00:00 thứ 2: thứ 2: thứ 2:

Lần tưới 14:00:00 Lần tưới 11:00:00 thứ 3: thứ 3:

Lần tưới 17:00:00 Lần tưới 13:00:00 thứ 4: thứ 4:

Kết quả thử nghiệm

- Hệ thống có khả năng kiểm soát đa thiết bị trên cùng một ứng dụng di động. Giúp cho việc theo dõi và chăm sóc cây tại các khu vực khác nhau dễ dàng hơn

- Dữ liệu thu được từ các thiết bị khác nhau bao gồm: dữ liệu môi trường, thông báo, cảnh báo; được quản lý riêng biệt và chính xác.

- Thông số dữ liệu môi trường sống của cây được thu về liên tục và thay đổi theo thời gian thực.

- Lịch trình được thiết lập cụ thể, dễ dàng theo dõi Các hoạt động tưới cây được thực hiện đúng theo lịch đã đề ra.

- Thông báo và cảnh báo được gửi đúng thông tin và mô tả đúng hoạt động. b Minh họa chức năng

Chức năng tạo mới và quản lý đa thiết bị: Người dùng sử dụng chức năng quản lý thiết bị để tạo mới thiết bị, phục vụ cho việc thiết lập tham số, lịch trình và theo dõi thông số môi trường của cây trồng Hệ thống cung cấp tính năng theo dõi đa thiết bị trên cùng một tài khoản Với mỗi một tài khoản đăng nhập, người dùng có thể thêm nhiều mã thiết bị khác nhau, giúp cho việc theo dõi và chăm sóc các loại cây trồng khác nhau tiện lợi và dễ dàng hơn Hình 4.3 minh hoạt chức năng tạo mới một thiết bị Hình 4.4 minh họa các mã thiết bị thuộc 3 khu vực được quản lý trên ứng dụng di động Hình 4.5, Hình 4.6, Hình 4.7 minh họa thông số về độ ẩm đất và nhiệt độ tại 3 khu vực.

Hình 4.3: Màn hình thêm mới thiết bị Hình 4.4: Màn hình quản lý thiết bị

Hình 4.5: Thông số môi trường cụm thiết Hình 4.6: Thông số môi trường cụm bị số 1 thiết bị số 2

Hình 4.7: Thông số môi trường cụm thiết bị số 3

Chức năng thiết lập tham số và tạo lịch trình: Hệ thống cung cấp khả năng cấu hình các tham số hệ thống một cách linh hoạt Các tham số được cấu hình về độ ẩm tối thiểu/tối đa, nhiệt độ tối thiểu/tối đa được xem như một ngưỡng giới hạn để hệ thống đánh giá môi trường sống của cây; bằng việc tùy chỉnh các tham số này, người dùng có thể theo dõi và nhận cảnh báo trên nhiều loại cây trồng khác nhau Một trong những điểm nổi bật nhất của hệ thống là việc cung cấp tính năng tạo lịch trình tưới cây dựa trên các tham số được người dùng thiết lập như khoảng thời gian hoạt động, tần suất tưới cây và hệ thống sẽ tự động tính toán và đưa ra lịch trình tưới cây cụ thể Dựa trên các mốc thời gian đã được tạo trên lịch trình, hệ thống sẽ thực hiện tưới cây đều đặn và đúng lượng nước cần thiết cho cây Điều này làm cho công việc chăm sóc cây trồng đơn giản hơn rất nhiều Người dùng có thể sử dụng lịch trình được cung cấp sẵn hoặc thực hiện chỉnh sửa tùy thuộc vào nhu cầu sử dụng, sau đó hệ thống sẽ thực hiện các công việc đã được lên lịch sẵn Với mỗi thiết bị khác nhau, sẽ có những lịch trình khác nhau được lập ra, tùy thuộc vào tham số đầu vào do người dùng cài đặt Hình 4.8 mô tả các trường thông tin khi thiết lập tham số ngưỡng cảnh báo và tham số lịch Hình 4.9 mô tả các lịch trình được tạo ra cho 3 khu vực trồng cây.

Hình 4.8: Màn hình thiết lập tham số Hình 4.9: Lịch trình tưới cây tự động

Chức năng xử lý thủ công: Ngoài việc tưới cây tự động thông qua lịch trình được thiết lập sẵn, hệ thống còn cung cấp tính năng tưới cây thủ công Chức năng được phát triển để hỗ trợ khi người dùng có nhu cầu kích hoạt lập tức máy bơm nước để tưới cho cây Hình 4.10 minh họa chức năng kích hoạt thủ công các cổng chính và phụ của hệ thống Hình 4.11 minh họa chức năng truy vấn các thông báo liên quan đến hoạt động kích hoạt thủ công và tìm kiếm thông báo theo mã thiết bị.

Hình 4.10: Màn hình kích hoạt tưới Hình 4.11: Thông báo khi thực hiện cây thủ công tưới cây thủ công

Chức năng truy vấn thông báo: Các thông báo về hoạt động chăm sóc cây và cảnh báo môi trường sống của cây sẽ được gửi về cho người dùng thông qua ứng dụng di động Hệ thống cung cấp khả năng truy xuất thông báo tập trung hoặc tìm kiếm riêng cho từng mã thiết bị Từ đó hỗ trợ người dùng nắm bắt thông tin chính xác và tức thời Hình 4.12 minh họa chức năng truy vấn các thông báo trong quá trình chăm sóc cây Hình 4.13 minh họa chức năng tìm kiếm thông báo theo mã thiết bị.

Hình 4.12: Màn hình thông báo tập trung Hình 4.13: Tìm kiếm thông báo theo mã thiết bị

Chức năng truy vấn thông tin cây trồng: Hệ thống cung cấp một kho dữ liệu tập trung lưu trữ các thông tin về đặc điểm, môi trường sống, … của cây trồng Hỗ trợ người dùng trong việc tham khảo cách thức để trồng cây hiệu quả Từ đó giải quyết được vấn đề về thiếu hụt kinh nghiệm trồng cây Hình 4.14 cho thấy màn hình danh sách các loại cây trồng được Hình 4.15 mô tả chi tiết thông tin về một loại cây trồng cụ thể.

Hình 4.14: Màn hình thư viện cây Hình 4.15: Màn hình thông tin cây trồng trồng

Chức năng quản lý cây trồng: Thông tin về các loại cây trồng sẽ được quản trị viên tạo, cập nhật thông qua chức năng quản lý cây trồng.

Hình 4.16: Trang quản lý cây trồng

Hình 4.17: Trang chi tiết cây trồng

Từ kết quả cài đặt và thử nghiệm cho thấy hệ thống có khả năng ứng dụng được vào thực tế để giảm thiểu các tác động của con người trong việc trồng và chăm sóc cây trồng tại nhà Kết luận chung cho toàn bộ đề tài và định hướng giải pháp tương lai sẽ được đề ra tại chương 5.

Ngày đăng: 04/06/2023, 11:34

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Gardenpals, "Houseplant Statistics in 2022 (incl. Covid & Millennials)," 09 05 2022. [Online]. Available: https://gardenpals.com/houseplant-statistics/ Sách, tạp chí
Tiêu đề: Houseplant Statistics in 2022 (incl. Covid & Millennials)
[2] H Lubis, RF Rahmat, J Karansa and S Purnamawati, "Monitoring System of Rice Plant Growth Using Microcontroller Sensor," Indonesia, 2019 Sách, tạp chí
Tiêu đề: Monitoring System ofRice Plant Growth Using Microcontroller Sensor
[3] Niamul Hassan, Shihab Ibne Abdullah and Ahmad Shams Noor, "An automatic monitoring and control system inside greenhouse,"Bangladesh, 2015 Sách, tạp chí
Tiêu đề: An automatic monitoring and control system inside greenhouse
[4] Birasalapati Doraswamy, "Automatic Irrigation System using Arduino Controller," India, 2016 Sách, tạp chí
Tiêu đề: Automatic Irrigation System using ArduinoController
[5] Jirapond Muangprathuba, Nathaphon Boonnama, Siriwan Kajornkasirata, Narongsak Lekbangponga, Apirat Wanichsombata and Pichetwut Nillaorb,"IoT and agriculture data analysis for smart farm," Thailand, 2019 Sách, tạp chí
Tiêu đề: IoT and agriculture data analysis for smart farm
[6] Punitha.K, Shivaraj, Sudarshan Gowda and Devarajnayaka R, "Automated Plant Watering System," India Sách, tạp chí
Tiêu đề: AutomatedPlant Watering System
[7] Công ty cổ phần đầu tư thương mại dịch vụ Tin Cậy, "Ảnh Hưởng Của Độ Ẩm Đất Đến Cây Trồng," [Online]. Available: https://tincay.com/anh-huong-cua-do-am-dat-den-cay-trong/ Sách, tạp chí
Tiêu đề: Ảnh Hưởng Của Độ ẨmĐất Đến Cây Trồng
[8] Trung tâm cây giống nông nghiệp Việt, "Ảnh hưởng của nhiệt độ tới sự sinh trưởng cây trồng," [Online]. Available: https://giongcaytrong.org/kt-trong-cay/ki-thuat-trong-cay-an-qua/anh-huong-cua-yeu-to-nhiet-do-toi-su-sinh-truong-phat-trien-cua-cay-trong-77.html Sách, tạp chí
Tiêu đề: Ảnh hưởng của nhiệt độ tới sự sinhtrưởng cây trồng
[9] Wikipedia, "Arduino," [Online]. Available:https://vi.wikipedia.org/wiki/Arduino Sách, tạp chí
Tiêu đề: Arduino
[10] Loc4atnt, "Giới Thiệu Về Board UNO WIFI - WeMos D1," 28 09 2017. [Online]. Available: http://arduino.vn/bai-viet/1769-gioi-thieu-ve-board-uno-wifi-wemos-d1-kha-tien-loi-cho-iot#:~:text=WEMOS%20D1%20R2%20l%C3%A0%20kit,v%C3 %A0%20%C4%91i%E1%BB%81u%20khi%E1%BB%83n%20qua%20Wifi Sách, tạp chí
Tiêu đề: Giới Thiệu Về Board UNO WIFI - WeMos D1
[11] Đ. H. Toàn, "Cảm biến độ ẩm đất và những ứng dụng hay của nó," 29 06 2016.[Online]. Available: http://arduino.vn/bai-viet/917-cam-bien-dat-va-nhung-ung-dung-hay-cua-no Sách, tạp chí
Tiêu đề: Cảm biến độ ẩm đất và những ứng dụng hay của nó
[12] hwlibre, "DHT11: tất cả về cảm biến đo nhiệt độ và độ ẩm," [Online].Available: https://www.hwlibre.com/vi/dht11/ Sách, tạp chí
Tiêu đề: DHT11: tất cả về cảm biến đo nhiệt độ và độ ẩm
[13] Arathi Reghukumar and Vaidehi Vijayakumar, "Smart Plant Watering System with Cloud Analysis and Plant Health Prediction," 2019 Sách, tạp chí
Tiêu đề: Smart Plant Watering System with Cloud Analysis and Plant Health Prediction
[14] Ipin Prasojo, Andino Maseleno, Omar tanane and Nishith Shahu, "Design of Automatic Watering System Based on Arduino," 2020 Sách, tạp chí
Tiêu đề: Design ofAutomatic Watering System Based on Arduino
[15] Maria Beata Inka Astutiningtyas, Monika Margi Nugraheni and Suyoto, "Automatic Plants Watering System for Small Garden," Indonesia, 2021 Sách, tạp chí
Tiêu đề: Automatic Plants Watering System for Small Garden
[16] Abhishek, Akash and Dr. Pn Sudha, "Automatic Plant Watering System Using Arduino," India, 2021 Sách, tạp chí
Tiêu đề: Automatic Plant Watering System UsingArduino
[17] Kotni.Naga Siva and Raj Kumar.G, "Smart watering of plants," India, 2019 Sách, tạp chí
Tiêu đề: Smart watering of plants
[18] Ima Primisima, Sunny Arief Sudiro and Bheta Agus Wardijono, "Automatic plant watering controller component using FPGA device," Indonesia, 2015 Sách, tạp chí
Tiêu đề: Automaticplant watering controller component using FPGA device
[19] Manisha Mayuree, Priyanka Aishwarya and Prof. Bagubali A, "Automatic Plant Watering System," India, 2019 Sách, tạp chí
Tiêu đề: AutomaticPlant Watering System
[20] Abhishek Gupta, Shailesh Kumawat and Shubham Garg, "Automatic Plant Watering System," India, 2016 Sách, tạp chí
Tiêu đề: Automatic PlantWatering System

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

TÀI LIỆU LIÊN QUAN

w