Giới thiệu dự án

Mạng cảm biến không dây (Wireless Sensor Network - WSN) đang khẳng định vị thế là nền tảng cốt lõi trong kỷ nguyên Internet of Things (IoT), tự động hóa công nghiệp và quan trắc môi trường thông minh. Theo các báo cáo viễn thông quốc tế, hơn 70% các giải pháp quan trắc diện rộng hiện nay dựa trên hạ tầng mạng ad-hoc phân tán nhờ khả năng triển khai linh hoạt và chi phí thấp. Tuy nhiên, các nút cảm biến (sensor nodes) thường phải vận hành tại những địa hình khắc nghiệt với nguồn tài nguyên phần cứng cực kỳ hạn chế: dung lượng pin giới hạn (thường dưới 0.5 Ah, điện áp 1.2–3.6V), bộ nhớ hạn chế và năng lực xử lý thấp.

+-----------------------------------------------------------------------+
|                           CẤU TẠO NÚT CẢM BIẾN                        |
|  +--------------------+  +--------------------+  +-----------------+  |
|  | Sensing Unit       |  | Processing Unit    |  | Transceiver     |  |
|  | (Sensors + ADC)    |->| (Microcontroller + |->| (RF Transceiver |  |
|  |                    |  |  Internal Storage) |  |  IEEE 802.15.4) |  |
|  +--------------------+  +--------------------+  +-----------------+  |
|            ^                        ^                     ^           |
|            +------------------------+---------------------+           |
|                                     |                                 |
|                          +--------------------+                       |
|                          | Power Unit (Pin /  |                       |
|                          | Năng lượng MT)     |                       |
|                          +--------------------+                       |
+-----------------------------------------------------------------------+

Vấn đề thực tiễn và bài toán kỹ thuật

  1. Suy hao năng lượng mất cân bằng: Trong liên lạc đa bước nhảy (multi-hop), các nút trung gian gần trạm gốc (Sink/Base Station) phải gánh lưu lượng chuyển tiếp lớn, dẫn đến hiện tượng cạn kiệt năng lượng sớm ("energy hole problem"), làm tê liệt toàn bộ mạng dù các nút ngoại vi vẫn còn pin.
  2. Độ lệch đồng hồ (Clock Drift): Bộ dao động thạch anh giá rẻ trên các nút cảm biến có độ lệch ngẫu nhiên khoảng $20\text{ ppm}$ ($20\times 10^{-6}$), làm mất đồng bộ thời gian giữa các nút sau mỗi chu kỳ ngắn ($\approx 50\text{ s}$ đối với yêu cầu độ chính xác $1\text{ s}$), gây sai lệch dữ liệu cảm biến và lỗi trong cơ chế ngủ/thức (Sleep/Wake-up scheduling).
  3. Mào đầu định tuyến lớn: Các giao thức định tuyến truyền thống tạo ra lượng gói tin điều khiển (overhead) vượt mức chịu đựng của băng thông mạng WPAN công suất thấp.

Mục tiêu dự án

  1. Nghiên cứu toàn diện kiến trúc phân tầng, các giao thức đồng bộ thời gian (LTS, RBS) và cơ chế định vị trong WSN.
  2. Phân tích chuyên sâu chuẩn kết nối công suất thấp IEEE 802.15.4 / ZigBee và các thuật toán định tuyến Mesh (AODV, Tree Routing).
  3. Xây dựng mô hình tính toán tối ưu hóa định tuyến đa tiêu chí kết hợp giữa số bước nhảy (Hop Count), tổn thất đường truyền (Path Loss) và năng lượng còn lại (Residual Energy).
  4. Thiết kế phần mềm mô phỏng thuật toán định tuyến trên nền tảng Visual C++ và trực quan hóa hiệu năng mạng trên MATLAB với quy mô từ 10 đến 70 nút.

Phương pháp tiếp cận và phạm vi nghiên cứu

  • Phương pháp tiếp cận: Sử dụng chuẩn IEEE 802.15.4 ở tầng PHY và MAC kết hợp giao thức mạng ZigBee trên cấu trúc mạng lưới (Mesh Topology). Áp dụng mô hình định tuyến lai kết hợp thuật toán véc-tơ khoảng cách theo yêu cầu (AODV) cải tiến với các chỉ số chất lượng đường truyền (LQI) và năng lượng dư thừa.
  • Phạm vi và giới hạn: Tập trung vào các mạng cảm biến cỡ nhỏ đến trung bình (bán kính hoạt động nút từ 10m đến 75m, băng tần $2.4\text{ GHz}$ ISM), mô phỏng truyền gói tin dữ liệu trên các nút tĩnh hoặc có độ di động thấp.

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

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

Các công nghệ kết nối không dây tầm ngắn hiện nay được tối ưu hóa cho những bài toán khác nhau:

Tiêu chí IEEE 802.15.4 / ZigBee IEEE 802.15.1 (Bluetooth) IEEE 802.11b/g (Wi-Fi)
Băng thông $250\text{ kbps}$ (tại $2.4\text{ GHz}$) $1\text{ Mbps}$ $11 - 54\text{ Mbps}$
Công suất tiêu thụ Cực thấp ($\approx 15 - 30\text{ mA}$ khi Tx/Rx) Thấp ($\approx 40\text{ mA}$) Cao ($100 - 350\text{ mA}$)
Thời lượng pin 6 tháng – 2 năm (2 pin AA) Vài ngày – vài tuần Vài giờ – vài ngày
Thời gian gia nhập mạng $\approx 15 - 30\text{ ms}$ $\approx 3\text{ s}$ $\approx 3 - 5\text{ s}$
Số nút tối đa Lên đến 65.535 nút (lý thuyết) / 254 nút 8 nút (Piconet) 32 - 250 nút
Cấu trúc mạng (Topology) Sao (Star), Lưới (Mesh), Cây (Cluster-Tree) Sao, Phân tán (Scatternet) Điểm - Đa điểm (Star / Infrastructure)
      +-------------------------------------------------------------+
      |              CÁC DẠNG CẤU TRÚC MẠNG ZIGBEE                  |
      |                                                             |
      |     (STAR)                (MESH)             (CLUSTER-TREE) |
      |       (*)                  (*)                     (*)      |
      |     /  |  \               / | \                   /   \     |
      |   (o) (o) (o)           (o)-(o)-(o)             (o)   (o)   |
      |                        / |   | \               /  \   /  \  |
      |                      (o)-(o)-(o)-(o)         (.) (.) (.) (.)|
      |                                                             |
      |   (*) PAN Coordinator    (o) Router (FFD)    (.) End Device |
      +-------------------------------------------------------------+

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must have: Hỗ trợ cấu hình thiết bị đầy đủ chức năng (FFD - Full Function Device) và thiết bị chức năng rút gọn (RFD - Reduced Function Device); cơ chế định tuyến Mesh tự phục hồi qua AODV; cơ chế truyền nhận khung tin PPDU/MPDU chuẩn IEEE 802.15.4.
  • Should have: Tối ưu hóa năng lượng nút qua chu kỳ ngủ/thức (Sleep/Wake-up); tích hợp thuật toán định vị không phụ thuộc GPS đắt đỏ (RSSI, Triangulation).
  • Could have: Hỗ trợ phân cụm động tương tự giao thức LEACH/PEGASIS trong topo mạng mở rộng.
  • Won't have: Hỗ trợ truyền phát đa phương tiện (Video/Audio streaming thời gian thực) do giới hạn băng thông $250\text{ kbps}$.

Thiết kế hệ thống

Kiến trúc phân tầng của mạng ZigBee/IEEE 802.15.4 được tổ chức theo 4 tầng chính:

+---------------------------------------------------------------+
| APPLICATION LAYER (APL): Profiles, End Device Applications    |
+---------------------------------------------------------------+
| NETWORK LAYER (NWK): Routing (AODV, Tree), Security, Join/Leave|
+---------------------------------------------------------------+
| MAC LAYER (IEEE 802.15.4): CSMA/CA, Beacon, Superframe Control|
+---------------------------------------------------------------+
| PHY LAYER (IEEE 802.15.4): 2.4 GHz O-QPSK / 868-915 MHz BPSK  |
+---------------------------------------------------------------+

Thông số tầng Vật lý (PHY Layer)

  • Băng tần $2.4\text{ GHz}$ (Toàn cầu): 16 kênh truyền (kênh 11 đến 26), khoảng cách kênh $5\text{ MHz}$, tốc độ chip $2\text{ Mchips/s}$, kỹ thuật điều chế O-QPSK (Offset Quadrature Phase Shift Keying), tốc độ dữ liệu $250\text{ kbps}$.
  • Cơ chế trải phổ: Trực tiếp DSSS (Direct Sequence Spread Spectrum) với chuỗi mã 32-chip giả ngẫu nhiên ánh xạ từ mỗi cụm 4-bit nhị phân, nâng cao khả năng chống nhiễu và cùng tồn tại với Wi-Fi/Bluetooth.

Định dạng khung tin truyền dẫn

Khung truyền tầng vật lý (PPDU) bao gồm:

  • SHR (Synchronization Header): Preamble (4 Bytes) + SFD (1 Byte).
  • PHR (PHY Header): Frame Length (7 bits) + Dự trữ (1 bit).
  • PSDU (PHY Service Data Unit): Chứa khung dữ liệu MAC (tối đa 127 Bytes).

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 nghiên cứu hệ thống lặp từng bước (Iterative Engineering & Simulation Workflow) kéo dài trong 4 tháng:

[Khảo sát lý thuyết] -> [Mô hình hóa toán học] -> [Lập trình lõi C++] -> [Mô phỏng & Đánh giá MATLAB]
  • Đánh giá rủi ro và giải pháp khắc phục:
    • Rủi ro xung đột gói tin: Sử dụng cơ chế CSMA/CA không rãnh (unslotted) hoặc có rãnh (slotted) kết hợp khoảng thời gian bảo vệ (GTS).
    • Rủi ro lệch nhịp đồng hồ: Tích hợp thuật toán đồng bộ thời gian nhẹ LTS (Lightweight Time Synchronization).

Implementation và kết quả

Quá trình phát triển và thuật toán cốt lõi

1. Thuật toán đồng bộ thời gian hai chiều LTS (Two-Way Synchronization)

Thời gian đồng bộ giữa nút yêu cầu $i$ và nút mốc $j$ được tính toán dựa trên 4 nhãn thời gian qua công thức:

$$L_i(t_5) = \frac{[L_i(t_1) + \tau + t_p] + [L_i(t_8) - \tau - t_p - (L_j(t_6) - L_j(t_5))]}{2}$$

Trong đó $\tau$ là trễ truyền dẫn sóng vô tuyến, $t_p$ là thời gian phát gói tin trên kênh truyền. Độ lệch đồng hồ $O = L_i(t_1) - L_j(t_1)$ được ước lượng chính xác để hiệu chỉnh thời gian cục bộ.

2. Thuật toán định tuyến đa tiêu chí trong mạng Mesh

Thuật toán lựa chọn tuyến đường không chỉ dựa trên số bước nhảy cực tiểu ($\text{Min Hop Count}$) mà còn tích hợp hàm trọng số năng lượng và độ suy hao đường truyền:

$$Cost(Path) = w_1 \cdot \sum_{k=1}^{H} Hop_k + w_2 \cdot \sum_{k=1}^{H} PathLoss(k, k+1) + w_3 \cdot \sum_{k=1}^{H} \frac{1}{E_{residual}(k)}$$

// Cấu trúc bảng định tuyến và thuật toán lựa chọn tuyến tối ưu
#include <iostream>
#include <vector>
#include <cmath>

struct RouteEntry {
    int destAddress;
    int nextHop;
    int hopCount;
    double pathLoss_dB;
    double residualEnergy_mAh;
    double totalCost;
};

class MeshRouter {
private:
    double w1 = 0.3; // Trọng số số bước nhảy
    double w2 = 0.3; // Trọng số tổn hao kênh truyền
    double w3 = 0.4; // Trọng số năng lượng còn lại

public:
    double calculateCost(int hopCount, double pathLoss, double energy) {
        if (energy <= 0.05) return 1e9; // Loại bỏ nút sắp cạn pin
        return (w1 * hopCount) + (w2 * (pathLoss / 100.0)) + (w3 * (1.0 / energy));
    }

    RouteEntry selectBestRoute(const std::vector<RouteEntry>& routes) {
        RouteEntry bestRoute = routes[0];
        double minCost = 1e9;

        for (const auto& r : routes) {
            double currentCost = calculateCost(r.hopCount, r.pathLoss_dB, r.residualEnergy_mAh);
            if (currentCost < minCost) {
                minCost = currentCost;
                bestRoute = r;
                bestRoute.totalCost = currentCost;
            }
        }
        return bestRoute;
    }
};

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

Hệ thống được thiết lập mô phỏng trên nền tảng kết hợp Visual C++ (xử lý logic giao thức và trạng thái nút) và MATLAB (mô phỏng không gian topo, suy hao tín hiệu log-distance path loss model và trực quan hóa).

+-------------------------------------------------------------------------+
|                  KỊCH BẢN MÔ PHỎNG VÀ ĐÁNH GIÁ MẠNG                     |
|                                                                         |
|   1. Thiết lập 10 nút (Mạng nhỏ)   -> Đánh giá độ trễ và số chặng       |
|   2. Thiết lập 20 nút (Mạng TB)    -> Khảo sát cân bằng tải năng lượng  |
|   3. Thiết lập 70 nút (Mạng lớn)   -> Đánh giá khả năng tự phục hồi     |
+-------------------------------------------------------------------------+

Kết quả mô phỏng định tuyến trên các kịch bản mạng

Số lượng nút mạng Phương pháp định tuyến Tỷ lệ phân phát gói (PDR) Số chặng TB (Hop Count) Độ suy hao năng lượng TB/nút Tuổi thọ mạng (Vòng đời)
10 nút Hop Count thuần túy $98.2%$ $2.1$ $0.42\text{ mJ/pkt}$ $100%$ (Chuẩn)
Tối ưu hóa Path Loss $99.1%$ $2.4$ $0.36\text{ mJ/pkt}$ $+18%$
Tối ưu hóa Năng lượng $99.0%$ $2.3$ $0.33\text{ mJ/pkt}$ $+27%$
20 nút Hop Count thuần túy $94.5%$ $3.5$ $0.68\text{ mJ/pkt}$ $100%$ (Chuẩn)
Tối ưu hóa Path Loss $96.8%$ $3.9$ $0.54\text{ mJ/pkt}$ $+24%$
Tối ưu hóa Năng lượng $97.2%$ $3.8$ $0.48\text{ mJ/pkt}$ $+36%$
70 nút Hop Count thuần túy $86.3%$ $6.2$ $1.25\text{ mJ/pkt}$ $100%$ (Chuẩn)
Tối ưu hóa Path Loss $91.5%$ $6.9$ $0.92\text{ mJ/pkt}$ $+29%$
Tối ưu hóa Năng lượng $93.8%$ $6.7$ $0.76\text{ mJ/pkt}$ $+42%$

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

  1. Thuật toán định tuyến nhận biết năng lượng (Energy-Aware Mesh Routing): Khắc phục triệt để nhược điểm của giao thức AODV tiêu chuẩn (chỉ tìm đường ngắn nhất theo bước nhảy). Bằng cách đưa thêm trọng số $E_{residual}$ vào hàm chi phí, thuật toán giúp phân phối tải đồng đều, kéo dài tuổi thọ toàn mạng lên đến $42%$ trong cấu hình 70 nút.
  2. Cơ chế đồng bộ hóa lai kết hợp: Tích hợp ưu điểm của LTS (giảm trễ đa chặng) và RBS (loại bỏ độ bất định thời gian phía phát), giúp giữ sai số đồng bộ thời gian dưới $1.5\text{ ms}$ trên toàn mạng mà không cần bổ sung mô-đun GPS đắt tiền.
  3. Mô hình hóa phần cứng thực tế: Đóng gói thư viện tính toán thông số kênh truyền phù hợp với đặc tính kỹ thuật của các dòng mô-đun công nghiệp như Digi XBee và XBee-PRO OEM ($2.4\text{ GHz}$, công suất phát $1\text{ mW}$ đến $63\text{ mW}$).

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

+------------------------------------------------------------------------+
|                      MÔ HÌNH TRIỂN KHAI THỰC TẾ                        |
|                                                                        |
|  [Vườn cây / Rừng]       [Khu vực trung gian]         [Trung tâm]     |
|   (Sensor Node 1)\                                                     |
|   (Sensor Node 2)---> (Router Node XBee) ---> (PAN Coordinator)        |
|   (Sensor Node 3)/                                     |               |
|                                                  [Gateway RS232/USB]   |
|                                                        |               |
|                                                  [Máy chủ Giám sát]    |
+------------------------------------------------------------------------+

Các kịch bản ứng dụng tiêu biểu

  • Nông nghiệp công nghệ cao & Giám sát rừng: Bố trí các nút cảm biến đo độ ẩm đất, nhiệt độ, phát hiện sớm nguy cơ cháy rừng. Các nút tự động liên kết thành mạng Mesh trải rộng hàng kilomet mà không cần kéo dây điện.
  • Giám sát bệnh nhân trong bệnh viện: Gắn các nút cảm biến siêu nhỏ (đo nhịp tim, huyết áp) lên người bệnh nhân, cho phép truyền dữ liệu liên tục về trạm y tá với thời gian trễ dưới $50\text{ ms}$.
  • Tự động hóa tòa nhà (Smart Building): Thu thập dữ liệu nhiệt độ, ánh sáng, cảm biến chuyển động để điều khiển tự động hệ thống điều hòa HVAC và chiếu sáng, giảm $30%$ chi phí năng lượng tiêu thụ.

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

  • Hạn chế kỹ thuật:
    • Mô phỏng tập trung trên mạng tĩnh, chưa đánh giá sâu kịch bản các nút di động với vận tốc cao ($> 15\text{ km/h}$).
    • Chưa tích hợp cơ chế mã hóa khóa đối xứng nâng cao AES-128 ở tầng bảo mật để đánh giá chính xác độ trễ do xử lý mã hóa.
  • Hướng phát triển tương lai:
    • Triển khai thuật toán trên phần cứng nhúng thực tế (kit phát triển vi điều khiển ARM Cortex-M kết hợp chip RF CC2530/CC2652).
    • Tích hợp giao thức 6LoWPAN cho phép định danh IPv6 trực tiếp tới từng nút cảm biến, mở đường kết nối điện toán đám mây (Cloud Server).

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

+--------------------------------------------------------------------------+
| Sinh viên & Học viên     : Tiếp cận tài liệu chuẩn về WPAN & WSN         |
| Kỹ sư Nhúng & IoT        : Áp dụng mã nguồn thuật toán định tuyến Mesh   |
| Doanh nghiệp Sản xuất    : Giảm 40% chi phí bảo trì thay pin thiết bị    |
| Nhà nghiên cứu Viễn thông: Nền tảng mở rộng cho các bài toán phân cụm WSN|
+--------------------------------------------------------------------------+

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

1. Yêu cầu phần cứng tối thiểu để triển khai một nút mạng WSN ZigBee là gì?

Mỗi nút cảm biến cơ bản chỉ cần một vi điều khiển 8-bit hoặc 32-bit (như Atmega328P, STM32), bộ thu phát RF tương thích chuẩn IEEE 802.15.4 (như XBee S2C, CC2530), mạch cảm biến chuyên dụng (nhiệt độ, áp suất) và nguồn cấp pin $3.3\text{V}$.

2. Sự khác biệt cốt lõi giữa nút FFD và RFD là gì?

  • FFD (Full-Function Device): Có khả năng đóng vai trò làm PAN Coordinator hoặc Router, tham gia định tuyến và chuyển tiếp dữ liệu cho các nút khác, đòi hỏi bộ nhớ và nguồn điện lớn hơn.
  • RFD (Reduced-Function Device): Chỉ đóng vai trò làm nút đầu cuối (End Device), chỉ giao tiếp với một Router duy nhất và có thể chuyển sang chế độ ngủ sâu (Deep Sleep) để tiết kiệm năng lượng tối đa.

3. Tại sao không sử dụng GPS để xác định vị trí của tất cả các nút trong mạng cảm biến?

GPS tiêu thụ năng lượng rất lớn, giá thành mô-đun cao và hoàn toàn mất tín hiệu trong môi trường kín như trong nhà, hầm mỏ hoặc dưới tán rừng dày. Do đó, các kỹ thuật định vị tương đối như RSSI, TOA, TDOA là giải pháp tối ưu hơn cho WSN.

4. Mạng ZigBee Mesh tự phục hồi (Self-Healing) khi một nút bị chết như thế nào?

Khi một nút trung gian hết pin hoặc gặp sự cố, bảng định tuyến AODV tại các nút lân cận sẽ nhận diện mất kết nối (Link Broken) sau một số lần thử lại không thành công. Nút phát sẽ tự động khởi tạo gói tin tìm đường mới (RREQ) để khám phá tuyến thay thế vòng qua các nút còn hoạt động.

5. Làm sao để nâng cao khoảng cách truyền của mạng ngoài phạm vi 75 mét?

Bằng cách kích hoạt chế độ mạng lưới (Mesh), các nút đóng vai trò Router sẽ tiếp sức truyền dữ liệu qua nhiều bước nhảy (Multi-hop), giúp mở rộng tầm phủ sóng toàn mạng lên đến hàng nghìn mét mà không cần tăng công suất phát của từng nút đơn lẻ.


Kết luận

Đồ án đã nghiên cứu và giải quyết bài toán tối ưu hóa mạng cảm biến không dây cỡ nhỏ dựa trên nền tảng chuẩn kết nối IEEE 802.15.4 / ZigBee. Thông qua việc phân tích chuyên sâu các giao thức đồng bộ thời gian, cơ chế định vị và thuật toán định tuyến Mesh đa tiêu chí (Hop Count, Path Loss, Residual Energy), công trình đã chứng minh tính hiệu quả vượt trội trong việc tiết kiệm năng lượng và kéo dài tuổi thọ mạng. Kết quả mô phỏng trên Visual C++ và MATLAB cung cấp nguồn tư liệu học thuật và kỹ thuật thực chứng vững chắc, sẵn sàng để ứng dụng vào các hệ thống IoT công nghiệp, nông nghiệp thông minh và quan trắc môi trường thực tế.