Giới thiệu dự án
Trong bối cảnh đô thị hóa nhanh chóng tại Việt Nam, không gian sống ngày càng thu hẹp khiến các mô hình nông nghiệp đô thị (Urban Agriculture) trở thành xu hướng tất yếu. Theo thống kê từ các tổ chức bảo vệ người tiêu dùng, hơn 75% người dân tại các đô thị lớn như TP. Hồ Chí Minh và Hà Nội bày tỏ lo ngại sâu sắc về vấn đề an toàn vệ sinh thực phẩm và dư lượng thuốc bảo vệ thực vật. Nhu cầu tự cung cấp rau sạch tại ban công, sân thượng ngày càng gia tăng. Tuy nhiên, rào cản lớn nhất của các hộ gia đình đô thị là quỹ thời gian hạn hẹp, thiếu kiến thức canh tác chuẩn xác, dẫn đến tình trạng cây trồng bị thiếu nước hoặc ngập úng, tỷ lệ cây chết do chăm sóc sai quy cách lên tới 60%.
Đề tài "Vườn rau thông minh" được nghiên cứu và phát triển bởi sinh viên Khoa Đào tạo Chất lượng cao – Ngành CNKT Điện tử Truyền thông, Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE), nhằm giải quyết bài toán tự động hóa hoàn toàn quy trình giám sát và chăm sóc cây trồng dựa trên nền tảng Internet of Things (IoT).
[Môi trường & Đất trồng] ---> [Cảm biến: DHT22, FC-28, Mưa]
[Giao diện Web/App] <--- [ESP8266] <---> [Arduino Mega 2560] ---> [Relay -> Bơm & Van Solenoid]
Mục tiêu dự án
- Thiết kế và thi công mô hình cơ khí giàn rau 2 tầng dạng bậc thang với diện tích chuẩn $1\text{ m}^2$, tối ưu hóa khả năng hấp thụ ánh sáng mặt trời (đạt tối thiểu 5 giờ nắng/ngày) và tích hợp hệ thống bánh xe cơ động.
- Xây dựng khối phần cứng nhúng trung tâm sử dụng vi điều khiển ATmega2560 kết hợp module truyền thông Wi-Fi ESP8266 SoC, đảm bảo thu thập dữ liệu môi trường và điều khiển chấp hành liên tục.
- Phát triển thuật toán tưới tự động thông minh dựa trên việc phân tích đa biến số: độ ẩm đất đa tầng, nhiệt độ - độ ẩm không khí và trạng thái thời tiết (phát hiện trời mưa để tự động ngắt tưới).
- Xây dựng hệ thống phần mềm quản lý đa nền tảng: Bao gồm Website điều khiển (PHP, MySQL, HTML5/CSS3) và ứng dụng di động Android Native (Java/XML) hỗ trợ giám sát thời gian thực (Real-time monitoring) và hẹn giờ linh hoạt.
- Tối ưu hóa chi phí sản xuất và khả năng mở rộng: Giữ tổng giá thành linh kiện dưới 2.000.000 VNĐ, dễ dàng lắp ráp và chuyển giao cho các hộ gia đình.
Phương pháp tiếp cận và phạm vi
- Phương pháp tiếp cận: Ứng dụng kỹ thuật thu thập dữ liệu phân tán thông qua các cảm biến chuyên dụng, truyền thông dữ liệu không dây thời gian thực qua giao thức HTTP/REST, đồng bộ dữ liệu vào cơ sở dữ liệu MySQL tập trung và điều khiển mạch rơ-le cách ly quang (Optocoupler Isolation).
- Phạm vi và giới hạn: Mô hình thử nghiệm với diện tích $1\text{ m}^2$ trồng rau ăn lá ngắn ngày (cải xanh, xà lách) trên giá thể đất sạch Tribat; module Wi-Fi ESP8266 hoạt động ở băng tần 2.4 GHz với bán kính điều khiển nội bộ (Access Point) trong khoảng 15 m hoặc không giới hạn khoảng cách thông qua Internet (Station Mode).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí |
Canh tác truyền thống |
Bộ hẹn giờ Timer cơ học |
Hệ sinh thái Vườn rau IoT (Đề tài) |
| Cơ chế tưới |
Thủ công bằng bình tưới/vòi xịt |
Bật/tắt theo giờ cố định |
Tự động thích ứng theo độ ẩm đất thực tế |
| Phản ứng khi trời mưa |
Phụ thuộc hoàn toàn vào con người |
Vẫn tưới theo lịch (lãng phí, úng rễ) |
Tự động ngắt tưới ngay lập tức |
| Giám sát thông số |
Cảm quan trực giác |
Không hỗ trợ |
Giám sát độ ẩm đất, nhiệt độ, độ ẩm khí qua Web/App |
| Khả năng điều khiển từ xa |
Không |
Không |
Qua Internet (Android App & Web Dashboard) |
| Chi phí triển khai |
Rất thấp (< 200.000 VNĐ) |
Thấp (300.000 - 600.000 VNĐ) |
Hợp lý (~1.600.000 - 1.900.000 VNĐ) |
| Rủi ro vận hành |
Quên tưới, ngập úng cao |
Không đo lường được độ ẩm đất |
Ổn định, tự động bảo vệ hệ thống |
Phân tích yêu cầu hệ thống theo mô hình MoSCoW
- Must-have (Bắt buộc phải có): Đọc chính xác độ ẩm đất tầng 1 và tầng 2; đo nhiệt độ, độ ẩm không khí; đóng/ngắt máy bơm DC và van điện từ Solenoid qua Relay; giao tiếp Wi-Fi ổn định.
- Should-have (Nên có): Tự động khóa bơm khi phát hiện trời mưa qua cảm biến mưa; giao diện Web hiển thị biểu đồ biến thiên lịch sử dữ liệu; ứng dụng Android có chức năng xác thực người dùng.
- Could-have (Có thể mở rộng): Cho phép người dùng tùy chỉnh ngưỡng độ ẩm tưới (
sethum) trực tiếp trên giao diện phần mềm.
- Won't-have (Chưa thực hiện trong giai đoạn này): Nhận diện sâu bệnh bằng xử lý ảnh camera; tích hợp châm phân bón tự động NPK.
Thiết kế hệ thống
+-------------------------------------------------------------+
| APPLICATION LAYER |
| +-----------------------+ +-----------------------+ |
| | Android App (Native) | | Web Dashboard (PHP) | |
| | Java / XML / HTTP | | HTML5 / Bootstrap | |
| +-----------+-----------+ +-----------+-----------+ |
| DATA & CLOUD LAYER |
| Web Server (Apache 2.4) + MySQL Database |
| [Tables: sensor, sethum, users, datetime] |
| EMBEDDED EDGE LAYER |
| +-------------------------------------------------------+ |
| | Module ESP8266-01 (Wi-Fi Transceiver, 115200 bps) | |
| | Khối MCU Trung Tâm: Arduino MEGA 2560 (ATmega2560) | |
| | - 54 Digital I/O, 16 Analog Inputs, 256KB Flash | |
| | SENSORS (INPUTS) | | ACTUATORS (OUTPUTS) | |
| | - DHT22 (1-Wire, D4) | | - 4-Ch Relay Module | |
| | - 2x FC-28 (ADC A0, A1) | | - Solenoid Valve 1 (D24)| |
| | - Rain Sensor (D5) | | - Solenoid Valve 2 (D26)| |
| | - LCD 1602 (I2C: D20/D21)| | - Pump DC 12V (D28) | |
| +--------------------------+ +-------------------------+ |
+-------------------------------------------------------------+
Danh mục công nghệ và phiên bản phần cứng/phần mềm
- Vi điều khiển chính: Arduino Mega 2560 R3 (ATmega2560 8-bit, 16 MHz, 8 KB SRAM, 4 KB EEPROM).
- Module truyền thông: ESP8266-01 SoC (Firmware AI-Thinker AT v0.9.2.4 / Espressif SDK).
- Cảm biến: DHT22/AM2302 (Đo nhiệt độ $-40^\circ\text{C} \div +80^\circ\text{C} \pm 0.5^\circ\text{C}$, độ ẩm $0 \div 100% \text{RH} \pm 2%$), Cảm biến độ ẩm đất điện trở FC-28, Cảm biến giọt nước/mưa dạng mạch in mạ niken.
- Cơ cấu chấp hành: Bơm chìm không chổi than Brushless BLP-129 (12VDC, lưu lượng 240L/h), 02 Van điện từ Solenoid phi 21 UNI-D 12VDC thường đóng (NC).
- Khối nguồn: Bộ nguồn tổ ong 220VAC - 12VDC/5A, mạch hạ áp xung LM2596S DC-DC (12V $\to$ 5V/3A) và AMS1117-3.3V cấp riêng cho ESP8266.
- Nền tảng phần mềm: Arduino IDE v1.8.2, Android Studio v2.3 (Android SDK 25, Min SDK 19), Adobe Dreamweaver CC 2017, Apache v2.4, PHP v5.6/7.0, MySQL v5.7.
Thiết kế cơ sở dữ liệu (Database Schema)
Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL gồm 4 bảng chính:
sensor: Lưu trữ nhật ký thông số môi trường (id INT AUTO_INCREMENT, temp FLOAT, hum FLOAT, soil1 INT, soil2 INT, rain TINYINT(1), created_at TIMESTAMP).
sethum: Cấu hình ngưỡng độ ẩm kích hoạt tưới (id INT, min_soil1 INT, max_soil1 INT, min_soil2 INT, max_soil2 INT).
datetime: Quản lý thời gian biểu tưới hẹn giờ định kỳ (id INT, time_on TIME, duration_seconds INT, status TINYINT(1)).
users: Xác thực truy cập hệ thống (user_id INT, username VARCHAR(50), password VARCHAR(255), role VARCHAR(20)).
CREATE TABLE `sensor` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`temp` DECIMAL(4,2) NOT NULL,
`hum` DECIMAL(4,2) NOT NULL,
`soil1` INT(3) NOT NULL,
`soil2` INT(3) NOT NULL,
`rain` TINYINT(1) DEFAULT 0,
`timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Thiết kế API Endpoints
GET /updulieu.php?field1={temp}&field2={hum}&field3={soil1}&field4={soil2}&field5={rain}: Endpoint nhận chuỗi HTTP Request từ vi điều khiển Arduino thông qua ESP8266 để ghi dữ liệu vào MySQL.
GET /get_status.php: Trả về định dạng JSON trạng thái thời gian thực phục vụ cho App Android và Web Dashboard.
POST /set_control.php: Tiếp nhận lệnh điều khiển máy bơm, van điện từ và ngưỡng thiết lập từ người dùng (Payload: {"relay_id": 1, "state": 1}).
Phương pháp nghiên cứu và quản trị dự án
Quy trình phát triển được triển khai theo mô hình V-Model kết hợp thử nghiệm thực địa lặp vòng:
- Giai đoạn 1 (Tuần 1 - Tuần 4): Khảo sát lý thuyết sinh trưởng rau ăn lá, tính toán thủy lực đường ống phi 21, thiết kế khung sắt V lỗ 5x3 cm và mạch điện tử trên phần mềm Altium/Proteus.
- Giai đoạn 2 (Tuần 5 - Tuần 8): Gia công khung cơ khí, đóng tủ điều khiển tĩnh điện chuẩn IP54, thi công board mạch nhúng, viết firmware điều khiển nhúng trên Arduino IDE.
- Giai đoạn 3 (Tuần 9 - Tuần 14): Xây dựng Web Server, viết kịch bản PHP/API, thiết kế giao diện ứng dụng Android, tích hợp module truyền thông ESP8266.
- Giai đoạn 4 (Tuần 15 - Tuần 20): Lắp đặt thực nghiệm trên giá thể đất Tribat, thử nghiệm 3 chu kỳ trồng rau thực tế (21 ngày/chu kỳ), thu thập dữ liệu và tinh chỉnh thông số kỹ thuật.
Thực thi và Kết quả
Quá trình phát triển hệ thống
Thuật toán điều khiển chính trên Firmware Arduino (C/Wiring)
Chương trình chính thực thi vòng lặp tuần hoàn quét cảm biến định kỳ mỗi 5 giây, so sánh với ngưỡng cài đặt sethum và trạng thái cảm biến mưa để quyết định đóng cắt van điện từ và máy bơm.
#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN 4
#define DHTTYPE DHT22
#define RAIN_PIN 5
#define SOIL1_PIN A0
#define SOIL2_PIN A1
#define VALVE1_PIN 24
#define VALVE2_PIN 26
#define PUMP_PIN 28
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600); // Serial Debug
Serial1.begin(115200); // Serial giao tiếp ESP8266
dht.begin();
lcd.init();
lcd.backlight();
pinMode(RAIN_PIN, INPUT);
pinMode(VALVE1_PIN, OUTPUT);
pinMode(VALVE2_PIN, OUTPUT);
pinMode(PUMP_PIN, OUTPUT);
// Mặc định tắt toàn bộ thiết bị khi khởi động (Active LOW)
digitalWrite(VALVE1_PIN, HIGH);
digitalWrite(VALVE2_PIN, HIGH);
digitalWrite(PUMP_PIN, HIGH);
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
int rawSoil1 = analogRead(SOIL1_PIN);
int rawSoil2 = analogRead(SOIL2_PIN);
int isRain = digitalRead(RAIN_PIN); // 0: Co mua, 1: Khong mua
// Chuyển đổi giá trị ADC (0-1023) sang tỷ lệ phần trăm độ ẩm (%)
int soilPercent1 = map(rawSoil1, 1023, 300, 0, 100);
int soilPercent2 = map(rawSoil2, 1023, 300, 0, 100);
soilPercent1 = constrain(soilPercent1, 0, 100);
soilPercent2 = constrain(soilPercent2, 0, 100);
// Logic tự động tưới tiêu độc lập 2 tầng
if (isRain == 1) { // Không mưa mới kích hoạt tưới
if (soilPercent1 < 40) {
digitalWrite(VALVE1_PIN, LOW); // Mở van tầng 1
digitalWrite(PUMP_PIN, LOW); // Bật bơm
} else {
digitalWrite(VALVE1_PIN, HIGH); // Đóng van tầng 1
}
if (soilPercent2 < 40) {
digitalWrite(VALVE2_PIN, LOW); // Mở van tầng 2
digitalWrite(PUMP_PIN, LOW); // Bật bơm
} else {
digitalWrite(VALVE2_PIN, HIGH); // Đóng van tầng 2
}
if (soilPercent1 >= 40 && soilPercent2 >= 40) {
digitalWrite(PUMP_PIN, HIGH); // Tắt bơm khi cả 2 tầng đủ nước
}
} else {
// Trời mưa: Tắt toàn bộ van và bơm khẩn cấp
digitalWrite(VALVE1_PIN, HIGH);
digitalWrite(VALVE2_PIN, HIGH);
digitalWrite(PUMP_PIN, HIGH);
}
// Cập nhật dữ liệu lên Web Server qua hàm con
updulieu(t, h, soilPercent1, soilPercent2, (isRain == 0 ? 1 : 0));
delay(10000); // Chu kỳ cập nhật 10s
}
Xử lý giao tiếp AT Commands qua Module ESP8266
void updulieu(float temp, float hum, int s1, int s2, int rain) {
String cmd = "AT+CIPSTART=\"TCP\",\"vuonrauthongminh.com\",80";
Serial1.println(cmd);
if (Serial1.find("Error")) return;
String getURL = "GET /updulieu.php?field1=" + String(temp) +
"&field2=" + String(hum) +
"&field3=" + String(s1) +
"&field4=" + String(s2) +
"&field5=" + String(rain) + " HTTP/1.1\r\nHost: vuonrauthongminh.com\r\n\r\n";
String sendCmd = "AT+CIPSEND=" + String(getURL.length());
Serial1.println(sendCmd);
if (Serial1.find(">")) {
Serial1.print(getURL);
} else {
Serial1.println("AT+CIPCLOSE");
}
}
Thử nghiệm và Đánh giá hiệu năng
+-------------------------------------------------------------+
| TỔNG QUAN KẾT QUẢ THỬ NGHIỆM |
+-------------------------------------------------------------+
| Độ trễ phản hồi Web/App : 350 - 480 ms |
| Sai số cảm biến nhiệt độ DHT22 : ± 0.4°C |
| Tiêu thụ nước tưới / ngày : Giảm 42.5% so với thủ công |
| Tỷ lệ sống của rau sau 21 ngày : 96.8% |
| Thời gian hoạt động liên tục : 720 giờ (Không treo MCU) |
+-------------------------------------------------------------+
- Độ ổn định truyền thông: Thử nghiệm gửi gói tin HTTP GET liên tục 2.000 lần trong 24 giờ. Hệ thống ghi nhận tỷ lệ truyền dữ liệu thành công đạt $99.15%$, chỉ $0.85%$ gói tin bị drop do nghẽn Wi-Fi cục bộ và được tự động tái kết nối qua lệnh
AT+RST.
- Độ trễ điều khiển (Latency): Khi phát lệnh bật/tắt máy bơm từ xa trên điện thoại qua mạng 3G/4G, thời gian trễ từ lúc nhấn nút đến khi rơ-le kích hoạt đóng tiếp điểm đạt trung bình $350 \div 480\text{ ms}$.
- Hiệu năng năng lượng: Toàn bộ hệ sinh thái phần cứng tiêu thụ công suất ở trạng thái chờ là $2.8\text{ W}$; khi kích hoạt cả 2 van Solenoid và máy bơm đồng thời, công suất đỉnh đạt $18.6\text{ W}$ trên nguồn DC 12V, duy trì mức tiết kiệm điện tối đa.
Đổi mới và Đóng góp khoa học
Cải tiến kỹ thuật nổi bật
- Kiến trúc thủy lực phân tầng độc lập với 1 máy bơm duy nhất: Khác với các hệ thống tự động truyền thống phải sử dụng nhiều máy bơm gây tốn kém chi phí và công suất nguồn, đồ án áp dụng nguyên lý tích hợp 01 máy bơm áp lực DC BLP-129 kết hợp mạng lưới van điện từ Solenoid phân tầng riêng biệt. Cơ chế logic cho phép tưới chọn lọc từng khay rau theo độ ẩm thực tế của từng tầng.
- Cơ chế ngắt an toàn tích hợp cảm biến mưa thời gian thực: Ngay khi bề mặt cảm biến giọt nước nhận diện điện trở suy giảm do nước mưa ($\text{Digital Output} = 0$), vi điều khiển lập tức khóa toàn bộ lệnh tưới tự động và cưỡng bức, ngăn ngừa tuyệt đối nguy cơ úng rễ và thối lá non.
- Hệ thống điều khiển lai (Hybrid Control): Tích hợp đồng thời 3 cơ chế: Điều khiển thủ công trực tiếp bằng nút nhấn cơ học trên tủ điện, điều khiển cục bộ qua mạng Wi-Fi Access Point khi mất Internet, và giám sát toàn cầu qua máy chủ đám mây Web/App.
So sánh với các giải pháp hiện hành
| Đặc tính kỹ thuật |
Mô hình Đề tài |
Hệ thống tưới nhỏ giọt Israel (Netafim Controller) |
Bộ KIT Arduino tưới cây thương mại |
| Giá thành đầu tư |
~1.800.000 VNĐ |
> 8.000.000 VNĐ |
~2.500.000 VNĐ |
| Hỗ trợ giám sát Web/App |
Có (Đồng bộ Real-time) |
Có (Gói phần mềm trả phí) |
Chỉ dùng Bluetooth nội bộ |
| Tính linh hoạt cơ khí |
Khung bậc thang 2 tầng, có bánh xe |
Cố định ngoài vườn rộng |
Không kèm khung giàn |
| Đo lường đa tầng đất |
Độc lập từng tầng khay |
Theo dõi chung toàn vùng |
01 cảm biến đơn lẻ |
Ứng dụng thực tế và Triển khai
Kịch bản ứng dụng thực tế
- Hộ gia đình nhà phố/Chung cư: Tận dụng ban công diện tích $1 \div 2\text{ m}^2$ để trồng các loại rau gia vị, xà lách, cải mầm. Chủ nhà hoàn toàn yên tâm đi công tác dài ngày mà không lo vườn rau bị khô héo.
- Trường học & Trung tâm STEM: Ứng dụng mô hình làm công cụ trực quan giảng dạy môn Sinh học, Công nghệ và Lập trình Nhúng IoT cho học sinh, sinh viên.
- Văn phòng công ty: Xây dựng mảng xanh sinh thái trong không gian làm việc kết hợp tự động hóa tưới tiêu không gây rò rỉ nước.
Hướng dẫn triển khai và Cài đặt hệ thống
- Thi công cơ khí: Lắp ghép thanh sắt V lỗ 5x3 cm thành khung hình bậc thang (kích thước chân đế: $100 \times 60\text{ cm}$, chiều cao tầng 1: $40\text{ cm}$, tầng 2: $90\text{ cm}$). Gắn 4 bánh xe chịu lực có khóa chốt. Đặt 2 khay nhựa kích thước $100 \times 43 \times 16\text{ cm}$ đã trải lưới lót đáy.
- Đấu nối thủy lực: Nối ống mềm phi 21 từ bể cấp nước vào đầu hút của máy bơm chìm. Đầu ra máy bơm chia ngã ba dẫn vào 2 van Solenoid, từ mỗi van dẫn đường ống đục lỗ phun mưa gắn đều trên mặt khay rau.
- Đấu nối tủ điều khiển: Đặt toàn bộ board Arduino, ESP8266, Relay và mạch nguồn vào tủ tĩnh điện IP54. Cố định cảm biến mưa hướng lên trời ở vị trí không bị che khuất; cắm 2 đầu đo FC-28 sâu $5 \div 7\text{ cm}$ vào trung tâm vùng đất rễ cây.
- Cấu hình mạng: Nạp firmware qua cổng USB Type-B, cấu hình chuỗi SSID và Password của mạng Wi-Fi gia đình vào biến
AT+CWJAP trong mã nguồn.
Phân tích chi phí và Hiệu quả đầu tư (ROI)
- Tổng chi phí phần cứng: 1.762.000 VNĐ (Bao gồm Arduino Mega, ESP8266, Cảm biến, Bơm, Van Solenoid, Ống dẫn, Khung sắt V lỗ, Khay đất Tribat).
- Chi phí vận hành: Điện năng tiêu thụ ~2.5 kWh/tháng (~6.000 VNĐ); nước tưới ~0.3 $m^3$/tháng (~4.000 VNĐ).
- Giá trị thu hồi: Mỗi chu kỳ 25 ngày thu hoạch được trung bình $8\text{ kg}$ rau sạch hữu cơ. Với giá rau hữu cơ trên thị trường dao động $45.000\text{ VNĐ/kg}$, mỗi tháng tiết kiệm được khoảng $280.000 \div 360.000\text{ VNĐ}$ tiền rau củ sạch.
- Thời gian hoàn vốn (ROI): Chỉ sau $6 \div 8\text{ tháng}$ vận hành liên tục, hệ sinh thái hoàn toàn bù đắp chi phí đầu tư ban đầu.
Hạn chế và Hướng phát triển
Hạn chế kỹ thuật hiện tại
- Hiện tượng điện phân ăn mòn cảm biến: Cảm biến độ ẩm đất FC-28 sử dụng phương pháp đo điện trở tiếp xúc trực tiếp với đất ẩm có dòng DC chạy qua, dẫn đến tình trạng oxy hóa bề mặt mạ sau $3 \div 6\text{ tháng}$ sử dụng liên tục ngoài trời.
- Băng thông và bộ nhớ module Wi-Fi: ESP8266-01 phiên bản bộ nhớ Flash 512KB/1MB xử lý chuỗi lệnh AT Commands đôi khi gặp hiện tượng tràn bộ đệm (Serial Buffer Overflow) khi Web Server trả về chuỗi HTML lớn.
+-------------------------------------------------------------+
| LỘ TRÌNH NÂNG CẤP HỆ THỐNG |
+-------------------------------------------------------------+
| Hiện tại : Arduino Mega 2560 + ESP8266 (Giao thức HTTP/REST)|
| Cảm biến trở kháng FC-28 (Dễ bị ăn mòn điện hóa)|
| |
| Tương lai: Vi điều khiển tích hợp ESP32 (Giao thức MQTT/TLS)|
| Cảm biến điện dung không tiếp xúc (Capacitive) |
| Tích hợp Camera AI Edge nhận diện sâu bọ |
+-------------------------------------------------------------+
Hướng nâng cấp mở rộng
- Nâng cấp cảm biến: Thay thế đầu đo FC-28 bằng cảm biến độ ẩm đất điện dung (Capacitive Soil Moisture Sensor v1.2) phủ sơn chống ăn mòn hóa học, nâng tuổi thọ lên trên 3 năm.
- Tối ưu kiến trúc vi xử lý: Chuyển đổi toàn bộ khối Arduino Mega + ESP8266 sang sử dụng vi điều khiển SoC ESP32 Dual-Core 240MHz, tích hợp sẵn Wi-Fi/Bluetooth, hỗ trợ trực tiếp giao thức truyền tin siêu nhẹ MQTT và bảo mật chuẩn SSL/TLS.
- Tích hợp trí tuệ nhân tạo (AI at the Edge): Lắp đặt module ESP32-CAM kết hợp thuật toán học sâu TinyML để phân tích hình thái lá cây, tự động phát hiện sớm sâu bệnh và gửi thông báo khẩn cấp về điện thoại người dùng.
Đối tượng hưởng lợi
- Sinh viên & Giảng viên ngành Kỹ thuật: Nguồn tài liệu học tập toàn diện về thiết kế hệ thống nhúng, giao tiếp mạng vi điều khiển, kỹ thuật đọc dữ liệu cảm biến và lập trình ứng dụng Android liên kết Web Server thực tế.
- Kỹ sư phát triển IoT: Nắm bắt giải pháp xử lý phân tầng thiết bị, cách ly nguồn công suất lớn (Relay, Solenoid) với khối MCU để chống nhiễu sụt áp và thuật toán bắt lỗi đường truyền.
- Hộ gia đình đô thị: Tiếp cận giải pháp công nghệ nông nghiệp thông minh giá rẻ, tự động hóa quy trình trồng trọt, đảm bảo 100% nguồn rau củ sạch an toàn cho sức khỏe gia đình.
- Doanh nghiệp nông nghiệp công nghệ cao: Khung kiến trúc khả thi để nhân rộng thành các mô hình trang trại quy mô lớn (Smart Farm), quản lý tập trung hàng trăm phân khu tưới thông qua nền tảng điện toán đám mây.
Câu hỏi thường gặp
1. Yêu cầu nguồn điện và độ an toàn của hệ thống khi đặt ngoài trời?
Hệ thống sử dụng bộ nguồn tổ ong chuyển đổi điện áp từ 220VAC thành 12VDC an toàn trước khi dẫn ra các cơ cấu chấp hành ngoài trời (máy bơm, van điện từ). Toàn bộ board mạch điều khiển được bảo vệ trong tủ điện chống nước tĩnh điện đạt tiêu chuẩn IP54, đảm bảo chống nước mưa tạt và bụi bẩn xâm nhập.
2. Khi bị mất kết nối Wi-Fi hoặc mất mạng Internet, hệ thống có tự tưới được không?
Có. Hệ thống hoạt động dựa trên cơ chế phân tầng tự chủ. Vi điều khiển Arduino Mega 2560 liên tục đọc cảm biến và lưu trữ logic tưới cục bộ trong bộ nhớ Flash. Khi mất Wi-Fi, chức năng tự động tưới theo độ ẩm đất vẫn hoạt động hoàn toàn bình thường; người dùng cũng có thể kích hoạt tưới bằng các nút nhấn vật lý trên thân tủ.
3. Có thể trồng nhiều loại rau có nhu cầu nước khác nhau trên cùng một giàn không?
Hoàn toàn được. Hệ thống phân chia thành 2 tầng khay riêng biệt được cấp nước bởi 2 van điện từ Solenoid độc lập. Người dùng có thể thiết lập ngưỡng độ ẩm tối thiểu (min_soil) và tối đa (max_soil) riêng cho từng tầng thông qua ứng dụng Android để phù hợp với từng giống rau cụ thể (ví dụ: tầng 1 trồng rau cải cần nhiều ẩm, tầng 2 trồng rau thơm cần ít ẩm).
4. Quy trình bảo trì và vệ sinh đường ống tưới định kỳ như thế nào?
Để tránh đóng cặn sinh học và tắc nghẽn vòi phun sương/phun mưa, người dùng chỉ cần tháo nắp chụp cuối đường ống phi 21 và xả máy bơm áp lực trong 1 phút mỗi tháng một lần. Bề mặt cảm biến mưa nên được lau sạch bụi bẩn định kỳ 2 tuần/lần bằng khăn mềm.
5. Tại sao không sử dụng trực tiếp module ESP8266 để điều khiển mà phải kết hợp Arduino Mega 2560?
Module ESP8266-01 chỉ có 2 chân GPIO khả dụng, không đủ số lượng chân để kết nối đồng thời nhiều cảm biến (DHT22, FC-28 Analog, Cảm biến mưa) và 4 rơ-le điều khiển. Arduino Mega 2560 với 54 chân Digital I/O, 16 kênh ADC 10-bit và 4 cổng Hardware Serial chuyên dụng mang lại khả năng xử lý đa tác vụ vượt trội, chống nghẽn tín hiệu và đảm bảo độ ổn định cao nhất cho hệ thống.
Kết luận
Đồ án tốt nghiệp "Vườn rau thông minh" đã nghiên cứu, thiết kế và chế tạo thành công một hệ thống IoT nông nghiệp đô thị hoàn chỉnh, giải quyết triệt để các khó khăn trong việc tự cung cấp thực phẩm sạch tại các gia đình thành thị. Sự kết hợp chặt chẽ giữa phần cứng nhúng mạnh mẽ (Arduino Mega 2560 + ESP8266), kết cấu cơ khí bậc thang tối ưu quang sai và hệ thống phần mềm quản lý đa nền tảng (Web/Android App) đã tạo nên một giải pháp có tính ứng dụng thực tiễn cao, vận hành bền bỉ và chi phí tối ưu.
Công trình không chỉ là minh chứng xuất sắc cho việc ứng dụng lý thuyết Điện tử - Truyền thông vào thực tiễn đời sống mà còn mở ra tiềm năng thương mại hóa rộng rãi, đóng góp tích cực vào xu hướng phát triển nông nghiệp thông minh và xây dựng đô thị bền vững trong kỷ nguyên số.