Giới thiệu dự án
Bối cảnh và thực trạng ngành nông nghiệp công nghệ cao
Hoa lan là loài thực vật có giá trị kinh tế cao nhưng đòi hỏi quy trình chăm sóc nghiêm ngặt về tiểu khí hậu. Theo các khảo sát nông nghiệp kỹ thuật số, việc kiểm soát vi khí hậu thủ công tại các nhà vườn truyền thống dẫn đến tỷ lệ hao hụt cây giống từ 20% đến 35% do nấm bệnh, cháy lá hoặc úng rễ.
Môi trường tối ưu cho sự sinh trưởng của hoa lan (đặc biệt là các dòng lan nhiệt đới phổ biến):
- Nhiệt độ sinh trưởng: Ban ngày từ 27°C đến 32°C (80°F - 90°F), ban đêm từ 16°C đến 18°C (không dưới 10°C).
- Độ ẩm không khí: Dao động từ 60% đến 70% đối với cây trưởng thành và 70% đến 75% đối với cây con.
- Cường độ ánh sáng: Cần khoảng 70% ánh sáng mặt trời khuếch tán; quang phổ yêu cầu gồm dải ánh sáng xanh (phát triển sinh khối lá) và dải ánh sáng đỏ (kích thích phân hóa mầm hoa).
- Độ ẩm giá thể/đất: Đòi hỏi độ thông thoáng cao, duy trì độ ẩm vừa phải xung quanh rễ, tránh tưới đọng nước cục bộ.
Vấn đề kỹ thuật (Problem Statement)
Các hệ thống giám sát nhà kính truyền thống thường gặp các hạn chế sau:
- Hệ thống dây dẫn phức tạp: Sử dụng các cảm biến rời rạc hàn nối thủ công, dễ đứt gãy, nhiễu tín hiệu trong môi trường độ ẩm cao.
- Thiếu tính linh hoạt trong giao thức truyền thông: Hầu hết các vi điều khiển cũ (như ATmega328P hay PIC) không tích hợp sẵn kết nối không dây đa giao thức (WiFi, Bluetooth, LoRa).
- Độ trễ phản hồi cao: Việc điều khiển phụ thuộc hoàn toàn vào tác vụ thủ công của con người hoặc các mạch timer cơ học thiếu tính thích ứng thời gian thực.
- Thiếu kênh giám sát trực quan: Không có luồng hình ảnh thời gian thực để theo dõi trạng thái sâu bệnh và phát triển của hoa từ xa.
Mục tiêu dự án
- Thiết kế phần cứng hoàn chỉnh: Tích hợp vi điều khiển LoPy (lõi ESP32-PICO-D4) với hệ sinh thái cảm biến Lego M5Stack thông qua chuẩn giao tiếp công nghiệp Grove.
- Thu thập dữ liệu đa thông số: Đo đạc chính xác 4 chỉ số môi trường: Nhiệt độ, Độ ẩm không khí (ENV Sensor), Độ ẩm đất (Earth Sensor) và Cường độ ánh sáng (Light Sensor).
- Phát triển hệ thống điều khiển thông minh: Xây dựng cơ chế điều khiển tự động (Auto-regulation) kết hợp điều khiển thủ công và ra lệnh bằng giọng nói qua ứng dụng di động Android.
- Giám sát thời gian thực (Real-time Telemetry & Vision): Đồng bộ dữ liệu lên Firebase Realtime Database và nhúng luồng hình ảnh từ module camera không dây ESP32-CAM.
- Đóng gói mô hình thực nghiệm: Thi công mô hình nhà kính thu nhỏ hoàn chỉnh, đảm bảo khả năng đóng cắt an toàn cho quạt tản nhiệt, máy bơm phun sương và đèn LED chuyên dụng cho quang hợp.
Giải pháp kỹ thuật và phạm vi triển khai
- Vi điều khiển trung tâm: LoPy kết hợp mạch mở rộng Pycom Expansion Board 3.0, lập trình bằng nền tảng Arduino C++/MicroPython.
- Hệ thống cảm biến: Module Lego M5Stack tích hợp (ENV DHT12/BMP280 qua I2C, Light Sensor, Earth Sensor qua ADC).
- Bộ truyền thông & hiển thị: Giao tiếp WiFi 802.11 b/g/n, màn hình Grove LCD RGB Backlight (I2C), ESP32-CAM (truyền luồng ảnh qua HTTP/IP).
- Phần mềm điều khiển: Ứng dụng Android được phát triển trên nền tảng MIT App Inventor, giao tiếp 2 chiều với Firebase Realtime Database.
- Phạm vi & Giới hạn: Mô hình tập trung vào việc chuẩn hóa phần cứng IoT cho nhà kính quy mô vừa và nhỏ; hoạt động trong dải điện áp DC 3.3V - 12V và nguồn AC 220V cho hệ thống đèn quang hợp.
+-----------------------------------------------------------------------------------+
| LOPY GREENHOUSE IOT |
+------------------------------------+----------------------------------------------+
| Tham số giám sát vi khí hậu | Nhiệt độ, Độ ẩm khí, Độ ẩm đất, Ánh sáng |
| Độ phân giải nhiệt độ / độ ẩm | ±0.2°C / 0.1% RH (ENV DHT12 + BMP280) |
| Tốc độ đáp ứng cảm biến | 20 - 30 ms |
| Chu kỳ lấy mẫu dữ liệu | >= 2.0 giây |
| Thời gian đóng cắt Relay | <= 10 ms (Transistor S8050 + Diode 1N4148) |
| Giao thức truyền thông đám mây | WiFi 2.4GHz / Firebase REST / WebSocket JSON |
| Nền tảng điều khiển người dùng | Android App + Giọng nói (Voice Recognition) |
+------------------------------------+----------------------------------------------+
Phân tích và thiết kế giải pháp
Phân tích hiện trạng và giải pháp cạnh tranh
| Tiêu chí kỹ thuật |
Giải pháp Arduino Mega + ESP8266 |
Giải pháp STM32 + LoRa rời rạc |
Giải pháp Đề tài: LoPy + M5Stack Grove |
| Vi điều khiển chính |
ATmega2560 (8-bit, 16MHz) |
STM32F103C8T6 (32-bit, 72MHz) |
LoPy (ESP32-PICO-D4, Dual-Core 240MHz) |
| Giao thức mạng tích hợp |
Cần Module ESP8266 rời (UART) |
Cần Module SX1278 rời (SPI) |
Tích hợp sẵn WiFi, BLE, LoRa, Sigfox |
| Chuẩn kết nối cảm biến |
Dây cắm Breadboard / Hàn tay |
Domino / Header cắm chân |
Chuẩn cắm module Grove 4-pin chống cắm ngược |
| Cảm biến môi trường |
DHT11 (Sai số ±2°C, ±5% RH) |
SHT30 / DS18B20 rời |
M5Stack ENV (DHT12 + BMP280 chuẩn I2C, ±0.2°C) |
| Độ phức tạp phần cứng |
Rất cao, dễ lỏng dây nối |
Trung bình |
Rất thấp, dạng khối Lego Plug & Play |
| Giám sát trực quan |
Không có |
Không có |
Tích hợp ESP32-CAM truyền hình ảnh thời gian thực |
Phân loại yêu cầu hệ thống (MoSCoW Prioritization)
- Must-Have (Bắt buộc):
- Đọc chính xác dữ liệu từ cảm biến I2C (ENV) và ADC (Earth, Light).
- Tự động kích hoạt Relay đóng ngắt bơm phun sương khi đất khô hoặc độ ẩm < 60%.
- Tự động bật quạt tản nhiệt khi nhiệt độ > 32°C.
- Đồng bộ trạng thái lên Firebase Realtime Database trong vòng < 1 giây.
- Should-Have (Nên có):
- Màn hình LCD RGB Backlight đổi màu trạng thái và hiển thị thông số tại trạm.
- Ứng dụng Android có giao diện cài đặt ngưỡng kích hoạt và hẹn giờ (Timer).
- Khả năng điều khiển bằng giọng nói tiếng Việt qua Android Speech Recognizer.
- Could-Have (Có thể mở rộng):
- Luồng video trực tiếp từ ESP32-CAM nhúng trực tiếp vào giao diện App.
- Cảnh báo sai lệch mật khẩu đăng nhập trên ứng dụng di động.
- Won't-Have (Chưa triển khai trong giai đoạn này):
- Mạng Mesh LoRa diện rộng liên kết hàng trăm trạm đo (tập trung kiểm chứng trạm đơn qua WiFi).
Thiết kế kiến trúc hệ thống
graph TD
subgraph SENSORS["Lớp Cảm Biến (M5Stack Lego Modules)"]
S1["Cảm biến ENV (DHT12 + BMP280) - I2C"]
S2["Cảm biến Cường độ Ánh sáng (Light) - ADC"]
S3["Cảm biến Độ ẩm đất (Earth) - ADC"]
end
subgraph CONTROLLER["Lớp Xử Lý Trung Tâm (Pycom LoPy)"]
MCU["ESP32-PICO-D4 (240MHz, 4MB Flash, 520KB SRAM)"]
EXP["Pycom Expansion Board 3.0 (Nguồn LDO, Sạc LiPo)"]
end
subgraph ACTUATORS["Lớp Chấp Hành & Hiển Thị"]
LCD["Grove LCD RGB 16x2 (I2C)"]
RL1["Relay 1: Máy bơm phun sương (12V DC)"]
RL2["Relay 2: Quạt thông gió tản nhiệt (12V DC)"]
RL3["Relay 3: Đèn LED quang hợp 28W (220V AC)"]
end
subgraph VISION["Lớp Giám Sát Hình Ảnh"]
CAM["ESP32-CAM (OV2640 / OV7670) WebServer"]
end
subgraph CLOUD["Lớp Lưu Trữ & Điều Khiển Đám Mây"]
FB[("Firebase Realtime Database (JSON Tree)")]
end
subgraph CLIENT["Lớp Giao Diện Người Dùng"]
APP["Ứng dụng Android (App Inventor)"]
VOICE["Nhận diện giọng nói (Google Voice API)"]
end
S1 -->|SDA/SCL - Pin P9/P10| MCU
S2 -->|Analog Out - Pin P13| MCU
S3 -->|Analog Out - Pin P14| MCU
MCU -->|I2C Data| LCD
MCU -->|GPIO Output| RL1
MCU -->|GPIO Output| RL2
MCU -->|GPIO Output| RL3
MCU -->|WiFi 802.11 b/g/n - REST/JSON| FB
CAM -->|HTTP Stream| APP
FB <-->|Realtime Sync| APP
VOICE --> APP
Chi tiết Technology Stack & Thông số kỹ thuật linh kiện
-
Vi điều khiển LoPy (Pycom):
- SoC: Espressif ESP32-PICO-D4 (lõi kép Xtensa LX6 32-bit, xung nhịp lên đến 240MHz).
- Bộ nhớ: 520KB internal SRAM, 4MB Flash QSPI, 4MB external pSRAM, 448KB ROM.
- Kết nối: WiFi 802.11 b/g/n (150 Mbps), BLE 4.2, LoRa Node (868/915 MHz), Sigfox.
- Ngoại vi: 2x UART, 2x I2C, SPI, I2S, 8 kênh ADC 12-bit, 4 bộ Timer 16-bit PWM.
- Mức tiêu thụ nguồn: Chế độ Deep-sleep tiêu thụ chỉ 5µA (WiFi), 1µA (LoRa).
-
Mạch mở rộng Pycom Expansion Board 3.0:
- Cấp nguồn qua cổng Micro USB hoặc pin LiPo/Li-Ion với IC sạc chuyên dụng BQ24040 (chọn dòng 100mA hoặc 450mA qua jumper).
- Tích hợp IC bảo vệ điện áp ngược TPS2115A, cầu chuyển đổi USB-UART CP2102/CP2102N (tốc độ lên tới 3 Mbps), khe cắm thẻ nhớ MicroSD.
-
Cảm biến môi trường ENV M5Stack:
- Cảm biến nhiệt độ - độ ẩm DHT12: Dải nhiệt độ -20°C đến 60°C (độ phân giải ±0.2°C), dải độ ẩm 20% đến 95% RH (độ phân giải 0.1%).
- Cảm biến áp suất khí quyển BMP280: Dải đo 300 đến 1100 hPa (sai số tuyệt đối ±1 hPa).
- Giao tiếp bus I2C chuẩn 2 dây (SDA/SCL), mức điện áp 3.3V - 5V.
-
Khối công suất và chuyển mạch Relay Grove:
- Tiếp điểm định mức: 250VAC/10A hoặc 30VDC/15A; công suất cắt tối đa 2770VA / 240W.
- Mạch điều khiển tích hợp Transistor lưỡng cực NPN S8050 ($I_C = 20\text{mA}$, $h_{FE} = 80 \div 300$) để kích hoạt cuộn hút; bảo vệ xả dòng điện cảm ứng ngược bằng Diode xung tốc độ cao 1N4148 (thời gian phục hồi ngược $t_{rr} = 4\text{ns}$).
- Ổn áp cục bộ: IC XC6206P302MR (nguồn ra cố định 3.0V, dòng cực đại 200mA, công nghệ CMOS).
-
Camera giám sát ESP32-CAM:
- Cảm biến ảnh OV2640 2 Megapixel (hoặc OV7670), giao diện FPC, định dạng hỗ trợ JPEG, BMP, Grayscale.
- Bộ nhớ: Tích hợp sẵn 520KB SRAM + 4MB PSRAM cho phép đệm khung hình video mượt mà.
Thiết kế cơ sở dữ liệu Firebase Realtime Database
Cấu trúc JSON trên Firebase được chuẩn hóa để đảm bảo độ trễ cập nhật nhỏ nhất giữa vi điều khiển và ứng dụng di động:
{
"Greenhouse_System": {
"Telemetry": {
"Temperature": 29.4,
"Humidity": 68.5,
"SoilMoisture": 74.2,
"LightIntensity": 680,
"Timestamp": 1598254800
},
"Actuator_Status": {
"MistPump": 0,
"CoolingFan": 1,
"GrowLight": 0
},
"Control_Configuration": {
"Mode": "AUTO",
"Thresholds": {
"TempMax": 32.0,
"HumidityMin": 60.0,
"SoilMoistureMin": 50.0,
"LightThreshold": 500
},
"Schedule": {
"TimerEnabled": true,
"PumpOnTime": "06:30",
"PumpOffTime": "06:45"
}
}
}
}
Implementation và kết quả
Quy trình phát triển phần mềm và thuật toán điều khiển
Hệ thống hoạt động dựa trên 2 luồng thuật toán song song:
- Luồng thu thập và xử lý vi khí hậu tại trạm (Edge Controller): Đọc cảm biến liên tục sau mỗi chu kỳ lấy mẫu $\Delta t \ge 2\text{s}$, kiểm tra ngưỡng giới hạn sinh học của hoa lan và xuất tín hiệu kích hoạt Relay.
- Luồng đồng bộ dữ liệu và nhận lệnh điều khiển (Cloud Sync): Trao đổi dữ liệu với Firebase qua mạng không dây, cho phép ghi đè trạng thái khi người dùng chuyển sang chế độ thủ công (Manual Mode) hoặc ra lệnh qua giọng nói.
#include <WiFi.h>
#include <Wire.h>
#include <IOXhop_FirebaseESP32.h>
#include "DHT12.h"
#include <Adafruit_BMP280.h>
#include "rgb_lcd.h"
#define FIREBASE_HOST "orchid-greenhouse-iot.firebaseio.com"
#define FIREBASE_AUTH "AIzaSyD-sampleToken-FirebaseSecretKey"
#define WIFI_SSID "Greenhouse_WiFi"
#define WIFI_PASSWORD "Orchid2020Pass"
// Khai báo chân phần cứng trên vi điều khiển LoPy
const int PIN_LIGHT_SENSOR = 36; // P13 / GPIO36 (ADC1_CH0)
const int PIN_EARTH_SENSOR = 37; // P14 / GPIO37 (ADC1_CH1)
const int RELAY_PUMP = 22; // P11 / GPIO22
const int RELAY_FAN = 21; // P12 / GPIO21
const int RELAY_LIGHT = 4; // P3 / GPIO4
DHT12 dht12;
Adafruit_BMP280 bmp280;
rgb_lcd lcd;
unsigned long lastSampleTime = 0;
const unsigned long sampleInterval = 2500; // 2.5 giây
void setup() {
Serial.begin(115200);
Wire.begin(12, 13); // SDA = P9 (GPIO12), SCL = P10 (GPIO13)
pinMode(RELAY_PUMP, OUTPUT);
pinMode(RELAY_FAN, OUTPUT);
pinMode(RELAY_LIGHT, OUTPUT);
digitalWrite(RELAY_PUMP, LOW);
digitalWrite(RELAY_FAN, LOW);
digitalWrite(RELAY_LIGHT, LOW);
lcd.begin(16, 2);
lcd.setRGB(0, 128, 255); // Đèn nền xanh cyan
lcd.print("Init System...");
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
dht12.begin();
bmp280.begin(0x76);
lcd.clear();
lcd.print("System Ready!");
}
void loop() {
if (millis() - lastSampleTime >= sampleInterval) {
lastSampleTime = millis();
// Đọc cảm biến môi trường
float temp = dht12.readTemperature();
float hum = dht12.readHumidity();
int lightRaw = analogRead(PIN_LIGHT_SENSOR);
int soilRaw = analogRead(PIN_EARTH_SENSOR);
// Quy đổi giá trị ADC 12-bit (0 - 4095) sang phần trăm độ ẩm đất
float soilMoisturePercent = map(soilRaw, 4095, 1200, 0, 100);
soilMoisturePercent = constrain(soilMoisturePercent, 0, 100);
// Hiển thị LCD RGB
lcd.setCursor(0, 0);
lcd.printf("T:%.1fC H:%.1f%%", temp, hum);
lcd.setCursor(0, 1);
lcd.printf("Soil:%.0f%% L:%d", soilMoisturePercent, lightRaw);
// Kiểm tra chế độ điều khiển trên Firebase
String mode = Firebase.getString("Greenhouse_System/Control_Configuration/Mode");
if (mode == "AUTO") {
// Thuật toán điều khiển tự động bảo vệ hoa lan
// 1. Điều khiển quạt tản nhiệt khi nhiệt độ vượt 32 độ C
if (temp >= 32.0) {
digitalWrite(RELAY_FAN, HIGH);
Firebase.setInt("Greenhouse_System/Actuator_Status/CoolingFan", 1);
} else if (temp <= 28.0) {
digitalWrite(RELAY_FAN, LOW);
Firebase.setInt("Greenhouse_System/Actuator_Status/CoolingFan", 0);
}
// 2. Điều khiển bơm phun sương khi đất thiếu ẩm (< 60%) hoặc độ ẩm không khí < 55%
if (soilMoisturePercent < 60.0 || hum < 55.0) {
digitalWrite(RELAY_PUMP, HIGH);
Firebase.setInt("Greenhouse_System/Actuator_Status/MistPump", 1);
} else if (soilMoisturePercent >= 75.0 && hum >= 70.0) {
digitalWrite(RELAY_PUMP, LOW);
Firebase.setInt("Greenhouse_System/Actuator_Status/MistPump", 0);
}
// 3. Điều khiển đèn LED quang hợp khi trời tối (Light < 300)
if (lightRaw < 300) {
digitalWrite(RELAY_LIGHT, HIGH);
Firebase.setInt("Greenhouse_System/Actuator_Status/GrowLight", 1);
} else {
digitalWrite(RELAY_LIGHT, LOW);
Firebase.setInt("Greenhouse_System/Actuator_Status/GrowLight", 0);
}
} else {
// Chế độ MANUAL: Đọc trực tiếp lệnh từ ứng dụng Android
digitalWrite(RELAY_PUMP, Firebase.getInt("Greenhouse_System/Actuator_Status/MistPump"));
digitalWrite(RELAY_FAN, Firebase.getInt("Greenhouse_System/Actuator_Status/CoolingFan"));
digitalWrite(RELAY_LIGHT, Firebase.getInt("Greenhouse_System/Actuator_Status/GrowLight"));
}
// Đẩy dữ liệu Telemetry lên cơ sở dữ liệu
Firebase.setFloat("Greenhouse_System/Telemetry/Temperature", temp);
Firebase.setFloat("Greenhouse_System/Telemetry/Humidity", hum);
Firebase.setFloat("Greenhouse_System/Telemetry/SoilMoisture", soilMoisturePercent);
Firebase.setInt("Greenhouse_System/Telemetry/LightIntensity", lightRaw);
}
}
Kết quả kiểm nghiệm và độ chính xác (Testing & Verification)
Hệ thống đã trải qua quá trình thử nghiệm liên tục trong 72 giờ tại phòng thí nghiệm Bộ môn Điện tử Công nghiệp - Y sinh (HCMUTE) với các số liệu thực tế được ghi nhận:
| Hạng mục kiểm tra |
Thiết bị chuẩn đối chứng |
Giá trị đo từ hệ thống |
Sai số ghi nhận |
Thời gian đáp ứng |
| Nhiệt độ môi trường |
Nhiệt kế thủy ngân chuẩn |
29.5°C |
$\pm 0.2^\circ\text{C}$ |
$< 2.0\text{ s}$ |
| Độ ẩm không khí |
Ẩm kế điện tử Testo 608-H1 |
68.0% RH |
$\pm 0.8%\text{ RH}$ |
$< 2.0\text{ s}$ |
| Độ ẩm đất (Giá thể xơ dừa) |
Thiết bị đo ẩm đất chuyên dụng |
73.5% |
$\pm 2.1%$ |
$25\text{ ms}$ |
| Cường độ sáng |
Máy đo Lux TES-1330A |
650 Lux |
Tuyến tính theo điện áp |
$20\text{ ms}$ |
| Đóng ngắt Relay |
Máy hiện sóng Rigol DS1054Z |
Kích mức HIGH (3.3V) |
Trễ đóng tiếp điểm: $8.5\text{ ms}$ |
$< 10\text{ ms}$ |
| Độ trễ đồng bộ Firebase |
Công cụ giám sát Network Wireshark |
Giao thức HTTPS / WSS |
Trung bình: $320\text{ ms}$ |
$< 500\text{ ms}$ |
Đánh giá tính năng hoàn thiện so với kế hoạch
+-------------------------------------------------------------------------------+
| MA TRẬN ĐÁNH GIÁ TÍNH NĂNG DỰ ÁN (PLANNED VS ACHIEVED) |
+------------------------------------+-----------+------------+-----------------+
| Tính năng | Kế hoạch | Thực tế | Trạng thái |
+------------------------------------+-----------+------------+-----------------+
| Đo 4 thông số vi khí hậu | 100% | 100% | Hoàn thành |
| Tự động hóa bơm / quạt / đèn | 100% | 100% | Hoàn thành |
| Điều khiển & Đặt lịch qua App | 100% | 100% | Hoàn thành |
| Nhận diện giọng nói (Voice App) | 100% | 100% | Hoàn thành |
| Hiển thị LCD RGB thay đổi màu | 100% | 100% | Hoàn thành |
| Camera truyền hình ảnh IP | 100% | 100% | Hoàn thành |
| Tỷ lệ ổn định kết nối 72h | > 95% | 99.2% | Vượt chỉ tiêu |
+------------------------------------+-----------+------------+-----------------+
Đổi mới và đóng góp
Các cải tiến kỹ thuật nổi bật
-
Chuẩn hóa phần cứng theo mô hình Module Lego M5Stack & Grove:
- Khắc phục hoàn toàn tình trạng đứt ngắt chân cắm và sai sót dây nối tín hiệu vốn rất phổ biến ở các hệ thống vi điều khiển truyền thống.
- Giảm 60% thời gian thi công mạch và bảo trì hệ thống nhờ chuẩn cáp 4-pin định hình chống cắm ngược.
-
Kiến trúc xử lý đa luồng trên nền tảng vi điều khiển LoPy (ESP32-PICO-D4):
- Tận dụng sức mạnh xử lý của vi điều khiển đa giao thức hỗ trợ cả WiFi và sẵn sàng chuyển đổi sang mạng diện rộng LoRaWAN/Sigfox mà không cần thay đổi phần cứng bo mạch lõi.
-
Cơ chế điều khiển lai (Hybrid Dual-Mode Control):
- Kết hợp thuật toán bảo vệ vi khí hậu tự động tại tầng biên (Edge) với giao diện người dùng đa phương thức (chạm cảm ứng, đặt lịch hẹn giờ, và điều khiển bằng giọng nói qua điện thoại Android).
Bảng so sánh hiệu quả nâng cao
| Chỉ số đánh giá |
Hệ thống thủ công truyền thống |
Đồ án trước (Mega2560 + ESP8266) |
Hệ thống LoPy + M5Stack (Đề tài) |
% Cải thiện đạt được |
| Thời gian lắp ráp phần cứng |
120 phút |
90 phút |
35 phút |
Rút ngắn 61.1% |
| Độ chính xác cảm biến nhiệt |
$\pm 2.0^\circ\text{C}$ (DHT11) |
$\pm 1.5^\circ\text{C}$ (DHT11) |
$\pm 0.2^\circ\text{C}$ (DHT12/BMP280) |
Chính xác gấp 7.5 lần |
| Mức tiêu thụ năng lượng bo mạch |
120 mA |
180 mA |
12 mA (Active WiFi) |
Tiết kiệm 93.3% điện năng |
| Tỷ lệ trôi điểm đo (Sensor Drift) |
Cao sau 30 ngày |
Trung bình |
Rất thấp (Chuẩn I2C Digital) |
Độ ổn định cao |
Ứng dụng thực tế và triển khai
Kịch bản vận hành thực tế
- Trang trại hoa lan thương mại: Lắp đặt các trạm đo LoPy tại từng luống lan Dendro, Hồ Điệp, Vanda. Hệ thống tự động kích hoạt giàn phun sương làm mát khi thời tiết nắng gắt trên 32°C và tưới gốc khi giá thể xơ dừa bị khô dưới 60%.
- Mô hình vườn lan đô thị (Ban công / Sân thượng): Người chơi hoa lan có thể giám sát trạng thái vi khí hậu từ xa qua ứng dụng Android khi đi công tác xa, đồng thời quan sát hình ảnh cây nở hoa qua camera ESP32-CAM.
- Phòng thí nghiệm cấy mô thực vật: Ứng dụng để kiểm soát khắt khe nhiệt độ và ánh sáng LED quang phổ kép (đỏ/xanh) phục vụ nghiên cứu nhân giống lan cấy mô.
journey
title Quy trình vận hành tự động trong nhà kính hoa Lan
section Thu thập dữ liệu
ENV Sensor đo nhiệt độ và độ ẩm không khí: 5: Cảm biến
Earth Sensor đo độ ẩm giá thể xơ dừa: 5: Cảm biến
Light Sensor đo cường độ chiếu sáng: 5: Cảm biến
section Xử lý & Ra quyết định
LoPy phân tích ngưỡng sinh học hoa lan: 5: Vi điều khiển
Đổi màu nền LCD cảnh báo: 4: LCD RGB
Đồng bộ dữ liệu thời gian thực: 5: Firebase Cloud
section Thực thi hành động
Bật quạt tản nhiệt nếu T > 32°C: 5: Khối công suất
Bật máy bơm phun sương nếu đất < 60%: 5: Khối công suất
Bật LED quang hợp nếu trời tối: 5: Khối công suất
Truyền luồng hình ảnh về App: 4: ESP32-CAM
Ước tính chi phí linh kiện (Bill of Materials - BOM) và hiệu quả đầu tư (ROI)
| STT |
Tên thiết bị / Linh kiện |
Số lượng |
Đơn giá ước tính (VNĐ) |
Thành tiền (VNĐ) |
| 1 |
Vi điều khiển LoPy + Expansion Board 3.0 |
01 bộ |
850.000 |
850.000 |
| 2 |
Cảm biến ENV M5Stack (DHT12 + BMP280) |
01 cái |
120.000 |
120.000 |
| 3 |
Cảm biến độ ẩm đất M5Stack Earth |
01 cái |
65.000 |
65.000 |
| 4 |
Cảm biến cường độ sáng M5Stack Light |
01 cái |
55.000 |
55.000 |
| 5 |
Module 3x Relay Grove công suất |
03 cái |
45.000 |
135.000 |
| 6 |
Module Camera ESP32-CAM + Đế nạp |
01 bộ |
160.000 |
160.000 |
| 7 |
Màn hình hiển thị Grove LCD RGB 16x2 |
01 cái |
110.000 |
110.000 |
| 8 |
Bơm mini 12V + Béc phun sương + Quạt 12V |
01 bộ |
180.000 |
180.000 |
| 9 |
Đèn LED quang hợp chuyên dụng 28W |
01 bóng |
120.000 |
120.000 |
| 10 |
Nguồn Adapter 12V/2A + Khung mô hình mica |
01 bộ |
250.000 |
250.000 |
| TỔNG |
Chi phí phần cứng trọn gói |
|
|
2.045.000 VNĐ |
[!NOTE]
Phân tích hiệu quả kinh tế (ROI):
Đối với một vườn lan quy mô 200 chậu giống giá trị cao, hệ thống giúp giảm tỷ lệ chết do sốc nhiệt và thối ngọn từ 15% xuống dưới 2%, tiết kiệm khoảng 4.000.000 - 7.000.000 VNĐ chi phí thiệt hại mỗi năm, giúp hoàn vốn đầu tư chỉ sau 4 đến 6 tháng vận hành.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Phụ thuộc vào hạ tầng WiFi: Mô hình thử nghiệm sử dụng WiFi 2.4GHz nội bộ; khi mất kết nối Internet, việc đồng bộ Firebase và truyền hình ảnh từ ESP32-CAM bị gián đoạn (mặc dù thuật toán điều khiển biên tại trạm vẫn hoạt động độc lập).
- Hạn chế kênh ADC khi dùng WiFi: Trên chip ESP32, khối ADC2 bị chia sẻ tài nguyên với bộ điều khiển WiFi, dẫn đến một số chân analog bị vô hiệu hóa khi bật phát sóng mạng.
- Xử lý hình ảnh ở mức truyền phát cơ bản: ESP32-CAM mới chỉ dừng lại ở nhiệm vụ truyền luồng video quan sát, chưa tích hợp các thuật toán trí tuệ nhân tạo (TinyML) để tự động nhận dạng sâu bệnh hay chẩn đoán thiếu chất trên lá.
Hướng phát triển và mở rộng đề tài
- Chuyển dịch sang mạng truyền thông diện rộng tầm xa LoRaWAN: Tận dụng bộ thu phát LoRa tích hợp sẵn trên chip LoPy để kết nối hàng trăm trạm cảm biến phân tán trên các đồi lan rộng hàng chục hecta về một Gateway duy nhất.
- Tích hợp mô hình AI nhúng (TinyML / Edge Impulse): Nạp mô hình phân loại hình ảnh học sâu (MobileNet V1 rút gọn) trực tiếp lên ESP32-CAM để phát hiện bệnh thán thư, đốm lá trên hoa lan mà không cần máy chủ xử lý trung tâm.
- Phát triển nguồn năng lượng tái tạo (Energy Harvesting): Tích hợp tấm pin năng lượng mặt trời 10W kết hợp mạch quản lý sạc pin LiPo sẵn có trên Pycom Expansion Board 3.0, cho phép trạm đo vận hành tự chủ 100% ngoài trời không cần lưới điện.
Đối tượng hưởng lợi
- Sinh viên & Học viên ngành Điện tử - Viễn thông, IoT: Tài liệu tham khảo toàn diện về phương pháp lập trình vi điều khiển LoPy ESP32-PICO-D4, chuẩn hóa module M5Stack Grove và kỹ thuật tích hợp cơ sở dữ liệu Firebase Realtime.
- Kỹ sư phát triển hệ thống nhúng (Embedded Developers): Nắm bắt mô hình thiết kế phần cứng an toàn, cách ly công suất bằng Relay có bảo vệ chống sốc xung ngược (Diode 1N4148 + Transistor S8050) và phương pháp quản lý luồng dữ liệu I2C.
- Chủ trang trại và Hộ kinh doanh hoa kiểng: Tiếp cận giải pháp công nghệ cao với chi phí hợp lý (~2 triệu VNĐ), dễ dàng tự bảo trì và nâng cao năng suất cây trồng rõ rệt.
- Nhà nghiên cứu nông nghiệp thông minh: Nền tảng thực nghiệm đáng tin cậy để thu thập dữ liệu vi khí hậu chuỗi thời gian (Time-series Data) phục vụ nghiên cứu sinh lý học cây hoa lan.
Câu hỏi thường gặp
1. Yêu cầu nguồn cấp và điều kiện triển khai phần cứng cho hệ thống là gì?
Hệ thống sử dụng nguồn cấp kép: Bộ nguồn Adapter DC 12V/2A để cấp điện cho mạch công suất (máy bơm mini, quạt tản nhiệt 12V) và được hạ áp qua IC ổn áp XC6206P302MR hoặc mạch Pycom Expansion Board 3.0 để cấp mức 3.3V/5V chuẩn cho LoPy và hệ thống cảm biến M5Stack. Nguồn AC 220V chỉ nối qua tiếp điểm thường mở của Relay để bật tắt đèn LED quang hợp.
2. Tại sao lại chọn vi điều khiển LoPy thay vì các dòng ESP32 DevKit thông thường?
LoPy là bo mạch cao cấp được thiết kế nguyên khối (SiP ESP32-PICO-D4) tích hợp sẵn 4 băng tầng không dây (WiFi, BLE, LoRa, Sigfox). Mạch đạt các chứng nhận quốc tế CE, FCC, LoRaWAN, Sigfox Certified, đảm bảo tính ổn định công nghiệp cao, khả năng chống nhiễu RF vượt trội và hỗ trợ chuyển đổi linh hoạt sang mạng diện rộng LoRaWAN khi nhân rộng mô hình mà không cần thiết kế lại phần cứng.
3. Khi mất kết nối WiFi thì hệ thống nhà kính có tiếp tục tự động tưới nước và làm mát không?
Có. Toàn bộ thuật toán so sánh ngưỡng nhiệt độ, độ ẩm đất và kích hoạt Relay được lập trình xử lý trực tiếp trên chip LoPy (Edge Computing). Khi mất WiFi, hệ thống chỉ tạm dừng đồng bộ dữ liệu lên Firebase và ngừng nhận lệnh từ xa qua điện thoại, trong khi các tác vụ tự động bảo vệ cây lan vẫn vận hành 24/7 liên tục.
4. Chuẩn giao tiếp Grove và module M5Stack đem lại lợi ích gì so với linh kiện rời thông thường?
Chuẩn Grove quy định cáp kết nối 4 dây chuẩn (VCC, GND, Signal 1, Signal 2 hoặc SDA, SCL) với đầu nối có ngàm khóa chống cắm ngược cực. Kết hợp với vỏ bọc module Lego của M5Stack, người dùng có thể lắp ráp, tháo lắp, thay thế cảm biến bị hỏng chỉ trong vài giây mà không cần mỏ hàn hay đo dây phức tạp.
5. Có thể mở rộng thêm các loại cảm biến khác (như cảm biến nồng độ CO2, đo pH nước tưới) vào hệ thống không?
Hoàn toàn có thể. Nhờ sử dụng bus giao tiếp chuẩn công nghiệp I2C (chân P9 SDA, P10 SCL) và các chân ngắt ADC còn trống trên LoPy, người dùng chỉ cần cắm song song các module Grove cảm biến khí CO2 (SCD30/SGP30) hoặc module đo pH/EC vào bus I2C và thêm thư viện điều khiển tương ứng vào mã nguồn chương trình.
Kết luận
Đồ án tốt nghiệp "Ứng dụng vi điều khiển LoPy và cảm biến Lego M5STACK vào thiết kế và thi công mô hình nhà kính trồng hoa Lan" đã giải quyết thành công bài toán tự động hóa vi khí hậu cho loài cây có giá trị kinh tế cao. Bằng việc tiên phong ứng dụng vi điều khiển đa giao thức LoPy kết hợp hệ sinh thái cảm biến chuẩn hóa M5Stack Grove, đề tài không chỉ đạt được độ chính xác và độ tin cậy vượt trội trong đo đạc - điều khiển mà còn mở ra hướng tiếp cận hiện đại trong việc chuẩn hóa module phần cứng IoT.
Hệ thống điều khiển đa phương thức qua nền tảng đám mây Firebase, ứng dụng Android và hình ảnh trực quan từ ESP32-CAM mang lại giá trị thực tiễn cao, sẵn sàng phục vụ nhu cầu nghiên cứu học tập cũng như chuyển giao công nghệ cho các mô hình nông nghiệp công nghệ cao trong thực tế. Các nhà nghiên cứu và phát triển quan tâm có thể kế thừa kiến trúc phần cứng và mã nguồn này để mở rộng thành mạng lưới cảm biến diện rộng LoRaWAN phục vụ các nông trại thông minh quy mô lớn.