LoRaWAN là gì: Giao thức mạng LPWAN cho thiết bị IoT tầm xa

Sơ đồ một mạng LoRaWAN triển khai thực tế với gateway trung tâm và các thiết bị đầu cuối

LoRaWAN là gì: Giao thức LPWAN cho thiết bị IoT và ứng dụng thực tiễn

LoRaWAN (Long Range Wide Area Network) là giao thức mạng vi mạc không dây tầm xa, được thiết kế cho thiết bị IoT cần tiêu thụ pin cực kỳ thấp nhưng vẫn duy trì kết nối ở khoảng cách hàng kilomet đến hàng chục kilomet. Khác với mạng di động dữ liệu dành cho thiết bị IoT vốn tiêu thụ pin cao, LoRaWAN khai thác băng tần trần nghiệm (ISM) và kỹ thuật điều chế Chirp Spread Spectrum để đạt ngân sách đường truyền vượt 155 dB, nhờ đó tín hiệu có thể vượt qua vật cản xây dựng mà không cần dựng trạm trung chuyển dày đặc.

Cơ chế hoạt động chi tiết

Tầng vật lý của LoRa dựa trên điều chế chirp: tín hiệu là một sóng tần số thay đổi tuyến tính theo thời gian, gọi là up-chirp hoặc down-chirp. Độ dài mỗi chirp do hệ số giãn rộng (spread factor) quyết định, dao động từ SF7 đến SF12. Hệ số SF càng cao thì thời lượng một ký hiệu càng dài, nên hiệu quả xử lý càng cao và độ nhạy thu càng tốt, đổi lại tốc độ truyền dữ liệu giảm. Băng thông có thể chọn 125 kHz, 250 kHz hoặc 500 kHz tùy theo quy định của từng khu vực.

Tầng MAC của LoRaWAN là một biến thể của giao thức ALOHA thuần túy: mỗi node phát gói tin ngay khi có dữ liệu mà không lắng nghe kênh trước. Cách làm này dễ xảy ra va chạm, nhưng vì mỗi gói tin thường rất nhỏ, chỉ vài kilobyte trong ngày, và nhờ các hệ số SF khác nhau tạo ra những kênh trực giao riêng biệt, hiệu suất thực tế vẫn đủ dùng cho các ứng dụng chỉ gửi báo cáo định kỳ.

Ba lớp thiết bị và tham số khu vực

  • Class A (bắt buộc với mọi node): sau mỗi lần gửi đi, node chỉ mở hai khoảng thời gian ngắn để nhận (Rx1 và Rx2). Đây là lớp tiết kiệm pin nhất nhưng độ trễ nhận tín hiệu ngược lại cao.
  • Class B mở rộng từ Class A bằng cách thêm các cửa sổ nhận định kỳ đã được đồng bộ nhờ tín hiệu định vị phát từ gateway, giúp lịch nhận trở nên dự đoán được.
  • Class C luôn mở bộ thu sau khi gửi xong, cho độ trễ nhỏ nhất, đổi lại tiêu thụ pin cao nên chỉ phù hợp với thiết bị có nguồn điện ổn định.

Các băng tần trần nghiệm được chia theo khu vực, mỗi băng có giới hạn công suất phát và tỉ lệ chiếm kênh riêng: EU868 dùng 863-870 MHz, US915 dùng 902-928 MHz gồm tám kênh băng thông hẹp 125 kHz cùng các kênh băng thông rộng 500 kHz, còn AU915, AS923, IN865 và KR920 là những bộ tham số dành cho các thị trường khác.

Điều chỉnh tốc độ thích ứng (ADR)

Cơ chế Adaptive Data Rate cho phép máy chủ mạng ra lệnh để node điều chỉnh công suất phát và tốc độ dữ liệu dựa trên chất lượng liên kết đo được trong các lần gửi trước. Khi node nằm gần gateway, máy chủ có thể hạ SF và giảm công suất phát, vừa tiết kiệm pin vừa giảm nhiễu đối với các node ở xa hơn. Lệnh điều chỉnh được truyền qua MAC command và chỉ nên dùng khi thiết bị không di chuyển nhiều, ví dụ cảm biến cố định hay đồng hồ đo nước.

Hai lớp bảo mật

LoRaWAN có hai lớp bảo mật độc lập với nhau:

  1. Bảo mật tầng mạng (NwkKey) bảo đảm tính xác thực và toàn vẹn của gói tin MAC, chống giả mạo và chống phát lại gói cũ.
  2. Bảo mật tầng ứng dụng (AppKey) mã hóa nội dung dữ liệu theo phương thức đầu cuối, bảo đảm nhà cung cấp mạng không đọc được dữ liệu cảm biến.

Quy trình tham gia mạng, gọi là join, chịu trách nhiệm phân phối khóa ban đầu. Có hai kiểu: ABP gán địa chỉ và khóa cố định ngay từ nhà sản xuất, còn OTAA bắt buộc node bắt tay với mạng mỗi lần khởi động để nhận khóa mới. OTAA được ưu tiên vì khóa được xoay vòng, giảm rủi ro nếu một khóa bị lộ.

Sơ đồ kiến trúc mạng LoRaWAN với end device, gateway, network server, join server và ứng dụng đám mây

So sánh với các công nghệ LPWAN khác

Tiêu chí LoRaWAN NB-IoT Sigfox
Tầm phủ nông thôn 10-15 km 10 km 30-50 km
Tốc độ tối đa 50 kbps với SF7 200 kbps 100 bit/giây
Dòng tiêu thụ trung bình 5-10 microampere 10-15 microampere 1-5 microampere
Giá module tầm 5-8 USD 10-15 USD 3-5 USD
Cơ chế xác nhận Tùy chọn ở Class A Có, dựa trên mạng di động Không có

Nhìn bảng trên có thể thấy LoRaWAN nằm ở điểm cân bằng: Sigfox nhẹ pin hơn và xa hơn nhưng không xác nhận gói tin và tốc độ quá thấp, còn NB-IoT nhanh và có bảo đảm chất lượng nhưng tốn pin và đắt hơn. LoRaWAN phù hợp khi dữ liệu nhỏ, tần suất thấp và quy mô lớn là ưu tiên chính.

Ứng dụng thực tiễn

LoRaWAN được dùng rộng rãi trong những ứng dụng thu thập dữ liệu định kỳ với chi phí thấp:

  • Giám sát môi trường: trạm đo chất lượng không khí, nhiệt độ đất, mực nước hồ, lưu lượng nước trong cống.
  • Nông nghiệp thông minh: cảm biến độ ẩm đất, hệ thống tưới tự động điều khiển theo nhu cầu thực tế, theo dõi sức khoẻ cây trồng qua chỉ số phổ.
  • Đô thị thông minh: cảm biến đếm xe đỗ bãi, cảm biến mức đầy thùng rác, cảm biến hành lang bằng cảm biến hồng ngoại tại cửa ngõ.
  • Theo dõi tài sản: vị trí thùng hàng, trạng thái hàng trong container lạnh, cảnh báo mở nắp bất thường.

Một ví dụ tính toán điển hình: trạm đo chất lượng không khí gửi mỗi 10 phút một gói tin 20 byte chứa chỉ số bụi mịn, nồng độ CO2 và nhiệt độ. Với SF10 và giới hạn chiếm kênh 25 phần trăm, tuổi thọ ước tính trên một bộ ba pin AA là khoảng 7 đến 8 năm.

Module LoRa đính kèm ăng-ten và dây nối SPI nằm trên bàn thử nghiệm

Kinh nghiệm khi triển khai

  • Đo sóng thực địa trước khi triển khai quy mô lớn, vì suy hao tín hiệu thực tế phụ thuộc nhiều vào địa hình, cây cối và vật liệu xây dựng.
  • Bố trí gateway sao cho vùng phủ có ít nhất hai gateway chồng lấn, nhằm tăng độ tin cậy và giảm nhiễu.
  • Bật cơ chế ADR để tiết kiệm pin và hạ mức nhiễu nền trong khu vực.
  • Ưu tiên OTAA thay cho ABP trong mọi ứng dụng có yêu cầu bảo mật từ mức trung bình trở lên.
  • Dự tính dung lượng gói tin trước khi phát hành, vì LoRaWAN quy định giới hạn rõ ràng và vượt quá sẽ không gửi được.

Nguồn: Wikipedia về LoRaWAN, Liên minh LoRa, Chirp Spread Spectrum

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

Sơ đồ quy trình WebAssembly: mã nguồn C Rust AssemblyScript được biên dịch thành file nhị phân wasm rồi chạy trong trình duyệt

WebAssembly (WASM) trong trình duyệt: kiến trúc và WASI

WebAssembly (viết tắt Wasm) là chuẩn mã nhị phân được thiết kế để chạy trên mọi trình duyệt hiện đại. Thay vì phân tích mã nguồn mỗi lần tải trang…

Xem thêm
Sơ đồ các trạng thái trao đổi cơ sở dữ liệu của OSPF: Exchange, Loading và Full kèm các gói LS Request, LS Update và LS Ack

OSPF là gì? Giao thức định tuyến link-state và cách tính cost

OSPF (Open Shortest Path First) là giao thức định tuyến nội bộ tiêu chuẩn cho mạng doanh nghiệp và nhà cung cấp dịch vụ Internet. Thay vì dùng vector khoảng…

Xem thêm

Kubernetes là gì: Hệ điều phối container và kiến trúc cụm

Kubernetes là hệ điều phối mã nguồn mở dành cho container, thường được gọi tắt là K8s. Nó cho phép tự động hoá việc triển khai, mở rộng và quản…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất