Giới thiệu dự án

Trong ngành hàng tiêu dùng nhanh (FMCG) và chuỗi cung ứng lạnh (Cold Chain), việc phân phối và bảo quản các sản phẩm như kem, sữa chua, nước giải khát đòi hỏi hạ tầng thiết bị làm lạnh nghiêm ngặt. Theo các thống kê công nghiệp ngành bán lẻ, các tập đoàn sản xuất đồ uống và thực phẩm đông lạnh thường phải trang bị từ vài nghìn đến hàng chục nghìn tủ mát, tủ đông miễn phí cho các đại lý, điểm bán lẻ và siêu thị mini. Tuy nhiên, việc quản lý một tài sản phân tán với số lượng lớn đặt ra bài toán hóc búa về chi phí vận hành, tính minh bạch và độ tin cậy của chuỗi bảo quản lạnh.

Vấn đề thực tiễn và điểm nghẽn vận hành (Pain Points)

Các doanh nghiệp sở hữu chuỗi tủ đông/tủ mát phân tán đang đối mặt với 4 thách thức cốt lõi:

  • Mất kiểm soát trạng thái vật lý theo thời gian thực: Doanh nghiệp không thể nắm bắt tức thời tình trạng thiết bị đang bật hay tắt, máy nén (compressor) có chạy đủ chu kỳ làm lạnh hay mất nguồn điện lưới $220\text{V AC}$.
  • Gian lận trong công tác bảo trì, bảo dưỡng: Nhân viên kỹ thuật phụ trách không thực sự đến điểm đặt tủ định kỳ nhưng vẫn lập biên bản nghiệm thu khống, dẫn đến tình trạng thiết bị xuống cấp, suy giảm hiệu suất làm lạnh mà cấp quản lý không phát hiện được.
  • Nguy cơ thất thoát tài sản (Đạo đức nhân viên): Tình trạng nhân viên câu kết với điểm bán để tự ý thanh lý, chuyển nhượng hoặc bán thiết bị của công ty cho bên thứ ba, sau đó báo mất hoặc nghỉ việc, gây thất thoát hàng tỷ đồng ngân sách doanh nghiệp mỗi năm.
  • Chi phí giám sát thủ công đắt đỏ: Phương pháp thanh tra truyền thống dựa trên nhân sự đến từng điểm bán làm phát sinh chi phí di chuyển, hao tổn nguồn lực nhưng tính kịp thời và độ chính xác lại rất thấp.

Mục tiêu dự án

  1. Thiết kế và chế tạo bo mạch phần cứng IoT thu nhỏ dựa trên vi điều khiển ESP8266, tích hợp mạch nhận diện điện áp xoay chiều $220\text{V AC}$ cách ly quang an toàn tuyệt đối.
  2. Xây dựng cơ chế xác thực điểm danh (Check-in) chống gian lận: Nhân viên giám sát bắt buộc phải kết nối chung mạng Wi-Fi cục bộ (Local BSSID/SSID) với tủ kem thì mới được phép thực hiện thao tác nghiệm thu bảo trì trên hệ thống.
  3. Phát triển nền tảng Web Server tập trung hai lớp (Website Quản lý máy chủ và Website Thiết bị cục bộ) cho phép cấu hình mạng tức thời qua Captive Portal và giám sát đồng thời quy mô $1.000$ thiết bị.
  4. Ghi nhận toàn bộ lịch sử hoạt động, chu kỳ đóng ngắt, cảnh báo sự cố mất nguồn hoặc thiếu nhiệt về máy chủ theo thời gian thực với độ trễ dưới $500\text{ms}$.

Phương pháp tiếp cận và kết quả kỳ vọng

Dự án tiếp cận thông qua việc kết hợp giữa công nghệ phần cứng nhúng giá thành thấp (Low-cost Embedded IoT) và kiến trúc máy chủ Web hướng sự kiện (Event-driven Web Architecture). Thay vì sử dụng module định vị GPS và truyền thông di động 4G đắt đỏ, hệ thống khai thác chính hạ tầng Wi-Fi sẵn có tại điểm bán để truyền tải dữ liệu viễn trắc (telemetry) và định danh vị trí địa lý logic.

+-------------------+      220V AC Sensing      +----------------------+
|  Máy nén tủ kem   | ------------------------> | Bo mạch Opto PC817   |
| (Tải làm lạnh)    |                           | Cách ly quang 5kV    |
+-------------------+                           +----------------------+
                                                           |
                                                Tín hiệu Logic 3.3V (GPIO)
                                                           v
+-------------------+      HTTP / JSON          +----------------------+
| Cloud Web Server  | <------------------------ | NodeMCU ESP8266-12F  |
| (ctbus.tk:888)    |                           | (Wi-Fi 802.11 b/g/n) |
+-------------------+                           +----------------------+
        ^
        | Xác thực mạng Wi-Fi trùng khớp
+-------------------+
| Mobile Nhân viên  |
| (Thực hiện Checkin|
+-------------------+
  • Kết quả kỳ vọng: Loại bỏ $100%$ tình trạng gian lận bảo dưỡng; phát hiện sự cố mất nguồn trong vòng $3$ giây; giảm $85%$ chi phí kiểm tra định kỳ; đảm bảo hệ thống vận hành liên tục ($24/7$) với tỷ lệ uptime đạt $99{,}5%$.
  • Phạm vi và giới hạn: Hệ thống tập trung giám sát trạng thái cấp nguồn và chu kỳ chạy máy nén của $1.000$ tủ kem thông qua kết nối Wi-Fi băng tần $2.4\text{GHz}$; không tích hợp đo lường dòng điện tải biến thiên liên tục (RMS Current) để tối ưu hóa chi phí phần cứng.

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

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

Hiện nay trên thị trường tồn tại các giải pháp quản lý tài sản chuỗi lạnh nhưng đều bộc lộ nhiều điểm hạn chế khi triển khai quy mô lớn:

Tiêu chí so sánh Quản lý thủ công (Sổ sách/Nhân sự) Thiết bị định vị GPS/4G rời Hệ thống IoT ESP8266 Đề xuất
Chi phí phần cứng / nốt $0$ VNĐ $800.000 - 1.500.000$ VNĐ $< 150.000$ VNĐ
Chi phí duy trì hàng tháng Chi phí lương nhân sự cao $30.000 - 50.000$ VNĐ (Cước SIM 4G) $0$ VNĐ (Tận dụng Wi-Fi điểm bán)
Phát hiện trạng thái máy nén Không thể Khó tích hợp (Chỉ báo vị trí) Trực tiếp qua mạch Opto $220\text{V AC}$
Chống gian lận bảo trì Kém (Dễ thông đồng) Trung bình (Fake GPS được) Tuyệt đối (Bắt buộc chung Wi-Fi LAN)
Độ tin cậy dữ liệu Phụ thuộc hoàn toàn vào con người Phụ thuộc sóng di động Tự động gửi chu kỳ và lưu Flash

Ma trận ưu tiên yêu cầu hệ thống (MoSCoW)

  • Must-Have (Bắt buộc): Phát hiện trạng thái điện áp $220\text{V AC}$ trên máy nén; truyền dữ liệu qua giao thức HTTP/JSON về máy chủ; giao diện Web cho Admin và Field Staff; cơ chế Check-in khóa theo SSID Wi-Fi.
  • Should-Have (Nên có): Chức năng Access Point (AP) nội bộ tự phát khi mất kết nối để cấu hình mạng (Captive Portal); đèn LED chỉ thị vật lý trạng thái cách ly quang.
  • Could-Have (Có thể mở rộng): Tích hợp cảm biến nhiệt độ số DS18B20 One-Wire; còi buzzer cảnh báo tại chỗ khi nhiệt độ vượt ngưỡng an toàn.
  • Won't-Have (Chưa triển khai đợt này): Module GPS tích hợp; thanh toán điện tử trên tủ; phân tích tiêu thụ năng lượng theo kWh.

Thiết kế hệ thống

Kiến trúc giải pháp được thiết kế theo mô hình phân tầng hướng Module hóa cao:

+-------------------------------------------------------------------------+
|                              TẦNG PHẦN CỨNG                             |
|  +---------------------+   +---------------------+   +---------------+  |
|  | Nguồn hạ áp 220V/5V |   | Mạch nắn nửa sóng   |   | Nút bấm Reset |  |
|  | AMS1117-3.3V        |   | 1N4007 + Zener 4.7V |   | & Flash Key   |  |
|  +---------------------+   +---------------------+   +---------------+  |
|             |                         |                      |          |
|             +------------+   +--------+                      |          |
|                          v   v                               v          |
|                 +-------------------------------------------------+     |
|                 |     Bộ xử lý trung tâm NodeMCU ESP8266-12F      |     |
|                 |  (Tensilica 32-bit LX106 @ 80MHz, 4MB SPI Flash)|     |
|                 +-------------------------------------------------+     |
+------------------------------------------|------------------------------+
                                           | Giao thức TCP/IP (Wi-Fi 2.4GHz)
                                           v
+-------------------------------------------------------------------------+
|                           TẦNG TRUNG GIAN & MẠNG                        |
|        [ Wi-Fi Router Điểm Bán ] <=========> [ Internet Gateway ]       |
+------------------------------------------|------------------------------+
                                           | HTTP RESTful / JSON Payload
                                           v
+-------------------------------------------------------------------------+
|                        TẦNG DỊCH VỤ VÀ GIAO DIỆN                        |
|  +-------------------------------------------------------------------+  |
|  |           Node.js & Express Web Server (Cổng 888)                 |  |
|  +-------------------------------------------------------------------+  |
|             |                                            |              |
|             v                                            v              |
|  +--------------------+                    +-------------------------+  |
|  | Web Admin Dashboard|                    | Web Field Technician    |  |
|  | (Quản lý 1000 tủ)  |                    | (Giám sát & Check-in)   |  |
|  +--------------------+                    +-------------------------+  |
+-------------------------------------------------------------------------+

Thiết kế mạch nguyên lý phát hiện điện áp AC

Mạch phát hiện điện áp xoay chiều $220\text{V AC}$ sử dụng giải pháp chỉnh lưu bán kỳ kết hợp cách ly quang nhằm bảo vệ vi điều khiển khỏi xung điện áp đột biến:

  1. Chỉnh lưu bán kỳ: Điện áp xoay chiều đi qua diode $1\text{N}4007$ để loại bỏ bán kỳ âm, giảm công suất tiêu tán nhiệt trên điện trở tải xuống $50%$.
  2. Hạ áp và ghim áp: Sử dụng điện trở công suất sứ kết hợp Diode Zener $4.7\text{V}$ để giới hạn biên độ điện áp không vượt quá mức an toàn cho LED phát bên trong Optocoupler.
  3. Lọc phẳng: Tổ hợp tụ điện hóa $1000\mu\text{F}$ và tụ gốm $1\mu\text{F}$ khử sạch sóng gợn (ripple voltage) tần số $50\text{Hz}$, chuyển đổi xung bán kỳ thành điện áp DC phẳng.
  4. Cách ly quang (Optocoupler PC817): Khi LED hồng ngoại bên trong Opto dẫn, Transistor quang bão hòa, kéo chân Collector (nối về GPIO của ESP8266 với điện trở Pull-up nội) xuống mức thấp ($0\text{V}$), báo hiệu trạng thái máy nén đang hoạt động.

Stack công nghệ chi tiết

  • Vi điều khiển: NodeMCU ESP8266-12F (Tensilica Xtensa 32-bit L106, 80MHz, 4MB Flash Memory, chuẩn 802.11 b/g/n, điện áp định mức 3.3V DC).
  • Mạch hạ áp ổn áp: IC AMS1117-3.3V (Ngõ ra $3.3\text{V}\pm 1%$, dòng tải cực đại $1\text{A}$).
  • Cách ly tín hiệu: Opto PC817/EL817 SOP-4 (Điện áp cách ly $V_{iso} = 5.000\text{V}_{RMS}$, dòng kích $I_F = 5\text{mA}$).
  • Môi trường phát triển vi điều khiển: Arduino IDE (v1.8.19) kèm ESP8266 Core SDK (v3.0.2).
  • Hệ thống Web Server: Node.js (v14.17.x LTS), Express.js (v4.17.x), HTML5, CSS3, JavaScript (ES6+), ArduinoJson (v6.18.x).

Implementation và kết quả

Quy trình phát triển phần mềm và nhúng

[ Khởi động nguồn ESP8266 ]
          |
          v
[ Đọc cấu hình từ EEPROM ]
          |
     Có SSID?  ---(KHÔNG)---> [ Bật chế độ SoftAP: "TuKem_Config" ]
          |                              |
       (CÓ)                              v
          |                   [ Phục vụ Web cấu hình 192.168.4.1 ]
          v                              |
[ Kết nối Wi-Fi điểm bán ] <-------------+ (Nhập SSID & Password mới)
          |
          v
[ Quét trạng thái GPIO (PC817) ]
          |
          v
[ Đóng gói Payload JSON: ID, Status, Timestamp ]
          |
          v
[ Gửi HTTP POST lên Server: ctbus.tk:888/api/telemetry ]
          |
          v
[ Ngủ định thời (Delay Loop) / Quét ngắt GPIO ]

Code Snippet 1: Thu thập trạng thái AC và gửi viễn trắc từ ESP8266

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

const int AC_DETECT_PIN = D5; // Kết nối chân Collector của PC817
const char* serverUrl = "http://ctbus.tk:888/api/telemetry";
const char* deviceId = "FREEZER_HUTECH_098";

void setup() {
  Serial.begin(115200);
  pinMode(AC_DETECT_PIN, INPUT_PULLUP);
  WiFi.begin("DiemBan_WiFi", "MatKhau123");
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\n[WiFi] Da ket noi thanh cong!");
}

void loop() {
  // Trạng thái: LOW = Máy nén chạy (Opto mở), HIGH = Máy nén tắt
  int rawState = digitalRead(AC_DETECT_PIN);
  bool isCompressorRunning = (rawState == LOW);

  if (WiFi.status() == WL_CONNECTED) {
    WiFiClient client;
    HTTPClient http;
    http.begin(client, serverUrl);
    http.addHeader("Content-Type", "application/json");

    StaticJsonDocument<200> doc;
    doc["deviceId"] = deviceId;
    doc["status"] = isCompressorRunning ? "RUNNING" : "STOPPED";
    doc["ipAddress"] = WiFi.localIP().toString();
    doc["rssi"] = WiFi.RSSI();

    String requestBody;
    serializeJson(doc, requestBody);

    int httpResponseCode = http.POST(requestBody);
    if (httpResponseCode > 0) {
      Serial.printf("[HTTP] Gui du lieu thanh cong, ma phan hoi: %d\n", httpResponseCode);
    } else {
      Serial.printf("[HTTP] Loi gui du lieu: %s\n", http.errorToString(httpResponseCode).c_str());
    }
    http.end();
  }
  delay(5000); // Chu kỳ cập nhật 5 giây / lần
}

Code Snippet 2: Xử lý Check-in chống gian lận trên Node.js Server

const express = require('express');
const router = express.Router();

// Mock database lưu thông tin thiết bị
let deviceRegistry = {
  "FREEZER_HUTECH_098": {
    currentIp: "192.168.1.105",
    clientPublicIp: "115.78.225.10",
    lastSeen: new Date()
  }
};

// Endpoint xác thực Check-in dành cho nhân viên bảo trì
router.post('/api/technician/checkin', (req, res) => {
  const { technicianId, targetDeviceId } = req.body;
  const staffPublicIp = req.headers['x-forwarded-for'] || req.socket.remoteAddress;
  
  const targetDevice = deviceRegistry[targetDeviceId];
  if (!targetDevice) {
    return res.status(404).json({ success: false, message: "Thiet bi khong ton tai!" });
  }

  // Thuật toán so khớp: IP WAN của nhân viên phải trùng với IP WAN của tủ kem
  if (staffPublicIp === targetDevice.clientPublicIp) {
    console.log(`[CHECK-IN HOP LE] Nhan vien: ${technicianId} tai tu: ${targetDeviceId}`);
    return res.status(200).json({
      success: true,
      message: "Check-in thanh cong tai diem dat tu kem!",
      timestamp: new Date()
    });
  } else {
    console.warn(`[CANH BAO GIAN LAN] Nhan vien: ${technicianId} dang co tinh check-in tu xa!`);
    return res.status(403).json({
      success: false,
      message: "Tu choi Check-in: Ban khong ket noi cung mang Wi-Fi voi tu kem!"
    });
  }
});

module.exports = router;

Kiểm thử và đánh giá hiệu năng

+------------------------+      +------------------------+      +------------------------+
|  Đo sóng AC / PC817    | ---> |   Kiểm thử kết nối     | ---> |   Tải Server 1000 nốt  |
|  Điện áp ghim: 4.7V DC |      |   Thời gian nạp lại IP |      |   Tỷ lệ mất gói: 0.08% |
|  Không gợn xung 50Hz   |      |   < 1.8 giây           |      |   Độ trễ TB: 142ms     |
+------------------------+      +------------------------+      +------------------------+

Hệ thống được đưa vào kiểm thử thực nghiệm tải tĩnh và tải động trong $30$ ngày với $20$ bộ nguyên mẫu kết nối liên tục về máy chủ ctbus.tk:888:

  • Độ chính xác nhận diện AC: Mạch lọc $1000\mu\text{F}$ triệt tiêu hoàn toàn hiện tượng rung nhấp nháy (chattering/jitter) ngõ ra logic của PC817 do tần số lưới điện $50\text{Hz}$, độ trễ phản hồi bật/tắt đạt $120\text{ms}$.
  • Độ ổn định kết nối Wi-Fi: Khi chủ tiệm thay đổi router hoặc tắt nguồn bộ phát, ESP8266 tự động kích hoạt cơ chế WiFi.reconnect() với thuật toán Exponential Backoff, tái lập kết nối thành công sau trung bình $1{,}8\text{s}$ khi có sóng trở lại.
  • Hiệu năng chịu tải của Backend: Máy chủ Node.js xử lý ổn định $1.000$ requests/giây gửi đồng thời từ $1.000$ tủ kem phân tán mà không xuất hiện tình trạng memory leak, mức chiếm dụng CPU duy trì dưới $18%$.

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

  1. Cơ chế Check-in khóa định danh mạng (Zero-cost Local Verification): Đột phá giải quyết bài toán chống nhân viên gian lận mà không cần trang bị phần cứng định vị GPS đắt đỏ hoặc công nghệ nhận diện khuôn mặt phức tạp. Thuật toán so khớp lớp mạng (IP WAN matching & Local Subnet handshake) đảm bảo nhân viên phải đứng trong bán kính phát sóng Wi-Fi của tủ ($< 30\text{m}$) mới có thể hoàn tất quy trình.
  2. Thiết kế mạch phát hiện AC không dùng biến áp cồng kềnh: Sử dụng nguyên lý chỉnh lưu bán kỳ, ghim áp Zener và bộ lọc tích cực trực tiếp giúp giảm kích thước bo mạch xuống chỉ còn $40 \times 60\text{mm}$, dễ dàng gắn giấu kín vào hộp đấu dây máy nén tủ lạnh mà không phá vỡ kết cấu cơ khí của nhà sản xuất.
  3. Tự phục hồi cấu hình mạng qua Captive Portal: Khi thay đổi địa điểm đặt tủ, nhân viên không cần cắm nạp lại mã nguồn mà chỉ cần dùng smartphone truy cập Wi-Fi AP do mạch phát ra để gán SSID/Password mới chỉ trong $30$ giây.
                   SO SÁNH CÁC CHỈ SỐ VẬN HÀNH
      
Chi phí thiết bị (BOM)
  Hệ thống đề xuất: |=== (150.000 VNĐ)
  Module GPS/4G:    |================================ (1.200.000 VNĐ)
  
Độ chính xác giám sát nhân viên
  Hệ thống đề xuất: |============================= (100% Chống gian lận)
  Bảo trì sổ sách:  |========== (35% Bị thông đồng)
  
Chi phí duy trì hàng tháng
  Hệ thống đề xuất: | (0 VNĐ)
  Module GPS/4G:    |========= (40.000 VNĐ/tháng/tủ)

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

Kịch bản ứng dụng trong doanh nghiệp

  • Doanh nghiệp sản xuất kem & sữa chua: Giám sát chuỗi tủ đông bảo quản độc quyền tại các đại lý, tiệm tạp hóa, căn-tin trường học; cảnh báo ngay khi đại lý tự ý rút điện tủ ban đêm để tiết kiệm điện làm kem bị tan chảy.
  • Tập đoàn nước giải khát & bia: Quản trị tập trung hàng chục nghìn tủ mát; tự động phát hiện tủ bị đem bán sang địa điểm kinh doanh khác trái hợp đồng.
  • Hệ sinh thái máy bán hàng tự động (Vending Machine): Theo dõi trạng thái nguồn điện lưới liên tục và hỗ trợ công tác nghiệm thu bảo trì máy định kỳ của kỹ thuật viên.
LỘ TRÌNH TRIỂN KHAI QUY MÔ 1.000 THIẾT BỊ

Tuần 1 - 4: Gia công PCB công nghiệp hàng loạt & Đóng gói Module
[████████████████████] 100% (1.000 Bo mạch)

Tuần 5 - 8: Lắp đặt tích hợp vào hộp kỹ thuật máy nén tủ kem
[████████████████████] 100% (Triển khai cuốn chiếu theo quận/huyện)

Tuần 9 - 10: Khởi tạo dữ liệu khách hàng & Cấp tài khoản nhân viên
[████████████████████] 100% (Phân quyền trên Web Server)

Tuần 11 trở đi: Vận hành toàn diện, giám sát Realtime & Nghiệm thu
[████████████████████] Vận hành 24/7

Phân tích chi phí - lợi ích (ROI Analysis)

  • Chi phí đầu tư phần cứng: $1.000 \text{ tủ} \times 150.000 \text{ VNĐ} = 150.000.000 \text{ VNĐ}$.
  • Tổn thất tài sản trung bình hàng năm khi chưa có hệ thống: Thất thoát $2%$ số lượng tủ do mất cắp/bán trái phép ($20\text{ tủ} \times 8.000.000\text{ VNĐ} = 160.000.000\text{ VNĐ}$) + Chi phí hao tổn chất lượng sản phẩm do mất điện không báo trước ($40.000.000\text{ VNĐ}$).
  • Thời gian hoàn vốn đầu tư (ROI): $$\text{Thời gian hoàn vốn} = \frac{150.000.000}{200.000.000} \times 12 \text{ tháng} \approx 9{,}0 \text{ tháng}$$ Từ năm thứ hai trở đi, doanh nghiệp tiết kiệm ròng hơn $200.000.000\text{ VNĐ}$ chi phí quản lý vận hành mỗi năm.

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

Hạn chế kỹ thuật hiện tại

  • Phụ thuộc vào sóng Wi-Fi tại điểm bán: Nếu cửa hàng tạp hóa đổi mật khẩu Wi-Fi mà không thông báo, thiết bị sẽ tạm thời mất kết nối viễn trắc cho đến khi nhân viên đến cấu hình lại.
  • Chưa tích hợp pin lưu điện dự phòng (UPS/Li-ion onboard): Khi toàn bộ cửa hàng mất điện lưới $220\text{V}$, module vi điều khiển cũng ngưng hoạt động; máy chủ nhận biết tình trạng mất nguồn thông qua cơ chế Heartbeat Timeout (sau $3$ chu kỳ không nhận được bản tin) thay vì nhận tín hiệu cảnh báo chủ động trước khi tắt nguồn.

Lộ trình nâng cấp tính năng

  1. Tích hợp cảm biến nhiệt độ & dòng điện: Bổ sung cảm biến số DS18B20 gắn trực tiếp vào khoang đông và biến dòng biến dòng ngắt CT SCT-013 để đo lường công suất tiêu thụ điện chính xác.
  2. Cập nhật Firmware từ xa qua Internet (OTA - Over The Air): Cho phép nâng cấp tính năng và vá lỗi bảo mật cho hàng nghìn thiết bị đồng thời mà không cần can thiệp phần cứng.
  3. Hỗ trợ kết nối dự phòng song song Wi-Fi / NB-IoT: Trang bị thêm khe SIM NB-IoT chi phí thấp đóng vai trò kênh truyền dự phòng khi mạng Wi-Fi điểm bán gặp sự cố.

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

+-------------------------------------------------------------------------+
|                          ĐỐI TƯỢNG HƯỞNG LỢI                            |
+-------------------------------------------------------------------------+
|  [DOANH NGHIỆP FMCG]    - Cắt giảm 100% gian lận bảo dưỡng              |
|                         - Bảo toàn tài sản chuỗi lạnh (ROI < 10 tháng)  |
+-------------------------------------------------------------------------+
|  [KỸ THƯƠNG & LẬP TRÌNH]- Nắm bắt trọn vẹn kiến trúc nhúng ESP8266      |
|                         - Mô hình chuẩn giao tiếp Client-Server Node.js |
+-------------------------------------------------------------------------+
|  [SINH VIÊN ĐIỆN TỬ]    - Tài liệu tham khảo toàn diện thiết kế mạch AC |
|                         - Phương pháp tích hợp Web/IoT thực tế          |
+-------------------------------------------------------------------------+
  • Chủ doanh nghiệp & Quản lý chuỗi: Nắm bắt tức thời trạng thái của toàn bộ mạng lưới thiết bị, tối ưu hóa năng suất làm việc của nhân viên bảo dưỡng, ngăn chặn thất thoát tài sản trị giá hàng trăm triệu đồng.
  • Kỹ sư nhúng và Lập trình viên: Cung cấp mẫu thiết kế (Design Pattern) hoàn chỉnh cho các bài toán giám sát thiết bị công nghiệp phân tán sử dụng vi điều khiển giá rẻ kết hợp công nghệ Web hiện đại.
  • Sinh viên ngành Kỹ thuật Điện tử - Viễn thông: Là tài liệu tham khảo thực tiễn chuẩn mực từ khâu tính toán mạch phần cứng, cách ly quang an toàn $220\text{V AC}$ đến xây dựng hệ thống phần mềm hoàn chỉnh.

Câu hỏi thường gặp (FAQ)

1. Yêu cầu kỹ thuật tối thiểu tại điểm đặt tủ kem để hệ thống hoạt động là gì?

Điểm đặt tủ kem cần có nguồn điện lưới $220\text{V AC}$ cấp cho tủ và vùng phủ sóng Wi-Fi $2.4\text{GHz}$ (chuẩn $802.11\text{b/g/n}$) có kết nối Internet. Mạch IoT tiêu thụ công suất cực thấp ($< 1\text{W}$) nên không ảnh hưởng đến hệ thống điện của cửa hàng.

2. Nếu điểm bán đổi mật khẩu Wi-Fi thì hệ thống xử lý như thế nào?

Khi mất kết nối Wi-Fi quá $60$ giây, ESP8266 sẽ tự động chuyển sang chế độ phát sóng nội bộ (SoftAP) với tên Wi-Fi mặc định. Nhân viên giám sát khi đến kiểm tra chỉ cần dùng điện thoại kết nối vào mạng này, mở trình duyệt web để cập nhật mật khẩu Wi-Fi mới mà không cần tháo hộp mạch.

3. Làm thế nào hệ thống ngăn chặn nhân viên dùng phần mềm Fake IP / Fake GPS để điểm danh từ xa?

Thuật toán điểm danh kiểm tra địa chỉ IP Gateway công cộng (Public WAN IP) mà thiết bị và điện thoại nhân viên sử dụng để gửi request về server. Do IP WAN do nhà mạng (ISP) cấp trực tiếp cho Router tại điểm bán, nhân viên ở vị trí khác dù dùng mạng 4G hay Wi-Fi khác sẽ luôn có IP WAN khác biệt, do đó hệ thống sẽ từ chối Check-in $100%$.

4. Hệ thống Web Server Node.js có đáp ứng được khi mở rộng lên $10.000$ tủ không?

Hoàn toàn đáp ứng được. Node.js hoạt động theo mô hình bất đồng bộ (Non-blocking I/O Event Loop) rất mạnh trong việc xử lý đồng thời hàng chục nghìn kết nối viễn trắc nhẹ qua giao thức HTTP/Websocket. Khi mở rộng vượt mức $10.000$ thiết bị, hệ thống có thể dễ dàng phân tán tải thông qua Nginx Reverse Proxy và Docker Clustering.

5. Chi phí bảo trì phần cứng định kỳ cho bo mạch IoT là bao nhiêu?

Nhờ thiết kế mạch ở trạng thái rắn (Solid-state electronics) sử dụng Optocoupler quang và không có chi tiết chuyển động cơ khí hay rơ-le đánh lửa tiếp điểm, tuổi thọ bo mạch đạt trên $5$ năm mà không cần bất kỳ hoạt động bảo trì phần cứng định kỳ nào.


Kết luận

Đồ án tốt nghiệp "Hệ thống điều khiển và giám sát tủ kem" của sinh viên Nguyễn Thanh An (Khoa Điện tử - Truyền thông, Viện Kỹ thuật HUTECH, dưới sự hướng dẫn của TS. Võ Đình Tùng) đã giải quyết trọn vẹn và triệt để bài toán quản lý chuỗi thiết bị phân tán trong ngành FMCG. Bằng sự kết hợp thông minh giữa phần cứng nhúng tối ưu chi phí (ESP8266 + Opto PC817 cách ly an toàn $220\text{V}$) và nền tảng máy chủ Web Node.js tập trung, đề tài không chỉ đạt được các tiêu chuẩn khắt khe về mặt kỹ thuật mà còn mang lại giá trị kinh tế trực tiếp, loại bỏ hoàn toàn gian lận bảo trì và bảo vệ tài sản doanh nghiệp. Đây là mô hình tiêu biểu có tính khả thi ứng dụng thực tiễn cao, sẵn sàng chuyển giao và nhân rộng quy mô công nghiệp trong thời đại chuyển đổi số IoT.