Internet of Things (IoT) đã không còn là từ khóa xa lạ với chúng ta, các ứng dụng IoT đang ngày càng tăng với tốc độ đáng kinh ngạc. Khi đề cập đến các ứng dụng IoT, không thể không nhắc đến vai trò quan trọng của các kỹ thuật truyền dữ liệu, đặc biệt là các kỹ thuật truyền thông không dây như Wi-Fi, Bluetooth, zigbee, các mạng di động (GPRS, 2G, 3G, 4G, 5G…), NB-IoT hay các kỹ thuật họ LPWAN như LoRa, SigFox,…. Trong các kỹ thuật vừa kể trên, kỹ thuật họ LPWAN đặc biệt là LoRa hiện được sử dụng rất nhiều trong các ứng dụng dụng IoT với ưu điểm là có thể truyền tải dữ liệu với khoảng cách truyền xa lên đến hàng chục km với công suất thấp và giá thành để có thể triển khai một mạng LoRa cũng rất thấp.
Trong bài viết này mình sẽ không đi sâu phân tích về cơ sở lý thuyết của kỹ thuật điều chế LoRa, mà thay vào đó mình sẽ tổng hợp các kiến thức cơ bản, cần thiết nhất để các bạn có thể tiếp cận và xây dựng được ứng dụng với công nghệ đang rất phát triển này.
1. LoRa là gì?
LoRa là viết tắt của Long Range được phát triển bởi Semtech, là một kỹ thuật điều chế có nguồn gốc từ kỹ thuật “Chirp Spread Spectrum” (CSS), trong đó Chirp là viết tắt của “Compressed High Intetsity Radar Pulse”, là một kỹ thuật sử dụng rất phổ biến trong sonar và radar. Tín hiệu Chirp có biên độ không đổi và tần số thay đổi, nếu tần số thay đổi từ tần số thấp nhất đến tần số cao nhất thì được gọi là up-chirp và thay đổi từ tần số cao nhất đến thấp nhất được gọi là down-chirp.
Dựa trên kỹ thuật này, điều chế LoRa giúp làm tăng phạm vi truyền thông đáng kể với công suất sử dụng rất thấp. Cụ thể một module LoRa E32 của hãng Ebyte truyền dữ liệu với công suất phát 100 mW với một vài tham số cấu hình cơ bản kèm theo thì có thể truyền xa đến hơn 3 km, còn với công suất phát 1W thì khoảng cách tương ứng là gần 10 km. Với ưu điểm này, chúng ta có thể sử dụng LoRa để xây dựng các hệ thống IoT với các node được đặt ở khoảng cách xa hàng kilomet, sử dụng nguồn cung cấp dung lượng thấp như pin với thời gian duy trì lên đến vài năm, giá thành thấp và không cần đến hệ thống internet bao phủ.
2. LoRa bao gồm những thông số nào?
Khi truyền đi một gói tin, thì hai thông số chúng ta quan tâm đó là khoảng cách truyền (range) và tốc độ truyền (Data rate). Đối với LoRa thì 2 giá trị trên phụ thuộc vào 3 thông số có thể điều chỉnh được: Băng thông (BW), hệ số trải phổ(SF) và tốc độ mã hóa(CR).
BW xác định biên độ tần số mà tín hiệu chirp có thể thay đổi. Các chip LoRa khác nhau sẽ cho phép tùy biến cấu hình các mức băng thông khác nhau, nhưng thông thường sẽ cấu hình ba mức băng thông phổ biến là 125kHz, 250kHz và 500 kHz. Băng thông cao sẽ cho phép mã hóa tín hiệu nhanh hơn, giúp thời gian truyền dữ liệu nhanh hơn nhưng bù lại khoảng cách truyền cũng sẽ ngắn đi.
SF xác định số lượng tín hiệu chirp khi mã hóa tín hiệu đã được điều chế tần số (chipped signal) của dữ liệu, SF là các giá trị nguyên từ 7 đến 12. Ví dụ nếu SF = 12 có nghĩa là 1 mức logic của tín hiệu sẽ được mã hóa bởi 12 xung tín hiệu chirp. Giá trị SF càng lớn thì thời gian truyền dữ liệu sẽ lâu hơn nhưng đổi lại tỉ lệ lỗi bit BER sẽ giảm và khoảng cách truyền cũng sẽ xa hơn.
CR là số lượng bit được tự thêm vào trong payload gói tin LoRa để mạch nhận có thể sử dụng để phục hồi lại một số bit dữ liệu đã nhận sai và từ đó phục hồi được nguyên vẹn dữ liệu payload. CR là các giá trị nguyên từ 1 đến 4 và thường biểu thị ở dạng 4/CR+4 (ví dụ: 4/5, 4/6, 4/7, 4/8). Do đó, sử dụng CR càng cao thì khả năng nhận dữ liệu đúng càng tăng, nhưng bù lại chip LoRa sẽ phải gửi nhiều dữ liệu hơn và làm tăng thời gian truyền.
Tóm lại tùy vào mục đích ứng dụng ưu tiên hơn về khoảng cách hay tốc độ truyền mà chúng ta có thể cấu hình các tham số BW, SF, CR phù hợp. Ví dụ nếu mục đích của ứng dụng là thu thập các giá trị của cảm biến cần truyền ở khoảng cách xa không quá yêu cầu về thời gian, vì vậy sẽ không yêu cầu băng thông lớn nên chúng ta sẽ cấu hình các hệ số BW thấp (125 kHz), SF cao (12) và CR có thể tùy chỉnh. Các bạn có thể tính toán tốc độ dữ liệu Data Rate dựa vào các tham số ở đây.
3. Có thể sử dụng ở băng tần nào?
Khi nói đến truyền thông không dây, một vấn đề luôn được quan tâm hàng đầu khi sử dụng để nghiên cứu hoặc triển khai thực tế đó là dải ần số hay băng tần hoạt động của công nghệ đang sử dụng. Dựa vào mục đích sử dụng, có thể chia thành 2 loại là băng tần cần được cấp phép (phải trả phí để sử dụng), gọi là licensed band và băng tần không cần cấp phép (miễn phí trong điều kiện ràng buộc nhất định), gọi là unlicensed và thường được biết đến với tên gọi là dải tần ISM (chuẩn băng tần được dành cho vô tuyến ngành công nghiệp, khoa học và y tế).
Sóng LoRa hoạt động trong dải tần ISM nghĩa là chúng ta không cần phải trả thêm bất kỳ chi phí nào để sử dụng nhưng bù lại sẽ phải tuân thủ các quy định về công suất phát, và dĩ nhiên là dễ chịu ảnh hưởng bởi các loại nhiễu. Các khu vực khác nhau trên thế giới sẽ sử dụng ở các băng tần khác nhau: 169 MHz, 433 MHz, 868 MHz (Châu Âu) và 915 (Châu Mỹ).
Ở Việt Nam chúng ta hiện LoRa có thể sử dụng ở băng tần 920 MHz đến 923 MHz cũng phù hợp sử dụng cho ứng dụng LoRa. Các bạn có thể tham khảo thông tư “Quy chuẩn kỹ thuật quốc gia về thiết bị vô tuyến mạng diện rộng công suất thấp (LPWAN) băng tần 920 MHz đến 923 MHz”, có hiệu lực từ 01/07/2021, chi tiết thông tư tại đây.
Bên cạnh đó thì băng tầng 433MHz với công suất phát được quy định theo văn bản 1/VBHN-BTTTT với công suất phát tương ứng cụ thể như sau:
4. Các module LoRa nào có thể sử dụng?
Để có thể xây dựng ứng dụng với LoRa, hiện nay trên thị trường có rất nhiều module, kit phát triển để các bạn có thể sử dụng. Các module truyền nhận hiện nay bên trong đều tích hợp chip LoRa SX1276/77/78/79 của hãng Semtech, trong đó chip SX1278 là phổ biến nhất với các module sử dụng băng tần 433 MHz và SX1276 thường dùng cho các module hỗ trợ băng tần 868/915 MHz. Các chip này hỗ trợ giao tiếp với vi điều khiển theo chuẩn SPI, sử dụng chuẩn này có thể cấu hình được đầy đủ các thông số mình nhắc đến bên trên như BW, SF, CR và các thông số khác như thay đổi tham số điều chế, băng tần, data rate, địa chỉ, công suất phát, các chế độ hoạt động, cấu hình tiết kiệm năng lượng,… nên ứng dụng có độ linh động và tùy biến cao. Các bạn có thể tham khảo một vài module giao tiếp theo chuẩn SPI: Heltec WiFi LoRa 32, Dragino LoRa Shield, RFM95/96/97/98W.
Module Heltec WiFi LoRa 32 và RFM98W
Ngoài ra còn có các module hỗ trợ giao tiếp theo chuẩn UART, bên trong module đã tích hợp sẵn một vi điều khiển trung gian (như STM8, STM32,…) và một LoRa chip, các module loại này thường sẽ không hỗ trợ lập trình các tham số gốc như BW, SF, CR mà thông qua giao tiếp UART chỉ hỗ trợ cấu hình các tham số cơ bản khác để xây dựng ứng dụng truyền nhận đơn giản nhất có thể như: băng tần, địa chỉ nguồn, địa chỉ đích, công suất phát, data rate, các chế độ hoạt động đã tùy biến,… Module loại này phổ biến nhất là các dòng E32 LoRa của hãng Ebyte như: E32-TTL-100 (433T20DC), E32-TTL-1W (433T30D),…
Module E32-TTL-100 và E32-TTL-1W
5. Ứng dụng ở đâu?
Với ưu điểm về khoảng cách truyền, tiết kiệm năng lượng và giá thành rẻ. LoRa có thể ứng dụng vào rất nhiều lĩnh vực khác nhau, điển hình một vài lĩnh vực có thể ứng dụng mạng LoRa là:
- Nông nghiệp thông minh (smart argriculture)
- Thành phố thông minh (smart city)
- Chăm sóc sức khỏe (smart healthcare)
- Giám sát môi trường (smart enviroment)
- Công nghiệp thông minh (Smart Industrial Control)
Trên đây mình đã chia sẻ những kiến thức cơ bản nhất về công nghệ LoRa và giới thiệu với các bạn một số module phát triển phổ biến trên thị trường cùng các ứng dụng có thể triển khai mạng LoRa để các bạn tham khảo. Nếu có góp ý gì thì hãy để lại bình luận để bài viết hoàn thiện hơn nữa nhé.
Nhóm TAPIT IoTs