HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA KỸ THUẬT ĐIỆN TỬ I BÁO CÁO NGHIÊN CỨU KHOA HỌC ĐỀ TÀI “Giao thức truyền tải MQTT trong IOT” Giáo viên hướng dẫn: TS.. KHÁI NIỆM VỀ MQTT MQT
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA KỸ THUẬT ĐIỆN TỬ I
BÁO CÁO NGHIÊN CỨU KHOA HỌC
ĐỀ TÀI
“Giao thức truyền tải MQTT trong IOT”
Giáo viên hướng dẫn:
TS NGUYỄN QUỐC UY
Sinh viên thực hiện:
NGUYỄN HUY THÔNG
Trang 2NỘI DUNG BÁO CÁO
Trang 3LÝ DO CHỌN ĐỀ TÀI
Bối cảnh
IoT hiện nay đang là một
xu hướng mạnh mẽ trên
toàn thế giới
Phạm vi ứng dụng công
nghệ IoT thực sự rộng lớn
và đa dạng
Trang 4LÝ DO CHỌN ĐỀ TÀI
Vấn đề đặt ra
IoT thách thức các
doanh nghiệp, các công ty,
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
Trang 5MỤC TIÊU NHIỆM VỤ
Mục tiêu và nhiệm vụ
Tìm hiểu về giao thức
truyền tải MQTT, ưu
điểm, nhược điểm và ứng
dụng thực tế của nó trong
IOT
Trang 6KHÁI NIỆM VỀ MQTT
MQTT (Message Queue Telemetry Transport)
Là dịch vụ truyền tải dữ liệu Hoạt động theo cơ chế
publish/subscribe
Phiên bản đầu tiên có năm 1999, Và phiên bản 3.1.1 được chuẩn hóa bởi OASIS (2014) và ISO (2016)
Trang 7Message Queue Telemetry Transport
Publish, subscribe
theo dõi.
bộ điều khiển trung tâm, luân
chuyển bản tin giữa các thiết
bị trong hệ thống.
Trang 8Message Queue Telemetry Transport
QOS 0 (Qualities of service)
Mức thấp nhất, bản tin được truyền ít nhất một lần tới Subscriber Bản tin sẽ truyền 1 lần tới subscriber Trong trường hợp không nhận được sẽ bị thất thoát thông tin
Trang 9Message Queue Telemetry Transport
QOS 1 (Qualities of service)
Mức thứ 2, mỗi thiết bị nhận sẽ xác nhận thông tin của bản tin được nhận Nếu không có sự xác thực bản tin nào diễn ra, thông tin sẽ được gửi lại một lần nữa Điều này sẽ đảm bảo gói tin được chuyển đi ít nhất một lần
Trang 10Message Queue Telemetry Transport
QOS 2 (Qualities of service)
Mức cao nhất ,tại đây gói tin không chỉ được xác nhận, mà còn được gửi đi theo 2 bước Bước đầu tiên là truyền, nhận
dữ liệu; bước tiếp theo là xác nhận gói tin Điều này giúp đảm bảo rằng quá tin được gửi chính xác một lần tới Subscriber
Trang 11KẾT LUẬN
Các thiết bị trong hệ thống không cần quan tâm tới địa chỉ IP của nhau Băng thông thấp, tốn ít tài nguyên và bộ nhớ.
Tốc độ truyền tải nhanh.
Chỉ truyền được dữ liệu nhỏ.
MQTT không hỗ trợ xử lí logic dẫn tới 1 broker có thể bị quá tải, không ngừng nhận tin tới
Trang 12KẾT LUẬN
def on_connect(client, userdata, flags, rc):
client.subscribe("home/led1")
client.subscribe("home/led2")
client.subscribe("home/led3")
def on_message(client, userdata, msg):
if msg.topic == "home/led1":
if msg.payload == "on" or msg.payload == "ON" or msg.payload == "1": GPIO.output(led[0], on)
print "Led 1 : ON"
if msg.payload == "off" or msg.payload == "OFF" or msg.payload == "0": GPIO.output(led[0], off)
print "Led 1 : OFF"
if msg.topic == "home/led2":
if msg.payload == "on" or msg.payload == "ON" or msg.payload == "1": GPIO.output(led[1], on)
print "Led 2 : ON"
if msg.payload == "off" or msg.payload == "OFF" or msg.payload == "0": GPIO.output(led[1], off)
print "Led 2 : OFF"
Trang 13 Demo sử dụng giao thức MQTT điều kiển Pi qua mobie
Trang 14HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA KỸ THUẬT ĐIỆN TỬ I
Cảm ơn Thầy Cô và các bạn đã lắng nghe!