Giới thiệu dự án
Nuôi trồng thủy sản, đặc biệt là nghề nuôi tôm nước lợ và nước ngọt (tôm sú Penaeus monodon, tôm thẻ chân trắng Penaeus vannamei, tôm càng xanh Macrobrachium rosenbergii, tôm hùm Panulirus spp.), đóng vai trò mũi nhọn trong nền kinh tế nông nghiệp Việt Nam với diện tích canh tác tôm sú vượt hơn 600.000 ha và sản lượng hàng trăm nghìn tấn mỗi năm. Tuy nhiên, sự bùng phát của dịch bệnh tôm chết sớm (EMS - Early Mortality Syndrome) và vi khuẩn Vibrio bắt nguồn từ sự suy giảm chất lượng nước, tích tụ khí độc ($H_2S$, $NH_3$, $NO_2^-$), biến động nhiệt độ đột ngột và độ đục (TSS) tăng cao do thức ăn thừa và bùn đáy.
Phương pháp quản lý truyền thống phụ thuộc hoàn toàn vào việc lấy mẫu thủ công, đo đạc ngắt quãng bằng hóa chất thử nghiệm hoặc bút đo cầm tay, dẫn đến độ trễ thông tin lớn, không thể phát hiện kịp thời các biến động môi trường vào ban đêm hoặc khi thời tiết chuyển biến cực đoan.
Đề tài "Giám sát mô hình ao nuôi tôm sử dụng công nghệ IoT" được nghiên cứu và chế tạo nhằm giải quyết triệt để bài toán giám sát liên tục các thông số thủy lý - hóa trong môi trường ao nuôi tôm thương phẩm thông qua mạng Internet, kết hợp truyền dẫn không dây và giám sát hình ảnh trực quan thời gian thực.
+----------------------------------------------+
| AO NUÔI THỰC TẾ |
| [DS18B20] [DFRobot Turbidity] [pH Sensor]
+-------+----------------+-----------------+---+
| | |
(1-Wire Digital) (Analog) (Analog)
| | |
v v v
+----------------------------------------------+
| ESP32 MCU (Dual-Core LX6) |
| - ADC 12-bit Processing (0-4095) |
| - Wi-Fi 802.11 b/g/n (Station Mode) |
+-----------------------+----------------------+
|
(HTTP POST / JSON)
|
v
+----------------------------------------------+
| WEB SERVER / SERVICE |
| - PHP Endpoints |
| - data.json Buffering (Realtime Cache) |
| - MySQL Database (30s Averaged Aggregation) |
| - Alert Engine (Email / SMS Notification) |
+-----------------------+----------------------+
|
(AJAX / Polling 1s)
|
v
+----------------------------------------------+
| WEB APPLICATION CLIENT (GUI) |
| - Chart.js Dynamic Curves |
| - SimpleWebRTC Live Video Stream |
| - Threshold Configuration & Analytics |
+----------------------------------------------+
Mục tiêu dự án
- Thiết kế khối thu thập tín hiệu phần cứng (Hardware Edge Node): Tích hợp thành công cảm biến nhiệt độ kỹ thuật số DS18B20, cảm biến độ pH tương tự DFRobot Analog pH Meter Pro và cảm biến độ đục quang học DFRobot Turbidity Sensor với vi điều khiển ESP32 SoC.
- Xây dựng hệ thống Web Service trung gian: Thiết kế các API RESTful trên nền tảng PHP để tiếp nhận dữ liệu định dạng JSON từ ESP32, xử lý đệm (buffering) và tối ưu hóa ghi dữ liệu vào hệ quản trị cơ sở dữ liệu MySQL.
- Phát triển giao diện giám sát trực quan (Web Dashboard): Xây dựng ứng dụng Web tương tác hiển thị biểu đồ biến thiên thời gian thực (Real-time Chart.js), tích hợp luồng video từ camera giám sát thông qua SimpleWebRTC và hệ thống cảnh báo tự động qua Email/Tin nhắn khi thông số vượt ngưỡng an toàn.
- Chế tạo mô hình thực nghiệm (Physical Prototype): Chế tạo khung phao nổi mô phỏng tàu thăm dò bằng vật liệu ống nhựa PVC chịu lực và xốp nâng, đảm bảo các đầu dò cảm biến hoạt động ổn định trong môi trường nước.
Giải pháp và Kết quả kỳ vọng
Giải pháp tận dụng sức mạnh xử lý kép của dòng vi điều khiển 32-bit ESP32 kết hợp kết nối Wi-Fi tốc độ cao, chuyển đổi tín hiệu từ các cảm biến chuyên dụng thành dữ liệu số có độ chính xác cao. Dữ liệu được truyền tải liên tục với chu kỳ lấy mẫu 1 giây/lần lên Web Service và tổng hợp trung bình mỗi 30 giây vào Database, giúp giảm 96.7% áp lực lưu trữ I/O nhưng vẫn đảm bảo hiển thị biểu đồ mượt mà, độ trễ hệ thống dưới 1000ms.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí |
Phương pháp thủ công (Hóa nghiệm) |
Máy đo cầm tay (Handheld Meter) |
Hệ thống IoT giám sát tự động (Đề tài) |
| Tính liên tục |
Gián đoạn (1-2 lần/ngày) |
Rời rạc theo ca kiểm tra |
Liên tục 24/7 thời gian thực |
| Độ trễ phát hiện rủi ro |
Rất cao (>4-8 giờ) |
Trung bình (30-60 phút) |
Tức thời (<1-3 giây) |
| Lưu trữ dữ liệu |
Sổ tay ghi chép, dễ mất mát |
Lưu cục bộ bộ nhớ máy (giới hạn) |
MySQL Database lưu trữ đa mùa vụ |
| Cảnh báo từ xa |
Không có |
Âm thanh tại chỗ |
Email và SMS tự động |
| Giám sát thị giác |
Trực tiếp bờ ao |
Trực tiếp bờ ao |
Camera truyền hình ảnh trực tiếp lên Web |
| Chi phí vận hành |
Tốn công lao động định kỳ |
Tốn nhân lực vận hành máy |
Tự động hóa hoàn toàn, chi phí thấp |
Phân tích yêu cầu hệ thống theo mô hình MoSCoW
- Must have (Bắt buộc): Đo đạc chính xác 3 thông số: Nhiệt độ ($^{\circ}\text{C}$), Độ pH (0-14 pH), Độ đục (NTU/mg/L); Truyền nhận dữ liệu qua Wi-Fi lên máy chủ; Hiển thị đồ thị thời gian thực; Cảnh báo sự cố qua giao diện và Email.
- Should have (Nên có): Tích hợp camera truyền hình ảnh trực tiếp từ mặt ao/dưới nước; Thống kê so sánh dữ liệu giữa các mùa vụ nuôi.
- Could have (Có thể có): Điều khiển tự động thiết bị tải ngoại vi (quạt nước, máy sục khí oxy, máy cấp thức ăn tự động).
- Won't have (Chưa thực hiện trong giai đoạn này): Đo hàm lượng Oxy hòa tan (DO), độ mặn (Salinity), phân tích tự động thành phần ion hóa học chuyên sâu.
Thiết kế hệ thống
Technology Stack & Hardware Specifications
- Bộ vi điều khiển trung tâm: ESP32 ESP-WROOM-32 (Xtensa Dual-core 32-bit LX6 Microprocessor @ 240MHz, 520 KB SRAM, 448 KB ROM, Wi-Fi 802.11 b/g/n, Bluetooth v4.2 BR/EDR & BLE).
- Cảm biến nhiệt độ: Maxim Integrated DS18B20 (Giao tiếp 1-Wire, độ phân giải 9-12 bit, dải đo $-55^{\circ}\text{C}$ đến $+125^{\circ}\text{C}$, sai số $\pm 0.5^{\circ}\text{C}$ trong dải $-10^{\circ}\text{C}$ đến $+85^{\circ}\text{C}$, vỏ bọc thép không gỉ chống thấm nước đường kính 6mm).
- Cảm biến độ đục: DFRobot Gravity Turbidity Sensor V1.0 (Nguyên lý đo quang học tán xạ ánh sáng TSS, điện áp 5VDC, thời gian đáp ứng $<500\text{ms}$, ngõ ra Analog 0-4.5V).
- Cảm biến độ pH: DFRobot Gravity Analog pH Sensor Pro (Dải đo 0-14 pH, điện áp 5VDC, độ chính xác $\pm 0.1\text{pH}$ ở $25^{\circ}\text{C}$, chuẩn kết nối BNC, thời gian đáp ứng $<1\text{ phút}$).
- Nền tảng phần mềm & Web: PHP 7.x, MySQL 5.7, Apache HTTP Server, HTML5, CSS3, JavaScript ES6, Chart.js 2.x, SimpleWebRTC, AJAX.
Thiết kế Cơ sở dữ liệu (Database Schema)
Hệ thống sử dụng hệ quản trị MySQL gồm các bảng dữ liệu chuyên biệt:
-- Bảng lưu trữ thông số nhiệt độ
CREATE TABLE sensor_temp (
id INT AUTO_INCREMENT PRIMARY KEY,
value FLOAT NOT NULL,
recorded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Bảng lưu trữ thông số độ pH
CREATE TABLE sensor_ph (
id INT AUTO_INCREMENT PRIMARY KEY,
value FLOAT NOT NULL,
recorded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Bảng lưu trữ thông số độ đục
CREATE TABLE sensor_turbidity (
id INT AUTO_INCREMENT PRIMARY KEY,
value FLOAT NOT NULL,
recorded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Bảng cấu hình ngưỡng cảnh báo
CREATE TABLE system_settings (
id INT PRIMARY KEY,
temp_min FLOAT, temp_max FLOAT,
ph_min FLOAT, ph_max FLOAT,
turbidity_min FLOAT, turbidity_max FLOAT,
alert_email VARCHAR(100)
);
-- Bảng quản lý thống kê dữ liệu mùa vụ
CREATE TABLE season_stats (
season_id INT AUTO_INCREMENT PRIMARY KEY,
season_name VARCHAR(50),
start_date DATETIME,
end_date DATETIME,
avg_temp FLOAT, avg_ph FLOAT, avg_turbidity FLOAT
);
Thiết kế Web Service Endpoints
POST /api/push_data.php: Tiếp nhận Payload JSON từ ESP32, ghi tạm vào file bộ nhớ đệm data.json và đếm chỉ số number. Khi number = 30, thực thi tính trung bình cộng và chèn (INSERT) vào các bảng cơ sở dữ liệu MySQL.
GET /api/get_realtime.php: Trả về đối tượng JSON tức thời từ data.json phục vụ cập nhật biểu đồ AJAX phía Web Client mỗi 1000ms.
GET /api/get_history.php?hours=1: Truy vấn dữ liệu lịch sử trong khoảng thời gian xác định (mặc định 1 giờ gần nhất) phục vụ phân tích xu hướng.
POST /api/update_settings.php: Tiếp nhận thiết lập ngưỡng từ biểu mẫu cài đặt và cập nhật bảng system_settings.
Methodology
Quy trình phát triển hệ thống được tổ chức theo phương pháp luận đồng thiết kế Phần cứng - Phần mềm (Hardware-Software Co-Design) kết hợp mô hình linh hoạt (Iterative Agile) kéo dài trong 20 tuần:
| Giai đoạn |
Nội dung công việc chính |
Deliverables / Đầu ra |
| Tuần 1 - 4 |
Nghiên cứu tài liệu sinh học tôm, khảo sát thông số cảm biến, phân tích yêu cầu kỹ thuật. |
Báo cáo thông số môi trường chuẩn và tài liệu đặc tả hệ thống. |
| Tuần 5 - 8 |
Thiết kế sơ đồ nguyên lý mạch, lập trình nhúng ESP32 đọc ADC và giao tiếp 1-Wire. |
Module đọc dữ liệu 3 cảm biến độc lập qua Serial Monitor. |
| Tuần 9 - 14 |
Phát triển Web Service PHP, thiết kế CSDL MySQL, xây dựng Dashboard với Chart.js và WebRTC. |
Hệ thống Web tương tác nhận và trực quan hóa dữ liệu real-time. |
| Tuần 15 - 18 |
Gia công cơ khí khung phao nổi PVC + xốp, tích hợp phần cứng hoàn chỉnh, thử nghiệm hồ nước. |
Mô hình phao nổi gắn cảm biến và bo mạch hoàn chỉnh. |
| Tuần 19 - 20 |
Đánh giá sai số, kiểm thử độ ổn định truyền dẫn, hiệu chỉnh ngưỡng cảnh báo và báo cáo. |
Tập số liệu kiểm thử, đồ án tốt nghiệp hoàn chỉnh. |
Implementation và kết quả
Development process
Quá trình lập trình nhúng trên ESP32 sử dụng môi trường Arduino IDE C/C++, tích hợp thư viện OneWire.h và DallasTemperature.h để trích xuất nhiệt độ qua chân Digital D5, đồng thời cấu hình bộ chuyển đổi Analog-to-Digital Converter (ADC 12-bit, dải giá trị $0 - 4095$) trên chân ADC1_CH0 (GPIO36/VP) cho cảm biến pH và ADC1_CH3 (GPIO39/VN) cho cảm biến độ đục.
#include <WiFi.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <HTTPClient.h>
#define ONE_WIRE_BUS 5
#define PIN_PH 36
#define PIN_TURBIDITY 39
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
const char* ssid = "NHA_NUOI_TOM_WIFI";
const char* password = "password_secure";
const char* serverUrl = "http://192.168.1.100:8080/monitoring/push_data.php";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) { delay(500); }
sensors.begin();
}
void loop() {
// 1. Đọc cảm biến nhiệt độ DS18B20
sensors.requestTemperatures();
float data_nd = sensors.getTempCByIndex(0);
// 2. Đọc và chuyển đổi tín hiệu độ đục (ADC 12-bit: 0 - 4095)
int raw_turbidity = analogRead(PIN_TURBIDITY);
float data_duc = (4096.0 - (float)raw_turbidity) * 4000.0 / 4096.0;
// 3. Đọc và chuyển đổi tín hiệu độ pH
int raw_ph = analogRead(PIN_PH);
float data_ph = (4096.0 - (float)raw_ph) * 14.0 / 4096.0;
// 4. Đóng gói JSON và gửi HTTP POST đến Web Service
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin(serverUrl);
http.addHeader("Content-Type", "application/json");
String payload = "{\"temp\":" + String(data_nd, 2) +
",\"turbidity\":" + String(data_duc, 2) +
",\"ph\":" + String(data_ph, 2) + "}";
int httpResponseCode = http.POST(payload);
http.end();
}
delay(1000); // Chu kỳ lấy mẫu 1 giây
}
Tại tầng Web Service, file xử lý trung gian tiếp nhận luồng dữ liệu JSON định kỳ và duy trì bộ đệm trong data.json:
{
"number": 10,
"turbidity": [{"x": "2018-05-05 20:20:00", "y": 38.0}],
"temp": [{"x": "2018-05-05 20:20:00", "y": 29.2}],
"ph": [{"x": "2018-05-05 20:20:00", "y": 7.4}]
}
Cấu trúc giao diện người dùng sử dụng AJAX để liên tục polling dữ liệu từ file đệm và cập nhật biểu đồ động thông qua thư viện Chart.js:
function updateRealtimeData() {
$.ajax({
url: 'get_realtime.php',
type: 'GET',
dataType: 'json',
success: function(data) {
var timeLabel = data.temp[0].x;
var tempVal = data.temp[0].y;
var phVal = data.ph[0].y;
var turbVal = data.turbidity[0].y;
// Đẩy dữ liệu vào Chart.js Dataset
myChart.data.labels.push(timeLabel);
myChart.data.datasets[0].data.push(tempVal);
myChart.data.datasets[1].data.push(phVal);
myChart.data.datasets[2].data.push(turbVal);
// Giữ cửa sổ hiển thị 20 điểm gần nhất
if (myChart.data.labels.length > 20) {
myChart.data.labels.shift();
myChart.data.datasets.forEach((dataset) => dataset.data.shift());
}
myChart.update();
}
});
}
setInterval(updateRealtimeData, 1000);
Testing và validation
Bảng quy đổi thực nghiệm cảm biến độ pH (Hiệu chuẩn điện áp $mV \rightarrow pH$)
| Điện áp đầu ra ($mV$) |
Giá trị đo lý thuyết ($pH$) |
Giá trị hiệu chuẩn thực tế ($pH$) |
Sai số ($\Delta pH$) |
| 414.12 |
0.00 |
0.05 |
+0.05 |
| 354.96 |
1.00 |
1.02 |
+0.02 |
| 236.64 |
3.00 |
3.01 |
+0.01 |
| 0.00 |
7.00 (Trung tính) |
7.00 |
0.00 |
| -177.48 |
10.00 |
9.97 |
-0.03 |
| -414.12 |
14.00 (Kiềm mạnh) |
13.92 |
-0.08 |
Bảng thông số môi trường sinh trưởng tiêu chuẩn của các đối tượng tôm nuôi
| Giống tôm nuôi |
Nhiệt độ nước ($^{\circ}\text{C}$) |
Độ pH tối ưu |
Độ mặn ($\text{‰}$) |
Độ đục tiêu chuẩn (NTU) |
Chu kỳ thu hoạch |
| Tôm sú (P. monodon) |
25 - 30 |
7.5 - 8.5 |
10 - 22 |
7 - 12 |
110 - 120 ngày |
| Tôm thẻ chân trắng (P. vannamei) |
27 - 30 |
7.5 - 8.5 |
10 - 20 |
7 - 12 |
75 - 90 ngày |
| Tôm càng xanh (M. rosenbergii) |
26 - 31 |
6.5 - 8.0 |
0 - 16 |
15 - 22 |
7 - 8 tháng |
| Tôm hùm bông (P. ornatus) |
26 - 30 |
6.5 - 8.5 |
30 - 35 |
0 - 16 |
12 - 15 tháng |
Kết quả đạt được
- Độ ổn định thu thập dữ liệu: ESP32 duy trì kết nối mạng Wi-Fi và truyền thành công 99.4% các gói tin dữ liệu trong các đợt thử nghiệm liên tục 72 giờ.
- Tối ưu hóa Database I/O: Thuật toán lấy mẫu $1/30\text{s}$ giúp giảm khối lượng bản ghi ghi trực tiếp vào MySQL từ 86,400 lượt/ngày xuống còn 2,880 lượt/ngày (tiết kiệm 96.7% tài nguyên lưu trữ và giảm tải CPU máy chủ).
- Cảnh báo tức thời: Khi tham số môi trường vượt qua ngưỡng cài đặt trong bảng
system_settings, hệ thống phát tín hiệu cảnh báo trên Web GUI đồng thời kích hoạt gửi email thông báo sự cố trong thời gian $<3\text{ giây}$.
- Giám sát thị giác: Luồng hình ảnh từ Webcam thông qua thư viện SimpleWebRTC truyền tải trực tiếp trên Web Dashboard ở độ phân giải tiêu chuẩn 480p, hỗ trợ người vận hành quan sát chuyển động mặt nước.
Đổi mới và đóng góp
- Cơ chế đệm dữ liệu lai (Hybrid JSON Buffering & Batch DB Aggregation): Khắc phục triệt để nhược điểm thắt nút cổ chai (bottleneck) của các hệ thống IoT truyền thống vốn ghi trực tiếp mọi sample vào CSDL. Bằng việc kết hợp file đệm JSON tần số cao ($1\text{Hz}$) cho đồ thị real-time và thuật toán tính giá trị trung bình định kỳ $30\text{s}$ cho CSDL quan hệ, hệ thống vừa đảm bảo tính trực quan vừa tối ưu tài nguyên máy chủ.
- Cấu trúc phao nổi khí động học PVC + Foam Floatation: Thiết kế khung cơ khí module hóa chịu lực từ ống nhựa PVC kết hợp mút xốp tăng lực nổi (buoyancy force), giữ cố định đầu dò các cảm biến DS18B20, DFRobot pH và Turbidity tại độ sâu tầng nước mặt ổn định, bảo vệ cảm biến khỏi va đập cơ học và bùn đáy.
- Tích hợp đa phương thức Telemetry và Live Video Stream: Kết hợp đồng thời dữ liệu định lượng (3 thông số cảm biến) và dữ liệu định tính (Video stream qua SimpleWebRTC), mang lại cái nhìn toàn diện 360 độ về hệ sinh thái ao tôm cho người nuôi từ xa.
- Nâng cao hiệu suất quản lý: Giúp giảm thiểu 80% công lao động đo đạc tại hiện trường, giảm thiểu rủi ro tôm chết hàng loạt do biến động môi trường tới mức thấp nhất.
Ứng dụng thực tế và triển khai
Kịch bản triển khai thực tế (Use-Case Scenarios)
- Trang trại nuôi tôm thâm canh và siêu thâm canh công nghệ cao: Lắp đặt các trạm phao nổi tại 4 góc ao và trung tâm ao để theo dõi sự phân tầng nhiệt độ, phân tầng độ đục và biến động pH theo chu kỳ ngày đêm.
- Vùng nuôi tôm - lúa sinh thái Đồng bằng sông Cửu Long: Giám sát liên tục chất lượng nguồn nước ngọt/lợ trong các mô hình nuôi xen canh tôm càng xanh và ruộng lúa, ngăn chặn kịp thời hiện tượng nước bị chua (pH giảm sâu) sau các cơn mưa đầu mùa.
- Cơ sở sản xuất giống và ương dưỡng ấu trùng: Giám sát môi trường bể ươm tôm giống đòi hỏi dải nhiệt độ ($27-30^{\circ}\text{C}$) và pH ($7.5-8.5$) cực kỳ khắt khe.
Phân tích chi phí và hiệu quả đầu tư (Cost-Benefit Analysis)
+-------------------------------------------------------------+
| BẢNG DỰ TOÁN CHI PHÍ PHẦN CỨNG |
+------------------------------------+------------------------+
| Hạng mục linh kiện / Thiết bị | Chi phí ước tính (VND) |
+------------------------------------+------------------------+
| ESP32 Development Board (32-bit) | 150.000 - 200.000 |
| Cảm biến nhiệt độ DS18B20 vỏ thép | 45.000 - 60.000 |
| Module cảm biến pH Analog DFRobot | 550.000 - 700.000 |
| Module cảm biến độ đục DFRobot | 250.000 - 350.000 |
| Webcam / Camera Module chống ẩm | 200.000 - 300.000 |
| Khung phao PVC + Xốp + Phụ kiện | 150.000 - 200.000 |
| Nguồn cấp (Pin dự phòng / Adapter) | 150.000 - 200.000 |
+------------------------------------+------------------------+
| TỔNG CHI PHÍ PHẦN CỨNG | 1.495.000 - 2.010.000 |
+------------------------------------+------------------------+
Với tổng chi phí phần cứng chỉ xấp xỉ 1.5 đến 2.0 triệu VNĐ/trạm, hệ thống mang lại hiệu quả kinh tế vượt trội so với các thiết bị đo đạc công nghiệp nhập ngoại (thường có giá từ 15 đến 30 triệu VNĐ). Việc ngăn ngừa sớm chỉ 01 sự cố sốc môi trường gây chết tôm trong ao nuôi 1000m$^2$ đã có thể giúp hộ nuôi bảo vệ sản lượng tương đương 50 - 100 triệu VNĐ, mang lại thời gian hoàn vốn đầu tư (ROI) ngay trong vụ mùa đầu tiên.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Độ bền cảm biến trong môi trường nước mặn: Đầu đo cảm biến pH thủy tinh và module quang học đo độ đục nhanh bị bám rêu tảo (bio-fouling) và ăn mòn hóa học nếu ngâm liên tục trong môi trường nước biển/nước lợ mà không được bảo dưỡng, vệ sinh định kỳ.
- Chuẩn kháng nước Camera: Module Webcam sử dụng trong mô hình thử nghiệm kết nối giao tiếp USB với máy tính và chưa đạt chuẩn kháng nước chuẩn công nghiệp IP68 để ngâm sâu dưới đáy ao liên tục.
- Phụ thuộc hạ tầng mạng: Hệ thống sử dụng giao thức Wi-Fi tầm ngắn, đòi hỏi ao nuôi phải nằm trong vùng phủ sóng của Router Wi-Fi hoặc phải kéo thêm bộ kích sóng.
Hướng phát triển đề tài
- Nâng cấp truyền thông tầm xa công suất thấp: Tích hợp module truyền thông LoRa (Long Range 433MHz/915MHz) hoặc mạng di động chuyên dụng NB-IoT / 4G LTE, cho phép triển khai các trạm phao quan trắc cách xa bờ hàng kilomet mà không cần Wi-Fi.
- Bổ sung các cảm biến chuyên dụng: Tích hợp đầu dò đo nồng độ Oxy hòa tan (DO - Dissolved Oxygen Sensor) và cảm biến đo độ mặn / độ dẫn điện (EC - Electrical Conductivity), hoàn thiện bộ tứ chỉ số sống còn của ao tôm.
- Tự cấp nguồn năng lượng tái tạo: Thiết kế module pin năng lượng mặt trời (Solar Panel) kèm mạch sạc pin Lithium 18650 tích hợp bộ quản lý nguồn thông minh, đảm bảo thiết bị hoạt động độc lập 24/7 ngoài trời.
- Tích hợp khối điều khiển tải tự động (Actuator Control): Ứng dụng thuật toán điều khiển mờ (Fuzzy Logic) hoặc mạng nơ-ron để tự động kích hoạt rơ-le bật hệ thống quạt nước tạo oxy khi nồng độ oxy/nhiệt độ suy giảm.
Đối tượng hưởng lợi
- Sinh viên & Học viên chuyên ngành: Cung cấp tài liệu tham khảo thực tiễn và mã nguồn mẫu chuẩn mực về thiết kế hệ thống IoT nhúng từ phần cứng (ESP32, cảm biến 1-Wire, ADC) đến phần mềm Web Service (PHP, MySQL, Chart.js, SimpleWebRTC).
- Kỹ sư & Lập trình viên IoT: Nắm bắt kiến trúc xử lý đệm dữ liệu tần số cao (High-Frequency Buffering Strategy), cách ly tải cơ sở dữ liệu và kỹ thuật truyền luồng video thời gian thực trên nền tảng web mã nguồn mở.
- Hộ nông dân & Doanh nghiệp nuôi trồng thủy sản: Tiếp cận giải pháp công nghệ cao chi phí thấp, chủ động quản lý môi trường ao nuôi từ xa 24/24, hạn chế tối đa rủi ro dịch bệnh và nâng cao tỷ lệ sống của tôm thương phẩm.
- Nhà nghiên cứu môi trường & Nông nghiệp thông minh: Sở hữu công cụ thu thập dữ liệu chuỗi thời gian (Time-Series Data) liên tục phục vụ phân tích tương quan giữa biến đổi khí hậu, thổ nhưỡng và chu kỳ sinh trưởng của các loài thủy hải sản.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống này là gì?
Hệ thống yêu cầu một bo mạch ESP32 đã nạp firmware, bộ 3 cảm biến (DS18B20, DFRobot pH, DFRobot Turbidity), nguồn cấp 5VDC/1A (hoặc pin sạc), vùng phủ sóng Wi-Fi 2.4GHz tại khu vực ao nuôi và một máy chủ Web (Localhost như XAMPP/WampServer hoặc Web Hosting chạy Apache/PHP 7+ và MySQL).
2. Dữ liệu thời gian thực được làm mượt và giảm tải thế nào để tránh tràn bộ nhớ MySQL?
Hệ thống sử dụng cơ chế xử lý hai tầng: Tầng 1 nhận dữ liệu liên tục 1 giây/lần từ ESP32 và lưu tạm đè vào file data.json để phục vụ Dashboard Chart.js. Tầng 2 đếm đến 30 mẫu ($30\text{s}$), tính giá trị trung bình cộng của 30 lần đọc rồi mới thực hiện 01 truy vấn INSERT vào MySQL, giảm tải 96.7% số lượt ghi đĩa.
3. Cần bảo dưỡng và hiệu chuẩn (Calibration) cảm biến pH định kỳ ra sao?
Cảm biến pH thủy tinh cần được hiệu chuẩn định kỳ 2-4 tuần/lần bằng dung dịch đệm chuẩn (Buffer Solution pH 4.00, pH 7.00 và pH 10.00). Cần vệ sinh đầu màng thủy tinh nhẹ nhàng bằng nước cất và bảo quản trong dung dịch KCl 3M khi không sử dụng để tránh hỏng màng thẩm thấu.
4. Hệ thống xử lý thế nào khi mất kết nối mạng Wi-Fi tạm thời?
Khi mất Wi-Fi, vi điều khiển ESP32 kích hoạt cơ chế tự động kết nối lại (WiFi.reconnect()) theo vòng lặp ngắt quãng. Các giá trị đo trong thời gian mất mạng sẽ được hiển thị qua cổng Serial cục bộ và ngay khi có mạng trở lại, việc gửi dữ liệu lên Web Service sẽ tự động phục hồi.
5. Chi phí triển khai và thời gian thu hồi vốn (ROI) thực tế?
Chi phí lắp ráp hoàn chỉnh một trạm giám sát dao động từ 1.5 đến 2.0 triệu VNĐ. Nhờ khả năng cảnh báo sớm nguy cơ thiếu oxy, nước nhiễm bẩn hoặc lệch pH gây sốc cho tôm, người nuôi có thể tránh được các đợt thiệt hại hàng chục đến hàng trăm triệu đồng, giúp hoàn vốn ngay trong vụ thu hoạch đầu tiên (sau 3-4 tháng).
Kết luận
Đồ án tốt nghiệp "Giám sát mô hình ao nuôi tôm sử dụng công nghệ IoT" của nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật TP.HCM đã giải quyết trọn vẹn bài toán tự động hóa quan trắc chất lượng nước trong nuôi trồng thủy sản. Việc ứng dụng vi điều khiển 32-bit ESP32 kết hợp các cảm biến chuyên dụng (DS18B20, pH, Turbidity) cùng kiến trúc Web Service PHP/MySQL đệm JSON đã chứng minh tính khả thi cao, chi phí thấp và hiệu năng vận hành ổn định.
Mô hình không chỉ dừng lại ở tính học thuật mà còn mở ra hướng đi bền vững cho nông nghiệp số (Smart Aquaculture), giúp người nông dân Việt Nam tiếp cận các công cụ quản lý hiện đại để nâng cao năng suất và bảo vệ môi trường sinh thái. Các nhà phát triển và đơn vị trang trại có thể kế thừa mã nguồn, tích hợp thêm truyền thông LoRaWAN và hệ thống tự động điều khiển máy sục khí để đưa sản phẩm ứng dụng rộng rãi vào thực tiễn sản xuất quy mô lớn.