Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh bùng nổ của cuộc Cách mạng công nghiệp 4.0 và Internet vạn vật (IoT), việc xây dựng các hệ thống thu thập dữ liệu môi trường đóng vai trò then chốt cho các ứng dụng đô thị thông minh, nông nghiệp thông minh và quan trắc tự động. Tuy nhiên, việc triển khai hệ thống cảm biến phân tán trên diện rộng gặp nhiều rào cản lớn:

  • Phương pháp đi dây truyền thống tốn kém chi phí, khó thi công và không khả thi trên địa hình phức tạp.
  • Các công nghệ truyền thông không dây tầm ngắn như Wi-Fi, Bluetooth và ZigBee có phạm vi kết nối giới hạn (từ 10 đến 100 m, mạng ZigBee Mesh mở rộng tối đa khoảng 75 m), đồng thời mức tiêu thụ năng lượng còn cao, khiến thời lượng hoạt động của pin bị rút ngắn.
  • Công nghệ truyền thông tầm xa LoRa (Long Range Radio) sở hữu ưu điểm vượt trội về khả năng phát sóng xa (từ 2 đến 20 km trong môi trường không vật cản) và mức tiêu thụ năng lượng thấp. Tuy nhiên, trong môi trường đô thị hoặc khu vực có nhiều vật cản che chắn, cự ly truyền thông của LoRa suy giảm đáng kể xuống còn vài trăm mét đến vài kilomet.

Để giải quyết bài toán mở rộng vùng phủ sóng và bảo đảm tính liên tục của dữ liệu mà vẫn tối ưu chi phí, tác giả đề xuất giải pháp kết hợp giao thức mạng lưới (Wireless Mesh Network - WMN) với công nghệ truyền dẫn LoRa. Mạng Mesh cho phép các nút cảm biến đóng vai trò trung chuyển dữ liệu đa chặng (multi-hop) về trung tâm. Thách thức kỹ thuật cốt lõi được đặt ra là sự đánh đổi giữa độ trễ gói tin (latency) và năng lượng tiêu thụ (energy consumption), cùng với các hiện tượng gây lãng phí năng lượng trong mạng không dây như lắng nghe khi rỗi (idle listening), nghe lỏm (overhearing), truyền thừa (overemitting) và xung đột gói tin (packet collision).

Mục tiêu nghiên cứu:

  1. Nghiên cứu, thiết kế và chế tạo hoàn chỉnh hệ thống thiết bị thu thập dữ liệu môi trường (nhiệt độ, độ ẩm) thông qua mô hình mạng Mesh sử dụng công nghệ truyền thông LoRa.
  2. Xây dựng giải thuật định tuyến và lập lịch đồng bộ thời gian nhằm giảm thiểu xung đột dữ liệu, hạ thấp tỷ lệ mất gói tin và tối ưu hóa năng lượng tiêu hao trên từng nút.
  3. Chế tạo thực nghiệm hệ thống gồm 15 nút cảm biến (LoRa Mesh Node) và 01 trạm thu thập trung tâm (Gateway) hoạt động ổn định, giá thành thấp (khoảng 12 USD/board nút), tiêu thụ dòng điện chế độ ngủ xấp xỉ 800 µA, dùng nguồn pin 14500.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Vi điều khiển ATmega328P, vi điều khiển ESP32 (NodeMCU-32S), module thu phát LoRa RFM95W, cảm biến nhiệt độ - độ ẩm AHT10, giao thức mạng Mesh, giao thức truyền thông MQTT và bộ thư viện RadioHead.
  • Phạm vi nghiên cứu: Thiết kế phần cứng mạch nhúng, lập trình giải thuật đồng bộ thời gian và định tuyến, kiểm thử thực tế mô hình thu thập dữ liệu tại khuôn viên Trường Đại học Công nghệ Thông tin - Đại học Quốc gia TP.HCM.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình công nghệ

  • Mạng lưới không dây (Wireless Mesh Network - WMN): Kiến trúc mạng bao gồm các nút thu thập và các bộ định tuyến liên kết theo dạng lưới. Mạng có khả năng tự tổ chức (self-forming) và tự phục hồi (self-healing). Khi một đường truyền gặp sự cố, dữ liệu được tự động tìm đường thay thế qua các nút lân cận để truyền về Gateway.
  • Công nghệ điều chế LoRa: Thuộc lớp vật lý (Physical Layer), phát triển dựa trên kỹ thuật trải phổ Chirp (Chirp Spread Spectrum - CSS). Nguyên lý hoạt động dựa trên việc băm dữ liệu bằng các xung cao tần (chipped) và mã hóa thành các chuỗi xung chirp sin có tần số biến đổi theo thời gian (up-chirp cho bit 1 và down-chirp cho bit 0). Kỹ thuật này giúp giải mã tín hiệu dưới mức nhiễu nền môi trường, đạt link budget lên đến 168 dB và độ nhạy thu đạt -148 dBm mà không cần mạch khuếch đại công suất lớn.
  • Cấu trúc gói tin LoRa: Gồm các trường Preamble (chuỗi đồng bộ), Header (chứa thông tin kích thước Payload và CRC), Payload (dữ liệu ứng dụng) và Payload CRC (kiểm tra lỗi toàn vẹn).
  • Giao thức MQTT (Message Queuing Telemetry Transport): Giao thức truyền thông nhẹ theo mô hình Publish/Subscribe trên nền TCP/IP, tối ưu hóa cho các hệ thống nhúng có băng thông thấp, độ trễ mạng biến động và tài nguyên phần cứng hạn chế.

Phương pháp nghiên cứu

  • Phương pháp thiết kế hệ thống kỹ thuật: Thiết kế phần cứng nguyên lý và mạch in cho nút cảm biến LoRa và thiết bị Gateway; tích hợp cảm biến số qua giao tiếp I2C và module truyền thông qua SPI.
  • Phương pháp phát triển giải thuật: Xây dựng thuật toán lập lịch phân chia khe thời gian đồng bộ (Synchronized Sleep-Wake Scheduling) kết hợp quản lý danh sách nút con động nhằm loại bỏ hiện tượng đụng độ gói tin và triệt tiêu năng lượng lắng nghe rỗi.
  • Phương pháp thực nghiệm: Đo đạc mức tiêu thụ dòng điện tĩnh/động của vi điều khiển và module RF qua các chế độ hoạt động (Active, Sleep, Power-down); triển khai thực tế mạng cảm biến trong môi trường vật lý tại UIT và giám sát dữ liệu truyền qua MQTT Broker.

Thiết kế và triển khai

Hệ thống thu thập dữ liệu gồm hai phân hệ chính: Nút cảm biến (LoRa Node) và Trạm thu thập trung tâm (Gateway), kết nối đến máy chủ HiveMQ MQTT Broker.

1. Thiết kế phần cứng

Thành phần Nút cảm biến (Sensor Node) Trạm trung tâm (Gateway)
Vi điều khiển chính ATmega328P (8-bit RISC, 32KB Flash, 2KB SRAM, 1KB EEPROM) NodeMCU-32S (ESP32-S2 dual-core, 80-240 MHz, hỗ trợ Wi-Fi/BLE)
Module RF LoRa RFM95W (SPI interface) LoRa RFM95W (SPI interface)
Tần số hoạt động 923 MHz 923 MHz
Hệ số trải phổ (SF) SF = 7 SF = 7
Cảm biến tích hợp AHT10 (Đo nhiệt độ: -40 đến 100°C, ±0.3°C; Độ ẩm: 0-100%, ±2%; I2C) Không tích hợp cảm biến đo đạc trực tiếp
Giao thức mạng LoRa Mesh (RadioHead mở rộng) LoRa tiếp nhận + Wi-Fi MQTT Client
Nguồn cấp Pin sạc lithium 14500 (3.7V) Nguồn Adapter 5V DC

2. Phát triển phần mềm và giải thuật mạng

Hệ thống tùy biến và mở rộng bộ thư viện nhúng mã nguồn mở RadioHead (dựa trên các lớp RHDatagram, RHReliableDatagram, RHRouter, RHMesh). Tác giả bổ sung ba hàm cốt lõi vào lớp RHReliableDatagram:

  • sendtoWaitBroadCast(): Hỗ trợ nút mới phát tín hiệu quảng bá để quét tìm nút cha lân cận trong phạm vi phủ sóng.
  • recvfromAckChid(): Xử lý tiếp nhận gói tin và gửi phản hồi ACK có kèm các thông số cấu hình thời gian đồng bộ mạng.
  • acknowledgeChild(): Khởi tạo khung tin ACK chuyên biệt để cấu hình nút con gia nhập mạng lưới.

Cơ chế lập lịch và quản lý trạng thái nút:

  1. Giai đoạn gia nhập mạng (Joining): Khi khởi động, nút phát bản tin broadcast tìm nút cha. Khi nhận được ACK từ nút cha (hoặc Gateway), nút con trích xuất thông số chu kỳ ngủ, khung thời gian truyền/nhận và thời gian lắng nghe broadcast, sau đó đi vào chế độ ngủ sâu.
  2. Chế độ hoạt động số 1 (Danh sách nút con ổn định): Nút thức dậy theo chu kỳ, mở cửa sổ lắng nghe broadcast ngắn để tìm nút con mới. Sau đó, nút chuyển sang phiên nhận dữ liệu tuần tự từ các nút con trong danh sách. Kết thúc phiên nhận, nút đóng gói dữ liệu của chính nó cùng dữ liệu chuyển tiếp từ các nút con thành một khung tin duy nhất và phát lên nút cha, sau đó quay lại chế độ ngủ để bảo toàn năng lượng.
  3. Chế độ hoạt động số 2 (Tái cấu trúc khi mất nút): Nếu một nút con không gửi dữ liệu trong 3 chu kỳ liên tiếp, nút cha sẽ xóa địa chỉ nút con đó (gán về 0). Khung thời gian rảnh của nút bị xóa sẽ được tái sử dụng làm khe thời gian lắng nghe broadcast ở các chu kỳ sau, cho phép nút con mới thế chỗ mà không làm lệch đồng bộ thời gian của toàn mạng.

Nội dung chính theo từng chương

Chương 1: Mở đầu và nghiên cứu liên quan

  • Trình bày tổng quan về nhu cầu giám sát môi trường không dây trong nông nghiệp, đô thị thông minh và các hạn chế về khoảng cách, chi phí của công nghệ có dây và mạng tầm ngắn (Wi-Fi, Bluetooth, ZigBee).
  • Tổng hợp, phân tích các công trình nghiên cứu trong và ngoài nước về Bluetooth Mesh, ZigBee Mesh và LoRa Mesh:
Công trình Công nghệ / Nền tảng Ưu điểm Nhược điểm / Hạn chế
Hernandez-Solana và cs. (2020) Bluetooth Mesh Tích hợp sẵn trên nhiều thiết bị di động, chuẩn hóa bởi Bluetooth SIG Cấu hình thủ công từng thiết bị; nút relay phải mở liên tục gây tốn năng lượng
Bangaru và cs. (2019) ZigBee Mesh Dễ triển khai thực tế, tiết kiệm năng lượng Khoảng cách truyền giữa các nút ngắn (dưới 75 m)
Murugesan và cs. (2019) Wi-Fi Mesh Băng thông lớn, tốc độ truyền cao Mức tiêu thụ năng lượng rất lớn so với LoRa
Huh (2019) LoRa Mesh Tự động thiết lập đường dẫn định tuyến giữa các nút cuối; liên lạc 2 chiều Chưa triển khai và đánh giá thực tế trong điều kiện môi trường cụ thể
Lee (2018) LoRa Mesh Tăng tỷ lệ truyền tin không cần nhiều Gateway; Gateway chủ động thu thập Chưa tối ưu hóa chế độ tiêu thụ năng lượng thấp (low power) cho nút
Kashyap (2019) LoRa Mesh Tuổi thọ pin cao (ước tính đến 10 năm); mô hình mạng linh hoạt Sử dụng board Raspberry Pi 2 làm nút, đẩy chi phí phần cứng lên cao
Đề xuất của đề tài LoRa Mesh (ATmega328P + RFM95W + ESP32) Chi phí thấp (~12 USD/board), dòng ngủ ~800 µA, hỗ trợ mở rộng mạng 25 nút Băng thông và tốc độ truyền thấp (đặc tính chung của LoRa)
  • Xác định mục tiêu chế tạo hệ thống 15 nút và 1 gateway, phân định rõ vai trò thu thập của nút cảm biến và vai trò cầu nối của gateway lên nền tảng MQTT.

Chương 2: Mô hình mạng lưới không dây

  • Khái quát hóa kiến trúc mạng lưới không dây WMN, phân tích cấu trúc liên kết topo dạng lưới tĩnh và khả năng tự phục hồi đường truyền.
  • Đánh giá ưu điểm (mở rộng vùng phủ sóng không dây, giảm chi phí vận hành, cung cấp kết nối cho khu vực nông thôn/hẻo lánh) và nhược điểm (tăng tải xử lý trên từng nút đóng vai trò router, quy trình lắp đặt định vị ban đầu phức tạp, bài toán cân bằng giữa năng lượng và độ trễ).
  • Phân tích nguyên lý điều chế LoRa CSS, dải tần số ISM trên thế giới (430 MHz - Châu Á, 780 MHz - Trung Quốc, 433/866 MHz - Châu Âu, 915 MHz - Mỹ) và cấu trúc gói tin LoRa (Preamble, Header, Payload, CRC).
  • Xác lập các ứng dụng tiêu biểu của mạng LoRa Mesh trong nhà thông minh, tòa nhà nhiều tầng, nông nghiệp diện rộng và các trạm quan trắc đô thị.

Chương 3: Hiện thực hệ thống thu thập dữ liệu

  • Đặc tả thông số kỹ thuật chi tiết của các linh kiện phần cứng:
    • Vi điều khiển ATmega328P: Hoạt động ở điện áp 1.5V - 5V, dải nhiệt độ -40°C đến 85°C; dòng tiêu thụ ở chế độ Active là 0.24 mA, Power-Save là 0.9 - 1.2 µA, Power-Down chỉ 0.1 - 0.2 µA.
    • Module RFM95W: Kích thước 16x16 mm, dòng nhận RX 10.3 mA, dòng duy trì thanh ghi 200 nA, công suất phát không đổi +20 dBm (100 mW).
    • Cảm biến AHT10: Kích thước 16x11 mm, điện áp 1.8 - 6V, giao tiếp I2C, độ phân giải nhiệt độ 0.01°C, độ phân giải độ ẩm 0.024%.
  • Thiết kế trạm Gateway trên nền ESP32 NodeMCU-32S nhận dữ liệu LoRa qua SPI và đẩy dữ liệu lên HiveMQ MQTT Broker qua giao tiếp Wi-Fi.
  • Xây dựng giải pháp giải quyết các nguyên nhân gây hao tổn năng lượng (nhận trùng gói tin do xung đột, lắng nghe rỗi, nghe lỏm và truyền thừa) thông qua cơ chế lập lịch đồng bộ.
  • Trình bày chi tiết việc mở rộng thư viện RadioHead trên Arduino IDE và thiết lập 2 lưu đồ thuật toán hoạt động của nút và Gateway.
  • Kết quả thử nghiệm thực tế: Kiểm tra dòng tiêu thụ ở các chế độ, xác thực chu kỳ hoạt động và ghi nhận nhật ký (file log) truyền nhận dữ liệu nhiệt độ - độ ẩm thành công trên giao diện phần mềm.

Chương 4: Kết luận và hướng phát triển

  • Tổng kết toàn bộ các kết quả đạt được về mặt thiết kế phần cứng, lập trình giải thuật định tuyến LoRa Mesh và triển khai thực nghiệm hệ thống.
  • Đề xuất các giải pháp hoàn thiện cấu trúc mạng và tối ưu hóa hệ thống trong giai đoạn tiếp theo.

Kết quả và đóng góp

1. Kết quả kỹ thuật thực nghiệm

  • Chế tạo thành công phần cứng nút mạng LoRa Mesh sử dụng vi điều khiển ATmega328P kết hợp RFM95W và cảm biến AHT10, cùng trạm Gateway ESP32 giao tiếp MQTT.
  • Giá thành sản xuất phần cứng nút cảm biến đạt mức thấp, ước tính khoảng 12 USD cho mỗi bo mạch.
  • Tối ưu hóa mức tiêu thụ năng lượng: Dòng tiêu thụ của nút cảm biến ở trạng thái ngủ (Sleep mode) được kiểm soát ở mức xấp xỉ 800 µA, bảo đảm hệ thống vận hành bền bỉ bằng nguồn pin 14500.
  • Hệ thống giải thuật đồng bộ thời gian hoạt động chính xác: Tự động loại bỏ nút mất kết nối sau 3 chu kỳ liên tiếp và tái cấu trúc khe thời gian để tiếp nhận nút mới, triệt tiêu hoàn toàn xung đột gói tin trên cùng một kênh tần số 923 MHz (SF7).

2. Đóng góp khoa học và ứng dụng

  • Cung cấp một giải pháp khả thi kết hợp giữa công nghệ truyền dẫn tầm xa LoRa và mô hình mạng Mesh để giải quyết bài toán suy hao khoảng cách trong đô thị nhiều vật cản.
  • Khắc phục hạn chế chi phí cao của các nghiên cứu trước đây (như nghiên cứu của Kashyap sử dụng Raspberry Pi) và khắc phục nhược điểm tiêu tốn năng lượng trong các mạng LoRa Mesh chưa hỗ trợ chế độ Low-power (như nghiên cứu của Lee).
  • Đóng góp bộ hàm mở rộng cho thư viện chuẩn RadioHead (sendtoWaitBroadCast, recvfromAckChid, acknowledgeChild), tạo tiền đề kỹ thuật cho việc phát triển các mạng cảm biến không dây mã nguồn mở.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế: Do đặc tính kỹ thuật của công nghệ LoRa và hệ số trải phổ SF7, tốc độ truyền dữ liệu và băng thông của mạng ở mức thấp, không phù hợp cho các ứng dụng yêu cầu truyền dữ liệu liên tục theo thời gian thực (real-time streaming) hoặc truyền tải tệp đa phương tiện dung lượng lớn.
  • Hướng nghiên cứu tiếp:
    1. Thử nghiệm mở rộng quy mô mạng với số lượng nút lớn hơn trong các điều kiện môi trường địa hình phức tạp và khoảng cách vật lý lớn hơn.
    2. Tiếp tục tối ưu hóa thuật toán định tuyến thích nghi nhằm giảm độ trễ đầu cuối (end-to-end latency) khi gói tin phải chuyển tiếp qua nhiều chặng (hop).
    3. Nghiên cứu tích hợp các cơ chế mã hóa bảo mật dữ liệu nâng cao trên đường truyền LoRa Mesh mà không làm tăng đáng kể mức tiêu hao năng lượng của vi điều khiển.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thực tiễn cao cho:

  • Sinh viên và học viên ngành Kỹ thuật Máy tính, Điện tử - Viễn thông, Công nghệ Thông tin và Hệ thống Nhúng/IoT: Tham khảo chi tiết sơ đồ nguyên lý phần cứng, cách ghép nối giao tiếp SPI/I2C giữa các vi điều khiển năng lượng thấp (ATmega328P, ESP32) với module LoRa RFM95W và cảm biến môi trường.
  • Kỹ sư và nhà nghiên cứu phát triển Mạng cảm biến không dây (WSN): Tham khảo giải thuật lập lịch đồng bộ thời gian, cơ chế chuyển tiếp gói tin đa chặng và phương pháp mở rộng thư viện RadioHead để xây dựng mạng LoRa Mesh tùy biến.
  • Các dự án ứng dụng thành phố thông minh và nông nghiệp công nghệ cao: Cung cấp tài liệu thiết kế hệ thống phần cứng giá rẻ (~12 USD/nút), vận hành bằng pin, phục vụ giám sát các chỉ số môi trường diện rộng.

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

1. Khóa luận sử dụng các vi điều khiển nào cho nút cảm biến và Gateway?
Nút cảm biến (LoRa Node) sử dụng vi điều khiển 8-bit RISC ATmega328P của Microchip nhằm tối ưu hóa chi phí và năng lượng. Trạm trung tâm (Gateway) sử dụng module NodeMCU-32S tích hợp vi điều khiển 32-bit ESP32 (lõi ESP32-S2) có sẵn kết nối Wi-Fi để chuyển tiếp dữ liệu lên Internet.

2. Module LoRa và các thông số cấu hình truyền sóng trong hệ thống là gì?
Hệ thống sử dụng module thu phát LoRa RFM95W giao tiếp với vi điều khiển qua chuẩn SPI. Module hoạt động tại dải tần 923 MHz, công suất phát tối đa +20 dBm (100 mW) và cấu hình hệ số trải phổ Spreading Factor SF = 7.

3. Cảm biến nào được lựa chọn để đo đạc và thông số kỹ thuật ra sao?
Hệ thống tích hợp cảm biến số AHT10 giao tiếp I2C. Cảm biến có kích thước 16x11 mm, điện áp hoạt động từ 1.8V đến 6V, thang đo nhiệt độ từ -40°C đến 100°C (sai số ±0.3°C, độ phân giải 0.01°C) và thang đo độ ẩm từ 0 đến 100% (sai số ±2%, độ phân giải 0.024%).

4. Hệ thống xử lý như thế nào khi một nút con trong mạng bị mất kết nối?
Nếu một nút cha không nhận được dữ liệu từ một nút con trong 3 chu kỳ nhận tin liên tiếp, địa chỉ của nút con đó trong danh sách sẽ bị xóa (gán giá trị về 0). Khoảng thời gian trống tương ứng của nút đó sẽ được chuyển thành khe thời gian lắng nghe broadcast ở các chu kỳ tiếp theo để tiếp nhận nút con mới gia nhập mà không gây xáo trộn đồng bộ mạng.

5. Mức tiêu thụ năng lượng và chi phí ước tính cho mỗi nút cảm biến là bao nhiêu?
Mỗi nút cảm biến có chi phí phần cứng ước tính khoảng 12 USD, dòng tiêu thụ ở chế độ ngủ (Sleep mode) đạt khoảng 800 µA và được cấp nguồn hoạt động độc lập bằng một viên pin lithium 14500 (3.7V).


Kết luận

Khóa luận tốt nghiệp của tác giả Lâm Vĩnh Hướng và Phạm Đông Yên đã hoàn thành việc thiết kế, chế tạo và thử nghiệm hệ thống thu thập dữ liệu môi trường dựa trên giao thức LoRa Mesh kết hợp Gateway MQTT. Bằng việc xây dựng giải thuật lập lịch đồng bộ thời gian và mở rộng bộ thư viện RadioHead, đề tài đã giải quyết hiệu quả bài toán xung đột dữ liệu và tối ưu hóa mức tiêu thụ năng lượng (dòng ngủ ~800 µA) với chi phí chế tạo thấp (~12 USD/board). Đây là giải pháp phần cứng và giao thức mạng có tính ứng dụng cao, đáp ứng tốt yêu cầu giám sát diện rộng trong các mô hình đô thị thông minh và nông nghiệp công nghệ cao tại Việt Nam.