Tải bản đầy đủ (.pdf) (98 trang)

Triển khai và đánh giá các giao thức mac trong mạng cảm biến không dây

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.87 MB, 98 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
------------------------------

TRẦN TRƯỜNG SƠN

TRIỂN KHAI VÀ ĐÁNH GIÁ CÁC GIAO THỨC MAC
TRONG MẠNG CẢM BIẾN KHƠNG DÂY

Chun ngành :

Kỹ Thuật Viễn Thơng

Mã số:

60520208

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 06 năm 2016


Cơng trình được hồn thành tại: Trường Đại Học Bách Khoa – ĐHQG TPHCM
Cán bộ hướng dẫn khoa học: TS. Võ Quế Sơn
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
Cán bộ chấm nhận xét 1: TS. Trần Trung Duy
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................


Cán bộ chấm nhận xét 2: TS. Nguyễn Minh Hoàng
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
Luận văn thạc sĩ được bảo vệ tại Trường Đại Học Bách Khoa, ĐHQG TP.HCM
Ngày 12 tháng 07 năm 2016
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1. TS. Nguyễn Minh Hoàng
2. TS. Hà Hoàng Kha
3. TS. Trần Trung Duy
4. PGS. TS. Võ Nguyễn Quốc Bảo
5. TS. Trương Công Dung Nghi
Xác nhận của Chủ tịch Hội đồng đánh giá luận văn và Trưởng Khoa quản lý chuyên
ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG

TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ


ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

--------------------

--------------------

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Trần Trường Sơn ..........................................MSHV: 7140072
Ngày, tháng, năm sinh: 16/10/1990 .........................................Nơi sinh: Quảng Bình
Chun ngành: Kỹ Thuật Viễn Thơng .....................................Mã số: 60520208
I. TÊN ĐỀ TÀI: “TRIỂN KHAI VÀ ĐÁNH GIÁ CÁC GIAO THỨC MAC
TRONG MẠNG CẢM BIẾN KHÔNG DÂY”.
NHIỆM VỤ VÀ NỘI DUNG:
 Tìm hiểu về mạng cảm biến khơng dây (WSNs).
 Lập trình thuật tốn thực hiện các giao thức MAC trong WSNs.
 Triển khai đánh giá hiệu năng các giao thức MAC trên nền hệ điều hành
Contiki -OS.
 Triển khai các giao thức MAC trên test-bed đánh giá các thông số thực tế.
Kết quả đạt được: Thông qua mô phỏng và triển khai thực tế:
 Thống kê đủ số liệu để đánh giá hiệu năng của các giao thức MAC trong các mơ
hình mạng khác nhau.
 Đưa ra đề xuất khuyến nghị sử dụng các giao thức MAC trong các ứng dụng cụ
thể.
II. NGÀY GIAO NHIỆM VỤ: 11/01/2016
III. NGÀY HOÀN THÀNH NHIỆM VỤ: 17/06/2016
IV. CÁN BỘ HƯỚNG DẪN: TS. VÕ QUẾ SƠN
TP.HCM, ngày tháng

năm 2016

CÁN BỘ HƯỚNG DẪN

CHỦ NHIỆM BỘ MÔN ĐÀO TẠO

TS. Võ Quế Sơn

TS. Huỳnh Phú Minh Cường


TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ

TS. Đỗ Hồng Tuấn


LỜI CẢM ƠN
Lời đầu tiên, Em xin gửi lời cảm ơn chân thành đến Thầy TS. Võ Quế Sơn trong
suốt quá trình thực hiện luận văn này. Những lời gợi ý, hướng dẫn, nhận xét và góp
ý của Thầy đã giúp Em có một định hướng đúng trong suốt quá trình thực hiện đề tài,
giúp Em nhìn ra được những ưu khuyết điểm trong quá trình làm việc. Thực tế quá
trình nghiên cứu gặp khá nhiều trở ngại về ý tưởng cũng như các công cụ thực hiện,
nhưng được Thầy chỉ dẫn tận tình, Em đã giải quyết những khó khăn vướng mắc,
hoàn thành luận văn này, đồng thời quãng thời gian học tập, nghiên cứu xoay quanh
đề tài cũng đã hình thành trong Em niềm thích thú và hăng say nghiên cứu về lĩnh
vực Internet of Thing (IoT).
Đồng thời, Em trân trọng cảm ơn các Thầy Cô của Trường Đại Học Bách Khoa
nói chung và của khoa Điện - Điện Tử nói riêng đã dạy dỗ chúng em suốt quãng thời
gian qua. Những lời giảng của Thầy Cô trên giảng đường đã trang bị cho chúng em
những kiến thức bổ ích và giúp chúng em tích lũy thêm những kinh nghiệm để vận
dụng vào thực tế công việc.
Tôi xin cảm ơn sự hỗ trợ và giúp đỡ nhiệt tình của bạn bè trong thời gian học tập
cao học tại Trường Đại Học Bách Khoa và trong q trình hồn thành Luận Văn Tốt
Nghiệp Thạc Sĩ này.
Cuối cùng, Con chân thành cảm ơn sự động viên, hỗ trợ của Ba Mẹ và gia đình
trong suốt thời gian học tập và nghiên cứu. Sự quan tâm, động viên của Ba Mẹ luôn
là động lực cho Con cố gắng phấn đấu trên con đường học tập của mình, để trở thành
một cơng dân có giá trị cho xã hội.
Tp. Hồ Chí Minh, ngày 18 tháng 06 năm 2016
Học viên thực hiện


Trần Trường Sơn

i


TĨM TẮT LUẬN VĂN
Khi một mạng cảm biến khơng dây (WSNs) được triển khai, về cơ bản, chúng ta
sẽ quan tâm ba mục tiêu chính: truyền được dữ liệu càng nhiều càng tốt (độ tin cậy
cao), truyền được dữ liệu càng nhanh càng tốt (độ trể thấp), và giữ cho nút cảm biến
hoạt động càng lâu càng tốt (tuổi thọ lâu dài). Các nút cảm biến công suất thấp phải
giữ cho bộ thu phát vơ tuyến của nó ở trong trạng thái ngủ nhiều nhất, để đạt mức
tiêu thụ năng lượng thấp nhất, nhưng cũng phải thức dậy đủ thường xuyên để nhận
được thông tin trao đổi từ các nút lân cận sớm nhất có thể. Các giao thức điều khiển
truy cập môi trường truyền (MAC) sẽ phụ trách tất cả các cơ chế truy cập môi trường
truyền trong mạng vơ tuyến, đó là các quy tắc phối hợp khi mỗi nút thực hiện
truyền/nhận các gói tin trong mạng. Các thiết kế của các giao thức ở lớp MAC là một
trong những vấn đề trọng tâm của WSNs.
Có rất nhiều giao thức MAC khác nhau trong WSNs, vì mạng thường được tối ưu
hóa cho những ứng dụng cụ thể. Vì vậy, nếu xét một trong những tiêu chuẩn cụ thể
của giao thức MAC sẽ rất khó có thể phù hợp cho mọi ứng dụng khác nhau. Luận văn
này sẽ triển khai và đánh giá hiệu năng của ba giao thức MAC rất phổ biến trong
WSNs, đó là các giao thức XMAC, ContikiMAC và BoXMAC 2. Giao thức XMAC
và ContikiMAC đã được tích hợp sẵn vào hệ điều hành ContikiOS. Giao thức
BoXMAC 2 được đề xuất gần đây nhất, nó được cho là có hiệu năng tốt hơn XMAC
và ContikiMAC trong nhiều ứng dụng, nhưng chưa được tích hợp vào ContikiOS.
Nhiệm vụ đầu tiên của luận văn là thiết kế thuật tốn thực thi giao thức BoXMAC
2 và tích hợp vào hệ điều hành ContikiOS. Sau đó, các ứng dụng cụ thể sẽ được thiết
kế để đo đạc các thông số: tỉ lệ tiếp nhận gói thành cơng, độ trễ truyền gói tin, năng
lượng tiêu thụ của nút cảm biến, và thông lượng của mạng. Cuối cùng, thông qua mô

phỏng trên công cụ Cooja của hệ điều hành ContikiOS và triển khai thực tế trên testbed (Tmote Sky), luận văn sẽ thực hiện đánh giá hiệu năng của các giao thức MAC
để đáp ứng các đặc điểm khác nhau của mạng: lưu lượng tải, can nhiễu và đụng độ
vô tuyến, mật độ nút cảm biến, từ đó, luận văn sẽ đưa ra kết luận khuyến nghị sử dụng
giao thức MAC thích hợp cho các ứng dụng cụ thể.
i


ABSTRACT
When a wireless sensor networks (WSNs) is deployed, we fundamentally care
about three main outcomes: to obtain as much data as possible (high delivery rate),
to obtain data as fast as possible (low latency), and to obtain sensor node operation
for as long as possible (long lifetime). Low-power wireless sensor devices must keep
their radio transceivers off as much as possible to reach a low power consumption,
but must wake up often enough to be able to receive communication from their
neighbors. Medium Access Control (MAC) protocol take care about all mechanisms
of medium access in wireless networks, it can be interpreted as rules that coordinate
when each node is going to transmit/receive packets. The design of a MAC protocol
is one of the major issues in WSNs.
There are many different MAC protocols in WSNs, because the network is usually
optimized for specific applications. So, considering one specific standard of MAC
protocol will be difficult to suitable for all different applications. This thesis will
implement and evaluate the performance of three popular MAC protocols in WSNs:
XMAC, ContikiMAC and BoXMAC 2. XMAC and ContikiMAC protocol was
integrated into ContikiOS. BoXMAC 2 protocol is recent proposal, is said to have
better performance than XMAC and ContikiMAC in many applications, but not yet
integrated into ContikiOS.
The first task of the thesis is to design algorithms to implement BoXMAC 2
protocol and integrated into ContikiOS. Then, the specific application will be
designed to measure the parameters: the packet delivery rate (PDR),


packet

transmission latency, energy consumption of sensor nodes, and network throughput.
Finally, through the simulation on Cooja tool of ContikiOS and actual deployment
on test-bed (Tmote Sky), the thesis will make an assessment to performance of MAC
protocols to meet the different characteristics

of network: traffic load, radio

interference and collision, sensor node density, then, the thesis will make
recommendations using MAC protocol suitable for specific applications.

ii


LỜI CAM ĐOAN
Tôi xin cam đoan rằng luận văn này là cơng trình nghiên cứu do chính bản thân tơi
thực hiện, khơng có sự chỉnh sửa hay sao chép kết quả trong bất cứ tài liệu hay bài
báo nào đã công bố trước đây.
Các số liệu, kết quả trong luận văn được trình bày hồn tồn trung thực dựa trên
q trình làm việc thực tế của bản thân tơi. Luận văn có tham khảo và sử dụng các tài
liệu khoa học được đăng tải trên các tạp chí, hội nghị được đề cập trong phần tài liệu
tham khảo.

TP. Hồ Chí Minh, ngày 18 tháng 06 năm 2016
Học viên thực hiện

Trần Trường Sơn

iii



MỤC LỤC
Chương 1: Giới thiệu ..................................................................................................... 1
1.1 Mạng cảm biến không dây ..................................................................................... 1
1.1.1 Hạn chế tài nguyên ........................................................................................... 1
1.1.2 Giao thức MAC trong WSNs ........................................................................... 4
1.2 Nhiệm vụ của luận văn ........................................................................................... 6
1.3 Ý nghĩa thực tế và phạm vi nghiên cứu .................................................................. 7
1.4 Cấu trúc luận văn .................................................................................................... 8
Chương 2: Tổng quan về mạng cảm biến không dây ................................................. 9
2.1 Giới thiệu ................................................................................................................ 9
2.2 Các vấn đề thiết kế một mạng cảm biến không dây ............................................. 10
2.3 Cấu trúc của nút cảm biến .................................................................................... 12
2.4 Các mơ hình triển khai mạng cảm biến không dây .............................................. 14
2.4.1 Mô hình sao .................................................................................................... 14
2.4.2 Mơ hình lưới .................................................................................................. 14
2.4.3 Mơ hình cây và cụm ....................................................................................... 15
2.5 Phân lớp giao thức trong mạng cảm biến không dây ........................................... 16
2.6 Các lĩnh vực ứng dụng mạng cảm biến không dây .............................................. 18
Chương 3: Giao thức MAC trong mạng cảm biến không dây................................. 21
3.1 Giới thiệu về lớp MAC ......................................................................................... 21
3.1.1 Những thách thức khi thiết kế và lựa chọn giao thức MAC .......................... 21
3.1.2 Chu kì nhiệm vụ ............................................................................................. 24
3.1.3 Phân loại các giao thức MAC ........................................................................ 26
3.2 Giao thức XMAC ................................................................................................. 31
3.2.1 Phân tích nhược điểm giao thức BMAC ........................................................ 31
3.2.2 Ý tưởng cải tiến BMAC của giao thức XMAC ............................................. 32
3.2.3 Thiết kế của giao thức XMAC ....................................................................... 32
3.3 Giao thức ContikiMAC ........................................................................................ 36

3.3.1 Định thời ........................................................................................................ 37
3.3.2 Phát hiện nhiễu và trở về trạng thái ngủ nhanh.............................................. 39
iv


3.3.3 Khóa pha các nút lân cận ............................................................................... 41
3.4 Giao thức BoXMAC 2 .......................................................................................... 42
3.4.1 Định thời ........................................................................................................ 43
3.4.2 Tối ưu khóa pha các nút lân cận .................................................................... 45
Chương 4: Triển khai giao thức MAC trên hệ điều hành Contiki OS ................... 47
4.1 Giới thiệu hệ điều hành Contiki OS và công cụ Cooja ........................................ 47
4.1.1 Hệ điều hành Contiki OS ............................................................................... 47
4.1.2 Công cụ Cooja – Mô phỏng WSNs................................................................ 48
4.2 Triển khai giao thức BoXMAC 2 ......................................................................... 51
4.2.1 Giải thuật thực thi .......................................................................................... 51
4.2.2 Tích hợp giao thức vào hệ điều hành Contiki OS. ......................................... 52
4.2.3 Kiểm tra hoạt động của giao thức. ................................................................. 53
Chương 5: Đánh giá hiệu năng các giao thức MAC ................................................. 57
5.1 Các thông số đánh giá hiệu năng .......................................................................... 57
5.1.1 Năng lượng tiêu thụ ....................................................................................... 57
5.1.2 Mức độ truyền tin cậy .................................................................................... 58
5.1.3 Độ trễ truyền tin ............................................................................................. 59
5.1.4 Thông lượng mạng ......................................................................................... 59
5.2 Đánh giá hiệu năng thông qua mô phỏng ............................................................. 60
5.2.1 Mạng có mật độ nút cảm biến thấp ................................................................ 60
5.2.2 Mạng có mật độ nút cảm biến cao ................................................................. 66
5.3 Đánh giá hiệu năng trên test-bed .......................................................................... 72
5.3.1 Giới thiệu phần cứng Tmote Sky ................................................................... 72
5.3.2 Mơ hình triển khai trên test-bed ..................................................................... 73
5.3.3 Kết quả đánh giá trên test-bed ....................................................................... 74

Chương 6: Kết luận và hướng phát triển .................................................................. 78
6.1 Đánh giá kết quả luận văn .................................................................................... 78
6.2 Hướng phát triển của đề tài .................................................................................. 78
TÀI LIỆU THAM KHẢO ........................................................................................... 80

v


DANH SÁCH HÌNH VẼ
Hình 1. 1: Một số loại nút cảm biến thơng dụng ........................................................ 2
Hình 1. 2: Vị trí lớp MAC trong mơ hình chồng giao thức của WSNs ...................... 4
Hình 1. 3: Radio Duty Cycle - RDC ........................................................................... 5
Hình 2. 1: Mơ hình mạng cảm biến khơng dây........................................................... 9
Hình 2. 2: Các thành phần tạo nên một nút cảm biến ............................................... 12
Hình 2. 3: Sơ đồ khối chức năng của một nút cảm biến ........................................... 13
Hình 2. 4: Các mơ hình mạng sử dụng trong WSNs................................................. 15
Hình 2. 5: Mơ hình chồng giao thức của WSNs ....................................................... 16
Hình 3. 1: Khái niệm chu kì nhiệm vụ ...................................................................... 25
Hình 3. 2: Phân loại các giao thức MAC dựa trên nền tảng CSMA ......................... 27
Hình 3. 3: Hoạt động của giao thức S-MAC............................................................. 27
Hình 3. 4: Hoạt động của RI-MAC với cơ chế Rx thiết lập truyền .......................... 29
Hình 3. 5: Hoạt động của B-MAC với chuỗi preamble dài ...................................... 30
Hình 3. 6: Timeline mơ tả giao thức BMAC và XMAC .......................................... 31
Hình 3. 7: Thiết kế thời gian XMAC-Rx lắng nghe kênh truyền ............................. 33
Hình 3. 8: Thiết kế thời gian giữa hai chuỗi preamble XMAC-Tx .......................... 33
Hình 3. 9: Cấu trúc khung của lớp MAC theo chuẩn IEEE 802.15.4 ....................... 34
Hình 3. 10: Ví dụ một chuỗi preamble của XMAC .................................................. 34
Hình 3. 11: Giao thức XMAC: Rx gửi ACK lỗi ....................................................... 35
Hình 3. 12: Timeline mơ tả giao thức ContikiMAC ................................................. 36
Hình 3. 13: Gửi quảng bá trong giao thức ContikiMAC .......................................... 37

Hình 3. 14: Định thời trong giao thức ContikiMAC ................................................. 38
Hình 3. 15: Chiều dài gói tin lớn hơn quy định ........................................................ 40
Hình 3. 16: Thời gian giữa hai lần truyền lặp lại gói tin khác quy định ................... 40
Hình 3. 17: Khơng phát hiện được chuỗi bắt đầu khung tin ..................................... 41
Hình 3. 18: Tx khóa pha Rx lân cận ......................................................................... 41
Hình 3. 19: Timeline mô tả giao thức BoXMAC 2 so sánh với ContikiMAC ......... 43
Hình 3. 20: Yêu cầu về thời gian lắng nghe kênh truyền của BoXMAC 2 .............. 44

vi


Hình 3. 21: BoXMAC 2: Tx khóa pha Rx lân cận.................................................... 45
Hình 4. 1: Logo hệ điều hành Contiki OS ................................................................ 47
Hình 4. 2: Giao diện của cơng cụ Cooja ................................................................... 48
Hình 4. 3: Cửa sổ Network trong Cooja ................................................................... 49
Hình 4. 4: Cửa sổ Mote output trong Cooja .............................................................. 49
Hình 4. 5: Cửa sổ Radio messages trong Cooja ........................................................ 50
Hình 4. 6: Cửa sổ Timeline trong Cooja ................................................................... 50
Hình 4. 7: Mơ hình mạng kiểm tra hoạt động giao thức BoXMAC 2. ..................... 53
Hình 4. 8: Tx phát quảng bá để thông tin với các nút lân cận .................................. 54
Hình 4. 9: Tx phát liên tục khi truyền gói tin đầu tiên .............................................. 55
Hình 4. 10: Truyền tối ưu và cảm biến tránh đụng độ sóng mang. .......................... 55
Hình 4. 11: Đụng độ tín hiệu..................................................................................... 55
Hình 4. 12: Cắt nhỏ gói tin theo chuẩn IEEE 802.15.4 ............................................ 56
Hình 5. 1: Mơ hình mạng có mật độ nút cảm biến thấp............................................ 61
Hình 5. 2: Chi tiết năng lượng tiêu thụ khi lưu lượng thấp....................................... 61
Hình 5. 3: Chi tiết năng lượng tiêu thụ khi lưu lượng trung bình ............................. 62
Hình 5. 4: Chi tiết năng lượng tiêu thụ khi lưu lượng cao ........................................ 62
Hình 5. 5: So sánh tổng năng lượng tiêu thụ khi lưu lượng thay đổi ........................ 63
Hình 5. 6: So sánh mức độ truyền tin cậy khi lưu lượng thay đổi ............................ 63

Hình 5. 7: So sánh độ trể truyền tin khi lưu lượng thay đổi ..................................... 64
Hình 5. 8: Thống kê PDR của mạng mật độ nút thấp ............................................... 65
Hình 5. 9: Mơ hình mạng có mật độ nút cảm biến cao ............................................. 66
Hình 5. 10: Chi tiết năng lượng tiêu thụ khi lưu lượng thấp, mật độ nút cao ........... 67
Hình 5. 11: Chi tiết năng lượng tiêu thụ khi lưu lượng trung bình, mật độ nút cao . 68
Hình 5. 12: Chi tiết năng lượng tiêu thụ khi lưu lượng cao, mật độ nút cao ............ 68
Hình 5. 13: So sánh tổng năng lượng tiêu thụ khi mật độ nút cao ............................ 69
Hình 5. 14: So sánh mức độ truyền tin cậy khi lưu lượng thay đổi, mật độ nút cao 70
Hình 5. 15: So sánh độ trể truyền tin khi lưu lượng thay đổi, mật độ nút cao .......... 70
Hình 5. 16: Thống kê PDR của mạng mật độ nút cao .............................................. 71
Hình 5. 17: Tmote Sky .............................................................................................. 72
vii


Hình 5. 18: Mơ hình mạng đánh giá trên test-bed. ................................................... 73
Hình 5. 19: Chi tiết năng lượng tiêu thụ của Tmote Sky khi lưu lượng thấp ........... 74
Hình 5. 20: Chi tiết năng lượng tiêu thụ của Tmote Sky khi lưu lượng trung bình .. 75
Hình 5. 21: Chi tiết năng lượng tiêu thụ của Tmote Sky khi lưu lượng cao ............. 75
Hình 5. 22: So sánh năng lượng tiêu thụ của Tmote Sky ......................................... 76
Hình 5. 23: So sánh mức độ truyền tin cậy của Tmote Sky...................................... 76
Hình 5. 24: Thống kê PDR trên test-bed ................................................................... 77

viii


DANH SÁCH BẢNG BIỂU
Bảng 1. 1: Thông số kỹ thuật CPU của các mote. ...................................................... 2
Bảng 1. 2: Thông số kỹ thuật bộ nhớ của các mote .................................................... 3
Bảng 1. 3: Thông số kỹ thuật bộ thu phát vô tuyến của các mote .............................. 3
Bảng 5. 1: Các biến thống kê thời gian được hỗ trợ bởi Tmote Sky. ....................... 57

Bảng 5. 2: Các chế độ tiêu thụ năng lượng của Tmote Sky. ..................................... 57
Bảng 5. 3: Tính tốn các trạng thái của mote từ các biến thống kê thời gian ........... 58
Bảng 5. 4: Ví dụ về tính tốn năng lượng tiêu thụ của mote trong một giờ: ............ 58

ix


DANH SÁCH CÁC TỪ VIẾT TẮT
6LoWPAN

IPv6 over Low power Wireless Personal Area Networks.

ACK

Acknowledgment

ADC

Analog To Digital Converter

ARQ

Automatic Repeat Request

BPSK

Binary Phase Shift Keying

CCA


Clear Channel Assessment

CoAP

Constrained Application Protocol

CPU

Central Processing Unit

CSMA

Carrier Sense Multiple Access

CTS

Clear To Send

DAC

Digital to Analog Converter

FEC

Forward Error Correction

FFD

Full Function Device


GPS

Global Positioning System

ICMP

Internet Control Message Protocol

IoT

Internet of Things

ISM

Industrial, Scientific and Medical

LPL

Low Power Listening

LPM

Low Power Mode

MAC

Medium Access Control

OTA


Over The Air

PDR

Packet Delivery Ratio

PLR

Packet Loss Ratio

QoS

Quality of Service

RAM

Random Access Memory

RDC

Radio Duty Cycle

RF

Radio Frequence

RFD

Reduced Function Device
x



ROM

Read Only Memory

RPL

Routing Protocol for Low-Power and Lossy Networks

RSSI

Received Signal Strentgh Indicator

RTS

Request To Send

Rx

Receiver

SHM

Structure Health Monitoring

SNR

Signal-to-Noise Ratio


TCP

Transmission Control Protocol

TDMA

Time Division Multiple Access

Tx

Transmitter

UDP

User Datagram Protocol

WSN

Wireless Sensor Networks

xi


Chương 1: Giới thiệu

Chương 1: Giới thiệu
Mạng cảm biến không dây (WSNs) là một từ khóa phổ biến trong những năm gần
đây không chỉ trong lĩnh vực viễn thông mà cịn bao trùm lên các lĩnh vực như nơng
nghiệp chính xác, điều khiển giám sát và an ninh, y tế và quân sự…Tuy nhiên, vấn
đề chính ngăn cản việc triển khai phổ biến của mạng cảm biến không dây là các nút

cảm biến thường có một giới hạn về dung lượng pin, ảnh hưởng trực tiếp tới thời gian
sống của nút và hoạt động chung của mạng. Vì vậy, sử dụng hiệu quả năng lượng là
yêu cầu cấp thiết của WSNs để có thể đáp ứng chất lượng dịch vụ của ứng dụng. Luận
văn này tập trung vào phân tích các giao thức kiểm sốt truy cập mơi trường truyền
(MAC), là chìa khóa để giải quyết bài tốn tối ưu năng lượng.
1.1 Mạng cảm biến không dây
Sự phát triển không ngừng của truyền thông không dây và công nghệ cảm biến đã
khai sinh ra mạng cảm biến không dây, trong đó có nhiều ứng dụng bao qt tất cả
các khía cạnh của đời sống con người. Một WSN điển hình thường chứa một số lượng
lớn các nút cảm biến, có khả năng cảm nhận thay đổi hoặc đo đạc các thông số vật lý
của môi trường xung quanh nút. Các nút cảm biến được kết nối không dây để hợp tác
chuyển tải các dữ liệu tới một hay một số giới hạn các nút gọi là “sink”, từ đó dữ liệu
được thu thập và được gom lại xử lý ở một mức cao hơn theo các mục đích khác. Nói
chung, các nút cảm biến có kích thước nhỏ và tối ưu chi phí, do đó các nguồn tài
ngun trên nút cảm biến là rất hạn chế. Nút cảm biến hay có một tên gọi khác là
“mote”, mang nghĩa mỗi nút như một hạt bụi nhỏ bé trong mạng.
Trong phần này, đầu tiên chúng ta sẽ thảo luận về giới hạn tài ngun phần cứng
của nút, sau đó sẽ trình bày sơ lược về vị trí của giao thức MAC trong WSNs, chìa
khóa để giải bài tốn tối ưu năng lượng cho nút cảm biến.
1.1.1 Hạn chế tài nguyên
Để quan sát thực tế sự giới hạn tài nguyên của nút cảm biến, chúng ta lựa chọn
ba loại nút cảm biến được sử dụng thông dụng trong giới học thuật nghiên cứu về
lĩnh vực WSNs, đó là MicaZ mote, Telos B mote và Iris mote như trong hình 1.1.
Trang 1


Chương 1: Giới thiệu

Dựa vào các thông số kỹ thuật được cung cấp của các mote, chúng ta sẽ thảo luận
các thông số bao gồm: đơn vị xử lý trung tâm (CPU), bộ nhớ (memory), bộ thu

phát vô tuyến (RF tranceiver) và năng lượng tiêu thụ.
Đơn vị xử lý trung tâm:
Bảng 1.1 cho thấy đặc tính của một số loại CPU sử dụng cho mote, bao gồm
cả 8 bit và 16 bit với tốc độ xung nhịp tầm 8 MHz. Hiện nay có những bộ vi xử lý
sử dụng cho mote có thể hỗ trợ khơng chỉ một tầm rộng xung nhịp, mà còn hỗ trợ
tần số cao và cực cao. Ví dụ như bộ vi xử lý 32 bit Intel PXZ271 trên Imote2 mote,
hỗ trợ khoảng 13-416MHz. Do đó nó có thể đáp ứng cho hầu hết các nhu cầu của
các ứng dụng tiềm năng trong tương lai.

a) MicaZ mote

b) Telos B mote

c) Iris mote

Hình 1. 1: Một số loại nút cảm biến thông dụng
Bảng 1. 1: Thông số kỹ thuật CPU của các mote [1], [2].
Mica2

MicaZ

Telos B

Iris

ATmega128L

MPR2400 TI

MSP430


XM2100CB

8 bit, 8MHz

8 bit, 8 MHz

16 bit, 8 MHz

8 bit, 8 MHz

Power

36 µW sleep

36 µW sleep

15 µW sleep

36 µW sleep

consumption

60 mW active

60 mW active

5.4 mW active

31 mW active


Chip

Bộ nhớ:
Bảng 1.2 cho thấy thông số của bộ nhớ sử dụng cho các loại mote, kích thước
của bộ nhớ flash nói chung là vừa đủ để lưu trữ đoạn mã code của các chương trình
ứng dụng đơn giản. Nếu phát triển ứng dụng trên nền tảng hệ điều hành Tiny OS
Trang 2


Chương 1: Giới thiệu

với ngơn ngữ lập trình NesC hoặc nền tảng hệ điều hành Contiki OS với ngôn ngữ
C thì kích thước của mã biên dịch chương trình ứng dụng cịn có thể giảm thêm.
Vấn đề chính của bộ nhớ là dung lượng RAM dành cho xử lý dữ liệu và tác vụ rất
ít (ví dụ: 4 Kbytes trên MicaZ hay 10Kbytes trên Telos B). Do đó, các nhà phát
triển ứng dụng cho WSNs cần phải nỗ lực hơn nữa để tối ưu hóa chương trình của
mình để nhu cầu sử dụng bộ nhớ RAM là tối thiểu.
Bảng 1. 2: Thông số kỹ thuật bộ nhớ của các mote
Mica2

MicaZ

Telos B

Iris

RAM

4 Kbytes


4 Kbytes

10 Kbytes

8 Kbytes

Program flash

128 Kbytes

128 Kbytes

48 Kbytes

128 Kbytes

Bộ thu phát vô tuyến:
Bộ thu phát vô tuyến là yếu tố quan trọng nhất trong việc xây dựng WSNs.
Các thông số kỹ thuật của CC1100 trên Mica2, CC2420 trên MicaZ và Telos B, và
RF230 trên Iris được liệt kê tham khảo trong bảng 1.3. Băng thông được cung cấp
bởi các bộ thu phát vô tuyến hoặc là 28.4 kbps, hoặc là 250 kpbs, những giá trị này
thực sự rất thấp nếu so sánh với các công nghệ không dây khác như wifi hay wimax.
Tuy nhiên băng thông trong hầu hết các ứng dụng WSN được yêu cầu chỉ một phần
nhỏ trong số đó, vì thế, băng thơng khơng phải là một vấn đề lớn của WSN. Vấn
đề lớn ở đây là hiệu năng nghèo nàn về chất lượng liên kết phạm vi truyền dẫn
không dây ở môi trường indoor. Do đó, việc thiết kế và lựa chọn một giao thức
MAC hiệu quả giải quyết được vấn đề ở một mức độ nào đó là một mối quan tâm
lớn.
Bảng 1. 3: Thông số kỹ thuật bộ thu phát vô tuyến của các mote

Mica2

MicaZ

Telos B

Iris

Radio chip

CC1100

CC2420

CC2420

RF230

Indoor range

20 – 30m

20 – 30m

20 – 30m

50m

Outdoor


75 – 100m

75 – 100m

75 – 100m

300m

range

Trang 3


Chương 1: Giới thiệu

Bandwidth

38.4 kbps

250 kbps

250 kbps

250 kbps

Power

100 µW sleep

60 µW sleep


60 µW sleep

120 µW sleep

consumption

36 mW receive

63 mW receive

63 mW receive

63 mW receive

75 mW transmit

57 mW transmit

57 mW transmit

76 mW transmit

2 ms setup

1 ms setup

1 ms setup

2 ms setup


Năng lượng tiêu thụ:
Bảng 1.1 và 1.3 đã cho thấy cá thông số tiêu thụ năng lượng của CPU và bộ
thu phát vô tuyến tương ứng của mỗi loại mote. Thông thường, một nút cảm biến
hoàn toàn tiêu thụ khoảng 100 mW bất cứ khi nó đang hoạt động. Nếu nút được
trang bị một cặp pin AA (300mAh), nó sẽ hết năng lượng trong khoảng 100h hoặc
5 ngày. Rõ ràng là, thời gian sống của nút cảm biến tùy thuộc vào cả CPU và bộ
thu phát vô tuyến được bật lên trong bao lâu (tiêu thụ năng lượng trong trạng thái
hoạt động là lớn hơn rất nhiều so với trạng thái ngủ). Nếu so sánh các thông số tiêu
thụ năng lượng, chúng ta có thể thấy ngay bộ thu phát vơ tuyến là thành phần tiêu
thụ năng lượng chính trong các nút cảm biến. Do đó, kiểm sốt hoạt động của bộ
thu phát vô tuyến hiệu quả bởi các giao thức ở lớp MAC là vấn đề thiết yếu nhất.

Hình 1. 2: Vị trí lớp MAC trong mơ hình chồng giao thức của WSNs
Tất cả các thảo luận được trình bày ở trên về giới hạn của nút cảm biến nhằm
đi tới thống nhất về tầm quan trọng to lớn của việc thiết kế và lựa chọn giao thức
MAC cho các ứng dụng trong mạng cảm biến không dây.
1.1.2 Giao thức MAC trong WSNs

Trang 4


Chương 1: Giới thiệu

Lớp MAC trong mạng WSNs là lớp tập hợp các giao thức điều khiển các hoạt
động vô tuyến của nút cảm biến, bao gồm các chức năng [3]:
 Kiểm soát truyền/nhận tin cậy ở mức frame
 Điều khiển đa truy cập vô tuyến
 Điều khiển hoạt động thức/ngủ, truyền/nhận thơng tin của bộ thu phát sóng
vơ tuyến trong các nút.

 Đóng gói các chuỗi bit từ lớp vật lý, kiểm tra lỗi bit.
Các phân lớp chức năng con bên trong lớp MAC:
Lớp Sub MAC: Định địa chỉ vật lý của nút, quản lý truyền tin cậy các frame
thông tin, điều khiển đa truy cập môi trường truyền tránh đụng độ.
Lớp RDC (Radio Duty Cycle): Điều khiển kế hoạch thức/ngủ của bộ thu phát
sóng vơ tuyến của nút. Ví dụ: Giao thức X-MAC.
Lớp Framer: đóng gói các khung dữ liệu để truyền đi qua lớp vật lý, phân
tích, kiểm tra lỗi các khung dữ liệu nhận được từ lớp vật lý.

Hình 1. 3: Radio Duty Cycle - RDC
Trong khuôn khổ luận văn này, sẽ tập trung vào nghiên cứu và đánh giá hiệu
năng ba giao thức X-MAC, ContikiMAC và BoX-MAC 2 nằm ở lớp MAC, cụ
thể là ở phân lớp con RDC – điều khiển hoạt động thức/ngủ của bộ thu phát sóng
vơ tuyến, có ảnh hưởng lớn nhất tới việc sử dụng năng lượng hiệu quả của các nút

Trang 5


Chương 1: Giới thiệu

cảm biến trong WSNs. Sở dĩ ba giao thức MAC này được chọn để triển khai đánh
giá vì XMAC là giao thức nổi tiếng và thơng dụng từ lâu, ContikiMAC và
BoXMAC 2 lần lượt được đề xuất gần đây với mục tiêu cải thiện hiệu năng hơn
rất nhiều so với XMAC, trở thành hai giao thức phổ biến nhất. Nhưng giữa
ContikiMAC và BoXMAC 2 giao thức nào có hiệu năng tốt hơn là một câu hỏi
lớn mà chưa có một cơng bố khoa học nào kết luận.
1.2 Nhiệm vụ của luận văn
Khi hệ điều hành Contiki OS được phát triển, cùng với Tiny OS trở thành hai hệ
điều hành phổ biến nhất cho các nhà phát triển ứng dụng trong lĩnh vực WSNs, giao
thức XMAC và ContikiMAC đã được tích hợp sẵn vào hệ điều hành Contiki OS. Dựa

vào công cụ mô phỏng trực quan trên hệ điều hành Contiki OS, có thể triển khai và
đánh giá so sánh hiệu năng giữa ContikiMAC và XMAC. Tuy nhiên, giao thức
BoXMAC 2 lại chưa được hỗ trợ trên Contiki OS. Do vậy, luận văn này sẽ thực hiện
thiết kế thuật tốn thực thi giao thức BoXMAC 2 để tích hợp vào Contiki OS, từ đó
có cơng cụ để thực hiện các bài đánh giá nhiều tính chất khác nhau để so sánh và kết
luận hiệu năng của cả ba giao thức XMAC, ContikiMAC và BoXMAC 2. Nhiệm vụ
chính của luận văn sẽ là:
 Tìm hiểu về Mạng cảm biến khơng dây (WSNs).
 Xây dựng thuật tốn thực hiện giao thức MAC trong WSNs.
 Triển khai đánh giá hiệu năng các giao thức MAC trên nền tảng hệ điều hành
Contiki OS với công cụ mô phỏng Cooja.
 Triển khai các giao thức MAC trên test-bed đánh giá các thông số trên thực tế.
Kết quả dự kiến đạt được: Thông qua mô phỏng và triển khai thực tế:
 Thống kê đủ số liệu để đánh giá hiệu năng của các giao thức MAC trong các
mơ hình mạng khác nhau.
 Đưa ra đề xuất khuyến nghị sử dụng các giao thức MAC trong các ứng dụng
cụ thể.

Trang 6


Chương 1: Giới thiệu

1.3 Ý nghĩa thực tế và phạm vi nghiên cứu
Kết quả thu được của đề tài sẽ đóng góp cho cộng đồng nghiên cứu và phát triển
ứng dụng trong lĩnh vực mạng cảm biến không dây hai mục sau:
 Giao thức BoXMAC 2 được tích hợp vào hệ điều hành Contiki OS, giúp cho
người phát triển ứng dụng có thêm một sự lựa chọn giao thức MAC cho thiết
kế nút cảm biến trong ứng dụng của mình. Bản thân giao thức BoXMAC 2 có
nhiều ưu điểm nổi trội so với các giao thức MAC hiện nay, sẽ giúp tối ưu hóa

năng lượng tiêu thụ của nút cảm biến mà vẫn đảm bảo các yêu cầu về QoS của
ứng dụng.
 Kết luận về so sánh hiệu năng ba giao thức trong các đặc trưng mơ hình mạng
cụ thể sẽ là một thơng tin tham khảo có giá trị cao, giúp cho các nhà phát triển
ứng dụng lựa chọn đúng giao thức MAC phù hợp với ứng dụng của mình để
đạt hiệu năng tốt nhất.
Phạm vi nghiên cứu thực hiện của đề tài sẽ bao gồm các nội dung sau:
 Tập trung nghiên cứu cơ chế hoạt động của ba giao thức: X-MAC, BoXMAC
2 và ContikiMAC.
 Tìm hiểu cấu trúc hệ điều hành Contiki OS.
 Thiết kế thuật toán để thực hiện giao thức BoXMAC 2 và tích hợp vào hệ điều
hành Contiki OS.
 Thiết kế các chương trình ứng dụng cụ thể để đo đạc các thông số cần đánh
giá: năng lượng tiêu thụ (energy consumption), tỉ lệ gửi gói thành cơng (PDR),
độ trể truyền gói tin (latency), và thông lượng của mạng (throughput).
 Sử dụng công cụ mô phỏng Cooja trong hệ điều hành Contiki OS để triển khai
đánh giá kết quả so sánh hiệu năng các giao thức MAC thông qua mô phỏng.
 Sử dụng các Tmote Sky để triển khai trên test-bed.
 Sử dụng phần mềm Excel để hỗ trợ xử lý số liệu, vẽ và phân tích biểu đồ các
số liệu thu được phục vụ đánh giá hiệu quả giao thức.

Trang 7


Chương 1: Giới thiệu

1.4 Cấu trúc luận văn
Luận văn gồm có 6 chương:
Chương 1: Giới thiệu
Giới thiệu tổng quan về đề tài luận văn, giúp người đọc có cái nhìn tổng quan về

đề tài, những nội dung chính thực hiện trong luận văn và kết quả dự kiến đạt được.
Chương 2: Tổng quan về mạng cảm biến khơng dây
Tìm hiểu tổng quan về WSNs, các vấn đề cần quan tâm khi thiết kế WSNs, cấu
trúc của nút cảm biến trong WSNs, các mơ hình mạng trong WSNs, phân lớp chồng
giao thức của WSN, các lĩnh vực ứng dụng WSNs.
Chương 3: Giao thức MAC trong mạng cảm biến không dây
Đi sâu tìm hiểu về chức năng của lớp MAC, các vấn đề cần quan tâm khi thiết kế
giao thức MAC trong WSNs, về nguyên lý hoạt động của các giao thức lớp MAC,
phân tích chi tiết hoạt động của ba giao thức XMAC, ContikiMAC và BoXMAC 2.
Chương 4: Triển khai giao thức MAC trên hệ điều hành Contiki OS
Giới thiệu cơ bản về hệ điều hành Contiki OS và công cụ Cooja để hỗ trợ mơ
phỏng WSNs, trình bày sơ đồ giải thuật thực thi giao thức BoXMAC 2 và cách tích
hợp giao thức vào Contiki OS, cuối cùng sẽ dựa vào công cụ mô phỏng Cooja để
kiểm tra timeline hoạt động của giao thức BoXMAC 2 đúng theo nguyên lý thiết kế.
Chương 5: Đánh giá hiệu năng các giao thức MAC
Trình bày các thơng số cần đo đạc, nêu ra các kết quả cần thu thập để có cơ sở dữ
liệu đủ để phân tích đánh giá hiệu năng của giao thức lớp MAC. Các kết quả thu được
từ mô phỏng và chạy trên test-bed sẽ được phân tích để xây dựng các biểu đồ so sánh,
đánh giá hiệu năng của các giao thức MAC theo các tiêu chuẩn cụ thể, từ đó đưa ra
nhận xét và khuyến nghị sử dụng giao thức MAC cho các ứng dụng.
Chương 6: Kết luận và hướng phát triển
Tóm tắt lại các kết quả thu được của luận văn, và đề xuất hướng phát triển.

Trang 8


Chương 2: Tổng quan về WSNs

Chương 2: Tổng quan về mạng cảm biến không dây
2.1 Giới thiệu

Một mạng cảm biến không dây (WSNs) được cấu thành từ một tập hợp số lượng
lớn các nút cảm biến có nhiệm vụ đo đạc các thông số vật lý (như nhiệt độ, áp suất,
rung động, áp lực) hay phát hiện sự thay đổi của mơi trường, sự vật xung quanh vị trí
nó được triển khai, từ đó truyền dữ liệu thu thập được thông qua các kết nối vô tuyến
tới một hoặc một số nút trung tâm gọi là “sink” hoặc “coordinator”, nơi mà dữ liệu
sẽ được quan sát, phân tích và xử lý. Nút trung tâm được coi là điểm cung cấp giao
tiếp giữa người dùng và mạng lưới các nút cảm biến. Người khai thác mạng cảm biến
có thể lấy thơng tin cần thiết từ mạng bằng cách gửi yêu cầu vào nút trung tâm bằng
kết nối cục bộ trực tiếp hoặc từ xa thơng qua mạng internet, sau đó nhận lại kết quả
đo đạc từ một nút cảm biến bất kỳ trong mạng trả về cũng thông qua nút trung tâm.
Hình 2.1 là một mơ hình ví dụ trực quan mơ tả về mạng cảm biến khơng dây.

Hình 2. 1: Mơ hình mạng cảm biến khơng dây
Thơng thường, một mạng cảm biến có thể lên tới hàng trăm, hàng ngàn nút cảm
biến. Một nút cảm biến không dây về cơ bản được trang bị các khối: CPU, bộ nhớ,
bộ thu phát vô tuyến, pin và các loại cảm biến theo nhu cầu sử dụng khác nhau. Có
một đặc trưng chung của tất cả các khối trong nút cảm biến là đều có tài nguyên hạn

Trang 9


Chương 2: Tổng quan về WSNs

chế: bộ xử lý với tốc độ hạn chế, bộ nhớ eo hẹp, bộ thu phát vô tuyến đáp ứng băng
thông thấp và một nguồn pin cung cấp hạn chế. Sau khi các nút cảm biến được triển
khai, chúng có trách nhiệm tự tìm kiếm và tổ chức kết nối tới các nút khác trong hạ
tầng mạng để tìm ra cách thức gửi thơng tin tới sink qua multi-hop, trước khi bắt đầu
nhiệm vụ thu thập, đo đạc thông tin của các cảm biến trang bị trên nó để gửi về trung
tâm. Các nút cảm biến thường hoạt động theo một trong hai chế độ: chế độ thường
xuyên (đo đạc) hay chế độ sự kiện (quan sát, theo dõi). Vị trí của các nút cảm biến

trong mạng có thể được xác định thơng qua một trong hai tùy chọn đó là sử dụng GPS
hoặc sử dụng các thuật tốn xác định vị trí cụ bộ.
WSNs cho phép khai thác các ứng dụng mới và đòi hỏi các giao thức được thiết
kế đơn giản và tối ưu một các phi thường để có thể thích nghi với các hạn chế về tài
nguyên phần cứng. Do yêu cầu về độ phức tạp của thiết bị thấp, cùng với mức năng
lượng tiêu thụ thấp, một sự cân bằng thích hợp giữa khả năng truyền thơng tin và khả
năng xử lý tín hiệu/dữ liệu cần phải được quyết định, điều này thúc đẩy một nỗ lực
rất lớn trong hoạt động nghiên cứu, q trình chuẩn hóa và đầu tư công nghiệp vào
lĩnh vực này kể từ những năm cuối cùng của thập niên 2000 (từ 2009 trở đi) cho tới
nay.
Một loạt các giao thức kinh điển dành riêng cho lĩnh vực mạng cảm biến khơng
dây có thể kể đến như là ContikiMAC hay BoXMAC ở lớp MAC, RPL hay
6LoWPAN ở lớp mạng, và CoAP hay MQTT ở lớp ứng dụng. Song song với đó, các
nền tảng hệ điều hành mới dành riêng cho việc phát triển ứng dụng trong mạng cảm
biến như Tiny OS hay Contiki OS đã tạo nên một khơng gian làm việc mở cực kì
thuận tiện cho các nhà phát triển, hứa hẹn sẽ tạo ra hệ sinh thái ứng dụng phong phú
cho mạng cảm biến không dây.
2.2 Các vấn đề thiết kế một mạng cảm biến không dây
Khả năng chịu lỗi (fault tolerance ability): các nút cảm biến thường xuyên được
triển khai trong các môi trường chứa đựng nhiều nguy cơ gây nguy hiểm của ngoại
cảnh, có thể tác động vào gây lỗi phần cứng hoặc làm nhanh hết nguồn pin của nút.
Do vậy, các giao thức được triển khai trong WSNs cần phải có khả năng phát hiện
Trang 10


×