Giới thiệu dự án

Trong bối cảnh cách mạng công nghiệp 4.0 và quá trình chuyển đổi số trong nông nghiệp công nghệ cao (Smart Agriculture), việc tự động hóa giám sát vi khí hậu đóng vai trò quyết định đến năng suất cây trồng và hiệu quả sử dụng tài nguyên. Theo các báo cáo từ Tổ chức Lương thực và Nông nghiệp Liên Hợp Quốc (FAO) và MarketsandMarkets, các giải pháp nông nghiệp thông minh có khả năng giảm lãng phí tài nguyên nước từ 20% đến 30%, đồng thời cắt giảm tới 40% chi phí nhân công vận hành thủ công. Tuy nhiên, sự biến đổi thất thường của các thông số môi trường như nhiệt độ, độ ẩm không khí và độ ẩm đất nếu không được phát hiện kịp thời sẽ gây ra hiện tượng sốc nhiệt, thối rễ hoặc bùng phát dịch bệnh trên cây trồng, làm suy giảm 15% đến 25% sản lượng thu hoạch.

Vấn đề cốt lõi đặt ra là đa số các trang trại quy mô vừa và nhỏ tại Việt Nam vẫn sử dụng phương pháp giám sát tại chỗ (in-situ) mang tính định tính, ghi chép số liệu thủ công với độ trễ cao và không có cơ chế cảnh báo từ xa. Các hệ thống điều khiển công nghiệp chuyên dụng như PLC/SCADA ngoại nhập lại có chi phí đầu tư ban đầu rất lớn (dao động từ 1.000 USD đến hơn 5.000 USD cho một phân khu), đòi hỏi hạ tầng dây dẫn phức tạp và quy trình bảo trì chuyên sâu, gây khó khăn cho việc triển khai đại trà.

Đề tài "Đo, giám sát nhiệt độ và độ ẩm sử dụng Arduino kết nối qua mạng Internet" do sinh viên Phạm Thị Nhung thực hiện (chuyên ngành Điện Tự Động Công Nghiệp, Trường Đại học Quản lý và Công nghệ Hải Phòng, dưới sự hướng dẫn của TS. Đoàn Hữu Chức) được xây dựng nhằm giải quyết triệt để bài toán trên.

Mục tiêu cụ thể của dự án bao gồm:

  1. Nghiên cứu, thiết kế phần cứng tích hợp đa cảm biến đo đạc vi khí hậu gồm cảm biến nhiệt độ - độ ẩm không khí DHT11, cảm biến độ ẩm đất và module cảm biến nước mưa.
  2. Xây dựng khối vi xử lý trung tâm kết hợp giữa bo mạch phát triển vi điều khiển (Arduino Mega 2560/Uno) và vi điều khiển tích hợp Wi-Fi SoC ESP8266 NodeMCU.
  3. Lập trình giải thuật xử lý tín hiệu số, chuyển đổi tín hiệu tương tự sang số (ADC 10-bit), đồng thời đóng gói dữ liệu truyền thông không dây chuẩn IEEE 802.11 b/g/n dải tần 2.4GHz.
  4. Triển khai giao diện điều khiển và giám sát thời gian thực trên nền tảng đám mây Blynk IoT, cho phép truy cập qua ứng dụng di động Android mọi lúc, mọi nơi.
  5. Tự động hóa quá trình đóng/ngắt thiết bị chấp hành (máy bơm nước, còi cảnh báo) dựa trên ngưỡng tham chiếu vi khí hậu được thiết lập.
                    HỆ THỐNG GIÁM SÁT VI KHÍ HẬU IoT
                                   │
      ┌────────────────────────────┼────────────────────────────┐
      ▼                            ▼                            ▼
[Cảm biến DHT11]          [Cảm biến Độ ẩm đất]        [Cảm biến Nước mưa]
(Nhiệt độ & Độ ẩm KK)     (Điện áp biến thiên/DO)     (Mạch so sánh LM393)
      │                            │                            │
      └────────────────────────────┼────────────────────────────┘
                                   ▼
             [Khối Xử lý Biên: ESP8266 NodeMCU / Mega 2560]
                                   │
                   ┌───────────────┴───────────────┐
                   ▼                               ▼
          [Hiển thị LCD 16x2]             [Mạch Relay Cách ly]
          (Theo dõi tại chỗ)              (Bật/Tắt Bơm 220VAC)
                   │
                   ▼ (Wi-Fi 802.11 b/g/n - 2.4GHz)
           [Blynk Cloud Server]
                   │
                   ▼ (TCP/IP Secure Token)
         [Blynk Mobile App / Dashboard]

Phương pháp tiếp cận của dự án là tối ưu hóa kiến trúc nhúng biên (Edge Processing) kết hợp công nghệ IoT nguồn mở nhằm tối thiểu hóa chi phí phần cứng (dưới 30 USD cho toàn bộ hệ thống mẫu) mà vẫn duy trì độ tin cậy trong thu thập dữ liệu và phản hồi điều khiển.

Kết quả kỳ vọng định lượng của dự án:

  • Tần số lấy mẫu dữ liệu môi trường: 1Hz (chu kỳ 1 giây/lần).
  • Độ trễ truyền thông qua Internet đến ứng dụng di động: < 1.5 giây.
  • Dải đo nhiệt độ: 0°C đến 50°C với sai số thực nghiệm ±2°C; dải đo độ ẩm tương đối: 20% đến 90% RH với sai số ±5% RH.
  • Khả năng tự động ngắt/kích hoạt máy bơm phản hồi tức thời khi độ ẩm đất chạm ngưỡng cài đặt.

Phạm vi nghiên cứu tập trung vào mô hình ứng dụng cho các khu vườn ươm, nhà màng nông nghiệp vừa và nhỏ hoặc hệ sinh thái nhà thông minh (Smart Home) có sẵn hạ tầng mạng Wi-Fi 2.4GHz. Hạn chế hiện tại của đề tài là chưa tích hợp giao thức mạng diện rộng công suất thấp (LPWAN như LoRa) cho địa hình không có Wi-Fi và cảm biến độ ẩm đất dạng điện trở còn chịu ảnh hưởng của hiện tượng điện phân sau thời gian dài ngâm trong môi trường ẩm.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi tiến hành thiết kế hệ thống, việc so sánh các giải pháp đo đạc vi khí hậu hiện hữu là cơ sở để xác định khoảng trống công nghệ và tối ưu hóa chi phí:

Tiêu chí đánh giá Giám sát thủ công truyền thống Hệ thống PLC/SCADA công nghiệp Giải pháp IoT vi điều khiển (Đề tài)
Chi phí triển khai Rất thấp (chỉ tốn thiết bị đo cơ) Rất cao (20 - 100 triệu VNĐ) Thấp (< 1 triệu VNĐ)
Tính liên tục của dữ liệu Không liên tục, phụ thuộc lịch ghi Liên tục thời gian thực Liên tục thời gian thực (1Hz)
Truy cập & Điều khiển từ xa Không hỗ trợ Có (qua Web Server/VPN đắt tiền) Có (App di động qua Blynk Cloud)
Khả năng mở rộng node cảm biến Không Tốt nhưng cấu hình phức tạp Rất linh hoạt qua chuẩn I2C, 1-Wire, SPI
Yêu cầu trình độ vận hành Thủ công đơn giản Kỹ sư chuyên ngành tự động hóa Người dùng phổ thông
Mức độ tiêu thụ năng lượng 0W 20W - 100W 1.5W - 3W (Nguồn 5VDC)

Phân tích yêu cầu hệ thống theo mô hình MoSCoW:

  • Must Have (Bắt buộc có): Đọc chính xác giá trị nhiệt độ, độ ẩm không khí từ DHT11; đọc giá trị tương tự (ADC) và số (DO) từ cảm biến độ ẩm đất; hiển thị thông số lên màn hình LCD 16x2; gửi dữ liệu qua Wi-Fi lên nền tảng đám mây; tự động điều khiển Relay máy bơm khi đất khô.
  • Should Have (Nên có): Tích hợp cảm biến phát hiện mưa qua chip so sánh LM393 để phát cảnh báo âm thanh qua còi buzzer; giao diện điều khiển thủ công (Manual Override) trên smartphone.
  • Could Have (Có thể mở rộng): Lưu trữ biểu đồ nhiệt độ - độ ẩm theo tuần/tháng trên cơ sở dữ liệu đám mây; cảnh báo đẩy (Push Notification) khi thông số vượt ngưỡng an toàn.
  • Won't Have (Chưa thực hiện trong pha này): Nhận diện hình ảnh sâu bệnh qua camera AI biên; tích hợp mạng cảm biến không dây Mesh diện rộng.

Các thách thức kỹ thuật chính bao gồm: việc xử lý xung thời gian micro-giây của giao tiếp 1-Wire trên DHT11, giải quyết vấn đề sụt áp nguồn khi kích hoạt đồng thời module Wi-Fi ESP8266 và cuộn hút Relay 5V, cùng việc chống nhiễu tín hiệu Analog của đầu dò độ ẩm đất trong môi trường điện từ công nghiệp.

Thiết kế hệ thống

Kiến trúc hệ thống được phân tách thành 4 tầng chức năng rõ ràng:

  1. Tầng cảm nhận (Perception Layer):
    • Cảm biến DHT11: Sử dụng điện trở nhiệt NTC (Negative Temperature Coefficient) để đo nhiệt độ và màng polymer hút ẩm điện trở để đo độ ẩm tương đối.
    • Cảm biến độ ẩm đất: Đầu dò 2 cực cắm trực tiếp vào đất, hoạt động theo nguyên lý đo điện trở khối giữa hai bản cực kết hợp bộ so sánh điện áp kép LM393.
    • Cảm biến nước mưa: Tấm mạch in mạ Niken diện tích 54x40mm phát hiện giọt nước dựa trên sự suy giảm trở kháng bề mặt khi bị ướt.
  2. Tầng xử lý biên (Edge Processing Layer):
    • Bo mạch NodeMCU tích hợp vi điều khiển SoC ESP8266EX (lõi vi xử lý Tensilica L106 32-bit RISC, xung nhịp 80MHz/160MHz) và chip chuyển đổi giao tiếp UART CP2102.
    • Bo mạch phụ trợ Arduino Mega 2560 (vi điều khiển 8-bit ATmega2560, 54 chân Digital I/O, 16 kênh Analog Input, bộ nhớ Flash 256KB, SRAM 8KB) phục vụ các kịch bản đo đạc mở rộng nhiều kênh.
  3. Tầng mạng (Network Layer):
    • Giao thức mạng không dây chuẩn IEEE 802.11 b/g/n (tần số 2.4GHz), bảo mật WPA/WPA2-PSK. Dữ liệu đóng gói theo mô hình TCP/IP, gửi định kỳ qua giao thức nhúng của Blynk Server thông qua chuỗi Auth Token 32 ký tự định danh duy nhất.
  4. Tầng ứng dụng (Application Layer):
    • Ứng dụng Blynk Mobile trên nền tảng Android, cấu hình các Virtual Pins (chân ảo) để nhận luồng dữ liệu telemetry và gửi lệnh điều khiển trạng thái GPIO của mạch.
+-----------------------------------------------------------------------+
|                       KIẾN TRÚC PHẦN MỀM VÀ PHẦN CỨNG                |
+-----------------------------------------------------------------------+
|  [Sensors Layer]                                                      |
|  - DHT11 (GPIO D2 / 1-Wire Digital)                                   |
|  - Soil Moisture Sensor (Analog A0: 0-1023 / Digital D7)              |
|  - Rain Sensor Board (Digital DO / Analog AO)                         |
+-----------------------------------------------------------------------+
                                  │
                                  ▼
+-----------------------------------------------------------------------+
|  [Processing Layer: ESP8266 NodeMCU Firmware]                         |
|  - FreeRTOS SDK / Arduino Core for ESP8266 v3.0.2                     |
|  - Linear ADC Mapping Function: f(ADC) = 100 - (ADC/1023 * 100)       |
|  - Checksum Verification Algorithm (40-bit DHT frame)                 |
|  - Actuator Output: GPIO D0 -> Optocoupler -> Relay Module 5VDC       |
+-----------------------------------------------------------------------+
                                  │
                                  ▼
+-----------------------------------------------------------------------+
|  [Connectivity & Cloud: Blynk IoT Engine]                             |
|  - Wi-Fi 802.11 b/g/n Client (2.4 GHz)                                |
|  - Blynk Protocol over TCP Port 80/8080                               |
|  - Virtual Pin Mapping:                                               |
|      * V0: Gauge Display (Nhiệt độ °C)                                |
|      * V1: Gauge Display (Độ ẩm không khí %)                          |
|      * V2: Value Display (Độ ẩm đất %)                                |
|      * V3: Button Widget (Điều khiển cưỡng bức Bơm ON/OFF)            |
+-----------------------------------------------------------------------+

Technology Stack và phiên bản sử dụng:

  • Môi trường phát triển: Arduino IDE v1.8.19.
  • Thư viện nhúng: ESP8266WiFi.h (v1.0.0), BlynkSimpleEsp8266.h (v1.0.1), DHT.h (v1.4.4 của Adafruit), LiquidCrystal.h (v1.0.7).
  • Phần cứng vi điều khiển: ESP8266EX (Firmware NodeMCU 1.0), ATmega2560 (16MHz).
  • Phần mềm mô phỏng và layout: Fritzing v0.9.3b.

Methodology

Quy trình phát triển dự án được thực hiện theo mô hình phát triển mẫu lặp nhanh (Agile Prototyping) kết hợp phương pháp luận kỹ thuật V-model trong khâu kiểm thử hệ thống điện tử:

[Khảo sát lý thuyết] ──► [Thiết kế Sơ đồ mạch] ──► [Lập trình Driver nhúng]
                                                             │
[Nghiệm thu toàn diện] ◄── [Đo kiểm Thực nghiệm] ◄── [Tích hợp IoT Blynk]

Kế hoạch tiến độ triển khai chi tiết:

  • Giai đoạn 1 (Tuần 1 - 3): Nghiên cứu lý thuyết cảm biến nhiệt - ẩm, giao thức truyền thông Wi-Fi IEEE 802.11b/g/n và kiến trúc vi điều khiển ESP8266/ATmega2560.
  • Giai đoạn 2 (Tuần 4 - 6): Thiết kế sơ đồ nguyên lý trên Fritzing, chuẩn hóa mạch cấp nguồn 5VDC/2A hạ áp sang 3.3VDC cho SoC, hàn lắp mạch thử nghiệm trên Breadboard.
  • Giai đoạn 3 (Tuần 7 - 9): Viết chương trình điều khiển nhúng, cấu hình các ngắt mềm, xây dựng hàm đọc dữ liệu cảm biến và tích hợp thư viện truyền thông Blynk.
  • Giai đoạn 4 (Tuần 10 - 11): Thử nghiệm thực tế trong điều kiện phòng thí nghiệm và mô hình nhà kính mẫu, đo đạc sai số, hiệu chỉnh độ nhạy biến trở LM393.
  • Giai đoạn 5 (Tuần 12): Tổng hợp dữ liệu, đánh giá độ ổn định của hệ thống 24/7 và hoàn thiện báo cáo tốt nghiệp.

Đánh giá rủi ro và giải pháp khắc phục:

  • Rủi ro nghẽn luồng xử lý do hàm delay(): Thay thế cấu trúc chờ đồng bộ bằng hàm tính thời gian thực millis() hoặc sử dụng bộ định thời BlynkTimer để giải phóng vi điều khiển, đảm bảo duy trì kết nối mạng liên tục (Heartbeat packets).
  • Rủi ro sụt áp làm ESP8266 bị khởi động lại (Watchdog Reset): Mắc song song tụ hóa lọc nguồn $100\mu F$ và tụ gốm $100nF$ sát chân nguồn $V_{in}$ và $3.3V$ của NodeMCU.

Implementation và kết quả

Development process

Quá trình hiện thực hóa giải pháp tập trung vào 3 khối mã nguồn cốt lõi: giải mã tín hiệu cảm biến DHT11 qua giao tiếp 1-Wire, chuyển đổi tuyến tính giá trị cảm biến độ ẩm đất qua kênh ADC, và đồng bộ dữ liệu thời gian thực lên nền tảng đám mây Blynk.

  1. Thuật toán giao tiếp 1-Wire với cảm biến DHT11: Cảm biến DHT11 truyền dữ liệu dạng khung 40-bit nối tiếp sau khi nhận được xung kích hoạt từ vi điều khiển:
  • Vi điều khiển kéo chân dữ liệu xuống mức thấp (Low) tối thiểu $18ms$, sau đó kéo lên mức cao (High) $20-40\mu s$.
  • DHT11 phản hồi bằng cách kéo chân dữ liệu xuống mức thấp $54\mu s$, tiếp theo kéo lên mức cao $80\mu s$.
  • Dữ liệu 40-bit gồm: 8-bit phần nguyên độ ẩm + 8-bit phần thập phân độ ẩm + 8-bit phần nguyên nhiệt độ + 8-bit phần thập phân nhiệt độ + 8-bit Checksum kiểm tra lỗi.
  • Công thức kiểm tra tính toàn vẹn: $$\text{Checksum} = (\text{Byte}_1 + \text{Byte}_2 + \text{Byte}_3 + \text{Byte}_4) \land \text{0xFF}$$

Mã nguồn triển khai đọc dữ liệu và xuất ra màn hình LCD (trích từ chương trình đồ án):

#include <DHT.h>
#include <LiquidCrystal.h>

// Khởi tạo chân kết nối màn hình LCD 16x2 (RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

const int DHTPIN = 2;        // Chân DATA của DHT11 nối với Pin 2 Arduino
const int DHTTYPE = DHT11;   // Khai báo loại cảm biến DHT11
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);
  dht.begin();               // Khởi tạo giao tiếp với cảm biến DHT11
  lcd.print("He thong giam sat");
  delay(1000);
  lcd.clear();
}

void loop() {
  float h = dht.readHumidity();     // Đọc giá trị độ ẩm tương đối (%)
  float t = dht.readTemperature();  // Đọc giá trị nhiệt độ (°C)

  // Kiểm tra tính hợp lệ của dữ liệu trả về từ cảm biến
  if (isnan(t) || isnan(h)) {
    Serial.println("Loi doc du lieu tu cam bien DHT11!");
    lcd.setCursor(0, 0);
    lcd.print("Loi cam bien!");
    return;
  }

  // Xuất dữ liệu ra màn hình LCD 16x2
  lcd.setCursor(0, 0);
  lcd.print("Nhiet do: ");
  lcd.print(t, 1);
  lcd.print((char)223); // Ký tự độ
  lcd.print("C");

  lcd.setCursor(0, 1);
  lcd.print("Do am KK: ");
  lcd.print(h, 1);
  lcd.print(" %");

  delay(1000); // Tần số lấy mẫu định kỳ 1Hz
}
  1. Thuật toán xử lý tín hiệu độ ẩm đất và kết nối đám mây Blynk: Đầu ra tương tự (Analog Output) của cảm biến độ ẩm đất có dải điện áp $0 - 3.3V$ (hoặc $0 - 5V$) tương ứng với dải giá trị ADC 10-bit từ $0$ đến $1023$. Do đặc tính điện trở của đất: đất càng khô thì điện trở càng cao (điện áp ADC đo được càng lớn), đất càng ẩm thì điện trở càng nhỏ (điện áp ADC càng giảm). Thuật toán phải thực hiện hàm ánh xạ tỷ lệ nghịch để đưa về giá trị phần trăm độ ẩm trực quan:

$$\text{Độ ẩm (%)} = 100 - \left( \frac{\text{Giá trị ADC}}{1023} \times 100 \right)$$

Mã nguồn nạp cho SoC ESP8266 NodeMCU tích hợp Blynk Cloud và điều khiển máy bơm:

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

#define DO_AM_PIN D7  // Chân Digital đọc trạng thái ngưỡng từ module so sánh LM393
#define ADC_PIN   A0  // Chân Analog đọc giá trị điện áp biến thiên từ que đo (0 - 1.0V max ESP8266)
#define RELAY_PUMP D0 // Chân điều khiển Relay kích hoạt máy bơm nước

// Cấu hình thông số mạng và Token xác thực trên Blynk Server
char auth[] = "TL7A7vnE5uz5Omo2uJhRExNWwMJf5St7";
char ssid[] = "He Thong IoT";
char pass[] = "88888888";

int gia_tri_adc = 0;
int do_am_phan_tram = 0;

void setup() {
  Serial.begin(115200);
  pinMode(DO_AM_PIN, INPUT);
  pinMode(RELAY_PUMP, OUTPUT);
  digitalWrite(RELAY_PUMP, LOW); // Đảm bảo ban đầu máy bơm tắt

  // Kết nối Wi-Fi và đồng bộ với Blynk Cloud
  Blynk.begin(auth, ssid, pass);
}

void loop() {
  Blynk.run(); // Duy trì kết nối TCP và xử lý các sự kiện từ ứng dụng Blynk

  gia_tri_adc = analogRead(ADC_PIN);
  
  // Ánh xạ dải ADC (0-1023) sang thang đo phần trăm (0-100%) và nghịch đảo giá trị
  do_am_phan_tram = map(gia_tri_adc, 0, 1023, 0, 100);
  do_am_phan_tram = 100 - do_am_phan_tram;

  // Gửi giá trị độ ẩm đất lên chân ảo V2 của Blynk Dashboard
  Blynk.virtualWrite(V2, do_am_phan_tram);

  // Thuật toán điều khiển tự động máy bơm theo ngưỡng độ ẩm đất
  if (do_am_phan_tram < 40) { // Nếu độ ẩm đất dưới 40% (đất bị khô)
    digitalWrite(RELAY_PUMP, HIGH); // Kích hoạt Relay bật máy bơm nước
    Blynk.virtualWrite(V3, 1);      // Cập nhật trạng thái đèn báo bơm trên App
    Serial.println("Do am thap -> Dang kich hoat may bom tuoi nuoc...");
  } else if (do_am_phan_tram >= 70) { // Đất đã đủ ẩm
    digitalWrite(RELAY_PUMP, LOW);  // Ngắt Relay dừng máy bơm
    Blynk.virtualWrite(V3, 0);      // Cập nhật trạng thái tắt trên App
    Serial.println("Do am dat toi uu -> Da ngat may bom.");
  }

  delay(1000); // Chu kỳ gửi dữ liệu 1 giây
}

Testing và validation

Hệ thống đã trải qua quá trình kiểm thử thực nghiệm nghiêm ngặt tại phòng thí nghiệm và môi trường thực tế trong 14 ngày liên tục.

Các kịch bản kiểm thử (Test Scenarios):

  1. Kiểm thử độ chính xác cảm biến DHT11: Đối chiếu giá trị đo được với ẩm kế chuẩn trong phòng thí nghiệm ở 5 mốc nhiệt độ ($20^\circ C, 25^\circ C, 30^\circ C, 35^\circ C, 40^\circ C$) và 4 mốc độ ẩm ($40%, 60%, 75%, 90%$). Kết quả ghi nhận sai số nhiệt độ trung bình là $\pm 1.2^\circ C$ (đạt tiêu chuẩn $\pm 2^\circ C$ của nhà sản xuất), sai số độ ẩm không khí trung bình là $\pm 4.3%$ RH (đạt tiêu chuẩn $\pm 5%$).
  2. Kiểm thử độ trễ truyền thông (Latency Benchmark): Đo thời gian từ lúc cảm biến nhận biến động vi khí hậu đến khi hiển thị cập nhật trên màn hình điện thoại qua mạng Wi-Fi và 4G. Độ trễ trung bình ghi nhận: $420ms$ (khi dùng Wi-Fi nội bộ) và $1.15s$ (khi dùng mạng di động 4G qua Blynk Cloud Server).
  3. Kiểm thử độ tin cậy của thuật toán đóng/ngắt tải: Tiến hành 100 lần thay đổi độ ẩm đất từ khô sang ướt nhân tạo. Tỷ lệ đóng ngắt relay chính xác đạt $100%$, không xảy ra hiện tượng chập chờn (relay chattering) nhờ thiết lập khoảng trễ trễ hysteresis ($40% - 70%$).

Kết quả đạt được

Hệ thống mẫu hoàn chỉnh đã đáp ứng toàn bộ các chỉ tiêu kỹ thuật đề ra trong nhiệm vụ đồ án tốt nghiệp:

Thông số / Tính năng Chỉ tiêu thiết kế ban đầu Kết quả thực nghiệm đạt được Trạng thái
Tần số lấy mẫu vi khí hậu 1.0 Hz (1s/lần) 1.0 Hz ổn định Đạt
Sai số đo nhiệt độ $\le \pm 2.0^\circ C$ $\pm 1.2^\circ C$ Vượt chỉ tiêu
Sai số đo độ ẩm không khí $\le \pm 5.0%$ RH $\pm 4.3%$ RH Đạt
Thời gian đáp ứng điều khiển bơm $< 2.0$ giây $< 0.8$ giây Vượt chỉ tiêu
Độ trễ truyền dữ liệu Internet $< 3.0$ giây $0.42 - 1.15$ giây Vượt chỉ tiêu
Khả năng hoạt động liên tục 72 giờ không lỗi 336 giờ (14 ngày) liên tục Vượt chỉ tiêu

Giao diện người dùng trên ứng dụng Blynk hiển thị trực quan thông số dạng kim đồng hồ (Gauge) và đồ thị thời gian thực (Real-time Graph), cho phép người quản lý nông trại dễ dàng theo dõi tình trạng sinh trưởng của cây trồng mà không cần có mặt trực tiếp tại hiện trường.


Đổi mới và đóng góp

  1. Đổi mới về mặt kỹ thuật phần cứng và kiến trúc hệ thống:

    • Tích hợp giải pháp lai (Hybrid Microcontroller Architecture): Thay vì chỉ sử dụng một bo mạch đơn lẻ, đề tài chứng minh tính khả thi của việc phối hợp giữa dòng vi điều khiển có số lượng chân vào/ra lớn (ATmega2560 với 54 chân Digital, 16 kênh Analog) để xử lý tập trung nhiều cảm biến tại chỗ với chip SoC ESP8266 chuyên trách kết nối mạng không dây, giúp giảm tải tính toán và ngăn ngừa hiện tượng nghẽn ngắt (interrupt blocking).
    • Cơ chế giám sát đa biến vi khí hậu đồng thời: Kết hợp đồng thời 3 thông số môi trường then chốt (nhiệt độ môi trường, độ ẩm không khí, độ ẩm tầng rễ đất) và cảm biến nước mưa bề mặt, tạo thành một hệ sinh thái giám sát khép kín thay vì chỉ đo một thông số nhiệt - ẩm đơn lẻ như các đề tài trước đây.
  2. So sánh định lượng với các giải pháp hiện hữu:

Đặc tính kỹ thuật Trạm quan trắc công nghiệp Davis Vantage Pro2 Mạch điều khiển hẹn giờ tưới cơ khí Hệ thống IoT Arduino - ESP8266 (Đề tài)
Kiến trúc dữ liệu Độc quyền, đóng kín Không có dữ liệu Mã nguồn mở, dễ dàng kết nối API/Cloud
Giá thành hoàn thiện 25 - 40 triệu VNĐ 300.000 - 500.000 VNĐ ~ 650.000 VNĐ
Phản hồi theo độ ẩm đất thực tế Có (phụ kiện mua thêm đắt) Hoàn toàn không (chỉ tưới theo giờ) Có (Tự động kích hoạt theo ngưỡng cảm biến)
Khả năng điều khiển từ xa Qua phần mềm hãng phức tạp Không hỗ trợ Qua App di động trực quan miễn phí
Khả năng tùy biến logic Rất thấp (hệ thống đóng) Không Rất cao (lập trình C/C++ trực tiếp)
  1. Đóng góp cho lĩnh vực đào tạo và ứng dụng thực tiễn:
    • Thúc đẩy giáo dục STEM/STEAM: Mô hình hệ thống là tài liệu tham khảo trực quan, chi tiết cho sinh viên ngành Điện Tự Động Công Nghiệp, Cơ điện tử và Kỹ thuật Điều khiển trong việc tiếp cận công nghệ IoT, lập trình nhúng C++ và thiết kế mạch điện tử ứng dụng.
    • Hiệu quả kinh tế - xã hội: Giúp người nông dân tiết kiệm 30% đến 40% lượng nước tưới tiêu thông qua cơ chế tưới theo nhu cầu thực của đất, giảm thiểu tối đa nguy cơ cháy nổ máy bơm nhờ cơ chế ngắt tự động, đồng thời giảm 100% thời gian giám sát trực tiếp tại vườn.

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng thực tế (Use Cases)

Hệ thống được thiết kế với tính ứng dụng cao trong nhiều mô hình sản xuất và đời sống:

  • Nhà màng nông nghiệp công nghệ cao (Smart Greenhouses): Giám sát nhiệt độ và độ ẩm không khí cho các vườn ươm hoa lan, nấm linh chi, dưa lưới xuất khẩu – những loại cây trồng đòi hỏi kiểm soát nghiêm ngặt về biên độ dao động ẩm độ.
  • Hệ thống tưới tự động cho cảnh quan đô thị và vườn gia đình (Smart Gardening): Lắp đặt cho các ban công chung cư, biệt thự vườn; tự động bơm nước khi đất khô và tự động ngưng bơm khi trời có mưa nhờ module cảm biến nước mưa LM393.
  • Giám sát vi khí hậu kho bảo quản nông sản, dược liệu: Đảm bảo độ ẩm trong kho thóc, hạt giống hoặc kho thuốc đông y luôn duy trì dưới ngưỡng phát sinh nấm mốc ($< 65%$ RH).
                             KỊCH BẢN TRIỂN KHAI THỰC TẾ
  ┌────────────────────────────────────────────────────────────────────────┐
  │                            NHÀ MÀNG NÔNG NGHIỆP                        │
  │                                                                        │
  │     [Cảm biến Mưa] ── (Bề mặt mái nhà màng)                            │
  │                                                                        │
  │     [Cảm biến DHT11] ── (Treo giữa tán cây 1.5m)                       │
  │                                                                        │
  │     [Đầu dò Độ ẩm đất] ── (Cắm sâu 10cm vùng rễ)                       │
  │              │                                                         │
  │              ▼                                                         │
  │     ┌─────────────────┐       (Wi-Fi 2.4GHz)     ┌──────────────────┐  │
  │     │ Hộp điều khiển  │ ────────────────────────► │ Router Wi-Fi 4G  │  │
  │     │ IP65 (ESP8266 + │                          └────────┬─────────┘  │
  │     │ Relay 5V + LCD) │                                   │            │
  │     └────────┬────────┘                                   │ (Internet) │
  │              │                                            ▼            │
  │              ▼ (220VAC)                         ┌───────────────────┐  │
  │     [Máy bơm tưới nhỏ giọt]                     │    Blynk Cloud    │  │
  │                                                 └─────────┬─────────┘  │
  └───────────────────────────────────────────────────────────┼────────────┘
                                                              ▼
                                                   [Smartphone Quản lý]

Hướng dẫn triển khai và phân tích kinh tế

Yêu cầu phần cứng để lắp đặt một trạm giám sát:

  • 01 Module NodeMCU ESP8266 (ESP-12E/CP2102).
  • 01 Cảm biến nhiệt độ - độ ẩm DHT11 kèm điện trở kéo $4.7k\Omega - 10k\Omega$.
  • 01 Cảm biến độ ẩm đất kèm module so sánh LM393.
  • 01 Module cảm biến nước mưa FC-37.
  • 01 Module Relay 5V cách ly quang (Optocoupler) 10A/250VAC.
  • 01 Màn hình LCD 16x2 kèm biến trở vi chỉnh $10k\Omega$.
  • 01 Bộ nguồn chuyển đổi AC-DC Adapter 5V/2A và vỏ hộp bảo vệ chuẩn IP65 chống nước.

Phân tích chi phí vật tư (Bill of Materials - BOM):

Thiết bị / Linh kiện Số lượng Đơn giá ước tính (VNĐ) Thành tiền (VNĐ)
Kit phát triển NodeMCU ESP8266 01 85.000 85.000
Cảm biến nhiệt ẩm DHT11 01 35.000 35.000
Cảm biến độ ẩm đất + LM393 01 25.000 25.000
Cảm biến mưa FC-37 01 25.000 25.000
Màn hình LCD 16x2 01 45.000 45.000
Module Relay 1 kênh 5V có opto 01 20.000 20.000
Nguồn Adapter 5V/2A + Dây cắm + Box IP65 01 bộ 120.000 120.000
Tổng chi phí phần cứng (BOM) 355.000 VNĐ

Ước tính hiệu quả đầu tư (ROI):

  • Chi phí đầu tư trạm: ~ 355.000 VNĐ (chưa tính máy bơm và công lắp đặt, tổng chi phí trọn gói ~ 650.000 VNĐ).
  • Tiết kiệm điện năng và nước: Giảm khoảng 50.000 VNĐ tiền điện/nước mỗi tháng cho một khu vườn 100m².
  • Tiết kiệm nhân công: Giảm 2 giờ tưới tiêu/ngày (tương đương 300.000 VNĐ chi phí nhân công/tháng).
  • Thời gian hoàn vốn đầu tư (Payback Period): Khoảng 2 đến 3 tháng.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  1. Độ bền đầu dò độ ẩm đất: Cảm biến độ ẩm đất sử dụng trong đồ án là loại cảm biến điện trở hở bản cực. Khi có dòng điện một chiều (DC) chạy liên tục qua hai bản cực cắm trong đất ẩm, hiện tượng điện phân (electrolysis) diễn ra làm mòn lớp mạ kim loại, dẫn đến sai số đo sau 3 - 6 tháng hoạt động liên tục.
  2. Giới hạn của cảm biến DHT11: Dải đo nhiệt độ chỉ từ $0^\circ C$ đến $50^\circ C$ và sai số độ ẩm $\pm 5%$ RH chưa thực sự tối ưu cho các môi trường công nghiệp khắc nghiệt hoặc phòng thí nghiệm tiêu chuẩn cao.
  3. Phụ thuộc hạ tầng Wi-Fi: Hệ thống sử dụng sóng Wi-Fi 2.4GHz nội bộ, khoảng cách truyền nhận bị giới hạn trong phạm vi 30m - 50m khi có vật cản và phụ thuộc hoàn toàn vào tính ổn định của đường truyền Internet tới máy chủ Blynk.

Hướng phát triển và mở rộng

  • Nâng cấp cảm biến công nghiệp: Thay thế cảm biến điện trở đất bằng Cảm biến độ ẩm đất điện dung (Capacitive Soil Moisture Sensor v1.2/v2.0) có phủ lớp chống ăn mòn; thay thế DHT11 bằng cảm biến SHT30 hoặc SHT35 giao tiếp I2C với độ chính xác nhiệt độ $\pm 0.2^\circ C$, độ ẩm $\pm 1.5%$ RH và dải đo mở rộng từ $-40^\circ C$ đến $+125^\circ C$.
  • Mở rộng giao thức truyền thông tầm xa: Tích hợp module LoRa SX1278 (433MHz/868MHz) hoặc RS485 Modbus RTU cho phép xây dựng mạng cảm biến không dây đa điểm (Wireless Sensor Network - WSN) trải rộng trên quy mô trang trại hàng chục hecta mà không cần phủ sóng Wi-Fi toàn khu.
  • Tự chủ máy chủ dữ liệu (Local Cloud / Edge Server): Cài đặt máy chủ MQTT Broker và nền tảng quản trị mở Home Assistant / Node-RED / InfluxDB trên máy tính nhúng Raspberry Pi, giúp hệ thống hoạt động hoàn toàn độc lập nội bộ ngay cả khi mất kết nối Internet quốc tế.
  • Ứng dụng Trí tuệ nhân tạo (AI/Machine Learning): Xây dựng thuật toán dự đoán nhu cầu bốc thoát hơi nước của cây trồng (Evapotranspiration - ET) dựa trên dữ liệu lịch sử nhiệt - ẩm, từ đó tự động tối ưu hóa lịch tưới nước thích ứng theo từng giai đoạn sinh trưởng của cây.

Đối tượng hưởng lợi

Hệ thống và toàn bộ tài liệu kỹ thuật của đồ án mang lại giá trị thiết thực cho nhiều nhóm đối tượng:

  • Sinh viên và Học viên kỹ thuật: Cung cấp tài liệu nghiên cứu ứng dụng thực tế chuẩn mực về lập trình vi điều khiển, kỹ thuật đọc tín hiệu cảm biến số/tương tự, giải mã giao thức 1-Wire và quy trình kết nối đám mây IoT; là nền tảng hoàn hảo để phát triển các đồ án môn học, đề tài tốt nghiệp chuyên ngành Điện - Điện tử, Tự động hóa và Công nghệ thông tin.
  • Kỹ sư và Lập trình viên nhúng (Embedded Developers): Tiếp cận các mẫu thiết kế phần cứng nhúng tối ưu chi phí, kỹ thuật xử lý tín hiệu chống dội phím, giải thuật điều khiển relay cách ly bảo vệ vi điều khiển khỏi xung điện áp ngược (Back-EMF).
  • Chủ trang trại và Hộ sản xuất nông nghiệp: Sở hữu giải pháp tự động hóa tưới tiêu chi phí thấp, dễ lắp đặt và bảo trì, giúp bảo vệ cây trồng khỏi các rủi ro thời tiết, tiết kiệm từ 30% đến 40% chi phí tài nguyên và nâng cao năng suất mùa vụ.
  • Cộng đồng Nghiên cứu Nông nghiệp thông minh: Cung cấp một nền tảng phần cứng mở (Open-source Hardware) có khả năng tùy biến cao để thu thập chuỗi dữ liệu vi khí hậu liên tục, phục vụ cho các nghiên cứu mô hình hóa sinh thái học và đánh giá tác động của biến đổi khí hậu.

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật phần cứng và nguồn điện tối thiểu để triển khai hệ thống là gì?

Hệ thống yêu cầu nguồn điện một chiều ổn định 5VDC với dòng định mức tối thiểu 2A cấp qua cổng Micro-USB hoặc chân $V_{in}$ của NodeMCU. Các cảm biến DHT11 và module LM393 hoạt động trong dải $3.3V - 5VDC$. Khi kích hoạt đồng thời vi điều khiển ESP8266 phát sóng Wi-Fi (dòng đỉnh $170mA$) và đóng cuộn hút Relay 5V (dòng khoảng $70mA$), bộ nguồn 5V/2A đảm bảo hệ thống không bị sụt áp gây hiện tượng khởi động lại đột ngột.

2. Khi mất kết nối Wi-Fi hoặc mất mạng Internet, hệ thống có tiếp tục hoạt động tưới tự động không?

Hệ thống vẫn duy trì khả năng tự động hóa cục bộ tại tầng biên. Nhờ thuật toán nhúng được nạp trực tiếp vào bộ nhớ Flash của vi điều khiển, ESP8266/Arduino liên tục đọc chân Analog A0 và Digital D7 để so sánh với ngưỡng cài đặt sẵn. Nếu độ ẩm đất xuống thấp, lệnh đóng Relay bật máy bơm vẫn diễn ra bình thường. Tuy nhiên, việc truyền dữ liệu lên ứng dụng điện thoại và các thao tác điều khiển cưỡng bức từ xa qua App sẽ tạm thời gián đoạn cho đến khi kết nối mạng được khôi phục.

3. Làm thế nào để tích hợp hệ thống với các nền tảng Smart Home khác như Home Assistant hay Apple HomeKit?

Hoàn toàn có thể tích hợp dễ dàng bằng cách thay đổi firmware của ESP8266. Thay vì sử dụng thư viện Blynk, lập trình viên có thể sử dụng thư viện PubSubClient.h để đóng gói dữ liệu cảm biến thành các bản tin JSON và xuất bản (Publish) lên một MQTT Broker trung tâm chạy trên Home Assistant. Từ Home Assistant, các thực thể nhiệt độ, độ ẩm và công tắc bơm sẽ tự động được nhận diện và đồng bộ lên Apple HomeKit hoặc Google Home.

4. Tần suất bảo trì và cách khắc phục hiện tượng ăn mòn que đo độ ẩm đất?

Đối với cảm biến điện trở hở, nên kiểm tra và làm sạch bề mặt tiếp xúc 1 tháng/lần để loại bỏ muối khoáng bám trên bản cực. Để khắc phục triệt để hiện tượng ăn mòn điện hóa, có hai giải pháp: (1) Thay thế bằng cảm biến độ ẩm đất dạng điện dung (Capacitive) không có kim loại hở tiếp xúc với đất; hoặc (2) Lập trình chân cấp nguồn cảm biến thông qua một chân GPIO của vi điều khiển, chỉ cấp điện cho cảm biến trong $50ms$ mỗi khi thực hiện phép đo rồi ngắt nguồn ngay lập tức.

5. Dự toán tổng chi phí và thời gian hoàn vốn thực tế cho một nhà vườn 100m²?

Tổng chi phí chế tạo hoàn chỉnh một trạm điều khiển IoT (gồm mạch điều khiển ESP8266, trọn bộ 3 cảm biến, màn hình hiển thị LCD, relay đóng cắt, hộp bảo vệ chống nước IP65 và phụ kiện nguồn) rơi vào khoảng 650.000 VNĐ. Với khả năng tiết kiệm nước, giảm điện năng tiêu thụ cho bơm tưới không tải và tiết kiệm 100% nhân công tưới hàng ngày, thời gian hoàn vốn ước tính chỉ mất từ 2 đến 3 tháng canh tác.


Kết luận

Đồ án tốt nghiệp "Đo, giám sát nhiệt độ và độ ẩm sử dụng Arduino kết nối qua mạng Internet" của tác giả Phạm Thị Nhung đã giải quyết thành công bài toán tự động hóa quan trắc vi khí hậu và điều khiển tưới tiêu thông minh với chi phí tối ưu. Dự án kết hợp hài hòa giữa nền tảng vi điều khiển Arduino/ESP8266, các module cảm biến chuyên dụng và hạ tầng đám mây Blynk IoT, mang lại một giải pháp công nghệ toàn diện từ tầng thu thập dữ liệu biên đến tầng hiển thị ứng dụng di động.

Những đóng góp chính của đề tài bao gồm:

  • Thiết kế và hoàn thiện thành công mô hình phần cứng thu nhỏ gọn nhẹ, hoạt động ổn định 24/7 với sai số đo đạc nằm trong ngưỡng cho phép của các tiêu chuẩn nông nghiệp công nghệ cao.
  • Xây dựng giải thuật xử lý tín hiệu chính xác, tự động hóa phản hồi đóng/ngắt thiết bị bơm tưới dựa trên độ ẩm đất thực tế với độ trễ thấp (< 1.5s).
  • Chứng minh tính khả thi của việc ứng dụng công nghệ IoT nguồn mở vào quá trình hiện đại hóa sản xuất nông nghiệp và chuyển đổi số nông thôn với chi phí đầu tư ban đầu cực thấp.

Trong các giai đoạn phát triển tiếp theo, việc nâng cấp lên cảm biến đo độ ẩm đất điện dung công nghiệp, tích hợp giao thức truyền thông tầm xa LoRaWAN và ứng dụng trí tuệ nhân tạo dự báo vi khí hậu sẽ giúp hoàn thiện hệ thống thành một sản phẩm thương mại hóa hoàn chỉnh, đóng góp tích cực vào sự phát triển của nền nông nghiệp thông minh bền vững.