1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận kt & gt

20 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Tìm hiểu giao thức MQTT ứng dụng mô hình nhà thông minh
Tác giả Hoàng Đông Tuấn, Khổng Vũ Mạnh, Nguyễn Văn Kiên, Nguyễn Văn Linh
Người hướng dẫn Nguyễn Thị Thu Nga
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Kiến trúc và Giao thức IoT
Thể loại Tiểu luận
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 20
Dung lượng 5,72 MB

Nội dung

Hệ thống nhà thông minh sử dụng giao thức mqtt A. Lý thuyết I. Tổng quan về giao thức MQTT 1.1 Khái niệm Giao thức MQTT (Message Queuing Telemetry Transport) là một giao thức truyền thông dựa trên mô hình Publish/Subscribe cực kỳ nhẹ, lý tưởng để kết nối các thiết bị từ xa với dung lượng mã nhỏ và băng thông mạng tối thiểu. MQTT được xem là lựa chọn lý tưởng cho việc truyền thông giữa các thiết bị IoT với băng thông thấp và mạng lưới không ổn định, với độ tin cậy cao. Giao thức này đã được chuẩn hóa bởi OASIS và ISO. 1.2 Lịch sử hình thành • MQTT được phát minh bởi Andy Stanford - Clark (IBM) và Arlen Nipper (EUROTECH) cuối năm 1999. • Năm 2011, IBM và Eurotech đã trao lại MQTT cho một dự án của Eclipse có tên là Paho • Năm 2013 MQTT đã được đệ trình lên OASIS (Organization for the Advancement of Structured Information Standards) để chuẩn hóa. Hình 1.1: Lịch sử hình thành MQTT 1.3 Vị trí của MQTT trong mô hình IoT Hình 1.2: Vị trí của MQTT trong mô hình IoT 1.4 Tính năng và đặc điểm • Sử dụng TCP/IP là giao thức nền. • Dạng truyền thông điệp theo mô hình Pub/Sub cung cấp việc truyền tin phân tán một chiều, tách biệt với phần ứng dụng. • Việc truyền thông điệp là ngay lập tức, không quan tâm đến nội dung được truyền. • Tồn tại ba mức độ tin cậy cho việc truyền dữ liệu (QoS: Quality of service) • QoS 0: Broker/client sẽ gửi dữ liệu đúng một lần, quá trình gửi được xác nhận bởi chỉ giao thức TCP/IP. • QoS 1: Broker/client sẽ gửi dữ liệu với ít nhất một lần xác nhận từ đầu kia, nghĩa là có thể có nhiều hơn 1 lần xác nhận đã nhận được dữ liệu. • QoS 2: Broker/client đảm bảo khi gửi dữ liệu thì phía nhận chỉ nhận được đúng một lần, quá trình này phải trải qua 4 bước bắt tay. Phần bao bọc dữ liệu truyền nhỏ và được giảm đến mức tối thiểu để giảm tải cho đường truyền. 1.5 Ưu điểm của MQTT Với những tính năng, đặc điểm nổi bật trên, MQTT mang lại nhiều lợi ích nhất là trong hệ thống SCADA (Supervisory Control And Data Acquisition) khi truy cập dữ liệu IoT. • Truyền thông tin hiệu quả hơn. • Tăng khả năng mở rộng. • Giảm đáng kể tiêu thụ băng thông mạng. • Tối đa hóa băng thông có sẵn. • Chi phí thấp. • Rất an toàn, bảo mật. • Giao thức publish/subscribe thu thập nhiều dữ liệu hơn và tốn ít băng thông hơn so với giao thức cũ. II. Mô hình Pub/Sub và Cơ chế hoạt động của MQTT 2.1 Mô hình Pub/Sub Hình 2.1: Mô hình Pub/Sub MQTT có cơ chế hoạt động theo mô hình Pub/Sub, gồm 2 thành phần chính: • Client: Client thì được chia thành hai nhóm: - Publisher ( Nơi gửi thông điệp ) - Subscriber ( Nơi nhận thông điệp ) Client chỉ làm ít nhất một trong 2 việc là publish các thông điệp (message) lên một/nhiều topic cụ thể hoặc subscribe một/nhiều topic nào đó để nhận message từ topic này. • Broker - Máy chủ môi giới Broker được coi như trung tâm, nó là điểm giao của tất cả các kết nối đến từ Client (Publisher/Subscriber). Nhiệm vụ chính là nhận thông điệp (message) từ Publisher, xếp vào hàng đợi rồi chuyển đến một địa điểm cụ thể. Nhiệm vụ phụ của Broker là nó có thể đảm nhận thêm một vài tính năng liên quan tới quá trình truyền thông như: bảo mật message, lưu trữ message, logs, .... 2.2 Ưu điểm mô hình Pub/Sub Khả năng mở rộng (Scalability): Sự tách biệt giữa các thành phần trong mô hình khiến nó có khả năng mở rộng cao. Mô hình có xử lý lượng lớn Pulisher và Subscriber mà không ảnh hưởng tới hiệu suất. Đáng tin cậy (Reliability): Thông điệp luôn đảm bảo sẽ được chuyển tới Subscriber ngay cả khi người đó không hoạt động trên mạng hoặc đứt kết nối. Loose coupling: Publisher và Subscriber giao tiếp thông qua thành phần trung gian (Topic) giúp chúng hoạt động một cách độc lập và không ảnh hưởng tới nhau. 2.3 Nhược điểm mô hình Pub/Sub Quản lý tài nguyên: Trong mô hình Pub-Sub, Publisher và Subcriber không giao tiếp trực tiếp với nhau. Điều này có thể tạo ra thách thức trong việc quản lý tài nguyên, đặc biệt là khi cần theo dõi và giải phóng tài nguyên đã sử dụng. An toàn dữ liệu: Thông điệp được truyền tải qua mạng có thể dẫn tới mất an toàn thông tin. Điều này đặc biệt quan trọng nếu hệ thống đang làm việc trong môi trường không tin cậy. Phức tạp khi debugging và tracing: Vì thông điệp được truyền tải giữa Publisher và Subscriber qua trung gian là Topic, nên việc theo dõi và gỡ lỗi (debugging) có thể trở nên phức tạp hơn so với các mô hình giao tiếp trực tiếp. III. Cơ chế hoạt động của MQTT theo mô hình Pub/Sub 3.1. Tính chất và những đặc điểm riêng • Tính chất: Space decoupling (Không gian tách biệt) Time decoupling (Thời gian tách biệt) Synchronization decoupling (Sự đồng bộ riêng rẽ) • Đặc điểm riêng: MQTT sử dụng cơ chế lọc thông điệp dựa vào tiêu đề (subject-based) MQTT có một tầng gọi là chất lượng dịch vụ (Quality of Services – QoS). Nó giúp cho dễ dàng nhận biết được là message có được truyền thành công hay không. 3.2 Cơ chế tổng quan Hình 3.1 : Cơ chế tổng quan 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 Máy chủ môi giới (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ể subscribe 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. 3.3 Cơ chế thành phần Hình 3.2: Cơ chế thành phần Thành phần chính của MQTT là Client (Publisher/Subscriber), Server (Broker), Sessions (tạm dịch là Phiên làm việc), Subscriptions và Topics. o MQTT Client (Publisher/Subscriber): Clients sẽ subscribe một hoặc nhiều topics để gửi và nhận thông điệp từ những topic tương ứng. o MQTT Server (Broker): Broker nhận những thông tin subscribe (Subscriptions) từ client, nhận thông điệp, chuyển những thông điệp đến các Subscriber tương ứng dựa trên Subscriptions từ client. o Topic: Có thể coi Topic là một hàng đợi các thông điệp, và có sẵn khuôn mẫu dành cho Subscriber hoặc Publisher. Một cách logic thì các topic cho phép Client trao đổi thông tin với những ngữ nghĩa đã được định nghĩa sẵn. Ví dụ: Dữ liệu cảm biến nhiệt độ của một tòa nhà. o Session: Một session được định nghĩa là kết nối từ client đến server. Tất cả các giao tiếp giữa client và server đều là 1 phần của session. o Subscription: Không giống như session, subscription về mặt logic là kết nối từ client đến topic. Khi đã subscribe một topic, Client có thể nhận/gửi thông điệp (message) với topic đó. IV. Bảo mật trong MQTT Bảo mật trong MQTT được chia thành nhiều lớp. Mỗi lớp có tác dụng ngăn ngừa các kiểu tấn công khác nhau. Thông thường có 3 lớp bảo mật được sử dụng: o Lớp mạng (Network layer) o Lớp giao vận (Transport layer) o Lớp ứng dụng (Application layer) 4.1 Bảo mật lớp ứng dụng (Application Layer Sercurity) 4.1.1. Xác thực với Username và Pasword: Xác thực (authentication) là một phần của cơ chế bảo mật ở tầng giao vận và tầng ứng dụng được sử dụng trong giao thức MQTT, là hành động nhằm xác nhận sự thật hay nguồn gốc của một thuộc tính của một đơn vị dữ liệu hoặc một thực thể nào đó. Khi nói đến xác thực trong giao thức MQTT, bản thân giao thức cung cấp các trường username (tên người dùng) và password (mật khẩu) trong gói tin CONNECT từ client gửi đến broker. Nghĩa là một client có khả năng gửi một username và password khi kết nối đến MQTT broker. CONNECT message Trường username là một chuỗi có định dạng UTF-8 và trường password là dữ liệu nhị phân với kích thước tối đa là 65535 bytes. Sự bất cập trong phiên

Trang 1

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



-BÁO CÁO TIỂU LUẬN KIẾN TRÚC VÀ GIAO THỨC IOT

ĐỀ TÀI

TÌM HIỂU GIAO THỨC MQTT

ỨNG DỤNG MÔ HÌNH NHÀ THÔNG MINH

Giảng viên hướng dẫn Nguyễn Thị Thu Nga

Nhóm thực hiện 05

Thành viên Hoàng Đông Tuấn – B20DCVT334

Khổng Vũ Mạnh – B20DCVT246 Nguyễn Văn Kiên – B20DCVT206 Nguyễn Văn Linh – B20DCVT230

Trang 2

MỤC LỤC

A Lý thuyết 2

I Tổng quan về giao thức MQTT 2

1.1 Khái niệm 2

1.2 Lịch sử hình thành 2

1.3 Vị trí của MQTT trong mô hình IoT 2

1.4 Tính năng và đặc điểm 2

1.5 Ưu điểm của MQTT 3

II Mô hình Pub/Sub và Cơ chế hoạt động của MQTT 3

2.1 Mô hình Pub/Sub 3

2.2 Ưu điểm mô hình Pub/Sub 4

2.3 Nhược điểm mô hình Pub/Sub 4

III Cơ chế hoạt động của MQTT theo mô hình Pub/Sub 4

3.1 Tính chất và những đặc điểm riêng 4

3.2 Cơ chế tổng quan 5

3.3 Cơ chế thành phần 5

IV Bảo mật trong MQTT 6

4.1 Bảo mật lớp ứng dụng (Application Layer Sercurity) 6

4.2 Bảo mật lớp giao vận (Transport Layer Sercurity) 8

4.3 Bảo mật lớp mạng (Network layer) 8

B ỨNG DỤNG MÔ HÌNH NHÀ THÔNG MINH 9

1 Xây dựng MQTT broker và MQTT client 9

2 Xây dựng code nhúng vào các thiết bị 16

Trang 3

A Lý thuyết

I Tổng quan về giao thức MQTT

1.1 Khái niệm

Giao thức MQTT (Message Queuing Telemetry Transport) là một giao thức truyền thông dựa trên mô hình Publish/Subscribe cực kỳ nhẹ, lý tưởng để kết nối các thiết bị từ xa với dung lượng mã nhỏ và băng thông mạng tối thiểu

MQTT được xem là lựa chọn lý tưởng cho việc truyền thông giữa các thiết bị IoT với băng thông thấp và mạng lưới không ổn định, với độ tin cậy cao Giao thức này đã được chuẩn hóa bởi OASIS và ISO

1.2 Lịch sử hình thành

 MQTT được phát minh bởi Andy Stanford - Clark (IBM) và Arlen Nipper (EUROTECH) cuối năm 1999

 Năm 2011, IBM và Eurotech đã trao lại MQTT cho một dự án của Eclipse có tên là Paho

 Năm 2013 MQTT đã được đệ trình lên OASIS (Organization for the Advancement of Structured Information Standards) để chuẩn hóa

Hình 1.1: Lịch sử hình thành MQTT

1.3 Vị trí của MQTT trong mô hình IoT

Hình 1.2: Vị trí của MQTT trong mô hình IoT

Trang 4

1.4 Tính năng và đặc điểm

 Sử dụng TCP/IP là giao thức nền

 Dạng truyền thông điệp theo mô hình Pub/Sub cung cấp việc truyền tin phân tán một chiều, tách biệt với phần ứng dụng

 Việc truyền thông điệp là ngay lập tức, không quan tâm đến nội dung được truyền

 Tồn tại ba mức độ tin cậy cho việc truyền dữ liệu (QoS: Quality of service)

 QoS 0: Broker/client sẽ gửi dữ liệu đúng một lần, quá trình gửi được xác nhận bởi chỉ giao thức TCP/IP

 QoS 1: Broker/client sẽ gửi dữ liệu với ít nhất một lần xác nhận từ đầu kia, nghĩa là có thể có nhiều hơn 1 lần xác nhận đã nhận được

dữ liệu

 QoS 2: Broker/client đảm bảo khi gửi dữ liệu thì phía nhận chỉ nhận được đúng một lần, quá trình này phải trải qua 4 bước bắt tay Phần bao bọc dữ liệu truyền nhỏ và được giảm đến mức tối thiểu để giảm tải cho đường truyền

1.5 Ưu điểm của MQTT

Với những tính năng, đặc điểm nổi bật trên, MQTT mang lại nhiều lợi ích nhất là trong hệ thống SCADA (Supervisory Control And Data Acquisition) khi truy cập dữ liệu IoT

 Truyền thông tin hiệu quả hơn

 Tăng khả năng mở rộng

 Giảm đáng kể tiêu thụ băng thông mạng

 Tối đa hóa băng thông có sẵn

 Chi phí thấp

 Rất an toàn, bảo mật

 Giao thức publish/subscribe thu thập nhiều dữ liệu hơn và tốn ít băng thông hơn so với giao thức cũ

II Mô hình Pub/Sub và Cơ chế hoạt động của MQTT

2.1 Mô hình Pub/Sub

Hình 2.1: Mô hình Pub/Sub MQTT có cơ chế hoạt động theo mô hình Pub/Sub, gồm 2 thành phần chính:

Trang 5

 Client: Client thì được chia thành hai nhóm:

- Publisher ( Nơi gửi thông điệp )

- Subscriber ( Nơi nhận thông điệp )

Client chỉ làm ít nhất một trong 2 việc là publish các thông điệp (message) lên một/nhiều topic cụ thể hoặc subscribe một/nhiều topic nào đó để nhận message từ topic này

 Broker - Máy chủ môi giới

Broker được coi như trung tâm, nó là điểm giao của tất cả các kết nối đến từ Client (Publisher/Subscriber) Nhiệm vụ chính là nhận thông điệp (message)

từ Publisher, xếp vào hàng đợi rồi chuyển đến một địa điểm cụ thể Nhiệm vụ phụ của Broker là nó có thể đảm nhận thêm một vài tính năng liên quan tới quá trình truyền thông như: bảo mật message, lưu trữ message, logs,

2.2 Ưu điểm mô hình Pub/Sub

Khả năng mở rộng (Scalability): Sự tách biệt giữa các thành phần trong

mô hình khiến nó có khả năng mở rộng cao Mô hình có xử lý lượng lớn Pulisher và Subscriber mà không ảnh hưởng tới hiệu suất

Đáng tin cậy (Reliability): Thông điệp luôn đảm bảo sẽ được chuyển tới Subscriber ngay cả khi người đó không hoạt động trên mạng hoặc đứt kết nối

Loose coupling: Publisher và Subscriber giao tiếp thông qua thành phần trung gian (Topic) giúp chúng hoạt động một cách độc lập và không ảnh hưởng tới nhau

2.3 Nhược điểm mô hình Pub/Sub

Quản lý tài nguyên: Trong mô hình Pub-Sub, Publisher và Subcriber không giao tiếp trực tiếp với nhau Điều này có thể tạo ra thách thức trong việc quản lý tài nguyên, đặc biệt là khi cần theo dõi và giải phóng tài nguyên

đã sử dụng

An toàn dữ liệu: Thông điệp được truyền tải qua mạng có thể dẫn tới mất

an toàn thông tin Điều này đặc biệt quan trọng nếu hệ thống đang làm việc trong môi trường không tin cậy

Phức tạp khi debugging và tracing: Vì thông điệp được truyền tải giữa Publisher và Subscriber qua trung gian là Topic, nên việc theo dõi và gỡ lỗi (debugging) có thể trở nên phức tạp hơn so với các mô hình giao tiếp trực tiếp

III Cơ chế hoạt động của MQTT theo mô hình Pub/Sub

3.1 Tính chất và những đặc điểm riêng

 Tính chất:

Space decoupling (Không gian tách biệt)

Trang 6

Time decoupling (Thời gian tách biệt)

Synchronization decoupling (Sự đồng bộ riêng rẽ)

 Đặc điểm riêng:

MQTT sử dụng cơ chế lọc thông điệp dựa vào tiêu đề (subject-based)

MQTT có một tầng gọi là chất lượng dịch vụ (Quality of Services – QoS) Nó giúp cho dễ dàng nhận biết được là message có được truyền thành công hay không

3.2 Cơ chế tổng quan

Hình 3.1 : Cơ chế tổng quan 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 Máy chủ môi giới (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ể subscribe 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

3.3 Cơ chế thành phần

Hình 3.2: Cơ chế thành phần

Trang 7

Thành phần chính của MQTT là Client (Publisher/Subscriber), Server (Broker), Sessions (tạm dịch là Phiên làm việc), Subscriptions và Topics

o MQTT Client (Publisher/Subscriber): Clients sẽ subscribe một hoặc nhiều topics để gửi và nhận thông điệp từ những topic tương ứng

o MQTT Server (Broker): Broker nhận những thông tin subscribe (Subscriptions) từ client, nhận thông điệp, chuyển những thông điệp đến các Subscriber tương ứng dựa trên Subscriptions từ client

o Topic: Có thể coi Topic là một hàng đợi các thông điệp, và có sẵn khuôn mẫu dành cho Subscriber hoặc Publisher Một cách logic thì các topic cho phép Client trao đổi thông tin với những ngữ nghĩa đã được định nghĩa sẵn Ví dụ: Dữ liệu cảm biến nhiệt độ của một tòa nhà

o Session: Một session được định nghĩa là kết nối từ client đến server Tất cả các giao tiếp giữa client và server đều là 1 phần của session

o Subscription: Không giống như session, subscription về mặt logic là kết nối từ client đến topic Khi đã subscribe một topic, Client có thể nhận/gửi thông điệp (message) với topic đó

IV Bảo mật trong MQTT

Bảo mật trong MQTT được chia thành nhiều lớp Mỗi lớp có tác dụng ngăn ngừa các kiểu tấn công khác nhau

Thông thường có 3 lớp bảo mật được sử dụng:

o Lớp mạng (Network layer)

o Lớp giao vận (Transport layer)

o Lớp ứng dụng (Application layer)

4.1 Bảo mật lớp ứng dụng (Application Layer Sercurity)

4.1.1 Xác thực với Username và Pasword:

Xác thực (authentication) là một phần của cơ chế bảo mật ở tầng giao vận và tầng ứng dụng được sử dụng trong giao thức MQTT, là hành động nhằm xác nhận sự thật hay nguồn gốc của một thuộc tính của một đơn vị dữ liệu hoặc một thực thể nào đó Khi nói đến xác thực trong giao thức MQTT, bản thân giao thức cung cấp các trường username (tên người dùng) và password (mật khẩu) trong gói tin CONNECT từ client gửi đến broker Nghĩa là một client

có khả năng gửi một username và password khi kết nối đến MQTT broker

Trang 8

CONNECT message

Trường username là một chuỗi có định dạng UTF-8 và trường password là

dữ liệu nhị phân với kích thước tối đa là 65535 bytes Sự bất cập trong phiên bản MQTT v3.1 là sử dụng mật khẩu với 12 ký tự đã được bãi bỏ ở phiên bản MQTT v3.1.1 Ngoài ra phiên bản này cũng định nghĩa rằng: một client

có thể có username mà không cần password nhưng không thể tồn tại trạng thái ngược lại Khi sử dụng xác thực bằng tên người dùng và mật khẩu, MQTT broker sẽ đánh giá thông tin client dựa trên cơ chế xác thực đã được triễn khai và gửi trả về gói tin phản hồi gọi là CONNACK, trong đó bao gồm một mã trạng thái gọi là return code

CONNACK message

Các mã trạng thái được sử dụng để phản hồi về client đối với xác thực bằng username/password là:

Trang 9

4.1.2 Xác thực với Client Identifier

Mỗi MQTT client đều có một mã nhận dạng duy nhất được gọi là client identifier Tương tự như Username/Password, mã nhận dạng này cũng được cung cấp bởi client khi gửi một gói tin CONNECT đến broker, được cung cấp trong trường clientid Giá trị của trường có thể chứa tối đa 65535 ký tự, trường hợp thường được sử dụng trong thực tế để thể hiện giá trị của trường clientid là sử dụng chuẩn UUID gồm 36 ký tự để tạo ra các giá trị random không trùng nhau hoặc sử dụng địa chỉ MAC của thiết bị Và trong gói tin phản hồi kết nối CONNACK, cũng sẽ bao gồm mã trạng thái, tất cả các trạng thái trả về được cho trong bảng sau:

Trong quá trình xác thực, mã nhận dạng của client thường được sử dụng để xác thực bên cạnh tên người dùng và mật khẩu Mặc dù không phải là cách thức bảo mật tốt khi sử dụng trong thực tiễn tuy nhiên đối với các hệ thống khép kín và ít thiết bị thì loại xác thực này cũng đủ để chúng ta cân nhắc sử dụng

4.2 Bảo mật lớp giao vận (Transport Layer Sercurity)

Thông thường giao thức MQTT dựa vào TCP làm giao thức tầng giao vận, nghĩa là mặc định kết nối giữa broker và client là kết nối không bảo mật Để tăng tính bảo mật và có khả năng mã hóa các kênh giao tiếp, hầu hết các MQTT broker hiện nay như Mosquitto, HiveMQ đều cho phép sử dụng TLS Port 8883 được chuẩn hóa để sử dụng cho kết nối MQTT có bảo mật

Trang 10

Minh họa SSL/TLS handshake

4.3 Bảo mật lớp mạng (Network layer)

Sử dụng một mạng bảo mật vật lý hoặc công nghệ VPN (virtual private network) làm nền tảng cho quá trình giao tiếp giữa các Client và Broker nhằm cung cấp một kết nối an toàn và đáng tin cậy

Trang 11

B ỨNG DỤNG MÔ HÌNH NHÀ THÔNG MINH

1 Xây dựng MQTT broker và MQTT client

Trong phần này thì nhóm em sử dụng phần mềm cisco packet tracer để thực hiện

mô phỏng và cấu hình MQTT broker và MQTT client

Bắt đầu vào bài lab thì ta thực hiện lấy thiết bị có sẵn trong cisco

Khởi tạo MQTT broker, rồi kết nối với switch và SBC

Triển khai cơ bản các thiết bị như trên hình để tiến hành cấu hình

Tiếp theo là ta sẽ định tuyến địa chỉ IP cho các thiết bị

Đặt địa chỉ MQTT broker là 1.1.1.1

Trang 12

Tiếp theo lần lượt là SBC0 và cấp ip động cho các thiết bị truy cập qua wifi theo access point

Trang 13

Từ đó ta sẽ thấy smartphone được cấp phát địa chỉ 1.1.1.11 từ DHCP

Trang 14

Tiếp theo là truy cập vào programming tạo new rồi tạo MQTT broker và chọn

code python, cisco sẽ hỗ trợ template có sẵn và install desktop rồi run code

Trang 15

Tương tự như vậy rồi cài đặt cho các SBC và smartphone tương tự

Trang 16

Rồi truy cập vào MQTT broker trong giao diện desktop

Trang 17

Tương tự như vậy ta thực hiện với các SBC là client và publisher và subcriber

Trang 18

Tiếp tục tạo ra các client bạn muốn và kết nối với broker và code điều khiển thiết bị bạn muốn sử dụng

2 Xây dựng code nhúng vào các thiết bị

Sau khi xây dựng các client và broker thì chúng ta code các hàm lấy dữ liệu từ cảm biến và publish lên MQTT broker

Khởi tạo đầu ra vào dữ liệu cho các chân sensor

Sau khi cấu hình thành công và khởi chạy ta sẽ thu được các topic của nhiệt độ

và độ ẩm, độ ẩm đất

Trang 19

Tiếp theo là dùng các điều kiện vào hàm on_message để khởi tạo điều kiện cho các thiết bị chạy tự động

Kết quả cuối cùng ta sẽ thu được 1 hệ thống mô phỏng ngôi nhà thông sử dụng giao thức MQTT với các thiết bị được setup chạy tự động với 1 điều kiện cho trước

Ngày đăng: 14/05/2024, 10:49

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

TÀI LIỆU LIÊN QUAN

w