Giới thiệu dự án
Tình trạng biến đổi khí hậu và hiện tượng ấm lên toàn cầu đang tác động sâu sắc đến hệ sinh thái thủy văn toàn cầu. Tại Việt Nam, Đồng bằng sông Cửu Long (ĐBSCL) chịu ảnh hưởng nặng nề bởi hạn hán và xâm nhập mặn lịch sử. Theo số liệu của Bộ Nông nghiệp và Phát triển Nông thôn, mùa khô 2015–2016 ghi nhận tổng lượng mưa thiếu hụt từ 20–50% so với trung bình nhiều năm, mực nước thượng nguồn sông Mê Kông xuống mức thấp nhất trong vòng 90 năm. Ranh mặn 4g/l đã xâm nhập sâu vào nội đồng từ 40–93 km (tăng 10–15 km so với quy luật tự nhiên), làm thiệt hại hơn 34.000 ha lúa tại Kiên Giang và hơn 18.000 ha (chiếm 56% diện tích lúa - tôm) tại Cà Mau.
+-------------------------------------------------------------------------+
| BỐI CẢNH THIÊN TAI VÀ XÂM NHẬP MẶN |
| - Mực nước Mê Kông thấp kỷ lục trong 90 năm |
| - Ranh mặn 4g/l tiến sâu 40 - 93 km vào nội đồng ĐBSCL |
| - Hơn 52.000 ha diện tích lúa & thủy sản tại Kiên Giang, Cà Mau hư hại |
+-------------------------------------------------------------------------+
│
▼
+-------------------------------------------------------------------------+
| ĐIỂM NGHẼN KỸ THUẬT HIỆN TẠI |
| - Đo đạc thủ công: Độ trễ cao, tốn nhân lực, không có cảnh báo tức thời|
| - Thiết bị SCADA công nghiệp: Chi phí 50 - 150 triệu VNĐ, cồng kềnh |
| - Hạ tầng vùng nuôi: Thiếu lưới điện ổn định, thiếu mạng Internet dây |
+-------------------------------------------------------------------------+
│
▼
+-------------------------------------------------------------------------+
| GIẢI PHÁP ĐỒ ÁN TỐT NGHIỆP ĐỀ XUẤT |
| - Trạm IoT giám sát đa chỉ số: Nhiệt độ, pH, Độ mặn, Độ đục |
| - Xử lý biên (Edge Computing): Intel Galileo Gen 2 + Node.js Web Server|
| - Truyền thông kép: Ethernet/Web Server + Mạng di động GSM/GPRS SIM900A|
| - Tự chủ năng lượng: Pin mặt trời Đơn tinh thể + MPPT + Li-ion 18650 |
| - Tự động hóa: Điều khiển bơm xả/lọc và đèn chiếu sáng theo ngưỡng đo |
+-------------------------------------------------------------------------+
Việc thiếu hụt hệ thống quan trắc tự động, chi phí thấp và tự chủ năng lượng khiến người nuôi trồng thủy sản và nông dân không thể đưa ra quyết định kịp thời về việc lấy nước, xả nước hay xử lý môi trường hồ nuôi.
Vấn đề kỹ thuật cụ thể (Problem Statement)
Các giải pháp quan trắc chất lượng nước truyền thống tồn tại 3 điểm nghẽn lớn:
- Phương pháp đo thủ công: Tần suất lấy mẫu rời rạc, độ trễ dữ liệu cao, không phản ánh được sự biến động tức thời của độ mặn và nồng độ pH theo chu kỳ triều.
- Trạm quan trắc SCADA công nghiệp nhập khẩu: Chi phí đầu tư đắt đỏ (từ 50 đến hơn 150 triệu VNĐ/trạm), kiến trúc đóng khó tùy biến và mở rộng.
- Hạ tầng vùng nuôi trồng xa xôi: Khu vực bãi bồi ven biển thường không có sẵn lưới điện 220V ổn định và kết nối Internet băng rộng cố định (FTTH/ADSL).
Mục tiêu nghiên cứu (Project Objectives)
- Thiết kế và chế tạo phần cứng trạm quan trắc môi trường nước tích hợp bộ 4 cảm biến: Nhiệt độ (LM35), Độ pH, Độ đục (Turbidity), và Độ mặn (Conductivity).
- Xây dựng khối nguồn tự chủ kết hợp pin năng lượng mặt trời đơn tinh thể (Monocrystalline Solar Panel), mạch điều áp MPPT và khối pin dự phòng Li-ion 18650 dung lượng 4200mAh.
- Phát triển Web Server thời gian thực nhúng trực tiếp trên Kit vi xử lý Intel Galileo Gen 2 (Intel Quark SoC X1000 400MHz) sử dụng nền tảng Node.js với cơ chế bất đồng bộ Non-blocking I/O.
- Tích hợp kênh truyền thông kép: Giám sát/điều khiển qua Web Interface khi có mạng cục bộ/Ethernet và cảnh báo tức thời qua mạng di động GSM/GPRS (Module SIM900A) thông qua tập lệnh AT (AT Commands).
- Tự động hóa và điều khiển cơ cấu chấp hành (bơm lọc, bơm cấp nước mini DC 3-6V, hệ thống LED) theo hai chế độ: Tự động (Auto theo ngưỡng) và Thủ công (Manual qua Web/Nút nhấn).
Phương pháp tiếp cận (Solution Approach)
Hệ thống sử dụng giải pháp nhúng Linux trên kiến trúc x86 SoC Intel Quark X1000. Thay vì sử dụng các vi điều khiển 8-bit truyền thống bị giới hạn tài nguyên mạng, Intel Galileo Gen 2 đóng vai trò là một Edge Gateway thu nhỏ, trực tiếp chạy runtime Node.js để vừa đảm nhiệm đọc tín hiệu ADC 12-bit thông qua IC AD7298, vừa phân tích thuật toán, vừa khởi tạo HTTP Server phục vụ giao diện Web và điều khiển ngoại vi qua chuẩn giao tiếp UART/I2C.
Kết quả đầu ra kỳ vọng (Expected Measurable Outcomes)
- Thời gian trễ thu thập dữ liệu và cập nhật Web: $< 2$ giây.
- Thời gian gửi tin nhắn cảnh báo SMS khi vượt ngưỡng an toàn: $< 5$ giây.
- Hệ thống hoạt động liên tục 24/7 nhờ pin năng lượng mặt trời và pin đệm Li-ion.
- Giám sát chính xác các dải đo: Nhiệt độ ($0 - 100^\circ\text{C}$), pH ($0 - 14$), Độ đục ($0 - 100%$), Độ dẫn/Độ mặn ($0 - 10%$).
Phạm vi và giới hạn (Scope & Limitations)
- Phạm vi: Mô hình thử nghiệm công suất thấp áp dụng cho các bể kiểm thử môi trường nước nuôi trồng thủy sản, tích hợp cơ cấu bơm mini DC 3-6V và đèn LED dây chỉ thị.
- Giới hạn: Cảm biến độ mặn sử dụng nguyên lý đo điện dẫn điện cực tiếp xúc trực tiếp có hiện tượng điện phân nhẹ bề mặt, yêu cầu hiệu chuẩn định kỳ; Kit Intel Galileo Gen 2 tiêu thụ công suất cao hơn các vi điều khiển chuyên dụng siêu tiết kiệm điện.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí so sánh |
Phương pháp lấy mẫu thủ công |
Trạm quan trắc SCADA công nghiệp |
Hệ thống IoT Intel Galileo + Node.js (Đề tài) |
| Tần suất thu thập |
1 - 2 lần/ngày |
Thời gian thực (giây) |
Thời gian thực (1 - 2 giây/chu kỳ) |
| Kênh cảnh báo |
Không có (phát hiện trễ) |
Còi báo tại chỗ, màn hình HMI |
Đa kênh: Web, Còi báo, SMS mạng di động |
| Nguồn năng lượng |
Pin cầm tay |
Điện lưới 220V / Hệ thống solar lớn |
Pin Solar 5.5V + Pin Li-ion 18650 4200mAh |
| Chi phí đầu tư |
Thấp (nhưng tốn nhân công) |
Rất cao (50 - 150 triệu VNĐ) |
Rất thấp (Dưới 3.5 triệu VNĐ) |
| Khả năng mở rộng |
Không |
Phức tạp, phụ thuộc nhà cung cấp |
Linh hoạt nhờ Web Server Node.js & Module I2C |
Phân loại yêu cầu người dùng (MoSCoW Prioritization)
- Must-have: Đo chính xác 4 thông số (Nhiệt độ, pH, Độ đục, Độ mặn); Hiển thị dữ liệu lên LCD 20x4 qua I2C; Gửi SMS cảnh báo qua SIM900A khi thông số vượt ngưỡng; Tự cấp nguồn qua năng lượng mặt trời.
- Should-have: Web dashboard trực quan hiển thị biểu đồ thời gian thực (Real-time Chart); Nút bấm điều khiển bơm và đèn qua giao diện Web; Cơ chế chuyển đổi Auto/Manual.
- Could-have: Lưu trữ log dữ liệu lâu dài vào thẻ nhớ MicroSD 32GB; Cấu hình lại ngưỡng cảnh báo trực tiếp từ giao diện Web.
- Won't-have (giai đoạn này): Tích hợp thuật toán Machine Learning dự báo trước nồng độ mặn theo chu kỳ triều; Tích hợp chuẩn truyền thông tầm xa LoRaWAN.
Thiết kế hệ thống
graph TD
subgraph KHOI_NGUON [Khối Nguồn Năng Lượng]
Solar[Tấm Pin Mặt Trời Monocrystalline 5.5V 0.65A] --> MPPT[Mạch Giảm Áp MPPT Solar 5A]
MPPT --> Battery[Khối Pin Li-ion 18650 4200mAh]
Battery --> PowerBus[Nguồn Cấp 5V - 3A / 12V - 1.5A]
end
subgraph KHOI_CAM_BIEN [Khối Cảm Biến Thu Thập]
LM35[Cảm biến nhiệt độ LM35] -->|Analog A0| Galileo
PH_Sens[Cảm biến pH Analog] -->|Analog A1| Galileo
Turb_Sens[Cảm biến độ đục Quang học] -->|Analog A2| Galileo
Sal_Sens[Cảm biến độ mặn Điện dẫn] -->|Analog A3| Galileo
end
subgraph KHOI_XU_LY [Khối Xử Lý Trung Tâm - Intel Galileo Gen 2]
Galileo[Intel Quark SoC X1000 400MHz / Linux Yocto]
ADC[Bộ chuyển đổi ADC 12-bit AD7298]
NodeEngine[Node.js Runtime: Event Loop & HTTP Server]
CustomI2C[Custom Node.js I2C Driver]
end
subgraph KHOI_TRUYEN_THONG [Khối Truyền Thông & Giao Tiếp]
Galileo -->|UART TX/RX| SIM900A[Module GSM/GPRS SIM900A]
SIM900A -->|SMS / Call| Mobile[Điện Thoại Người Dùng]
Galileo -->|Ethernet RJ45 / TCP-IP| WebClient[Trình Duyệt Web Client / Chart Dashboard]
Galileo -->|Custom I2C SDA/SCL| LCD[Màn hình LCD 20x4]
end
subgraph KHOI_NGOAI_VI [Khối Cơ Cấu Chấp Hành]
Galileo -->|GPIO Control / Relay| Pump1[Motor Bơm Lọc Nước DC 3-6V]
Galileo -->|GPIO Control / Relay| Pump2[Motor Bơm Thay Nước DC 3-6V]
Galileo -->|GPIO Control| LEDStrip[Hệ Thống Đèn LED Dây Chiếu Sáng]
end
PowerBus -.-> Galileo
PowerBus -.-> SIM900A
PowerBus -.-> Pump1
PowerBus -.-> Pump2
Thông số kỹ thuật chi tiết (Technology Stack)
- Vi xử lý trung tâm: Intel Galileo Gen 2 Board.
- SoC: Intel Quark SoC X1000 32-bit, xung nhịp 400MHz, tập lệnh tương thích chuẩn x86 ISA.
- Bộ nhớ: 256MB DDR3 RAM, 512KB SRAM nhúng, 8MB SPI Flash (chứa bootloader/firmware), khe cắm MicroSD hỗ trợ tối đa 32GB.
- Bộ chuyển đổi tín hiệu tương tự: IC AD7298 ADC 12-bit (độ phân giải 4096 mức).
- Hệ điều hành: Linux Yocto nhúng (Kernel 3.8/3.14).
- Phần mềm & Nền tảng:
- Runtime: Node.js (V8 Engine, mô hình xử lý bất đồng bộ theo hướng sự kiện Event-driven).
- Thư viện giao tiếp phần cứng: MRAA Library (Intel Low-Level Skeleton Library for IO Communication).
- Giao diện Web: HTML5, CSS3, JavaScript ES5/ES6, Canvas API cho Real-time Chart.
- Module GSM/GPRS: SIM900A Mini (Tần số 850/900/1800/1900MHz, điều khiển qua UART tốc độ 9600 bps bằng tập lệnh chuẩn AT Commands).
- Khối nguồn tái tạo:
- Tấm pin năng lượng mặt trời: Monocrystalline Silicon $210 \times 135\text{ mm}$, điện áp hở mạch $5.5\text{V}$, dòng ngắn mạch $0.65\text{A}$.
- Mạch sạc/hạ áp: MPPT Step-Down Buck Converter 5A (tần số chuyển mạch 180kHz, hiệu suất chuyển đổi $> 95%$).
- Pin lưu trữ: Li-ion 18650 Panasonic dung lượng $4200\text{mAh}$, điện áp danh định $3.7\text{V}$ (ngưỡng sạc đầy $4.2\text{V}$, ngưỡng cắt xả bảo vệ $3.0\text{V}$).
Thiết kế RESTful API và Cơ chế trao đổi dữ liệu
Node.js HTTP Server lắng nghe tại cổng 8888 xử lý các yêu cầu HTTP Request/Response và định tuyến dữ liệu:
[Client Web Browser]
│
├─── GET / ───> Phục vụ trang HTML/CSS/JavaScript Dashboard
├─── GET /api/data ───> Trả về JSON chứa { temp, pH, turbidity, salinity, timestamp }
├─── POST /api/control ───> Body JSON: { device: "pump1", state: "ON" } ──> Kích hoạt GPIO Relay
└─── POST /api/threshold ───> Body JSON: { max_sal: 4.5, min_pH: 6.5 } ──> Cập nhật ngưỡng báo động
Implementation và kết quả
Thuật toán và Công thức tính toán các thông số Cảm biến
1. Cảm biến nhiệt độ LM35
Cảm biến nhiệt độ LM35 có hàm truyền tuyến tính với hệ số $10\text{mV}/^\circ\text{C}$. Độ phân giải của bộ chuyển đổi ADC 10-bit/12-bit được tính toán dựa trên điện áp tham chiếu $V_{ref+} = 5.0\text{V}$:
$$\text{Step Size (ADC)} = \frac{V_{ref+} - V_{ref-}}{2^{10} - 1} = \frac{5000\text{mV}}{1023} \approx 4.887\text{mV/LSB}$$
Tỷ lệ chuyển đổi điện áp thành giá trị nhiệt độ:
$$\text{Tỷ lệ chênh lệch} = \frac{10\text{mV}}{4.887\text{mV}} \approx 2.046$$
Do đó, nhiệt độ thực tế tính bằng độ C:
$$T (^\circ\text{C}) = \frac{\text{Giá trị ADC}}{2.046}$$
2. Cảm biến pH
Sau quá trình hiệu chuẩn hai điểm tại dung dịch chuẩn $\text{pH} = 4.00$ và $\text{pH} = 9.18$, công thức nội suy tuyến tính được nhúng vào mã nguồn Node.js:
$$\text{valuePH} = \left( \frac{\text{rawADC_pH}}{100} \times \frac{5.0}{1024} \right) \times 3.5$$
3. Cảm biến độ đục (Turbidity)
Sử dụng nguyên lý suy giảm cường độ quang thông hồng ngoại truyền qua môi trường nước:
$$\text{valueTUR} = 100 - \left( \frac{\text{rawADC_Turb} \times 5.0}{1023 \times 4.29} \right)$$
(Kết quả thể hiện theo phần trăm độ đục tương đối $0 - 100%$, giá trị càng cao nước càng đục).
4. Cảm biến độ mặn (Conductivity/Salinity)
Độ dẫn điện của dung dịch muối NaCl phân ly thành các ion $\text{Na}^+$ và $\text{Cl}^-$, tạo thành cầu phân áp với điện trở chuẩn $10\text{k}\Omega$:
$$\text{valueSAN} = \frac{100 - \left(\frac{\text{rawADC_San}}{450}\right)}{10}$$
Cấu trúc mã nguồn trên Intel Galileo Gen 2 (Node.js)
// Khởi tạo các module hệ thống cốt lõi
var http = require('http');
var fs = require('fs');
var url = require('url');
var mraa = require('mraa'); // Thư viện I/O cấp thấp của Intel
// Cấu hình các chân Analog và Digital
var pinTemp = new mraa.Aio(0); // LM35 kết nối A0
var pinPH = new mraa.Aio(1); // Cảm biến pH kết nối A1
var pinTur = new mraa.Aio(2); // Độ đục kết nối A2
var pinSan = new mraa.Aio(3); // Độ mặn kết nối A3
var relayPump1 = new mraa.Gpio(8); // Relay điều khiển bơm lọc
relayPump1.dir(mraa.DIR_OUT);
// Thiết lập Web Server Non-blocking
var server = http.createServer(function(req, res) {
var reqPath = url.parse(req.url, true).pathname;
if (reqPath === '/') {
fs.readFile(__dirname + '/index.html', function(err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading dashboard');
}
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(data);
});
} else if (reqPath === '/api/sensors') {
// Đọc giá trị ADC và tính toán các đại lượng vật lý
var rawTemp = pinTemp.read();
var rawPH = pinPH.read();
var rawTur = pinTur.read();
var rawSan = pinSan.read();
var tempDegC = rawTemp / 2.046;
var valPH = (((rawPH / 100 * 5) / 1024) * 3.5);
var valTur = 100 - (rawTur * 5 / 1023 / 4.29);
var valSan = (100 - rawSan / 450) / 10;
var payload = JSON.stringify({
temperature: tempDegC.toFixed(2),
pH: valPH.toFixed(2),
turbidity: valTur.toFixed(2),
salinity: valSan.toFixed(2),
timestamp: new Date().toISOString()
});
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(payload);
}
});
server.listen(8888, function() {
console.log('Intel Galileo IoT Web Server running on port 8888');
});
Xử lý Module SIM900A qua giao tiếp nối tiếp UART
// Giao tiếp Serial UART với SIM900A (Baudrate 9600 bps)
var serialport = require('serialport');
var sim900 = new serialport.SerialPort('/dev/ttyS0', {
baudrate: 9600,
parser: serialport.parsers.readline('\r\n')
});
function sendSMSAlert(phoneNumber, message) {
sim900.write('AT+CMGF=1\r\n', function() {
setTimeout(function() {
sim900.write('AT+CMGS="' + phoneNumber + '"\r\n', function() {
setTimeout(function() {
sim900.write(message + '\x1A\r\n'); // Ký tự Ctrl+Z (0x1A) để gửi tin
console.log('Đã phát lệnh gửi SMS cảnh báo đến: ' + phoneNumber);
}, 500);
});
}, 500);
});
}
Kết quả kiểm nghiệm và Đo kiểm thực tế (Testing & Benchmarks)
| Thông số kiểm tra |
Dải đo thiết kế |
Giá trị đo kiểm thực tế |
Sai số trung bình |
Thời gian đáp ứng |
| Nhiệt độ nước ($^\circ\text{C}$) |
$0 - 100^\circ\text{C}$ |
$24.5 - 38.2^\circ\text{C}$ |
$\pm 0.4^\circ\text{C}$ |
1.2 giây |
| Độ pH |
$0 - 14\text{ pH}$ |
$4.01 - 9.15\text{ pH}$ |
$\pm 0.12\text{ pH}$ |
2.0 giây |
| Độ đục (%) |
$0 - 100%$ |
$5.2% - 88.6%$ |
$\pm 3.1%$ |
0.8 giây |
| Độ mặn/Độ dẫn ($\text{g/l}$) |
$0 - 10\text{ g/l}$ |
$0.5 - 8.2\text{ g/l}$ |
$\pm 0.35\text{ g/l}$ |
1.5 giây |
| Độ trễ Web Dashboard |
$< 3.0\text{ s}$ |
$1.15\text{ s}$ |
N/A |
Tức thời |
| Độ trễ gửi tin SMS |
$< 10.0\text{ s}$ |
$4.2 - 6.8\text{ s}$ |
N/A |
Qua sóng viễn thông |
| Hiệu suất chuyển đổi MPPT |
$> 90%$ |
$94.6%$ |
N/A |
Tần số 180kHz |
Đổi mới và đóng góp
- Xây dựng Custom I2C Driver cho LCD trên nền tảng Node.js nhúng:
Tại thời điểm thực hiện đề tài (2017), Node.js trên Linux Yocto của Intel Galileo chưa hỗ trợ sẵn thư viện hoàn chỉnh cho màn hình ký tự HD44780 qua chip giải mã PCF8574. Nhóm tác giả đã tự thiết kế bộ thư viện giao tiếp I2C tầng thấp bằng cách ghi trực tiếp các thanh ghi lệnh (Clear Display
0x01, Cursor Home 0x02, Entry Mode 0x06, Function Set 0x28), giúp giảm thiểu số chân kết nối từ 16 chân xuống chỉ còn 2 chân tín hiệu (SDA, SCL).
- Kiến trúc truyền thông song song phân cấp (Dual-channel Fallback):
Hệ thống không phụ thuộc hoàn toàn vào kết nối Internet. Khi mất kết nối cáp mạng LAN/Ethernet, module SIM900A đóng vai trò là kênh điều hành độc lập, tự động kích hoạt gửi cảnh báo SMS và nhận tin nhắn điều khiển thiết bị từ số điện thoại quản trị viên.
- Giải pháp năng lượng xanh tối ưu hóa không gian:
Sử dụng tấm pin mặt trời Monocrystalline hiệu suất cao kết hợp mạch hạ áp MPPT hiệu suất $94.6%$ và pin Li-ion 18650 mật độ năng lượng cao gấp 6 lần pin Ni-Cd và 10–20 lần ắc quy chì truyền thống, giúp toàn bộ hệ thống nhỏ gọn, dễ dàng lắp đặt nổi trên phao bè nuôi trồng thủy sản.
- Cắt giảm chi phí vượt trội ($> 85%$):
So với các trạm quan trắc SCADA chuyên dụng có giá thành trên 50 triệu VNĐ, hệ thống hoàn thiện với tổng chi phí linh kiện dưới 3.5 triệu VNĐ nhưng vẫn đảm bảo đầy đủ các tính năng quan trắc, vẽ biểu đồ và cảnh báo từ xa.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Vùng nuôi tôm nước lợ/mặn (Cà Mau, Bạc Liêu, Sóc Trăng):
Tôm thẻ chân trắng và tôm sú cực kỳ nhạy cảm với độ mặn và pH. Khi trời mưa lớn đột ngột làm độ mặn tầng mặt giảm mạnh hoặc pH trượt ra ngoài ngưỡng tối ưu ($7.5 - 8.5$), trạm quan trắc lập tức phát cảnh báo SMS và tự động kích hoạt motor quạt nước/bơm để cân bằng nước.
- Vùng chuyên canh cây ăn trái (Bến Tre, Tiền Giang):
Trạm được lắp đặt tại các cống lấy nước đầu nguồn. Khi độ mặn sông Tiền, sông Cổ Chiên vượt ngưỡng $1\text{g/l}$ ($1%$), hệ thống đóng cống tự động và thông báo cho ban quản lý hợp tác xã ngăn nước mặn xâm nhập vào vườn sầu riêng, chôm chôm.
+─────────────────────────────────────────────────────────────────────────+
| KỊCH BẢN TRIỂN KHAI VÙNG NUÔI TÔM ĐBSCL |
+─────────────────────────────────────────────────────────────────────────+
Trạm Phao Nổi IoT (Pin Solar 5.5V + Galileo Gen 2 + 4 Cảm biến)
│
┌───────────────────────┴───────────────────────┐
▼ ▼
[Độ mặn/pH Vượt Ngưỡng] [Môi Trường Ổn Định]
│ │
├──> Bật còi báo tại chỗ └──> Đẩy dữ liệu lên Web Server
├──> Gửi SMS đến chủ đầm (< 5s) (Biểu đồ Chart.js cập nhật 2s/lần)
└──> Tự động kích hoạt Bơm Lọc/Sục khí (Relay ON)
Phân tích tài chính và Hoàn vốn (ROI Analysis)
- Chi phí đầu tư 01 trạm: Khoảng 3.200.000 VNĐ.
- Hiệu quả kinh tế: Giảm thiểu nguy cơ mất trắng đầm tôm trị giá 150 – 300 triệu VNĐ do sốc nhiệt, tụt pH hoặc nhiễm mặn cấp tính. Tiết kiệm 80% nhân công đi đo đạc thủ công mỗi ngày.
- Thời gian hoàn vốn ước tính: Dưới 01 vụ nuôi (khoảng 3 – 4 tháng).
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Hiện tượng phân cực và ăn mòn điện cực đo độ mặn: Cảm biến sử dụng phương pháp đo dẫn điện hai cực kim loại trực tiếp trong môi trường nước biển có chứa ion $\text{Cl}^-$ dễ bị bám bẩn và oxy hóa sau 3–6 tháng hoạt động liên tục.
- Mức tiêu thụ năng lượng của Intel Galileo Gen 2: SoC Quark X1000 chạy hệ điều hành Linux tiêu thụ dòng trung bình $400 - 600\text{mA}$ ở mức $5\text{V}$, đòi hỏi hệ thống pin mặt trời phải hoạt động hiệu quả vào ban ngày để tích trữ đủ cho ban đêm.
Hướng phát triển nâng cao
- Nâng cấp cảm biến công nghiệp không tiếp xúc: Chuyển đổi sang cảm biến độ dẫn điện cảm ứng từ (Toroidal Conductivity Sensor) hoặc cảm biến quang học có lớp phủ chống bám bẩn sinh học (Anti-fouling coating).
- Mở rộng giao thức truyền thông tầm xa: Bổ sung kết nối mạng diện rộng công suất thấp LoRaWAN / NB-IoT để kết nối hàng trăm trạm cảm biến phân tán về một Gateway trung tâm trong bán kính 5–10 km.
- Tích hợp Trí tuệ Nhân tạo (Edge AI): Sử dụng các mô hình học máy chuỗi thời gian (LSTM/ARIMA) để dự báo xu hướng xâm nhập mặn trước 24–48 giờ dựa trên dữ liệu lịch sử và con nước triều cường.
Đối tượng hưởng lợi
| Đối tượng |
Giá trị cốt lõi & Lợi ích định lượng |
| Sinh viên & Học viên kỹ thuật |
Nguồn tài liệu thực chứng về lập trình nhúng Linux, tích hợp Node.js với phần cứng x86, kỹ thuật giải thuật xử lý tín hiệu tương tự (ADC). |
| Kỹ sư & Nhà phát triển IoT |
Mô hình tham chiếu hoàn chỉnh (Reference Architecture) cho việc xây dựng Edge Web Server, giải pháp nguồn tái tạo MPPT và cơ chế truyền thông kép GSM/Web. |
| Hộ nuôi trồng thủy sản & Nông dân |
Cắt giảm 90% rủi ro thiệt hại do sốc môi trường nước; giám sát tự động 24/7 không cần trực tiếp ra đầm đo đạc; tiết kiệm chi phí nhân công. |
| Nhà khoa học & Cơ quan quản lý |
Dữ liệu chuỗi thời gian liên tục phục vụ nghiên cứu mô hình hóa thủy văn và xây dựng bản đồ cảnh báo xâm nhập mặn vùng ĐBSCL. |
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật phần cứng tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu Board vi điều khiển/nhúng có hỗ trợ tối thiểu 4 kênh ADC (độ phân giải từ 10-bit trở lên), 1 cổng UART tốc độ 9600 bps kết nối module SIM, 1 kênh I2C kết nối LCD và cổng mạng Ethernet RJ45 hoặc WiFi. Nguồn cấp danh định $5\text{V} - 2\text{A}$ đến $3\text{A}$.
2. Khi hệ thống mất kết nối Internet hoàn toàn thì dữ liệu và cảnh báo hoạt động như thế nào?
Khi mất mạng Internet/Ethernet, hệ thống chuyển sang chế độ tự động ngoại tuyến: dữ liệu vẫn được đọc liên tục, hiển thị trực quan lên màn hình LCD 20x4 tại trạm và kích hoạt module SIM900A để gửi tin nhắn SMS cảnh báo tức thời tới điện thoại người quản trị khi các chỉ số vượt ngưỡng cho phép.
3. Cảm biến độ mặn tự chế có đảm bảo độ chính xác trong môi trường nước biển khắc nghiệt?
Cảm biến độ dẫn tự chế hoạt động tốt trong dải đo thử nghiệm $0 - 10\text{g/l}$ với sai số $\pm 0.35\text{g/l}$. Tuy nhiên, trong môi trường nước mặn kéo dài, cần tiến hành rửa sạch điện cực định kỳ bằng nước cất và hiệu chuẩn lại hệ số phân áp sau mỗi 30 ngày sử dụng để bù trôi điểm không.
4. Tại sao đồ án lại chọn Node.js thay vì ngôn ngữ C/C++ truyền thống trên hệ thống nhúng?
Node.js sử dụng cơ chế xử lý hướng sự kiện không đồng bộ (Event-driven, Non-blocking I/O) chạy trên V8 JavaScript Engine. Kiến trúc này cho phép hệ thống nhúng vừa đảm nhiệm việc đọc tín hiệu cảm biến theo chu kỳ, vừa phục vụ đồng thời nhiều yêu cầu truy cập Web Dashboard của người dùng cùng lúc mà không làm treo hay tắc nghẽn luồng xử lý chính.
5. Chi phí bảo dưỡng và tuổi thọ khối pin năng lượng mặt trời là bao nhiêu?
Tấm pin năng lượng mặt trời Monocrystalline có tuổi thọ danh định trên 15–20 năm. Khối pin Li-ion 18650 hỗ trợ khoảng 1000–1200 chu kỳ sạc xả (tương đương 2–3 năm hoạt động liên tục). Chi phí bảo dưỡng chủ yếu bao gồm việc vệ sinh bề mặt tấm pin năng lượng mặt trời định kỳ và thay thế khối pin Li-ion với chi phí dưới 150.000 VNĐ.
Kết luận
Đồ án tốt nghiệp "Hệ thống điều khiển giám sát và thu thập dữ liệu chất lượng nước ứng dụng công nghệ IoTs" 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 quan trắc môi trường nước cấp bách tại các tỉnh Đồng bằng sông Cửu Long. Bằng việc kết hợp kit nhúng Intel Galileo Gen 2, nền tảng Node.js bất đồng bộ, hệ thống truyền thông kép (Ethernet/GSM) và nguồn năng lượng mặt trời tự chủ, đề tài đã chứng minh tính khả thi cao về cả mặt kỹ thuật lẫn hiệu quả kinh tế. Đây là tiền đề vững chắc để phát triển thành các sản phẩm thương mại hóa phục vụ nông nghiệp thông minh và nuôi trồng thủy sản bền vững tại Việt Nam.