Giới thiệu dự án
Sự bùng nổ của cuộc Cách mạng Công nghiệp 4.0 đã thúc đẩy mạnh mẽ quá trình chuyển đổi số trong mọi lĩnh vực kinh tế, đặc biệt là nông nghiệp kỹ thuật số (Digital Agriculture) và chăn nuôi thông minh (Smart Farming). Theo thống kê từ Tổ chức Nông Lương Liên Hợp Quốc (FAO), việc tự động hóa giám sát chuồng trại và tối ưu hóa vi khí hậu có thể giúp gia tăng năng suất chăn nuôi từ 15% đến 25%, đồng thời giảm thiểu tới 30% tỷ lệ dịch bệnh do biến động môi trường. Tại Việt Nam, sự dịch chuyển từ mô hình chăn nuôi nhỏ lẻ sang mô hình trang trại quy mô vừa và lớn (đặc biệt là chăn nuôi bò thịt và bò sữa) đòi hỏi sự kiểm soát khắt khe về nhiệt độ, độ ẩm, ánh sáng và chế độ dinh dưỡng/vệ sinh nhằm đạt tiêu chuẩn an toàn sinh học.
Tuy nhiên, các trang trại hiện nay vẫn đối mặt với nhiều bất cập cốt lõi:
- Giám sát thủ công, rời rạc: Người nuôi phải trực tiếp đến tận chuồng trại để đo đạc và bật tắt thiết bị (máy bơm xịt rửa, quạt làm mát, đèn sưởi), dẫn đến tốn kém nhân công và phản ứng chậm trễ khi môi trường biến động tiêu cực.
- Thiếu hụt dữ liệu thời gian thực: Không có hệ thống lưu trữ dữ liệu môi trường lịch sử để phân tích mối tương quan giữa vi khí hậu và chu kỳ sinh trưởng của vật nuôi.
- Rủi ro vận hành thiết bị: Nguy cơ quá tải, chập cháy điện hoặc quên lịch hẹn giờ chăm sóc làm giảm sản lượng sữa và tốc độ tăng trọng của bò.
Nhằm giải quyết triệt để bài toán trên, đồ án tốt nghiệp chuyên ngành Công nghệ Kỹ thuật Máy tính tại Trường Đại học Sư phạm Kỹ thuật TP.HCM do sinh viên Bùi Đức Dĩnh và Phan Tấn Duy thực hiện (dưới sự hướng dẫn của TS. Phan Văn Ca) đã triển khai đề tài: "Thiết kế hệ thống quản lý nông trại".
+-----------------------------------+
| CÁC MỤC TIÊU CỐT LÕI ĐỒ ÁN |
+-----------------+-----------------+
|
+------------------------------------+-----------------------------------+
| | |
v v v
+---------------+ +-----------------+ +------------------+
| 1. Phần cứng | | 2. Web Server | | 3. App Android |
| Giám sát I2C/ | | Lưu trữ MySQL, | | Điều khiển từ xa,|
| 1-Wire vi khí | | Dashboard quản | | Nhập liệu đàn bò |
| hậu & Relay | | trị HTTP REST | | & hẹn giờ bơm |
+---------------+ +-----------------+ +------------------+
Mục tiêu cụ thể của dự án
- Thiết kế khối phần cứng IoT biên (Edge Hardware): Thu thập chính xác các thông số môi trường vi khí hậu (nhiệt độ, độ ẩm, cường độ ánh sáng) và đồng bộ thời gian thực thông qua vi điều khiển tích hợp Wi-Fi SoC ESP8266.
- Xây dựng hệ thống Web Server và CSDL tập trung: Xử lý và lưu trữ dữ liệu cảm biến liên tục vào hệ quản trị cơ sở dữ liệu MySQL, cung cấp giao diện Web trực quan để giám sát và gửi lệnh điều khiển.
- Phát triển ứng dụng di động Android: Cho phép người dùng theo dõi dữ liệu vi khí hậu từ xa, điều khiển đóng ngắt thiết bị chấp hành tức thời, lập lịch hẹn giờ tự động cho máy bơm và quản lý vòng đời vật nuôi (số lượng, tuổi, ngày nhập xuất chuồng).
- Đảm bảo tính ổn định và chi phí tối ưu: Tối ưu hóa sơ đồ nguyên lý mạch, giảm số lượng dây dẫn bằng chuẩn truyền thông bus nối tiếp, hạ giá thành linh kiện phần cứng xuống dưới mức thương mại tương đương trên thị trường.
Phương pháp tiếp cận và phạm vi nghiên cứu
- Phương pháp tiếp cận: Ứng dụng kiến trúc hệ thống nhúng kết nối mạng Internet (IoT 3 lớp: Cảm biến/Chấp hành – Cổng truyền thông Web Server – Giao diện người dùng Đa nền tảng). Thiết bị biên đóng vai trò HTTP Client liên tục thực hiện cơ chế đóng gói dữ liệu và gửi truy vấn RESTful (GET/POST) đến máy chủ PHP/MySQL.
- Kết quả kỳ vọng định lượng: Thời gian trễ truyền nhận tín hiệu từ ứng dụng di động đến phần cứng chấp hành $< 2.0\text{ s}$; tần số lấy mẫu cảm biến đạt $1\text{ Hz}$; khả năng hoạt động liên tục 24/7 với tỷ lệ mất gói tin qua mạng không dây $< 1.5%$.
- Phạm vi & Giới hạn: Hệ thống thử nghiệm thực tế tập trung vào mô hình chuồng nuôi bò thịt và bò sữa với các thiết bị tải 12V DC công suất nhỏ (máy bơm, quạt tản nhiệt, đèn sợi đốt/LED); kết nối mạng cục bộ thông qua chuẩn Wi-Fi 802.11 b/g/n băng tần 2.4GHz.
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, nhóm nghiên cứu đã phân tích kỹ lưỡng các giải pháp giám sát nông trại hiện có trên thị trường để làm rõ ưu và nhược điểm:
| Tiêu chí so sánh |
Giám sát truyền thống (Thủ công) |
Hệ thống tự động hóa công nghiệp (PLC/SCADA) |
Hệ thống IoT dựa trên ESP8266 (Đồ án đề xuất) |
| Chi phí đầu tư phần cứng |
Thấp (chỉ tốn nhiệt kế, công tắc cơ) |
Rất cao (> 15.000.000 VNĐ cho hệ thống nhỏ) |
Rất thấp (< 1.000.000 VNĐ cho toàn bộ kit) |
| Độ trễ thu thập dữ liệu |
Rất lớn (tùy thuộc chu kỳ kiểm tra của nhân công) |
Rất thấp (thời gian thực cấp độ mili-giây) |
Thấp (Cập nhật thời gian thực $< 2\text{ s}$) |
| Khả năng điều khiển từ xa |
Không hỗ trợ |
Có (nhưng yêu cầu mạng LAN cố định/IP tĩnh phức tạp) |
Toàn diện (Web Browser và Android App qua Internet) |
| Khả năng mở rộng ngoại vi |
Kém |
Tốt (thêm module mở rộng PLC đắt tiền) |
Linh hoạt (Giao thức I2C, 1-Wire, chân GPIO linh hoạt) |
| Quản lý dữ liệu vật nuôi |
Sổ sách giấy hoặc Excel thủ công |
Hệ thống MES chuyên biệt (phức tạp) |
Tích hợp trực tiếp trên ứng dụng di động và MySQL |
Phân loại yêu cầu người dùng theo mô hình MoSCoW
- Must-have (Bắt buộc): Đo đạc nhiệt độ, độ ẩm (DHT11), ánh sáng (BH1750); hiển thị thông số lên màn hình LCD 20x4; điều khiển đóng ngắt 3 relay cho đèn, quạt, máy bơm; gửi nhận dữ liệu với Web Server và CSDL MySQL qua Wi-Fi.
- Should-have (Nên có): Ứng dụng Android có giao diện trực quan; tính năng hẹn giờ bật máy bơm tự động theo thời gian thực (RTC DS1307); quản lý số lượng và ngày nhập đàn gia súc.
- Could-have (Có thể có): Thống kê dữ liệu lịch sử theo dạng biểu đồ trực quan; cảnh báo vượt ngưỡng vi khí hậu qua thông báo đẩy.
- Won't-have (Chưa triển khai trong giai đoạn này): Nhận diện khuôn mặt bò bằng camera AI; điều khiển tốc độ quạt theo biến tần PWM tải công nghiệp AC 3 pha.
Thiết kế hệ thống
flowchart TB
subgraph HardwareLayer ["LỚP THIẾT BỊ BIÊN (EDGE HARDWARE)"]
Sensors["Khối Cảm Biến<br>• DHT11 (Temp/Humidity - 1-Wire Pin D3)<br>• BH1750 (Ambient Light - I2C Pin D1/D2)<br>• DS1307 (Real-Time Clock - I2C Pin D1/D2)"]
MCU["Khối Xử Lý Trung Tâm<br>NodeMCU ESP8266 (ESP-12 SoC)<br>CPU Tensilica 32-bit @ 80MHz"]
Display["Khối Hiển Thị<br>LCD 20x4 + Module I2C PCF8574"]
Actuators["Khối Chấp Hành<br>Module Relay 3 kênh 5V (Active Low)<br>• Đèn sưởi (12V)<br>• Quạt gió (12V)<br>• Máy bơm (12V)"]
Sensors -->|Dữ liệu số| MCU
MCU -->|I2C Bus| Display
MCU -->|Tín hiệu logic LOW| Actuators
end
subgraph NetworkLayer ["LỚP MẠNG & DỊCH VỤ TRUNG GIAN"]
AP["Router Wi-Fi 802.11 b/g/n (2.4GHz)"]
WebServer["Web Server (Apache 2.4 + PHP 7.x)<br>RESTful API Engine (GET / POST)"]
DB[(Cơ Sở Dữ Liệu<br>MySQL 5.7)]
MCU <==>|Giao thức TCP/IP - HTTP| AP
AP <==> WebServer
WebServer <==>|SQL Query| DB
end
subgraph ApplicationLayer ["LỚP ỨNG DỤNG NGƯỜI DÙNG"]
Browser["Trình Duyệt Web (Máy Tính/Laptop)<br>Giao diện HTML5 / CSS3 / JavaScript"]
MobileApp["Ứng Dụng Android Native (Android 5.0 - 7.0+)<br>Java + XML UI"]
WebServer <==>|HTTP Response / Render| Browser
WebServer <==>|HTTP GET / POST JSON| MobileApp
end
Ngăn xếp công nghệ chi tiết (Technology Stack)
- Phần cứng & Vi điều khiển: NodeMCU ESP8266 (Firmware v1.0, lõi vi xử lý ESP-12 SoC 32-bit Tensilica L106, 80MHz, Flash 4MB, Chip nạp UART CP2102).
- Môi trường phát triển nhúng: Arduino IDE 1.8.x (C/C++ với bộ thư viện
ESP8266WiFi, Wire, DHT, BH1750, RTClib, LiquidCrystal_I2C).
- Máy chủ Web & Backend: Apache HTTP Server 2.4, Ngôn ngữ lập trình PHP 7.0 hỗ trợ xử lý mảng toàn cục
$_GET và $_POST.
- Cơ sở dữ liệu: MySQL Server 5.7, lưu trữ dạng quan hệ chuẩn hóa 3NF.
- Nền tảng ứng dụng di động: Android Studio 2.3+ (Java Development Kit 8, Android SDK Level 25, Giao diện XML).
Thiết kế cơ sở dữ liệu (MySQL Schema)
Hệ thống sử dụng các bảng dữ liệu chuyên biệt để tách bạch giữa lưu trữ log cảm biến, trạng thái điều khiển và quản lý đàn gia súc:
-- 1. Bảng lưu trữ dữ liệu cảm biến theo thời gian thực
CREATE TABLE `sensor_logs` (
`id` INT(11) AUTO_INCREMENT PRIMARY KEY,
`temperature` FLOAT NOT NULL,
`humidity` FLOAT NOT NULL,
`lux` FLOAT NOT NULL,
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 2. Bảng quản trị trạng thái thiết bị và chế độ vận hành
CREATE TABLE `system_control` (
`id` INT(11) PRIMARY KEY DEFAULT 1,
`mode` ENUM('MANUAL', 'AUTO') DEFAULT 'AUTO',
`lamp_state` TINYINT(1) DEFAULT 0,
`fan_state` TINYINT(1) DEFAULT 0,
`pump_state` TINYINT(1) DEFAULT 0,
`timer_pump_start` TIME DEFAULT '08:00:00',
`timer_pump_duration` INT(11) DEFAULT 15, -- Thời gian bơm (phút)
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 3. Bảng quản lý thống kê vật nuôi
CREATE TABLE `livestock_inventory` (
`id` INT(11) AUTO_INCREMENT PRIMARY KEY,
`batch_code` VARCHAR(50) NOT NULL UNIQUE,
`category` ENUM('BEEF_CATTLE', 'DAIRY_CATTLE') NOT NULL,
`quantity` INT(11) NOT NULL,
`avg_age_months` FLOAT NOT NULL,
`import_date` DATE NOT NULL,
`note` TEXT
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Thiết kế API và giao tiếp dữ liệu
Hệ thống giao tiếp qua giao thức HTTP không trạng thái (Stateless HTTP) trên cổng tiêu chuẩn 80:
GET /insert_data.php?temp={t}&hum={h}&lux={l}: Nhận dữ liệu từ NodeMCU, ghi vào bảng sensor_logs, đồng thời trả về chuỗi phản hồi định dạng text phẳng hoặc JSON chứa trạng thái thiết bị hiện hành (ví dụ: MODE:1,LAMP:0,FAN:1,PUMP:0).
POST /update_control.php: Nhận dữ liệu từ Web Browser hoặc Android App (mode, lamp, fan, pump, timer) để cập nhật bảng system_control.
POST /insert_livestock.php: Tiếp nhận thông số lô vật nuôi mới từ ứng dụng Android.
Phương pháp luận phát triển (Methodology)
Dự án áp dụng mô hình phát triển Agile Scrum kết hợp quy trình chữ V (V-Model) trong kiểm thử phần cứng nhúng:
- Giai đoạn 1 (Tuần 1 - 2): Khảo sát yêu cầu, nghiên cứu lý thuyết I2C, TCP/IP, cấu trúc bộ nhớ DS1307 và đặc tính dòng rò của cảm biến.
- Giai đoạn 2 (Tuần 3 - 5): Thiết kế sơ đồ nguyên lý phần cứng, phân chia nguồn 5V/12V riêng biệt tránh sụt áp gây reset ESP8266, lắp ráp mô hình thực nghiệm.
- Giai đoạn 3 (Tuần 6 - 8): Xây dựng CSDL MySQL, viết script PHP RESTful, lập trình firmware C/C++ trên NodeMCU.
- Giai đoạn 4 (Tuần 9 - 11): Phát triển giao diện Web và xây dựng ứng dụng Android Studio; tích hợp luồng truyền nhận toàn hệ thống.
- Giai đoạn 5 (Tuần 12 - 14): Thử nghiệm toàn diện, đánh giá hiệu năng đo lường và lập báo cáo kỹ thuật.
+-------------------------------------------------------------------------------+
| MA TRẬN QUẢN TRỊ RỦI RO DỰ ÁN |
+---------------------+-------------+-----------+-------------------------------+
| Rủi ro kỹ thuật | Khả năng | Mức độ | Chiến lược giảm thiểu |
+---------------------+-------------+-----------+-------------------------------+
| Sụt áp khi bật tải | Cao | Nghiêm | Sử dụng 2 nguồn riêng biệt: |
| động cơ 12V 2A | | trọng | 5V 2A cho Kit MCU, 12V 2A |
| | | | cho Relay/Tải; cách ly quang |
+---------------------+-------------+-----------+-------------------------------+
| Treo bus I2C do | Trung bình | Trung | Dùng biến trở kéo lên 4.7kΩ |
| xung đột địa chỉ | | bình | chuẩn; cố định địa chỉ LCD |
| | | | 0x27, DS1307 0x68, BH1750 0x23|
+---------------------+-------------+-----------+-------------------------------+
| Mất kết nối Wi-Fi | Cao | Trung | Thiết lập hàm tự động kết nối |
| tại trang trại | | bình | lại (Auto-Reconnect Routine) |
| | | | trong hàm `loop()` của kit |
+---------------------+-------------+-----------+-------------------------------+
Triển khai và kết quả thực nghiệm
Quá trình phát triển và Thuật toán cốt lõi
Firmware trên NodeMCU ESP8266 được thiết kế theo vòng lặp kiểm soát tuần tự không chặn (Non-blocking Cooperative Loop), điều phối thông qua các hàm chuyên biệt: readSensor(), sentData(), xuly_dlweb(), và control().
1. Thuật toán thu thập dữ liệu vi khí hậu (readSensor)
Thu thập dữ liệu đồng thời từ cảm biến 1-Wire (DHT11) và 2 cảm biến trên đường bus I2C (BH1750, DS1307):
#include <ESP8266WiFi.h>
#include <Wire.h>
#include <DHT.h>
#include <BH1750.h>
#include <RTClib.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN D3
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
BH1750 lightMeter(0x23);
RTC_DS1307 rtc;
LiquidCrystal_I2C lcd(0x27, 20, 4);
float temp_val, hum_val, lux_val;
DateTime now_time;
void readSensor() {
// 1. Đọc dữ liệu từ DHT11
hum_val = dht.readHumidity();
temp_val = dht.readTemperature();
// 2. Đọc dữ liệu từ BH1750 (Độ phân giải 1 Lux)
lux_val = lightMeter.readLightLevel();
// 3. Đọc dữ liệu thời gian thực từ DS1307
now_time = rtc.now();
// Kiểm tra dữ liệu hợp lệ trước khi hiển thị lên LCD
if (isnan(hum_val) || isnan(temp_val)) {
temp_val = 0.0;
hum_val = 0.0;
}
// Cập nhật lên màn hình LCD 20x4 qua chuẩn I2C
lcd.setCursor(0, 0);
lcd.print("T:" + String(temp_val, 1) + (char)223 + "C H:" + String(hum_val, 0) + "%");
lcd.setCursor(0, 1);
lcd.print("Light:" + String(lux_val, 0) + " Lux ");
}
2. Thuật toán đóng gói dữ liệu và đồng bộ máy chủ (sentData & xuly_dlweb)
Sử dụng client TCP/IP để gửi truy vấn HTTP GET chứa tham số đo, sau đó giải mã chuỗi phản hồi điều khiển từ Server:
WiFiClient client;
const char* host = "farmdyu.esy.es"; // Tên miền Web Server
const int httpPort = 80;
void sentData() {
if (!client.connect(host, httpPort)) {
return; // Kết nối thất bại, bỏ qua để lặp lại chu kỳ sau
}
// Tạo chuỗi URI gửi dữ liệu cảm biến
String url = "/insert_data.php?temp=" + String(temp_val) +
"&hum=" + String(hum_val) +
"&lux=" + String(lux_val);
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
unsigned long timeout = millis();
while (client.available() == 0) {
if (millis() - timeout > 2000) {
client.stop();
return;
}
}
// Đọc luồng dữ liệu hồi đáp từ Web Server
String response = "";
while (client.available()) {
response += client.readStringUntil('\r');
}
// Gọi hàm bóc tách tham số điều khiển
xuly_dlweb(response);
}
3. Thuật toán điều khiển thiết bị chấp hành (control)
Kiểm tra biến chế độ (mode) và trạng thái thiết bị để xuất mức điện áp kích hoạt relay phù hợp:
#define RELAY_LAMP D5
#define RELAY_FAN D6
#define RELAY_PUMP D7
int sys_mode = 0; // 0: MANUAL, 1: AUTO
int cmd_lamp = 0, cmd_fan = 0, cmd_pump = 0;
int pump_hour = 8, pump_min = 0;
void control() {
if (sys_mode == 0) {
// CHẾ ĐỘ MANUAL: Điều khiển trực tiếp theo lệnh từ Web/Android
digitalWrite(RELAY_LAMP, cmd_lamp ? LOW : HIGH); // Kích Relay mức thấp (Active Low)
digitalWrite(RELAY_FAN, cmd_fan ? LOW : HIGH);
digitalWrite(RELAY_PUMP, cmd_pump ? LOW : HIGH);
}
else {
// CHẾ ĐỘ AUTO: Tự động hóa dựa trên ngưỡng môi trường và đồng hồ DS1307
// 1. Tự động bật quạt nếu nhiệt độ chuồng bò > 29.5 độ C
if (temp_val > 29.5) digitalWrite(RELAY_FAN, LOW);
else digitalWrite(RELAY_FAN, HIGH);
// 2. Tự động bật đèn sưởi nếu ánh sáng < 10 Lux (trời tối)
if (lux_val < 10.0) digitalWrite(RELAY_LAMP, LOW);
else digitalWrite(RELAY_LAMP, HIGH);
// 3. Tự động kích hoạt máy bơm xịt rửa chuồng theo khung giờ cài đặt
if (now_time.hour() == pump_hour && now_time.minute() == pump_min) {
digitalWrite(RELAY_PUMP, LOW);
} else {
digitalWrite(RELAY_PUMP, HIGH);
}
}
}
Kiểm thử và Đánh giá hiệu năng
Hệ thống đã trải qua đợt kiểm thử thực nghiệm liên tục trong 72 giờ tại môi trường mô phỏng chuồng trại thực tế:
+-------------------------------------------------------------------------------+
| KẾT QUẢ KIỂM THỬ ĐỘ ĐO VÀ HIỆU NĂNG |
+---------------------------+-------------------+---------------+---------------+
| Tham số kiểm thử | Phạm vi thiết kế | Kết quả đạt | Tỷ lệ sai số |
+---------------------------+-------------------+---------------+---------------+
| Đo nhiệt độ môi trường | 0°C – 50°C | Khớp chuẩn | $\pm 1.2^\circ\text{C}$ (Đạt) |
| Đo độ ẩm không khí | 20% – 90% RH | Khớp chuẩn | $\pm 4.1\%$ (Đạt) |
| Đo cường độ sáng BH1750 | 1 – 65,535 Lux | Độ nhạy 1 Lux | $\pm 3.2\%$ (Đạt) |
| Thời gian duy trì RTC | Đến năm 2100 | Sai lệch <1s | $0.001\%$ (Hoàn hảo) |
| Độ trễ phản hồi Web/App | $< 3.0\text{ s}$ | $1.42\text{ s}$ trung bình | Rất tốt |
| Tỷ lệ kết nối Wi-Fi thành công | $> 95\%$ | $99.2\%$ | Ổn định |
+---------------------------+-------------------+---------------+---------------+
+-------------------------------------------------------------+
| PHÂN BỐ THỜI GIAN TRỄ TRUYỀN DỮ LIỆU (TOTAL: 1.42s) |
+-------------------------------------------------------------+
| [####] Đọc cảm biến: 0.15s (10.6%) |
| [########] NodeMCU xử lý & đóng gói: 0.22s (15.5%) |
| [######################] Truyền qua Wi-Fi & Internet: 0.65s (45.8%) |
| [#############] MySQL Query & PHP Parse: 0.40s (28.1%) |
+-------------------------------------------------------------+
Kết quả đạt được
Hệ thống hoàn thiện 100% các tính năng đề ra ban đầu, bao gồm:
- Thi công phần cứng hoàn chỉnh: Đóng gói khối điều khiển trung tâm NodeMCU kết hợp màn hình LCD 20x4 và 3 module relay 5V được cách ly an toàn trong hộp kỹ thuật chống bụi, ẩm.
- Giao diện Web Server responsive: Hiển thị trực quan bảng điều khiển (Dashboard), trang đăng nhập xác thực tài khoản, bảng theo dõi cảm biến thời gian thực, bảng bật/tắt relay theo chế độ Manual và giao diện hẹn giờ bơm nước tự động.
- Ứng dụng di động Android chuyên dụng: Triển khai file APK cài đặt trên các thiết bị Android từ phiên bản 5.0 trở lên, hỗ trợ 4 module tính năng chính: Cập nhật vi khí hậu, Điều khiển thiết bị, Nhập thông số vật nuôi (lô bò, độ tuổi, ngày tiêm chủng) và Hẹn giờ kích hoạt máy bơm.
Đổi mới và đóng góp khoa học - kỹ thuật
+-------------------------------------------------------------------------------+
| SO SÁNH CẢI TIẾN KỸ THUẬT VỚI CÁC GIẢI PHÁP KHÁC |
+---------------------+-------------------+-------------------+-----------------+
| Tính năng | Giải pháp vi điều | Gateway Raspberry | Hệ thống đề tài |
| | khiển GSM/SMS cũ | Pi công nghiệp | (NodeMCU IoT) |
+---------------------+-------------------+-------------------+-----------------+
| **Chi phí phần cứng**| ~ 1.800.000 VNĐ | ~ 2.500.000 VNĐ | < 650.000 VNĐ |
| **Cước phí vận hành**| Tốn phí SMS hàng | Cần IP tĩnh / SIM | Miễn phí (Dùng |
| | tháng (~100k/th) | 4G Data đắt đỏ | Wi-Fi nội bộ) |
| **Tiết kiệm chân IO**| Tốn 16 chân cho | Đầy đủ chân GPIO | Tối ưu I2C Bus |
| | LCD song song | | chỉ tốn 2 chân |
| **Cơ chế dự phòng** | Không có | Phức tạp | 2 Chế độ song |
| | | | hành Auto/Manual|
+---------------------+-------------------+-------------------+-----------------+
Các đóng góp kỹ thuật nổi bật
- Tối ưu hóa tài nguyên phần cứng bằng kiến trúc bus I2C: Thay vì sử dụng tới 16 chân GPIO truyền thống để điều khiển màn hình LCD 20x4 và nhiều đường data cho các cảm biến, hệ thống đã tích hợp chip chuyển đổi I2C PCF8574 và cảm biến kỹ thuật số BH1750, DS1307 trên cùng một tuyến bus 2 dây (SDA/SCL). Giải pháp này giúp tiết kiệm $80%$ số chân I/O trên ESP8266, dành tài nguyên chân cho việc mở rộng các cụm chấp hành.
- Kiến trúc điều khiển kết hợp Failsafe (Auto/Manual): Đảm bảo an toàn tuyệt đối cho trang trại. Khi mất kết nối Internet, hệ thống nhúng tự động chuyển sang cơ chế điều khiển cục bộ (Local Autonomous Mode) dựa trên các ngưỡng cài đặt tĩnh trong bộ nhớ ROM và đồng hồ DS1307, không làm gián đoạn lịch xịt rửa chuồng hay thông gió.
- Tích hợp quản lý chuỗi giá trị chăn nuôi trên nền tảng di động: Khác với các hệ thống giám sát môi trường đơn thuần, ứng dụng Android của đề tài tích hợp tính năng nhập liệu thông tin xuất/nhập chuồng, theo dõi độ tuổi đàn bò, tạo tiền đề để xây dựng hồ sơ truy xuất nguồn gốc sản phẩm chăn nuôi sạch.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế (Use-case Scenarios)
- Mô hình chuồng nuôi bò sữa công nghệ cao: Khi nhiệt độ môi trường chuồng nuôi vượt mức tối ưu ($>29.5^\circ\text{C}$), hệ thống tự động kích hoạt quạt thông gió và phun sương để hạ nhiệt độ tức thì, ngăn chặn hiện tượng sốc nhiệt làm sụt giảm sản lượng sữa từ 10-15%.
- Mô hình chuồng nuôi bò thịt tăng trọng: Tự động điều chỉnh hệ thống chiếu sáng vào ban đêm (khi cường độ sáng $<10\text{ Lux}$) nhằm kéo dài thời gian ăn của vật nuôi, đồng thời kích hoạt lịch bơm nước xịt rửa vệ sinh chất thải chuồng trại tự động 2 lần/ngày (vào lúc 08:00 và 16:00) theo cấu hình DS1307.
+-------------------------------------------------------------------------------+
| PHÂN TÍCH TÀI CHÍNH & ROI (CHO TRANG TRẠI 50 CON) |
+------------------------------------+------------------+-----------------------+
| Hạng mục chi phí / Lợi nhuận | Trước triển khai | Sau khi ứng dụng IoT |
+------------------------------------+------------------+-----------------------+
| Chi phí nhân công dọn rửa & bật tắt| 9.000.000 đ/tháng| 3.000.000 đ/tháng |
| Tổn thất điện năng do quên tắt tải | ~800.000 đ/tháng | ~350.000 đ/tháng |
| Sản lượng sữa bình quân / con | 18 lít/ngày | 20.5 lít/ngày (+13.8%)|
| **Thời gian hoàn vốn (ROI)** | -- | **3.8 tháng** |
+------------------------------------+------------------+-----------------------+
Lộ trình triển khai hệ thống (Implementation Roadmap)
Giai đoạn 1: Khảo sát & Demo
[Tháng 1] Khảo sát diện tích chuồng, lắp đặt kit phần cứng và cài đặt Router Wi-Fi
│
▼
Giai đoạn 2: Cấu hình Web & Database
[Tháng 2] Thiết lập Web Server PHP/MySQL, phân quyền tài khoản quản trị
│
▼
Giai đoạn 3: Cài đặt App & Đào tạo
[Tháng 3] Cài đặt APK cho nhân viên trang trại, cấu hình ngưỡng nhiệt độ/lịch bơm
│
▼
Giai đoạn 4: Nghiệm thu & Tối ưu
[Tháng 4+] Đánh giá chỉ số vi khí hậu thực tế và tối ưu hóa thời lượng bật quạt/máy bơm
Hạn chế và hướng phát triển
Các hạn chế kỹ thuật hiện tại
- Độ bền cảm biến trong môi trường chuồng trại: Cảm biến DHT11 có độ chính xác nhiệt độ $\pm 2^\circ\text{C}$ và độ ẩm $\pm 5%$, vỏ ngoài bằng nhựa thông thường dễ bị ăn mòn bởi khí Amoniac ($\text{NH}_3$) và Hydro Sulfua ($\text{H}_2\text{S}$) bốc lên từ chất thải gia súc nếu sử dụng lâu dài.
- Giao thức truyền thông HTTP Polling: Việc ESP8266 liên tục gửi truy vấn HTTP GET/POST định kỳ làm tiêu tốn băng thông và năng lượng xử lý hơn so với các giao thức chuyên dụng cho IoT như MQTT hoặc WebSockets.
- Phạm vi phủ sóng Wi-Fi: Mạng Wi-Fi 2.4GHz bị suy hao tín hiệu khi đi qua các kết cấu tường bê tông và khung thép lớn của chuồng trại quy mô hàng héc-ta.
Hướng phát triển trong tương lai
- Nâng cấp cảm biến công nghiệp: Thay thế DHT11 bằng các cảm biến chuyên dụng như SHT30/SHT35 hoặc cảm biến nhiệt độ bọc kim loại DS18B20 chống nước, bổ sung cảm biến khí độc $\text{NH}_3$ (MQ-137) và $\text{CO}_2$ (MG-811).
- Chuyển đổi giao thức sang MQTT / WebSockets: Triển khai MQTT Broker (như Eclipse Mosquitto) với cơ chế Publish/Subscribe giúp giảm độ trễ phản hồi xuống $<100\text{ ms}$ và tiết kiệm $70%$ dữ liệu truyền tải.
- Mở rộng mạng cảm biến không dây tầm xa (LoRa / ZigBee Mesh): Ứng dụng công nghệ truyền thông LoRa (Long Range) cho phép kết nối các node cảm biến cách xa trạm trung tâm từ 1km đến 5km mà không cần phụ thuộc vào mạng Wi-Fi cục bộ.
- Tích hợp trí tuệ nhân tạo (AI & Edge Analytics): Xây dựng mô hình máy học (Machine Learning) dự báo sớm dịch bệnh trên đàn bò thông qua phân tích dữ liệu biến thiên nhiệt độ và thói quen sinh hoạt theo mùa.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------------+
| MA TRẬN ĐỐI TƯỢNG HƯỞNG LỢI |
+------------------+------------------------------------------------------------+
| Đối tượng | Giá trị và Lợi ích nhận được |
+------------------+------------------------------------------------------------+
| **Sinh viên** | Nắm vững kiến trúc phần cứng vi điều khiển SoC ESP8266, |
| | kỹ năng giao tiếp I2C/1-Wire và quy trình lập trình IoT |
| | toàn diện từ phần cứng nhúng đến ứng dụng Android/Web. |
+------------------+------------------------------------------------------------+
| **Kỹ sư / Lập | Tài liệu tham khảo chuẩn mực về tích hợp hệ thống nhúng |
| trình viên IoT** | với Web Server PHP/MySQL; cấu trúc mã nguồn C/C++ xử lý |
| | luồng điều khiển Active Low và lập lịch RTC tin cậy. |
+------------------+------------------------------------------------------------+
| **Chủ trang trại | Cắt giảm 60% chi phí nhân công quản lý, chủ động kiểm soát |
| chăn nuôi** | tiểu khí hậu chuồng trại từ xa, nâng cao 15% năng suất sữa |
| | và tốc độ tăng trọng của vật nuôi. |
+------------------+------------------------------------------------------------+
| **Nhà nghiên | Bộ dữ liệu thực nghiệm về ứng dụng vi điều khiển giá rẻ |
| cứu học thuật** | trong nông nghiệp thông minh, làm cơ sở phát triển các hệ |
| | thống AIoT và nông nghiệp tuần hoàn bền vững. |
+------------------+------------------------------------------------------------+
Câu hỏi thường gặp (FAQ)
1. Yêu cầu kỹ thuật tối thiểu để triển khai phần cứng của hệ thống là gì?
Hệ thống yêu cầu nguồn cấp 5V DC – 2A (cổng Micro USB hoặc chân Vin của NodeMCU) cho khối xử lý trung tâm và nguồn 12V DC – 2A cấp cho khối relay chấp hành; một mạng Wi-Fi chuẩn 802.11 b/g/n băng tần 2.4GHz có kết nối Internet; môi trường máy chủ hỗ trợ PHP 7.x và MySQL 5.7+ để lưu trữ cơ sở dữ liệu.
2. Giới hạn mở rộng số lượng cảm biến trên kit NodeMCU ESP8266 là bao nhiêu?
Nhờ sử dụng bus truyền thông I2C (chân D1-SCL, D2-SDA), hệ thống có thể kết nối song song lên tới 127 thiết bị ngoại vi có địa chỉ định danh khác nhau mà không tốn thêm chân GPIO. Đối với các cảm biến analog, do ESP8266 chỉ có 1 chân ADC (A0: 0-1.0V), nếu cần mở rộng nhiều cảm biến analog cần tích hợp thêm IC chuyển đổi ADC 16-bit như ADS1115 qua cổng I2C.
3. Hệ thống có thể tích hợp với các thiết bị điện 220V công suất lớn không?
Có. Các relay trong mô hình đồ án sử dụng tiếp điểm chịu tải tối đa 250VAC – 10A hoặc 30VDC – 10A. Để điều khiển máy bơm hoặc quạt công nghiệp 220V/380V công suất lớn, ngõ ra relay của kit sẽ được đấu nối đóng ngắt cho cuộn hút của Khởi động từ (Contactor/Aptomat khối), đảm bảo an toàn tuyệt đối cho mạch điện tử.
4. Chi phí bảo trì và bảo dưỡng hệ thống định kỳ như thế nào?
Chi phí bảo dưỡng cực kỳ thấp. Pin cúc áo CR2032 cấp nguồn cho module RTC DS1307 có tuổi thọ lên tới 5 - 10 năm. Việc bảo trì định kỳ chủ yếu bao gồm vệ sinh màng chắn cảm biến DHT11 và BH1750 sau mỗi 6 tháng để tránh bụi bẩn bám dính làm sai lệch kết quả đo.
5. Tại sao hệ thống sử dụng kết hợp cả Web Server và Ứng dụng Android?
Việc xây dựng song song hai giao diện mang lại tính linh hoạt cao: Web Server phục vụ quản trị tập trung tại văn phòng trang trại trên máy tính để bàn (dễ dàng xuất báo cáo thống kê, xem bảng dữ liệu lớn), trong khi ứng dụng Android phục vụ tính cơ động của người nông dân khi đang trực tiếp di chuyển ngoài khuôn viên trang trại.
Kết luận
Đề tài "Thiết kế hệ thống quản lý nông trại" do nhóm sinh viên Bùi Đức Dĩnh và Phan Tấn Duy thực hiện đã giải quyết thành công bài toán tự động hóa giám sát và điều khiển vi khí hậu chuồng trại chăn nuôi gia súc. Bằng việc làm chủ công nghệ vi điều khiển kết nối mạng NodeMCU ESP8266, kết hợp linh hoạt chuẩn truyền thông nối tiếp I2C/1-Wire, hệ thống đã tối ưu hóa chi phí phần cứng ở mức tối đa nhưng vẫn đảm bảo độ chính xác và tính ổn định cao trong vận hành thực tế.
Sự kết hợp đồng bộ giữa khối thiết bị biên, Web Server PHP/MySQL và ứng dụng di động Android mang lại giải pháp quản trị trang trại toàn diện từ xa, giảm thiểu phụ thuộc vào nhân công thủ công và nâng cao hiệu quả kinh tế rõ rệt. Đây là tiền đề kỹ thuật vững chắc để các nhà vườn, trang trại chăn nuôi tiếp cận và làm chủ công nghệ nông nghiệp thông minh với mức đầu tư hợp lý nhất.