Giới thiệu dự án

Trong kỷ nguyên chuyển đổi số và phát triển đô thị thông minh (Smart City), công tác quản lý tài nguyên nước đang đối mặt với nhiều thách thức lớn. Theo thống kê từ ngành cấp thoát nước, tỷ lệ thất thoát nước sạch phi doanh thu (Non-Revenue Water - NRW) tại các đô thị ở các nước đang phát triển dao động từ 15% đến 25%, phần lớn xuất phát từ rò rỉ đường ống không được phát hiện kịp thời và sai số tích lũy của thiết bị đo cơ học cũ.

+-----------------------------------------------------------------------------------+
|                            HỆ THỐNG ĐỒNG HỒ NƯỚC IOT                              |
+-----------------------------------------------------------------------------------+
|  [Cảm biến FS400A-G1]  -->  [Arduino UNO R3]  -->  [TFT LCD 2.4" ILI9341]         |
|  (Cảm ứng từ Hall)          (Xử lý ngắt xung)      (Hiển thị tại chỗ)             |
|                                     |                                             |
|                             [LoRa E32 SX1278] (433MHz UART)                       |
|                                     |                                             |
|                                     v (Truyền không dây bán kính 300m - 3000m)     |
|                                     |                                             |
|                             [LoRa E32 SX1278] (Trạm Gateway)                      |
|                                     |                                             |
|                            [NodeMCU ESP8266]  -->  [Mạng Wi-Fi / Internet]        |
|                            (ESP-12E Module)                                       |
|                                                           |                       |
|                                                    [Apache Web Server]            |
|                                                    [PHP 7.x Script]               |
|                                                    [MySQL Database]               |
|                                                           |                       |
|                                                [Web Dashboard Giám sát]           |
|                                                (Admin & Hộ gia đình 24/7)         |
+-----------------------------------------------------------------------------------+

Vấn đề thực tế (Problem Statement)

Phương thức ghi chỉ số nước thủ công truyền thống bằng đồng hồ cơ tồn tại nhiều điểm nghẽn nghiêm trọng:

  • Tốn kém chi phí nhân lực ghi số định kỳ hàng tháng.
  • Dễ phát sinh sai sót do con người khi nhập liệu thủ công.
  • Không có khả năng giám sát tức thời (Real-time monitoring) để phát hiện rò rỉ hoặc gian lận nước.
  • Các giải pháp đồng hồ nước thông minh thương mại sử dụng mạng di động (GSM/GPRS/NB-IoT) có chi phí đầu tư thiết bị và cước viễn thông định kỳ rất cao, không khả thi khi triển khai diện rộng ở khu vực nông thôn hoặc các cụm dân cư hạ tầng mạng di động yếu.

Mục tiêu dự án

  1. Thiết kế phần cứng Node đo: Thu thập xung lưu lượng nước với độ chính xác cao bằng vi điều khiển và cảm biến hiệu ứng Hall, hiển thị trực quan thông số tại chỗ qua màn hình màu TFT.
  2. Thiết lập mạng truyền thông không dây tầm xa LoRa: Tích hợp module truyền thông LoRa E32-TTL-100 (SX1278 433MHz) để gửi dữ liệu từ các Node đo Slave về Gateway Master mà không phụ thuộc vào kết nối Internet tại từng hộ.
  3. Xây dựng trạm thu thập dữ liệu Gateway IoT: Sử dụng vi điều khiển NodeMCU ESP8266 để tiếp nhận gói tin LoRa và đẩy dữ liệu lên cơ sở dữ liệu qua Wi-Fi.
  4. Phát triển nền tảng Web Server giám sát: Lập trình hệ thống Web động trên nền tảng LAMP (Linux, Apache, MySQL, PHP) cho phép người dùng và ban quản trị theo dõi sản lượng nước tiêu thụ, hóa đơn và lịch sử sử dụng 24/7.
  5. Đảm bảo tính ổn định nguồn cấp: Tích hợp hệ thống nguồn kép (Adapter 220VAC sang 5VDC và Pin sạc dự phòng Lithium-Ion 2600mAh) duy trì hoạt động liên tục khi mất điện lưới.

Phạm vi và giới hạn

  • Khoảng cách truyền LoRa: Kiểm thử và hoạt động tối ưu trong bán kính dưới 300m tại môi trường thực tế nhiều vật cản (nhà ở, bê tông) và lên đến 3000m trong điều kiện thông thoáng lý tưởng.
  • Phạm vi giám sát: Hiển thị lưu lượng tức thời ($L/phút$), tổng lưu lượng tích lũy ($m^3$ hoặc $Lít$) và so sánh sản lượng giữa các kỳ thanh toán.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Đồng hồ cơ truyền thống Đồng hồ thông minh GSM/GPRS Giải pháp Đề tài (LoRa + IoT Gateway)
Phương thức thu thập Nhân viên đến tận nơi ghi chép Truyền dữ liệu qua mạng 3G/4G Tự động truyền qua sóng LoRa 433MHz về Gateway
Chi phí vận hành định kỳ Chi phí nhân công cao Cước phí SIM/Data viễn thông hàng tháng Hoàn toàn miễn phí cước truyền dẫn RF nội bộ
Khả năng phát hiện sự cố Độ trễ 30 ngày (theo chu kỳ ghi) Thời gian thực (Real-time) Thời gian thực / Cập nhật chu kỳ ngắn
Phụ thuộc hạ tầng Internet Không cần Yêu cầu phủ sóng di động mạnh Chỉ cần 01 điểm có Internet cho toàn bộ trạm Gateway
Chi phí phần cứng Thấp ($10 - $15 USD) Rất cao ($80 - $150 USD) Tối ưu, phù hợp kinh tế ($25 - $35 USD)

Yêu cầu người dùng theo mô hình MoSCoW

  • Must have: Đo chính xác lưu lượng nước; hiển thị màn hình LCD; truyền dữ liệu qua LoRa; Gateway gửi dữ liệu lên MySQL; giao diện đăng nhập cho User/Admin.
  • Should have: Chế độ nguồn dự phòng tự động chuyển mạch khi mất điện; biểu đồ trực quan hóa dữ liệu theo thời gian.
  • Could have: Cảnh báo rò rỉ nước qua Email/SMS; xuất báo cáo PDF/Excel hóa đơn tiền nước.
  • Won't have (lần này): Điều khiển đóng/ngắt van từ xa qua Web; tích hợp chuẩn LoRaWAN quốc tế hoàn chỉnh.

Thiết kế hệ thống

Danh mục công nghệ và phiên bản (Technology Stack)

  • Node vi điều khiển đo đạc: Arduino UNO R3 (MCU ATmega328P 8-bit, 16MHz, 32KB Flash, 2KB SRAM).
  • Cảm biến lưu lượng: FS400A-G1 (Hall-effect Sensor, đường kính ren G1 inch, lưu lượng 1–60 L/min).
  • Module RF tầm xa: EBYTE E32-TTL-100 (Chip Semtech SX1278, điều chế LoRa CSS, tần số 410–441MHz, 20dBm).
  • Màn hình hiển thị: TFT LCD 2.4 inch (Controller ILI9341, độ phân giải $240 \times 320$, giao tiếp 8-bit/SPI).
  • Gateway xử lý trung tâm: NodeMCU v1.0 (Module ESP-12E, MCU Tensilica Xtensa LX106 32-bit 80/160MHz, 4MB Flash).
  • Web Backend & Database: PHP 7.4, Apache 2.4, MySQL 5.7/8.0, chuẩn định dạng JSON/HTTP POST.
  • Môi trường phát triển: Arduino IDE 1.8.x, Sublime Text 3, AutoCAD 2D (thiết kế vỏ hộp mica).

Thiết kế cơ sở dữ liệu (MySQL Database Schema)

-- Bảng quản lý người dùng
CREATE TABLE `tbl_users` (
  `user_id` INT AUTO_INCREMENT PRIMARY KEY,
  `username` VARCHAR(50) NOT NULL UNIQUE,
  `password` VARCHAR(255) NOT NULL,
  `fullname` VARCHAR(100) NOT NULL,
  `meter_id` VARCHAR(20) NOT NULL UNIQUE,
  `address` VARCHAR(255),
  `phone` VARCHAR(15),
  `role` ENUM('admin', 'user') DEFAULT 'user',
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Bảng lưu trữ chỉ số nước tiêu thụ
CREATE TABLE `tbl_water_records` (
  `record_id` BIGINT AUTO_INCREMENT PRIMARY KEY,
  `meter_id` VARCHAR(20) NOT NULL,
  `flow_rate` FLOAT NOT NULL COMMENT 'Lưu lượng tức thời (L/min)',
  `total_volume` DOUBLE NOT NULL COMMENT 'Tổng lượng nước lũy kế (L hoặc m3)',
  `recorded_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  INDEX (`meter_id`),
  INDEX (`recorded_at`),
  FOREIGN KEY (`meter_id`) REFERENCES `tbl_users`(`meter_id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Thiết kế kiến trúc nguồn điện và cân bằng mức logic

  • Phân áp logic 5V - 3.3V: Vi điều khiển Arduino UNO hoạt động ở mức logic 5V, trong khi màn hình TFT ILI9341 hoạt động ở mức 3.3V. Điện trở định lượng $R = 10\text{k}\Omega$ được tính toán theo định luật Ohm nhằm hạn chế dòng ngõ vào: $$I = \frac{V_{OH} - V_{IH}}{R} = \frac{5\text{V} - 3.3\text{V}}{10\text{k}\Omega} = 0.17\text{mA} \le 10\text{mA}$$
  • Tính toán nguồn dự phòng (Battery Backup Calculation):
STT Khối chức năng / Linh kiện Điện áp hoạt động Dòng tiêu thụ đỉnh ($I_{max}$)
1 Arduino UNO R3 (ATmega328P) 5.0 VDC 30 mA
2 Màn hình TFT 2.4 inch (Backlight ON) 5.0 VDC 60 mA
3 Cảm biến lưu lượng FS400A-G1 5.0 VDC 10 mA
4 Module LoRa E32-TTL-100 (Chế độ phát TX) 5.0 VDC 130 mA
Tổng Toàn bộ hệ thống Node đo 5.0 VDC ~230 mA

Thời gian vận hành liên tục bằng cell pin 18650 dung lượng $2600\text{mAh}$: $$t = \frac{C_{\text{battery}}}{I_{\text{total}}} = \frac{2600\text{ mAh}}{230\text{ mA}} \approx 11.3\text{ giờ (Lý thuyết)} \xrightarrow{\text{Hiệu suất } 85%} \approx 9.56\text{ giờ}$$

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 tích hợp phần cứng và phần mềm lặp từng bước (Iterative Hardware-Software Co-Design):

+---------------------------------------------------------------------------------+
| TUẦN 1 - 4: Khảo sát, thu thập tài liệu, tính toán thông số kỹ thuật            |
+---------------------------------------------------------------------------------+
                                      |
                                      v
+---------------------------------------------------------------------------------+
| TUẦN 5 - 7: Thiết kế sơ đồ nguyên lý, lập trình Driver Arduino UNO & FS400A-G1   |
+---------------------------------------------------------------------------------+
                                      |
                                      v
+---------------------------------------------------------------------------------+
| TUẦN 8 - 10: Lập trình Gateway NodeMCU ESP8266, thiết kế Database & Web PHP     |
+---------------------------------------------------------------------------------+
                                      |
                                      v
+---------------------------------------------------------------------------------+
| TUẦN 11 - 13: Gia công PCB, hàn linh kiện, đóng hộp Mica và lắp đặt thủy lực   |
+---------------------------------------------------------------------------------+
                                      |
                                      v
+---------------------------------------------------------------------------------+
| TUẦN 14 - 16: Hiệu chuẩn cảm biến, kiểm thử LoRa & bảo vệ đồ án tốt nghiệp     |
+---------------------------------------------------------------------------------+

Implementation và kết quả

Development Process & Thuật toán cốt lõi

1. Thuật toán xử lý ngắt xung cảm biến lưu lượng (Arduino UNO R3)

Cảm biến FS400A-G1 hoạt động dựa trên cánh quạt chứa nam châm quay qua IC cảm ứng từ Hall. Khi chất lỏng chảy qua, cảm biến sinh ra xung vuông tại chân ngõ ra. Vi điều khiển sử dụng ngắt ngoài (External Interrupt 0 trên chân Digital Pin 2) để đếm số xung chính xác mà không bị chặn (non-blocking) chu trình chính.

Đặc tính xung cảm biến: $$f = 4.8 \times Q \implies Q = \frac{f}{4.8} \quad (\text{trong đó } f \text{ là tần số xung Hz, } Q \text{ là lưu lượng L/phút})$$

#include <SoftwareSerial.h>
#include <Adafruit_GFX.h>
#include <Adafruit_TFTLCD.h>

volatile unsigned long pulseCount = 0;
float flowRate = 0.0;
unsigned int flowMilliLitres = 0;
unsigned long totalMilliLitres = 0;
unsigned long oldTime = 0;

SoftwareSerial loraSerial(4, 5); // RX = D4, TX = D5

void IRAM_ATTR pulseCounter() {
  pulseCount++;
}

void setup() {
  Serial.begin(9600);
  loraSerial.begin(9600);
  pinMode(2, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(2), pulseCounter, RISING);
  oldTime = millis();
}

void loop() {
  if ((millis() - oldTime) > 1000) { // Chu kỳ tính toán 1 giây
    detachInterrupt(digitalPinToInterrupt(2));
    
    // Tính toán lưu lượng L/min và Lũy kế ml
    flowRate = ((1000.0 / (millis() - oldTime)) * pulseCount) / 4.8;
    oldTime = millis();
    flowMilliLitres = (flowRate / 60) * 1000;
    totalMilliLitres += flowMilliLitres;
    pulseCount = 0;
    
    attachInterrupt(digitalPinToInterrupt(2), pulseCounter, RISING);
    
    // Đóng gói gói tin gửi qua LoRa: [ID, FlowRate, TotalVolume]
    String packet = "NODE01," + String(flowRate, 2) + "," + String(totalMilliLitres / 1000.0, 3);
    loraSerial.println(packet);
    Serial.println("LoRa Sent: " + packet);
  }
}

2. Xử lý dữ liệu tại Gateway và truyền HTTP POST (NodeMCU ESP8266)

Gateway nhận chuỗi ký tự qua cổng Serial LoRa, phân tách chuỗi dữ liệu (parsing) và đóng gói thành giao thức HTTP POST gửi tới Web Server.

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <SoftwareSerial.h>

const char* ssid = "NHA_TRO_WIFI";
const char* pass = "123456789";
const char* serverUrl = "http://192.168.1.100/water_monitor/api_update.php";

SoftwareSerial loraGateway(D2, D3); // RX = D2, TX = D3

void setup() {
  Serial.begin(115200);
  loraGateway.begin(9600);
  WiFi.begin(ssid, pass);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nWiFi Connected!");
}

void loop() {
  if (loraGateway.available()) {
    String dataReceived = loraGateway.readStringUntil('\n');
    dataReceived.trim();
    Serial.println("Received: " + dataReceived);
    
    // Tách chuỗi dữ liệu "NODE01,FlowRate,TotalVolume"
    int firstComma = dataReceived.indexOf(',');
    int secondComma = dataReceived.indexOf(',', firstComma + 1);
    
    if (firstComma > 0 && secondComma > 0) {
      String meterId = dataReceived.substring(0, firstComma);
      String flowRate = dataReceived.substring(firstComma + 1, secondComma);
      String totalVol = dataReceived.substring(secondComma + 1);
      
      if (WiFi.status() == WL_CONNECTED) {
        WiFiClient client;
        HTTPClient http;
        http.begin(client, serverUrl);
        http.addHeader("Content-Type", "application/x-www-form-urlencoded");
        
        String postData = "meter_id=" + meterId + "&flow_rate=" + flowRate + "&total_volume=" + totalVol;
        int httpCode = http.POST(postData);
        
        if (httpCode > 0) {
          String response = http.getString();
          Serial.println("Server Response: " + response);
        }
        http.end();
      }
    }
  }
}

3. Xử lý API phía Server (PHP Backend)

<?php
// api_update.php
header('Content-Type: application/json; charset=UTF-8');
require_once 'db_connect.php';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $meter_id     = filter_input(INPUT_POST, 'meter_id', FILTER_SANITIZE_STRING);
    $flow_rate    = filter_input(INPUT_POST, 'flow_rate', FILTER_VALIDATE_FLOAT);
    $total_volume = filter_input(INPUT_POST, 'total_volume', FILTER_VALIDATE_FLOAT);

    if ($meter_id && $flow_rate !== false && $total_volume !== false) {
        $stmt = $conn->prepare("INSERT INTO tbl_water_records (meter_id, flow_rate, total_volume) VALUES (?, ?, ?)");
        $stmt->bind_param("sdd", $meter_id, $flow_rate, $total_volume);
        
        if ($stmt->execute()) {
            echo json_encode(["status" => "success", "message" => "Record inserted"]);
        } else {
            echo json_encode(["status" => "error", "message" => "Database error"]);
        }
        $stmt->close();
    } else {
        echo json_encode(["status" => "error", "message" => "Invalid payload"]);
    }
}
?>

Testing và validation

Kiểm định độ chính xác cảm biến lưu lượng (Flow Calibration)

Thử nghiệm đo lường thể tích thực tế bằng bình chuẩn dung tích định mức $10.0\text{ Lít}$ ở các mức áp lực dòng chảy khác nhau:

Lần thử nghiệm Lưu lượng cài đặt Thể tích thực tế Thể tích hệ thống đo Sai số tuyệt đối Tỷ lệ sai số (%)
Mẫu 1 $5\text{ L/min}$ $10.00\text{ L}$ $9.68\text{ L}$ $-0.32\text{ L}$ $3.2%$
Mẫu 2 $15\text{ L/min}$ $10.00\text{ L}$ $9.74\text{ L}$ $-0.26\text{ L}$ $2.6%$
Mẫu 3 $30\text{ L/min}$ $10.00\text{ L}$ $10.35\text{ L}$ $+0.35\text{ L}$ $3.5%$
Mẫu 4 $45\text{ L/min}$ $10.00\text{ L}$ $10.42\text{ L}$ $+0.42\text{ L}$ $4.2%$
Trung bình $3.375%$

Kết luận: Sai số trung bình đạt $3.375%$, nằm hoàn toàn trong phạm vi sai số kỹ thuật tiêu chuẩn của cảm biến FS400A-G1 ($3% - 5%$).

Kiểm thử truyền thông RF LoRa E32-TTL-100

  • Khoảng cách 50m (Xuyên 2 sàn bê tông): Tỷ lệ nhận gói tin thành công đạt $100%$ (Gửi 100/100 gói).
  • Khoảng cách 150m (Môi trường đô thị, nhiều vật cản): Tỷ lệ thành công đạt $98.5%$.
  • Khoảng cách 300m (Tầm nhìn thẳng line-of-sight): Tỷ lệ nhận gói tin đạt $96.0%$.

Đổi mới và đóng góp

  1. Kiến trúc mạng lai kết hợp LoRa và Wi-Fi Gateway: Khác với các giải pháp thông thường đòi hỏi lắp đặt kết nối Wi-Fi hoặc SIM 4G đắt đỏ tại từng vị trí đồng hồ nước, hệ thống ứng dụng mô hình truyền tin phân tán. Dữ liệu từ hàng loạt đồng hồ con truyền qua sóng LoRa không tốn chi phí viễn thông, gom về một Gateway duy nhất kết nối Internet.
  2. Cơ chế quản lý năng lượng thông minh: Tích hợp mạch chuyển đổi tự động giữa điện lưới và pin sạc dự phòng 18650 ($2600\text{mAh}$) với IC chuyển mạch MOSFET FDN340P và Op-Amp LMV358, đảm bảo quá trình ghi nhận số nước không bị gián đoạn hay mất dữ liệu khi cúp điện.
  3. Giảm thiểu $90%$ thời gian ghi nhận và xử lý số liệu: Hệ thống tự động đẩy dữ liệu theo thời gian thực lên MySQL, loại bỏ hoàn toàn quy trình ghi chép thủ công trên giấy, giảm sai sót dữ liệu xuống mức $0%$.
  4. Trực quan hóa đa cấp: Màn hình TFT $2.4\text{ inch}$ màu tại chỗ cho phép người dân xem trực tiếp; đồng thời Web Dashboard cung cấp biểu đồ phân tích tiêu thụ theo ngày/tháng, giúp quản lý nguồn nước minh bạch.

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng

  • Tòa nhà chung cư và ký túc xá sinh viên: Mỗi căn hộ/phòng trọ lắp đặt 01 Node đo đồng hồ nước LoRa. Toàn bộ dữ liệu tập trung về Gateway đặt tại phòng quản lý tòa nhà, tự động tính tiền nước cuối tháng.
  • Khu dân cư nông thôn / Vùng sâu vùng xa: Nơi mật độ phủ sóng Wi-Fi thấp và hạ tầng mạng chưa đồng bộ, tận dụng tầm phát xa $300\text{m} - 1000\text{m}$ của LoRa để quản lý tập trung toàn thôn/xã.
+-----------------------------------------------------------------------------------+
|                        MÔ HÌNH TRIỂN KHAI THỰC TẾ                                 |
+-----------------------------------------------------------------------------------+
|  [Hộ gia đình A] (Node 1 - LoRa) \                                                |
|  [Hộ gia đình B] (Node 2 - LoRa) -- (Sóng LoRa 433MHz) --> [Gateway ESP8266]      |
|  [Hộ gia đình C] (Node 3 - LoRa) /                                 |              |
|                                                          (Mạng Wi-Fi Tòa nhà)     |
|                                                                    v              |
|                                                         [Cloud / Web Server]      |
|                                                         [Quản trị & Hóa đơn]      |
+-----------------------------------------------------------------------------------+

Phân tích chi phí và hiệu quả đầu tư (Cost-Benefit & ROI)

  • Chi phí phần cứng cho 01 Node: Khoảng $550,000\text{ VNĐ}$ ($22\text{ USD}$ bao gồm vỏ mica, Arduino, cảm biến, LoRa, màn hình TFT).
  • Chi phí Gateway tập trung: Khoảng $300,000\text{ VNĐ}$ ($12\text{ USD}$ phục vụ cho 10–30 hộ gia đình xung quanh).
  • Thời gian hoàn vốn (ROI): Khoảng 6–9 tháng thông qua việc cắt giảm chi phí nhân sự đọc số đồng hồ và ngăn chặn thất thoát nước do rò rỉ ngầm.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Cảm biến cánh quạt cơ học FS400A-G1 có độ mài mòn theo thời gian, độ chính xác phụ thuộc vào cặn bẩn trong nguồn nước và áp suất thủy tĩnh.
  • Chưa tích hợp van điện từ tử (Solenoid Valve) điều khiển đóng/ngắt nguồn nước từ xa khi phát hiện sự cố rò rỉ hoặc quá hạn thanh toán.
  • Giao thức LoRa hiện tại chạy ở chế độ Fixed Point-to-Point UART, chưa triển khai chuẩn LoRaWAN đa kênh với Gateway công nghiệp.

Hướng phát triển

  1. Nâng cấp cảm biến lưu lượng sang công nghệ siêu âm (Ultrasonic Flow Sensor) hoặc cảm ứng điện từ không cánh quạt để tăng tuổi thọ và độ chính xác đạt chuẩn đo lường cấp C/D.
  2. Mở rộng tính năng cảnh báo tự động qua ứng dụng di động (Flutter/React Native) và gửi tin nhắn Telegram/Zalo khi có biến động lưu lượng bất thường vào ban đêm (dấu hiệu vỡ ống nước).
  3. Triển khai giao thức mã hóa dữ liệu đầu-cuối AES-128 trên đường truyền sóng LoRa nhằm ngăn ngừa tấn công giả mạo dữ liệu.

Đối tượng hưởng lợi

  • Sinh viên & Học viên kỹ thuật: Cung cấp tài liệu tham khảo thực tế về thiết kế hệ thống nhúng kết hợp IoT, phương pháp giao tiếp vi điều khiển đa chuẩn (UART, SPI, Interrupt) và kỹ thuật lập trình Full-stack Web Server.
  • Kỹ sư & Nhà phát triển phần cứng: Mẫu thiết kế phân áp logic $5\text{V} - 3.3\text{V}$, mạch nguồn dự phòng tự động chuyển mạch và kinh nghiệm cấu hình module thu phát Semtech LoRa SX1278.
  • Đơn vị quản lý cấp nước & Ban quản lý tòa nhà: Cung cấp giải pháp số hóa mạng lưới phân phối nước với chi phí thấp, tự động hóa quy trình ghi chỉ số và thanh toán hóa đơn.
  • Hộ gia đình tiêu dùng: Chủ động kiểm soát lượng nước sử dụng hàng ngày qua giao diện web trực quan, sớm phát hiện rò rỉ để tiết kiệm chi phí sinh hoạt.

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 là gì?

Hệ thống yêu cầu nguồn cấp 220VAC hoặc nguồn pin 5VDC tại Node đo; đường ống dẫn nước tiêu chuẩn ren G1 inch (phi 34) hoặc sử dụng đầu chuyển ren phù hợp; trạm Gateway cần được đặt trong phạm vi phủ sóng Wi-Fi 2.4GHz có kết nối Internet và cách các Node đo không quá 300m trong khu dân cư.

2. Giới hạn mở rộng (Scalability) của mạng LoRa trong hệ thống này là bao nhiêu Node?

Với chế độ Fixed Mode trên module EBYTE E32-TTL-100, mỗi Gateway có thể phân địa chỉ (Address) và kênh tần số (Channel) để quản lý lên đến 255 Node đo riêng biệt trong cùng một vùng phủ sóng bằng thuật toán Time-Division Multiplexing (TDM) hoặc Polling định kỳ từ Master.

3. Hệ thống có thể tích hợp với các phần mềm ERP hoặc hệ thống thanh toán hiện có không?

Có. Backend Web được thiết kế theo kiến trúc cơ sở dữ liệu MySQL chuẩn hóa, cho phép các hệ thống bên thứ ba (ERP, cổng thanh toán VNPay/Momo, phần mềm kế toán) dễ dàng trích xuất dữ liệu thông qua các RESTful API endpoints định dạng JSON.

4. Chi phí và quy trình bảo trì phần cứng định kỳ như thế nào?

Cần định kỳ 6–12 tháng kiểm tra và vệ sinh lưới lọc cặn tại đầu vào cảm biến lưu lượng FS400A-G1 để tránh kẹt cánh quạt rotor. Chi phí bảo trì hàng năm ước tính dưới $5%$ tổng giá trị phần cứng ban đầu.

5. Dữ liệu đo có bị mất khi xảy ra sự cố mất điện hoặc mất kết nối Wi-Fi không?

Không. Khi mất điện lưới, pin sạc dự phòng 18650 sẽ tự động cấp nguồn liên tục cho đồng hồ trong 9.5 giờ. Khi mất kết nối Wi-Fi, vi điều khiển NodeMCU có thể được cấu hình lưu tạm chỉ số nước vào bộ nhớ Flash/EEPROM và đẩy bù dữ liệu lên Server ngay khi có kết nối trở lại.


Kết luận

Đề tài “Thiết kế và thi công đồng hồ nước điện tử giám sát được lượng nước tiêu thụ qua mạng Internet và LoRa” đã giải quyết triệt để bài toán tự động hóa đo đạc và quản lý tài nguyên nước sinh hoạt. Bằng cách kết hợp linh hoạt công nghệ truyền thông tầm xa công suất thấp LoRa và nền tảng IoT Web Server, hệ thống mang lại giải pháp cân bằng tối ưu giữa chi phí đầu tư, độ chính xác kỹ thuật và tính tiện dụng thực tiễn. Kết quả nghiên cứu 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ụ đô thị thông minh trong tương lai.