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

Triển khai, đánh giá giao thức mqtt hỗ trợ truyền thông m2m trên nền tảng contiki os

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.29 MB, 74 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------

LƯU QUANG QUYẾT

TRIỂN KHAI, ĐÁNH GIÁ GIAO THỨC MQTT HỖ TRỢ
TRUYỀN THÔNG M2M TRÊN NỀN TẢNG CONTIKI OS

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH - 2016


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------

LƯU QUANG QUYẾT

TRIỂN KHAI, ĐÁNH GIÁ GIAO THỨC MQTT HỖ TRỢ
TRUYỀN THÔNG M2M TRÊN NỀN TẢNG CONTIKI OS

Chuyên ngành: Kỹ thuật viễn thông
Mã số chuyên ngành: 60 52 02 08

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH - 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: 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. PGS. TS. Võ Nguyễn Quốc Bảo ...............................................................................
2. TS. Hà Hồng Kha. ...................................................................................................
3. TS. Trương Cơng Dung Nghi ...................................................................................
4. TS. Trần Trung Duy ..................................................................................................
5. TS. Nguyễn Minh Hoàng ..........................................................................................
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


CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Độ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: Lưu Quang Quyết .........................................MSHV: 7140450
Ngày, tháng, năm sinh: 21/08/1983 .........................................Nơi sinh: Hưng Yên
Chuyên ngành: Kỹ Thuật Viễn Thông .....................................Mã số: 60520208
I. TÊN ĐỀ TÀI: “TRIỂN KHAI, ĐÁNH GIÁ GIAO THỨC MQTT HỖ TRỢ
TRUYỀN THÔNG M2M TRÊN NỀN TẢNG CONTIKI OS”.
NHIỆM VỤ VÀ NỘI DUNG:
Triển khai giao thức MQTT hỗ trợ truyền thông machine-to- machine trên nền
tảng hệ điều hành Contiki. Triển khai trên hệ thống thực tế bao gồm khoảng 8 nút
cảm biến. Mô phỏng kết hợp đo kiểm các thông số trên hệ thống thực nhằm đánh giá
kết quả.
Kết quả đạt được: Thông qua mô phỏng và triển khai thực tế:
 Giao thức MQTT hoạt động được trên hệ thống thực tế. So sánh kết quả đo
đạc với giao thức trước đó trong kịch bản truyền thơng M2M .
II. NGÀY GIAO NHIỆM VỤ:
III. NGÀY HOÀN THÀNH NHIỆM VỤ:
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
Em xin bày tỏ niềm tri ân sâu sắc tới sự quan tâm, giúp đỡ, hướng dẫn tận tình
của thầy Võ Quế Sơn. Trong suốt quá trình thực hiện đề tài, dù gặp khơng ít khó khăn
nhưng nhờ có sự định hướng và hỗ trợ của thầy, em đã có thể hồn thành đề tài này.
Em xin chân thành cám ơn các Thầy, Cô thuộc bộ môn Viễn Thơng nói riêng
cũng các Thầy, Cơ thuộc các Bộ Mơn khác của trường Đại học Bách Khoa – Đại học
Quốc Gia Tp.HCM đã truyền đạt cho chúng em những kiến thức, hành trang vô cùng
quý báu trong suốt thời gian học tập tại trường. Chính các thầy cơ đã cho em niềm
đam mê với lĩnh vực viễn thơng nói riêng và cơng tác nghiên cứu nói chung.
Tơi xin chân thành cảm ơn tới tồn thể gia đình, bạn bè, đồng nghiệp… đã hỗ
trợ tơi rất nhiều trong suốt q trình thực hiện đề tài. Đặc biệt là anh Võ Trọng Tuấn
Anh – Phó phịng Quản lý phần mềm - Ứng dụng công ty SCTV đã hỗ trợ tôi rất
nhiều trong suốt q trình thực hiện đề tài.


Thành phố Hồ Chí Minh, ngày 20/6/2016
Học viên

Lưu Quang Quyết

ii


TÓM TẮT LUẬN VĂN
Ngay từ khi ra đời, mạng cảm biến khơng dây như tên gọi của nó nhằm hướng
tới việc thu thập thông tin, giám sát môi trường xung quanh thông qua các thiết bị
cảm biến. Tuy nhiên, các hệ thống mạng cảm biến hiện nay với rất nhiều giao thức
mạng được tích hợp từ thấp tới cao lại chưa được tích hợp một giao thức tập trung
vào việc thu thập thơng tin theo mơ hình data-centric.
Nhiệm vụ của luận văn là việc lập trình các thuật tốn để triển khai giao thức
MQTT-SN, phiên bản hỗ trợ nền tảng mạng cảm biến của Message Queue Telemetry
Transport - giao thức truyền tin ở lớp ứng dụng theo mơ hình “data-centric” nên nền
tảng hệ điều hành mã nguồn mở được thiết kế cho mạng cảm biến là Contiki OS.
Sau khi triển khai, giao thức MQTT-SN sẽ được triển khai lên thiết bị T-mote
Sky. Kết hợp mô phỏng trên phần mềm Contiki/Cooja để so sánh, đánh giá giao thức
MQTT-SN với giao thức truyền tin tại lớp ứng dụng phổ biến hiện nay trên Contiki
là CoAP trong các kịch bản truyền tin machine-to-machine (M2M) trong mạng cảm
biến không dây (WSNs).
Các thông số đánh giá: tỷ lệ mất gói (Packet Reception Rate - PRR), độ trễ
truyền (End-to-end delay) và hiệu quả sử dụng năng lượng. Từ đó đưa ra kết luận về
những đặc điểm cũng như ứng dụng của nó.
Kết quả từ thực nghiệm và mơ phỏng cho thấy giao thức MQTT-SN có tỷ lệ
mất gói thấp hơn nhiều so với giao thức CoAP. Năng lượng tiêu thụ trung bình của
các nút chạy giao thức MQTT-SN trong kịch bản mô phỏng khoảng 20 nút thấp hơn

CoAP trong cùng kịch bản. Độ trễ truyền trung bình của hai giao thức tương đương
nhau.
Trước khi đi vào tìm hiểu các vấn đề trên, luận văn cũng trình bày một số nét
cơ bản, khái quát vê mạng cảm biến không dây và những vấn đề cần quan tâm khi
thiết kế mạng này.

iii


ABSTRACT
Since its beginning, wireless sensor networks, as the name suggests, have
aimed at gathering information and monitoring surrounding environment through
sensor devices. However, currently used wireless sensor networks, with all of their
multi-level integrated network protocols, have not been integrated with a protocol
which is designed focus on collect information (data-centric).
The task of this thesis is programming algorithms to deploy MQTT-SN
protocol, a sensor network platform supported version of the Message Queue
Telemetry Transport – a communication protocol of the application layer in the model
of "data-centric" on the Contiki OS platform - an of open source operating systems
designed for sensor networks.
After deployment, MQTT-SN protocol will be applied to a T-mote Sky device.
It will be combined with simulation on Contiki/Cooja software in order to evaluate
MQTT-SN protocol with commonly used protocol is CoAP in machine-to-machine
(M2M) communication scenarios.
The evaluation parameters: end-to-end packet loss rate (Packet Reception Rate
- PRR), transmission delay (end-to-end delay) and energy efficiency. The results will
be used to draw conclusions about the features of the protocol as well as its
application.
Results from experiments and simulations indicate that the packet loss rate of
MQTT-SN protocol is much lower than that of CoAP protocol. The average power

consumption of the node running MQTT-SN protocol (in 20-node simulation
scenario) is also lower than that of CoAP in the same scenario. The average
transmission latency of two protocols are similar in long .
Before making a more thorough examination of these issues, the thesis also
presents a general overview on wireless sensor networks and issues to be considered
when designing such networks.

iv


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ó sao chép nội dung hay 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 20 tháng 06 năm 2016
Học viên thực hiện

Lưu Quang Quyết

v


Mục lục
CHƯƠNG I. ........................................................................................................................... 1
MỞ ĐẦU ............................................................................................................................... 1

1.1.
1.2.
1.3.
1.4.
1.5.

Động cơ ................................................................................................................... 1
Mục tiêu của đề tài .................................................................................................. 1
Ý nghĩa của đề tài .................................................................................................... 2
Phương pháp nghiên cứu và phạm vi nghiên cứu của đề tài ................................... 2
Cấu trúc của luận văn .............................................................................................. 3

CHƯƠNG II. ......................................................................................................................... 4
TỔNG QUAN VỀ ĐỀ TÀI VÀ ............................................................................................. 4
LÝ THUYẾT LIÊN QUAN .................................................................................................. 4
2.1.

TỔNG QUAN VỀ ĐỀ TÀI ..................................................................................... 4

2.1.1.
2.1.2.
2.2.

Nhìn nhận vấn đề ............................................................................................. 4
Các nghiên cứu liên quan ................................................................................. 5

TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY ........................................ 9

2.2.1. Cấu trúc mạng cảm biến không dây................................................................. 9
2.2.2. Tổng quan về nút cảm biến ............................................................................ 11

2.2.2.1. Tmote Sky .................................................................................................. 13
2.2.2.2. Zolertia Z1 .................................................................................................. 14
2.3.
2.4.

Hệ điều hành Contiki OS ...................................................................................... 14
Contiki Network Stack .......................................................................................... 19

2.4.1.
2.4.2.
2.4.3.
2.4.4.

Physical Layer................................................................................................ 20
MAC Layer .................................................................................................... 20
Network Layer ............................................................................................... 22
Transport layer ............................................................................................... 23

CHƯƠNG III. ...................................................................................................................... 24
GIAO THỨC MQTT ........................................................................................................... 24
3.1.

Các kiến trúc trao đổi thông tin ............................................................................. 24

3.1.1.
3.1.2.
3.2.

Kiến trúc Address-centric .............................................................................. 24
Kiến trúc Data-centric .................................................................................... 24


Giao thức MQTT................................................................................................... 26

3.2.1.
3.2.2.

Kiến trúc của giao thức MQTT-SN ............................................................... 27
Định dạng gói tin MQTT-SN......................................................................... 28

CHƯƠNG IV. ...................................................................................................................... 32
TRIỂN KHAI GIAO THỨC MQTT-SN LÊN HỆ ĐIỀU HÀNH CONTIKI ..................... 32
4.1.

Triển khai giao thức MQTT-SN............................................................................ 32

4.1.1.

Triển khai nút Publisher ................................................................................. 34
vi


4.1.2.
4.1.3.

Triển khai Subscriber ..................................................................................... 40
Triển khai Broker ........................................................................................... 41

CHƯƠNG V. ....................................................................................................................... 45
KẾT QUẢ MÔ PHỎNG VÀ THỰC NGHIỆM .................................................................. 45
5.1.

5.2.

Giới thiệu công cụ mô phỏng Cooja ..................................................................... 45
Kết quả mô phỏng và thực nghiệm ....................................................................... 47

5.2.1. Kết quả mô phỏng .......................................................................................... 48
5.2.1.1. Kịch bản 1 .................................................................................................. 48
5.2.1.2. Kịch bản 2 .................................................................................................. 49
5.2.1.3. Kịch bản 3 .................................................................................................. 52
5.3.

Thực nghiệm trên T-mote Sky .............................................................................. 53

CHƯƠNG VI. ...................................................................................................................... 56
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ........................................................................... 56
6.1.
6.2.

Kết luận ................................................................................................................. 56
Hướng phát triển đề tài.......................................................................................... 56

DANH MỤC TÀI LIỆU THAM KHẢO ............................................................................. 58

vii


Danh mục hình ảnh
Hình 2. 1: Common Gateway ................................................................................................ 5
Hình 2. 2: System model for end-to-end delay estimate........................................................ 6
Hình 2. 3: Mơ hình kết nối giữa các module ......................................................................... 6

Hình 2. 4: Mơ hình thực hiện MQTT vs CoAP for smartphone-based sensing .................... 7
Hình 2. 5: Mơ hình QEST broker .......................................................................................... 8
Hình 2. 6: Cấu trúc của mạng cảm biến khơng dây ............................................................... 9
Hình 2. 7: So sánh IP Protocol Stack với 6LoWPAN Protocol Stack ................................. 10
Hình 2. 8: Cấu trúc nút cảm biến ......................................................................................... 12
Hình 2. 9: Cấu trúc T-mote Sky........................................................................................... 14
Hình 2. 10: Mơ hình thực thi tiến trình trong Contiki ......................................................... 15
Hình 2. 11: Hàng đợi tiến trình trong Contiki ..................................................................... 16
Hình 2. 12: Cơ chế cấp phát bộ nhớ của Contiki ................................................................. 17
Hình 2. 13: Contiki multithreading ...................................................................................... 19
Hình 2. 14: Contiki Netstack ............................................................................................... 19
Hình 2. 15: RPL Instance ..................................................................................................... 23
Hình 3. 1: Mơ hình Publish/Subscribe ................................................................................. 25
Hình 3. 2: Mạng cảm biến theo mơ hình Publish/Subsribe ................................................. 25
Hình 3. 3: Kiến trúc của giao thức MQTT-SN .................................................................... 27
Hình 3. 4: Transparent Gateway và Aggregating Gateway ................................................. 28
Hình 3.5: Cấu trúc cơ bản của gói tin MQTT-SN ............................................................... 28
Hình 3. 7: Quá trình gửi tin với QoS level 2 ....................................................................... 31
Hình 4.1: Mạng cảm biến sử dụng giao thức MQTT-SN với broker là nút cảm biến ......... 32
Hình 4. 2: Mơ hình Network stack thực hiên trong đề tài ................................................... 33
Hình 4. 3: Mơ hình triển khai giao thức MQTT-SN ............................................................ 33
Hình 4.4: Quá trình kết nối trong giao thức MQTT-SN ...................................................... 34
Hình 5.1: Giao diện cơng cụ Cooja...................................................................................... 45
Hình 5.2: Mơ hình mơ phỏng trên Contiki/Cooja ................................................................ 46

viii


Danh mục bảng biểu
Bảng 2. 1: Thông số năng lượng tiêu thụ của T-mote Sky[14] ........................................... 13

Bảng 3.1: Các kiểu bản tin MQTT ...................................................................................... 29
Bảng 5. 1: Tỷ lệ truyền thành công ...................................................................................... 48
Bảng 5. 3: Trễ truyền tin trung bình tồn mạng................................................................... 49
Bảng 5. 4: Hiệu quả sử dụng năng lượng ............................................................................ 49
Bảng 5. 5: Tỷ lệ truyền thành cơng ...................................................................................... 50
Bảng 5. 6: Trễ truyền tin trung bình toàn mạng................................................................... 50
Bảng 5. 7: Thống kê tỷ lệ thành công trên mỗi nút mạng trong giao thức CoAP ............... 51
Bảng 5. 8: Hiệu quả sử dụng năng lượng ............................................................................ 51
Bảng 5. 9: So sánh tỷ lệ truyền thành công giữa các mức QoS trong MQTT-SN ............... 52
Bảng 5. 10: Trễ truyền tin trung bình các mức QoS ............................................................ 53
Bảng 5. 11: Hiệu quả sử dụng năng lượng .......................................................................... 53
Bảng 5. 12: Testbed ............................................................................................................. 54
Bảng 5. 13: Kết quả thực nhiệm với 5 nút cảm biến. .......................................................... 54

ix


DANH SÁCH CÁC TỪ VIẾT TẮT
ACK

Acknowledgement

Contiki OS

Contiki Operation System

CoAP

Constrained Application Protocol


DAG

Directed Acyclic Graph

DODAG

Destination Oriented DAG

FFD

Full Function Device

HTTP

HyperText Transport Protocol

IEEE

Institute of Electrical and Electronics Engineers

IoT

Internet of Things

IPv6

Internet Protocol version 6

MAC


Medium Access Control

M2M

Machine to machine

MQTT

Message Queue Telemetry Transport

MQTT-SN

Message Queue Telemetry Transport for Sensor Network

OTA

Over The Air

PHY

Physical

PAN-ID

Personal Area Network Identifier

PRR

Packet Reception Rate


RDC

Radio Duty Cycle

RPD

Reduced Function Device

REST

Representational State Transfer

UDP

User Datagram Protocol

WSN

Wireless Sensor Network

6LoWPAN

IPv6 over Low-power Personal Area Network

x


1. MỞ ĐẦU

CHƯƠNG I.


MỞ ĐẦU
1.1.

Động cơ
Mạng cảm biến không dây (Wireless Sensor Networks – WSNs) ra đời tạo

điều kiện cho việc phát triển các ứng dụng giám sát, theo dõi những tác động vật lý
của môi trường xung quanh. Những tiến bộ của khoa học, kỹ thuật cùng những yêu
cầu ngày càng cao đối với cuộc sống của con người là động lực để các nhà khoa học
phát triển các cơng cụ phục vụ cho việc xây dựng và hồn thiện các hệ thống WSNs.
Contiki OS, một hệ điều hành mã nguồn mở, là công cụ phổ biến để xây dựng
các ứng dụng mạng cảm biến. Contiki được sử dụng rộng rãi trong các nghiên cứu về
WSNs. Nó đồng thời được hỗ trợ bởi rất nhiều các công ty chuyên về lĩnh vực phần
cứng, mạng như: Atmel, Cisco, ETH, Redwire LLC, SAP, Thingsquare,...[2]. Contiki
được tích hợp rất nhiều giao thức phổ biến từ lớp vật lý tới ứng dụng, nhưng lại chưa
được tích hợp các giao thức tập trung vào việc thu thập thông tin theo kiến trúc datacentric.
Một trong những giao thức phổ biến của kiến trúc data-centric là Message
Queue Telemetry Transport – MQTT, giao thức theo mơ hình Publish/Subscribe
(Pub/Sub). MQTT tập trung vào việc thu thập thông tin mà không cần phải quan tâm
đến địa chỉ, đường dẫn tới nguồn cung cấp tin, nó chỉ quan tâm tới loại tin cần nhận.
MQTT hứa hẹn sẽ là giao thức phù hợp cho mạng cảm biến, nơi thông tin giám sát
quan trọng hơn là tình trạng của các thiết bị giám sát.
1.2.

Mục tiêu của đề tài

 Triển khai giao thức MQTT, phiên bản hỗ trợ truyền thông M2M trong mạng
cảm biến không dây – giao thức được định danh là MQTT-SN (MQTT for
Sensor Network) trên nền tảng Contiki OS, một nền tảng mà từ đây có thể dễ

dàng triển khai trên các ứng dụng thực tế.
 Mô phỏng, kết hợp kiểm tra trên testbed nhằm đánh giá hoạt động của giao
thức. Thu thập, đánh giá các tiêu chí về hiệu quả sử dụng như: tỷ lệ truyền

Trang 1


1. MỞ ĐẦU

thành công, độ trễ truyền tin, hiệu quả sử dụng năng lượng. So sánh MQTTSN với giao thức lớp ứng dụng phổ biến trên Contiki hiện nay là CoAP.
 Dựa vào các kết quả thu thập được, đánh giá ưu, nhược điểm của giao thức
MQTT-SN nhằm đưa ra các khuyến nghị về kịch bản sử dụng.
1.3.

Ý nghĩa của đề tài
Ý nghĩa khoa học: Sau khi triển khai thành cơng có thể đánh giá được hiệu quả

của gia thức MQTT-SN trong mơ hình truyền thơng M2M trong mơi trường mạng
cảm biến khơng dây, từ đó có thể thấy ưu, nhược điểm của giao thức này. Đồng thời
có cái nhìn tổng quan về giao thức, nhờ vậy có thể lựa chọn kịch bản sử dụng phù
hợp, tối đa hóa những ưu điểm của nó.
Ý nghĩa thực tiễn: Việc triển khai lên nền tảng Contiki OS cho phép cộng đồng
đông đảo các công ty sản xuất thiết bị, người dùng cuối của hệ điều hành này có thể
sử dụng. Với việc tích hợp thành cơng giao thức, người dùng cuối chỉ cần gọi giao
thức này lên là có thể sử dụng cho các ứng dụng của mình một cách dễ dàng.
1.4.

Phương pháp nghiên cứu và phạm vi nghiên cứu của đề tài
Triển khai giao thức MQTT-SN lên hệ điều hành Contiki. Tiến hành thí


nghiệm mơ phỏng trên cơng cụ mơ phỏng mạng cảm biến không dây Contiki/Cooja
với hoạt động là thu thập thông tin về nhiệt độ, ánh sáng một cách tự động theo thời
gian trong một kịch bản mạng cảm biến có khoảng 20 nút mạng.
Thực nghiệm trên Testbed là các nút cảm biến loại T-mote Sky với số lượng
hạn chế.
Thực hiện các kịch bản tương tự với giao thức CoAP, thu thập kết quả trong
hai trường hợp của hai giao thức, tiến hành so sánh và đánh giá ưu nhược điểm của
mỗi giao thức.
Do thời gian có hạn nên phạm vi nghiên cứu của đề tài trước mắt tập trung vào
việc triển khai giao thức MQTT-SN lên hệ điều hành Contiki, giao thức MQTT-SN
có hỗ trợ các mức QoS từ -1 tới 2. Đề tài sẽ triển khai và đánh giá giao thức với các
mức QoS 0 và QoS 1.
Việc thực nghiệm trên các nút cảm biến chỉ dừng lại ở 5 nút mạng do số lượng
hạn chế.
Trang 2


1. MỞ ĐẦU

1.5.

Cấu trúc của luận văn
Luận văn được chia làm 5 chương:
Chương 1: Mở đầu
Giới thiệu tổng quan về 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 được trình bày trong luận văn và kết quả dự kiến đạt được.
Chương 2: Tổng quan về đề tài và lý thuyết liên quan
Tìm hiểu tổng quan về đề tài, đặc điểm của mạng cảm biến không dây, nút
cảm biến. Tổng quan về hệ điều hành Contiki OS, công cụ mô phỏng Cooja, các phân

lớp trong mơ hình giao thức mạng của WSN, các lĩnh vực ứng dụng WSNs.
Chương 3: Giao thức MQTT
So sánh mơ hình truyền tin address-centric và data-centric, các giao thức nổi
bật đại diện cho hai mơ hình trên. Đi sâu tìm hiểu giao thức MQTT và phiên bản cho
mạng cảm biến là MQTT-SN.
Chương 4: Triển khai giao thức MQTT-SN lên hệ điều hành Contiki
Triển khai các thành phần mạng trong giao thức MQTT-SN. Bao gồm các nút
broker, publisher, subscriber. Giải thuật thực hiện tại mỗi nút
Chương 5: Kết quả mô phỏng và thực nghiệm
Trình bày các kết quả từ các kịch bản mô phỏng và thực nghiệm
Chương 6: Kết luận và hướng phát triển
Tóm tắt lại các vấn đề đã nghiên cứu, kết quả thu được của luận văn, đề xuất
hướng bổ xung và phát triển.

Trang 3


2. TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN

CHƯƠNG II.

TỔNG QUAN VỀ ĐỀ TÀI VÀ
LÝ THUYẾT LIÊN QUAN
2.1.

TỔNG QUAN VỀ ĐỀ TÀI

2.1.1. Nhìn nhận vấn đề
Wireless Sensor Network - mạng cảm biến không dây, như tên gọi của nó,
được xây dựng nhằm thu thập, giám sát mơi trường xung quanh. Việc xây dựng và

triển khai các ứng dụng có thể thực hiện một cách đơn giản, nhanh chóng trên các hệ
điều hành mã nguồn mở được thiết kế cho mạng cảm biến như: TinyOS, Contiki
OS… Trong đó, hệ điều hành Contiki OS được sử dụng một cách rông rãi, cả trong
lĩnh vực nghiên cứu và ứng dụng thực tế do tính chất mở, sử dụng ngơn ngữ lập trình
C chuẩn cũng như bộ có cơng cụ phát triển, mô phỏng với giao diện thân thiện.
Tuy nhiên, cho đến thời điểm hiện tại, hệ điều hành Contiki OS mới chỉ được
tích hợp giao thức truyền tin ở lớp ứng dụng là http và CoAP – hai giao thức theo mơ
hình request/response. Mơ hình này địi hỏi phải biết địa chỉ và đường dẫn tới tài
nguyên cần truy cập. Ngoài ra, nếu có một nút mạng nào đó bị hư hỏng phải thay thế,
hoặc một nút mạng mới ra nhập thì đồng nghĩa với việc phải lập trình lại tồn bộ các
nút có truy cập tới nút mới.
Một điểm hạn chế nữa của mơ hình request/response là các nút thu thập thông
tin nếu gửi yêu cầu mà không được trả lời, nó sẽ khơng biết được là do đường truyền
hay các nút đầu cuối khơng cịn hoạt động. Client chỉ quan tâm tới dữ liệu cần thu
thập (mơ hình data-centric).
Việc triển khai giao thức MQTT-SN có thể thỏa mãn các u cầu trên. Client
chỉ việc đăng ký thơng tin mình muốn nhận tới trung tâm cung cấp thông tin (Broker).
Mỗi khi có thơng tin mới, Broker sẽ chuyển thơng tin đó tới cho nút đăng ký
(Subscriber). Bản thân các nút cung cấp thông tin (Publisher) cũng chỉ cần đăng ký
và gửi thơng tin mình sẽ cung cấp với Broker. Việc thay thế các nút cảm biến trong
giao thức MQTT-SN cũng khơng làm ảnh hưởng, khơng cần lập trình lại bất kỳ nút
nào khác trong mạng. Các nút mới được thay thế sẽ kết nối và thay thế chức năng của

Trang 4


2. TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN

2.1.2. Các nghiên cứu liên quan
Có nhiều nghiên cứu liên quan đến vấn đề triển khai, đánh giá giao thức MQTT

lên các nền tảng khác nhau.
Bài báo: “Performance Evaluation of MQTT and CoAP via a Common
Middleware”[7]
Tóm tắt nội dung: Tác giả thực hiện một middleware cung cấp giao diện chung
hỗ trợ hai giao thức MQTT và CoAP nhằm đánh giá end-to-end delay, bandwidth.
Cách thức thực hiện: thiết lập một gateway dùng chung, hỗ trợ hai giao thức
MQTT và CoAP trên BeagleBoard-xM, sử dụng máy tính giả lập thiết bị đầu cuối.
Sử dụng phần mềm Wanem để giả lập tổn hao trong mơi trường truyền.

Hình 2. 1: Common Gateway

Kết luận và đánh giá của bài báo:
 Giao thức MQTT có độ trễ thấp hơn ứng với mơi trường truyền có tỷ lệ
mất gói thấp hơn 25% và có độ trễ cao hơn với mơi trường truyền có tỷ lệ
mất gói cao hơn 25%.
 Đối với cùng tỷ lệ mất gói là 25%: giao thức CoAP tạo ra ít traffic hơn và
vẫn đảm bảo tương đồng về độ tin cậy trong việc truyền tin.
Bài báo: “End-to-end service assurance in IoT MQTT-SN”[8]
Tóm tắt nội dung: Tác giả xây dựng mơ hình khảo sát giao thức MQTT-SN
trong ứng dụng theo dõi sức khỏe (e-health) ở hai thông số:
 End-to-End Delay Estimate: Ước lượng độ trễ truyền tin từ nơi phát tới
nơi thu

Trang 5


2. TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN

 Probability of content delivery: Tính tốn xác suất của dữ liệu có thể được
truyền tới nơi nhận


Hình 2. 2: System model for end-to-end delay estimate

Thơng qua mơ hình này, các nhà thiết kế hệ thống có thể tham khảo, cân nhắc
các thông số ảnh hưởng tới việc đảm bảo QoS đầu-cuối.
Bài báo: “Integrating MQTT and ISO/IEEE 11073 for health information
sharing in the Internet of Things”[9]
Tóm tắt nội dung: Tác giả đưa ra giải pháp tích hợp MQTT cùng với chuẩn
ISO/IEEE 11073 (Personal Health Data – PHD) nhằm kết nối các thiết bị theo dõi
sức khỏe vào mạng WSNs trong gia đình cũng như kết nối tới Internet. Quá trình thực
hiện được xây dựng trên mạng máy tính truyền thống.

Hình 2. 3: Mơ hình kết nối giữa các module

Kết luận và đánh giá của bài báo:
 Ngồi lợi ích là một giao thức nhỏ gọn, phù hợp với các thiết bị ràng buộc
về tài ngun. MQTT broker cịn có khả năng tự động phát hiện các thiết
bị trong phạm vi của mình, đồng thời chia sẻ dữ liệu với các thiết bị trong
mạng và với các thiết bị trên internet.

Trang 6


2. TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN

Bài báo: “Comparison of two lightweight protocols for smartphone-based
sensing”[10]
Tóm tắt nội dung: Tác giả thực hiện so sánh định tính và định lượng giữa hai
giao thức MQTT và CoAP trong các ứng dụng cảm biến trên nền tảng là điện thoại
thơng minh.


Hình 2. 4: Mơ hình thực hiện MQTT vs. CoAP for smartphone-based sensing

Kết luận và đánh giá của bài báo:
 Về định lượng: MQTT phù hợp hơn cho các ứng dụng đòi hỏi hổ trợ nhiều
mức QoS. MQTT đồng thời cũng tin cậy hơn, hỗ trợ bảo mật tốt hơn so
với CoAP.
 CoAP cho kết quả tốt hơn khi so sánh về khả năng tối thiểu băng thông sử
dụng cũng như round trip time. Tuy nhiên, khi việc trao đổi dữ liệu khơng
thường xun thì khác biệt trên là rất nhỏ.
Bài báo: “Introducing the QEST broker: Scaling the IoT by bridging
MQTT and REST”[11]
Tóm tắt nội dung: Tác giả thực hiện một thiết bị kết nối giữa hai giao tiếp nổi
bật là MQTT và REST, cung cấp cho người dùng phương tiện cho phép nhanh chóng
triển khai các ứng dụng IoT.
 Tác giả đưa ra mơ hình thực hiện căn bản việc xây dựng một broker kết
nối giữa giao thức MQTT và các dịch vụ nền Web.
 Tác giả tích hợp các chức năng cơ bản phục vụ việc truyền tin. Chưa tích
hợp cũng như đánh giá các chức năng: hỗ trợ QoS, khả năng đảm bảo
truyền tin.

Trang 7


2. TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN

Hình 2. 5: Mơ hình QEST broker

Tổng kết:
Từ kết quả nghiên cứu của các cơng trình có liên quan trên có thể nhận thấy

rằng, giao thức MQTT nói chung và MQTT-SN nói riêng có những ưu điểm như: là
một giao thức nhỏ gọn, phù hợp với thiết bị bị ràng buộc về tài nguyên. Các kết quả
đánh giá ban đầu trong các nghiên cứu cho thấy giao thức MQTT-SN có tiềm năng
và hiệu quả hơn trong các kịch bản truyền thơng M2M so với giao thức phổ biến là
CoAP.
Cơng trình nghiên cứu [3] cũng chỉ ra rằng: việc tích hợp giao thức MQTTSN, một phiên bản gọn nhẹ hơn chạy trên nền tảng UDP thay vì TCP của giao thức
MQTT lên các nút mạng cảm biến là hoàn toàn khả thi. Vì vậy, đề tài sẽ thực hiện
việc triển khai giao thức MQTT-SN lên hê thống WSNs mà cụ thể ở đây là triển khai
lên hệ điều hành Contiki. Từ đây, người dùng đầu cuối có thể dễ dàng tích hợp giao
thức MQTT-SN cùng với nền tảng các giao thức thuộc các lợp khác trong protocol
stack phụ vụ cho mục đích của mình.
Trước khi đi vào chi tiết thực hiện việc triển khai giao thức MQTT-SN, luận
văn sẽ trình bày một cách tổng quát về mạng cảm biến không dây, cấu trúc mạng, cấu
trúc nút cảm biến. Hệ điều hành Contiki và một số giao thức cơ bản trong protocol
stack phục vụ mạng cảm biến của hệ điều hành Contiki.

Trang 8


2. TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN

2.2.

TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY

2.2.1. Cấu trúc mạng cảm biến khơng dây

Hình 2. 6: Cấu trúc của mạng cảm biến không dây

Wireless Sensor Networks (WSNs) - Mạng cảm biến không dây bao gồm các

trạm gốc và tập hợp các nút cảm biến/thực thi giao tiếp không dây với nhau nhằm thu
thập, giám sát hoặc điều khiển từ xa. Đặc trưng cơ bản của mạng cảm biến là các nút
mạng có kích thước nhỏ, số lượng lớn, chi phí thấp, giao tiếp khơng dây với nhau nên
có thể triển khai tại những vị trí mà các thành phần mạng truyền thống không triển
khai tới được.
Với những yêu cầu hoạt động và đặc điểm nêu trên, mạng cảm biến bị ràng
buộc về năng lượng, khả năng tinh toán, khoảng cách và tốc độ truyền tin. Những đặc
trưng, yêu cầu của một mạng cảm biến:
 Năng lượng: các nút cảm biến yêu cầu phải hoạt động được trong thời gian
dài trước khi phải thay thế hay nạp lại nguồn nuôi. Vì thế, các nút có sự
ràng buộc chặt chẽ về năng lượng tiêu thụ. Do các thiết bị cảm biến thường
được bố trí tại các vị trí khơng dễ dàng bảo trì, cấp nguồn ni nên nó phải
sử dụng pin hoặc các dạng tương tự. Để kéo dài thời gian hoạt động, các
nút cảm biến phải hỗ trợ khả năng ngủ càng nhiều càng tốt. Đồng thời, xử
lý/nén dữ liệu để hạn chế tối đa dữ liệu truyền đi.
Trang 9


2. TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN

 Kích thước nhỏ, được cung cấp năng lượng hạn chế đồng nghĩa với việc
khả năng xử lý tính tốn thấp, băng thông và khoảng cách truyền hạn chế
do giới hạn về công suất phát.
 Số lượng nhiều các nút cảm biến, tình trạng mạng thường xun thay đổi
địi hỏi mạng phải triển khai theo mơ hình ad hoc. Có khả năng tự cấu hình
và nâng cấp hệ thống từ xa. Khả năng tái cấu trúc, thích ứng với việc thay
đổi topo mạng do các nút có thể dễ dàng xảy ra lỗi, mất kết nối.
 Các ứng dụng của mạng cảm biến khơng địi hỏi băng thơng cao nhưng
phải đảm bảo việc truyền tin cậy. Đồng thời, phải có khả năng giao tiếp
với các hệ thống mạng truyền thống khác như: Ethernet... nhằm cung cấp

thông tin tới cho người dùng cuối giám sát, thu thập hay điều khiển.
 Mô hình mạng trong mạng cảm biến đa phần là many-to-one hoặc one-tomany (thu thập và phân phối dữ liệu) hơn là giao tiếp peer-to-peer.
Đặc trưng của mạng cảm biến là số lượng rất nhiều các thiết bị kết
nối mạng với nhau, nhưng các thiết bị lại phải có khả năng kết nối tới mạng
IP truyền thống. Với yêu cầu như vậy đòi hỏi phải sử dụng IPv6 mới đủ
địa chỉ để cấp phát cho tất cả các nút mạng.
Một số communication protocol stack trong mạng cảm biến không
dây hiện nay có thể kể đến như: Zigbee, 6LoWPAN… Tuy nhiên, với u
cầu địi hỏi phải có khả năng kết nối tới hệ thống mạng IP truyền thống thì
6LoWPAN đáp ứng điều này tốt hơn.

Hình 2. 7: So sánh IP Protocol Stack với 6LoWPAN Protocol Stack

Trang 10


2. TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN

6LoWPAN protocol stack trong WSNs như sau:
Physical Layer (PHY) và MAC Layer (MAC): Được chuẩn hóa bởi IEEE
chuẩn 802.15.4[18], được chuẩn hóa lần đầu tiên năm 2003 và sửa đổi năm 2006. Sử
dụng cơ chế CSMA-CA để tránh xung đột và cơ chế xác nhận (ACK) cho việc truyền
tin cậy.
Đặc trưng cơ bản:
 Tốc độ dữ liệu tối đa: 250 kbps.
 Hai chế độ đánh địa chỉ; 16-bit short hoặc 64-bit IEEE.
 Hỗ trợ các thiết bị đòi hỏi độ trễ cực thấp như thiết bị điều khiển
(Joystick...).
 Đa truy cập sử dụng CSMA-CA.
 Tự động thiết lập mạng bởi các nút gốc.

 Hỗ trợ các cơ chế truyền tin cậy (handshake).
 Cung cấp các cơ chế quản lý năng lượng một cách tối ưu.
 16 channels in the 2.4GHz ISM band, 10 channels in the 915MHz and one
channel in the 868MHz band.
Network Layer: Sử dụng Internet Protocol Version 6 over Low power
Wireless Personal Area Network[12][13]. Bao gồm Network Adaption Layer sử dụng
giao thức LoWPAN (Low power Wireless Personal Area Network) cho phép nén
khung IPv6 với MTU 1280byte phù hợp với chuẩn IEEE 802.15.4, bên trên là giao
thức IPv6.
Transport Layer: Giao thức thường được sử dụng cho quản lý việc truyền và
nhận dữ liệu là UDP và ICMP phục vụ định tuyến.
Application Layer: Các giao thức sử dụng phổ biến hiện nay là các giao thức
như http, CoAP theo kiến trúc REST.
2.2.2. Tổng quan về nút cảm biến
Nút cảm biến có u cầu dàng buộc về: kích thước, năng lượng tiêu thụ, thời
gian hoạt động, chi phí sản xuất... Điều đó đặt ra yêu cầu thiết bị phải “ngủ” càng
nhiều càng tốt nhằm tiết kiệm năng lượng.

Trang 11


2. TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN

Hình 2. 8: Cấu trúc nút cảm biến

Sensors/Actuators
Số lượng, chủng loại cảm biến/thiết bị thực thi phụ thuộc vào từng ứng dụng
cụ thể. Các cảm biến này thu thập và truyền thông tin về MCU để xử lý hoặc nhận
lệnh điều khiển để thực thi.
Processor

Vi sử lý sử dụng trong các nút cảm biến phải có tối ưu về năng lượng: chế độ
standby với mức tiêu hao cực thấp (vài chục micro ampere hoặc thấp hơn), có khả
năng nhanh chóng thức dậy truyền/nhận tin ( tiêu thụ công suất tối đa vài chục
miliampere), sau đó ngủ trở lại. Các ứng dụng cảm biến có u cầu về tính tốn khơng
nhiều, cộng với yêu cầu đòi hỏi giá thành thấp nên hầu hết hiện tại là các vi xử lý 8bit với bộ nhớ chương trình có kích thước nhỏ.
Wired/Wireless Interface
u cầu về tốc độ truyền dữ liệu không cao, chỉ khoảng vài chục tới vài trăm
kbps. Tuy nhiên, nó địi hỏi vừa truyền tin cậy lại vừa tiết kiêm năng lượng.
Storage
Bộ nhớ ngồi có thể có hoặc khơng, tùy từng ứng dụng cụ thể. Bộ nhớ ngoài
sử dụng để lưu trữ dữ liệu trước khi truyền đi. Nhiều ứng dụng không cần cập nhật
thông tin liên tục mà quan tâm nhiều đến sự thay đổi của các giá trị đo. Nếu nút cảm
biến có khả năng lưu trữ, xử lý dữ liệu thô trước khi truyền hoặc chỉ truyền khi dữ
liệu có sự thay đổi thì sẽ tiết kiệm được năng lượng rất nhiều.
Power Supply
Nút cảm biến hoạt động ở các trạng thái: ngủ (sleep), active gồm: wakeup và
work(send/receive). Công thức tính cơng suất tiêu thụ trung bình:
Paverage  (1  duty _ cycle)* Psleep  duty _ cycle * Pactive

Trang 12

(2.1)


×