Phần 4. Sử dụng IoT để dự đoán sự phát triển của cây trồng

0
1191

Cây trồng cần những yếu tố nhất định để phát triển như nước, CO2, chất dinh dưỡng, ánh sáng và nhiệt độ. Bài viết này giới thiệu cách tính tốc độ phát triển và trưởng thành của cây trồng dựa vào việc đo nhiệt độ không khí.

Một số nội dung chính của bài viết:

1. Giới thiệu nông nghiệp kỹ thuật số

2. Vai trò của nhiệt độ trong canh tác nông nghiệp?

3. Cách đo nhiệt độ môi trường xung quanh

4. Cách tính cấp độ phát triển (GDD-Growing degree days)

5. Tính toán GDD bằng cách sử dụng dữ liệu cảm biến nhiệt độ

1. Giới thiệu nông nghiệp kỹ thuật số

Chúng ta hiện đang trong thời kỳ “Cuộc cách mạng công nghiệp lần thứ tư” và sự trỗi dậy của nông nghiệp kỹ thuật số được gọi là “Cuộc cách mạng nông nghiệp lần thứ tư”, hay “Nông nghiệp 4.0”.

Thuật ngữ “Nông nghiệp kỹ thuật số” gồm toàn bộ quá trình từ khi bắt đầu gieo trồng đến khi sử dụng sản phẩm: theo dõi chất lượng sản phẩm khi vận chuyển thực phẩm và chế biến, nhà kho và hệ thống thương mại điện tử, thậm chí cả ứng dụng cho thuê máy kéo.

Những thay đổi này cho phép nông dân tăng năng suất, sử dụng ít phân bón, thuốc trừ sâu hơn và tưới nước hiệu quả hơn. Mặc dù kỹ thuật này chủ yếu được sử dụng ở các quốc gia phát triển, nhưng giá cả các cảm biến và các thiết bị khác đang có xu hướng giảm giúp các quốc gia đang phát triển dễ tiếp cận hơn.

Một số kỹ thuật trong “nông nghiệp kỹ thuật số”:

Đo nhiệt độ: cho phép dự đoán sự phát triển và trưởng thành của cây.

Tưới nước tự động: đo độ ẩm của đất và bật hệ thống tưới khi đất quá khô thay vì tưới theo thời gian cố định. Tưới nước theo thời gian định trước có thể làm cho cây trồng bị thiếu nước trong thời gian khô nóng, hoặc tưới quá nhiều kể cả khi mưa. Việc chỉ tưới nước khi đất cần giúp tối ưu hóa việc sử dụng nước.

Kiểm soát sâu bệnh: Có thể gắn camera trên robot hoặc máy bay không người lái tự động để kiểm tra sâu bệnh, từ đó chỉ sử dụng thuốc trừ sâu khi cần thiết giúp giảm lượng thuốc trừ sâu sử dụng và chảy vào nguồn nước tại địa phương.

Thuật ngữ “Nông nghiệp chính xác” để định nghĩa việc quan sát, đo lường và phản ứng với cây trồng trên cơ sở từng cánh đồng, thậm chí trên từng bộ phận của cánh đồng; bao gồm đo lượng nước, chất dinh dưỡng, mức độ sâu bệnh và đưa ra những quyết định chính xác như chỉ tưới nước cho một phần nhỏ của cánh đồng.

2. Vai trò của nhiệt độ trong canh tác nông nghiệp?

Nhiệt độ có vai trò rất quan trọng trong sự phát triển của cây trồng. Trong qua trình canh tác, nhiệt độ có thể được phân thành nhiệt độ cơ bản, nhiệt độ tối thiểu, nhiệt độ tối ưu và nhiệt độ tối đa, tất cả đều dựa trên nhiệt độ trung bình hàng ngày.

– Nhiệt độ cơ bản: là nhiệt độ trung bình hàng ngày tối thiểu cần thiết để cây phát triển.

Nhiệt độ tối ưu: là nhiệt độ trung bình hàng ngày tốt nhất để cây phát triển tốt nhất.

Nhiệt độ tối đa: là nhiệt độ tối đa mà cây trồng có thể chịu được. Ở trên ngưỡng này, cây sẽ ngừng sinh trưởng.

Nhiệt độ trung bình: là trung bình của nhiệt độ ngày và đêm. Cây trồng cũng cần nhiệt độ ngày và đêm khác nhau để quang hợp hiệu quả hơn và tiết kiệm năng lượng vào ban đêm.

Mỗi loài thực vật có nhiệt độ cơ bản, tối ưu và tối đa khác nhau. Đây là lý do tại sao một số loài cây phát triển mạnh ở các nước nóng và một số loài phát triển tốt hơn ở các nước lạnh.

Biểu đồ trên cho thấy một ví dụ về tốc độ tăng trưởng của cây theo nhiệt độ. Cho đến dưới nhiệt độ cơ bản, cây không phát triển; tốc độ tăng trưởng tăng dần đến nhiệt độ tối ưu, sau khi đạt đến đỉnh thì tốc độ tăng trưởng giảm khi nhiệt độ tiếp tục tăng. Ở nhiệt độ tối đa cây ngừng phát triển.

Hình dạng của biểu đồ này thay đổi tùy theo loài cây trồng. Một số loài có mức giảm mạnh hơn với nhiệt độ trên mức tối ưu còn một số loài có mức tăng chậm hơn từ cơ bản đến mức tối ưu.

Để cây trồng phát triển tốt nhất, cần biết ba giá trị nhiệt độ và hiểu hình dạng của biểu đồ cho cây đang trồng.

Ví dụ, khi trồng cà chua thì đặt nhiệt độ khoảng 25°C vào ban ngày và 20°C vào ban đêm để cây phát triển nhanh nhất. Kết hợp các nhiệt độ này với ánh sáng nhân tạo, phân bón và kiểm soát mức CO2 là người trồng có thể trồng và thu hoạch quanh năm.

3. Cách đo nhiệt độ môi trường xung quanh

Sử dụng cảm biến nhiệt độ cùng các thiết bị IoT để đo nhiệt độ môi trường xung quanh.

* Cách đo nhiệt độ

Các link bên dưới sẽ hướng dẫn cách sử dụng thiết bị IoT để theo dõi nhiệt độ.

Arduino – Wio Terminal

Single-board computer – Raspberry Pi

Single-board computer – Virtual device

4. Cách tính cấp độ phát triển

Cấp độ phát triển (GDD) là một cách đo lường sự phát triển của thực vật dựa trên nhiệt độ. Giả sử cây có đủ nước, chất dinh dưỡng và CO2, thì nhiệt độ quyết sẽ định tốc độ phát triển của cây.

GDD được tính hàng ngày bằng nhiệt độ trung bình (0C) trong một ngày so với nhiệt độ cơ bản của cây. Mỗi cây trồng cần một số GDD nhất định để phát triển, ra hoa hoặc kết trái và thu hoạch. Càng nhiều GDD mỗi ngày, cây sẽ phát triển càng nhanh.

Công thức đầy đủ cho GDD khá phức tạp nên để đơn giản, thường sử dụng phép tính gần đúng theo phương trình sau:

GDD: Số lượng growing degree days

Tmax: Nhiệt độ tối đa hàng ngày tính bằng 0C

Tmin: Nhiệt độ tối đa hàng ngày tính bằng 0C

Tbase: Nhiệt độ cơ bản của cây trồng tính bằng 0C

(Bỏ qua với những trường hợp đặc biệt với Tmax > 30°C hoặc Tmin < Tbase)

Ví dụ: Trồng cây ngô

Tùy thuộc vào giống, ngô cần từ 800 đến 2.700 GDD để trưởng thành, với nhiệt độ cơ bản Tbase = 100C.

Ngày đầu tiên cao hơn nhiệt độ cơ bản, mức nhiệt đo được như sau:

Nhiệt độ tối đa Tmax 160C;  nhiệt độ tối thiểu Tmin 120C

Áp dụng công thức trên, tính được GDD= 4

Ngô nhận được 4 GDD vào ngày hôm đó. Giả sử một giống ngô cần 800 GDD ngày để trưởng thành, nó sẽ cần 796 GDD khác để đạt độ chín.

5. Tính toán GDD bằng cách sử dụng dữ liệu cảm biến nhiệt độ

Cây trồng không phát triển đúng theo ngày cố định, ví dụ người nông dân không thể gieo hạt và chắc chắn cây sẽ kết trái đúng 100 ngày sau. Nhưng người trồng sẽ có sơ bộ thời gian cây trồng phát triển, từ đó kiểm tra hàng ngày xem khi nào được thu hoạch. Điều này cần nhiều nhân lực đối với trang trại lớn và có nguy cơ khiến người nông dân bỏ lỡ những vụ mùa nếu cây đến độ thu hoạch sớm hơn dự kiến nhiều. Bằng cách đo nhiệt độ, người nông dân có thể tính toán GDD mà cây trồng đã nhận được, cho phép chỉ kiểm tra khi cây gần đến độ chín dự kiến.

Sử dụng thiết bị IoT để thu thập dữ liệu nhiệt độ, người nông dân có thể nhận được thông báo tự động khi cây gần đến độ chín. Một kiến ​​trúc điển hình là yêu cầu các thiết bị IoT đo nhiệt độ, sau đó publish dữ liệu đo từ xa này qua Internet bằng cách sử dụng giao thức như MQTT. Server code sẽ thu và lưu dữ liệu này, sau đó phân tích dữ liệu như tính toán GDD trong ngày, tính tổng GDD cho mỗi vụ mùa và cảnh báo nếu cây gần đến ngày thu hoạch.

Server code có thể tăng cường dữ liệu bằng cách thêm thông tin bổ sung. Ví dụ: thiết bị IoT có thể publish địa chỉ để biết đó là thiết bị nào, server code sử dụng mã này để tra cứu vị trí của thiết bị và cây trồng mà nó đang theo dõi hoặc có thể thêm dữ liệu cơ bản như thời gian hiện tại vì một số thiết bị IoT không có phần cứng để theo dõi thời gian chính xác hoặc yêu cầu code bổ sung để đọc thời gian hiện tại qua Internet.

* Cách publish thông tin nhiệt độ

Làm theo hướng dẫn để publish dữ liệu nhiệt độ qua MQTT bằng thiết bị IoT:

Arduino – Wio Terminal

Single-board computer – Raspberry Pi/Virtual IoT device

 * Cách thu thập và lưu trữ thông tin nhiệt độ

Khi thiết bị IoT đang publish phép đo từ xa, server code được viết để đăng ký và lưu dữ liệu này vào file CSV theo các hàng giá trị dưới dạng văn bản, trong đó mỗi giá trị được cách nhau bằng dấu phẩy và mỗi bản được ghi trên một dòng mới.

File CSV có hai cột: ngày và nhiệt độ. Cột ngày được đặt là ngày và giờ hiện tại mà server nhận được tin nhắn, nhiệt độ được lấy từ tin nhắn đo từ xa.

1. Lặp lại các bước trong bài “Phần 3. Kết nối thiết bị IoT với Internet” để tạo server code để đăng ký đo từ xa. Không cần thêm code để publish các lệnh.

– Định cấu hình và kích hoạt Môi trường ảo Python

– Cài đặt paho-mqtt pip package

– Viết code để thu các tin nhắn MQTT được publish về chủ đề đo từ xa.

Đặt tên thư mục cho chủ đề là: temperature-sensor-serve.

2. Đảm bảo client_name đúng chủ đề này:

   client_name = id + 'temperature_sensor_server'

3. Thêm các lần nhập sau vào đầu tệp, bên dưới các lần nhập hiện có:

from os import path
import csv
from datetime import datetime

Nhập thư viện để đọc file, thư viện để tương tác với file CSV và thư viện để trợ giúp về ngày và giờ.

4. Thêm code sau vào trước hàm handle_telemetry:

temperature_file_name = 'temperature.csv'
fieldnames = ['date', 'temperature']

if not path.exists(temperature_file_name):
    with open(temperature_file_name, mode='w') as csv_file:
        writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
        writer.writeheader()

   Code này khai báo một số hằng số cho tên file cần ghi và tên cột cho file CSV. Hàng đầu tiên của file CSV chứa các tiêu đề cột. Sau đó, code sẽ kiểm tra xem file CSV tồn tại chưa. Nếu không tồn tại, nó sẽ được tạo với các tiêu đề cột trên hàng đầu tiên.

5. Thêm code sau vào cuối hàm handle_telemetry:

with open(temperature_file_name, mode='a') as temperature_file:        
    temperature_writer = csv.DictWriter(temperature_file, fieldnames=fieldnames)
    temperature_writer.writerow({'date' : datetime.now().astimezone().replace(microsecond=0).isoformat(), 'temperature' : payload['temperature']})

Code này mở file CSV, sau đó thêm một hàng mới vào cuối. Hàng có dữ liệu và thời gian hiện tại được định dạng để người dùng có thể đọc được, tiếp theo là nhiệt độ nhận được từ thiết bị IoT. Dữ liệu được lưu trữ ở định dạng ISO 8601 với múi giờ, nhưng không có micro giây.

6. Chạy code này theo cách như trước, đảm bảo rằng thiết bị IoT đang gửi dữ liệu. File CSV có tên là temperature.csv được tạo trong cùng một thư mục có thông tin ngày/giờ và các phép đo nhiệt độ:     

date,temperature
2021-04-19T17:21:36-07:00,25
2021-04-19T17:31:36-07:00,24
2021-04-19T17:41:36-07:00,25

Nên chạy code này cả ngày để thu thập đủ dữ liệu cho các tính toán của GDD. Khi đó, chú ý đảm bảo máy tính không chuyển sang chế độ sleep, bằng cách thay đổi cài đặt nguồn hoặc giữ cho hệ thống hoạt động tập lệnh Python. Có thể tìm thấy code này trong code-server/temperature-sensor-server

Nếu đang sử dụng Thiết bị IoT ảo, chọn hộp kiểm ngẫu nhiên trong một phạm vi để tránh nhiệt độ giống nhau.

* Cách tính toán GDD bằng cách sử dụng dữ liệu được lưu trữ

Khi server đã thu thập dữ liệu nhiệt độ, có thể tính toán được GDD cho một nhà máy.

Thực hiện thủ công theo các bước sau:

1. Tìm nhiệt độ cơ bản cho cây. Ví dụ, đối với dâu tây là 10°C.

2. Từ temperature.csv, tìm nhiệt độ cao nhất và thấp nhất trong ngày

3. Sử dụng công thức tính GDD cho trước đó để tìm GDD

Ví dụ: nếu nhiệt độ cao nhất trong ngày là 250C và thấp nhất là 120C thì GDD = 8,5

Do đó, trong trường hợp này, dâu tây nhận được 8,5 GDD. Dâu tây cần khoảng 250 GDD để kết trái nên cần thêm thời gian.

Biên dịch: Bắc Đặng

Để cập nhật tin tức công nghệ mới nhất và các sản phẩm của công ty AIoT JSC, vui lòng truy cập link: http://aiots.vn hoặc linhkienaiot.com

0 0 Phiếu bầu
Article Rating
Subscribe
Notify of
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả các bình luận