Giới thiệu dự án

Bối cảnh và tính cấp thiết

Theo các báo cáo từ Liên Hợp Quốc và Tổ chức Y tế Thế giới (WHO), hơn 55% dân số toàn cầu hiện đang sinh sống tại các đô thị, và tỷ lệ này dự kiến sẽ tăng lên 68% vào năm 2050. Quá trình đô thị hóa nhanh chóng tạo ra áp lực nặng nề lên hạ tầng và môi trường sống: mật độ khí thải ($CO_2, CO, NH_3$), bụi mịn gia tăng, cùng với hiện tượng đảo nhiệt đô thị (Urban Heat Island). Trước thách thức đó, việc xây dựng đô thị thông minh (Smart City) thông qua việc triển khai mạng cảm biến không dây (Wireless Sensor Network - WSN) trở thành giải pháp cốt lõi để giám sát, thu thập và phân tích dữ liệu vi khí hậu theo thời gian thực.

       [ Node 1: Sensor Station ] --- (2.4 GHz RF) ---+
       [ Node 2: Sensor Station ] --- (2.4 GHz RF) ---|---> [ Node Gateway/Master ] ---> [ TFT Display GUI ]
       [ Node 3: Sensor Station ] --- (2.4 GHz RF) ---+        (Arduino Mega 2560)       (Trung tâm điều khiển)

Vấn đề kỹ thuật đặt ra (Problem Statement)

Các hệ thống quan trắc truyền thống sử dụng trạm cố định cồng kềnh, chi phí đầu tư hàng trăm triệu đồng, hoặc phụ thuộc vào kết nối mạng di động (GPRS/3G) và Wi-Fi vốn có nhược điểm tiêu thụ năng lượng cao, chi phí duy trì SIM hàng tháng đắt đỏ, và vùng phủ sóng hạn chế tại các điểm mù đô thị. Do đó, bài toán đặt ra là:

  • Thiết kế hệ thống thu thập dữ liệu môi trường (Nhiệt độ, Độ ẩm, Chỉ số chất lượng không khí) đa điểm với giá thành thấp (< 50 USD/node).
  • Đảm bảo khả năng truyền nhận dữ liệu vô tuyến ổn định tại băng tần 2.4 GHz ISM, chống nghẽn gói tin và giảm thiểu tỷ lệ mất mát dữ liệu ($Packet\ Loss\ Rate < 2%$).
  • Tối ưu hóa năng lượng tiêu thụ tại các nút biên (Sensor Nodes) để kéo dài thời lượng hoạt động của pin nguồn độc lập.

Mục tiêu dự án

  1. Thiết kế phần cứng nút cảm biến (Sensor Nodes): Tích hợp vi điều khiển ATmega328P (Arduino Uno R3) với cảm biến nhiệt độ/độ ẩm DHT11, cảm biến khí độc MQ-135 và khối vô tuyến nRF24L01/nRF24L01+PA+LNA.
  2. Thiết kế trạm thu thập trung tâm (Master Gateway): Tích hợp vi điều khiển ATmega2560 (Arduino Mega 2560), màn hình cảm ứng TFT 3.2 inch (UTFT_320QVT_9341 Shield), đồng hồ thời gian thực RTC DS1307 để hiển thị trực quan và lưu trữ dữ liệu.
  3. Tối ưu giao thức truyền dữ liệu: Áp dụng lớp liên kết dữ liệu Enhanced ShockBurst™ của nRF24L01 với tính năng Tự động thừa nhận (Auto-ACK), Tự động truyền lại (Auto-Retransmission - ART), gán tải trọng động (Dynamic Payload Length - DPL) và phân chia 6 luồng dữ liệu (Data Pipes).
  4. Kiểm định và đánh giá hiệu năng: Đo kiểm tầm xa truyền nhận trong nhà và ngoài trời, đo độ trễ truyền gói tin, đo dòng tiêu thụ qua các chế độ hoạt động (Standby-I, Standby-II, TX, RX).

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

  • Phạm vi: Triển khai mô hình mạng phân tầng hình sao (Star Topology) và cụm phân tán gồm 1 Node Master và 4 Node cảm biến tại các khu vực đô thị thử nghiệm (Thủ Đức, Quận 9, Gò Vấp).
  • Giới hạn: Cảm biến DHT11 có độ chính xác ở mức phổ thông ($\pm 2^\circ\text{C}, \pm 5%\text{RH}$); các node trung gian khi chuyển tiếp dữ liệu qua EEPROM có thể phát sinh độ trễ nếu node biên mất kết nối đột ngột.

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

Phân tích hiện trạng và so sánh công nghệ

Tiêu chí Wi-Fi (ESP8266/ESP32) ZigBee (IEEE 802.15.4) LoRaWAN (SX1278) WSN nRF24L01+ (Đề tài)
Băng tần 2.4 GHz 2.4 GHz / 868 MHz 433 / 868 / 915 MHz 2.400 - 2.525 GHz
Tốc độ truyền (Data Rate) 11 - 54 Mbps 250 kbps 0.3 - 50 kbps 1 Mbps / 2 Mbps
Dòng tiêu thụ TX (Peak) 120 - 170 mA 25 - 35 mA 20 - 120 mA 11.3 mA (0 dBm output)
Dòng tiêu thụ Standby-I ~15 mA ~1 - 3 $\mu$A ~1.5 $\mu$A 26 $\mu$A
Bán kính phủ sóng (LOS) 50 - 100 m 50 - 150 m 2 - 10 km 100 m (PCB) / 1000 m (PA+LNA)
Chi phí phần cứng/Node $3.5 - 5.0 $8.0 - 15.0 $10.0 - 20.0 $1.5 - 3.0
Khả năng tự quản lý gói TCP/IP Stack phức tạp Network Layer Stack nặng Cần LoRa Gateway đắt Enhanced ShockBurst™ phần cứng

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

  • Must-Have (Bắt buộc): Đo chính xác nhiệt độ ($0-50^\circ\text{C}$), độ ẩm ($20-90%\text{RH}$), nồng độ khí MQ-135; truyền nhận dữ liệu qua giao tiếp SPI với nRF24L01; cơ chế Auto-ACK và Auto-Retransmit trên tầng phần cứng; hiển thị giao diện đồ họa cảm ứng TFT.
  • Should-Have (Nên có): Đồng bộ thời gian thực qua I2C với IC RTC DS1307; cảnh báo màu sắc khi chất lượng không khí vượt ngưỡng an toàn; chuyển đổi chế độ Standby để tiết kiệm năng lượng.
  • Could-Have (Có thể mở rộng): Lưu trữ log dữ liệu vào thẻ nhớ SD Card; tích hợp module còi chip buzzer cảnh báo tức thời.
  • Won't-Have (Chưa triển khai): Định tuyến động đa chặng phức tạp (Multi-hop Mesh Routing - RPL/AODV) và kết nối truyền trực tiếp lên dịch vụ Cloud qua mạng 4G/LTE.

Kiến trúc phần cứng và sơ đồ kết nối

+-----------------------------------------------------------------------------------+
|                              SENSOR NODE (PTX)                                    |
|  +------------------+       +---------------------+       +--------------------+  |
|  | DHT11 Sensor     |------>| Arduino Uno R3      |<----->| nRF24L01 (2.4GHz)  |  |
|  | (1-Wire Pin D2)  |       | (MCU ATmega328P)    | (SPI) | (CE: D9, CSN: D10) |  |
|  +------------------+       | 16MHz, 2KB SRAM     |       +--------------------+  |
|  +------------------+       |                     |                               |
|  | MQ-135 Gas Sensor|------>| Analog Pin A0       |                               |
|  +------------------+       +---------------------+                               |
+-----------------------------------------------------------------------------------+
                                         |
                            (2.4 GHz RF Link - Enhanced ShockBurst)
                                         v
+-----------------------------------------------------------------------------------+
|                             GATEWAY / MASTER (PRX)                                |
|  +--------------------+       +---------------------+       +------------------+  |
|  | nRF24L01 + PA + LNA|<----->| Arduino Mega 2560   |<----->| 3.2" TFT LCD     |  |
|  | (CE: D48, CSN: D49)| (SPI) | (MCU ATmega2560)    | (8-bit| (UTFT_320QVT)    |  |
|  +--------------------+       | 16MHz, 8KB SRAM     | Par.) | Resolution320x240|  |
|                               +---------------------+       +------------------+  |
|                                          ^                                        |
|                                          | (I2C: SDA/SCL)                         |
|                               +---------------------+                             |
|                               | DS1307 RTC Module   |                             |
|                               +---------------------+                             |
+-----------------------------------------------------------------------------------+

Cấu trúc gói tin Enhanced ShockBurst™

Gói dữ liệu vật lý truyền qua không khí của nRF24L01 gồm 5 trường chuẩn:

$$\text{Packet Format} = \underbrace{\text{Preamble}}{\text{1 Byte}} + \underbrace{\text{Address Field}}{\text{3-5 Bytes}} + \underbrace{\text{Packet Control Field}}{\text{9 Bits}} + \underbrace{\text{Payload}}{\text{0-32 Bytes}} + \underbrace{\text{CRC Field}}_{\text{1-2 Bytes}}$$

  • Preamble (1 Byte): Chuỗi 01010101 hoặc 10101010 dùng để đồng bộ xung nhịp bên nhận.
  • Address Field (3 - 5 Bytes): Địa chỉ định danh thiết bị nhận (cấu hình 5 bytes: ví dụ 0xB3B4B5B605).
  • Packet Control Field (9 Bits):
    • Payload Length (6 bits): Định dạng độ dài dữ liệu từ $0$ đến $32$ bytes.
    • PID - Packet Identity (2 bits): Đếm chỉ số gói tin ($00_2 \rightarrow 11_2$) nhằm phân biệt gói tin mới với gói tin truyền lại.
    • NO_ACK Flag (1 bit): Bật cờ không yêu cầu phản hồi ACK khi truyền quảng bá.
  • Payload (0 - 32 Bytes): Chứa các giá trị số đo $T\ (^\circ\text{C}), H\ (%\text{RH}), AQI\ (\text{ppm}), Node_ID$.
  • CRC (1 - 2 Bytes): Kiểm tra mã dư tuần hoàn theo đa thức chuẩn: $$G(X) = X^{16} + X^{12} + X^5 + 1 \quad (\text{CRC-16 bit, khởi tạo } 0\text{xFFFF})$$

Implementation và kết quả

Thuật toán và cấu hình thanh ghi truyền nhận SPI

Giao tiếp giữa vi điều khiển ATmega và nRF24L01 thực hiện qua chuẩn SPI tốc độ 8 Mbps với các chân chuẩn: SCK, MOSI, MISO, CSN (Chip Select Not) và CE (Chip Enable).

// Cấu hình truyền nhận RF24 cho Sensor Node (PTX)
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <dht.h>

#define CE_PIN   9
#define CSN_PIN 10
#define DHT11_PIN 2
#define MQ135_PIN A0

RF24 radio(CE_PIN, CSN_PIN);
dht DHT;

const uint64_t nodeAddress = 0xB3B4B5B605LL; // Pipe 5 Address

struct SensorData {
  uint8_t nodeID;
  float temperature;
  float humidity;
  int airQuality;
} telemetry;

void setup() {
  Serial.begin(9600);
  radio.begin();
  
  // Cấu hình thanh ghi RF_SETUP: 2Mbps, 0dBm power
  radio.setDataRate(RF24_2MBPS);
  radio.setPALevel(RF24_PA_MAX);
  radio.setChannel(76); // 2.476 GHz (Tránh trùng tần số Wi-Fi kênh 1, 6, 11)
  
  // Cấu hình thanh ghi SETUP_RETR: ARD = 500us (0001b), ARC = 15 lần (1111b)
  radio.setRetries(1, 15); 
  
  // Kích hoạt tính năng Dynamic Payload Length và Auto-ACK
  radio.enableDynamicPayloads();
  radio.setAutoAck(true);
  
  radio.openWritingPipe(nodeAddress);
  radio.stopListening(); // Thiết lập chế độ PTX (Primary Transmitter)
}

void loop() {
  int chk = DHT.read11(DHT11_PIN);
  telemetry.nodeID = 1;
  telemetry.temperature = DHT.temperature;
  telemetry.humidity = DHT.humidity;
  telemetry.airQuality = analogRead(MQ135_PIN);

  // Truyền gói tin và tự động nhận ACK phản hồi
  bool success = radio.write(&telemetry, sizeof(telemetry));
  
  if (success) {
    Serial.println(F("Payload transmitted successfully. ACK received."));
  } else {
    Serial.println(F("Transmission failed: MAX_RT limit reached."));
  }
  delay(2000); // Chu kỳ lấy mẫu 2 giây
}
// Cấu hình Master Receiver (PRX) trên Arduino Mega 2560
#include <SPI.h>
#include <RF24.h>

RF24 masterRadio(48, 49); // CE: D48, CSN: D49 trên Mega 2560
const uint64_t pipes[6] = {
  0xB3B4B5B601LL, 0xB3B4B5B602LL, 0xB3B4B5B603LL,
  0xB3B4B5B604LL, 0xB3B4B5B605LL, 0xB3B4B5B606LL
};

void setupMasterRF() {
  masterRadio.begin();
  masterRadio.setDataRate(RF24_2MBPS);
  masterRadio.setChannel(76);
  masterRadio.enableDynamicPayloads();
  masterRadio.setAutoAck(true);

  // Mở đồng thời 6 luồng dữ liệu (Data Pipes 0 - 5)
  for (uint8_t i = 0; i < 6; i++) {
    masterRadio.openReadingPipe(i, pipes[i]);
  }
  masterRadio.startListening(); // Chuyển sang chế độ PRX
}

Tính toán thời gian truyền dẫn (Timing Calculation)

Thời gian gói tin truyền trong không khí ($T_{OA}$ - Time on Air) được tính theo công thức:

$$T_{OA} = \frac{\text{Chiều dài gói (bits)}}{\text{Tốc độ dữ liệu (Data Rate)}} = \frac{8 \times (1 + N_{\text{addr}} + N_{\text{pld}} + N_{\text{CRC}}) + 9}{\text{Data Rate}}$$

Với $N_{\text{addr}} = 5\text{ bytes}$, $N_{\text{pld}} = 14\text{ bytes}$ (Cấu trúc SensorData), $N_{\text{CRC}} = 2\text{ bytes}$, tốc độ 2 Mbps ($2 \times 10^6\text{ bps}$):

$$T_{OA} = \frac{8 \times (1 + 5 + 14 + 2) + 9}{2 \times 10^6} = \frac{8 \times 22 + 9}{2 \times 10^6} = \frac{185\text{ bits}}{2 \times 10^6\text{ bps}} = 92.5\ \mu\text{s}$$

Thời gian trôi qua cho một chu trình truyền hoàn chỉnh bao gồm phản hồi ACK ($T_{cycle}$):

$$T_{cycle} = T_{settling} (130\ \mu\text{s}) + T_{OA\text{-Data}} (92.5\ \mu\text{s}) + T_{switch} (130\ \mu\text{s}) + T_{OA\text{-ACK}} (44.5\ \mu\text{s}) = 397\ \mu\text{s}$$

Khoảng thời gian này nhỏ hơn nhiều so với cài đặt $ARD = 500\ \mu\text{s}$, đảm bảo giao dịch không bị timeout giả mạo.

Kiểm nghiệm thực tế và kết quả đo đạc

+-------------------------------------------------------------------------------+
|                      KẾT QUẢ ĐO KIỂM HIỆU NĂNG VÔ TUYẾN                       |
+-------------------+--------------------+--------------------+-----------------+
| Khoảng cách (m)   | Tỷ lệ nhận gói (%) | Độ trễ trung bình  | Môi trường test |
+-------------------+--------------------+--------------------+-----------------+
| 10 m (Trong nhà)  | 100.0 %            | 1.8 ms             | 2 tường bê tông |
| 30 m (Trong nhà)  | 98.6 %             | 3.2 ms             | Nhiều vật cản   |
| 50 m (Ngoài trời) | 99.4 %             | 2.1 ms             | Đường ngắm thẳng|
| 100 m (LOS - PA)  | 96.8 %             | 4.6 ms             | Không vật cản   |
+-------------------+--------------------+--------------------+-----------------+
+-------------------------------------------------------------------------------+
|                       DÒNG TIÊU THỤ QUA CÁC CHẾ ĐỘ NĂNG LƯỢNG                 |
|  Power Down Mode : [ 0.9 uA ]                                                 |
|  Standby-I Mode  : [ 26 uA  ] (Tụ thạch anh duy trì)                          |
|  Standby-II Mode : [ 320 uA ]                                                 |
|  RX Active Mode  : [ 13.5 mA] (Tại 2 Mbps)                                    |
|  TX Active Mode  : [ 11.3 mA] (Tại 0 dBm output power)                        |
|  TX (Module PA)  : [ 115 mA ] (Tại +20 dBm output power đỉnh)                 |
+-------------------------------------------------------------------------------+

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

  1. Cải tiến tầng liên kết dữ liệu không qua CPU (Hardware Zero-Overhead Protocol): Thay vì sử dụng phần mềm MCU để kiểm soát bắt tay (Handshake), đề tài tận dụng 100% phần cứng Enhanced ShockBurst™ trên nRF24L01. Bộ vi điều khiển chỉ kích hoạt khi có cờ ngắt RX_DR (Data Ready) hoặc MAX_RT (Maximum Retransmits), giúp giảm tải tính toán cho CPU hơn 70% so với các giải pháp chạy stack truyền thông bằng phần mềm.
  2. Đa ghép kênh 6 đường dữ liệu độc lập (MultiCeiver 1:6 Topology): Cho phép Node Master nhận đồng thời dữ liệu từ 6 trạm quan trắc vi khí hậu khác nhau với các địa chỉ phần cứng riêng biệt mà không xảy ra xung đột địa chỉ tầng MAC.
  3. Tích hợp giao diện điều khiển tương tác (Touchscreen Interactive GUI): Sử dụng trực tiếp màn hình cảm ứng điện trở 3.2 inch TFT, hỗ trợ giám sát biểu đồ nhiệt ẩm trực quan, lịch sử biến động chất lượng không khí, lựa chọn node xem chi tiết mà không cần thông qua máy tính trung gian.

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

Kịch bản ứng dụng

  • Quan trắc ô nhiễm cục bộ tại các nút giao thông đô thị: Lắp đặt các node cảm biến tại các giao lộ có lưu lượng giao thông cao (như ngã tư Thủ Đức, vòng xoay Hàng Xanh) để phát hiện sớm nồng độ khí thải độc hại vượt ngưỡng.
  • Giám sát tiểu khí hậu tòa nhà thông minh & nhà kính nông nghiệp: Đo lường độ ẩm và nhiệt độ từng tầng hoặc từng khu vực canh tác nông nghiệp công nghệ cao, tự động cảnh báo điều hòa/thông gió.
[ Giao lộ / Điểm quan trắc ] ---> [ Trạm tập trung Master ] ---> [ Bộ chuyển tiếp RS485/IP ] ---> [ Trung tâm điều hành ]
   (Node 1, 2, 3...)                    (Hiển thị TFT)               (Phân tích sâu)              (Smart City Dashboard)

Kế hoạch triển khai và bài toán kinh tế

+--------------------------------------------------------------------------------+
|                   DỰ TOÁN CHI PHÍ PHẦN CỨNG CHO 1 TRẠM QUAN TRẮC               |
+---+--------------------------------------------+----------+-----------+--------+
| STT| Danh mục linh kiện                        | Số lượng | Đơn giá   | Thành tiền
+---+--------------------------------------------+----------+-----------+--------+
| 1 | Vi điều khiển Arduino Uno R3 (ATmega328P)  | 01       | $ 4.50    | $ 4.50 |
| 2 | Module nRF24L01+ PA/LNA + Anten 2.4GHz     | 01       | $ 2.80    | $ 2.80 |
| 3 | Cảm biến nhiệt độ & độ ẩm DHT11            | 01       | $ 1.20    | $ 1.20 |
| 4 | Cảm biến nồng độ khí độc MQ-135            | 01       | $ 1.80    | $ 1.80 |
| 5 | Mạch nguồn ổn áp 3.3V/5V + Hộp bảo vệ IP65 | 01       | $ 3.50    | $ 3.50 |
| 6 | Pin sạc Li-ion 18650 3.7V 2600mAh x 2     | 01 bộ    | $ 4.00    | $ 4.00 |
+---+--------------------------------------------+----------+-----------+--------+
|   | TỔNG CHI PHÍ CHO 01 NÚT CẢM BIẾN (NODE)   |          |           | $ 17.80|
+---+--------------------------------------------+----------+-----------+--------+

Với tổng chi phí chưa đến $18/node, giải pháp giúp tiết kiệm hơn 85% chi phí đầu tư so với các trạm quan trắc thương mại sử dụng mạng di động chuyên dụng ($150 - $300/trạm).


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

Hạn chế kỹ thuật

  • Băng tần 2.4 GHz dễ bị suy hao khi gặp chướng ngại vật nặng như bê tông cốt thép dày hoặc tán cây ướt mưa lớn.
  • Cảm biến MQ-135 cần thời gian sấy cảm biến (Preheat time $\approx 24\text{h}$) để đạt độ nhạy đo lường tuyến tính chính xác nhất.
  • Cấu hình mạng hiện tại chỉ hỗ trợ hình sao phân tầng (Star/Cluster); chưa triển khai giao thức định tuyến mạng Mesh đa chặng tự phục hồi khi có node trung gian bị mất nguồn.

Hướng phát triển

  1. Tích hợp Gateway IoT: Bổ sung module Wi-Fi ESP32/ESP8266 hoặc Raspberry Pi tại Node Master để đẩy toàn bộ dữ liệu lên máy chủ Web Server thông qua giao thức MQTT/HTTP RESTful API.
  2. Thu hoạch năng lượng (Energy Harvesting): Tích hợp tấm pin năng lượng mặt trời mini (Solar Cell 5V 1W) kết hợp mạch sạc pin tự động TP4056 để trạm vận hành liên tục 24/7 không cần thay pin.
  3. Thuật toán AI phân tích xu hướng: Áp dụng mô hình học máy (Machine Learning) nhẹ tại máy chủ biên để dự báo nồng độ ô nhiễm không khí trước 1 - 3 giờ dựa trên chuỗi thời gian (Time-series data).

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

  • Sinh viên & Học viên chuyên ngành Máy tính/Điện tử: Nguồn tài liệu thực nghiệm chi tiết về cấu hình thanh ghi SPI, giao thức Enhanced ShockBurst™ và lập trình màn hình cảm ứng nhúng.
  • Kỹ sư phát triển IoT (Developers): Cung cấp mô hình kiến trúc WSN năng lượng cực thấp, xử lý trọn vẹn bài toán va chạm gói tin và tối ưu hóa chi phí phần cứng biên.
  • Nhà quản lý đô thị & Doanh nghiệp: Một phương án khả thi để triển khai hệ thống quan trắc môi trường thông minh diện rộng với chi phí tối ưu và thời gian thu hồi vốn (ROI) nhanh.

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

1. Cần chuẩn bị những gì về phần cứng để tái tạo lại hệ thống này?

Bạn cần tối thiểu: 01 kit Arduino Uno R3, 01 kit Arduino Mega 2560, 02 module nRF24L01 (kèm adapter chuyển nguồn 3.3V chống nhiễu), 01 cảm biến DHT11, 01 cảm biến MQ-135, 01 shield màn hình TFT 3.2 inch và module RTC DS1307.

2. Giới hạn số lượng Node tối đa trong mạng này là bao nhiêu?

Với 1 chip nRF24L01 cấu hình chuẩn 6 Data Pipes, Master có thể lắng nghe trực tiếp 6 Node đồng thời ở tầng vật lý. Để mở rộng lên hàng chục hoặc hàng trăm Node, có thể cấu hình mạng theo dạng cây (Tree Topology) hoặc chia sẻ thời gian (Time-Division Multiplexing - TDM) trong phần mềm.

3. nRF24L01 có bị nhiễu bởi sóng Wi-Fi 2.4 GHz trong thành phố không?

Băng tần Wi-Fi chiếm từ 2.412 GHz đến 2.472 GHz. nRF24L01 hỗ trợ 126 kênh tần số từ 2.400 GHz đến 2.525 GHz (bước nhảy 1 MHz). Hệ thống đã được cấu hình sang kênh 76 (tần số 2.476 GHz) - nằm hoàn toàn ngoài phạm vi của các kênh Wi-Fi phổ biến (Channel 1, 6, 11), đảm bảo triệt tiêu hiện tượng can nhiễu đồng kênh.

4. Tại sao module nRF24L01 cần gắn thêm tụ điện lọc nguồn ở chân VCC/GND?

nRF24L01 tiêu thụ dòng tức thời khá cao khi chuyển từ chế độ Standby sang chế độ truyền phát TX công suất lớn ($PA$). Nguồn 3.3V từ board Arduino nếu không đủ mượt sẽ làm sụt áp khiến IC bị treo hoặc mất kết nối SPI. Việc hàn thêm một tụ gốm $100\text{ nF}$ song song với một tụ hóa $10\ \mu\text{F} - 100\ \mu\text{F}$ sát chân VCC/GND của module sẽ loại bỏ hoàn toàn hiện tượng này.

5. Chi phí triển khai và khả năng hoàn vốn của dự án như thế nào?

Một mạng cơ bản gồm 1 Gateway và 4 Sensor Nodes có tổng chi phí chế tạo dưới $100. So với việc thuê bao dịch vụ 4G cho từng trạm đo (khoảng $5/tháng/trạm$), hệ thống hoàn vốn sau chưa đầy 5 tháng vận hành độc lập.


Kết luận

Đồ án tốt nghiệp "Mạng cảm biến không dây ứng dụng cho thành phố thông minh" đã nghiên cứu toàn diện và chế tạo thành công hệ thống giám sát môi trường phân tán dựa trên nền tảng vi điều khiển ATmega và giao thức vô tuyến 2.4 GHz Enhanced ShockBurst™. Bằng việc kết hợp kiến trúc phần cứng tối ưu chi phí, cơ chế bắt tay tự động không tiêu hao tài nguyên CPU, cùng giao diện màn hình cảm ứng trực quan tại trạm điều khiển, đề tài đã chứng minh tính khả thi cao trong việc ứng dụng thực tế vào các bài toán đô thị thông minh tại Việt Nam. Đây là nền tảng kỹ thuật vững chắc để tiếp tục mở rộng sang các hệ thống IoT công nghiệp quy mô lớn hơn trong tương lai.