Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XIII về Nghiên cứu cơ bản và ứng dụng Công

nghệ thông tin (FAIR), Nha Trang, ngày 8-9/10/2020


DOI: 10.15625/vap.2020.00214

THIẾT KẾ VÀ TỔ CHỨC GIAO THỨC TRUYỀN THÔNG TRONG MẠNG CẢM BIẾN
KHÔNG DÂY LORA
Nguyễn Văn Thiện1, Quách Đức Cường2, Trịnh Trọng Chưởng3, Nguyễn Bá Nghiễn1
1
Khoa Công nghệ thông tin, Trường Đại học Công nghiệp Hà Nội
2
Khoa Điện, Trường Đại học Công nghiệp Hà Nội
3
Viện Công nghệ HaUI, Trường Đại học Công nghiệp Hà Nội
nguyenthien@haui.edu.vn, cuongqd@haui.edu.vn, chuonghtd@haui.edu.vn, nguyenbanghien_cntt@haui.edu.vn

TÓM TẮT: Mạng LoRa ngày càng được ứng dụng rộng rãi trong hệ thống mạng cảm biến không dây WSNs (Wireless
Sensor Networks) bởi khả năng truyền xa, tiết kiệm năng lượng, hoạt động ổn định. Trong bài báo này, nhóm tác giả sẽ giới thiệu
quá trình từng bước xây dựng và tổ chức giao thức truyền thông của mạng LoRa cấu trúc hình cây đảm bảo các yếu tố tin cậy, bảo
mật, chuẩn công nghiệp. Quá trình thử nghiệm trên hệ thống WSNs thực hiện với chíp xử lý dòng họ PIC của Microchip đã đạt được
kết quả tốt.
Từ khóa: WSNs, LoRa network protocol, PIC microcontroller.

I. GIỚI THIỆU
Mạng cảm biến không dây WSNs (Wireless Sensor Network system) ngày càng được sử dụng phổ biến trong
các ứng dụng công nghiệp, nông nghiệp, y tế, giao thông, hệ thống thiết bị dân dụng,… WSNs đã đóng một vai trò
quan trọng trong việc kiểm soát dữ liệu diện rộng trên quy mô lớn. Từ đó hệ thống quản lý và người dùng có thể phân
tích, đánh giá dữ liệu một cách linh hoạt và thuận tiện. Chính vì những ưu điểm đó nên việc nghiên cứu và triển khai
ứng dụng mạng WSNs vào việc thu thập dữ liệu đã trở lên cấp thiết trong những năm gần đây. Nghiên cứu về WSNs
tập trung vào một số hướng chính: 1) Tổ chức mạng tối ưu, cải thiện tốc độ mạng; 2) Bảo mật, an toàn hệ thống mạng;
3) Tối ưu năng lượng trong mạng, đặc biệt là các hệ thống mạng sử dụng nguồn pin. WSNs có thể được xây dựng dựa
trên nhiều nền tảng mạng khác nhau như: Zigbee, LoRa, Wifi,… hoặc kết hợp giữa các mạng cục bộ và mạng diện
rộng để có được cấu trúc mạng WSNs phù hợp với nhu cầu thực tế sử dụng. Đã có rất nhiều các công bố liên quan đến
xây dựng cấu trúc mạng, kết quả thiết kế tổ chức mạng WSNs ứng dụng trong các trường hợp cụ thể. Nhưng hầu hết
các công bố trên chỉ thể hiện ở lý thuyết tổng quan hoặc các kết quả thử nghiệm. Những vấn đề kỹ thuật chi tiết trong
việc tổ chức cấu trúc mạng, định dạng cơ chế bắt tay, định dạng các gói/tập tin truyền nhận,… để thực hiện một mạng
dữ liệu không dây thực tiễn đều chưa được đề cập một cách cụ thể và chi tiết. Trong bài báo này chúng tôi sẽ giới thiệu
chi tiết việc tổ chức thực hiện một mạng WSNs có cấu trúc hình cây phục vụ việc đo lường các thông số môi trường.
Hệ thống WSNs này được thực hiện trên cơ sở phần cứng là các module LoRa 433 MHz và vi điều khiển PIC16F877A
của hãng Microchip.

II. CẤU TRÚC MẠNG KHÔNG DÂY ĐIỂN HÌNH


Mạng cảm biến không dây WSNs là một hệ thống thiết bị bao gồm các phần tử: cảm biến, thiết bị xử lý, thiết bị
truyền tin không dây, thiết bị định tuyến, hạ tầng thông tin internet (nếu là hệ diện rộng) nhằm mục đích đo lường, tổng
hợp dữ liệu vật lý trong điều kiện Hệ thống này hiện nay được sử dụng rất phổ biến do chúng có nhiều ưu điểm như:
linh hoạt trong quá trình lắp đặt, có thể quản lý ở diện rộng với phạm vi khoảng cách địa lý rộng lớn,… Hiện tại mạng
WSNs có thể chia thành hai loại chính là mạng WSNs cục bộ và mạng WSNs diện rộng. WSNs cục bộ là mạng cảm
biến không dây với phạm vi địa lý khoảng cách từ vài mét cho đến hàng kilômét. Chúng được xây dựng trên nền tảng
mạng BlueTooh (BLE), Wi-fi, Zigbee, RF, Z-Wave, LoRa,… Trong khi đó WSNs diện rộng là mạng cảm biến có
phạm vi địa lý rộng lớn. WSNs diện rộng thực chất là một hệ thống sử dụng dịch vụ GPRS, internet để kết nối các
WSNs cục bộ tạo thành một mạng cảm biến không dây nhiều tầng, nhiều lớp với không gian địa lý rộng lớn. Hình 1
mô tả mạng cảm biến WSNs cục bộ và mạng WSNs diện rộng điển hình.

Hình 1. Mạng cảm biến không dây WSNs điển hình


Nguyễn Văn Thiện, Quách Đức Cường, Trịnh Trọng Chưởng, Nguyễn Bá Nghiễn 571

Trong bài báo này chúng tôi tập trung vào việc tổ chức một mạng WSNs cục bộ hình cây dựa trên mạng LoRa.
Đây là mạng không dây có băng tần từ 430 MHz đến 915 MHz cho từng khu vực khác nhau trên thế giới được sử dụng
khá phổ biến do chúng có ưu điểm: khoảng truyền xa (từ vài trăm mét đến vài kilômét); công suất tiêu thụ nhỏ. Tuy
vậy mạng LoRa cũng có nhược điểm là tốc độ truyền tin chậm (nhỏ hơn 115200 bps) chỉ phù hợp với mạng thu thập
dữ liệu và điều khiển với chu kỳ lấy mẫu không quá nhỏ.

SN1 Mesh
Star Tree

GW SN3 GW GW

RT3 RT2 RT3 SN5

SN4 RT1 SN3


RT4
SN2 RT4
SN1 SN2
SN4 RT1
SN1
SN6
SN5 SN3 SN4
SN2

Hình 2. Một số cấu trúc mạng WSNs cục bộ điển hình


Cấu trúc mạng phổ biến có ba dạng như trên Hình 2. Trong đó: GW (Gateway) là cổng mạng dữ liệu làm nhiệm
vụ kết nối dữ liệu của mạng WSNs cục bộ với hệ thống quản lý bên ngoài; RT là thiết bị định tuyến (Router); và SN
(Sensor Node) là các điểm cảm biến bao gồm sensor. Tất cả các thiết bị trên ghép nối với nhau qua thiết bị module
LoRa. Cấu trúc hình sao (Star) dùng trong trường hợp mạng có ít SN và khoảng cách địa lý ngắn. Trường hợp cần
WSNs với khoảng phủ lớn (không gian địa lý rộng, nhiều điểm SN) có thể sử dụng cấu trúc hình cây (Tree) hoặc dạng
lưới (Mesh). Khi đó trong hệ thống WSNs cần bổ sung thêm các thiết bị định tuyến RT [5].

III. THIẾT KẾ PHẦN CỨNG


Phần cứng của hệ thống thử nghiệm được thiết kế sử dụng vi điều khiển PIC16F688/PIC16F877A và module
LoRA. Nội dung chính của quá trình thiết kế hệ thống thử nghiệm tập trung vào các vấn đề như kết nối mạng, lập trình
và kiểm tra lỗi mạng cục bộ. Các vấn đề như: băng thông, lưu trữ, tối ưu hóa năng lượng tiêu thụ của nút cảm biến hay
toàn mạng, nguồn điện cấp, khả năng sống sót trong môi trường khắc nghiệt,… chưa được đề cập đến.

GW
LCD
RF433-E30
Wireless sensor
d=0 NC Node 2004

RS232
Power UART
PIC16F877A
Microcontroller
KEY
SN
d=1 RT1
1

DS18b20 DHT22 MQ-7 MG811


SN SN sensor sensor sensor sensor
d=2 RT2
2 3

d=3 SN SN
4 5

Hình 3. Cấu trúc lớp mạng Hình 4. Cấu trúc khối của nút cảm biến SN
Cấu trúc mạng thử nghiệm bao gồm 04 tầng lớp, 02 Router RT, 01 GW (bao gồm máy tính PC và module
LoRA) và 05 nút cảm biến SN như trên Hình 3. Thiết bị định tuyến RT (Hình 6) là module LoRA E32-433T20DT kết
nối với vi điều khiển PIC16F688 qua cổng nối tiếp UART. Các nút SN được thiết kế dựa trên MCU PIC16F877A của
Microchip được mô tả bằng sơ đồ khối như trên Hình 4. Mỗi SN kết nối với các cảm biến DS18b20, DHT22, MQ-7 và
MG811 để đo các thông số nhiệt độ, độ ẩm, nồng độ khí CO và nồng độ khí CO2. Module Wireless sử dụng loại E32-
433T20DT hoạt động ở dải tần 433 MHz, công suất 100 mW và khoảng truyền xa trong điều kiện lý tưởng là 3.000 m.
Ngoài ra. trên module SN còn tích hợp thêm màn hình LCD 2004 thuận tiện cho việc quan sát dữ liệu tại hiện trường
để so sánh với dữ liệu thu được trên GW.
572 THIẾT KẾ VÀ TỔ CHỨC GIAO THỨC TRUYỀN THÔNG TRONG MẠNG CẢM BIẾN KHÔNG DÂY LORA

433T20DT
433T20DT

E32-
E32-
NC

RS232

PIC16F688
Power
Microcontroller PC
UART

Hình 5. Sơ đồ khối RT sử dụng PIC16F688 Hình 6. Sơ đồ khối GW


Thiết bị RT đơn giản là khối MCU PIC16F688 kết nối với module LoRA E32-433T20DT qua cổng UART.
MCU PIC16F688 của khối RT sẽ nhận khung dữ liệu từ khối NC qua UART hoặc từ các điểm mạng (SN hoặc RT
khác) và định tuyến đường truyền dữ liệu trong mạng (Hình 5). Khối GW đóng vai trò chuyển đổi giao thức kết nối dữ
liệu của WSNs với mạng internet hoặc lưu trữ hệ thống cơ sở dữ liệu của mạng WSNs cục bộ. GW bao gồm khâu điều
phối mạng NC và máy tính PC. Trong đó khối NC là module LoRA E32-433T20DT kết nối với PC qua vi mạch
chuyển đổi MAX232 như trên Hình 6.

IV. LẬP TRÌNH PHẦN MỀM


A. Thiết lập địa chỉ
Có nhiều phương thức thiết lập địa chỉ nút mạng (địa chỉ RT, SN). Trong bài báo này chúng tôi sử dụng phương
thức thiết lập địa chỉ nút mạng. Địa chỉ nút mạng An được thiết lập theo cách thiết lập địa chỉ nút mạng Zigbee và được
xác định theo công thức (1) và (2), [1], [2], [6].
 1 + Cm × ( Lm − d − 1) ; khi Rm = 1

Cskip (d ) = 1 + Cm − Rm − Cm × Rm( m )
L − d −1

 ; khi Rm ≠ 1 (1)
 1 − Rm

An = Aparent + Cskip (d ) × Rm + n (2)

trong đó:
• Lm là độ sâu của tầng mạng.
• Cm là số lượng nút lớn nhất (bao gồm cả RT và SN) của tầng đang xét kết nối với tầng phía trên.
• Rm là số lượng nút RT lớn nhất kết nối tầng phía trên.
• Chỉ số n, Aparent, lần lượt là thứ tự nút cảm biến và địa chỉ gốc của GW.
B. Lưu đồ thuật toán của các phần tử trong mạng WSNs
Lưu đồ thuật toán tổng quát thực hiện trên các thiết bị GW, RT và SN như trên Hình 7 [2], [6]. Phát hiện quá
trình nhận dữ liệu của các Node thông qua sự kiện ngắt cổng UART trên MCU. Để tránh xảy ra lỗi trong quá trình thu
nhận chuỗi dữ liệu, cần thực hiện một số kỹ thuật: 1) mã hóa khung dữ liệu; 2) kết hợp giải thuật kiểm tra lỗi khung dữ
liệu; 3) thực hiện chế độ “thời gian chờ” tại cổng UART, nếu vượt quá khoảng thời gian chờ của 1 byte thì kết thúc quá
trình nhận chuỗi dữ liệu.

Begin Begin Begin

WSNs Into WSNs Data process Into WSNs


installation
Send data to
Send data RT node
Receive data Y Receive data
from GW N from RT

Receive data N Y
Data process
N from RT Data process
Receive data Y
Y from SN Send data to
Send data GW node Send data
to UART N to RT

N N N
Stop Stop Stop
Y Y Y
End End End

Lưu đồ thuật toán GW Lưu đồ thuật toán RT Lưu đồ thuật toán SN

Hình 7. Lưu đồ thuật toán dạng tổng quát của WSNs [2], [6]
Nguyễn Văn Thiện, Quách Đức Cường, Trịnh Trọng Chưởng, Nguyễn Bá Nghiễn 573

Khi khởi động mạng, GW thực hiện việc truyền dữ liệu cài đặt tới tất cả các SN (bao gồm các thông số: địa chỉ
SN, các dữ liệu về tần số lấy mẫu các ngưỡng cảnh báo của SN,…) và thiết lập định khối định tuyến RT (địa chỉ RT và
quản lý những địa chỉ nào,…). NC sẽ nhận dữ liệu từ các địa chỉ gửi về và gửi lên PC thông qua UART. PC nhận dữ
liệu trong chế độ chờ và hỏi vòng. Đối với RT, khi RT nhận khung dữ liệu yêu cầu từ NC, RT sẽ phân tách khung dữ
liệu để tìm địa chỉ của SN. Sau đó so sánh địa chỉ này với danh mục địa chỉ mà RT đang quản lý. Nếu địa chỉ này thuộc
phạm vi RT quản lý thì RT sẽ truyền tiếp khung dữ liệu từ NC gửi tới SN, ngược lại nó sẽ không phát khung dữ liệu.
Quá trình nhận dữ liệu NS gửi về NC tương tự như trên. Đối với SN khi nhận được khung dữ liệu (có kèm địa chỉ), SN
sẽ phân tách dữ liệu trong khung (lọc địa chỉ, kiểm tra CRC, phân tích mã lệnh yêu cầu,…) nếu đúng là địa chỉ của SN
thì nó sẽ kiểm tra CRC bản tin và thực hiện lệnh truyền dữ liệu về NC.
Lưu đồ thuật toán tách/xử lý dữ liệu (khối Data process trong Hình 7) nhận được của một nút mạng được thể
hiện trên Hình 8. Nhiệm vụ chính của khối Data process là: 1) đọc dữ liệu, 2) kiểm tra tính đúng/sai của khung dữ liệu,
3) xác định yêu cầu nhiệm vụ của khung dữ liệu, 4) loại dữ liệu: thiết lập hệ thống, lệnh yêu cầu từ GW, hay dữ liệu
thông số từ cảm biến truyền lên. Kết thúc khâu này các nút mạng không dây sẽ ra quyết định truyền/xử lý dữ liệu. Ví
dụ đối với RT sau khi nhận diện khung dữ liệu, xác nhận khung dữ liệu đúng thì RT sẽ chuyển tiếp khung dữ liệu này
cho các nút mạng nó kiểm soát. Trường hợp khung dữ liệu này sai thì RT sẽ gửi khung dữ liệu báo sai về nút mạng
quản lý nó (ở tầng trên). Đối với SN sau khi ngắt nhận khung dữ liệu, MCU sẽ kiểm tra địa chỉ. Nếu đúng địa chỉ của
nó thì SN sẽ thực hiện lệnh (có thể là truyền dữ liệu về GW hoặc cài đặt chế độ SN). Trường hợp không phải địa chỉ thì
SN không thực hiện bất kỳ lệnh gì.

Begin

Read data_frame

Calculate Byte[i]

Y Y Execute
Address = true? CRC = true?
commands
N N
Send data

End

Hình 8. Lưu đồ thuật toán của khâu xử lý dữ liệu Data process

C. Định dạng khung dữ liệu trong hệ thống mạng WSNs [6]


1. Định dạng khung dữ liệu từ SN gửi lên GW
Dữ liệu từ SN chuyển lên GW chứa đựng các thông tin về trạng thái điểm SN, địa chỉ nút cảm biến gửi lên, các
dữ liệu đo được từ cảm biến và các byte dữ liệu CRC dùng cho việc kiểm tra lỗi dữ liệu khung truyền như trên Hình 9.
Trong đó:
• n là số lượng byte dữ liệu cần truyền.
• byte khởi đầu (start byte) có giá trị 0x8E và byte kết thúc (stop byte) có giá trị 0x8E.
• STATE là byte trạng thái, nếu hệ hoạt động bình thường STATE = 0x27 và ngược lại STATE = 0x2D.
• ADD là hai byte địa chỉ của thiết bị. Đây chính là giá trị An
1 2 3, 4 5÷(n+4) n+5 n+6 n+7
0x8E STATE ADD DATA CRC CRC 0x8E

Hình 9. Khung dữ liệu từ SN gửi lên GW

• Chuỗi dữ liệu DATA: là tập dữ liệu của nhiều thông số cần đo, mỗi thông số cần đo có 3 byte thông tin: Byte
1 là ID của dữ liệu; Byte 2, 3 là giá trị byte cao, byte thấp của dữ liệu thông số cần đo. Hệ thống có 04 thông
số cần đo là nhiệt độ môi trường, độ ẩm, nồng độ khí CO và nồng độ khí CO2. Bảng 1 là một ví dụ mô tả giá
trị của chuỗi dữ liệu DATA.
• CRC: Dữ liệu kiểm tra đối sánh sử dụng mã CRC-16 bit, giá trị này chứa đựng trong 2 byte n+5 và n+6. SN sẽ
tính giá trị CRC tương ứng với chuỗi dữ liệu và gửi lên GW. Và GW sẽ tính lại các giá trị này để đối sánh
phát hiện lỗi chuỗi dữ liệu. Khả năng phát hiện lỗi khung truyền khi sử dụng CRC-16 lên tới 99,9985 %. Tức
là trong một triệu lần truyền dữ liệu thì số lần truyền lỗi không phát hiện được tối đa là 15.
574 THIẾT KẾ VÀ TỔ CHỨC GIAO THỨC TRUYỀN THÔNG TRONG MẠNG CẢM BIẾN KHÔNG DÂY LORA

Bảng 1. Giá trị ID mã hóa cho các thông số


STT Thông số ID High Byte Low Byte
1 Nhiệt độ môi trường 0x01 0x05 0xF5
2 Độ ẩm 0x02 0x00 0x59
3 Nồng độ khí CO 0x03 0x12 0xF4
4 Nồng độ khí CO2 0x04 0x01 0xE2
5 Chuỗi dữ liệu DATA [0x01 0x05 0xF5 0x02 0x00 0x59 0x03 0x12 0xF4 0x04 0x01 0xE2]

2. Định dạng khung dữ liệu truyền từ GW xuống SN


Dữ liệu từ GW xuống SN có hai dạng. Một là truyền dữ liệu cài đặt tham số hoạt động của SN, hai là truyền dữ
liệu yêu cầu SN gửi dữ liệu về GW. Cách thức tổ chức đường truyền dữ liệu này có ưu điểm là không xảy ra tình
huống tranh chấp, chồng lấn dữ liệu do các SN đồng loạt gửi. Tuy nhiên nhược điểm của cách thức truyền nhận dữ liệu
đồng bộ theo lệnh từ GW này là tốc độ thu thập dữ liệu không nhanh, đặc biệt là đối với các hệ thống WSNs có số
lượng điểm đo SN lớn.

a) Khung dữ liệu thiết lập hoạt động của SN do GW quy định


Dữ liệu của cảm biến được chỉ định thu thập định kỳ và tại hiện trường SN còn có chức năng cảnh báo khi tham
số cần đo vượt ngưỡng. Do đó, cần phải thiết lập ba loại tham số của cảm biến thông qua lệnh cổng nối tiếp và các
tham số này không bị mất khi tắt nguồn (lưu giữ trong EEPROM của MCU). Các tham số cần được cấu hình là: 1) loại
dữ liệu được thu thập bởi SN; 2) chu kỳ thu thập dữ liệu; 3) ngưỡng dữ liệu an toàn. Định dạng khung giao thức cấu
hình tham số cảm biến mô tả trong hình 10.

1 2 3, 4 5 6 7 8-9 10
0x8E STATE ADD ID H Byte L Byte CRC 0x8E
Hình 10. Khung dữ liệu từ PC xuống thiết bị.
Byte bắt đầu và byte kết thúc đều có giá trị 0x8E. Mã lệnh chỉ thị cấu hình SN: STATE = 0x18. ADD là địa chỉ
của SN. Từ lệnh cấu hình cảm biến (ID): Theo yêu cầu của các tham số cấu hình, có 7 loại lệnh cấu hình: 0xFF ~ 0xF9.
Các lệnh cấu hình chi tiết thể hiện trong bảng 3.

Bảng 2. Giá trị ID tương ứng với ý nghĩa thiết lập


STT Thông số ID
1 Bố trí chu kỳ lấy mẫu 0xFF
2 Ngưỡng trên của nhiệt độ 0xFE
3 Ngưỡng dưới của nhiệt độ 0xFD
4 Ngưỡng trên của độ ẩm 0xFC
5 Ngưỡng dưới của độ ẩm 0xFB
6 Ngưỡng trên của CO 0xFA
7 Ngưỡng trên của CO2 0xF9
b) Khung dữ liệu GW yêu cầu SN gửi dữ liệu
Khung dữ liệu GW yêu cầu SN gửi dữ liệu thể hiện trên Hình 11. Nhìn chung khung dữ liệu này cũng giống
như hai khung dữ liệu trên Hình 9, Hình 10. Điểm khác biệt là phần dữ liệu chính là giá trị các ID trong Bảng 1 để yêu
cầu gửi các dữ liệu cần thiết.

1 2 3, 4 5 …
0x8E STATE ADD ID1 … IDn CRC 0x8E
Hình 11. Khung dữ liệu từ PC xuống thiết bị

3. Cấu trúc lại giá trị khung dữ liệu


Trong toàn bộ khung dữ liệu từ byte thứ 3 đến byte thứ n+6 nếu tồn tại một byte nào có giá trị là 0x8E (trùng
với giá trị của start byte và stop byte) hoặc 0x8D thì cần phải đổi lại giá trị theo quy luật: 1) Nếu dữ liệu là 0x8D đổi
thành 0x8D 0x5D; 2) Nếu dữ liệu là 0x8E đổi thành 0x8D 0x5E. Như vậy có thể thấy số lượng byte trong khung dữ
liệu không phải là hằng số, giá trị này phụ thuộc vào số lượng byte có giá trị 0x8D và 0x8E có trong khung dữ liệu.
Việc đổi giá trị byte nhằm mục đích đảm bảo rằng trong toàn bộ byte dữ liệu từ thứ tự 2 đến n+6 không tồn tại giá trị
0x8E. Nguyên do hệ thống thực hiện việc truyền/nhận dữ liệu không đồng bộ về thời gian nên cần sử dụng cơ chế ngắt
của cổng UART trên MCU và giá trị 0x8E có vai trong quá trình nhận biết sự bắt đầu hoặc kết thúc khung dữ liệu.
Nguyễn Văn Thiện, Quách Đức Cường, Trịnh Trọng Chưởng, Nguyễn Bá Nghiễn 575

D. Phần mềm và phần cứng hệ thống


Để quan sát hệ thống trên PC, nhóm tác giả đã phát triển HMI bằng ngôn ngữ Visual Basic 2012. Phần mềm có
chức năng: 1) truyền dữ liệu để thiết lập trạng thái hoạt động của các SN (chu kỳ lấy mẫu, trạng thái ngưỡng của các
thông số); 2) tự phát hiện cổng kết nối để thực hiện kết nối thiết bị trung tâm với máy tính hiện trường; 3) quan sát và
vẽ đồ thị theo dõi thông số tại các nút cảm biến. Phần mềm được thiết kế có giao diện thân thiện, dễ sử dụng.

Hình 12. Phần mềm HMI thử nghiệm Hình 13. Giao diện đồ thị thông số theo thời gian
Thiết bị phần cứng thử nghiệm thể hiện trên Hình 13. Thiết bị SN hiện trường được trang bị màn hình LCD
phục vụ quan sát dữ liệu hiện trường để so sánh với giá trị dữ hiện thị tại trung tâm thu thập (GW).

V. KẾT QUẢ THỬ NGHIỆM


Hệ thống thử nghiệm bao gồm 5 SN kết nối với GW thông qua hai RT như trên hình 3. Quá trình thử nghiệm
được thực hiện tại khuôn viên Trường Đại học Công nghiệp Hà Nội (Minh Khai, Bắc Từ Liêm, Hà Nội) và các điểm
xung trường như trên Hình 14. Giá trị trung bình của 6 lần đo (thời điểm 9h05 ngày 10/7/2020) được ghi trong
Bảng 3.

Hình 14. Bản đồ thực địa bố trí mạng WSNs thử nghiệm
Khoảng cách truyền/nhận tối đa của LoRA E32-433T20DT trong điều kiện lý tưởng là 3.000 m. Trên thực tế
trong quá trình thử nghiệm trong môi trường thành phố với điều kiện thiết bị thu-phát đều đặt cách mặt đất 1m cho thấy
khoảng cách truyền/nhận tối đa khoảng 350 m. Thậm chí trong môi trường không gian với nhiều vật cản khoảng cách
576 THIẾT KẾ VÀ TỔ CHỨC GIAO THỨC TRUYỀN THÔNG TRONG MẠNG CẢM BIẾN KHÔNG DÂY LORA

này còn nhỏ hơn 200 m. Nguyên do địa hình thực địa có nhiều vật cản như: nhà cao tầng, các công trình công cộng,
cây xanh. Nếu mật độ vật cản lớn, không gian bị “che khuất” nhiều thì khoảng cách truyền/nhận của các module LoRA
sẽ ngắn lại.
Bảng 3. Thu thập dữ liệu ngày 1 tại thời điểm 9h05 ngày 10/7/2020

Đơn vị Giá trị đo trong ngày 10/07/2020


Cảm biến SN SN1 SN2 SN3 SN4 SN5
Nhiệt độ o
C 32,5 33,8 30,4 33,1 32,5
Độ ẩm % RH 75,2 74,1 79,1 76,9 75,6
Nồng độ CO ppm 15,5 18,2 20,8 22,6 19,1
Nồng độ CO2 ppm 1150,2 1253,7 1261,8 1102,3 1214,7
Để kiểm thử khả năng phát hiện lỗi khung truyền và giải thuật phân tách/xử lý dữ liệu, nhóm tác giả đã thực
hiện 32 lần truyền dẫn dữ liệu trong mạng. Kết quả cho thấy mạng phát hiện được 100 % lỗi khung truyền và xử lý tình
huống đúng với kịch bản xây dựng. Điều đó cho thấy hoàn toàn có thể sử dụng các giải pháp thiết kế trên để thực hiện
một cấu trúc mạng WSNs cục bộ với công nghệ LoRA.

VI. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN


Bài báo đã giới thiệu một cách thức tổ chức và lập trình đơn giản cho mạng WSNs cục bộ với cấu trúc hình cây.
Mô hình mạng WSNs được thiết kế 04 tầng với 01 GW, 02 thiết bị định tuyến RT và 05 nút cảm biến SN thiết kế sử
dụng module LoRA E32-433T20DT và vi điều khiển PIC16F688/PIC16F877A được thử nghiệm trong môi trường
không gian thành phố. Kết quả thử nghiệm cho thấy mạng WSNs hoạt động tin cậy, ổn định. Tuy vậy tốc độ mạng khá
chậm do sử dụng cơ chế thu thập dữ liệu tuần tự dưới sự điều khiển của thiết bị GW. Trong những nghiên cứu tới,
nhóm nghiên cứu sẽ quan tâm, phát triển và thử nghiệm cấu trúc mạng WSNs thu thập dữ liệu theo mô hình
truyền/nhận song song, giải quyết các vấn đề tranh chấp/chồng lấn dữ liệu để nâng cao tốc độ của mạng WSNs cục bộ.

VII. LỜI CẢM ƠN


Nhóm tác giả xin chân thành gửi lời cảm ơn tới Khoa Công nghệ thông tin, Khoa Điện và Viện công nghệ HaUI
Trường Đại học Công nghiệp Hà Nội đã phối hợp hỗ trợ trong quá trình thực hiện nghiên cứu.

TÀI LIỆU THAM KHẢO


[1] Wáng xiǎo Qiáng, Ōu Yáng, Huáng Níng, “ZigBee wú xiàn chuán gǎn qì wǎng luò shè jì yǔ shí xiàn”, Huà xué
gōng yè chū bǎn shè,134-137, 2012.
[2] Qīng dǎo dōng hé xìn xī jì shù yǒu xiàn gōng sī, “ZigBee kāi fā jì shù jí shí zhàn”, Xī' ān diàn zǐ kē jì dà xué chū
bǎn shè, 2014.
[3] Prashant Tiwari, Varun Prakash Saxena, Raj Gaurav Mishra, Devendra Bhavsar, “Wireless Sensor Networks:
Introduction, Advantages, Applications and Research Challenges”, HCTL Open International Journal of
Technology Innovations and Research (IJTIR), Volume 14, April 2015.
[4] Dai Qingyun, Bao Hong Liu Yihong, Liu Zexi, Zhou Ke, Wang Jin, “433MHz Wireless Network Technology for
Wireless Manufacturing”, Second International Conference on Future Generation Communication and
Networking, 2008.
[5] Rizky Firdaus, Muhammad Ary Murti, Ibnu Alinursafa “Air Quality Monitoring System Based Internet of Things
(IoT) Using LPWAN LoRa”, IEEE International Conference on Internet of Things and Intelligence System, 2019.
[6] Quách Đức Cường, Bùi Văn Huy, Đỗ Duy Hợp, “Nghiên cứu thiết kế mạng WSNs thu thập một số thông số môi
trường tầng hầm”, Tạp chí Khoa học và Công nghệ trường Đại học Công nghiệp Hà Nội, số 52, pp. 17-21, 2019.
[7] Trịnh Trọng Chưởng, Nguyễn Hồng Minh, “Xây dựng hệ thống giám sát tự động thông số môi trường nước thải
các khu công nghiệp tại tỉnh Hải Dương bằng công nghệ GSM/GPRS”, đề tài khoa học công nghệ cấp tỉnh Hải
Dương, 2016.

ORGANIZATION DESIGN THE COMMUNICATION PROTOCOL FOR A LORA WIRELESS SENSOR


NETWORK
Nguyen Van Thien, Quach Duc Cuong, Trinh Trong Chuong, Nguyen Ba Nghien
ABSTRACT: LoRa networks are applied widely in Wirelss Sensor Network (WSN) because of its long transmission, energy
saving and stable operation. In this paper, the authors will introduce every step of building and organizing communication protocol
for hierarchial topology ensuring reliability, privacy, and industrial standard. Experiment processes with WSNs on Microchip PIC
processor achieved good results.

You might also like