1. Trang chủ
  2. » Công Nghệ Thông Tin

Nghiên cứu giao thức MQTT(Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT (LV thạc sĩ)

78 2K 19

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 78
Dung lượng 2,36 MB

Nội dung

Nghiên cứu giao thức MQTT(Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT (LV thạc sĩ)Nghiên cứu giao thức MQTT(Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT (LV thạc sĩ)Nghiên cứu giao thức MQTT(Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT (LV thạc sĩ)Nghiên cứu giao thức MQTT(Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT (LV thạc sĩ)Nghiên cứu giao thức MQTT(Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT (LV thạc sĩ)Nghiên cứu giao thức MQTT(Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT (LV thạc sĩ)Nghiên cứu giao thức MQTT(Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT (LV thạc sĩ)Nghiên cứu giao thức MQTT(Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT (LV thạc sĩ)Nghiên cứu giao thức MQTT(Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT (LV thạc sĩ)Nghiên cứu giao thức MQTT(Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT (LV thạc sĩ)Nghiên cứu giao thức MQTT(Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT (LV thạc sĩ)Nghiên cứu giao thức MQTT(Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT (LV thạc sĩ)

Trang 1

Đỗ Huy Nam

NGHIÊN CỨU GIAO THỨC MQTT (MESSAGE QUEUE

TELEMETRY TRANSPORT) VÀ ỨNG DỤNG THU THẬP DỮ LIỆU

CẢM BIẾN THEO MQTT

Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC : TS HOÀNG LÊ MINH

HÀ NỘI - 2016

Trang 2

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Trang 3

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi

Các số liệu, kết quả là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Học viên

Trang 4

LỜI CẢM ƠN

Với tất cả lòng kính trọng và biết ơn sâu sắc, em xin gửi lời cảm ơn tới Thầy giáo TS Hoàng Lê Minh, người đã tận tình chỉ bảo và hướng dẫn em trong quá trình hoàn thành luận văn

Em cũng xin gửi lời cảm ơn chân thành tới các Thầy giáo, Cô giáo công tác tại Học viện Công nghệ bưu chính viễn thông, những người đã tận tình giảng dạy, truyền thụ cho em những kiến thức khoa học căn bản trong quá trình học tập tại trường

Cuối cùng, tôi xin gửi lời cảm ơn chân thành đến gia đình, bạn bè, các đồng nghiệp đã động viên, sát cánh cùng tôi trong quá trình học tập và thực hiện đề tài

Hà Nội, ngày 15 tháng 12 năm 2016

Học viên

Đỗ Huy Nam

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v

DANH MỤC CÁC HÌNH viii

DANH MỤC CÁC BẢNG x

MỞ ĐẦU 1

CHƯƠNG I: TỔNG QUAN VỀ INTERNET OF THINGS (IoT) 3

1.1 Giới thiệu về IoT 4

1.1.1 Định nghĩa về IoT 5

1.1.2 Lợi ích và vai trò của IoT 8

1.1.3 Các cơ hội và xu hướng phát triển của IoT 8

1.1.4 Các công nghệ nền tảng của IoT 10

1.2 Tổng quan về giao thức thu thập dữ liệu IoT 13

1.2.1 Giao thức MQTT 13

1.2.1.1 Giới thiệu về giao thức MQTT 13

1.2.1.2 Mô hình giao thức MQTT 15

1.2.1.3 Định dạng thông điệp MQTT 16

1.2.1.4 Môi trường hoạt động MQTT 20

1.2.2 Giao Thức CoAP 21

1.2.2.1 Giới thiệu về giao thức CoAP 21

1.2.2.2 Mô hình giao thức CoAP 22

1.2.2.3 Định dạng thông điệp CoAP 23

1.2.2.4 Môi trường hoạt động CoAP 27

1.2.3 Một số ưu điểm của MQTT so với các giao thức IoT khác 28

1.3 Kết luận 29

Trang 6

CHƯƠNG 2: TÌM HIỂU GIẢI PHÁP THU THẬP DỮ LIỆU CẢM BIẾN

BẰNG CÔNG NGHỆ IOT 30

2.1 Mạng cảm biến không dây 30

2.1.1 Mạng cảm biến là gì? 30

2.1.2 Cấu trúc của mạng cảm biến không dây 30

2.1.3 Ứng dụng và xu hướng phát triển của WSN 33

2.2 Tổng quan về IoT Gateway 34

2.2.1 Giới thiệu về IoT Gateway 34

2.2.2 Đặc điểm và lợi ích của IoT Gateway 37

2.2.3 Ứng dụng của IoT Gateway 39

2.3 Thu thập dữ liệu cảm biến bằng công nghệ IoT 40

2.3.1 Đặc điểm của dữ liệu cảm biến trong IoT 40

2.3.1.1 Định dạng JSON (JavaScript Object Notation) 42

2.3.1.2 Định dạng XML 43

2.3.1.3 Định dạng CSV 45

2.3.2 Ứng dụng của dữ liệu cảm biến trong IoT 45

2.4 Kết luận 46

CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG IOT THU THẬP DỮ LIỆU CẢM BIẾN THEO GIAO THỨC MQTT 47

3.1 Giới thiệu về bài toán thu thập dữ liệu IoT và dữ liệu cảm biến 47

3.2 Xây dựng một ứng dụng IoT thử nghiệm thu thập dữ liệu cảm biến với IoT Gateway và giao thức MQTT 48

3.2.1 Giới thiệu về nền tảng IBM Bluemix 48

3.2.2 Giới thiệu về ứng dụng 55

3.2.3 Cài đặt và sử dụng ứng dụng 55

3.3 Kết luận 63

KẾT LUẬN 64

TÀI LIỆU THAM KHẢO 65

Trang 7

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

IoT Internet of Things Internet của vạn vật

MQTT Message Queue Telemetry

Transport

Giao thức truyền tải để thu thập

dữ liệu trong IoT

CoAP Constrained Application Protocol Giao thức truyền tải để sử dụng

với các nút ràng buộc và hạn chế mạng trong IoT

APIs Application Programming

IMAP Internet Message Access Protocol Giao thức email tiêu chuẩn lưu

trữ thư điện tử trên một máy chủ mail

server

SIDF Sensor Information Data Format Định dạng dữ liệu cảm biến XMPP Extensible Messaging and Presence

Protocol

Giao thức truyền tải thông điệp dựa trên XML

Trang 8

IETF Internet Engineering Task Force Cộng đồng quốc tế của các nhà

JSON JavaScript Object Notation

nhau bằng dấu “;”

SSL/TLS Secure Sockets Layer /Transport

Layer Security

Các giao thức mật mã nhằm mục đích bảo mật sự vận chuyển trên Internet

Technology

Viện công nghệ Massachusetts

MBAN Medical Body Area Networks Mạng cơ quan y tế

WebRTC Web Real Time Communication Tiêu chuẩn và giao thức cho

phép các trình duyệt Web thực hiện trực tiếp các tính năng truyền thông đa phương tiện thời gian thực như gọi điện, tin nhắn hình, truyền dữ liệu bằng các API JavaScript

UDP User Datagram Protocol Giao thức chuyển mạch gói

Trang 9

LWM2M Lightweight Machine-to-Machine Giao thức nhẹ giao tiếp giữa

thiết bị - thiết bị

OMA Open Mobile Alliance Tổ chức đưa ra chuẩn phát triển

cho công nghiệp di động

Trang 10

DANH MỤC CÁC HÌNH

Hình 1 1: Mô hình Internet of Things 4

Hình 1 2: Sự tăng trưởng của các thiết bị IoT [12] 5

Hình 1 4: Mô hình kết nối với giao thức MQTT [7] 13

Hình 1 5: Mô hình giao thức MQTT [7] 15

Bảng 1.1: Bảng các loại thông điệp và mô tả [6] 16

Bảng 1.2: Cấu trúc của một gói tin điều khiển MQTT 17

Bảng 1.3: Định dạng cố định của đầu file bản tin MQTT 17

Bảng 1.4: Bảng mô tả ký tự đại diện của chủ đề thông điệp MQTT [6] 18

Hình 1 6: Các mức chất lượng dịch vụ của giao thức MQTT [7] 19

Bảng 1.5: Bảng mô tả các mức QoS và ý nghĩa của thông điệp giao thức MQTT [6] 19

Hình 1 7: Mô hình giao thức CoAP [8] 23

Hình 1 8: Truyền tải thông điệp tin cậy [8] 23

Hình 1 9: Truyền tải thông điệp không tin cậy [8] 24

Hình 1 10: Kết quả phản hồi thành công và thất bại của phương thức GET [8] 24

Hình 1 11: Một yêu cầu GET với một phản hồi riêng biệt [8] 25

Hình 1 12: Yêu cầu và không xác nhận phản hồi [8] 26

Hình 1 13: Định dạng thông điệp [8] 26

Hình 1 14: Định dạng CoAP tùy chọn [8] 27

Hình 1 15: Hệ thống kiểm soát năng lượng [8] 28

Hình 2 1: Cấu trúc cơ bản của mạng WSN [4] 31

Hình 2 2: Kiến trúc của một nốt cảm biến [10] 33

Hình 2 3: Mô hình IoT Gateway [16] 36

Hình 2 4: Vị trí của IoT Gateway trong hệ sinh thái IoT [17] 38

Trang 11

Hình 2 5: Sơ đồ tạo ra subscriber [12] 41

Hình 2 6: Sơ đồ hủy một subscriber [12] 41

Hình 2 7: Sơ đồ gửi thông điệp đo [12] 42

Bảng 2 2: Dữ liệu cảm biến gia tốc bằng JSON 42

Bảng 2 3: Định dạng dữ liệu cảm biến nhiệt độ bằng JSON 43

Hình 2 8: Thông điệp đo lường trong XML [12] 44

Hình 2 9: Hai phép đo nhiệt độ bằng hai cảm biến của một nút [12] 44

Hình 2 10: Bản tin đo mức chuyển động [12] 44

Hình 2 11: Bản tin đo nhiệt độ với các thông tin cảnh báo [12] 45

Hình 2 12: Bản tin đo lường gia tốc (x, y, z, pitch, roll, yaw, tổng số) [12] 45

Hình 3 1: Các dịch vụ Bluemix cung cấp [11] 49

Hình 3 2 Kiến trúc Bluemix Cloud Foundry [11] 50

Hình 3 4: Triển khai một ứng dụng [11] 52

Hình 3 5: Thiết kế của một máy chủ ảo [11] 53

Hình 3 6: Triển khai một ứng dụng trên IBM Cloud Foundry [11] 54

Hình 3 7: Mô hình ứng dụng IoT thử nghiệm 55

Hình 3 8: Màn hình đăng nhập nền tảng IBM Bluemix IoT [11] 56

Hình 3 9: Màn hình tạo service IoT với IBM Bluemix [11] 57

Hình 3 10: Dịch vụ IoT sau khi được tạo [11] 57

Hình 3 11: Màn hình khai báo thiết bị IoT [11] 59

Hình 3 12: Màn hình khởi động ứng dụng sử dụng iPhone 60

Hình 3 13: Màn hình gửi dữ liệu cảm biến gia tốc 60

Hình 3 14: Màn hình gửi dữ liệu thông điệp lên IoT Gateway 61

Hình 3 15: Màn hình thông tin thiết bị gửi lên IoT Gateway [11] 62

Hình 3 16: Màn hình xem thông tin tổng hợp các thiết bị gửi lên IoT Gateway [11] 62

Trang 12

DANH MỤC CÁC BẢNG

Bảng 1.1: Bảng các loại thông điệp và mô tả [6] 16

Bảng 1.2: Cấu trúc của một gói tin điều khiển MQTT 17

Bảng 1.3: Định dạng cố định của đầu file bản tin MQTT 17

Bảng 1.4: Bảng mô tả ký tự đại diện của chủ đề thông điệp MQTT [6] 18

Bảng 1.5: Bảng mô tả các mức QoS và ý nghĩa của thông điệp giao thức MQTT [6] 19

Bảng 2 1: Một số nền tảng IoT Gateway phổ biến trên thế giới [16] 36

Bảng 2 2: Dữ liệu cảm biến gia tốc bằng JSON 42

Bảng 2 3: Định dạng dữ liệu cảm biến nhiệt độ bằng JSON 43

Trang 13

MỞ ĐẦU

IoT hiện nay đang là một xu hướng mạnh mẽ trên toàn thế giới, mở ra những

cơ hội chưa từng có cho các nền kinh tế, doanh nghiệp, tổ chức và cá nhân để cạnh tranh trong môi trường mới Rất nhiều các công ty tập đoàn có giá trị thị trường lớn đang đầu tư vào tỷ đô la vào nghiên cứu và phát triển lĩnh vực này trên thế giới

Cha đ của IoT - ông Kevin Ashton (nhà sáng lập Trung tâm Auto-ID tại Viện Công nghệ Massachusetts, M ) từng giải thích, IoT được hiểu đơn giản là viễn cảnh mà tất cả đồ vật trên thế giới, từ chiếc máy bay khổng lồ cho đến những vật dụng bình thường nh bé trong cuộc sống, đều được kết nối, truyền tải, tương tác và trao đổi dữ liệu với nhau qua mạng internet Khi đó, mỗi đồ vật sẽ được gán một mã nhận dạng, giống như địa chỉ IP trên hệ thống Nhờ vậy, người dùng có thể tương tác, điều khiển và kiểm soát mọi thứ trong cuộc sống thông qua những thiết bị thông minh, như điện thoại thông minh, máy tính bảng [12]

Phạm vi ứng dụng công nghệ IoT thực sự rộng lớn và đa dạng, từ quản lý giao thông, quản lý đô thị, quản lý môi trường, ứng phó khẩn cấp đến mua sắm thông minh, các dịch vụ y tế chăm sóc sức kh e

IoT gần đây đã đạt được lực kéo rất lớn IoT thách thức các doanh nghiệp, các công ty nh , và các nhà phát triển với những vấn đề mới để giải quyết đặc biệt

là vấn đề giao tiếp giữa các thiết bị IoT Để các thiết bị có thể giao tiếp với nhau, chúng sẽ cần một hoặc nhiều giao thức, có thể xem là một thứ ngôn ngữ chuyên biệt

để giải quyết một tác vụ nào đó Chắc chắn chúng ta đã ít nhiều sử dụng một trong những giao thức phổ biến nhất thế giới, đó là HTTP để tải web Ngoài ra chúng ta còn có SMTP, POP, IMAP dành cho email, FTP dùng để trao đổi file…

Những giao thức như thế này hoạt động ổn bởi các máy chủ web, mail và FTP thường không phải nói với nhau nhiều, khi cần, một phần mềm phiên dịch đơn giản sẽ đứng ra làm trung gian để hai bên hiểu nhau Còn với các thiết bị IoT, chúng phải đảm đương rất nhiều thứ, phải nói chuyện với nhiều loại máy móc thiết bị khác nhau Đáng tiếc rằng hiện người ta chưa có nhiều sự đồng thuận về các giao thức để

Trang 14

IoT trao đổi dữ liệu Nói cách khác, tình huống này gọi là "giao tiếp thất bại", một bên nói nhưng bên kia không muốn (và không thể) nghe Hiện nay có rất nhiều giao thức giao tiếp giữa các thiết bị IoT được đưa ra như: HTTP, Universal Plug and Play (UPnP), CoAP, XMPP, MQTT

Trong giai đoạn gần đây giao thức MQTT đang nổi lên như là một giao thức được sử dụng phổ biến dùng cho giao tiếp IoT, rất nhiều hãng công nghệ lớn đã sử dụng, áp dụng và hỗ trợ giao thức MQTT cho các ứng dụng của mình như: Facebook cho ứng dụng Facebook Messenger, IBM, Intel, Amazon, WSO2, Microsoft [7]

Đó là lý do tôi chọn đề tài: “Nghiên cứu giao thức MQTT (Message Queue Telemetry Transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT” làm luận văn tốt nghiệp

Cấu trúc của luận văn được chia làm ba chương, với nội dung chính của mỗi chương như sau:

Chương 1: Tổng quan về Internet of Things (IoT)

Chương 2: Tìm hiểu giải pháp thu thập dữ liệu cảm biến bằng công nghệ IoT

Chương 3: Xây dựng ứng dụng IoT thu thập dữ liệu cảm biến theo

giao thức MQTT

Trang 15

CHƯƠNG I: TỔNG QUAN VỀ INTERNET OF THINGS (IoT)

Trong khoảng hai năm trở lại đây, chắc hẳn chúng ta đã không ít lần nghe thoáng qua về khái niệm IoT, hay bắt gặp tin tức về các sản phẩm được quảng cáo

là phục vụ cho nhu cầu “smart home” (nhà thông minh) Trong đó, những thiết bị gia dụng như lò nướng hay tủ lạnh có thể "nói chuyện" được với nhau Nhưng chúng kết nối với nhau như thế nào, và liệu xu hướng này có thực sự bùng nổ, đưa chúng ta đến một thế giới tương lai như trong game hay phim ảnh? Trong bối cảnh

mà hàng ngày càng nhiều chủng loại thiết bị được gán mác “thông minh - smart” và thi nhau “lên mây-cloud” như hiện nay, sẽ là không thừa khi chúng ta tìm hiểu các kiến thức căn bản về hệ sinh thái IoT này

Trang 16

1.1 Giới thiệu về IoT

Hình 1 1: Mô hình Internet of Things

(Nguồn: Tham khảo từ internet)

IoT là khái niệm để chỉ các thiết bị có khả năng kết nối với nhau, kết nối với Internet và tạo nên một mạng lưới các thiết bị thông minh phục vụ cho cuộc sống người dùng [12]

Trang 17

1.1.1 Định nghĩa về IoT

Hình 1 2: Sự tăng trưởng của các thiết bị IoT [12]

Mạng lưới vạn vật kết nối Internet viết tắt là IoT là một kịch bản của thế giới, khi mà mỗi đồ vật, con người được cung cấp một định danh của riêng mình và tất cả

có khả năng truyền tải, trao đổi thông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữa người với người, hay người với máy tính IoT đã phát triển từ sự hội tụ của công nghệ không dây, công nghệ vi cơ điện tử và Internet Nói đơn giản là một tập hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nào đó

IoT là thuật ngữ dùng để chỉ các đối tượng có thể được nhận biết cũng như chỉ sự tồn tại của chúng trong một kiến trúc mang tính kết nối Cụm từ này được đưa ra bởi Kevin Ashton vào năm 1999 Ông là một nhà khoa học đã sáng lập ra Trung tâm Auto-ID ở đại học MIT, nơi thiết lập các quy chuẩn toàn cầu cho RFID cũng như một số loại cảm biến khác [14]

Vào tháng 6 năm 2009, Ashton từng cho biết rằng "hiện nay máy tính - và do

đó, Internet - gần như phụ thuộc hoàn toàn vào con người để chuyển tải dữ liệu Gần như tất cả trong số 50 petabyte dữ liệu đang có trên Internet (vào thời điểm đó)

Trang 18

đều được ghi lại hoặc tạo ra bởi con người chúng ta, thông qua các các thức như gõ chữ, nhấn nút, chụp ảnh, quét mã vạch " Con người chính là nhân tố quyết định trong thế giới Internet hiện nay Thế nhưng con người lại có nhiều nhược điểm: chúng ta chỉ có thời gian hạn chế, khả năng tập trung và độ chính xác cũng ở mức thấp so với máy móc Điều đó có nghĩa là chúng ta không gi i trong việc thu thập thông tin về thế giới xung quanh, và đây là một vấn đề lớn cần được giải quyết và là yếu tố quyết định để IoT ra đời [14]

Hình 1 3: Mô hình triến trúc IoT [13]

Lớp thiết bị: Có thể gồm nhiều loại thiết bị khác nhau có kết nối trực tiếp

hoặc gián tiếp với mạng Internet

Các giao tiếp kết nối có thể đa dạng: wifi, ethernet, ZigBee, Bluetooth,…Mỗi thiết bị có một tên định danh duy nhất (unique identifier (UUID)) và tên định danh được lưu trong ROM

Trang 19

Lớp truyền thông (Communications): Lớp này hỗ trợ kết nối giữa các thiết bị

và giữa thiết bị với đám mây Một số giao thức truyền thông được sử dụng phổ biến: MQTT, CoAP, HTTP/HTTPS, Websocket

Lớp tập hợp/bus (Aggregation/Bus layer): Có khả năng hỗ trợ máy chủ

HTTP và/hoặc MQTT broker để giao tiếp với thiết bị Có khả năng tập hợp và kết hợp các giao tiếp từ các thiết bị khác nhau, và định tuyến các giao tiếp đến một thiết

bị chỉ định (có thể qua một gateway) Có khả năng làm cầu nối và chuyển đổi giữa các giao thức khác nhau, ví dụ như cho phép các lời gọi API dựa trên HTTP thành một thông điệp MQTT đi đến thiết bị

Lớp xử lý và phân tích sự kiện (Event Processing and Analytics): Nhận các

sự kiện từ bus và cung cấp khả năng xử lý và hành động dựa trên các sự kiện, có khả năng lưu dữ liệu vào CSDL

Lớp truyền thông ngoài (Client/external communications): Hỗ trợ truyền

thông với thế giới bên ngoài, Có thể được thực hiện theo ba k thuật: Sử dụng ứng dụng web/portal, sử dụng dashboard (bảng điều khiển), sử dụng các giao tiếp máy-máy (APIs)

Lớp quản lý thiết bị (Device manager): Gồm hai thành phần:

 Device manager: bộ quản lý thiết bị giao tiếp với Device management agents;

 Device management agents: các agent quản lý thiết bị chạy trên từng thiết bị

Các thiết bị có thể được quản lý theo ba mức:

 Không quản lý (non-managed)

 Quản lý bán phần (semi-managed)

 Quản lý đầy đủ (fully managed)

Lớp quản lý danh tính và truy nhập (Identity and access management): cung

cấp các dịch vụ:

 Cấp phát và kiểm tra OAuth2 token;

Trang 20

 Cung cấp các dịch vụ định danh khác như: SAML2 SSO và OpenID

Connect;

 Quản lý người dụng (như LDAP)

 Quản lý chính sách điều khiển truy cập

1.1.2 Lợi ích và vai trò của IoT

IoT có ảnh hưởng và ứng dụng rất rộng rãi trên nhiều lĩnh vực như: quản lý

hạ tầng, y tế, xây dựng và tự động hóa, giao thông, quân sự, truyền thông, tài chính…

Cụ thể trong lĩnh vực y tế, các thiết bị IoT có thể được sử dụng để cho phép theo dõi sức kh e từ xa và hệ thống thông báo khẩn cấp Các thiết bị theo dõi sức

kh e như đo huyết áp, nhịp tim hay các thiết bị tiên tiến có khả năng giám sát cấy ghép đặc biệt như máy điều hòa nhịp tim, máy trợ thính… đang được đưa vào nghiên cứu, sản xuất để phục vụ cho nhu cầu của con người một cách tối ưu nhất

Nhờ IoT, có nhiều ý tưởng độc đáo đã trở thành hiện thực Không chỉ phát huy tốt hơn cho công dụng vốn có của thiết bị, IoT còn góp phần đem lại cuộc sống tốt đẹp hơn cho con người

Có thể nói, lợi ích của IoT đối với cuộc sống của con người hiện đại là vô cùng phong phú Không những chỉ quan tâm chăm lo về vấn đề sức kh e, mà còn hướng đến những lợi ích khác về mặt an ninh, giáo dục

Theo như dự báo của các chuyên gia về tiềm năng của IoT đến năm 2020, họ cho rằng, IoT sẽ càng ngày càng phát triển mạnh mẽ hơn nữa IoT đã và đang trở thành chìa khóa thành công trong tương lai [1]

1.1.3 Các cơ hội và xu hướng phát triển của IoT

IoT là xu hướng phát triển mạnh mẽ của thế giới và đã bắt đầu xuất hiện tại Việt Nam như nhà thông minh, giao thông thông minh, đô thị thông minh… Trên nền tảng của bốn trụ cột công nghệ là mạng xã hội, công nghệ di động, phân tích dữ liệu lớn, điện toán đám mây, IoT được dự báo sẽ đem lại một kỷ nguyên mới bùng

nổ cả về số lượng kết nối với khoảng 80 tỷ kết nối vào năm 2020 cũng như các dịch

Trang 21

vụ, ứng dụng trên nền Internet, tạo động lực phát triển kinh tế, đổi mới công nghệ,

từ đó tác động đến mọi mặt đời sống kinh tế xã hội của các quốc gia

Trên thế giới đã hình thành các liên minh IoT như liên kết quốc tế giữa các khu vực (EU - Hàn Quốc, EU - Trung Quốc, EU - Nhật Bản…), liên minh các hãng (Intel, Samsung, Dell, Broadcom ) Tại Việt Nam, S.M.A.C với Social (mạng xã hội), Mobility (di động), Analytics (phân tích dữ liệu lớn) và Cloud (điện toán đám mây) đang tạo ra xu thế phát triển "thông minh" trên mọi lĩnh vực [3]

Bùng nổ những trang chia sẻ cộng đồng

Việc bùng nổ những trang web chia s cộng động được tích hợp với chức năng chia s ảnh, âm nhạc hay video nhằm kéo mọi người gần lại nhau hơn trong một “thế giới phẳng” yêu cầu một mạng lưới truyền tải có dung lượng lớn để đảm bảo yêu cầu ngày một cao hơn của người dùng

Nhiều hơn những trang tìm kiếm

Ngày càng có nhiều hơn những trang web tìm kiếm, chia s và lưu trữ thông tin, thông tin ngày một nhiều lên yêu cầu một hệ thống lưu trữ có thể th a mãn yêu cầu của người dùng

Những trang chia sẻ đa phương tiện

Youtube là trang mạng nổi tiếng nhất trong lĩnh vực tạo và chia s video trên mạng, cùng với đó là các trang chia s âm nhạc và hình ảnh khác Những trang ứng dụng này yêu cầu dung lượng lớn cả về vấn đề lưu trữ cũng như truyền tải

Nguồn lợi mới trong lĩnh vực kinh doanh

IoT mở ra cơ hội đổi mới công nghệ và ước đoán sẽ mang lại các giá trị tương đương 19.000 tỷ USD trong vòng 10 năm tới Hiện nay có khoảng 8 tỷ các thiết bị kết nối, nhưng đến năm 2020 sẽ lên tới 80 tỷ thiết bị Một số ý tưởng và sản phẩm về IoT đã bắt đầu xuất hiện như nhà thông minh, các thiết bị điều khiển trong gia đình, giao thông

Sự phát triển của IoT tạo ra bốn bước chuyển dịch trong vai trò của các nhà khai thác viễn thông Vai trò đầu tiên là thu thập dữ liệu để nâng cao hiệu quả nội

bộ như hệ thống báo cáo và roaming Vai trò thứ hai là phân tích thông tin tương tác

Trang 22

của khách hàng, để cung cấp những dịch vụ IoT mang tính cá nhân cho các thuê bao của mình Vai trò thứ ba là sử dụng cơ sở dữ liệu phân tích là giá trị, kết nối với các công ty cung cấp dịch vụ ở lĩnh vực khác tạo ra sản phẩm hiệu quả Vai trò thứ tư là cung cấp dịch vụ quản lý dữ liệu cho các kết nối IoT, làm cầu nối giữa các công ty cung cấp ứng dụng IoT với chính các kết nối IoT có SIM và không có SIM để các bên đều mua được dịch vụ mình cần và bán được dịch vụ mình có một cách hiệu quả [2]

Để có thể triển khai IoT thành công và bền vững, cần phải cân nhắc đến bốn yếu tố là nền tảng phần mềm, hệ sinh thái giữa các ngành, quá trình chuẩn hóa về công nghệ và giải quyết được những lo lắng của khách hàng liên quan tới đảm bảo tính riêng tư và an toàn

Mặc dù khái niệm IoT được đưa ra từ lâu Nhưng trong những năm gần đây

nó mới được nhiều doanh nghiệp cũng như các nhà khoa học để ý và phát triển mạnh mẽ Trong các năm gần đây tại các triển lãm công nghệ CES, triễn lãm di động toàn cầu các hãng sản xuất lớn thay nhau đưa ra các thiết bị thông minh: tivi thông minh, tủ lạnh thông minh và ý tưởng về nhà thông minh, giao thông thông minh, thành phố thông minh liên tục được giới thiệu Và khi gây được sự chú ý của cộng đồng, IoT đã cho thấy tiềm năng của mình bằng những con số đáng kinh ngạc

IoT đang trở thành xu hướng toàn cầu, được dự đoán là sẽ tạo ra sự bùng nổ kinh tế mới và là thị trường thiết bị lớn nhất trên thế giới Ước tính đến năm 2019, thị trường này sẽ gấp đôi quy mô thị trường smartphone, PC, tablet, xe hơi kết nối

và thị trường các thiết bị đeo trên người cộng lại IoT sẽ mang lại 1,7 nghìn tỷ USD giá trị gia tăng cho nền kinh tế toàn cầu trong 4 năm tới, bao gồm phần cứng, phần mềm, chi phí lắp đặt, dịch vụ quản lý, và giá trị kinh tế tạo ra từ hiệu quả của IoT [2]

1.1.4 Các công nghệ nền tảng của IoT

Các công nghệ chủ chốt của IoT đó là, RFID, Sensor, Smart, Nano Sự phát triển của những công nghệ nói trên cũng có thể coi là xu hướng phát triển của IoT

Trang 23

RFID là một trong các công nghệ chủ chốt của IoT trong môi trường truyền thông t a khắp/mọi nơi (ubiquitous), là k thuật nhận dạng bằng sóng vô tuyến sử dụng sóng radio để truyền dữ liệu từ một th điện tử gắn liền với một đối tượng (có thể là một sản phẩm hàng hóa) đến một hệ thống trung tâm thông qua một đầu đọc với mục đích xác định và theo dõi các đối tượng [1]

K thuật RFID có liên quan đến hệ thống không dây cho phép một thiết bị đọc thông tin được chứa trong một chip không tiếp xúc trực tiếp ở khoảng cách xa,

mà không thực hiện bất kỳ giao tiếp vật lý nào hoặc yêu cầu một sự nhìn thấy giữa hai cái Nó cho ta phương pháp truyền và nhận dữ liệu từ một điểm đến điểm khác

RFID đã có trong thương mại trong một số hình thức từ những năm 1970 Bây giờ nó là một phần trong cuộc sống hằng ngày, có thể thấy trong những chìa khóa xe hơi, th lệ phí quốc lộ và các lọai th truy cập an toàn, cũng như trong môi trường mà nơi đó việc đánh nhãn bằng mã số k vạch trên hàng hóa (yêu cầu giao tiếp vật lý hoặc nhìn thấy) là không thực tế hoặc không hiệu quả lắm

Dạng đơn giản nhất được sử dụng hiện nay hệ thống RFID bị động làm việc như sau: một RFID reader truyền một tín hiệu tần số vô tuyến điện từ qua anten của

nó đến một con chip không tiếp xúc Reader nhận thông tin trở lại từ chip và gửi nó đến máy tính điều khiển đầu đọc và xử lý thông tin tìm được từ con chip Các con chip không tiếp xúc không tích điện, chúng hoạt động bằng cách sử dụng năng lượng chúng nhận từ tín hiệu được gửi bởi một reader

Một hệ thống RFID toàn diện bao gồm bốn thành phần:

 Th RFID được lập trình điện tử với thông tin duy nhất

 Các reader hoặc sensor (cái cảm biến) để truy vấn các th

 Anten

 Server

Sensor cũng là công nghệ chủ chốt của IoT là mạng liên kết các node với nhau nhờ sóng radio Nhưng trong đó, mỗi node mạng bao gồm đầy đủ các chức năng để cảm nhận, thu thập, xử lý và truyền dữ liệu Các node mạng thường là các thiết bị đơn giản, nh gọn, giá thành thấp,…và có số lượng lớn, được phân bố

Trang 24

không có hệ thống trên phạm vi rộng, sử dụng nguồn năng lượng (pin) hạn chế thời gian hoạt động lâu dài Các cảm biến có thể được triển khai khắp mọi nơi như:

 Cấy vào dưới da người/động vật;

 Gắn vào đồ vật, vào các máy móc, thiết bị;

Các cảm biến dùng để cảm nhận (feel)/đo các thông số, tình trạng của môi trường, đồ vật:

 Cảm biến nhiệt độ, ánh sáng, áp suất, độ ẩm, chuyển động, cảm biến từ,

độ phóng xạ,

 Cảm biến hóa học (ion, khí ga,…), cảm biến sinh học (chất độc,…) Các cảm biến có thể được tập hợp thành mạng cảm biến, các cảm biến không dây cũng được sử dụng rộng dãi

Có thể kết hợp cảm biến và RFID: cảm biến cho phép đo các thông số nhận thông tin, RFID cho phép nhận dạng, theo dõi và truyền thông tin

Các vật dụng được trang bị các công nghệ thông minh ngày càng phổ biến: smart phones, smart TV, smart homes,…

 Vật liệu/đồ vật thông minh: các vật liệu/đồ vật được tích hợp cảm biến,

bộ điều khiển và cơ cấu chấp hành/thực thi

 Quần áo thông minh và tính toán đeo/mang được, nhà thông minh, xe thông minh

 Robot

Công nghệ nano là khoa học, k thuật, công nghệ và tiến hành ở cấp độ nano, đó là khoảng 1-100 nanomet Khoa học nano và công nghệ nano là việc nghiên cứu và ứng dụng những thứ rất nh và có thể được sử dụng trên tất cả các lĩnh vực khoa học khác, như hóa học, sinh học, vật lý, khoa học vật liệu và k thuật Khoa học nano và công nghệ nano liên quan đến khả năng nhìn thấy và kiểm soát các nguyên tử và phân tử [1]

Sự hội tụ của công nghệ nano và IoT hứa hẹn giải pháp mới cho nhiều ứng dụng trong các lĩnh vực y sinh học, công nghiệp và quân sự cũng như trong tiêu dùng và công nghiệp hóa Việc kết nối các thiết bị Internet và Công nghệ nano, định

Trang 25

nghĩa một mô hình mạng mới đã được gọi là "Internet của NanoThings” Việc kết hợp nano và IoT có tiềm năng rất lớn thông qua mối quan hệ này, để theo dõi, cảm biến, xác định lại và phá vỡ công nghệ và thực hành trên nhiều lĩnh vực bao gồm, thuốc thú y, y tế, an ninh và giải trí hiện nay

1.2 Tổng quan về giao thức thu thập dữ liệu IoT

1.2.1 Giao thức MQTT

1.2.1.1 Giới thiệu về giao thức MQTT

MQTT được tạo ra bởi Tiến sĩ Andy Standford-Clark của IBM và Arlen Nipper of Arcom (bây giờ Eurotech) in 1999 như một phương thức đáng tin cậy hiệu quả với chi phí để kết nối các thiết bị giám sát sử dụng trong các ngành công nghiệp dầu m và khí đốt với các máy chủ doanh nghiệp từ xa Khi thử thách với việc tìm kiếm một cách để đẩy dữ liệu từ các cảm biến đường ống trong sa mạc để quản lý hệ thống SCADA, họ quyết định một giao thức TCP/IP dựa trên mô hình xuất bản/đăng ký (publish/subscribe) đó sẽ là sự kiện hướng tới giảm chi phí giữ liên kết truyền hình vệ tinh [7]

Hình 1 4: Mô hình kết nối với giao thức MQTT [7]

MQTT là một giao thức thông điệp nhẹ mà cung cấp mạng lưới client có ràng buộc tài nguyên để phân phối thông tin từ xa một cách đơn giản Giao thức này

Trang 26

sử dụng một mô hình truyền thông xuất bản/đăng ký, nó thường được sử dụng cho giao tiếp dạng machine–to-machine (M2M) và đóng một vai trò quan trọng trong IoT [7]

MQTT cho phép các thiết bị gửi (publish) thông tin liên quan tới các chủ đề nhất định tới máy chủ với các chức năng như là một MQTT trung gian thông điệp (message broker.) Broker này sau đó sẽ đưa các thông tin tới các client mà trước đây đã đăng ký chủ đề của mình Một chủ đề có thể giống như một đường dẫn tập tin phân cấp Các client các thể đăng ký để nhận một chủ đề cụ thể của một hệ thống phân cấp chủ đề hoặc sử dụng một ký tự đại diện để đăng ký với nhiều mức

độ [7]

MQTT là một lựa chọn tốt cho các mạng không dây mà có độ trễ không ổn định, hạn chế về băng thông hoặc các kế nối không đáng tin cậy Khi một kết nối từ một client đăng ký vào broker bị ngắt, broker sẽ tạm thời giữ các thông điệp này và

sẽ cung cấp chúng cho các subscribe khi nó có kết nối trở lại Các kết nối từ các client publish cho các broker ngắt kết nối mà không cần phản thông báo, broker có thể đóng kết nối và gửi một thông điệp đã được lưu trữ tạm thời với các chỉ dẫn từ publisher

Mặc dù vẫn còn một số cân nhắc, rất nhiều các chuyên gia tin tưởng rằng MQTT sẽ đóng một vai trò quan trọng trong IoT, tạo điều kiện cho những lĩnh vực theo dõi kho kiểm kê hàng hóa, đo đạc tự động từ xa, giám sát tài nguyên năng lượng, dịch vụ thông báo, các ứng dụng chăm sóc sức kh e,

Giao thức hiện nay vẫn đang được phát triển và hiện nay đã hỗ trợ WebSockets một giao thức cho phép tương tác hai chiều giữa client và broker trong thời gian thực

Trang 27

1.2.1.2 Mô hình giao thức MQTT

Hình 1 5: Mô hình giao thức MQTT [7]

Một phiên làm việc MQTT được chia thành bốn giai đoạn: kết nối, xác thực, giao tiếp và chấm dứt Một khách hàng bắt đầu bằng cách tạo ra một kết nối TCP/IP cho broker bằng cách sử dụng một cổng tiêu chuẩn hoặc một cổng tùy chỉnh được xác định bởi các nhà khai thác của nhà môi giới Khi kết nối, điều quan trọng là nhận ra rằng các máy chủ có thể tiếp tục một phiên cũ nếu được cung cấp với một danh tính khách hàng tái sử dụng

Các cổng tiêu chuẩn là năm 1883 không được mã hóa giao tiếp và 8883 để liên lạc được mã hóa sử dụng SSL/TLS Trong SSL/TLS bắt tay, khách hàng xác nhận các chứng chỉ máy chủ để xác thực máy chủ Các khách hàng cũng có thể cung cấp một xác thực khách hàng cho broker trong khi bắt tay đó broker có thể sử dụng để xác thực cho khách hàng Trong khi không cụ thể một phần của đặc tả MQTT, nó đã trở thành cách cho các broker để hỗ trợ xác thực khách hàng với giấy chứng nhận phía máy khách SSL/TLS [7]

Trang 28

Bởi vì MQTT nhằm mục đích là một giao thức cho các thiết bị nguồn lực hạn chế, SSL/TLS có thể không phải luôn luôn là một lựa chọn và trong một số trường hợp, có thể không được như mong muốn Trong trường hợp như vậy, xác thực được trình bày như là một tên người dùng văn bản rõ ràng và mật khẩu được gửi bởi máy khách đến máy chủ như là một phần của chuỗi gói CONNECT/CONNACK Một số broker, đặc biệt là các broker mở công bố trên Internet, sẽ chấp nhận khách hàng giấu tên Trong trường hợp như vậy, tên người dùng và mật khẩu chỉ đơn giản là để trống

MQTT được gọi là một giao thức nhẹ bởi vì tất cả các thông điệp có một dấu chân nh mã Mỗi thông điệp bao gồm một tiêu đề cố định (2 byte), một tiêu đề biến tùy chọn, một trọng tải thông điệp đó là giới hạn 256 MB bộ thông tin và mức chất lượng dịch vụ (QoS)

1.2.1.3 Định dạng thông điệp MQTT

MQTT có 14 loại thông điệp khác nhau Thông thường, người dùng cuối chỉ cần sử dụng các các loại tin nhắn CONNECT, PUBLISH, SUBSCRIBE, và UNSUBSCRIBE Các loại tin nhắn khác được sử dụng cho các cơ chế nội bộ và các luồng gửi tin nhắn [6]

Bảng 1.1: Bảng các loại thông điệp và mô tả [6]

CONNECT Client yêu cầu kết nối Server

CONNACK Kết nối được chấp nhật

PUBLISH Một thông điệp được tạo mới

PUBACK Thông điệp phản hồi cho PUBLISH với QoS1

PUBREC Phần đầu tiên của luồng thông điệp với QoS2

PUBREL Phần hai của luồng thông điệp với QoS2

PUBCOMP Phần cuối của luồng thông điệp với QoS2

Trang 29

SUBSCRIBE Một thông điệp được sử dụng bởi client để lấy thông tin từ

các chủ đề cụ thể SUBACK Sự thừa nhận một thông điệp SUBSCRIBE

UNSUBSCRIBE Một thông điệp đã sử dụng của client và không dùng nữa từ

một chủ đề đã chọn UNSUBACK Sự thừa nhận một thông điệp UNSUBSCRIBE

PINGREQ Thông điệp gửi từ một client đã kết nối đến server để kiểm tra

xem server có còn hiện hữu không?

PINGRESP Thông điệp phản hồi từ server của một yêu cầu từ bản tin

PINGREQ rằng vẫn server còn hiện hữu

DISCONNECT Client gửi thông điệp trước khi ngắt kết nối

Cấu trúc của một gói kiểm soát MQTT

Các giao thức MQTT hoạt động bằng cách trao đổi một loạt các MQTT kiểm soát gói tin một cách xác định Phần này mô tả định dạng của những gói tin

Một gói MQTT kiểm soát bao gồm lên đến ba phần, luôn luôn theo thứ tự sau như minh họa trong Bảng 1.2

Bảng 1.2: Cấu trúc của một gói tin điều khiển MQTT

Cố định tiêu đề, hiện diện trong tất cả các gói điều khiển MQTT

Biến tiêu đề, hiện nay ở một số gói kiểm soát MQTT

Trọng tải, hiện diện trong một số gói kiểm soát MQTT

Bảng 1.3: Định dạng cố định của đầu file bản tin MQTT

byte 1 Các loại gói kiểm soát MQTT Các cờ cụ thể cho từng kiểm soát

loại gói MQTT

Trang 30

byte 2 … Chiều dài còn lại

Các chủ đề của giao thức MQTT

Chủ đề là một chuỗi UTF-8, được sử dụng bởi các broker để lọc tin nhắn cho mỗi khách hàng được kết nối Một chủ đề bao gồm một hoặc nhiều hơn mức chủ đề Mỗi cấp độ chủ đề được phân cách bằng một dấu gạch chéo (độ phân cách chủ đề)

So với một hàng đợi thông điệp, một chủ đề là rất nhẹ Không cần tạo ra các chủ đề cho một khách hàng mong muốn trước khi xuất bản hoặc đăng ký vào nó, bởi vì một broker chấp nhận tất cả các chủ đề hợp lệ [6]

Các ký hiệu trong chủ đề của giao thức MQTT

MQTT chủ đề ký tự đại diện có thể được sử dụng cho các bộ lọc chủ đề khi đăng ký vào thông điệp MQTT Những kí hiệu là hữu ích nếu một khách hàng muốn nhận tin nhắn cho các chủ đề khác nhau với cấu trúc tương tự cùng một lúc

Ký tự đại diện không được phép đưa vào tên chủ đề khi xuất bản thông điệp Các ký tự đại diện được dành riêng và không được sử dụng trong chủ đề [6]

Bảng 1.4: Bảng mô tả ký tự đại diện của chủ đề thông điệp MQTT [6]

Multi-level

Wildcard #

Một ký tự đại diện phù hợp với bất kỳ số lượng các cấp trong một chủ đề Nó phải là ký tự cuối cùng của một chủ đề subscriber

Các mức chất lƣợng của dịch vụ (QoS)

Mỗi MQTT xuất bản được gửi với một trong ba mức QoS Các mức này được kết hợp với bảo đảm khác nhau liên quan đến độ tin cậy của các thông báo giao hàng Cả khách hàng và broker cung cấp thêm cơ chế bền bỉ và trả để tăng độ

Trang 31

tin cậy trong trường hợp sự cố mạng, khởi động lại các ứng dụng, và hoàn cảnh bất ngờ khác [6]

MQTT dựa trên TCP, trong đó có bảo đảm độ tin cậy trên riêng của mình Mức QoS là cần thiết để vượt qua mất mát dữ liệu trên các mạng TCP cũ và không đáng tin cậy Điều này vẫn có thể là một mối quan tâm hợp lệ cho các mạng di động hiện nay

Ba mức QoS khác nhau của xác định nội dung được quản lý bởi các giao thức MQTT Mặc dù mức độ cao hơn của QoS là đáng tin cậy hơn, chúng có nhiều

độ trễ và băng thông yêu cầu để khách hàng đăng ký có thể xác định mức độ QoS cao nhất mà họ muốn nhận được [6]

Trang 32

1

Ít nhất một lần giao hàng: Người nhận sẽ nhận được thông báo ít nhất một lần Nếu người nhận không chấp nhận thông báo hoặc thừa nhận bị mất trên đường đi, nó sẽ được bực bội cho đến khi người gửi được một sự thừa nhận Tin trùng lặp có thể xảy ra

2

Đúng một lần giao hàng: Giao thức làm cho chắc chắn rằng thông điệp sẽ đến đúng một lần ở người nhận Điều này làm tăng chi phí truyền thông nhưng là lựa chọn tốt nhất khi không mất cũng không trùng lặp của các thông điệp này là chấp nhận được

Nguyện vọng cuối và khế ƣớc (Last Will and Testament - LWT)

Một tin nhắn có thể được xác định bởi một khách hàng MQTT khi kết nối với các nhà môi giới MQTT Nếu khách hàng mà không ngắt kết nối một cách duyên dáng, người môi giới sẽ gửi ra thông điệp LWT thay mặt cho khách hàng khi mất kết nối được phát hiện [6]

Giữ lại tin nhắn

Mỗi gửi MQTT tin nhắn có thể được gửi dưới dạng tin nhắn giữ lại Một tin nhắn lại là cuối cùng được biết giá trị tốt và tồn tại ở môi giới MQTT cho các chủ

đề cụ thể Mỗi khi một khách hàng mới đặt mua mà chủ đề cụ thể, nó sẽ ngay lập tức nhận được thông báo giữ lại cuối cùng về chủ đề đó Đây cũng là trường hợp cho phù hợp với các kí hiệu [6]

1.2.1.4 Môi trường hoạt động MQTT

Bởi vì MQTT không được thiết kế với an ninh trong tâm trí, giao thức có truyền thống được sử dụng trong các mạng lưới an toàn, back-end cho các mục đích ứng dụng cụ thể Cấu trúc đề MQTT có thể dễ dàng tạo thành một cái cây khổng lồ

và không có cách nào rõ ràng làm thế nào để phân chia một cây thành các miền logic nh hơn có thể được liên Điều này làm cho nó khó khăn để tạo ra một mạng

Trang 33

lưới MQTT khả năng mở rộng trên toàn cầu, bởi vì như kích thước của các chủ đề cây trồng, độ phức tạp tăng lên

Một khía cạnh tiêu cực của MQTT là thiếu khả năng tương tác Bởi vì nội dung thông báo là nhị phân, không có thông tin như thế nào chúng được mã hoá, vấn đề có thể phát sinh - đặc biệt là trong các kiến trúc mở, nơi các ứng dụng khác nhau từ các nhà sản xuất khác nhau có nghĩa vụ phải làm việc liên tục với nhau

Như đã đề cập đến trước đây, MQTT có tính năng xác thực tối thiểu xây dựng vào các giao thức Tên người dùng và mật khẩu được gửi trong văn bản rõ ràng và mọi hình thức sử dụng an toàn của MQTT phải sử dụng SSL/TLS, mà không may, không phải là một giao thức nhẹ Chứng thực khách hàng với giấy chứng nhận phía máy khách không phải là một quá trình đơn giản và không có cách nào trong MQTT, ngoại trừ bằng độc quyền vượt ra ngoài phương tiện, để kiểm soát những người sở hữu một chủ đề và những người có thể công bố thông tin về

nó Điều này làm cho nó rất dễ dàng để đưa vào các tin nhắn có hại, hoặc là cố ý hoặc do nhầm lẫn, vào mạng Hơn nữa, không có cách nào cho người nhận tin nhắn

để biết ai đã gửi thông điệp ban đầu trừ khi thông tin được chứa trong thông điệp thực tế

Bất chấp những nhận xét này, nhiều chuyên gia tin rằng MQTT sẽ đóng một vai trò quan trọng trong việc IoT, tạo điều kiện cho những thứ như theo dõi hàng tồn kho, viễn thông ô tô, giám sát tài nguyên và mạng diện cơ quan y tế (MBANs) Các giao thức được cải tiến liên tục và bây giờ hỗ trợ WebRTC, một giao thức cho phép giao tiếp hai chiều giữa khách hàng và broker trong thời gian thực [7]

1.2.2 Giao Thức CoAP

1.2.2.1 Giới thiệu về giao thức CoAP

IoT là một phần quan trọng của một thế hệ mới của công nghệ mà mọi đối tượng không có những thứ vật chất hay con người có thể được kết nối với Internet

Có nhiều giao thức không dây (như IEEE 802.11 Series, 802.15 Series, Zigbee, vv)

để giao tiếp giữa các thiết bị Tuy nhiên, xem xét rất nhiều các thiết bị nh không

Trang 34

thể giao tiếp hiệu quả với nguồn lực hạn chế, IETF đã phát triển một giao thức nhẹ: CoAP [5]

Các giao thức CoAP là cần thiết vì các giao thức truyền thống được coi là

"quá nặng" cho các ứng dụng liên quan đến các thiết bị IoT hạn chế Mạng lưới các nút kết thúc IoT có xu hướng "nén -lossy", nhưng các thiết bị năng lượng thấp mà dựa vào họ được kỳ vọng sẽ tiếp tục hoạt động - được trang bị pin hoặc thu năng lượng - trong nhiều năm và cần phải tiêu hao ít năng lượng càng tốt [8]

CoAP là một giao thức phần mềm cho phép đơn giản ràng buộc nhiều thứ chẳng hạn như cảm biến năng lượng thấp và cơ cấu chấp hành để giao tiếp tương tác thông qua internet Nó chạy trên các thiết bị có hỗ trợ các UDP, và thực hiện một "nhẹ" lớp ứng dụng có tính năng kích thước nh nhắn, quản lý tin nhắn và trên không nhắn nhẹ lý tưởng cho các thiết bị điện năng thấp, bộ nhớ thấp

Trong IoT giao thức CoAP được rộng rãi sử dụng như một giao thức để tự động hóa nhà và trong nhiều ứng dụng công nghiệp Nó cũng được sử dụng để quản

lý các thiết bị sử dụng OMA, giao thức LWM2M, và các tổ chức khác - bao gồm The Open Networking Foundation và ZigBee – đã khai thác CoAP như một giao thức cốt lõi cho các nền tảng của họ và triển khai sản phẩm

Để bắt kịp với sự bùng nổ cũng như tăng trưởng của các thiết bị IoT kết nối sắp tới, một giao thức IoT thiết kế đặc biệt cho các thiết bị nhiều hạn chế, CoAP có một vai trò quan trọng để giúp cho việc kết nối và thu thập dữ liệu giữa các thiết bị IoT [8]

1.2.2.2 Mô hình giao thức CoAP

CoAP mô hình tương tác tương tự như mô hình client /server HTTP Hình 1.7 cho thấy CoAP sử dụng một cấu trúc hai lớp Lớp dưới cùng là lớp tin nhắn đã được thiết kế để đối phó với UDP và chuyển mạch không đồng bộ

Trang 35

Hình 1 7: Mô hình giao thức CoAP [8]

1.2.2.3 Định dạng thông điệp CoAP

Mô hình lớp thông điệp

Lớp thông điệp hỗ trợ 4 loại thông điệp: CON (confirmable – kiểm chứng), NON (non-confirmable – không kiểm chứng), ACK (Acknowledgement – thừa nhận), RST (Reset – thiết lập lại) [8]

Truyền tải thông điệp đáng tin cậy:

Giữ thông tin truyền tải lại cho đến khi có được thông điệp ACK với định danh (ID) thông điệp tương tự (như 0x8c56 trong Hình 1.8) Sử dụng thời gian mặc định ra ngoài và giảm thời gian đếm theo cấp số nhân khi truyền thông điệp loại CON Nếu người nhận không xử lý tin nhắn, nó phản ứng bằng cách thay thế thông điệp ACK với thông điệp RST Hình 1.8 cho thấy một sự truyền tải thông tin đáng tin cậy

Hình 1 8: Truyền tải thông điệp tin cậy [8]

Truyền tải thông điệp không tin cậy:

Trang 36

Truyền tải với các thông điệp loại NON Nó không cần phải được thừa nhận- ACKed, nhưng có chứa ID thông điệp cho giám sát trong trường hợp truyền tải lại Nếu người nhận không xử lý thông điệp, máy chủ trả lời thông điệp RST Hình 1.9 cho thấy truyền tải không đáng tin cậy

Hình 1 9: Truyền tải thông điệp không tin cậy [8]

Mô hình lớp request/response (yêu cầu/đáp ứng)

Mang theo thông điệp (Piggy-backed): Client gửi yêu cầu sử dụng loại thông điệp CON hoặc thông điệp kiểu NON và nhận được thông điệp phản ứng ACK với thông điệp xác nhận ngay lập tức Trong Hình 1.10 cho phản hồi thành công, chứa thông điệp phản hồi ACK (xác định bằng cách sử dụng token), cho phản hồi thất bại, thông điệp ACK chứa mã phản hồi thất bại

Hình 1 10: Kết quả phản hồi thành công và thất bại của phương thức GET [8]

Phản hồi tách biệt: Nếu máy chủ nhận được thông điệp kiểu CON nhưng không thể đáp ứng yêu cầu này ngay lập tức, nó sẽ gửi một thông điệp kiểu ACK

Trang 37

trống trong trường hợp khách hàng gửi lại tin nhắn này Khi máy chủ đã sẵn sàng để đáp ứng yêu cầu này, nó sẽ gửi một thông điệp kiểu CON mới cho khách hàng và khách hàng trả lời nhắn xác nhận với sự thừa nhận Thông điệp ACK là chỉ để xác nhận thông điệp CON, không có vấn đề yêu cầu thông điệp CON hoặc phản hồi Hình 1.11

Hình 1 11: Một yêu cầu GET với một phản hồi riêng biệt [8]

Yêu cầu và không xác nhận phản hồi: không giống như phản hồi Piggy hậu thuẫn mang thông điệp xác nhận, trong yêu cầu không xác nhận client gửi thông điệp kiểu NON chỉ ra rằng máy chủ không cần phải xác nhận Server sẽ gửi lại một thông điệp phản hồi kiểu NON Hình 1.12

Trang 38

Hình 1 12: Yêu cầu và không xác nhận phản hồi [8]

Định dạng thông điệp

CoAP được dựa trên việc trao đổi các thông điệp nh gọn, theo mặc định, được truyền qua UDP (nghĩa là mỗi tin nhắn CoAP chiếm phần dữ liệu của một gói UDP) Tin nhắn của CoAP sử dụng định dạng nhị phân đơn giản Message = kích thước cố định tiêu đề 4-byte cộng với chiều dài thay đổi Mã cộng với một chuỗi các lựa chọn CoAP cộng với tải trọng Các định dạng được thể hiện trong Hình 1.13

Hình 1 13: Định dạng thông điệp [8]

Option number=option delta+ ex option number (số tùy chọn = tùy chọn tùy chọn + số tùy chọn cũ) Các định dạng được thể hiện trong Hình 1.14

Trang 39

Hình 1 14: Định dạng CoAP tùy chọn [8]

1.2.2.4 Môi trường hoạt động CoAP

CoAP là một giao thức sử dụng chủ yếu như là một giao thức một-một cho chuyển trạng thái thông tin giữa máy khách và máy chủ Trong khi nó có hỗ trợ cho quan sát tài nguyên, CoAP là phù hợp nhất với một mô hình chuyển trạng thái, không hoàn toàn là dựa trên sự kiện

Thông tin thiết bị, thiết bị điều khiển và thiết bị thông tin liên lạc trong mạng gia đình thông minh có các ký tự của chi phí thấp và trọng lượng nhẹ Như vậy, CoAP có thể được xem là sự lựa chọn giao thức tốt nhất cho các mạng truyền thông gia đình thông minh

Mạng nhà thông minh cung cấp kiểm soát và giám sát năng lượng của các thiết bị trong nhà Hệ thống kiểm soát năng lượng sử dụng quản lý ổ cắm thông minh và thiết bị sử dụng màn hình điện để cung cấp điện áp, thông tin năng lượng hiện tại và khác Nó có thể nhận ra cảnh báo tai nạn, điều khiển từ xa và tiết kiệm năng lượng năng động Cấu trúc hệ thống được thể hiện trong Hình 1.15 Mỗi bộ sưu tập nút dữ liệu với CoAP khách hàng có thể trao đổi thông tin với các nút khác CoAP có thể được cài đặt được trong mạng LAN hoặc Internet Không giống như nhiều giao thức không dây cho các thiết bị, CoAP đã thiết kế không bị hạn chế trong một mạng nội bộ nhưng cung cấp nền tảng cơ bản của trang web Trong hệ thống này, các proxy CoAP-HTTP được sử dụng để cung cấp cho khách hàng kết nối HTTP đến tài nguyên CoAP và ngược lại [8]

Ngày đăng: 27/04/2017, 14:06

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Francis da Costa (2013), Rethinking the Internet of Things A Scalable Approroach to Connecting Everything, Apress Open Sách, tạp chí
Tiêu đề: Rethinking the Internet of Things A Scalable Approroach to Connecting Everything
Tác giả: Francis da Costa
Năm: 2013
[4] Jun Zheng and Abbas Jamalipour (2009), Wireless sensor networks a Networking Perspective, A John wiley & Sons, inc., publication Sách, tạp chí
Tiêu đề: Wireless sensor networks a Networking Perspective
Tác giả: Jun Zheng and Abbas Jamalipour
Năm: 2009
[5] Peter Waher (January 2015), “The MQTT Protocol”, Learning Internet of Things, Packt Publishing, pp. 108 – 123.Website Sách, tạp chí
Tiêu đề: The MQTT Protocol”, "Learning Internet of Things
[6] Dominik Obermaier. Getting Started With MQTT, https://dzone.com/refcardz/getting-started-with-mqtt[7]Margaret Rouse. MQTT (MQTelemetryTransport),http://internetofthingsagenda.techtarget.com/definition/MQTT-MQ-Telemetry-Transport Sách, tạp chí
Tiêu đề: Getting Started With MQTT," https://dzone.com/refcardz/getting-started-with-mqtt [7] Margaret Rouse. "MQTT (MQTelemetryTransport)
[8] Xi Chen. Constrained Application Protocol for Internet of Things, http://www.cse.wustl.edu/~jain/cse574-14/ftp/coap/ Sách, tạp chí
Tiêu đề: Constrained Application Protocol for Internet of Things
[9] Stan Schneider (Oct 9, 2013). Understanding The Protocols Behind The Internet Of Things, http://electronicdesign.com/iot/understanding-protocols-behind-internet-things Sách, tạp chí
Tiêu đề: Understanding The Protocols Behind The Internet Of Things
[10] National Instruments (Aug 24, 2016). What Is a Wireless Sensor Network?, http://www.ni.com/white-paper/7142/en/ Sách, tạp chí
Tiêu đề: What Is a Wireless Sensor Network
[11] IBM Corp, (2016). IBM Bluemix, https://www.ibm.com/cloud-computing/bluemix/ Sách, tạp chí
Tiêu đề: IBM Bluemix
Tác giả: IBM Corp
Năm: 2016
[12] Jukka Suhonen, Olli Kivela, (2012, September). Sensor Information Data Format, http://www.tkt.cs.tut.fi/research/gwg/openapi/sidf.html. Truy cập ngày 04/06/2016 [13] STUART LEUNG, (Mar 20, 2014). 5 Ways the Internet of Things Will MakeMarketing Smarter Sách, tạp chí
Tiêu đề: Sensor Information Data Format," http://www.tkt.cs.tut.fi/research/gwg/openapi/sidf.html. Truy cập ngày 04/06/2016 [13] STUART LEUNG, (Mar 20, 2014). "5 Ways the Internet of Things Will Make
Tác giả: Jukka Suhonen, Olli Kivela
Năm: 2012
[2] Intel (2014), Developing Solutions for the Internet of Things, Intel Khác
[3] John esposito (2015), The Dzone guide to the Internet of Things Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w