Professional Documents
Culture Documents
Giao Thuc MQTT Bai Tap Lon Mon Mang May Tinh
Giao Thuc MQTT Bai Tap Lon Mon Mang May Tinh
Bởi vì giao thức này sử dụng băng thông thấp trong môi trường có độ trễ
cao nên nó là một giao thức lý tưởng cho các ứng dụng M2M (machine to
machine).
MQTT được phát minh bởi Andy Stanford- Clark (IBM) và Arlen
Nipper (EUROTECH) cuối năm 1999 khi mà họ được giao nhiệm vụ là tạo
ra một giao thức sao cho năng lượng hao phí và băng thông là thấp nhất để kết
nối với đường ống dẫn dầu thông qua sự kết nối vê tinh.
Quá trình phát triển :
Sau khi hiểu được các khái niệm cơ bản nhưng quan trọng này, có thể sử dụng
các thư viện open-source cho MQTT client và MQTT Broker vì flow chương
trình sử dụng thư viện MQTT client khá đơn giản chỉ sử dụng vài hàm API
như sau:
Tạo kết nối TCP đến server chạy code MQTT Broker
Gọi hàm publish() để gửi dữ liệu lên Broker
Gọi hàm subscribe() để đăng ký nhận dữ liệu từ Broker (hoặc
unsubscribe() để ngừng nhận dữ liệu từ Broker)
Đăng ký hàm callback của ứng dụng để được gọi khi thư viện MQTT
client nhận được dữ liệu từ Broker
Với phạm vi và thời gian hạn chế, bài viết muốn giới thiệu cách thức hoạt
động của giao thức MQTT và các kiến thức tổng quát đủ để hiểu được bản
chất của MQTT và sử dụng các thư viện open-source cho MQTT trong các
ứng dụng của mình.
2.2.Ứng dụng.
Byte 1 : Chứa loại Message và các cờ (DUP, QoS level, and RETAIN).
Byte 2 : (Ít nhất 1 byte) quy định độ dài còn lại.
Loại Message
Vị trí: byte 1, bits 7-4.
Một số 4-bit không dấu diễn tả các giá trị được miêu tả dưới bảng
- Các cờ
Bit còn lại của byte đầu chứa các trường DUP, QoS và RETAIN.
Vị trí các bit và ý nghĩa được miêu tả trong bảng sau:
QoS mức 0
QoS level 1.
QoS level 2
Ưu điểm
Kết nối riêng rẽ.
Nhược điểm
Điểm trung gian (broker) không cần thông báo về trạng thái gửi
thông điệp. Do đó không có cách nào để phát hiện xem thông
điệp đã gửi đúng hay chưa.
…..
MQTT hoạt động theo cơ chế client/server, nơi mà mỗi cảm biến là
một khách hàng (client) và kết nối đến một máy chủ, có thể hiểu như
một điểm trung gian (broker), thông qua giao thức TCP (Transmission
Control Protocol). Broker chịu trách nhiệm điều phối tất cả các thông
điệp giữa phía gửi đến đúng phía nhận.
MQTT là giao thức định hướng bản tin. Mỗi bản tin là một đoạn rời rạc
của tín hiệu và broker không thể nhìn thấy. Mỗi bản tin được publish
một địa chỉ, có thể hiểu như một kênh (Topic). Client đăng kí vào một
vài kênh để nhận/gửi dữ liệu, gọi là subscribe. Client có thể subcribe
vào nhiều kênh. Mỗi client sẽ nhận được dữ liệu khi bất kì trạm nào
khác gửi dữ liệu vào kênh đã đăng kí. Khi một client gửi một bản tin
đến một kênh nào đó gọi là publish.
Ví dụ
Tại mục Manager User điền tên User, mật khẩu Password quản lí Client,
nhấn Save.
Tại mục New Rule, User chọn tên vừa tạo ở trên, đặt tên Topic, tisck chọn
Read Accsess và Write Accsess, click Save.
Chúng ta quan tâm đến một số thông số sau:
Server: m10.cloudmqtt.com
Port: 16351
Users: ammymlhc
Password: aUS3WK1CEFWT
Topic: timhieuveMQTT
KẾT LUẬN
Qua việc làm bài tâp lớn trên, chúng em thấy MQTT được ứng dụng rộng rãi và là
một giao thức quan trọng. Viêc tìm hiểu về MQTT cho thấy vai trò quan trong của
nó trong IoT. Phần tìm hiểu trên chỉ là môt phần hiểu biết nhỏ về MQTT, chắc chắn
chúng em phải tìm hiều sâu hơn về MQTT để rõ bản chất cũng như cách sử dung
giao thức. Phần trình bày bài tâp lớn của chúng em xin hết . Cảm ơn cô đã giúp
chúng em