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

So sánh và đánh giá các nền tảng điện toán đám mây iot trong kịch bản nhà thông minh

108 35 0

Đ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

Định dạng
Số trang 108
Dung lượng 6,88 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Luận văn nghiên cứu về phương pháp xây dựng một hệ thống Internet of Things thực tế ứng dụng nền tảng điện toán đám mây IoT. Luận văn đề xuất mô hình kiến trúc dữ liệu của hệ thống IoT sử dụng nền tảng điện toán đám mây bao gồm thiết kế về khung phân loại gói tin chung; xác định và phân loại gói tin trong hệ thống nhà thông minh; thiết kế một số kiến trúc luồng dữ liệu chính của hệ thống và cuối cùng triển khai các thiết kế trên hai nền tảng điện toán đám mây AWS IoT và Google Cloud IoT để thực hiện đánh giá, so sánh và rút ra kết luận.

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-  -

LÊ CÔNG VĨNH KHẢI

SO SÁNH VÀ ĐÁNH GIÁ CÁC NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY IOT TRONG KỊCH BẢN NHÀ THÔNG MINH

LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ

DUT.LRCC

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

LÊ CÔNG VĨNH KHẢI

SO SÁNH VÀ ĐÁNH GIÁ CÁC NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY IOT TRONG KỊCH BẢN NHÀ THÔNG MINH

Chuyên ngành : Kỹ thuật điện tử

Trang 3

DUT.LRCC

Trang 4

MỤC LỤC

LỜI CAM ĐOAN i

MỤC LỤC …… ii

DANH MỤC CÁC HÌNH v

DANH MỤC CÁC BẢNG……… vii

MỞ ĐẦU……… 1

CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 5

1.1 Tổng quan về Internet of Things 5

1.1.1 Định nghĩa Internet of Things 5

1.1.2 Kiến trúc Internet of Things 5

1.2 Tổng quan về điện toán đám mây 6

1.2.1 Định nghĩa điện toán đám mây 6

1.2.2 Phân loại điện toán đám mây 7

1.2.3 Các mô hình triển khai điện toán đám mây 7

1.2.4 Lợi ích của điện toán đám mây 8

1.3 Phân tích và lựa chọn nền tảng điện toán đám mây IoT cho đề tài 9

1.3.1 Các yếu tố của nền tảng điện toán đám mây IoT 9

1.3.2 Lựa chọn nền tảng điện toán đám mây IoT 10

1.4 Phương pháp thực hiện quy trình đánh giá và đề xuất tiêu chí đánh giá 11

1.4.1 Phương pháp thực hiện quy trình đánh giá 11

1.4.2 Đề xuất tiêu chí đánh giá 12

1.5 Kết luận chương 12

CHƯƠNG 2 THIẾT KẾ MÔ HÌNH NHÀ THÔNG MINH VÀ ĐỀ XUẤT MÔ HÌNH KIẾN TRÚC DỮ LIỆU 13

2.1 Thiết kế kịch bản nhà thông minh 13

2.2 Đề xuất mô hình kiến trúc dữ liệu hệ thống sử dụng nền tảng điện toán đám mây IoT 14

2.2.1 Các đối tượng chính trong hệ thống IoT 14

2.2.2 Định nghĩa khung phân loại gói tin chung cho hệ thống IoT 14

2.2.3 Xác định và phân loại gói tin theo khung đề xuất 16

2.2.4 Thiết kế kiến trúc luồng dữ liệu 17

2.3 Thiết kế phần cứng hệ thống 19

DUT.LRCC

Trang 5

2.3.1 Sơ đồ kết nối phần cứng 19

2.3.2 Chi tiết phần cứng sử dụng 21

2.3.3 Lưu đồ thuật toán thiết bị 22

2.4 Kết luận chương 25

CHƯƠNG 3 QUẢN LÝ HỆ THỐNG NHÀ THÔNG MINH SỬ DỤNG NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY AWS IOT 26

3.1 Kiến trúc dữ liệu hệ thống nhà thông minh sử dụng nền tảng AWS IoT 26

3.1.1 Dịch vụ AWS IoT Core 26

3.1.2 Lựa chọn và mô tả dịch vụ CSDL 29

3.1.3 Quy trình luồng dữ liệu cảm biến 30

3.1.4 Quy trình luồng dữ liệu điều khiển và cập nhật trạng thái 34

3.1.5 Thiết kế API tương tác ứng dụng website 37

3.2 Kết luận chương 40

CHƯƠNG 4 QUẢN LÝ HỆ THỐNG SỬ DỤNG NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY GOOGLE CLOUD IOT 41

4.1 Kiến trúc dữ liệu hệ thống nhà thông minh sử dụng nền tảng Google Cloud IoT 41 4.1.1 Dịch vụ Cloud IoT Core 42

4.1.2 Lựa chọn và mô tả dịch vụ CSDL 45

4.1.3 Dịch vụ Cloud Pub/Sub 48

4.1.4 Quy trình luồng dữ liệu cảm biến 49

4.1.5 Quy trình luồng dữ liệu điều khiển và cập nhật trạng thái 51

4.1.6 Thiết kế API tương tác ứng dụng website 53

4.2 Kết luận chương 54

CHƯƠNG 5 KẾT QUẢ THỰC NGHIỆM VÀ SO SÁNH, ĐÁNH GIÁ 55

5.1 Kết quả thực nghiệm 55

5.2 Đánh giá định lượng 55

5.3 Đánh giá định tính 66

5.4 Kết luận chương 70

KẾT LUẬN VÀ KIẾN NGHỊ 71

DANH MỤC TÀI LIỆU THAM KHẢO 72

QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN 74

PHỤ LỤC 75

DUT.LRCC

Trang 6

SO SÁNH VÀ ĐÁNH GIÁ CÁC NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY IOT

TRONG KỊCH BẢN NHÀ THÔNG MINH

Học viên: Lê Công Vĩnh Khải Chuyên ngành: Kỹ thuật điện tử

Mã số: 8520203 Khóa: K38.KĐT Trường Đại học Bách khoa – ĐHĐN Tóm tắt – Luận văn nghiên cứu về phương pháp xây dựng một hệ thống Internet of Things thực

tế ứng dụng nền tảng điện toán đám mây IoT Luận văn đề xuất mô hình kiến trúc dữ liệu của hệ thống IoT sử dụng nền tảng điện toán đám mây bao gồm thiết kế về khung phân loại gói tin chung; xác định và phân loại gói tin trong hệ thống nhà thông minh; thiết kế một số kiến trúc luồng dữ liệu chính của hệ thống và cuối cùng triển khai các thiết kế trên hai nền tảng điện toán đám mây AWS IoT và Google Cloud IoT để thực hiện đánh giá, so sánh và rút ra kết luận

Từ khóa – Internet of Things; Điện toán đám mây; AWS IoT; Google Cloud IoT; Định tính dịch vụ; Định lượng thông lượng;

COMPARISON AND EVALUATION OF IOT CLOUD PLATFORMS IN THE

CONTEXT OF SMART HOME

Abstract – This thesis studies a method of deploying an actual Internet of Things system using the IoT cloud platforms The thesis has proposed a data architecture model of an IoT system using IoT cloud platform including the design of a common message classification framework; identifying and classifying messages in smart home systems; designing some of the main data flow architectures of the system and finally implementing designs on both AWS IoT and Google Cloud IoT platforms to evaluate, compare, and draw conclusions

Keywords – Internet of Things; Cloud platform; AWS IoT; Google Cloud IoT; Qualitative service; Quantitative throughput;

DUT.LRCC

Trang 7

DANH MỤC CÁC HÌNH

Hình 1: Các thành phần cơ bản của hệ thống Internet of Things 5

Hình 2: Bốn lĩnh vực công nghệ chính gắn với Internet of Things 6

Hình 3: Kiến trúc Internet of Things 6

Hình 4: Nền tảng IoT trong hệ sinh thái IoT 9

Hình 5: Mô hình các khối tính năng của nền tảng IoT hoàn chỉnh 10

Hình 6: Xếp hạng các nền tảng IoT trên thế giới năm 2019 11

Hình 7: các đối tượng chính trong hệ thống IoT 14

Hình 8: Thiết kế của hệ thống IoT đơn giản 17

Hình 9: Kiến trúc luồng dữ liệu cảm biến theo quy trình 4 bước 17

Hình 10: Mô hình lưu trữ và luồng dữ liệu trạng thái thiết bị 18

Hình 11: Sơ đồ khối tổng quát kết nối phần cứng hệ thống 20

Hình 12: Bản thiết kế nguyên lý mạch phần cứng 20

Hình 13: ESP32 DevKit V1.0 Doit 21

Hình 14: Cảm biến DHT11 21

Hình 15: Cảm biến MQ2 22

Hình 16: Màn hình cảm ứng NX4024T032 22

Hình 17: Lưu đồ thuật toán luồng xử lý chính 23

Hình 18: Lưu đồ thuật toán luồng xử lý nhấn nút tại bảng điều khiển cảm ứng 24

Hình 19: Lưu đồ thuật toán luồng xử lý nhận dữ liệu điều khiển và cấu hình 24

Hình 20: Kiến trúc dữ liệu từ Thiết bị -> Đám mây -> Ứng dụng 26

Hình 21: Kiến trúc dữ liệu từ Ứng dụng -> Đám mây -> Thiết bị 26

Hình 22: Kiến trúc dịch vụ AWS IoT Core 27

Hình 23: Mô hình bảo mật và xác thực của AWS IoT 28

Hình 24: Mô tả cấu trúc DynamoDB 30

Hình 25: Quy trình luồng dữ liệu cảm biến trên nền tảng AWS 30

Hình 26: Cấu hình chuyển tiếp dữ liệu từ AWS IoT Rule đến SQS 31

Hình 27: Minh họa bước 1 trong quy trình vòng đời tin nhắn SQS 31

Hình 28: Minh họa bước 2 trong quy trình vòng đời tin nhắn SQS 32

Hình 29: Minh họa bước 3 trong quy trình vòng đời tin nhắn SQS 32

Hình 30: Cấu hình SmhQueue làm trình kích hoạt Lambda đến hàm 33

Hình 31: Lambda sử dụng trình kích hoạt ánh xạ sự kiện đọc dữ liệu từ 33

Hình 32: Giá trị cảm biến lưu trữ trong DynamoDB 34

Hình 33: Quy trình luồng dữ liệu điều khiển và cập nhật trạng thái trên nền tảng AWS 34

Hình 34: Tài liệu shadow lưu dữ liệu trạng thái và điều khiển 37

Hình 35:Tài liệu shadow lưu dữ liệu cấu hình 37

Hình 36: Sơ đồ kiến trúc thiết kế API cho ứng dụng website theo kiến trúc REST 38

Hình 37: Quá trình hoạt động của các thành phần API Gateway 40

Hình 38: Kiến trúc dữ liệu từ Thiết bị -> Đám mây -> Ứng dụng 41

Hình 39: Kiến trúc dữ liệu từ Ứng dụng -> Đám mây -> Thiết bị 42

DUT.LRCC

Trang 8

Hình 40: Các thành phần của dịch vụ Google Cloud IoT Core 43

Hình 41: Quy trình xác thực thiết bị trong Cloud IoT Core 45

Hình 42: Giao diện tổ chức dữ liệu của Cloud Firestore 48

Hình 43: Mô hình hoạt động của dịch vụ Cloud Pub/Sub 48

Hình 44: Các dịch vụ có thể kết nối với Cloud Pub/Sub 49

Hình 45: Quy trình luồng dữ liệu cảm biến trên nền tảng GCP 50

Hình 46: Giá trị cảm biến lưu trữ trong Firestore 50

Hình 47: Quy trình luồng dữ liệu điều khiển và cập nhật trạng thái trên nền tảng GCP 51

Hình 48: Tổ chức dữ liệu theo kiến trúc reported-desired trong Firestore 52

Hình 49: Sơ đồ kiến trúc thiết kế API cho ứng dụng website theo kiến trúc REST 53

Hình 50: Giao diện website quản lý hệ thống 55

Hình 51: Các bước dùng để đánh giá định lượng 56

Hình 52: Dấu thời gian gói tin bắt đầu trên AWS (trường hợp 1) 57

Hình 53: Dấu thời gian gói tin kết thúc trên AWS (trường hợp 1) 58

Hình 54: Dấu thời gian gói tin bắt đầu trên AWS (trường hợp 2) 58

Hình 55: Dấu thời gian gói tin kết thúc trên AWS (trường hợp 2) 59

Hình 56: Biểu đồ tất cả quá trình với độ phân giải 1 phút trên AWS (trường hợp 1) 59

Hình 57: Biểu đồ tất cả quá trình với độ phân giải 1 phút trên AWS (trường hợp 2) 60

Hình 58: Biểu đồ tổng số gói tin của các quá trình trên AWS (trường hợp 1) 60

Hình 59: Biểu đồ tổng số gói tin của các quá trình trên AWS (trường hợp 2) 61

Hình 60: Dấu thời gian gói tin bắt đầu trên GCP (trường hợp 1) 61

Hình 61: Dấu thời gian gói tin kết thúc trên GCP (trường hợp 1) 62

Hình 62: Dấu thời gian gói tin bắt đầu trên GCP (trường hợp 2) 62

Hình 63: Dấu thời gian gói tin kết thúc trên GCP (trường hợp 2) 63

Hình 64: Biểu đồ tất cả quá trình với độ phân giải 1 phút trên GCP (trường hợp 1) 63

Hình 65: Biểu đồ tất cả quá trình với độ phân giải 1 phút trên GCP (trường hợp 2) 64

Hình 66: Biểu đồ tổng số gói tin của các quá trình trên GCP (trường hợp1) 64

Hình 67: Biểu đồ tổng số gói tin của các quá trình trên GCP (trường hợp 2) 65

DUT.LRCC

Trang 9

DANH MỤC CÁC BẢNG

Bảng 1: Ánh xạ tiêu chí đánh giá và kịch bản nhà thông minh 14

Bảng 2: Khung phân loại gói tin cơ sở 15

Bảng 3: Sắp xếp gói tin hệ thống nhà thông minh vào khung phân loại gói tin cơ sở 16

Bảng 4: Phân loại các dịch vụ CSDL của AWS và mục đích sử dụng 29

Bảng 5: các phương thức truy vấn với dịch vụ Device Shadow 35

Bảng 6: So sánh các dịch vụ CSDL được hỗ trợ bởi GCP 46

Bảng 7: So sánh Cloud Firestore và Firebase Realtime Database 46

Bảng 8: Dấu thời gian quá trình thử nghiệm ở phía thiết bị 56

Bảng 9: Kết quả phân tích thông lượng trên hai nền tảng đám mây 66

DUT.LRCC

Trang 10

MỞ ĐẦU

1 Tính cấp thiết của đề tài

Internet of Things (IoT) là một trong những thuật ngữ phổ biến nhất trong thế giới công nghệ ngày nay Việc ứng dụng hiệu quả các hệ thống IoT đang góp phần cải tiến hiệu quả hoạt động trong rất nhiều lĩnh vực khác nhau, giúp cuộc sống con người ngày càng tiện lợi hơn, tuy nhiên số lượng thiết bị IoT tăng đột biến cũng đặt ra rất nhiều bài toán cho các nhà nghiên cứu trong lĩnh vực này

Hiện nay, trên thế giới nói chung và đặc biệt tại Việt Nam nói riêng các hệ thống IoT đang được ứng dụng trong rất nhiều lĩnh vực, từ công nghiệp cho đến nông nghiệp như các ứng dụng nhà thông minh, thành phố thông minh, trường học thông minh, nông trại thông minh,… Các tổ chức, doanh nghiệp ứng dụng IoT ngoài mục đích tối ưu hóa các quy trình vận hành, còn có thể khai thác hiệu quả từ lượng dữ liệu để lưu trữ, phân tích và đưa ra các quyết định, điều chỉnh phù hợp từ dữ liệu đó Tuy nhiên phần lớn các giải pháp IoT hiện nay đều triển khai theo hướng thủ công và cục bộ tức là phải thiết kế và xây dựng toàn bộ hệ thống từ thành phần thiết bị, máy chủ cho đến các hạ tầng giao thức kết nối Mặt khác, các máy chủ cục bộ thường sẽ bị giới hạn về dung lượng lưu trữ, tốc độ xử

lý và có khả năng mở rộng thấp, vì vậy có rất nhiều vấn đề cần giải quyết khi triển khai một hệ thống IoT như vậy: khả năng quản lý hệ thống, khả năng mở rộng, yêu cầu về bảo mật kết nối, bảo mật thiết bị, xác thực, chi phí triển khai, khả năng lưu trữ và phân tích dữ liệu,…

Trong những năm gần đây, các hãng công nghệ lớn về điện toán đám mây đã cho ra đời rất nhiều loại dịch vụ về công nghệ học máy, trí tuệ nhân tạo, dữ liệu lớn, cơ sở dữ liệu (CSDL), website… và một dịch vụ với sự kết hợp giữa ưu điểm của điện toán đám

mây và nền tảng IoT được gọi là nền tảng điện toán đám mây IoT điển hình là: Amazon

AWS IoT, Google Cloud IoT, Microsoft Azure IoT, Oracle IoT Cloud, IBM Watson IoT,… Với công nghệ nền tảng này, các doanh nghiệp và tổ chức không cần phải xây dựng thêm phần cứng máy chủ, cấu hình quản lý mô hình mạng và hạ tầng triển khai hệ thống Các thiết bị được kết nối có thể tương tác với nền tảng cũng như tương tác với các thiết bị khác một cách dễ dàng và bảo mật, các nền tảng điện toán đám mây IoT có khả năng hỗ trợ kết nối lên đến hàng tỉ thiết bị hay lưu trữ, xử lý hàng nghìn tỉ gói tin và có thể liên kết đến các dịch vụ mạnh mẽ khác bên trong hệ sinh thái của mỗi hãng công nghệ Vì vậy, giải pháp này sẽ giúp tiết kiệm được thời gian triển khai hệ thống, cắt giảm

DUT.LRCC

Trang 11

chi phí triển khai vận hành và giải quyết được rất nhiều bài toán thực tế khác nhau như đã trình bày ở trên

Luận văn nghiên cứu về phương pháp xây dựng một hệ thống Internet of Things thực

tế ứng dụng nền tảng điện toán đám mây IoT, đề xuất quy trình kiến trúc dữ liệu hệ thống IoT, lựa chọn và thực hiện khảo sát hai trong số những nền tảng điện toán đám mây IoT lớn nhất hiện nay dựa trên các kịch bản mô hình nhà thông minh Từ đó so sánh và đánh giá hai nền tảng theo bộ tiêu chí đánh giá được đề xuất trong đề tài

- So sánh, đánh giá các nền tảng đã khảo sát dựa trên các kết quả triển khai thực tế

3 Đối tượng và phạm vi nghiên cứu

3.1 Đối tượng nghiên cứu

- Kiến trúc Internet of Things;

- Dịch vụ điện toán đám mây;

- Nền tảng điện toán đám mây IoT;

- Phân loại nền tảng điện toán đám mây IoT;

- Các giao thức truyền thông (MQTT, HTTP);

- Mô hình nhà thông minh;

- Xác thực và bảo mật trong hệ thống IoT;

- Trợ lý ảo giọng nói

3.2 Phạm vi nghiên cứu

- Tìm hiểu kiến trúc hệ thống IoT;

- Thiết kế quy trình hệ thống IoT ứng dụng nền tảng điện toán đám mây;

- Tìm hiểu các nền tảng điện toán đám mây IoT: AWS IoT Core, Google Cloud IoT Core, Azure IoT Hub,…;

- Xây dựng thuật toán cho các thiết bị kết nối đến nền tảng điện toán đám mây IoT;

- So sánh và đánh giá các nền tảng điện toán đám mây

4 Phương pháp nghiên cứu

DUT.LRCC

Trang 12

Phương pháp luận của luận văn là kết hợp nghiên cứu lý thuyết, đề xuất kiến trúc và xây dựng mô hình, mô phỏng để làm rõ nội dung đề tài Cụ thể như sau:

- Nghiên cứu phương pháp ứng dụng các nền tảng điện toán đám mây IoT và các dịch vụ liên quan vào thiết kế hệ thống IoT;

- Đề xuất bộ tiêu chí đánh giá định tính và định lượng phù hợp để đánh giá các nền tảng điện toán đám mây IoT;

- Đề xuất mô hình kiến trúc dữ liệu cho hệ thống IoT;

- Xây dựng các kịch bản cụ thể về nhà thông minh phù hợp để đánh giá dựa trên bộ tiêu chí đã đề xuất;

- Thiết kế và thi công mô hình nhà thông minh, kết nối hệ thống với các nền tảng điện toán đám mây IoT;

- Thực hiện các kịch bản và rút ra đánh giá, so sánh các nền tảng điện toán đám mây IoT

5 Ý nghĩa khoa học và thực tiễn của đề tài

Ý nghĩa khoa học: luận văn tìm hiểu các kiến trúc liên quan đến hệ thống IoT ứng

dụng nền tảng điện toán đám mây IoT Từ kiến trúc thiết kế ban đầu và kết quả so sánh đánh giá, luận văn đưa ra những đề xuất về mặt thiết kế đối với hệ thống IoT giúp quản lý

và vận hành dễ dàng, tăng tính bảo mật dữ liệu, bảo mật kết nối, quản lý truy cập, khả năng mở rộng,… có ý nghĩa khoa học trong lĩnh vực thiết kế hệ thống IoT, điện toán đám mây IoT và bảo mật thông tin

Ý nghĩa thực tiễn: luận văn nghiên cứu và đề xuất mô hình kiến trúc dữ liệu cho hệ

thống IoT ứng dụng nền tảng điện toán đám mây, thực hiện các đánh giá định tính và định lượng để so sánh một số nền tảng điện toán đám mây IoT lớn nhất hiện nay Từ mô hình triển khai với kịch bản nhà thông minh, kết quả luận văn có khả năng áp dụng cho các hệ thống IoT khác nhau trong thực tế và có cơ sở giúp lựa chọn nền tảng phù hợp cho từng ứng dụng cụ thể

6 Cấu trúc của luận văn

Nội dung của luận văn gồm 5 chương và có nội dung như sau:

Chương 1 – Tổng quan đề tài Trình bày các nội dung lý thuyết về Internet of Things,

điện toán đám mây, thực hiện phân tích để lựa chọn nền tảng điện toán đám mây IoT phù hợp thực hiện trong đề tài Cuối cùng là phương pháp thực hiện quy trình đánh giá và đề xuất tiêu chí đánh giá

Chương 2 – Đề xuất mô hình kiến trúc dữ liệu và thiết kế mô hình nhà thông minh

Thiết kế kịch bản thực tế của mô hình nhà thông minh, đề xuất mô hình kiến trúc dữ liệu

hệ thống sử dụng nền tảng điện toán đám mây IoT và chi tiết thiết kế phần cứng hệ thống

DUT.LRCC

Trang 13

Chương 3 – Quản lý hệ thống sử dụng nền tảng điện toán đám mây AWS IoT Thực

hiện triển khai hệ thống nhà thông minh ứng dụng nền tảng AWS IoT với các thiết kế lý thuyết đã thực hiện ở Chương 2, làm cơ sở kiến thức để thực hiện các so sánh đánh giá về sau

Chương 4 – Quản lý hệ thống sử dụng nền tảng điện toán đám mây Google Cloud IoT

Thực hiện triển khai hệ thống nhà thông minh ứng dụng nền tảng Google Cloud IoT với các thiết kế lý thuyết đã thực hiện ở Chương 2, làm cơ sở kiến thức để thực hiện các so sánh đánh giá về sau

Chương 5 – Kết quả thực nghiệm và so sánh, đánh giá Trình bày các kết quả thực

nghiệm của quá trình thực hiện luận văn, thực hiện trực quan hóa kết quả, đúc kết kiến thức và cuối cùng đưa ra các đánh giá, so sánh theo các tiêu chí định tính và định lượng

DUT.LRCC

Trang 14

CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI

1.1 Tổng quan về Internet of Things

1.1.1 Định nghĩa Internet of Things

Thuật ngữ Internet of Things (IoT) lần đầu tiên xuất hiện năm 1999 [1], trong hơn 2 thập kỷ qua định nghĩa về IoT đã tổng quát hơn rất nhiều vì sự phát triển nhanh chóng và được ứng dụng trong rất nhiều lĩnh vực khác nhau Nhìn chung, Internet of Things là thuật ngữ mô tả mạng lưới các thực thể vật lý, tích hợp các cảm biến, phần mềm và các công nghệ khác nhằm mục đích kết nối, trao đổi dữ liệu với các thực thể khác qua môi trường Internet [2]

Trong hệ thống IoT, các đối tượng có thể là bất cứ thứ gì từ những vật thể nhỏ nhất như vi điều khiển cho đến các vật thể lớn mà chúng ta nhìn thấy hằng ngày như xe ô tô, tivi, đồng hồ,… Các thiết bị này phải được định danh duy nhất, thường sẽ tích hợp các cảm biến và cơ cấu truyền động, có thể giao tiếp với nhau bằng các công nghệ truyền thông không dây (WSN, WiFi, Bluetooth, Zigbee, LoRa,…) hoặc có dây (CAN, Ethernet) Cảm biến giúp thu thập thông số môi trường, quá trình hoạt động của thiết bị

và cơ cấu truyền động giúp thực hiện các quyết định điều khiển

Hình 1: Các thành phần cơ bản của hệ thống Internet of Things

1.1.2 Kiến trúc Internet of Things

Sự phát triển của IoT không phải là sự phát triển của một công nghệ riêng lẻ nào mà là

sự tổng hợp, thúc đẩy cải tiến không ngừng của hàng loạt các lĩnh vực công nghệ nền tảng khác nhau, trong đó gồm 4 lĩnh vực công nghệ chính luôn gắn liền với sự phát triển xu thế IoT bao gồm: phần cứng, truyền thông kết nối, phần mềm và ứng dụng[3]

DUT.LRCC

Trang 15

Hình 2: Bốn lĩnh vực công nghệ chính gắn với Internet of Things (Nguồn: Beecham)

Để triển khai thực tế, đòi hỏi định nghĩa một kiến trúc tổng quát IoT theo các lớp của

mô hình lý thuyết OSI để có thể ứng dụng chung trong nhiều lĩnh vực, ngữ cảnh Sau nhiều năm phát triển và từ các nghiên cứu chỉ ra rằng kiến trúc IoT có thể chia thành 3 lớp, 4 lớp hoặc thậm chí là 5 lớp tùy theo tính chi tiết của kiến trúc, nhưng nhìn chung mô hình 4 lớp phổ biến và được ứng dụng nhiều nhất gồm các lớp: tri giác (perceptual), mạng (network), hỗ trợ (support) và ứng dụng (application), bên cạnh đó yếu tố bảo mật đi kèm mỗi lớp cũng cực kỳ quan trọng [4]

Hình 3: Kiến trúc Internet of Things (Nguồn: K Ashton)

1.2 Tổng quan về điện toán đám mây

1.2.1 Định nghĩa điện toán đám mây

Điện toán đám mây là việc cung cấp các dịch vụ diện toán theo yêu cầu bao gồm: máy chủ; dịch vụ lưu trữ; CSDL; phần mềm; công cụ phân tích, tính toán,… qua môi trường

DUT.LRCC

Trang 16

Internet Điều khác biệt của dịch vụ điện toán đám mây là thay vì mua, sở hữu và duy trì các trung tâm dữ liệu thì người dùng có thể truy cập và sử dụng các dịch vụ điện toán trên

cơ sở hạ tầng của một nhà cung cấp như Amazon Web Service, Google Cloud Platform, Microsoft Azure,… [7]

1.2.2 Phân loại điện toán đám mây

Hầu hết các dịch vụ điện toán đám mây được chia thành 3 loại chính: cơ sở hạ tầng như một dịch vụ (IaaS), nền tảng như một dịch vụ (PaaS), và phần mềm như một dịch vụ (SaaS) [8] Mỗi loại điện toán đám mây cung cấp các cấp độ kiểm soát, tính linh hoạt và khả năng quản lý khác nhau để người dùng có thể lựa chọn tập hợp các dịch vụ phù hợp với nhu cầu riêng

Cơ sở hạ tầng nhƣ một dịch vụ (IaaS): đây là loại cơ bản nhất của dịch vụ điện toán

đám mây, chứa các khối hạ tầng cơ bản cho lĩnh vực công nghệ thông tin và thường cung cấp các dịch vụ về mạng, máy chủ chuyên dụng hoặc máy ảo, dịch vụ lưu trữ, hệ điều hành với hình thức dùng bao nhiêu trả bấy nhiêu, cung cấp mức độ linh hoạt cao nhất và

có quyền quản lý, kiểm soát đối với tất cả tài nguyên được thuê

Nền tảng nhƣ một dịch vụ (PaaS): đề cập đến các dịch vụ điện toán đám mây cung

cấp môi trường theo yêu cầu để phát triển, thử nghiệm, phân phối và quản lý các ứng dụng phần mềm PaaS thường được thiết kế để giúp các nhà phát triển dễ dàng tạo nhanh các ứng dụng web hoặc ứng dụng dành cho thiết bị di động mà không cần lo lắng về việc thiết lập hoặc quản lý cơ sở hạ tầng cơ bản của máy chủ (thường là phần cứng và hệ điều hành)

Phần mềm nhƣ một dịch vụ (SaaS): cung cấp cho khách hàng một sản phẩm phần

mềm hoàn chỉnh được duy trì và quản lý bởi nhà cung cấp dịch vụ Trong hầu hết các trường hợp, SaaS đề cập đến các ứng dụng của người dùng cuối, nghĩa là người sử dụng không cần quan tâm về cách thức dịch vụ được duy trì hoặc cơ sở hạ tầng bên dưới được quản lý như thế nào mà chỉ cần quan tâm đến mục đích sử dụng phần mềm cụ thể đó là gì

1.2.3 Các mô hình triển khai điện toán đám mây

Không phải tất cả các mô hình điện toán đám mây đều giống nhau và cũng không có loại điện toán đám mây nào là phù hợp cho tất cả trường hợp sử dụng Vì vậy để triển khai mô hình điện toán đám mây phù hợp với từng hệ thống có thể sử dụng một trong ba

mô hình sau:

- Đám mây công cộng (Public cloud): là mô hình điện toán đám mây mà các tài

nguyên dịch vụ được sở hữu và vận hành bởi một bên thứ ba cụ thể là nhà cung cấp dịch vụ điện toán đám mây Với mô hình này, tất cả tài nguyên bao gồm phần

DUT.LRCC

Trang 17

cứng, phần mềm và cơ sở hạ tầng hỗ trợ khác đều do nhà cung cấp đám mây sở hữu và quản lý Người sử dụng chỉ có thể truy cập các dịch vụ này và quản lý tài khoản của mình bằng trình duyệt web hoặc các công cụ chuyên dụng từ xa

- Đám mây riêng tƣ (Private cloud): là mô hình điện toán đám mây mà các tài

nguyên được sở hữu riêng, thường là doanh nghiệp hoặc tổ chức Một số công ty cũng trả chi phí để thuê các nhà cung cấp dịch vụ bên thứ ba để lưu trữ đám mây riêng tư của họ Đối với mô hình này, các dịch vụ và cơ sở hạ tầng thường được duy trì, vận hành trên một mạng riêng tư

- Đám mây kết hợp (Hybrid cloud): là mô hình kết hợp giữa hai mô hình đám mây

công cộng và đám mây riêng tư được ràng buộc, liên kết với nhau bằng một số công nghệ để có thể chia sẻ dữ liệu và ứng dụng giữa chúng Bằng cách cho phép

dữ liệu và ứng dụng có thể chia sẻ lẫn nhau giữa hai mô hình, đám mây kết hợp mang lại cho doanh nghiệp sự linh hoạt, nhiều tùy chọn triển khai hơn và giúp tối

ưu hóa cơ sở hạ tầng, bảo mật và quy trình hiện có

1.2.4 Lợi ích của điện toán đám mây

Sự ra đời của điện toán đám mây là sự thay đổi lớn so với mô hình truyền thống và luận văn nêu ra 5 lý do quan trọng giải thích vì sao các tổ chức dần chuyển sang sử dụng dịch vụ điện toán đám mây [9]:

- Chi phí: điện toán đám mây giúp loại bỏ chi phí đầu tư ban đầu khi mua phần

cứng và phần mềm cũng như chi phí để thiết lập trung tâm dữ liệu tại chỗ: không gian đặt máy chủ, điện năng tiêu thụ, hệ thống làm mát, chuyên gia CNTT quản lý

cơ sở hạ tầng,… sẽ làm chi phí tăng lên nhanh chóng

- Tốc độ triển khai: với tính sẵn sàng cao và khả năng cung cấp dịch vụ theo yêu

cầu, một lượng lớn tài nguyên máy tính cũng có thể được cung cấp trong vài phút với chỉ vài thao tác trên giao diện website, mang lại cho doanh nghiệp sự linh hoạt, đẩy nhanh tốc độ triển khai hệ thống và giảm bớt áp lực trong việc hoạch định năng suất

- Khả năng mở rộng: điện toán đám mây cung cấp một lợi ích cực kỳ mạnh mẽ đó

là khả năng mở rộng và co giãn lượng tài nguyên tự động theo nhu cầu sử dụng Điều này sẽ giúp doanh nghiệp không lo lắng về khả năng mở rộng và mặt khác cũng giúp tối ưu về mặt chi phí khi chỉ cần trả phí cho lượng tài nguyên đã sử dụng

- Độ tin cậy: điện toán đám mây cung cấp tính năng sao lưu dữ liệu, khôi phục dữ

liệu khi gặp sự cố và đảm bảo sự liên tục trong vận hành Đây là yếu tố rất quan trọng đối với các doanh nghiệp lớn với lượng khách hàng sử dụng và dữ liệu khổng

lồ

DUT.LRCC

Trang 18

- Bảo mật: các nhà cung cấp dịch vụ đám mây thường cung cấp một loạt các chính

sách, quy trình về bảo mật và kiểm soát truy cập giúp bảo vệ dữ liệu, ứng dụng và

cơ sở hạ tầng của người dùng khỏi các mối đe dọa tiềm ẩn

1.3 Phân tích và lựa chọn nền tảng điện toán đám mây IoT cho đề tài

1.3.1 Các yếu tố của nền tảng điện toán đám mây IoT

Nền tảng điện toán đám mây IoT ra đời là kết quả tất yếu với sự kết hợp giữa công nghệ IoT và điện toán đám mây, đóng vai trò là thành phần trung tâm trong kiến trúc IoT giúp kết nối thế giới thực với thế giới ảo và cho phép các đối tượng giao tiếp với nhau[5], Trong 4 lĩnh vực công nghệ chính tạo nên các ứng dụng IoT được mô tả ở phần trên, nền tảng IoT xuất hiện như là một thành phần phụ trợ tập trung ở lĩnh vực phần mềm, phải được tích hợp các tiêu chuẩn khác nhau cả về phần mềm lẫn phần cứng và cho phép các khả năng tương tác đa dạng

Hình 4: Nền tảng IoT trong hệ sinh thái IoT (Nguồn: IoT-Analytics)

Ở cấp độ đơn giản nhất, nền tảng IoT chỉ cho phép tạo kết nối giữa các đối tượng và ở hình thức phức tạp hơn, một nền tảng IoT đầy đủ sẽ bao gồm 8 khối tính năng quan trọng bao gồm: kết nối và chuẩn hóa (Connectivity & normalization), quản lý thiết bị (device management), cơ sở dữ liệu (database), xử lý và quản lý hành động (processing & action management), phân tích (analytics), trực quan hóa (visualization), các công cụ bổ sung và giao diện bên ngoài (additional tools, and external interfaces) [10]

DUT.LRCC

Trang 19

Hình 5: Mô hình các khối tính năng của nền tảng IoT hoàn chỉnh (Nguồn: IoT-Analytics)

1.3.2 Lựa chọn nền tảng điện toán đám mây IoT

Trong thực tế khi nghiên cứu thực hiện đề tài luận văn tôi nhận thấy rằng có rất nhiều

công ty cung cấp giải pháp gọi là “nền tảng IoT” nhưng nếu không hiểu rõ và phân tích

kỹ các tính năng mà nền tảng đó cung cấp sẽ khó có thể phân biệt được liệu giải pháp đó

có đề cập đến một nền tảng IoT hoàn chỉnh hay không Một nền tảng IoT trưởng thành và hoàn chỉnh yêu cầu phải có tất cả 8 yếu tố mô tả Hình 5

Theo báo cáo của tổ chức chuyên nghiên cứu về thị trường IoT có tên IoT Analytics, nhóm dẫn dầu (Leaders) về cung cấp nền tảng điện toán đám mây IoT gồm một số hãng công nghệ nổi tiếng như Amazon AWS IoT, Microsoft Azure IoT, Google Cloud IoT hay Oracle IoT Cloud,… được thể hiện trong Hình 6 Trong phạm vi đề tài luận văn, tôi sẽ lựa chọn 2 trong số các nền tảng điện toán đám mây thuộc nhóm dẫn đầu này và đáp ứng đầy

đủ 8 mô đun tính năng kể trên là: Amazon AWS IoT (thuộc Amazon Web Server) là một

trong số những nền tảng IoT ra đời sớm nhất (năm 2015) được xem là nền tảng đứng đầu

thế giới trong nhiều năm qua và Google Cloud IoT (thuộc Google Cloud Platform) là

nền tảng ra đời muộn hơn (năm 2017) nhưng với hạ tầng điện toán đám mây có sẵn mạnh

mẽ đang cho thấy được tốc độ phát triển cực kỳ nhanh

DUT.LRCC

Trang 20

Hình 6: Xếp hạng các nền tảng IoT trên thế giới năm 2019 (Nguồn: IoT-Analytics)

1.4 Phương pháp thực hiện quy trình đánh giá và đề xuất tiêu chí đánh giá

1.4.1 Phương pháp thực hiện quy trình đánh giá

Thực hiện đánh giá và so sánh toàn diện 2 nền tảng IoT hàng đầu thế giới với rất nhiều dịch vụ và tính năng khác nhau trong khuôn khổ đề tài luận văn giới hạn về nội dung và thời gian thực hiện là không khả thi Vì vậy luận văn thực hiện đánh giá 2 nền tảng bằng phương pháp cùng triển khai song song trên mô hình hệ thống IoT thực tế với kịch bản nhà thông minh, quy trình cụ thể bao gồm các bước sau:

- Bước 1: Nghiên cứu, đề xuất kiến trúc tổng quát của một hệ thống IoT khi triển

khai ứng dụng nền tảng điện toán đám mây Các đề xuất gồm: khung phân loại gói

tin, kiến trúc luồng dữ liệu, định dạng gói tin;

- Bước 2: Đề xuất bộ tiêu chí đánh giá hai nền tảng điện toán đám mây IoT dựa trên

quá trình khảo sát, tìm hiểu tổng quan gồm: tiêu chí đánh giá định lượng và tiêu chí đánh giá định tính;

- Bước 3: Thiết kế các kịch bản nhà thông minh phù hợp để thực hiện đánh giá bộ tiêu chí đề xuất ở Bước 2;

- Bước 4: Thiết kế 2 mô hình phần cứng hệ thống với nguyên lý giống nhau hoàn

toàn (dùng cho 2 nền tảng) có khả năng thực thi các kịch bản nhà thông minh trong

thực tế đã thiết kế ở Bước 3;

DUT.LRCC

Trang 21

- Bước 5: Triển khai hệ thống nhà thông minh đã xây dựng ứng dụng nền tảng AWS IoT và Google IoT theo quy trình kiến trúc tổng quát đã đề xuất ở Bước 1;

- Bước 6: Thực hiện phân tích đánh giá định lượng (dựa trên các tính toán, biểu đồ

trực quan số liệu) và các đánh giá định tính (dựa trên nguồn tài liệu chính của mỗi nền tảng cùng với các đúc kết, kinh nghiệm rút ra được trong suốt quá trình triển

khai hệ thống)

1.4.2 Đề xuất tiêu chí đánh giá

Để thực hiện đánh giá và so sánh hai nền tảng, luận văn đề xuất bộ tiêu chí được gán nhãn từ T1 đến T8 gồm:

- Tiêu chí đánh giá định lượng:

T1: Thông lượng

- Tiêu chí đánh giá định tính:

T2: Quản lý thiết bị

T3: Định tuyến gói tin từ IoT Core đến các dịch vụ khác

T4: Giao thức hỗ trợ kết nối thiết bị và ứng dụng

T5: Thông báo đẩy

T6: Bảo mật, xác thực và ủy quyền máy khách

mô hình triển khai và lợi ích chính của điện toán đám mây cùng với Internet of Things; bên cạnh đó là phân tích lựa chọn nền tảng điện toán đám mây IoT cho đề tài cùng phương pháp thực hiện quy trình đánh giá và đề xuất tiêu chí đánh giá Chi tiết về quá

trình thiết kế và triển khai sẽ được trình bày cụ thể ở các chương sau

DUT.LRCC

Trang 22

CHƯƠNG 2 THIẾT KẾ MÔ HÌNH NHÀ THÔNG MINH VÀ ĐỀ XUẤT MÔ HÌNH KIẾN TRÚC DỮ LIỆU

2.1 Thiết kế kịch bản nhà thông minh

Để đảm bảo có cơ sở tốt giúp đánh giá hai nền tảng điện toán đám mây IoT theo bộ tiêu chí đã đề xuất, đòi hỏi phải thiết kế hệ thống nhà thông minh với các ngữ cảnh đa dạng tính năng, mỗi ngữ cảnh được sử dụng để đánh giá được ít nhất 1 tiêu chí trong bộ tiêu chí đề xuất Hệ thống nhà thông minh được xây dựng bao gồm các ngữ cảnh được gắn nhãn từ N1 đến N7 như sau:

- N1: Giám sát các giá trị thông số môi trường bao gồm: nhiệt độ, độ ẩm, khí gas và

thu thập định kỳ mỗi 5 giây để cập nhật đến giao diện người dùng cuối

- N2: Hỗ trợ tính năng phát hiện có người để cảnh báo trộm, có thể cấu hình từ xa

qua giao diện website để kích hoạt khi cần hoặc vô hiệu hóa tính năng này

- N3: Trong trường hợp tính năng chống trộm được kích hoạt, nếu phát hiện có

người hoặc đối tượng lạ sẽ thực hiện báo động âm thanh và gửi cảnh báo đến người dùng

- N4: Hỗ trợ tính năng báo động âm thanh và gửi cảnh báo đến người dùng nếu khí

gas vượt ngưỡng, có thể cấu hình ngưỡng từ xa qua giao diện website

- N5: Giám sát trạng thái các thiết bị điện trong nhà

- N6: Hỗ trợ tính năng điều khiển các thiết bị điện trong nhà bằng 2 phương pháp:

tại chỗ qua công tắc cảm ứng hoặc từ xa qua giao diện website

- N7: Hỗ trợ cảnh báo qua giao diện website nếu thiết bị gặp sự cố mất kết nối đột

ngột đến nền tảng đám mây

Ngoài ra có một số tính năng khác cũng được tích hợp giúp đa dạng hóa trải nghiệm

hệ thống nhà thông minh nhưng không dùng để đánh giá tiêu chí như:

- Toàn bộ thông số hệ thống sẽ được hiển thị trên màn hình cảm ứng HMI được gắn trong nhà phục vụ giám sát hệ thống tại chỗ

- Khi bị mất kết nối WiFi sẽ cho phép cấu hình WiFi từ xa thông qua điện thoại hoặc máy tính

- Tích hợp trợ lý ảo giọng nói có thể truy vấn trạng thái, điều khiển thiết bị từ xa qua giọng nói

Mỗi ngữ cảnh từ N1 đến N7 sẽ được sử dụng để phân tích, đánh giá 2 nền tảng IoT theo các tiêu chí từ T1 đến T8 được sắp xếp ở Bảng 1:

DUT.LRCC

Trang 23

Bảng 1: Ánh xạ tiêu chí đánh giá và kịch bản nhà thông minh

2.2.1 Các đối tượng chính trong hệ thống IoT

Một hệ thống IoT điển hình thường gồm 3 thành phần đối tượng chính tương tác với nhau như sau:

Device (Thiết bị): thành phần gồm các thiết bị của hệ thống, thông thường tích hợp vi

điều khiển kết nối các cảm biến, ngoại vi,… đảm nhiệm chức năng thu thập các thông số

về môi trường xung quanh hoặc thông số của chính thiết bị và điều khiển các thiết bị ngoại vi

Server (Máy chủ hoặc đám mây): thành phần trung tâm của hệ thống, có vai trò

quản lý, lưu trữ, phân phát gói tin

Application (ứng dụng): thành phần ứng dụng người dùng, giúp người dùng tương

tác với hệ thống từ xa qua website hoặc ứng dụng điện thoại

2.2.2 Định nghĩa khung phân loại gói tin chung cho hệ thống IoT

Các hệ thống IoT được ứng dụng trong nhiều lĩnh vực đa dạng, mỗi hệ thống khác nhau sẽ có các đặc điểm riêng và loại gói tin cũng khác nhau Ví dụ gói tin thu thập giá trị

Trang 24

cảm biến định kỳ, gói tin điều khiển thiết bị từ xa từ ứng dụng người dùng, gói tin cập nhật firmware, gói tin cấu hình ngưỡng cảnh báo, …

Mỗi loại gói tin sẽ có một số tính chất đặc thù như: mục đích sử dụng, dung lượng gói, tần suất gửi tin, yêu cầu về độ tin cậy gói,… Vì vậy việc định nghĩa và chuẩn hóa một khung phân loại các gói tin cơ bản rất cần thiết để làm cơ sở trước khi xây dựng mô hình kiến trúc dữ liệu cho các gói tin cụ thể

Luận văn xây dựng khung phân loại gói tin cơ sở bằng cách lấy đối tượng thiết bị làm gốc để xét phân loại, vì hầu hết dữ liệu truyền nhận trong hệ thống IoT đều có yếu tố

“Thing” nghĩa là sẽ xuất phát từ thiết bị hoặc đích đến dữ liệu là thiết bị Luận văn sử dụng kiến trúc gồm 4 loại gói tin cơ sở: STATE, TELEMETRY, CONFIGURATION, COMMAND cho một hệ thống IoT bất kỳ được mô tả trong Bảng 2:

Bảng 2: Khung phân loại gói tin cơ sở

Loại gói tin Hướng truyền Chức năng Tần

bị đến máy chủ (đám mây)

Ít Giá trị phiên

bản firmware hiện tại, trạng thái on/off của thiết bị, dung lượng pin,… TELEMETRY Thiết bị -> Máy

chủ

Gửi dữ liệu sự kiện thu thập từ thiết bị (thường mang tính chất định kỳ) đến máy chủ (đám mây) phục vụ mục đích lưu trữ, giám sát, phân tích

Nhiều Giá trị thông

số môi trường xung quanh được thu thập bởi cảm biến

CONFIGURATION Máy chủ -> Thiết

bị

Chứa dữ liệu yêu cầu cấu các hình trạng thái nội tại thiết bị

Ít Yêu cầu cập

nhật firmware mới, yêu cầu thay đổi ngưỡng cảnh báo,…

COMMAND Máy chủ -> Thiết

Trang 25

thái các thiết bị ngoại vi

2.2.3 Xác định và phân loại gói tin theo khung đề xuất

Các gói tin trong hệ thống nhà thông minh được đề xuất phân loại theo loại dữ liệu bao gồm:

- Dữ liệu cấu hình: Dữ liệu cấu hình các thông số hoạt động của thiết bị từ xa qua

website như cấu hình ngưỡng, chế độ hoạt động, phiên bản firmware, cập nhật firmware từ xa…

- Dữ liệu yêu cầu điều khiển (gọi tắt là dữ liệu điều khiển): dữ liệu chứa lệnh yêu

cầu điều khiển các thiết bị trong nhà từ xa qua ứng dụng website

- Dữ liệu cảm biến: dữ liệu giám sát thông số môi trường xung quanh như nhiệt độ,

độ ẩm, khí ga,… được gửi từ thiết bị đến đám mây để thực hiện lưu trữ, phân tích, hiển thị

- Dữ liệu cập nhật trạng thái (gọi tắt là dữ liệu trạng thái): dữ liệu cập nhật trạng

thái hiện tại của các thiết bị trong nhà, được gửi từ thiết bị đến đám mây

- Dữ liệu cảnh báo: dữ liệu sự kiện hoặc vượt ngưỡng cảnh báo cần thực hiện gửi

thông báo đến người dùng qua email hoặc website

- Dữ liệu phân tích: dữ liệu cảm biến, trạng thái, hoặc bất kỳ dữ liệu nào của hệ

thống được gửi từ thiết bị đến đám mây với mục đích lưu trữ, phân tích chuyên sâu giúp cải thiện hệ thống bằng cách ứng dụng công nghệ dữ liệu lớn (Big data), trí tuệ nhân tạo (AI) trên nền tảng đám mây

Các loại gói tin được sắp xếp theo khung phân loại gói tin 4 loại cơ sở ở Bảng 3: Bảng 3: Sắp xếp gói tin hệ thống nhà thông minh vào khung phân loại gói tin cơ sở

Loại gói tin của hệ

Trang 26

2.2.4 Thiết kế kiến trúc luồng dữ liệu

Việc ra quyết định lựa chọn sử dụng dịch vụ nào trên nền tảng đám mây để hệ thống đạt hiệu quả thực tế tốt nhất sẽ phụ thuộc vào yêu cầu cụ thể và thiết kế ban đầu của hệ thống Luận văn đề xuất thiết kế luồng dữ liệu cho 3 loại gói tin chính trong tổng số 6 loại gói tin đã phân loại để thực hiện so sánh đánh giá là: dữ liệu cảm biến, dữ liệu điều khiển

và dữ liệu trạng thái

Thiết kế luồng dữ liệu cảm biến: đây là luồng dữ liệu quan trọng nhất trong hầu hết

các hệ thống IoT, các cảm biến được xem là giác quan của một hệ thống IoT Dữ liệu cảm biến giúp kích hoạt các giải pháp IoT trong ứng dụng thực tế Đối với thiết kế của một hệ thống đơn giản, dữ liệu từ thiết bị gửi đến máy chủ thường sẽ gửi trực tiếp đến cổng (port) một tiến trình chuyên biệt như web server, serverless function,… tiến trình này sẽ liên kết với CSDL thực hiện việc lưu trữ dữ liệu hoặc các logic khác

Tuy nhiên kiến trúc như vậy sẽ chỉ vận hành tốt trong điều kiện hệ thống có quy mô nhỏ, số lượng thiết bị và dữ liệu ít, khó khăn khi cần mở rộng nâng cấp hệ thống Luận văn đề xuất thiết kế luồng dữ liệu cảm biến với quy trình 4 bước nhằm đảm bảo tính tin

cậy, khả năng mở rộng đối với lượng dữ liệu lớn theo thời gian ở Hình 9:

Hình 9: Kiến trúc luồng dữ liệu cảm biến theo quy trình 4 bước

Chi tiết các bước:

(1) Thiết bị sẽ kết nối đến đám mây qua các giao thức ứng dụng trên nền giao thức TCP (MQTT, Websocket hoặc HTTP) tích hợp các phương thức bảo mật, xác thực được cung cấp bởi đám mây, sau đó có thể gửi dữ liệu an toàn đến đám mây qua kết nối đã được thiết lập

(2) Dữ liệu sau khi gửi đến đám mây sẽ được đưa vào hàng đợi chuyên dụng (tiêu chuẩn hoặc FIFO) trước khi đẩy đến dịch vụ thực hiện các logic chính của hệ thống được xây dựng dưới dạng serverless function Đây là bước khác biệt so với các mô hình đơn giản, vì trong trường hợp dữ liệu được gửi lên tăng đột biến không đoán trước được,

Web server (serverless function)

Hình 8: Thiết kế của hệ thống IoT đơn giảnDUT.LRCC

Trang 27

trong thời gian serverless function đang thực thi một sự kiện thì có thể có hàng trăm nghìn gói tin khác được gửi lên sẽ dẫn đến tình trạng lỗi thắt cổ chai làm mất gói tin Việc sử dụng cơ chế hàng đợi lưu trữ trước khi đẩy đến các dịch vụ xử lý phía sau sẽ mang lại các ưu điểm như khả năng mở rộng, chịu tải cao tránh trường hợp xảy ra lỗi thắt cổ chai làm mất gói tin, có thể lựa chọn sử dụng hàng đợi theo cấu trúc FIFO hoặc tiêu chuẩn tùy ứng dụng cụ thể đảm bảo tính linh động, ngoài ra giúp tăng thêm lớp bảo mật và xác thực tài nguyên truy cập dữ liệu

(3) Dữ liệu được tổ chức lưu trữ ở hàng đợi sẽ được serverless function thực hiện đọc ra

và xử lý tuần tự theo các logic được lập trình sẵn trước khi lưu vào CSDL

(4) Dữ liệu được lưu trữ vào CSDL theo định dạng và cấu trúc NoSQL được tạo sẵn

Thiết kế luồng dữ liệu điều khiển và cập nhật trạng thái: Trong các hệ thống IoT,

một tính năng quan trọng khác điều khiển từ xa và đồng bộ trạng thái thiết bị Vấn đề đặt

ra là việc điều khiển, cập nhật trạng thái thiết bị sẽ đến từ nhiều nguồn khác nhau (từ ứng dụng website, ứng dụng điện thoại, điều khiển tại chỗ) rất dễ xảy ra xung đột nên cần có một quy trình truyền, nhận, xử lý dữ liệu đảm bảo các yêu cầu: ứng dụng người dùng có thể giám sát trạng thái hiện tại của thiết bị, ứng dụng người dùng có thể điều khiển thiết bị

từ xa, thiết bị có thể được điều khiển tại chỗ, giải quyết được bài toán về đồng bộ trạng thái thực của thiết bị và trạng thái hiển thị trên ứng dụng người dùng, giải quyết được bài toán về điều khiển từ xa khi thiết bị mất kết nối với đám mây Luận văn đề xuất sử dụng

mô hình tổ chức dữ liệu thiết bị gọi là Current state (Trạng thái hiện tại) sẽ được tổ chức

lưu trữ thành 2 khối riêng biệt trong CSDL theo kiến trúc No-SQL gọi là reported và desired được trình bày trong Hình 10

Hình 10: Mô hình lưu trữ và luồng dữ liệu trạng thái thiết bị

DUT.LRCC

Trang 28

- Reported: đại diện cho trạng thái thực của thiết bị, chỉ có thiết bị mới được cập

nhật trạng thái vào khối này Ứng dụng nếu muốn biết được trạng thái hiện tại của thiết bị để thực hiện tính năng giám sát sẽ thực hiện truy vấn đọc dữ liệu từ khối reported này

- Desired: đại diện cho trạng thái điều khiển, cập nhật mà ứng dụng mong muốn

thiết bị thực hiện, các ứng dụng khác nhau có thể cùng cập nhật trạng thái vào khối này Dữ liệu của khối này sẽ tự động được gửi đến thiết bị khi có yêu cầu điều khiển mới từ ứng dụng hoặc thiết bị có thể chủ động đọc dữ liệu từ khối này khi cần thực hiện quá trình đồng bộ Sau khi đọc dữ liệu từ khối desired, thiết bị sẽ xử

lý yêu cầu và thực hiện đồng bộ trạng thái lên khối reported

Mô hình reported-desired phân tách dữ liệu của thiết bị và ứng dụng thành hai khối riêng biệt đảm bảo tính độc lập, không bị xung đột hoặc bất đồng bộ trong quá trình sử dụng vì các nguyên tắc:

- Dữ liệu ở khối reported được cập nhật bởi thiết bị, giá trị chỉ thay đổi khi trạng thái thực thiết bị thay đổi, vì vậy ứng dụng khi đọc trạng thái hiện tại của thiết bị sẽ không bị sai đảm bảo độ tin cậy khi theo dõi giám sát từ xa

- Trong trường hợp thiết bị mất kết nối đến đám mây, ứng dụng vẫn có thể thực hiện yêu cầu cập nhật trạng thái từ xa vào khối desired và không lưu đè vào khối reported tránh làm sai trạng thái thực của thiết bị; thiết bị có thể đọc về và xử lý yêu cầu khi trực tuyến trở lại và cập nhật ngược lại reported khi thành công để đồng bộ với ứng dụng

Khi triển khai thực tế, ngoài mục đích giải quyết các bài toán về quá trình điều khiển, giám sát, đồng bộ trạng thái các thiết bị có tính năng điều khiển từ xa và tương tác tại chỗ

(ví dụ: relay, đèn, quạt,…), dữ liệu lưu trữ ở CSDL Trạng thái hiện tại có thể được sử

dụng kết hợp lưu trữ thêm các thông số khác của thiết bị như giá trị cảm biến, thông số hoạt động,… vì mặc dù giá trị cảm biến thường có CSDL riêng lưu theo cấu trúc chuỗi

thời gian phục vụ giám sát phân tích số lượng lớn nhưng nếu tận dụng CSDL Trạng thái

hiện tại này để lưu trữ giá trị cảm biến gần nhất thì sẽ rất thuận tiện cho việc truy xuất giá

trị tức thời thay vì phải kết nối truy vấn đến CSDL tập trung với dung lượng dữ liệu lớn

sẽ tiêu tốn nhiều tài nguyên và thời gian thực thi hơn Mỗi loại dữ liệu khác nhau như vậy

được xem là một Khối dữ liệu trong mô hình ở trên

2.3 Thiết kế phần cứng hệ thống

2.3.1 Sơ đồ kết nối phần cứng

Hệ thống sử dụng chip SoC tích hợp WiFi ESP32 32-bit của hãng Expressif làm vi điều khiển trung tâm giao tiếp với các ngoại vi khác và kết nối với nền tảng điện toán đám mây IoT Để giám sát các thông số môi trường trong nhà, hệ thống sử dụng cảm biến

DUT.LRCC

Trang 29

DHT11 để đo giá trị nhiệt độ, độ ẩm; cảm biến MQ2 để đo giá trị nồng độ khí ga và cảm biến hồng ngoại HC-SR501 để chống trộm Đối với tính năng giám sát và điều khiển trạng thái các thiết bị điện, hệ thống sử dụng module cảm ứng điện dung TTP223 kết hợp relay cách ly Ngoài ra hệ thống tích hợp còi báo động và màn hình HMI 3.2” hiển thị các thông số hệ thống để người dùng giám sát tại chỗ

Hình 11: Sơ đồ khối tổng quát kết nối phần cứng hệ thống

Hình 12: Bản thiết kế nguyên lý mạch phần cứng DUT.LRCC

Trang 30

2.3.2 Chi tiết phần cứng sử dụng

Board ESP32 DevKit V1: sử dụng chip SoC ESP32 32-bit tích hợp chip WiFi

2.4GHz và Bluetooth ESP32 được sử dụng để giao tiếp với các thiết bị cảm biến, ngoại

vi và kết nối Internet để giao tiếp truyền nhận dữ liệu với các nền tảng điện toán đám mây IoT

Hình 13: ESP32 DevKit V1.0 Doit

Cảm biến DHT11: là cảm biến đo nhiệt độ, độ ẩm có độ chính xác cao lấy dữ liệu

thông qua giao tiếp một dây Cảm biến được tích hợp bộ tiền xử lý tín hiệu giúp dữ liệu nhận về được chính xác mà không cần phải qua bất kỳ tính toán nào

Hình 14: Cảm biến DHT11 DUT.LRCC

Trang 31

Cảm biến MQ2: là cảm biến khí ga cấu tạo từ chất bán dẫn SnO2 được thiết kế với

độ nhạy cao, thời gian đáp ứng nhanh Giá trị đọc được từ cảm biến sẽ được đọc về từ chân Analog của vi điều khiển

Hình 15: Cảm biến MQ2

Màn hình cảm ứng NX4024T032: là màn hình cảm ứng được sản xuất bởi hãng

Nextion với mục đích giúp người sử dụng có thể thiết kế các giao diện điều khiển và hiển thị (GUI) trên màn cảm ứng 1 cách dễ dàng và trực quan nhất Màn hình sẽ giao tiếp với

vi điều khiển qua giao tiếp UART

Hình 16: Màn hình cảm ứng NX4024T032

2.3.3 Lưu đồ thuật toán thiết bị

Lưu đồ thuật toán chương trình chính của thiết bị gồm ba luồng chính, được mô tả ở Hình17, 18 và 19:

DUT.LRCC

Trang 32

Hình 17: Lưu đồ thuật toán luồng xử lý chính

DUT.LRCC

Trang 33

Hình 18: Lưu đồ thuật toán luồng xử lý nhấn nút tại bảng điều khiển cảm ứng

Hình 19: Lưu đồ thuật toán luồng xử lý nhận dữ liệu điều khiển và cấu hình từ ứng dụng

DUT.LRCC

Trang 34

DUT.LRCC

Trang 35

CHƯƠNG 3 QUẢN LÝ HỆ THỐNG NHÀ THÔNG MINH SỬ DỤNG NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY AWS IOT

3.1 Kiến trúc dữ liệu hệ thống nhà thông minh sử dụng nền tảng AWS IoT

AWS IoT là dịch vụ cung cấp các dịch vụ nền tảng về IoT sâu rộng, từ điện toán cạnh

đến điện toán đám mây Từ các quy trình phân loại gói tin và thiết kế luồng dữ liệu ở

Chương 2, luận văn đề xuất thiết kế hệ thống nhà thông minh sử dụng nền tảng AWS IoT

như Hình 20 và Hình 21:

Hình 20: Kiến trúc dữ liệu từ Thiết bị -> Đám mây -> Ứng dụng

Hình 21: Kiến trúc dữ liệu từ Ứng dụng -> Đám mây -> Thiết bị

Trong sơ đồ trên, các đường dữ liệu biểu thị bởi đường nét liền được thực hiện trong

đề tài luận văn để so sánh đánh giá, còn đường Dữ liệu phân tích biểu thị bởi đường nét

đứt được đề xuất nhưng không thực hiện triển khai đánh giá trong luận văn

3.1.1 Dịch vụ AWS IoT Core

Trong số các dịch vụ IoT mà AWS cung cấp, dịch vụ đóng vai trò trung tâm và cốt lõi nhất là dịch vụ AWS IoT Core với nhiệm vụ cung cấp cách thức (địa chỉ broker, giao thức, phương thức bảo mật) để các thiết bị trong hệ thống IoT có thể kết nối đến AWS,

DUT.LRCC

Trang 36

ngoài ra AWS IoT Core cũng là điểm đầu cuối để các dịch vụ đám mây khác có thể dễ dàng tương tác với dữ liệu hệ thống [11] Kiến trúc bên trong dịch vụ AWS IoT Core được trình bày ở Hình 22:

Hình 22: Kiến trúc dịch vụ AWS IoT Core (Nguồn: AWS)

AWS IoT Core quản lý giao tiếp thiết bị thông qua một dịch vụ gọi là message broker đại diện bởi một địa chỉ gọi là điểm cuối (endpoint hoặc URL), các thiết bị và ứng dụng khách có thể kết nối đến broker bằng cách sử dụng các giao thức MQTT, MQTT qua WebSocket (WSS) và HTTPS [12] Thiết bị ESP32 trong hệ thống nhà thông minh sử dụng giao thức MQTT để truyền nhận dữ liệu

Giao thức Địa chỉ điểm cuối

(endpoint hoặc URL)

khác

DUT.LRCC

Trang 37

Hình 23: Mô hình bảo mật và xác thực của AWS IoT (Nguồn: AWS)

Khi thiết bị kết nối với AWS IoT, quá trình bảo mật bao gồm hai quá trình là xác thực (authentication) và ủy quyền (authorization) [13] Cơ chế xác thực bao gồm xác thực máy chủ và xác thực máy khách:

- Xác thực máy chủ: Khi thiết bị hoặc ứng dụng khách khác kết nối với AWS IoT

Core, máy chủ AWS IoT Core sẽ gửi chứng chỉ X.509 để thiết bị sử dụng nhằm xác thực danh tính máy chủ Quá trình xác thực diễn ra ở lớp TLS thông qua xác thực chuỗi chứng chỉ X.509, đây là phương pháp tương tự được trình duyệt sử

dụng khi truy cập vào các website hỗ trợ HTTPS

- Xác thực máy khách: AWS IoT hỗ trợ 3 phương thức để xác thực thiết bị hoặc

ứng dụng khách là: chứng chỉ khách X.509, qua dịch vụ IAM và qua dịch vụ Amazon Cognito Các phương thức trên được AWS IoT cung cấp với mục đích sử dụng phù hợp cho nhiều loại máy khách như là thiết bị, ứng dụng mobile, website hay ứng dụng desktop Thông thường thiết bị sẽ sử dụng chứng chỉ X.509, ứng dụng mobile sử dụng Amazon Cognito và ứng dụng website, desktop sẽ sử dụng IAM

Trong đề tài luận văn, thiết bị ESP32 khi kết nối đến AWS sẽ thực hiện xác thực danh tính lẫn nhau sử dụng chứng chỉ X.509 qua giao thức bảo mật TLS với cơ chế mật mã hóa khóa công khai (mật mã hóa bất đối xứng) thông qua cặp khóa công khai-riêng tư (public-private key)

Để cung cấp cho thiết bị khả năng tương tác với các dịch vụ khác bên trong nền tảng AWS, luận văn sử dụng dịch vụ AWS IoT Rule, các rule được phân tích và thực thi dựa trên các topic của giao thức MQTT, được định nghĩa bằng cú pháp giống với cấu trúc SQL bao gồm 3 mệnh đề chính là: SELECT-FROM-WHERE, khi được kích hoạt sẽ sử dụng cơ chế publish-subscribe để xử lý nhận, chuyển tiếp gói tin từ thiết bị đến các dịch

vụ khác [14]

DUT.LRCC

Trang 38

3.1.2 Lựa chọn và mô tả dịch vụ CSDL

Lựa chọn dịch vụ CSDL: Khi thiết kế hệ thống IoT sử dụng dịch vụ điện toán đám

mây AWS, việc lựa chọn dịch vụ CSDL phù hợp để lưu trữ các loại dữ liệu là rất quan

trọng AWS cung cấp nhiều loại CSDL cho các mục đích sử dụng khác nhau

Bảng 4: Phân loại các dịch vụ CSDL của AWS và mục đích sử dụng (Nguồn: AWS)

Đối với dữ liệu IoT có thể phù hợp với ba loại là Key-value (DynamoDB), Document (DocumentDB) và Time series (Timestream), trong đó Timestream là dịch vụ đang ở giai đoạn thử nghiệm nên chỉ đang ở phiên bản sử dụng thử (preview) Nhìn chung, hai CSDL DynamoDB và DocumentDB đều được AWS hỗ trợ đầy đủ các tính năng quan trọng về khả năng mở rộng, bảo mật, và cách thức truy vấn riêng Tuy nhiên DynamoDB được phát triển, sử dụng và duy trì bởi đội ngũ phát triển AWS, được hỗ trợ đầy đủ về hạ tầng quản lý, xác thực, ủy quyền Với DynamoDB, quản trị viên không phải định cấu hình bất

kỳ cơ sở hạ tầng nào mà chỉ cần định cấu hình khả năng đọc/ghi dữ liệu sau khi tạo bảng một cách nhanh chóng Dữ liệu được tự động sao chép trên các máy chủ khả dụng và DynamoDB tự động mở rộng khả năng lưu trữ theo yêu cầu Vì vậy luận văn sử dụng dịch vụ CSDL DynamoDB làm CSDL chính cho hệ thống nhà thông minh đã thiết kế

Mô tả dịch vụ CSDL DynamoDB: Là dịch vụ CSDL NoSQL được cung cấp bởi nền

tảng điện toán đám mây AWS, cho phép nhà phát triển giảm bớt gánh nặng quản trị của việc vận hành và mở rộng CSDL phân tán Các thành phần cốt lõi trong DynamoDB là bảng (table), mục (item) và thuộc tính (attribute); một bảng là tập hợp của các mục và mỗi

mục là tập hợp các thuộc tính [15]

DUT.LRCC

Trang 39

DynamoDB sử dụng các khóa chính (primary key) để định danh duy nhất từng mục trong bảng và sử dụng các chỉ mục phụ (secondary index) để cung cấp tính linh hoạt khi truy vấn dữ liệu, cấu trúc tổng quát được mô tả ở Hình 24

Hình 24: Mô tả cấu trúc DynamoDB

3.1.3 Quy trình luồng dữ liệu cảm biến

Theo quy trình luồng dữ liệu cảm biến theo 4 bước đã thiết kế ở chương 2, trên nền tảng điện toán đám mây AWS luận văn đề xuất thiết kế ở Hình 25 :

Hình 25: Quy trình luồng dữ liệu cảm biến trên nền tảng AWS

SQS action: mỗi khi dữ liệu định kỳ từ cảm biến được thiết bị thu thập gửi đến AWS

IoT Core, SQS action sẽ được kích hoạt theo quy tắc được định nghĩa ở câu lệnh sau:

Câu lệnh trên có chức năng trích xuất dữ liệu mã thiết bị

(current.state.reported.sensorValue) nhận được từ topic

DUT.LRCC

Trang 40

$aws/things/SmhThing/shadow/update/documents để gửi đến hàng đợi của dịch vụ hàng

đợi SQS có tên là SmhQueue:

Hình 26: Cấu hình chuyển tiếp dữ liệu từ AWS IoT Rule đến SQS

Amazon SQS (Simple Queue Service): là dịch vụ hàng đợi được cung cấp bởi đám

mây AWS với các tính năng bảo mật, dữ liệu lưu trữ bền vững an toàn cho phép tích hợp

và phân tách các hệ thống nhắn tin phân tán

Có ba thành phần chính trong hệ thống nhắn tin phân tán:

- Thành phần của hệ thống phân tán gồm thành phần sản xuất (AWS IoT Core) và

thành phần tiêu thụ (Lambda)

- Hàng đợi: AWS SQS

- Tin nhắn lưu trữ trong hàng đợi: dữ liệu cảm biến

Quy trình về vòng đời tin nhắn được xử lý gồm 3 bước:

- Bước 1: thành phần sản xuất (thành phần 1) gửi tin nhắn A đến hàng đợi và được lưu trữ phân phối dự phòng trên các máy chủ Amazon SQS

Hình 27: Minh họa bước 1 trong quy trình vòng đời tin nhắn SQS

- Bước 2: Khi một đối tượng tiêu thụ (thành phần 2) sẵn sàng xử lý tin nhắn, đối tượng sẽ thực hiện gửi yêu cầu tiêu thụ tin nhắn và tin nhắn A sẽ được trả về, trong khi tin nhắn A đang được xử lý, nó vẫn nằm trong hàng đợi và không được phép

DUT.LRCC

Ngày đăng: 29/04/2021, 16:16

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w