Đố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
Trang 1TRONG KỊCH BẢN NHÀ THÔNG MINH
Chuyên ngành: Kỹ thuật điện tử
Mã số: 8520203
TÓM TẮT LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH KỸ THUẬT ĐIỆN TỬ
Đà Nẵng – Năm 2020
Trang 2Công trình được hoàn thành tại TRƯỜNG ĐẠI HỌC BÁCH KHOA
Người hướng dẫn khoa học: TS Ngô Minh Trí
Phản biện 1: TS Tăng Anh Tuấn
Phản biện 2: TS Trần Thế Sơn
Luận văn sẽ được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ chuyên ngành Kỹ thuật điện tử họp tại Trường Đại học Bách
khoa vào ngày 25 tháng 10 năm 2020
Có thể tìm hiểu luận văn tại:
Trung tâm Học liệu và Truyền thông, Trường Đại học Bách khoa
Thư viện Khoa Điện tử - Viễn thông, Trường Đại học Bách khoa –
ĐHĐN
Trang 3MỞ ĐẦ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, IoT 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, 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 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 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
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 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
đó so sánh và đánh giá hai nền tảng theo bộ tiêu chí đánh giá được đề xuất trong đề tài
Trang 43 Đố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;
- Xây dựng thuật toán cho các thiết bị kết nối;
- So sánh và đánh giá các nền tảng điện toán đám mây
Trang 54 Phương pháp nghiên cứu
- 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;
- Đề xuất bộ tiêu chí đánh giá định tính và định lượng;
- Đề 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;
- Thiết kế và thi công mô hình nhà thông minh;
- 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 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: Kết quả đề tài 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 luận văn
Chương 1 – Tổng quan đề tài
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
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
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
Chương 5 – Kết quả thực nghiệm và so sánh, đánh giá
Trang 6trường Internet
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ụ điệ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 Internet
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)
1.2.3 Các mô hình triển khai điện toán đám mâ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)
- Đám mây riêng tư (Private cloud)
- Đám mây kết hợp (Hybrid cloud)
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ì
Trang 7sao các tổ chức dần chuyển sang sử dụng dịch vụ điện toán đám mây:
- Tiết kiệm chi phí
- Đẩy nhanh tốc độ triển khai
- Khả năng mở rộng cao
- Độ tin cậy cao
- Đảm bảo tính năng bảo mật
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
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)
1.3.2 Lựa chọn nền tảng điện toán đám mây IoT
Trong phạm vi đề tài, 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 và Google Cloud IoT (thuộc Google Cloud Platform)
1.4 Phương pháp thực hiện quy trình đánh giá và đề xuất tiêu chí đánh giá
Quy trình đánh giá cụ thể bao gồm các bước sau:
Trang 8- 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;
- Bước 2: Đề xuất bộ tiêu chí đánh giá;
- Bước 3: Thiết kế các kịch bản nhà thông minh
- Bước 4: Thiết kế 2 mô hình phần cứng hệ thống
- Bước 5: Triển khai hệ thống nhà thông minh đã xây dựng
- Bước 6: Thực hiện phân tích đánh giá
Để thực hiện đánh giá và so sánh hai nền tảng, đề tài đề 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ụ
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
đề 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
Trang 9CHƯƠ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
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 định kỳ mỗi 5
giây bao gồm: nhiệt độ, độ ẩm và khí gas
- 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
- 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
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:
Trang 102.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 là: thiết bị, máy chủ (đám mây) và ứng dụng
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ì 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ô
Trang 11hình kiến trúc dữ liệu cho các gói tin cụ thể 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ỳ
2.2.3 Xác định và phân loại gói tin theo khung đề xuất
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 2: 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ở
2.2.4 Thiết kế kiến trúc luồng dữ liệu
Luồng dữ liệu cảm biến: 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 1: Kiến trúc luồng dữ liệu cảm biến theo quy trình 4 bước
Trang 12Luồng dữ liệu điều khiển và cập nhật trạng thái: 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 2: Mô hình lưu trữ và luồng dữ liệu trạng thái thiết bị
- 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
- 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
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
Trang 13Hình 3: Sơ đồ khối tổng quát kết nối phần cứng hệ thống
2.3.2 Lưu đồ thuật toán thiết bị
Hình 4: Lưu đồ thuật toán luồng xử lý chính
Trang 152.4 Kết luận chương
Chương 2 đề xuất mô hình kiến trúc dữ liệu hệ thống IoT bao gồm khung phân loại gói tin chung (4 loại gói tin cơ sở), xác định và phân loại gói tin hệ thống IoT và thực hiện thiết kế chi tiết luồng dữ liệu của một số loại gói tin chính trong hệ thống IoT; cuối cùng là thiết kế nguyên lý phần cứng hệ thống nhà thông minh và lưu đồ thuật toán phía thiết bị
Trang 16CHƯƠ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
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 7: Kiến trúc dữ liệu từ Thiết bị -> Đám mây -> Ứng dụng
Hình 8: Kiến trúc dữ liệu từ Ứng dụng -> Đám mây -> Thiết bị
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, ngoài ra
Trang 17AWS 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
3.1.2 Lựa chọn và mô tả dịch vụ CSDL
Lựa chọn dịch vụ CSDL: Luận văn phân tích các ưu nhược
điểm và lựa chọ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 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)
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 9: Quy trình luồng dữ liệu cảm biến trên nền tảng AWS
3.1.4 Quy trình luồng dữ liệu điều khiển và cập nhật trạng thái
Tính năng điều khiển và cập nhật trạng thái tuân theo quy trình
mô hình reported-desired được thiết kế ở mục 2.3.4 và luận văn đề xuất thiết kế trên nền tảng điện toán đám mây AWS IoT ở Hình 33:
Trang 18Hình 10: 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
3.1.5 Thiết kế API tương tác ứng dụng website
Hệ thống nhà thông minh ứng dụng nền tảng điện toán đám mây AWS sử dụng dịch vụ Amazon API Gateway kết hợp AWS Lambda làm dịch vụ phụ trợ (backend) để thiết kế một bộ gồm các API theo tiêu chuẩn REST giúp ứng dụng bên ngoài tương tác truy vấn dữ liệu
Hình 11: Sơ đồ kiến trúc thiết kế API cho ứng dụng website theo
kiến trúc REST
3.2 Kết luận chương
Chương 3 đã phân tích lựa chọn các dịch vụ trên nền tảng AWS
để ứng dụng vào quản lý hệ thống nhà thông minh theo các quy trình thiết kế đã trình bày ở Chương 2, qua đó nhận thấy rằng nền tảng AWS cung cấp các dịch vụ đa dạng hoàn toàn đáp ứng được đầy đủ các yêu cầu thiết kế của một hệ thống IoT bất kỳ
Trang 19CHƯƠ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
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
Từ các quy trình phân loại và thiết kế ở trên, luận văn đề xuất thiết kế hệ thống sử dụng nền tảng GCP với hai chiều như sau:
Hình 38: Kiến trúc dữ liệu từ Thiết bị -> Đám mây -> Ứng dụng
Hình 12: Kiến trúc dữ liệu từ Ứng dụng -> Đám mây -> Thiết bị
Trang 204.1.1 Dịch vụ Cloud IoT Core
Cloud IoT Core là dịch vụ được quản lý toàn diện cho phép kết nối, quản lý và nhập dữ liệu từ hàng triệu thiết bị phân tán trên toàn cầu một cách dễ dàng và an toàn Cloud IoT Core hỗ trợ hai giao thức để thiết bị kết nối và giao tiếp với đám mây là MQTT và HTTP
4.1.2 Lựa chọn và mô tả dịch vụ CSDL
Lựa chọn dịch vụ CSDL: Luận văn phân tích lựa chọn dịch vụ
Cloud Firestore làm CSDL chính cho hệ thống nhà thông minh đã
thiết kế
Mô tả dịch vụ CSDL Cloud Firestore: là CSDL kết hợp giữa
ưu điểm về dữ liệu thời gian thực (của Firebase) và khả năng mở rộng (của GCP) Trong Firestore có các khái niệm sau: collections, documents (tương đương với bản ghi trong SQL) Mỗi “document” gồm nhiều fields chứa các dữ liệu thực tế
4.1.3 Dịch vụ Cloud Pub/Sub
Là dịch vụ nhắn tin không đồng bộ cung cấp độ tin cậy cao và khả năng mở rộng Dịch vụ hoạt động theo cơ chế xuất bản/đăng ký (publish/subscribe), phía gửi và phía nhận được tách biệt với nhau và được quản lý, phân phối bởi Cloud Pub/Sub
4.1.4 Quy trình luồng dữ liệu cảm biến
Trên nền tảng điện toán đám mây GCP luận văn đề xuất thiết kế
ở Hình 45:
Trang 21Hình 45: Quy trình luồng dữ liệu cảm biến trên nền tảng GCP
4.1.5 Quy trình luồng dữ liệu điều khiển và cập nhật trạng thái
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
Luồng dữ liệu trạng thái (đường màu xanh) thể hiện quá trình cập nhật trạng thái của thiết bị lên đám mây Luồng dữ liệu điều
khiển, cấu hình (đường màu đỏ) thể hiện quá trình yêu cầu điều
khiển, cấu hình từ xa qua ứng dụng người dùng
4.1.6 Thiết kế API tương tác ứng dụng website
Luận văn sử dụng dịch vụ Cloud Function để viết các hàm phục
vụ máy khách theo mô hình request/response của giao thức HTTP
Hình 13: Sơ đồ kiến trúc thiết kế API cho ứng dụng website theo
kiến trúc REST