1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Dự Án môn học kiến trúc và giao thức truyền thông trong iot

46 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 đề Dự Án Môn Học Kiến Trúc Và Giao Thức Truyền Thông Trong IOT
Tác giả Trịnh Nguyễn Tú Linh, Trần Ngọc Thuận
Người hướng dẫn PGS. TS. Nguyễn Quốc Cường
Trường học Đại học Bách Khoa Hà Nội
Chuyên ngành Kỹ thuật Điều khiển và Tự động hóa
Thể loại dự án
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 46
Dung lượng 3,61 MB

Nội dung

Nếu nhận được phản hồi lỗi,chuyển hướng truyền dữ liệu lên bộđiều khiển Controller và phânluồng nhận dữ liệu từ các thiết bị vàlưu trữ, đồng thời gửi tín hiệu điềukhiển đến cơ cấp chấp h

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI

Dự án môn học

Kiến trúc và giao thức truyền

thông trong IOT

Trịnh Nguyễn Tú Linh

linh.tnt210520@sis.hust.edu.vn

Trần Ngọc Thuận

thuan.nt210823@sis.hust.edu.vn

Ngành Kỹ thuật Điều khiển và Tự động hóa

Bảng ghi chú sửa đổi

Trang 2

Trịnh Nguyễn Tú Linh

12/11/2024

Meeting notes Bổ sung nội dung họp tuầnhiện tại và nội dung tuần

tiếp theo

Trịnh Nguyễn Tú Linh

Cơ sở lý thuyết HTTP

Trần Ngọc ThuậnKết quả thực

nghiệm Gửi dữ liệu bằng HTTP vàthực hiện lệnh RPC

18/11/2024

Meeting notes Bổ sung nội dung 2 cuộchọp trong tuần

Trịnh Nguyễn Tú Linh

Tóm tắt dự án Bổ sung sơ đồ tổng quát vàsơ đồ triển khai, use cases

Kết quả thựcnghiệm

Thực hiện ICMPGửi dữ liệu bằng CoAP vàthực hiện lệnh RPC

Thiết lập local server Trần Ngọc Thuận26/11 Meeting notes Cập nhật công việc Trần Ngọc Thuận10/12 Meeting notes Cập nhật công việc Trịnh Nguyễn Tú Linh17/12 Meeting notes Cập nhật công việc Trịnh Nguyễn Tú

Linh24/12 Meeting notes Cập nhật công việc Trịnh Nguyễn Tú Linh

Cơ sở lý thuyết MQTT, CoAP

29/12

Phương phápnghiên cứu ThingsBoard, Controller

Trần Ngọc Thuận

Kết quả thựcnghiệm ThingsBoard, Controller

Bảng 1 Bảng ghi chú sửa đổi

Trang 3

Tóm tắt nội dung đồ án

Sơ đồ tổng quát

Hình GIỚI THIỆU CHUNG-1 Sơ đồ tổng quát

Chú thích:

Xanh dương Dữ liệu được truyền qua giao thức MQTT

Đỏ Dữ liệu được truyền qua giao thức CoAP

Xanh lá Dữ liệu được truyền qua giao thức HTTP

Nếu độ ẩm/độ sáng vượt ngưỡngđặt ra, thiết bị sẽ nhận lệnh giảmcường độ hoạt động cho cơ cấuchấp hành (bơm, đèn)

Kết nối

Internet gặp

sự cố

Thiết bị chuyển hướng truyền

dữ liệu qua bộ điều khiển(Controller) Dữ liệu được lưutrữ tại đây Cần duy trì một sốluật điều khiển cơ bản về độ ẩm

và cường độ sáng

Ví dụ: Duy trì một kết nối thứ 3 từthiết bị đến server để kiểm tra kếtnối Nếu nhận được phản hồi lỗi,chuyển hướng truyền dữ liệu lên bộđiều khiển (Controller) và phânluồng nhận dữ liệu từ các thiết bị vàlưu trữ, đồng thời gửi tín hiệu điềukhiển đến cơ cấp chấp hành (bơm,đèn) qua các luật điều khiển cơ bản.Sau khi khôi

phục kết nối

Internet

Thiết bị chuyển hướng truyền

dữ liệu trở lại server, trở vềtrường hợp 1 Bộ điều khiển(Controller) truyền dữ liệu đãlưu lên server

Duy trì 1 kết nối thứ 3 từ bộ điềukhiển (Controller) đến server đểkiểm tra tình trạng kết nối mạng.Khi kết nối mạng được khôi phục,

cả thiết bị và bộ điều khiển đều phảichuyển hướng truyền dữ liệu lên

Trang 4

Lưu ý: Các luật điều khiển cũng có thể được cập nhật từ cloud qua bộ điều khiển (mũi tên 2 chiều).

Sơ đồ triển khai

Hình GIỚI THIỆU CHUNG-2 Sơ đồ triển khai

Chú thích:

Trong dự án này, nhóm sẽ sử dụng vi điều khiển ESP32 đóng vai trò là thiết bị gửi dữliệu đo từ cảm biến, đồng thời cũng là thiết bị nhận lệnh/tín hiệu điều khiển

Như vậy, dự án sẽ cần tổng cộng 3 vi điều khiển ESP32

Bộ điều khiển được thực hiện trên máy tính cá nhân Cần lưu ý rằng việc này không chỉ

ra rằng bộ điều khiển cần khả năng xử lí mạnh mẽ mà nó này chỉ mang ý nghĩa minhhọa 1 thiết bị bất kì, được thiết lập để có thể nhận dữ liệu qua các giao thức HTTP,MQTT và CoAP, cũng như có khả năng lưu trữ dữ liệu

Trang 5

Things, Hive, …Thực hiện các giaothức trên các nềntảng phù hợp

Trình bày môphỏng truyền tinbằng giao thức

Trình bày kiếnthức về các nềntảng hỗ trợ IOT

có vẻ dùng để giảiquyết các chức năngtrong dự án: điềukhiển, lưu trữ vàthiết lập từ ngườidùng

Trình bày kiếnthức về RPC vàRule Engine củaThingsBoard(cách dùng, nhiệm

ThingsBoard (quanền tảng mô phỏngWokwi và thiết bịthực)

Chưa thực hiệnđược truyền thôngCoAP giữa cảWokwi lẫn thiết bị

ThingsBoard

Tiếp tục tìm cáchthực hiện truyềnthông CoAP

Lí do:

Do thư việnsimple CoAPkhông tương thíchvới ThingsBoard(không được tíchhợp DTLS nênThingsBoardkhông nhận dạngđược dữ liệu)Chưa tìm đượcđúng thư viện hỗtrợ ??

Thực hiện RPC (lấy

dữ liệu tín hiệu điềukhiển từ server, tínhtoán đối với dữ liệuđược đưa lên server)

Thử truyền CoAPgiữa 2 thiết bị(device2device)

Cụ thể hóa, kếthợp 2 phương thứclấy và tính toán dữliệu từ server

13/11

Trang 6

sơ đồ chức năng (?)

và sơ đồ triển khaiTìm hiểu và thựchiện MicroPython

và MicroCoAPyKiểm thử với trườnghợp kết nối Wifi từESP32

Chia thành 2 sơ đồriêng

Tìm hiểu chế độAccess PointThực hiện CoAPtrên vi điều khiển,gửi dữ liệu lênserver và lấy tínhiệu điều khiển từserver

Đã thực hiện đượcviệc kiểm tra kết nốimạng sử dụng giaothức ICMP

Mô phỏng thựcnghiệm trườnghợp bị mất kết nốiInternet (chuyểnhướng truyền dữliệu từ server sang

Mô phỏng thựcnghiệm trườnghợp bị mất kết nốiInternet (chuyểnhướng truyền dữliệu từ server sang

Trang 7

Phân chia công việc

Trịnh Nguyễn Tú

Linh

Hoàn thành sơ bộ bảng kế hoạch thực hiện Tuần 1Tìm hiểu về giao thức MQTT và CoAP Triển

khai mô phỏng trên một nền tảng bất kì hỗ trợ 2

Viết phần Cơ sở lý thuyết về MQTT và CoAP

Tìm hiểu về các nền tảng IOT cụ thể(ThingsBoard, Thingspeak, …)

Trần Ngọc Thuận

Tìm hiểu về giao thức MQTT và CoAP Triểnkhai mô phỏng trên một nền tảng bất kì hỗ trợ 2giao thức trên

Tuần 2Viết phần Cơ sở lý thuyết về HTTP

Tìm hiểu về các nền tảng IOT cụ thể(ThingsBoard, Thingspeak, …)

Trịnh Nguyễn Tú

Trần Ngọc Thuận Tìm hiểu về Rule Engine trong ThingsBoard

Trần Ngọc Thuận Thiết lập máy tính cá nhân để thực hiện nhiệm vụ

truyền, nhận và kiểm tra kết nối mạng (phục vụchức năng chuyển hướng truyền dữ liệu)

Trần Ngọc Thuận Tìm hiểu và thực hiện phân luồng server (tiếp nối

Trần Ngọc Thuận Kết hợp CoAP vào controller

Tú Linh Triển khai thực tế cả hệ thống

Hoàn thành báo cáo Word

Tuần 8

Bảng 3 Phân chia công việc

Trang 8

Kế hoạch thực hiện

Tuần 1

Tìm hiểu kiếnthức nền và

phương án triểnkhai

Mô hình, kiến trúc, cơ chế hoạt độngcủa MQTT, CoAP, HTTP

Tính năng, đặc điểm nổi bật, ưu nhượcđiểm của 3 giao thức trên

Xác định số lượng và loại vi điều khiểnphù hợp với khả năng và chi phí

Hoàn thành sơ bộ bảng kế hoạch thựchiện

Đã hoànthành

Tuần 2

Thực hiện truyềnthông bằng các

MQTT, CoAP,HTTP

Mô phỏng truyền thông trên một nềntảng có hỗ trợ triển khai các giao thứccần thiết

Ví dụ: gửi một bản tin bất kì từ thiết bịlên cloud và ngược lại

Hoànthành70% (cònthiếutriển khaiCoAP)

Tuần 3

Thực hiện một

số luật điềukhiển cơ bản tạithiết bị điềukhiển

Hiểu cách thức truyền thông giữa thiết

bị người dùng và thiết bị điều khiển

Thiết lập luật điều khiển trên server,cho phép thiết bị nhận được tín hiệuđiều khiển từ server

Đã hoànthành (thiếutriển khaiCoAP)

Tuần 4

Tìm hiểu cáchthức kiểm tra kếtnối mạng, xử lícác vấn đề về sự

cố kết nối và saukhi khôi phục kếtnối

Tìm hiểu một số tình huống vấn đề vềkết nối, thực hiện truyền thông giữathiết bị người dùng và thiết bị điềukhiển, luu trữ thông tin tại thiết bị điềukhiển

Tìm hiểu khôi phục kết nối, thực hiệntruyền thông giữa thiết bị người dùng

và cloud, chuyển dữ liệu từ thiết bịđiều khiển lên cloud

Đã hoànthành

Tuần 5

Mô phỏng hệthống khi gặp sự

Tuần 6 - 7

Ghép nối cáckhối chức năngrời rạc

Mô phỏng hệ thống hoạt động đủnhững chức năng cơ bản (truyền thôngthiết bị - cloud, thiết bị - thiết bị điềukhiển, thiết bị điều khiển – cloud)

Đã hoànthành

Tuần 8

Tìm hiểu về bảomật giao thức Áp dụng các phương thức mã hóa chocác giao thức trên Có thể triển khai

trên phần cứng

2/3 (chỉhoànthành vớiHTTPSvàMQTTS)

Trang 9

Bảng 4 Kế hoạch thực hiện

Trang 10

MỤC LỤC

CHƯƠNG 1 GIỚI THIỆU CHUNG 1

1.1 Bối cảnh 1

1.2 Vấn đề nghiên cứu 1

1.3 Mục tiêu 1

1.4 Phạm vi nghiên cứu 2

1.5 Cấu trúc báo cáo 2

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2

2.1 HTTP Protocol 2

2.2 MQTT Protocol 3

2.3 CoAP Protocol 4

2.4 ICMP 5

2.5 Bảo mật 5

2.5.1 Các thuật toán mã hóa 6

2.5.2 Các giao thức bảo mật 7

2.5.3 Chứng chỉ số 8

CHƯƠNG 3 PHƯƠNG PHÁP NGHIÊN CỨU 9

3.1 ThingsBoard – Open-source IoT Platform 9

3.1.1 Entities Overview 9

3.1.2 Rule Engine 10

3.1.3 Remote Procedure Call 11

3.2 Socket Programming với Python 13

3.2.1 Tạo client 13

3.2.2 Tạo server 14

CHƯƠNG 4 KẾT QUẢ THỰC NGHIỆM 14

4.1 ThingsBoard Tenant 14

4.1.1 Định nghĩa mô hình 14

4.1.2 Định nghĩa Rule Chain 15

4.1.3 Xây dụng DashBoards 16

4.2 Controller 16

4.2.1 Xây dựng khối Connected to the Internet 16

4.2.2 Chế độ Client 17

Trang 11

4.2.3 Chế độ Server 17

4.2.4 Phân luồng 18

4.3 Đo và điều khiển ánh sáng từ thiết bị (giao thức HTTP) 18

4.3.1 Công cụ 18

4.3.2 Kết quả 18

4.3.3 HTTPS 20

4.4 Đo và điều khiển độ ẩm từ thiết bị (CoAP) 21

4.4.1 Công cụ 21

4.4.2 Phương thức 21

4.4.3 Kết quả 24

4.5 Đo và gửi dữ liệu nhiệt độ từ thiết bị (giao thức MQTT) 25

4.5.1 Công cụ 25

4.5.2 Triển khai 25

4.5.3 Kết quả 26

4.6 Triển khai ICMP 27

4.6.1 Công cụ 27

4.6.2 Cách thức 27

CHƯƠNG 5 KẾT LUẬN 28

5.1 Nhận xét 28

5.2 Hướng phát triển 29

CHƯƠNG 6 LỜI KẾT 29

CHƯƠNG 7 Phụ lục 30

7.1 Kịch bản kiểm thử 30

7.2 Log 30

7.3 Source code dự án 30

Trang 12

DANH MỤC HÌNH VẼ

Hình 1-1 Sơ đồ tổng quát iii

Hình 1-2 Sơ đồ triển khai iv

Hình 2-1 Ví dụ HTTP GET Message 3

Hình 2-2 Minh họa mã hóa đối xứng 6

Hình 2-3 Minh họa mã hóa bất đối xứng 7

Hình 3-1 Một ví dụ các thực thể được cấu hình và lưu trữ trên ThingsBoard 10

Hình 3-2 Root Rule Chain mặc định của ThingsBoard 11

Hình 3-3 Cilent-side RPC 12

Hình 3-4 One-way server-side RPC 12

Hình 3-5 Two-way server-side RPC 13

Hình 4-1 Rule Chain Configuration 15

Hình 4-2 Nội dung của Transformation node, dựa trên dữ liệu cuối cùng của cảm biến ánh sáng mà trả về giá trị điều khiển cho cơ cấu chấp hành 15

Hình 4-3 DashBoards đơn giản để giám sát hệ thống 16

Hình 4-4 Sơ đồ thuật toán của Controller 16

Hình 4-5 HTTP header với POST request 17

Hình 4-6 CoAP header với POST request kiểu NON-CONFIRMABLE 17

Hình 4-7 Threading 18

Hình 4-8 DashBoards giám sát dữ liệu được gửi lên bởi cảm biến ánh sáng 19

Hình 4-9 Serial Monitor của ESP32 thực hiện đo và điều khiển ánh sáng, update telemetry data và request RPC calls 19

Hình 4-10 Terminal của Controller, thực hiện chứa các thông tin về ánh sáng và xử lí các RPC calls khi không có kết nối Internet 20

Hình 4-11 Serial Monitor của ESP32 khi gửi dữ liệu ánh sáng và request RPC calls lên Controller 20

Hình 4-12 Chương trình gửi dữ liệu ánh sáng từ thiết bị lên ThingsBoard HTTPS .21 Hình 4-13 Gửi dữ liệu ánh sáng từ controller lên Thinsboard HTTPS 21

Hình 4-14: Chương trình gửi dữ liệu độ ẩm bằng CoAP trên ESP32 sử dụng MicroPython 22

Hình 4-15: Kết quả trên consolo MicroPython 22

Hình 4-16: Chương trình gửi lệnh RPC lên ThingsBoard trên ESP32 sử dụng MicroPython 23

Hình 4-17: Phản hồi của ThingsBoard dựa trên dữ liệu độ ẩm mà server nhận được23 Hình 4-18 Chương trình gửi dữ liệu và RPC CoAP bằng thư viện coap-simple bởi Arduino 24

Hình 4-19 Kết quả cập nhật dữ liệu độ ẩm từ thiết bị lên ThingsBoard bằng CoAP 24 Hình 4-20 Kết quả trên Serial Monitor gửi dữ liệu độ ẩm bằng CoAP 25

Trang 13

Hình 4-21 Truyền thông giữa thiết bị và Controller khi mất Internet bằng CoAP 25

Hình 4-22 Kết quả trên Serial Monitor truyền thông CoAP từ thiết bị 25

Hình 4-23 Chương trình gửi dữ liệu nhiệt độ từ thiết bị đến server bằng MQTT 26

Hình 4-24 Cập nhật dữ liệu nhiệt độ trên ThingsBoard từ thiết bị bằng MQTT 26

Hình 4-25 Kết quả trên console Arduino IDE gửi dữ liệu nhiệt độ lên ThingsBoard bằng MQTT 27

Hình 4-26 Cập nhật dữ liệu nhiệt độ từ thiết bị lên Controller bằng MQTT 27

Hình 4-27 Kết quả gửi dữ liệu nhiệt độ từ thiết bị bằng MQTT 27

Hình 4-28: Chương trình thực hiện Ping một vài server “đã biết” trên ESP32 28

Hình 4-29: Phản hồi khi có kết nối Internet 28

Hình 4-30: Phản hồi khi không có kết nối Internet nhưng vẫn kết nối Wifi 28

Trang 14

DANH MỤC BẢNG BIỂU

Bảng 1 Bảng ghi chú sửa đổi ii

Bảng 2 Meeting notes vi

Bảng 3 Phân chia công việc vii

Bảng 4 Kế hoạch thực hiện ix

Bảng 2.1 Một số đặc điểm của HTTP Protocol 3

Trang 15

CHƯƠNG 1 GIỚI THIỆU CHUNG 1.1 Bối cảnh

Internet of Things (IoT) đang phát triển mạnh mẽ và trở thành một trong những lĩnh vực công nghệ chủ chốt, tạo ra tác động sâu rộng trên toàn cầu Với sự bùng

nổ của các thiết bị thông minh và kết nối, IoT hiện được áp dụng rộng rãi trong các lĩnh vực như sản xuất (Industry 4.0), chăm sóc sức khỏe, giao thông thông minh, thành phố thông minh, và nông nghiệp chính xác

Hiện nay, sự phát triển của công nghệ 5G, điện toán đám mây, và trí tuệ nhân tạo(AI) đã giúp nâng cao hiệu quả của các hệ thống IoT, từ khả năng truyền dữ liệu tốc độ cao, xử lý thông tin theo thời gian thực đến đưa ra các quyết định dựa trên

dữ liệu Đồng thời, vấn đề bảo mật và quyền riêng tư ngày càng trở nên quan trọng khi số lượng thiết bị kết nối và khối lượng dữ liệu phát sinh không ngừng tăng lên

Với tiềm năng kinh tế hàng nghìn tỷ USD, IoT không chỉ thay đổi cách các

doanh nghiệp vận hành mà còn ảnh hưởng mạnh mẽ đến cuộc sống hàng ngày, đưa thế giới tiến gần hơn đến một xã hội số hóa toàn diện

1.2 Vấn đề nghiên cứu

Dù IoT mang lại nhiều lợi ích, các nhà phát triển phải đối mặt với nhiều thách thứcnhư:

 Lựa chọn và triển khai giao thức phù hợp với từng ứng dụng cụ thể

 Xử lý tình huống mất kết nối giữa thiết bị IoT và cloud, đảm bảo hệ thốngvẫn hoạt động mượt mà

 Bảo mật dữ liệu trong bối cảnh các mối đe dọa an ninh mạng ngày càng giatăng

 Làm quen và tùy chỉnh các nền tảng quản lý IoT để đáp ứng yêu cầu thực tế

Dự án này nhằm giải quyết các thách thức trên thông qua việc triển khai các giảipháp thực tiễn với các giao thức MQTT, CoAP, và HTTP, cùng với việc ứng dụngnền tảng ThingsBoard trong quản lý thiết bị

1.3 Mục tiêu

Dự án tập trung vào các mục tiêu cụ thể sau:

Hiểu về mô hình IoT: Nắm vững cấu trúc và hoạt động của hệ thống IoT,

bao gồm thiết bị, gateway, và cloud

Triển khai giao thức truyền thông: Xây dựng các ứng dụng IoT sử dụng

MQTT, CoAP, và HTTP để truyền dữ liệu từ cảm biến lên cloud và thựchiện điều khiển thiết bị

Xử lý mất kết nối: Phát triển giải pháp dự phòng bằng cách sử dụng thiết bị

điều khiển (controller) để lưu trữ và xử lý dữ liệu khi kết nối với cloud bịgián đoạn

1

Trang 16

Bảo mật hệ thống: Thực hiện mã hóa dữ liệu và đảm bảo an toàn truyền

thông qua các giao thức

Tích hợp nền tảng ThingsBoard: Quản lý, giám sát thiết bị IoT và tùy

chỉnh giao diện hiển thị dữ liệu

 Kết nối mạng: sử dụng mạng LAN và Wi-Fi cho các thí nghiệm

 Không mở rộng phạm vi nghiên cứu sang các giao thức hoặc nền tảng IoTkhác như LoRa, Zigbee hay AWS IoT

1.5 Cấu trúc báo cáo

Báo cáo sẽ được tiến hành theo trình tự từ tìm hiểu cơ sở lí thuyết ở chương 2 Tạiđây, người đọc sẽ được cung cấp những kiến thức cơ bản nhất về CoAP, MQTT vàHTTP

Chương tiếp theo trình bày phương pháp nghiên cứu, mô hình hóa hệ thống và cáccông cụ được sử dụng

Chương 4 trình bày kết quả thực nghiệm (triển khai trên phần cứng)

Chương 5 trình bày nhận xét và kết luận rút ra từ thực nghiệm, đồng thời nêu ranhững hướng phát triển trong tương lai

Chương 6 là lời kết và chương 7 là phụ lục

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 HTTP Protocol

HTTP là một giao thức request/response Khi một client, thường là trình duyệtweb, gửi yêu cầu đến máy chủ, HTTP đưa ra 3 kiểu bản tin sử dụng cho giao tiếp:GET, POST, và PUT

- GET: Đây là yêu cầu dữ liệu từ client Một client (trình duyệt web) gửi bản tin GET tới máy chủ để yêu cầu trang HTML pages

- POST: Kiểu bản tin này sẽ gửi dữ liệu lên máy chủ

- PUT: Kiểu bản tin này gửi tài nguyên (resources) hoặc là nội dung

(content) (ví dụ như một bức ảnh) lên máy chủ

2

Trang 17

Hình CƠ SỞ LÝ THUYẾT-3 Ví dụ HTTP GET Message

Mặc dù HTTP vô cùng linh hoạt, nhưng nó không phải là một phương thức an toàn.Các bản tin yêu cầu gửi thông tin lên máy chủ ở dạng plaintext có thể bị chặn vàđọc Phản hồi từ máy chủ như HTML pages cũng không mã hóa

Để giao tiếp an toàn qua Internet, HTTP Secure (HTTPS) protocol được sử dụng.HTTPS sử dụng xác thực (authentication) và mã hóa (encryption) để bảo mật dữliệu khi truyền giữa client và server Quá trình yêu cầu từ client và phản hồi từserver là giống nhau giữa HTTPS và HTTP, nhưng luồng dữ liệu được mã hóa bằngTLS (Transport Layer Security) hoặc là tiền thân của nó SSL (Secure SocketLayer), trước khi được truyền qua mạng

Có thể tóm tắt một vài đặc điểm chính của HTTP Protocol như sau:

HTTPMục đích Đươc phát triển nhằm mục đích chia sẻ tài liệu trên

Internet

Mô hình hoạt động Request/Response

Cách truyền dữ liệu Chỉ truyền thông tin từ client đến server

Loại nội dung Văn bản (sử dụng mã hóa Base64 cho dữ liệu nhị

phân)Chế độ truyền tin Đồng bộ

Kích thước tiêu đề 8 bytes

3

Trang 18

chuẩn hóa trong OASIS, MQTT nổi bật nhờ sự nhẹ nhàng, hiệu quả và đáng tin cậy trong các ứng dụng IoT.

MQTT sử dụng giao thức TCP/IP làm nền tảng và tập trung vào truyền dữ liệu dạng tin nhắn nhỏ gọn giữa các thiết bị, từ cảm biến đến cloud, qua một "broker" trung gian

MQTT hoạt động theo mô hình publish/subscribe, gồm ba thành phần chính:

1 Publisher: Thiết bị phát thông điệp, chẳng hạn cảm biến gửi dữ liệu nhiệt

độ

2 Subscriber: Thiết bị nhận thông điệp, chẳng hạn hệ thống giám sát nhiệt

độ

3 Broker: Máy chủ trung gian nhận thông điệp từ publisher và chuyển tiếp

tới các subscriber đăng ký đúng chủ đề (topic)

2.3 CoAP Protocol

CoAP (Constrained Application Protocol) là một giao thức ứng dụng được thiết

kế dành riêng cho các thiết bị IoT hạn chế tài nguyên, như cảm biến hoặc thiết bị điều khiển Được chuẩn hóa bởi IETF trong RFC 7252, CoAP dựa trên mô hình REST (Representational State Transfer), tương tự như HTTP, nhưng được tối ưu hóa cho các mạng có băng thông thấp và thiết bị có bộ nhớ, CPU hạn chế

CoAP sử dụng giao thức truyền thông UDP thay vì TCP để giảm độ trễ, tiết kiệmtài nguyên và tăng cường hiệu suất trong các ứng dụng IoT Giao thức này hỗ trợ

các phương thức cơ bản như GET, POST, PUT, và DELETE, giúp truy cập tài

nguyên trên thiết bị IoT một cách đơn giản và hiệu quả

CoAP được xây dựng dựa trên hai thành phần chính:

Client và Server:

o Client gửi yêu cầu (request) đến server để truy cập hoặc thay đổi trạng thái tài nguyên

o Server phản hồi (response) với dữ liệu hoặc trạng thái tương ứng

Resource-Oriented Architecture (ROA):

Mỗi tài nguyên trên thiết bị được biểu diễn dưới dạng URI (Uniform Resource Identifier), giúp truy cập dễ dàng thông qua các phương thức RESTful

Các tính năng chính của CoAP

Tối ưu hóa tài nguyên: CoAP được thiết kế để hoạt động hiệu quả trên các thiết

bị có tài nguyên hạn chế

 Sử dụng UDP để giảm overhead so với TCP

 Gói tin CoAP nhỏ gọn và phù hợp với các mạng IoT như 6LoWPAN

4

Trang 19

Tương tác RESTful: CoAP sử dụng mô hình REST, giúp các thiết bị giao tiếp với nhau thông qua các phương thức tiêu chuẩn:

GET: Lấy dữ liệu từ server (ví dụ, đọc giá trị cảm biến).

POST: Gửi dữ liệu lên server để tạo mới tài nguyên.

PUT: Cập nhật trạng thái tài nguyên hiện tại.

DELETE: Xóa tài nguyên từ server.

Quan sát: CoAP hỗ trợ cơ chế "observe" cho phép client đăng ký nhận thông báo

tự động từ server khi trạng thái tài nguyên thay đổi Điều này tối ưu hóa việc giám sát trạng thái mà không cần client liên tục gửi yêu cầu

Đảm bảo giao tiếp: CoAP sử dụng DTLS (Datagram Transport Layer

Security) để bảo vệ dữ liệu truyền qua mạng Các cơ chế bảo mật bao gồm:

Xác thực: Đảm bảo rằng các thiết bị giao tiếp đúng danh tính.

Mã hóa: Bảo vệ dữ liệu khỏi bị đọc lén trong quá trình truyền.

Bảo vệ toàn vẹn dữ liệu: Phát hiện và ngăn chặn dữ liệu bị sửa đổi.

2.4 ICMP

Giao thức ICMP (Internet Control Message Protocol) là một giao thức thuộc tầngmạng trong bộ giao thức TCP/IP, được thiết kế để trao đổi thông điệp điều khiển vàbáo lỗi giữa các thiết bị mạng ICMP không được sử dụng để truyền dữ liệu ngườidùng, mà chủ yếu hỗ trợ quản lý và giám sát hoạt động mạng

ICMP hoạt động bằng cách gửi các gói tin, thường gọi là ICMP messages, giữa

các thiết bị mạng như router, máy tính, hoặc server Các thông điệp ICMP phổ biếnbao gồm:

Echo Request và Echo Reply: Được sử dụng để kiểm tra khả năng kết nối

giữa hai thiết bị mạng, ví dụ thông qua công cụ ping

Destination Unreachable: Thông báo rằng một địa chỉ đích không thể truy

cập

Time Exceeded: Báo hiệu rằng thời gian sống (TTL) của gói tin đã hết

trước khi đến đích

Trong thực tế, ICMP được ứng dụng rộng rãi để kiểm tra kết nối mạng và chẩn

đoán sự cố Một ví dụ điển hình là lệnh ping, sử dụng ICMP Echo Request để xác

minh xem một thiết bị mạng cụ thể (thường là máy chủ) có phản hồi hay không.Ping không chỉ cho biết kết nối có tồn tại mà còn đo lường thời gian trễ (latency)giữa hai điểm

Ngoài ra, công cụ traceroute cũng dựa trên ICMP để xác định đường đi của gói tin

qua các thiết bị trung gian trên mạng Thông qua ICMP, quản trị viên mạng có thểnhanh chóng phát hiện và khắc phục các sự cố như mất gói tin, chậm trễ, hoặc cácvấn đề liên quan đến cấu hình thiết bị

2.5 Bảo mật

5

Trang 20

2.5.1 Các thuật toán mã hóa

2.5.1.1 Mã hóa đối xứng

Mã hóa đối xứng là phương pháp mã hóa mà key mã hóa và key giải mã là nhưnhau (sử dụng cùng một secret key để mã hóa và giải mã) Đây là phương phápthông dụng nhất hiện nay dùng để mã hóa dữ liệu truyền nhận giữa 2 bên Vì chỉcần có secret ket là có thể giải mã được, nên bên gửi và bên nhận cần làm 1 cáchnào đó để cùng thống nhất về secret ket

Để thực hiện mã hóa thông tin giữa 2 bên :

- Đầu tiên bên gửi và bên nhận bằng cách nào đó sẽ phải thóa thuận secret key(khóa bí mật) được dùng để mã hóa và giải mã Vì chỉ cần biết được secretkey này thì bên thứ ba có thể giải mã được thông tin, nên thông tin này cầnđược bí mật truyền đi (bảo vệ theo một cách nào đó)

- Sau đó bên gửi sẽ dùng một thuật toán mã hóa với secret key tương ứng để

mã hóa dữ liệu sắp được truyền đi Khi bên nhận nhận được sẽ dùng chínhsecret key đó để giải mã dữ liệu Vấn đề lớn nhất của phương pháp mã hóađối xứng là làm sao để “thỏa thuận” secret key giữa bên gửi và bên nhận, vìnếu truyền secret key từ bên gửi sang bên nhận mà không dùng một phươngpháp bảo vệ nào thì bên thứ ba cũng có thể dễ dàng lấy được secret key này

Hình CƠ SỞ LÝ THUYẾT-4 Minh họa mã hóa đối xứng

2.5.1.2 Mã hóa bất đối xứng

Mã hóa bất đối xứng (Hay còn gọi là mã hóa khóa công khai) là phương pháp mãhóa mà key mã hóa (lúc này gọi là public key – khóa công khai) và key giải mã (lúcnày gọi là private key – khóa bí mật) khác nhau Nghĩa là key ta sử dụng để mã hóa

dữ liệu sẽ khác với key ta dùng để giải mã dữ liệu Tất cả mọi người đều có thể biếtđược public key (kể cả hacker), và có thể dùng public key này để mã hóa thông tin.Nhưng chỉ có người nhận mới nắm giữ private key, nên chỉ có người nhận mới cóthể giải mã được thông tin

Để thực hiện mã hóa bất đối xứng thì:

 Bên nhận sẽ tạo ra một gặp khóa (public key và private key) Bên nhận sẽ dữlại private key và truyền cho bên gửi public key Vì public key này là côngkhai nên có thể truyền tự do mà không cần bảo mật

6

Trang 21

 Bên gửi trước khi gửi dữ liệu sẽ mã hóa dữ liệu bằng thuật toán mã hóa bấtđối xứng với key là public key từ bên nhận.

 Bên nhận sẽ giải mã dữ liệu nhận được bằng thuật toán được sử dụng ở bêngửi, với key giải mã là private key

Điểm yếu lớn nhất của mã hóa bất đối xứng là tốc độ mã hóa và giải mã rất chậm sovới mã hóa đối xứng, nếu dùng mã hóa bất đối xứng để mã hóa dữ liệu truyền –nhận giữa hai bên thì sẽ tốn rất nhiều chi phí

Do đó, ứng dụng chỉnh của mã hóa bất đối xứng là dùng để bảo mật secret key cho

mã hóa đối xứng: Ta sẽ dùng phương pháp mã hóa bất đối xứng để truyền secretkey của bên gửi cho bên nhận Và hai bên sẽ dùng secret key này để trao đổi thôngtin bằng phương pháp mã hóa đối xứng

Hình CƠ SỞ LÝ THUYẾT-5 Minh họa mã hóa bất đối xứng

2.5.2 Các giao thức bảo mật

2.5.2.1 SSL

SSL (Secure Sockets Layer) là một giao thức mã hóa cho phép truyền thông an toànqua internet Giao thức này đảm bảo việc mã hóa và xác thực dữ liệu được truyềngiữa nguồn và đích, ngăn chặn truy cập trái phép hoặc giả mạo dữ liệu SSL hoạtđộng ở tầng vận chuyển (Transport Layer) trong bộ giao thức TCP/IP, tạo ra mộtkênh mã hóa để truyền tải dữ liệu Bằng cách sử dụng SSL, những thông tin nhạycảm như thẻ tín dụng hoặc thông tin đăng nhập có thể được truyền an toàn trêninternet

Trong thời đại kỹ thuật số ngày nay, nơi internet là một phần thiết yếu của cuộcsống, việc bảo vệ dữ liệu cá nhân trong quá trình truyền tải là vô cùng quan trọng.Khi dữ liệu được truyền qua mạng, nó đi qua nhiều trạm chuyển trung gian, làmtăng nguy cơ bị chặn hoặc sửa đổi SSL giải quyết vấn đề này bằng cách mã hóa dữliệu, làm cho nó không thể đọc được đối với những người không được phép Ngoài

ra, SSL còn đảm bảo rằng dữ liệu được gửi đến đúng người nhận và không bị thay

7

Trang 22

đổi trong quá trình truyền Điều này là rất quan trọng để duy trì tính tin cậy và bảomật trong các giao dịch trực tuyến.

2.5.2.2 TLS

SSL và TLS đều là các giao thức mã hóa dùng để truyền thông an toàn trên internet.SSL được phát triển bởi Netscape Communications, trong khi TLS (TransportLayer Security) là phiên bản nâng cấp của SSL được thiết kế bởi InternetEngineering Task Force (IETF) TLS đã thay thế SSL trở thành tiêu chuẩn côngnghiệp, mặc dù hai thuật ngữ này thường được sử dụng thay thế cho nhau TLScung cấp các tính năng bảo mật nâng cao và thuật toán mã hóa được cải thiện, giúp

an toàn và đáng tin cậy hơn so với SSL Tuy nhiên, chức năng và mục đích của SSL

và TLS vẫn giống nhau: thiết lập một kết nối an toàn và bảo vệ dữ liệu trong quátrình truyền

2.5.2.3 DTLS

DTLS (Datagram Transport Layer Security) là một biến thể của TLS hoạt độngtrên giao thức UDP (User Datagram Protocol) thay vì TCP (Transmission ControlProtocol) Trong khi TLS đảm bảo truyền dữ liệu đáng tin cậy và có thứ tự, DTLSđược thiết kế để hoạt động trên các mạng không đáng tin cậy, như các ứng dụngthời gian thực, truyền thông VoIP, hoặc phát trực tiếp DTLS đảm bảo tính toànvẹn, mã hóa và xác thực cho các thông điệp trong giao tiếp dựa trên UDP, làm cho

nó phù hợp với các ứng dụng mà độ trễ là yếu tố quan trọng hơn độ tin cậy

Chứng chỉ CA là một loại chứng chỉ kỹ thuật số được phát hành bởi Tổ chức Chứngnhận (Certificate Authority - CA), một bên thứ ba đáng tin cậy, để xác thực danhtính của một thực thể (ví dụ: một trang web, tổ chức hoặc cá nhân) trên mạng.Chứng chỉ CA đóng vai trò quan trọng trong việc đảm bảo tính bảo mật, toàn vẹn vàtin cậy của các giao dịch và truyền thông trực tuyến

 Mã hóa dữ liệu:

o Các chứng chỉ do CA cấp thường được sử dụng trong các giao thứcnhư SSL/TLS để mã hóa dữ liệu giữa máy khách và máy chủ, ngănchặn việc nghe lén hoặc can thiệp

 Tạo niềm tin:

o Vì CA là một tổ chức trung gian được công nhận, người dùng có thểtin tưởng vào tính xác thực và bảo mật của các chứng chỉ mà CA pháthành

8

Trang 23

Cấu trúc của chứng chỉ CA

Chứng chỉ CA thường tuân theo tiêu chuẩn X.509 và chứa các thông tin sau:

 Tên của chủ thể được cấp chứng chỉ (Common Name - CN)

 Khóa công khai của thực thể được chứng thực

 Tên của tổ chức phát hành (CA)

 Thời hạn hiệu lực của chứng chỉ

 Chữ ký số của CA, xác nhận tính hợp lệ và không bị giả mạo của chứng chỉ.Quy trình hoạt động của chứng chỉ CA

 Tạo yêu cầu chứng chỉ (CSR - Certificate Signing Request):

Một tổ chức hoặc cá nhân gửi CSR đến CA, chứa thông tin khóa công khai

Dưới đây là môt vài entities cơ bản của ThingsBoard

- Devices: các IoT entities cơ bản mà có thể tạo ra telemetry data, xử lí các lệnh RPC Ví dụ như cảm biến, cơ cấu chấp hành, …

- Assets: các IoT entities trìu tượng mà có thể liên quan đến các devices và assets khác Ví dụ như factory, field, vehicle

- Dashboards: trực quan hóa dữ liệu IoT và có thể dùng để điều khiển các devices cụ thể thông qua user interfeace

Mỗi entity hỗ trợ:

- Attributes: cặp key-value tĩnh và bán tĩnh được liên kết với các thực thể

Ví dụ: serial number, model, firmware version

- Time-series data: time-series data points cho lưu trữ, truy vấn và trực

quan Ví dụ nhiệt độ, nhiệt độ, …

- Relations: các kết nối có hướng tới các entities khác Ví dụ như contains, manages, owns, …

Relations

9

Ngày đăng: 08/01/2025, 19:21

HÌNH ẢNH LIÊN QUAN

Sơ đồ tổng quát - Dự Án môn học kiến trúc và giao thức truyền thông trong iot
Sơ đồ t ổng quát (Trang 3)
Sơ đồ triển khai - Dự Án môn học kiến trúc và giao thức truyền thông trong iot
Sơ đồ tri ển khai (Trang 4)
Bảng 3 Phân chia công việc - Dự Án môn học kiến trúc và giao thức truyền thông trong iot
Bảng 3 Phân chia công việc (Trang 7)
Hình CƠ SỞ LÝ THUYẾT-3 Ví dụ HTTP GET Message - Dự Án môn học kiến trúc và giao thức truyền thông trong iot
nh CƠ SỞ LÝ THUYẾT-3 Ví dụ HTTP GET Message (Trang 17)
Hình PHƯƠNG PHÁP NGHIÊN CỨU-6 Một ví dụ các thực thể được cấu hình và lưu - Dự Án môn học kiến trúc và giao thức truyền thông trong iot
nh PHƯƠNG PHÁP NGHIÊN CỨU-6 Một ví dụ các thực thể được cấu hình và lưu (Trang 24)
Hình PHƯƠNG PHÁP NGHIÊN CỨU-7 Root Rule Chain mặc định của ThingsBoard Các kiểu Rule Node: - Dự Án môn học kiến trúc và giao thức truyền thông trong iot
nh PHƯƠNG PHÁP NGHIÊN CỨU-7 Root Rule Chain mặc định của ThingsBoard Các kiểu Rule Node: (Trang 25)
Hình KẾT QUẢ THỰC NGHIỆM-11 Rule Chain Configuration - Dự Án môn học kiến trúc và giao thức truyền thông trong iot
nh KẾT QUẢ THỰC NGHIỆM-11 Rule Chain Configuration (Trang 29)
Hình KẾT QUẢ THỰC NGHIỆM-13 DashBoards đơn giản để giám sát hệ thống - Dự Án môn học kiến trúc và giao thức truyền thông trong iot
nh KẾT QUẢ THỰC NGHIỆM-13 DashBoards đơn giản để giám sát hệ thống (Trang 30)
Hình KẾT QUẢ THỰC NGHIỆM-18 DashBoards giám sát dữ liệu được gửi lên bởi - Dự Án môn học kiến trúc và giao thức truyền thông trong iot
nh KẾT QUẢ THỰC NGHIỆM-18 DashBoards giám sát dữ liệu được gửi lên bởi (Trang 33)
Hình KẾT QUẢ THỰC NGHIỆM-19 Serial Monitor của ESP32 thực hiện đo và điều - Dự Án môn học kiến trúc và giao thức truyền thông trong iot
nh KẾT QUẢ THỰC NGHIỆM-19 Serial Monitor của ESP32 thực hiện đo và điều (Trang 34)
Hình KẾT QUẢ THỰC NGHIỆM-21 Serial Monitor của ESP32 khi gửi dữ liệu ánh - Dự Án môn học kiến trúc và giao thức truyền thông trong iot
nh KẾT QUẢ THỰC NGHIỆM-21 Serial Monitor của ESP32 khi gửi dữ liệu ánh (Trang 35)
Hình KẾT QUẢ THỰC NGHIỆM-24: Chương trình gửi dữ liệu độ ẩm bằng CoAP trên ESP32 sử dụng MicroPython - Dự Án môn học kiến trúc và giao thức truyền thông trong iot
nh KẾT QUẢ THỰC NGHIỆM-24: Chương trình gửi dữ liệu độ ẩm bằng CoAP trên ESP32 sử dụng MicroPython (Trang 37)
Hình KẾT QUẢ THỰC NGHIỆM-26: Chương trình gửi lệnh RPC lên ThingsBoard - Dự Án môn học kiến trúc và giao thức truyền thông trong iot
nh KẾT QUẢ THỰC NGHIỆM-26: Chương trình gửi lệnh RPC lên ThingsBoard (Trang 38)
w