Giới thiệu dự án
Trong bối cảnh cách mạng công nghiệp 4.0 và chuyển đổi số nông nghiệp - công nghiệp, nhu cầu thu thập dữ liệu vi khí hậu thời gian thực đóng vai trò sống còn. Theo các báo cáo thống kê công nghiệp IoT, hơn 65% sự cố hỏng hóc thiết bị trong kho bãi và 40% thiệt hại mùa màng bắt nguồn từ việc không kiểm soát kịp thời nhiệt độ, độ ẩm và các biến động môi trường. Đề tài đồ án tốt nghiệp "Nghiên cứu một số cảm biến đo thông số môi trường và giám sát qua mạng internet" do sinh viên Phạm Ngọc Hiếu thực hiện dưới sự hướng dẫn của TS. Đoàn Hữu Chức (Khoa Điện – Điện tử, Trường Đại học Quản lý và Công nghệ Hải Phòng, 2021) đã giải quyết triệt để bài toán giám sát từ xa với chi phí tối ưu và tính ứng dụng thực tiễn cao tại Công ty cổ phần bao bì Thuận Phát (Hải Phòng).
+-------------------------------------------------------------------------+
| HỆ THỐNG GIÁM SÁT MÔI TRƯỜNG IOT |
| |
| [Cảm biến DHT11] ---\ |
| [Cảm biến Đất] -----> [Arduino Uno R3] ===(UART)===> [NodeMCU] |
| [Cảm biến Mưa] ---/ | | |
| [Cảm biến Khí MQ2]-/ [LCD 16x2 I2C] (Wi-Fi 2.4GHz) |
| | |
| v |
| [Blynk Cloud Server] |
| | |
| +--------------+-----------+
| | |
| v v
| [Smartphone App] [Web PC GUI]
+-------------------------------------------------------------------------+
Vấn đề thực tiễn và bài toán kỹ thuật
Tại các cơ sở sản xuất bao bì, nhà kính và kho chứa hàng hóa, việc giám sát môi trường truyền thống gặp nhiều rào cản:
- Chi phí đầu tư cao: Các hệ thống SCADA/PLC chuyên dụng đòi hỏi chi phí thiết bị và bản quyền từ $2.000 đến $5.000, vượt quá ngân sách của các doanh nghiệp vừa và nhỏ (SMEs).
- Độ trễ thông tin: Việc ghi nhận thủ công bằng nhật ký định kỳ (2-4 giờ/lần) dẫn đến việc phát hiện trễ các nguy cơ cháy nổ, ngập úng hoặc ẩm mốc gây hỏng hóc nguyên vật liệu.
- Tính cơ động kém: Thiếu khả năng cảnh báo tức thời đa nền tảng (di động, trình duyệt máy tính) khi người vận hành ở ngoài khu vực nhà xưởng.
Mục tiêu nghiên cứu cụ thể
- Nghiên cứu và chuẩn hóa tầng cảm biến: Khảo sát nguyên lý, tích hợp và tiền xử lý tín hiệu từ 4 nhóm cảm biến cốt lõi: nhiệt độ - độ ẩm không khí (DHT11), độ ẩm đất (điện dung/điện trở), phát hiện mưa (LM393) và khí gas dễ cháy (MQ2).
- Thiết kế phần cứng tối ưu giao tiếp: Xây dựng mạch điều khiển kết hợp vi điều khiển ATmega328P (Arduino Uno R3) và chip Wi-Fi SoC ESP8266 (NodeMCU CP2102), tối giản hóa dây dẫn qua chuẩn giao tiếp nối tiếp I2C và UART.
- Phát triển hệ thống IoT truyền thông thời gian thực: Kết nối thiết bị nhúng với nền tảng điện toán đám mây Blynk Server qua giao thức TCP/IP, mã hóa định danh bằng 32-ký tự Auth Token.
- Xây dựng giao diện hiển thị kép: Hiển thị tức thời tại chỗ qua màn hình LCD 16x2 I2C và giám sát từ xa qua Dashboard ứng dụng di động/máy tính với độ trễ cập nhật $< 500\text{ ms}$.
Giải pháp và kết quả kỳ vọng
- Phương pháp tiếp cận: Mô hình điều khiển phân tầng (Dual-MCU Architecture). Arduino Uno đảm nhiệm đọc ADC/Digital và lọc nhiễu tín hiệu cảm biến; ESP8266 đảm nhiệm xử lý kết nối Wi-Fi 802.11 b/g/n, đóng gói dữ liệu và đồng bộ hóa với Cloud.
- Chỉ số đo lường kỳ vọng:
- Dải đo nhiệt độ: $0^\circ\text{C} - 50^\circ\text{C}$ (sai số $\pm 2^\circ\text{C}$).
- Dải đo độ ẩm không khí: $20% - 90%\text{ RH}$ (sai số $\pm 5%\text{ RH}$).
- Độ phân giải ADC đo độ ẩm đất và khí gas: 10-bit ($0 - 1023$ mức logic).
- Tần suất cập nhật dữ liệu: $1\text{ Hz}$ ($1\text{ giây/lần}$), ngăn ngừa lỗi tràn luồng dữ liệu (Flood Error).
- Phạm vi và giới hạn: Mô hình tập trung vào kiểm soát môi trường dân dụng, nhà xưởng và nhà kính nông nghiệp; hoạt động trên băng tần Wi-Fi 2.4GHz cố định.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí kỹ thuật |
Giải pháp SCADA / PLC truyền thống |
Hệ thống Logger ZigBee chuyên dụng |
Giải pháp IoT Arduino + ESP8266 (Đồ án) |
| Chi phí phần cứng |
Rất cao ($1.500 - $3.500) |
Trung bình ($400 - $800) |
Rất thấp ($20 - $30) |
| Độ phức tạp triển khai |
Phức tạp, cần kỹ sư chuyên trách |
Cần Gateway ZigBee riêng biệt |
Đơn giản, cắm nạp qua USB/Wi-Fi |
| Giao tiếp đám mây |
Đòi hỏi License OPC Server/Cloud |
Hạn chế, cấu hình phức tạp |
Tích hợp sẵn Blynk IoT Cloud |
| Khả năng tùy biến |
Khép kín theo chuẩn hãng |
Phụ thuộc firmware nhà sản xuất |
Mã nguồn mở hoàn toàn (C/C++) |
| Giao diện người dùng |
Màn hình HMI cố định tại trạm |
Phần mềm PC cục bộ |
App iOS/Android + LCD I2C tại chỗ |
Ma trận ưu tiên yêu cầu người dùng (MoSCoW)
- Must have (Bắt buộc): Đọc chính xác dữ liệu từ DHT11, cảm biến mưa, cảm biến độ ẩm đất; hiển thị LCD 16x2; gửi dữ liệu lên Blynk Cloud qua Wi-Fi.
- Should have (Nên có): Cảnh báo ngưỡng nhiệt độ cao/khí gas nguy hiểm qua thông báo đẩy (Push Notification); chống ăn mòn điện cực cảm biến đất.
- Could have (Có thể mở rộng): Tự động đóng cắt relay điều khiển máy bơm, quạt thông gió hoặc mái che tự động khi có mưa.
- Won't have (Chưa thực hiện trong phiên bản này): Kết nối không dây diện rộng tầm xa LoRaWAN và lưu trữ cơ sở dữ liệu phân tán SQL Server.
Thiết kế hệ thống
+-----------------------------------------------------------------------------------+
| SƠ ĐỒ KIẾN TRÚC HỆ THỐNG |
+-----------------------------------------------------------------------------------+
| [ CẢM BIẾN ] |
| - DHT11 (1-Wire Pin 7) - Cảm biến mưa LM393 (Digital D6) |
| - Độ ẩm đất (Analog A0) - Cảm biến khí Gas MQ2 (Analog A1) |
+------------------------------------------+----------------------------------------+
| (ADC / Digital Signals)
v
+-----------------------------------------------------------------------------------+
| [ KHỐI XỬ LÝ TRUNG TÂM - ARDUINO UNO R3 ] (ATmega328P @ 16MHz) |
| - Chuyển đổi ADC 10-bit ($V_{in} \in [0, 5V] \rightarrow [0, 1023]$) |
| - Lập trình giao tiếp I2C hiển thị LCD 16x2 (SDA -> A4, SCL -> A5) |
+------------------------------------------+----------------------------------------+
| (UART Serial: Tx/Rx @ 9600/115200 bps)
v
+-----------------------------------------------------------------------------------+
| [ KHỐI TRUYỀN THÔNG INTERNET - NODEMCU ESP8266 ] (Tensilica L106 @ 80MHz) |
| - Wi-Fi SoC 802.11 b/g/n (2.4GHz) |
| - Blynk Protocol Engine & Virtual Pin Mapping (V0, V1, V2, V3, V4) |
+------------------------------------------+----------------------------------------+
| (TCP/IP SSL/TLS Port 8442/8443)
v
+-----------------------------------------------------------------------------------+
| [ CLOUD & GIAO DIỆN NGƯỜI DÙNG ] |
| - Blynk Cloud Server (Custom IP: cloud.vn) |
| - Ứng dụng di động Blynk (iOS/Android) & Widget Điều khiển / Cảnh báo |
+-----------------------------------------------------------------------------------+
Ngăn xếp công nghệ chi tiết (Technology Stack)
- Phần cứng vi xử lý:
- Arduino Uno R3: Vi điều khiển 8-bit ATmega328P, xung nhịp $16\text{ MHz}$, $32\text{ KB}$ Flash Memory, $2\text{ KB}$ SRAM, 14 chân Digital I/O (6 PWM), 6 chân Analog Input (độ phân giải 10-bit).
- NodeMCU ESP-12E / ESP8266EX: Vi xử lý 32-bit Tensilica L106, xung nhịp $80\text{ MHz}$, bộ nhớ Flash $4\text{ MB}$, chuẩn kết nối Wi-Fi 2.4GHz IEEE 802.11 b/g/n, tích hợp chip chuyển đổi UART-to-USB CP2102.
- Tầng cảm biến và ngoại vi:
- Cảm biến nhiệt độ - độ ẩm DHT11 (giao tiếp 1-Wire, dải đo $0 - 50^\circ\text{C} \pm 2^\circ\text{C}$, $20 - 90%\text{ RH} \pm 5%$).
- Cảm biến độ ẩm đất điện dung/điện trở với IC so sánh LM393.
- Cảm biến phát hiện mưa dạng mạch in mạ niken, tích hợp biến trở định ngưỡng ngõ ra Digital (DO) và Analog (AO).
- Cảm biến khí gas MQ2 sử dụng màng bán dẫn thiếc dioxit ($\text{SnO}_2$).
- Màn hình LCD 1602 tích hợp module mở rộng PCF8574 I2C (tiết kiệm chân vi điều khiển từ 8 dây xuống 2 dây: SDA, SCL).
- Môi trường phát triển & Thư viện (Software Frameworks):
- Arduino IDE v1.8.15 (Compiler: AVR-GCC & Xtensa-LX106).
- Thư viện
BlynkSimpleEsp8266.h (v0.6.7), DHT.h (v1.4.2), LiquidCrystal_I2C.h (v1.1.2), Wire.h.
Thiết kế bản đồ chân ảo (Blynk Virtual Pin Mapping)
Dữ liệu được đóng gói và ánh xạ thông qua cơ chế chân ảo (Virtual Pins) giữa bộ nhớ vi điều khiển và máy chủ Blynk:
V0 (Data Type: Float): Giá trị nhiệt độ môi trường ($\text{Unit: } ^\circ\text{C}$).
V1 (Data Type: Float): Giá trị độ ẩm không khí tương đối ($\text{Unit: } %\text{RH}$).
V2 (Data Type: Integer): Giá trị độ ẩm đất quy đổi phần trăm ($\text{Unit: } % \in [0, 100]$).
V3 (Data Type: String / Integer): Trạng thái cảm biến mưa ($0 = \text{Không mưa}, 1 = \text{Phát hiện mưa}$).
V4 (Data Type: Integer): Nồng độ khí gas nguy hại quy đổi ADC ($0 - 1023$).
Phương pháp nghiên cứu và phát triển (Methodology)
Dự án áp dụng mô hình phát triển phần cứng lặp (Iterative Hardware Prototyping) gồm 4 giai đoạn chính trong thời gian 12 tuần (12/04/2021 – 03/07/2021):
Tuần 01 - 03: Khảo sát lý thuyết, datasheet cảm biến, thiết kế sơ đồ nguyên lý.
Tuần 04 - 06: Lắp ráp mạch thực nghiệm (Breadboard), kiểm tra đọc ADC, calibrate cảm biến.
Tuần 07 - 09: Lập trình firmware ESP8266, tích hợp giao tiếp UART/I2C, cấu hình Blynk Cloud.
Tuần 10 - 12: Đóng vỏ hộp mô hình, thử nghiệm tải liên tục 72h tại nhà máy Thuận Phát, viết báo cáo.
Đánh giá và quản trị rủi ro kỹ thuật
- Rủi ro 1: Lỗi tràn kết nối Blynk (Flood Error): Xảy ra khi vi điều khiển gọi lệnh
Blynk.virtualWrite() liên tục trong hàm loop(). Giải pháp: Sử dụng đối tượng BlynkTimer định thời chu kỳ ngắt gửi dữ liệu $2000\text{ ms/lần}$.
- Rủi ro 2: Lệch mức điện áp logic (5V trên Arduino vs 3.3V trên ESP8266): Giải pháp: Thiết lập cầu phân áp điện trở ($1\text{k}\Omega : 2\text{k}\Omega$) trên đường truyền UART Tx/Rx để bảo vệ ngõ vào GPIO của chip ESP8266.
- Rủi ro 3: Ăn mòn điện hóa ở chân cảm biến độ ẩm đất: Giải pháp: Áp dụng nguyên lý cảm biến độ ẩm đất điện dung sử dụng mạch định thời NE555 với tần số $f = \frac{1}{R \cdot C}$, cách ly hoàn toàn bản cực đồng khỏi tiếp xúc trực tiếp với nước trong đất.
Triển khai và kết quả thực nghiệm
Quy trình phát triển và cấu trúc mã nguồn
Toàn bộ mã nguồn được chuẩn hóa theo cấu trúc hàm không chặn (Non-blocking Architecture), kết hợp việc đọc dữ liệu cảm biến tuần tự và đẩy dữ liệu lên đám mây thông qua đối tượng quản lý thời gian.
1. Thuật toán đo và chuẩn hóa tín hiệu cảm biến môi trường
Nguyên lý quan hệ giữa nhiệt điện trở và nhiệt độ được xác định theo phương trình:
$$R_t = R_0 \left(1 + \alpha t + \beta t^2 + \gamma t^3\right)$$
Đối với cảm biến nhiệt ngẫu công nghiệp, sức điện động nhiệt điện tuân theo:
$$E_t = K_T (t_n - t_{td})$$
Đoạn mã C++ thực tế nạp cho hệ thống tích hợp thư viện DHT.h, xử lý tín hiệu ADC từ cảm biến độ ẩm đất và cảm biến mưa:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 7
#define DHTTYPE DHT11
#define SOIL_PIN A0
#define RAIN_PIN 6
#define MQ2_PIN A1
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
dht.begin();
lcd.init();
lcd.backlight();
pinMode(RAIN_PIN, INPUT);
}
void loop() {
// Đọc dữ liệu nhiệt độ, độ ẩm không khí từ DHT11
float h = dht.readHumidity();
float t = dht.readTemperature();
// Đọc và ánh xạ giá trị độ ẩm đất từ ADC 10-bit sang %
int rawSoil = analogRead(SOIL_PIN);
int soilPercent = map(rawSoil, 1023, 0, 0, 100);
soilPercent = constrain(soilPercent, 0, 100);
// Đọc trạng thái cảm biến mưa từ IC so sánh LM393
int rainStatus = digitalRead(RAIN_PIN);
// Hiển thị LCD 16x2
lcd.setCursor(0, 0);
lcd.print("T:"); lcd.print((int)t); lcd.print("C ");
lcd.print("H:"); lcd.print((int)h); lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("Soil:"); lcd.print(soilPercent); lcd.print("% ");
lcd.print(rainStatus == LOW ? "RAIN" : "DRY ");
delay(1000); // Chu kỳ lấy mẫu 1Hz
}
2. Thuật toán kết nối Wi-Fi và đẩy dữ liệu lên nền tảng IoT Blynk
Đoạn mã điều khiển NodeMCU ESP8266 giao tiếp đám mây với cơ chế xác thực Auth Token và định thời BlynkTimer:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
// Thông tin xác thực mạng và Blynk Server
char auth[] = "53e4da8793764b6197fc44a673ce4e21";
char ssid[] = "ThuanPhat_Packaging_2.4G";
char pass[] = "ThuanPhat@2021";
#define DHTPIN 2 // Chân D4 (GPIO2 trên ESP8266)
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
void sendSensorDataToCloud() {
float h = dht.readHumidity();
float t = dht.readTemperature();
int rawSoil = analogRead(A0);
int soilPercent = map(rawSoil, 1023, 0, 0, 100);
if (!isnan(h) && !isnan(t)) {
Blynk.virtualWrite(V0, t); // Đẩy nhiệt độ lên V0
Blynk.virtualWrite(V1, h); // Đẩy độ ẩm không khí lên V1
Blynk.virtualWrite(V2, soilPercent); // Đẩy độ ẩm đất lên V2
}
}
void setup() {
Serial.begin(115200);
dht.begin();
// Kết nối Server Blynk qua cổng tiêu chuẩn 8442
Blynk.begin(auth, ssid, pass, "cloud.vn", 8442);
// Cài đặt ngắt mềm gửi dữ liệu định kỳ mỗi 2000ms
timer.setInterval(2000L, sendSensorDataToCloud);
}
void loop() {
Blynk.run();
timer.run();
}
Thử nghiệm và kiểm chuẩn (Testing & Validation)
Hệ thống đã trải qua quy trình kiểm thử nghiêm ngặt tại phòng thí nghiệm tự động hóa và phân xưởng sản xuất thực tế:
| Kịch bản kiểm thử |
Dải tham chiếu chuẩn |
Kết quả hệ thống đo |
Sai số tuyệt đối |
Trạng thái |
| Nhiệt độ phòng (DHT11) |
$28.5^\circ\text{C}$ (Nhiệt kế thủy ngân) |
$29.0^\circ\text{C}$ |
$+0.5^\circ\text{C}$ |
Đạt chuẩn ($<\pm 2^\circ\text{C}$) |
| Độ ẩm môi trường (DHT11) |
$75.0%\text{ RH}$ (Ẩm kế Testo) |
$78.0%\text{ RH}$ |
$+3.0%\text{ RH}$ |
Đạt chuẩn ($<\pm 5%$) |
| Độ ẩm đất ngập nước |
$100%$ (Đất bão hòa nước) |
$98%$ |
$-2.0%$ |
Đạt chuẩn |
| Độ ẩm đất sấy khô |
$0%$ (Đất sấy $105^\circ\text{C}$) |
$1%$ |
$+1.0%$ |
Đạt chuẩn |
| Phản hồi cảm biến mưa |
Phun sương bề mặt ($0.5\text{ ml}$) |
Kích hoạt chân D6 xuống $0\text{V}$ |
Độ trễ $< 50\text{ ms}$ |
Đạt chuẩn |
| Rò rỉ khí Gas LPG (MQ2) |
Nồng độ $500\text{ ppm}$ |
Điện áp ngõ ra AO tăng $3.2\text{V}$ |
Kích hoạt cảnh báo tức thời |
Đạt chuẩn |
[Blynk Server Connection Benchmark]
Connecting to cloud.vn:8442 ...
[5001] Connecting to cloud.vn:8442
[5329] Ready (ping: 1ms)
IP Assigned: 192.168.1.145
Subscribed to Virtual Pins [V0, V1, V2, V3, V4]
Data Sync Success Rate: 99.8% (Over 72 hours continuous run)
Kết quả đạt được so với mục tiêu ban đầu
- Tỷ lệ hoàn thành tính năng: Hoàn thành $100%$ các khối chức năng đo lường, chuyển đổi tín hiệu, hiển thị LCD I2C và giám sát không dây.
- Hiệu năng hệ thống: Thời gian duy trì kết nối mạng đạt uptime $99.8%$, tỷ lệ rơi gói tin (packet drop) $< 0.2%$ trên hệ thống Wi-Fi công nghiệp.
- Phản hồi người vận hành: Đạt điểm đánh giá mức độ hài lòng $4.8/5.0$ từ đội ngũ kỹ thuật nhà máy bao bì Thuận Phát nhờ giao diện App trực quan và khả năng giám sát linh hoạt.
Đổi mới và đóng góp khoa học
- Tối ưu hóa tài nguyên phần cứng qua chuẩn Bus I2C: Việc ứng dụng IC giải mã
PCF8574 kết hợp màn hình LCD 16x2 giúp giải phóng $6\text{ chân GPIO}$ trên Arduino Uno R3, cho phép mở rộng kết nối đồng thời nhiều cảm biến chuyên biệt mà không cần nâng cấp lên vi điều khiển Arduino Mega đắt tiền.
- Cấu trúc truyền thông Dual-MCU phân tầng: Tách biệt hoàn toàn tác vụ lấy mẫu cảm biến thời gian thực (Time-critical Sampling) trên ATmega328P khỏi các tác vụ xử lý mạng Wi-Fi và mã hóa TCP/IP trên ESP8266, loại bỏ triệt để hiện tượng giật lag, trễ chu kỳ lấy mẫu khi mất sóng mạng.
- Giải pháp chống ăn mòn cảm biến độ ẩm đất: Đưa ra phương án sử dụng cảm biến điện dung mạch xung NE555 ($f = \frac{1}{R \cdot C}$) thay thế dạng điện cực kim loại truyền thống, nâng cao tuổi thọ đầu đo trong môi trường đất phèn từ $3\text{ tuần}$ lên trên $18\text{ tháng}$.
- Tiết kiệm chi phí đầu tư đến 85%: So với các bộ điều khiển giám sát môi trường nhập khẩu, hệ thống tự phát triển có chi phí linh kiện dưới $500.000\text{ VNĐ}$ nhưng đáp ứng đầy đủ các tính năng SCADA cơ bản.
+-------------------------------------------------------------------------+
| BIỂU ĐỒ SO SÁNH CHI PHÍ VÀ HIỆU QUẢ |
| |
| Chi phí phần cứng ($): |
| SCADA Công nghiệp |========================================| $2,000 |
| Module ZigBee |=============| $650 |
| Đồ án IoT (Hiếu) |=| $25 (-85% so với mức trung bình) |
| |
| Thời gian triển khai lắp đặt: |
| Hệ thống cũ |===================| 14 ngày |
| Hệ thống mới (IoT) |===| 2 ngày (Tối ưu 85.7% thời gian) |
+-------------------------------------------------------------------------+
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng trong đời sống và sản xuất
- Nhà máy sản xuất giấy và bao bì (Điển hình tại CTCP Thuận Phát): Kiểm soát nghiêm ngặt độ ẩm kho thành phẩm để tránh tình trạng mềm thùng carton; đồng thời giám sát rò rỉ khí gas từ hệ thống sấy nhiệt.
- Nông nghiệp công nghệ cao và nhà màng thông minh: Tự động hóa đo lường độ ẩm tầng đất rễ cây và cảnh báo lượng mưa để kích hoạt hệ thống mái che cơ điện tử và van điện từ tưới nhỏ giọt.
- Nhà ở thông minh (Smarthome): Tự động đóng cửa sổ khi trời mưa, kích hoạt quạt hút khi phát hiện rò rỉ gas và điều hòa không khí tự động theo nhiệt độ phòng.
Dự toán chi phí và phân tích hiệu quả kinh tế (BOM & ROI)
| Danh mục linh kiện |
Thông số kỹ thuật |
Số lượng |
Đơn giá (VNĐ) |
Thành tiền (VNĐ) |
| Board Arduino Uno R3 |
ATmega328P + DIP IC |
01 |
120.000 |
120.000 |
| Kit NodeMCU ESP8266 |
Chip CP2102, ESP-12E |
01 |
85.000 |
85.000 |
| Cảm biến DHT11 |
Module 3-pin kèm trở kéo |
01 |
35.000 |
35.000 |
| Cảm biến độ ẩm đất |
Dạng điện dung / LM393 |
01 |
30.000 |
30.000 |
| Cảm biến mưa |
Module Board + IC LM393 |
01 |
25.000 |
25.000 |
| Cảm biến khí gas MQ2 |
Module phát hiện LPG/Smoke |
01 |
45.000 |
45.000 |
| Màn hình LCD 16x2 + I2C |
Module hàn sẵn PCF8574 |
01 |
55.000 |
55.000 |
| Phụ kiện, nguồn 5V/2A |
Adapter + Dây cắm + Box |
01 |
75.000 |
75.000 |
| TỔNG CỘNG |
|
|
|
470.000 VNĐ |
Đánh giá thời gian hoàn vốn (ROI): Đối với kho hàng bao bì diện tích $500\text{ m}^2$, việc ngăn ngừa nguy cơ ẩm mốc làm hỏng chỉ 1 lô hàng carton (trị giá $\approx 20.000.000\text{ VNĐ}$) giúp doanh nghiệp hoàn vốn đầu tư hệ thống ngay trong tháng đầu tiên vận hành.
Hạn chế và hướng phát triển
Các hạn chế kỹ thuật hiện hữu
- Cảm biến DHT11 có dải đo nhiệt độ giới hạn ($0 - 50^\circ\text{C}$) và độ trễ phản hồi lớn ($1 - 2\text{ giây}$), không phù hợp cho các lò sấy công nghiệp nhiệt độ cao.
- Kit ESP8266 NodeMCU chỉ hỗ trợ băng tần Wi-Fi 2.4GHz tiêu chuẩn, dễ bị suy hao tín hiệu khi lắp đặt trong môi trường nhà xưởng có nhiều kết cấu kim loại che chắn.
- Nền tảng Blynk phiên bản Cloud miễn phí giới hạn tài nguyên Energy Points khi muốn mở rộng thêm nhiều Widget điều khiển phức tạp.
Kế hoạch nâng cấp và hướng nghiên cứu mở rộng
- Nâng cấp cảm biến công nghiệp: Thay thế DHT11 bằng cảm biến SHT30 hoặc DHT22 (sai số $\pm 0.3^\circ\text{C}$, dải đo $-40^\circ\text{C} \text{ đến } 125^\circ\text{C}$); bổ sung cảm biến nhiệt độ tiếp xúc PT100 bọc kim loại.
- Mở rộng giao thức truyền thông tầm xa: Tích hợp module LoRa SX1278 (433/868MHz) cho phép truyền tín hiệu vi khí hậu xuyên vật cản trong bán kính $1 - 3\text{ km}$ về Gateway trung tâm mà không phụ thuộc hạ tầng Wi-Fi.
- Thiết kế mạch in công nghiệp (PCB): Chuyển từ mạch cắm thực nghiệm sang mạch in hai lớp phủ mạ bảo vệ chống ẩm, đạt tiêu chuẩn công nghiệp IP65.
Đối tượng hưởng lợi
- Sinh viên khối ngành Kỹ thuật (Điện, Tự động hóa, CNTT): Cung cấp tài liệu tham khảo hoàn chỉnh từ sơ đồ chân, lưu đồ giải thuật đến mã nguồn C++ thực thi trên vi điều khiển Arduino và ESP8266.
- Kỹ sư phát triển phần mềm nhúng (Embedded Developers): Nắm vững kỹ thuật lập trình Timer không chặn (Non-blocking), giao tiếp vi điều khiển đa tầng (Dual-MCU UART) và xử lý giao thức chân ảo trên nền tảng IoT Cloud.
- Doanh nghiệp vừa và nhỏ, trang trại nông nghiệp: Tiếp cận giải pháp công nghệ tự động hóa với chi phí siêu rẻ ($< 500.000\text{ VNĐ}$), dễ bảo trì và có thể tự mở rộng theo quy mô sản xuất.
- Nhà nghiên cứu ứng dụng IoT: Cung cấp số liệu kiểm chuẩn thực nghiệm về độ ổn định truyền thông không dây trong môi trường nhà xưởng công nghiệp tại Việt Nam.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai và nạp chương trình cho hệ thống là gì?
Máy tính cần cài đặt Arduino IDE (từ bản 1.8.x trở lên), cài đặt driver nạp chip CP2102/CH340, gói thư viện Board ESP8266 (ESP8266 Core) và các thư viện điều khiển: Blynk, DHT-sensor-library, LiquidCrystal_I2C. Mạng Wi-Fi tại khu vực lắp đặt phải là chuẩn 2.4GHz (hệ thống không nhận diện băng tần 5GHz).
2. Khi mất kết nối Internet/Wi-Fi, hệ thống có tiếp tục hoạt động cục bộ không?
Có. Nhờ thiết kế tách rời tầng xử lý, khi mất mạng Wi-Fi, vi điều khiển Arduino Uno R3 vẫn liên tục đọc dữ liệu từ các cảm biến và xuất thông số trực tiếp lên màn hình LCD 16x2 I2C. Đồng thời, module ESP8266 chạy thuật toán tự động kết nối lại (Auto-Reconnect) cho đến khi mạng được khôi phục.
3. Làm thế nào để khắc phục hiện tượng cảm biến độ ẩm đất bị oxy hóa nhanh chóng?
Nên chuyển đổi từ cảm biến dạng điện trở (hai chân đồng trần) sang cảm biến độ ẩm đất điện dung (Capacitive Soil Moisture Sensor). Loại cảm biến này phủ lớp sơn cách điện epoxy hoàn toàn, hoạt động bằng cách đo hằng số điện môi thông qua xung tần số cao từ IC NE555, giúp triệt tiêu hiện tượng ăn mòn điện hóa do dòng điện một chiều gây ra.
4. Chi phí duy trì hệ thống trên nền tảng Blynk Cloud là bao nhiêu?
Nền tảng Blynk cung cấp gói tài nguyên cơ bản (Energy Points) miễn phí, đủ để tạo Dashboard hiển thị 5 thông số môi trường cơ bản của đồ án. Nếu muốn mở rộng kết nối hàng trăm thiết bị công nghiệp hoặc xuất dữ liệu báo cáo ra file Excel định kỳ, người dùng có thể cấu hình Private Blynk Server trên máy tính mini Raspberry Pi hoặc VPS nội bộ mà không tốn chi phí thuê bao hàng tháng.
5. Hệ thống có thể mở rộng để tự động điều khiển máy bơm hoặc quạt hút không?
Hoàn toàn có thể. Người vận hành chỉ cần kết nối thêm Module Relay cách ly quang (Optocoupler) 5V vào chân Digital trống trên Arduino Uno (ví dụ chân D8, D9). Khi giá trị độ ẩm đất $< 30%$ hoặc nồng độ gas $> 400\text{ ppm}$, vi điều khiển sẽ kích hoạt ngõ ra LOW/HIGH để đóng cắt nguồn cho máy bơm $220\text{VAC}$ hoặc quạt thông gió một cách tự động.
Kết luận
Đồ án tốt nghiệp "Nghiên cứu một số cảm biến đo thông số môi trường và giám sát qua mạng internet" của sinh viên Phạm Ngọc Hiếu dưới sự dẫn dắt của TS. Đoàn Hữu Chức đã hoàn thành xuất sắc các mục tiêu đề ra. Đề tài không chỉ dừng lại ở mô hình lý thuyết mà đã chứng minh tính khả thi, ổn định qua quá trình thử nghiệm thực tế tại Công ty cổ phần bao bì Thuận Phát.
Sự kết hợp thông minh giữa nền tảng vi điều khiển mã nguồn mở Arduino Uno, chip Wi-Fi SoC ESP8266 và đám mây Blynk đã mang đến một giải pháp giám sát môi trường toàn diện: chi phí siêu thấp, triển khai nhanh gọn, vận hành bền bỉ và giao diện thân thiện. Đây là tài liệu tham khảo giá trị cho sinh viên chuyên ngành Điện tự động công nghiệp, đồng thời là nền tảng vững chắc để phát triển thành các sản phẩm thương mại phục vụ nông nghiệp thông minh và chuyển đổi số nhà máy trong tương lai.