Cách thức hoạt động của giao thức MQTT

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số phương pháp giao tiếp giữa các cảm biến và ứng dụng iot trong giám sát thiết bị điện phòng học (Trang 36)

MC LC

6. Ý nghĩa khoa học và ý nghĩa thực tiễn

1.3.1.6. Cách thức hoạt động của giao thức MQTT

iao thức MQTT hoạt động theo m hình publish/subcribe theo nhƣ m tả trong hình 1.15 ở phần mục 1.3.1.5 [10]

Trong m hình hoạt động của giao thức MQTT, bên gửi dữ liệu đƣợc gọi là thiết bị publisher và bên nhận đƣợc gọi là thiết bị subcriber. ác thiết bị này còn đƣợc gọi chung là MQTT client. ên cạnh các thành phần publisher và subcriber thì giao thức MQTT sử dụng một thiết bị trung gian đóng vai trò trung chuyển các gói tin gọi là MQTT roker. ể nhận đƣợc th ng tin thì các thiết bị subscriber sẽ gửi th ng báo yêu cầu cung cấp th ng tin (subcribe) theo một chủ đề (topic) nhất định đến MQTT broker. hủ đề là một cái tên để phân biệt các kênh truyền từ các thiết bị publisher khác nhau và có dạng cây A/ / /.../X/Y. Khi một thiết bị publisher gửi th ng báo cung cấp th ng tin

với chủ đề nhất định lên MQTT roker thì MQTT roker sẽ gửi th ng báo đó đến các thiết bị subcriber đã yêu cầu chủ đề đó.

MQTT roker kh ng chỉ đóng vai trò chuyển tiếp các th ng báo từ publisher tới các subcriber dựa trên chủ đề (topic) của th ng báo mà còn đóng các vai trò khác nhƣ duy trì các kết nối giữa các publisher và subcriber tới MQTT roker, phát hiện sự mất kết nối bất thƣờng của các thiết bị, truyền lại các gói tin, chứng thực và phân quyền cho thiết bị mỗi khi gửi th ng báo publish hoặc subcribe tới MQTT roker. Hiện nay có nhiều MQTT roker đƣợc các hãng phát triển nhƣ: Mosquitto MQTT, Verner MQTT, Hivemq, ...

iao thức MQTT là giao thức ở tầng ứng dụng, sử dụng tầng giao vận là giao thức mà đáp ứng 3 yêu cầu đó là: các gói tin đến theo thứ tự, kh ng bị mất mát và kết nối là kết nối 2 chiều (giống nhƣ các đặc điểm của giao thức tầng giao vận T P/ P).

iao thức MQTT có 5 đặc trƣng nổi bật đã tạo nên sự khác biệt so với các giao thức khác.

Thứ nhất, giao thức sử dụng m hình publish/subcribe để chuyển tiếp dữ liệu. M hình này phù hợp với các ứng dụng cần chuyển tiếp th ng báo từ một bên gửi tới nhiều bên nhận.

Thứ hai, việc truyền gói tin từ publisher tới subcriber kh ng liên quan tới nội dung của gói tin.

Thứ ba, giao thức MQTT phân ra 3 mức độ chất lƣợng dịch vụ cho quá trình truyền gói tin từ publisher tới subcriber. Với kiểu dịch vụ truyền nhiều nhất 1 lần, th ng báo từ publisher sẽ đƣợc truyền đến subcriber, tuy nhiên nếu trong quá trình truyền gặp sự cố việc mất th ng báo thì sẽ kh ng có cơ chế truyền lại th ng báo. Với kiểu dịch vụ truyền ít nhất một lần, th ng báo từ publisher sẽ đƣợc đảm bảo truyền đến subcriber, tuy nhiên th ng báo có thể đƣợc gửi đến subcriber nhiều hơn 1 lần do việc gửi lại th ng báo khi gói tin

xác nhận bị mất. Với kiểu dịch vụ truyền chính xác 1 lần, một th ng báo từ publisher sẽ đƣợc gửi đến subcriber chính xác 1 lần.

Thứ tƣ, kích thƣớc tiêu đề của các gói tin MQTT rất nhỏ (các trƣờng cố định có kích thƣớc là 2 byte) so với các giao thức ở tầng ứng dụng khác. iều đó giúp cho giao thức này có thể hoạt động trong các m i trƣờng mạng có tốc độ truyền thấp.

Thứ năm, cơ chế th ng báo khi xảy ra việc kết nối bất thƣờng từ thiết bị publish hoặc subcribe. iao thức MQTT hiện đang đƣợc sử dụng khá rộng rãi trong các ứng dụng oT khác nhau nhƣ Amazon IoT, Microsoft Azure IoT Hub, ứng dụng chat Messenger acebook, .... [10].

1.3.1.7. Ưu điểm của giao thức MQTT

- ây là một giao thức nhẹ. o đó, dễ dàng thực hiện trong phần mềm và nhanh chóng trong việc truyền nhận dữ liệu, ít bị ảnh hƣởng bỡi tốc độ mạng.

- iao thức dựa trên kỹ thuật tin nhắn, vì vậy tốc độ khá nhanh. ói dữ liệu truyền đƣợc tối ƣu hóa.

- Sử dụng nguồn điện năng thấp, tiếp kiệm năng lƣợng cho thiết bị đƣợc kết nối. Thời gian thực, đây là điều đặc biệt quan trọng trong các dự án oT.

1.3.1.8. Bảo mật của giao thức MQTT

MQTT đƣợc thiết kế một cách nhẹ và linh hoạt nhất có thể. o đó nó chỉ có một lớp bảo mật ở tầng ứng dụng: bảo mật xác thực (xác thực các client đƣợc quyền truy cập đến roker). Tuy nhiên, MQTT vẫn có thể đƣợc cài đặt kết hợp với các giải pháp bảo mật đa tầng khác nhƣ kết hợp với VNP ở tầng mạng hoặc SSLL/TLS ở tầng transport. MQTT đƣợc thiết kế nhằm phục vụ truyền th ng machine-to-machine nhƣng trên thực tế chứng minh nó lại hoạt động một cách linh hoạt hơn mong đợi. Nó hoàn toàn có thể áp dụng cho các kịch bản truyền th ng khác nhau: machine to machine, app to app. hỉ cần có một roker phù hợp và MQTT lient đƣợc cài đặt đúng cách, các thiết bị xây

dựng trên nhiều nền tảng khác nhau có thể giao tiếp đƣợc với nhau một cách dễ dàng. iao thức MQTT thực hiện xác thực th ng qua cặp username/ password – tên ngƣời dùng/mật khẩu. Với giao thức kh ng mã hoá, th ng tin này đƣợc gửi đi dƣới dạng chữ – plain text th ng thƣờng.

- Bảo mật khi truyền tải: ảo mật phƣơng thức truyền tải - secure transport: để tăng cƣờng bảo mật, giao thức MQTTs áp dụng mã hoá TLS/SSL lên toàn bộ các th ng tin đƣợc gửi đi (tƣơng tự HTTPs) giữa MQTT roker và lient, bao gồm cả tuỳ chọn yêu cầu client cung cấp chứng chỉ riêng để so sánh với chứng chỉ lƣu tại roker. Việc này sẽ gia tăng mức độ bảo mật nhƣng đồng thời cũng làm tăng đáng kể dung lƣợng truyền tải, dẫn đến tăng thời gian phản hồi, tăng độ trễ, tăng khả năng mất tin và giảm thời lƣợng pin của các thiết bị. ổng – port mặc định của giao thức MQTT là 1883, tuy nhiên roker có thể đƣợc cấu hình để thay đổi các cổng này.

- Bảo mật network: Bảo mật mạng lƣới – secure network: thực hiện giao thức MQTT thông qua các kết nối bảo mật nhƣ VPN, SSH.

- Phân quyền ACL: Phân quyền Topic – MQTT ACL (access control list): MQTT Broker có thể đƣợc cấu hình để cho phép một Client chỉ đƣợc publish và subscribe vào những topic nhất định, dựa trên một danh sách gọi là ACL. anh sách này xác định một ClientID hoặc username đƣợc quyền publish và subscribe vào những topic nào. Mặc định, A L đƣợc thiết lập ở dạng không áp dụng hoặc cho phép tất cả trên hầu hết các MQTT Broker thông dụng.

- MQTT Bridge: Có thể mở rộng hoặc gia tăng bảo mật mạng MQTT hay kết nối nhiều mạng MQTT từ các vị trí cách xa nhau bằng cách xây dựng các MQTT ridge, đóng vai trò vừa là MQTT Broker vừa là lient để chuyển tiếp các th ng điệp. Một trƣờng hợp sử dụng thƣờng thấy là các client trong một khu vực kết nối đến một MQTT Broker qua giao thức MQTT không mã hoá, sau đó MQTT roker này đóng vai trò là MQTT ridge để chuyển tiếp

các th ng điệp đến một Broker khác ở xa thông qua giao thức MQTTs. Bằng cách này, ta có thể xây dựng một mạng MQTT với nhiều vùng riêng biệt và mở rộng không giới hạn.

1.3.2. Giao thức CoAP 1.3.2.1. Giới thiệu 1.3.2.1. Giới thiệu

CoAP (Constrained Applications Protocol): là một giao thức truyền tải tài liệu theo mô hình client/server dựa trên internet tƣơng tự nhƣ giao thức HTTP nhƣng đƣợc thiết kế cho các thiết bị ràng buộc. Giao thức này hỗ trợ một giao thức one-to-one để chuyển đổi trạng thái thông tin giữa client và server [11].

Hình 1.16. Giao thức COAP

1.3.2.2. Một số đặc điểm và tính năng của giao thức COAP

CoAP sử dụng UDP (User Datagram Protocol), không hỗ trợ TCP, ngoài ra còn hỗ trợ địa chỉ broadcast và multicast, truyền thông CoAP thông qua các datagram phi kết nối (connectionless) có thể đƣợc sử dụng trên các giao thức truyền thông dựa trên các gói. UDP có thể dễ dàng triển khai trên các vi điều khiển hơn T P nhƣng các c ng cụ bảo mật nhƣ SSL/TSL kh ng có sẵn, tuy nhiên ta có thể sử dụng DTLS (Datagram Transport Layer Security) để thay thế. CoAP hoạt động theo mô hình client/server. Client gửi yêu cầu đến máy chủ, sau đó máy chủ gửi lại phản hồi. Client có thể GET, PUT, POST và DELETE các tài nguyên. Trong CoAP một nút cảm biến thƣờng là một máy

NAT, thiết bị đầu tiên phải gửi yêu cầu đến máy chủ, nhƣ đƣợc thực hiện trong LWM2M, cho phép các router liên kết chúng lại [11].

Hình 1.17. Hoạt động của giao thức COAP

1.3.3. Giao thức AMQP 1.3.3.1. Giới thiệu 1.3.3.1. Giới thiệu

AMQP (Advanced Message Queue Protocol): Hệ thống hàng đợi nâng cao đƣợc thiết kế để kết nối các máy chủ với nhau (S2S), hay còn gọi là giao thức làm trung gian cho các gói tin trên lớp ứng dụng với mục đích thay thế các hệ thống truyền tin độc quyền và kh ng tƣơng thích [11].

1.3.3.2. Một số đặc điểm và tính năng của giao thức AMQP

- ịnh hƣớng message, hàng đợi, định tuyến (bao gồm point-to-point và publish-subscribe) có độ tin cậy và bảo mật cao. Các hoạt động sẽ đƣợc thực hiện thông qua broker, nó cung cấp khả năng điều khiển luồng (Flow Control). AMQP là một giao thức có dây (wire-protocol), có khả năng diễn tả các message phù hợp với định dạng dữ liệu, có thể triển khai với rất nhiều loại ngôn ngữ lập trình. AMQP có một số tính năng nổi bật: Là giao thức lớp ứng dụng nhị phân, có thể đƣợc sử dụng để nhắn tin Point-to-Point và Xuất bản/ đăng ký, khả năng tƣơng thích rộng với các tình huống nhắn tin, hỗ trợ mã hóa đầu cuối của tin nhắn.

- Giao thức hàng đợi tin nhắn nâng cao: ó độ tin cây cao, thực hiện thông qua Broker, có khả năng điều khiển luồng (Flow Control), RabbitMQ là Message Broker phổ biến, ngôn ngữ Erlang, cung cấp cho lập trình viên

một phƣơng tiện trung gian để giao tiếp giữa nhiều thành phần trong một hệ thống lớn, cho phép diễn tả message phù hợp với định dạng dữ liệu [11].

Hình 1.18. Giao thức AMPQ

1.3.4. Giao thức DSS 1.3.4.1. Giới thiệu 1.3.4.1. Giới thiệu

DDS (Data Distribution Service): Dịch vụ phân bổ dữ liệu, là một ngôn ngữ trung gian dựa vào dữ liệu tập trung đƣợc sử dụng để cho phép khả năng mở rộng, thời gian thực, độ tin cậy cao và trao đổi dữ liệu tƣơng tác, giao thức tốc độ cao cho việc tích hợp máy thông minh (D2D) [11].

1.3.4.2. Một số đặc điểm và tính năng của giao thức DSS

- ƣợc thiết kế cho hệ thống thời gian thực, cung cấp thông báo đăng/ đăng ký, kết nối các thiết bị trực tiếp với nhau, chi phí thấp.

- ho phép trao đổi dữ liệu đáng tin cậy, hiệu suất cao, có thể tƣơng tác, mở rộng bằng cách sử dụng mẫu messsage đăng ký. Sử dụng cho các kịch bản trong hàng kh ng vũ trụ, quốc phòng, kiểm soát kh ng lƣu, phƣơng tiện tự hành, thiết bị y tế, robot, sản xuất điện, hệ thống giao thông và các hệ thống thời gian thực khác [11].

1.3.5. Giao thức XMPP 1.3.5.1. Giới thiệu 1.3.5.1. Giới thiệu

XMPP (Extensible Messaging và Presence Protocol): Trƣớc đây gọi là “Jabber”, là giao thức truyền thông dùng cho định hƣớng tin nhắn trung gian dựa trên ngôn ngữ XML. Giao thức tốt nhất để kết nối các thiết bị với mọi ngƣời, một trƣờng hợp đặc biệt của mô hình D2S [11].

1.3.5.2. Một số đặc điểm và tính năng của giao thức XMPP

- XMPP là mô hình phân quyền client-server phi tập trung, đƣợc sử dụng cho các ứng dụng nhắn tin văn bản. Có thể nói XMPP gần nhƣ là thời gian thực và có thể mở rộng đến hàng trăm hàng nghìn nút.

- Dữ liệu nhị phân phải đƣợc mã hóa base64 trƣớc khi nó đƣợc truyền đi trong băng tần, tƣơng tự nhƣ MQTT, có thể chạy trên nền tảng TCP, hoặc có thể qua HTTP trên TCP. Sức mạnh chính của nó là một chƣơng trình name@domain.comaddressing trong mạng Internet khổng lồ [11].

1.4. Ô G GHỆ WIFI 1.4.1. Giới thiệu.

Wifi (Wireless Fidelity) là một mạng thay thế cho mạng có dây thông thƣờng, thƣờng đƣợc sử dụng để kết nối các thiết bị ở chế độ kh ng dây bằng việc sử dụng c ng nghệ sóng v tuyến. ữ liệu đƣợc truyền qua sóng vô tuyến cho phép các thiết bị truyền nhận dữ liệu ở tốc độ cao trong phạm vi của mạng Wifi. Kết nối các máy tính với nhau, với nternet và với mạng có dây.

Wifi là thuật ngữ dùng chung để chỉ tiêu chuẩn 802.11 cho mạng cục bộ kh ng dây (Wireless Local Networks) hoặc WLANs. Việc sử dụng rộng rãi và tính sẵn có của nó ở nhà và nơi c ng cộng nhƣ c ng viên, quán café, sân bay, ... đã khiến Wifi trở thành một trong những c ng nghệ truyền nhận dữ liệu phổ biến nhất hiện nay [22].

Hình 1.20. Biểu tượng sóng WIFI

1.4.2. Công nghệ truyền nhận dữ liệu. * Các chuẩn của wifi [22]. * Các chuẩn của wifi [22].

Wifi là viết tắt của từ Wireless idelity trong tiếng Anh, đƣợc gọi chung là mạng kh ng dây sử dụng sóng v tuyến. Wifi là loại sóng v tuyến tƣơng tự nhƣ sóng điện thoại, sóng truyền hình và radio. Hầu hết các thiết bị sử dụng điện tử hiện nay nhƣ: Smartphone, Máy tính bảng, Tivi, Laptop,… đều có thể kết nối đƣợc Wi i. Và Wifi là thứ gắn liền và kh ng thể thiếu với đời sống của ngƣời dân trong hầu hết c ng việc cũng nhƣ giải trí hàng ngày. Chúng truyền và phát tín hiệu ở tần số 2.4 Hz hoặc 5 Hz. Tần số này cao hơn so với các tần số sử dụng cho điện thoại di động, các thiết bị cầm tay và truyền hình. Tần số cao hơn cho phép tín hiệu mang theo nhiều dữ liệu hơn.

Bảng 1.1: Bảng tóm tắt các chuẩn WiFi (https://quantrimang.com)

- Chuẩn 802.11: IEEE (Institute of Electrical and Electronics Engineers). 802.11 là một tập các chuẩn của tổ chức . huẩn 802.11 m tả một giao tiếp “truyền qua kh ng khí” (tiếng Anh: over-the-air) sử dụng sóng v tuyến để truyền nhận tín hiệu giữa một thiết bị kh ng dây và tổng đài hoặc điểm truy cập (tiếng Anh: access point), hoặc giữa 2 hay nhiều thiết bị kh ng dây với nhau. Năm 1997, giới thiệu chuẩn mạng kh ng dây đầu tiên và đặt tên nó là 802.11. Khi đó, tốc độ hỗ trợ tối đa của mạng này chỉ là 2 Mbps với băng tầng 2.4 Hz.

- Chuẩn 802.11b (tên mới WiFi 1): đã mở rộng trên chuẩn 802.11 gốc vào tháng ảy năm 1999. huẩn này hỗ trợ băng th ng lên đến 11Mbps, tƣơng quan với thernet truyền thống 802.11b sử dụng tần số v tuyến (2.4 Hz) giống nhƣ chuẩn ban đầu 802.11. ác hãng thích sử dụng các tần số này để chi phí trong sản xuất của họ đƣợc giảm.

Ƣu điểm của 802.11b – giá thành thấp nhất; phạm vi tín hiệu tốt và kh ng dễ bị cản trở.

Nhƣợc điểm của 802.11b – tốc độ tối đa thấp nhất; các ứng dụng gia đình có thể xuyên nhiễu.

- Chuẩn 802.11a (tên mới WiFi 2): ƣợc phát triển song song cùng với chuẩn 802.11b, chuẩn 802.11a hỗ trợ tốc độ tối đa gần gấp 5 lần lên đến 54Mpbs và sử dụng băng tầng 5 hz nhằm tránh bị nhiễu từ các thiết bị khác. Phạm vi phát hẹp (40-100m) và khó xuyên qua các vật cản nhƣ vách tƣờng. huẩn này thƣờng đƣợc sử dụng trong các mạng doanh nghiệp thay vì gia đình vì giá thành của nó khá cao.

Ƣu điểm của 802.11a – tốc độ cực nhanh; tần số đƣợc kiểm soát nên tránh đƣợc sự xuyên nhiễu từ các thiết bị khác.

Nhƣợc điểm của 802.11a – giá thành đắt; phạm vi hẹp và dễ bị cản trở.

- Chuẩn 802.11g (tên mới WiFi 3): Năm 2003, chuẩn Wifi thế hệ thứ 3 ra đời. huẩn này đƣợc kết hợp từ chuẩn a và b. ƣợc hỗ trợ tốc độ 54Mpbs nhƣ chuẩn a và sử dụng băng tầng 2.4 Hz của chuẩn b vì vậy chuẩn này có phạm vi tín hiệu khá tốt (80- 200m) và vẫn dễ bị nhiễu từ các thiết bị điện tử khác. Ngày nay, một số hộ gia đình vẫn còn sử dụng chuẩn này.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số phương pháp giao tiếp giữa các cảm biến và ứng dụng iot trong giám sát thiết bị điện phòng học (Trang 36)